@elliemae/ds-controlled-form 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (241) hide show
  1. package/cjs/controlled-checkbox/ControlledCheckbox.js +13 -6
  2. package/cjs/controlled-checkbox/config/useValidateProps.js +5 -7
  3. package/cjs/controlled-checkbox/propTypes.js +5 -4
  4. package/cjs/controlled-checkbox/styles.js +88 -52
  5. package/cjs/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  6. package/cjs/controlled-checkbox/utils/styleHelpers.js +15 -27
  7. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +2 -2
  8. package/cjs/controlled-date-range-picker/ControlledDateRangePickerCTX.js +3 -2
  9. package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  10. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +19 -3
  11. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +22 -13
  12. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +9 -1
  13. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +30 -5
  14. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +13 -3
  15. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +9 -1
  16. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +2 -2
  17. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +23 -2
  18. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
  19. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
  20. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +149 -0
  21. package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
  22. package/cjs/controlled-date-time-picker/index.js +1 -1
  23. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +11 -9
  24. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
  25. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +37 -16
  26. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
  27. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +21 -11
  28. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
  29. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
  30. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +117 -66
  31. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +9 -8
  32. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
  33. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +15 -9
  34. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +7 -1
  35. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -9
  36. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
  37. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +43 -44
  38. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -12
  39. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +7 -3
  40. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
  41. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +10 -3
  42. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +59 -28
  43. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +339 -115
  44. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +42 -42
  45. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  46. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -23
  47. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +135 -59
  48. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
  49. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +4 -4
  50. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +5 -3
  51. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +4 -2
  52. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
  53. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -12
  54. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +10 -3
  55. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +61 -24
  56. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
  57. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +3 -3
  58. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +38 -26
  59. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +34 -31
  60. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +36 -26
  61. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +26 -23
  62. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +211 -150
  63. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +9 -8
  64. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +9 -6
  65. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +5 -2
  66. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
  67. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -12
  68. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +10 -3
  69. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
  70. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
  71. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +184 -147
  72. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +23 -12
  73. package/cjs/controlled-date-time-picker/parts/Styleds.js +80 -42
  74. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
  75. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
  76. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
  77. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +20 -11
  78. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +109 -205
  79. package/cjs/controlled-date-time-picker/propTypes.js +3 -1
  80. package/cjs/controlled-date-time-picker/utils/constants.js +59 -0
  81. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +41 -23
  82. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +8 -3
  83. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  84. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +43 -17
  85. package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  86. package/cjs/controlled-toggle/ControlledToggle.js +52 -36
  87. package/cjs/controlled-toggle/propTypes.js +3 -2
  88. package/cjs/controlled-toggle/styles.js +146 -79
  89. package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
  90. package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
  91. package/cjs/index.js +1 -1
  92. package/esm/controlled-checkbox/ControlledCheckbox.js +12 -5
  93. package/esm/controlled-checkbox/config/useValidateProps.js +6 -8
  94. package/esm/controlled-checkbox/propTypes.js +5 -4
  95. package/esm/controlled-checkbox/styles.js +84 -48
  96. package/esm/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  97. package/esm/controlled-checkbox/utils/styleHelpers.js +15 -27
  98. package/esm/controlled-date-range-picker/ControlledDateRangePickerCTX.js +2 -1
  99. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  100. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +15 -3
  101. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
  102. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
  103. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -4
  104. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +12 -2
  105. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
  106. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +22 -1
  107. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
  108. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
  109. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +143 -0
  110. package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
  111. package/esm/controlled-date-time-picker/index.js +1 -1
  112. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +10 -7
  113. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
  114. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
  115. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
  116. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +15 -5
  117. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
  118. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
  119. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +119 -67
  120. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
  121. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
  122. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +16 -10
  123. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +6 -0
  124. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +35 -11
  125. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
  126. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +42 -39
  127. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -10
  128. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  129. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
  130. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +7 -0
  131. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +58 -28
  132. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +335 -113
  133. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +43 -43
  134. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  135. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +49 -24
  136. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +136 -60
  137. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +27 -15
  138. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  139. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +3 -1
  140. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
  141. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -10
  142. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +7 -0
  143. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +60 -24
  144. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
  145. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +33 -19
  146. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +30 -25
  147. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +30 -18
  148. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +20 -15
  149. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +210 -150
  150. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  151. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +8 -5
  152. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +4 -1
  153. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
  154. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -10
  155. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +7 -0
  156. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
  157. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
  158. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +185 -148
  159. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +24 -13
  160. package/esm/controlled-date-time-picker/parts/Styleds.js +70 -31
  161. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
  162. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
  163. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
  164. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +15 -6
  165. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +110 -202
  166. package/esm/controlled-date-time-picker/propTypes.js +3 -1
  167. package/esm/controlled-date-time-picker/utils/constants.js +46 -0
  168. package/esm/controlled-date-time-picker/utils/dateHelpers.js +40 -23
  169. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +7 -2
  170. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  171. package/esm/controlled-date-time-picker/utils/stringHelpers.js +43 -18
  172. package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  173. package/esm/controlled-toggle/ControlledToggle.js +47 -31
  174. package/esm/controlled-toggle/propTypes.js +3 -2
  175. package/esm/controlled-toggle/styles.js +139 -72
  176. package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
  177. package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
  178. package/esm/index.js +1 -1
  179. package/package.json +29 -12
  180. package/types/controlled-checkbox/ControlledCheckbox.d.ts +60 -9
  181. package/types/controlled-checkbox/config/useValidateProps.d.ts +1 -1
  182. package/types/controlled-checkbox/index.d.d.ts +1 -0
  183. package/types/controlled-checkbox/propTypes.d.ts +55 -8
  184. package/types/controlled-checkbox/styles.d.ts +4 -4
  185. package/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +1 -0
  186. package/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +1 -0
  187. package/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +1 -0
  188. package/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +12 -2
  189. package/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +1 -18
  190. package/types/controlled-date-range-picker/propTypes.d.ts +7 -1
  191. package/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +1 -0
  192. package/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +1 -0
  193. package/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +1 -0
  194. package/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +1 -0
  195. package/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +1 -0
  196. package/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +1 -0
  197. package/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +84 -21
  198. package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +28 -3
  199. package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
  200. package/types/controlled-date-time-picker/index.d.ts +1 -1
  201. package/types/controlled-date-time-picker/parts/ClearButton/useClearButton.d.ts +2 -1
  202. package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +3 -1
  203. package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +4 -1
  204. package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +3 -1
  205. package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
  206. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
  207. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +11 -5
  208. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
  209. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
  210. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +17 -123
  211. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +3 -5
  212. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +5 -18
  213. package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +4 -7
  214. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +2 -0
  215. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -3
  216. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +19 -9
  217. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -0
  218. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -11
  219. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -8
  220. package/types/controlled-date-time-picker/parts/Styleds.d.ts +13 -10
  221. package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +4 -1
  222. package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +3 -1
  223. package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +3 -1
  224. package/types/controlled-date-time-picker/propTypes.d.ts +79 -20
  225. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
  226. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
  227. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
  228. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
  229. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
  230. package/types/controlled-date-time-picker/utils/constants.d.ts +44 -0
  231. package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +3 -2
  232. package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
  233. package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
  234. package/types/controlled-toggle/ControlledToggle.d.ts +79 -13
  235. package/types/controlled-toggle/propTypes.d.ts +73 -11
  236. package/types/controlled-toggle/styles.d.ts +7 -7
  237. package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -53
  238. package/cjs/package.json +0 -7
  239. package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
  240. package/esm/package.json +0 -7
  241. package/types/controlled-date-time-picker/parts/TimeInputs/SSInput.d.ts +0 -13
@@ -2,12 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.map.js');
6
+ require('core-js/modules/esnext.iterator.map.js');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
5
8
  var React = require('react');
9
+ var constants = require('./constants.js');
6
10
  var stringHelpers = require('./stringHelpers.js');
7
11
  var numberHelpers = require('./numberHelpers.js');
8
12
 
9
- /* eslint-disable max-lines */
10
- const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
11
13
  const getLastDayOfMonth = (month, year) => new Date(year, month + 1, 0);
12
14
  const isValidDayForTheMonth = (month, year, day) => {
13
15
  var _Date, _Date$getMonth;
@@ -26,9 +28,9 @@ const isValidDayForTheMonthDateString = dateString => {
26
28
  const monthDateMonth = monthInt - 1;
27
29
  return ((_getDayFromDateString = getDayFromDateString(dateString)) === null || _getDayFromDateString === void 0 ? void 0 : (_getDayFromDateString2 = _getDayFromDateString.getMonth) === null || _getDayFromDateString2 === void 0 ? void 0 : _getDayFromDateString2.call(_getDayFromDateString)) === monthDateMonth;
28
30
  };
29
- const getValidationDateStringMetaInfo = (dateString, // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
- getIsOutOfRangeDay = day => false, // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
- getIsDisabledDay = day => false) => {
31
+ const getValidationDateStringMetaInfo = function (dateString) {
32
+ let getIsOutOfRangeDay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : day => false;
33
+ let getIsDisabledDay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : day => false;
32
34
  const metaInfo = {};
33
35
 
34
36
  if (!stringHelpers.isIncompleteString(dateString)) {
@@ -63,15 +65,17 @@ const dateAddMonths = (date, value) => {
63
65
  };
64
66
  const dateAddYear = (date, value) => dateAddMonths(date, value * 12);
65
67
  // sumFromDateValues supports negative values to "subtract"
66
- const sumFromDateValues = ({
67
- month,
68
- year,
69
- day = 1
70
- }, {
71
- monthsToSum = 0,
72
- yearsToSum = 0,
73
- daysToSum = 0
74
- }) => {
68
+ const sumFromDateValues = (_ref, _ref2) => {
69
+ let {
70
+ month,
71
+ year,
72
+ day = 1
73
+ } = _ref;
74
+ let {
75
+ monthsToSum = 0,
76
+ yearsToSum = 0,
77
+ daysToSum = 0
78
+ } = _ref2;
75
79
  let newDate = new Date(year, month, day);
76
80
  if (yearsToSum) newDate = dateAddYear(newDate, yearsToSum);
77
81
  if (monthsToSum) newDate = dateAddMonths(newDate, monthsToSum);
@@ -91,22 +95,26 @@ const sumValuesToDate = (day, sumValues) => {
91
95
  } = sumFromDateValues(dateAsVals, sumValues);
92
96
  return new Date(year, month, newD);
93
97
  };
94
- const subtractYears = (date, howManyMore = 1) => {
98
+ const subtractYears = function (date) {
99
+ let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
95
100
  const newDate = new Date(date.getTime());
96
101
  newDate.setFullYear(date.getFullYear() - howManyMore);
97
102
  return newDate;
98
103
  };
99
- const subtractMonths = (date, howManyMore = 1) => {
104
+ const subtractMonths = function (date) {
105
+ let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
100
106
  const newDate = new Date(date.getTime());
101
107
  newDate.setMonth(date.getMonth() - howManyMore);
102
108
  return newDate;
103
109
  };
104
- const sumMonths = (date, howManyMore = 1) => {
110
+ const sumMonths = function (date) {
111
+ let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
105
112
  const newDate = new Date(date.getTime());
106
113
  newDate.setMonth(date.getMonth() + howManyMore);
107
114
  return newDate;
108
115
  };
109
- const sumYears = (date, howManyMore = 1) => {
116
+ const sumYears = function (date) {
117
+ let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
110
118
  const newDate = new Date(date.getTime());
111
119
  newDate.setFullYear(date.getFullYear() + howManyMore);
112
120
  return newDate;
@@ -188,11 +196,20 @@ const getDateValuesFromDate = day => {
188
196
  };
189
197
  };
190
198
  const getDateStringFromDay = day => {
191
- const monthFromDay = stringHelpers.prependStringWithPlaceHolders(`${day.getMonth() + 1}`, 2); // months from 1-12
199
+ const monthFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getMonth() + 1), 2); // months from 1-12
192
200
 
193
- const dayFromDay = stringHelpers.prependStringWithPlaceHolders(`${day.getDate()}`, 2);
194
- const yearFromDay = stringHelpers.prependStringWithPlaceHolders(`${day.getFullYear()}`, 4);
195
- return `${monthFromDay}/${dayFromDay}/${yearFromDay}`;
201
+ const dayFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getDate()), 2);
202
+ const yearFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getFullYear()), 4);
203
+ return "".concat(monthFromDay, "/").concat(dayFromDay, "/").concat(yearFromDay);
204
+ };
205
+ const getTimeStringFromDay = day => {
206
+ const hoursNum = day.getHours();
207
+ const meridiem = hoursNum > 12 ? 'PM' : 'AM';
208
+ const twelveHourFormat = hoursNum > 12 ? hoursNum - 12 : hoursNum;
209
+ const minutesNum = day.getMinutes();
210
+ const hoursFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(twelveHourFormat), 2);
211
+ const minutesFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(minutesNum), 2);
212
+ return "".concat(hoursFromDay, ":").concat(minutesFromDay, " ").concat(meridiem);
196
213
  };
197
214
  const getDayFromDateString = dateString => {
198
215
  const {
@@ -206,7 +223,7 @@ const getDayFromDateString = dateString => {
206
223
  if (monthNum !== -1 && dayNum !== -1 && yearNum !== -1 && isValidDayForTheMonth(monthNum - 1, yearNum, dayNum)) return new Date(yearNum, monthNum - 1, dayNum);
207
224
  return null;
208
225
  };
209
- const getMonthNameByMonthNumber = monthNumber => monthNames[monthNumber];
226
+ const getMonthNameByMonthNumber = monthNumber => constants.monthNames[monthNumber];
210
227
  const isSameDateMoment = (dateA, dateB) => {
211
228
  var _dateA$getTime, _dateB$getTime;
212
229
 
@@ -241,6 +258,7 @@ exports.getHowManyDaysInMonth = getHowManyDaysInMonth;
241
258
  exports.getLastDayOfMonth = getLastDayOfMonth;
242
259
  exports.getLastXDaysFromPreviousMonth = getLastXDaysFromPreviousMonth;
243
260
  exports.getMonthNameByMonthNumber = getMonthNameByMonthNumber;
261
+ exports.getTimeStringFromDay = getTimeStringFromDay;
244
262
  exports.getValidationDateStringMetaInfo = getValidationDateStringMetaInfo;
245
263
  exports.isLeapYear = isLeapYear;
246
264
  exports.isSameDateMoment = isSameDateMoment;
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  var dateHelpers = require('./dateHelpers.js');
7
12
  var timeHelpers = require('./timeHelpers.js');
@@ -12,7 +17,7 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
12
17
 
13
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
19
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
- const getValidatioDateTimeStringMetaInfo = (dateString, timeString, validators) => _objectSpread(_objectSpread({}, dateHelpers.getValidationDateStringMetaInfo(dateString, validators.getIsOutOfRangeDay, validators.getIsDisabledDay)), timeHelpers.getValidationTimeStringMetaInfo(timeString, validators.getIsDisabledTime));
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
+ const getValidationDateTimeStringMetaInfo = (dateString, timeString, validators) => _objectSpread(_objectSpread({}, dateHelpers.getValidationDateStringMetaInfo(dateString, validators.getIsOutOfRangeDay, validators.getIsDisabledDay)), timeHelpers.getValidationTimeStringMetaInfo(timeString, validators.getIsDisabledTime));
17
22
 
18
- exports.getValidatioDateTimeStringMetaInfo = getValidatioDateTimeStringMetaInfo;
23
+ exports.getValidationDateTimeStringMetaInfo = getValidationDateTimeStringMetaInfo;
@@ -14,7 +14,7 @@ const useGetMonthYearFromDateStringOrEmptyStartingMonth = () => {
14
14
  }
15
15
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
16
16
  return React.useMemo(() => {
17
- const emptyPickerStartingMonthDefault = `${new Date().getMonth() + 1}/__/${new Date().getFullYear()}`;
17
+ const emptyPickerStartingMonthDefault = "".concat(new Date().getMonth() + 1, "/__/").concat(new Date().getFullYear());
18
18
  const {
19
19
  month: stringMonthVal,
20
20
  year: stringYearVal
@@ -2,28 +2,37 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.map.js');
6
+ require('core-js/modules/esnext.iterator.map.js');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
5
8
  require('core-js/modules/es.string.replace.js');
9
+ var constants = require('./constants.js');
10
+ var numberHelpers = require('./numberHelpers.js');
6
11
 
7
12
  /* eslint-disable max-lines */
8
- const prependStringWithPlaceHolders = (val, finalLength, placeholder = '0') => {
13
+
14
+ const prependStringWithPlaceHolders = function (val, finalLength) {
15
+ let placeholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
9
16
  if (val.length === finalLength) return val;
10
17
  const stringAsAnArray = val.split('').reverse();
11
18
  return new Array(finalLength).fill(placeholder).map((_c, i) => stringAsAnArray[i] ? stringAsAnArray[i] : placeholder).reverse().join('');
12
19
  };
13
- const fillStringWithPlaceHolders = (val, finalLength, placeholder = '_') => {
20
+ const fillStringWithPlaceHolders = function (val, finalLength) {
21
+ let placeholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '_';
14
22
  if (val.length === finalLength) return val;
15
23
  const stringAsAnArray = val.split('');
16
24
  return new Array(finalLength).fill(placeholder).map((_c, i) => stringAsAnArray[i] ? stringAsAnArray[i] : placeholder).join('');
17
25
  };
18
- const getFormattedDateString = ({
19
- month,
20
- day,
21
- year
22
- }) => {
26
+ const getFormattedDateString = _ref => {
27
+ let {
28
+ month,
29
+ day,
30
+ year
31
+ } = _ref;
23
32
  const finalMonth = fillStringWithPlaceHolders(month, 2);
24
33
  const finalDay = fillStringWithPlaceHolders(day, 2);
25
34
  const finalYear = fillStringWithPlaceHolders(year, 4);
26
- return `${finalMonth}/${finalDay}/${finalYear}`;
35
+ return "".concat(finalMonth, "/").concat(finalDay, "/").concat(finalYear);
27
36
  };
28
37
  const dateTimeToDate = dateTime => {
29
38
  var _dateTime$split, _dateTime$split$call;
@@ -63,18 +72,19 @@ const isValidDateString = testString => {
63
72
  if (Number.parseInt(month, 10) > 12 || Number.parseInt(day, 10) > 31 || Number.parseInt(year, 10) > 9999) return false;
64
73
  return true;
65
74
  };
66
- const getFormattedTimeString = ({
67
- hours,
68
- minutes,
69
- // seconds,
70
- meridiem
71
- }) => {
75
+ const getFormattedTimeString = _ref2 => {
76
+ let {
77
+ hours,
78
+ minutes,
79
+ // seconds,
80
+ meridiem
81
+ } = _ref2;
72
82
  const finalHour = fillStringWithPlaceHolders(hours, 2);
73
83
  const finalMinutes = fillStringWithPlaceHolders(minutes, 2); // const finalSeconds = fillStringWithPlaceHolders(seconds, 2); // <-- seconds format
74
84
 
75
85
  const finalMeridiem = fillStringWithPlaceHolders(meridiem, 2); // return `${finalHour}:${finalMinutes}:${finalSeconds} ${finalMeridiem}`;// <-- seconds format
76
86
 
77
- return `${finalHour}:${finalMinutes} ${finalMeridiem}`;
87
+ return "".concat(finalHour, ":").concat(finalMinutes, " ").concat(finalMeridiem);
78
88
  };
79
89
  const dateTimeToTime = dateTime => {
80
90
  var _dateTime$split2;
@@ -82,7 +92,7 @@ const dateTimeToTime = dateTime => {
82
92
  const [// eslint-disable-next-line @typescript-eslint/no-unused-vars
83
93
  _date, // timeNumbers = '__:__:__', // <-- seconds format
84
94
  timeNumbers = '__:__', timeMeridiem = '__'] = dateTime === null || dateTime === void 0 ? void 0 : (_dateTime$split2 = dateTime.split) === null || _dateTime$split2 === void 0 ? void 0 : _dateTime$split2.call(dateTime, ' ');
85
- return `${timeNumbers} ${timeMeridiem}`;
95
+ return "".concat(timeNumbers, " ").concat(timeMeridiem);
86
96
  };
87
97
  const deconstructTimeValues = timeString => {
88
98
  var _timeString$split, _dirtyTimes$split;
@@ -114,10 +124,25 @@ const isValidTimeString = testString => {
114
124
  if (Number.parseInt(hours, 10) > 12 || Number.parseInt(minutes, 10) > 60) return false;
115
125
  return true;
116
126
  };
117
- const isIncompleteString = (testString, placeholder = '_') => testString === '' || testString.includes(placeholder);
127
+ const isIncompleteString = function (testString) {
128
+ let placeholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '_';
129
+ return testString === '' || testString.includes(placeholder);
130
+ };
118
131
  const isEmptyDateStringMask = testString => testString === '__/__/____';
119
132
  const isEmptyTimeStringMask = testString => testString === '__:__ __';
120
133
  const isEmptyDateTimeStringMask = testString => testString === '__/__/____ __:__ __';
134
+ const getAriaDayFromDateString = dateString => {
135
+ const {
136
+ month: monthString,
137
+ day: dayString,
138
+ year: yearString
139
+ } = deconstructValuesFromDateString(dateString);
140
+ const monthNum = numberHelpers.convertToPositiveNumberIfPossible(monthString);
141
+ const dayNum = numberHelpers.convertToPositiveNumberIfPossible(dayString);
142
+ const yearNum = numberHelpers.convertToPositiveNumberIfPossible(yearString);
143
+ if (monthNum === -1 || dayNum === -1 || yearNum === -1) return '';
144
+ return "".concat(constants.monthNames[monthNum - 1], " ").concat(constants.announcableCardinalDays[dayNum], " ").concat(yearNum);
145
+ };
121
146
 
122
147
  exports.dateTimeToDate = dateTimeToDate;
123
148
  exports.dateTimeToTime = dateTimeToTime;
@@ -125,6 +150,7 @@ exports.deconstructTimeValues = deconstructTimeValues;
125
150
  exports.deconstructValuesFromDateString = deconstructValuesFromDateString;
126
151
  exports.deconstructValuesFromTimeString = deconstructValuesFromTimeString;
127
152
  exports.fillStringWithPlaceHolders = fillStringWithPlaceHolders;
153
+ exports.getAriaDayFromDateString = getAriaDayFromDateString;
128
154
  exports.getFormattedDateString = getFormattedDateString;
129
155
  exports.getFormattedTimeString = getFormattedTimeString;
130
156
  exports.isEmptyDateStringMask = isEmptyDateStringMask;
@@ -4,7 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var stringHelpers = require('./stringHelpers.js');
6
6
 
7
- const getValidationTimeStringMetaInfo = (timeString, getIsDisabledTime = timeS => false) => {
7
+ const getValidationTimeStringMetaInfo = function (timeString) {
8
+ let getIsDisabledTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : timeS => false;
8
9
  const metaInfo = {};
9
10
 
10
11
  if (!stringHelpers.isIncompleteString(timeString)) {
@@ -4,9 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
7
13
  var React = require('react');
8
- var propTypes = require('./propTypes.js');
14
+ var uid = require('uid');
9
15
  var reactDesc = require('react-desc');
16
+ var propTypes = require('./propTypes.js');
10
17
  var styles = require('./styles.js');
11
18
  var defaultProps = require('./defaultProps.js');
12
19
  var addTooltipOnReadOnly = require('./utils/addTooltipOnReadOnly.js');
@@ -19,26 +26,29 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
26
 
20
27
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
28
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
30
 
24
- const DSControlledToggle = ({
25
- labelOn,
26
- labelOff,
27
- name,
28
- value,
29
- checked,
30
- onClick,
31
- size,
32
- readOnly,
33
- active,
34
- disabled,
35
- containerProps
36
- }) => {
31
+ const DSControlledToggle = _ref => {
32
+ let {
33
+ labelOn,
34
+ labelOff,
35
+ name,
36
+ value,
37
+ checked,
38
+ onChange,
39
+ size,
40
+ readOnly,
41
+ active,
42
+ disabled,
43
+ containerProps,
44
+ id
45
+ } = _ref;
37
46
  const [isLongerTextRendering, setIsLongerTextRendering] = React.useState(false);
38
47
  const [width, setWidth] = React.useState(0);
39
48
  const labelTextRef = React.useRef(null);
40
49
  const widthTextRef = React.useRef(null);
41
50
  const longerText = React.useMemo(() => labelOn.length > labelOff.length ? labelOn : labelOff, [labelOff, labelOn]);
51
+ const instanceUID = React.useMemo(() => uid.uid(5), []);
42
52
  React.useEffect(() => {
43
53
  if (labelTextRef.current) {
44
54
  setIsLongerTextRendering(labelTextRef.current.innerText === longerText);
@@ -49,43 +59,49 @@ const DSControlledToggle = ({
49
59
  setWidth(widthTextRef.current.clientWidth);
50
60
  }
51
61
  }, [widthTextRef]);
52
- const handleClick = React.useCallback(() => {
62
+ const handleOnChange = React.useCallback(() => {
53
63
  if (disabled || readOnly) return;
54
- onClick();
55
- }, [disabled, readOnly, onClick]);
64
+ onChange();
65
+ }, [disabled, readOnly, onChange]);
56
66
  const handleKeyDown = React.useCallback(e => {
57
- if (disabled || readOnly) return;
58
- if (e.key === ' ' || e.key === 'Enter') onClick();
59
- }, [disabled, readOnly, onClick]);
67
+ if (disabled || readOnly) {
68
+ e.preventDefault();
69
+ }
70
+
71
+ if (e.key === 'Enter') {
72
+ e.preventDefault();
73
+ onChange();
74
+ }
75
+ }, [disabled, onChange, readOnly]);
60
76
  return addTooltipOnReadOnly.addTooltipOnReadOnly( /*#__PURE__*/jsxRuntime.jsxs(styles.StyledContainer, _objectSpread(_objectSpread({
61
- "aria-disabled": disabled,
62
- "aria-checked": checked,
63
- role: "checkbox",
64
- checked: checked,
65
77
  size: size,
66
- tabIndex: 0,
67
- onClick: handleClick,
68
- onKeyDown: handleKeyDown,
69
78
  "data-testid": "ds-controlled-toggle"
70
79
  }, containerProps), {}, {
71
- children: [/*#__PURE__*/_jsx__default['default'](styles.StyledInput, {
80
+ children: [/*#__PURE__*/_jsx__default["default"](styles.StyledInput, {
72
81
  type: "checkbox",
73
- id: "checkbox",
74
82
  name: name,
75
83
  value: value,
76
- "data-testid": "ds-controlled-toggle-checkbox"
77
- }), /*#__PURE__*/_jsx__default['default'](styles.StyledLabel, {
78
- htmlFor: "checkbox",
84
+ checked: checked,
85
+ "data-testid": "ds-controlled-toggle-checkbox",
86
+ id: id || instanceUID,
87
+ "aria-disabled": disabled,
88
+ "aria-checked": checked,
89
+ tabIndex: 0,
90
+ onChange: handleOnChange,
91
+ onKeyDown: handleKeyDown
92
+ }), /*#__PURE__*/_jsx__default["default"](styles.StyledLabel, {
79
93
  checked: checked,
80
94
  size: size,
81
95
  width: width
82
- }, void 0, /*#__PURE__*/_jsx__default['default'](styles.StyledVisibleContent, {
96
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styles.StyledVisibleContent, {
83
97
  checked: checked,
84
98
  size: size,
85
99
  readOnly: readOnly,
86
100
  active: active,
87
- disabled: disabled
88
- }, void 0, /*#__PURE__*/_jsx__default['default'](styles.StyledCircle, {
101
+ disabled: disabled,
102
+ htmlFor: id ? undefined : instanceUID,
103
+ as: id ? 'p' : 'label'
104
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styles.StyledCircle, {
89
105
  checked: checked,
90
106
  size: size,
91
107
  readOnly: readOnly,
@@ -10,12 +10,13 @@ const propTypes = {
10
10
  value: reactDesc.PropTypes.string.description('Value attribute for toggle'),
11
11
  name: reactDesc.PropTypes.string.description('Name attribute for toggle'),
12
12
  checked: reactDesc.PropTypes.bool.description('Wether the toggle is checked or not'),
13
- onClick: reactDesc.PropTypes.func.description('OnClick callback'),
13
+ onchange: reactDesc.PropTypes.func.description('OnClick callback'),
14
14
  size: reactDesc.PropTypes.oneOf(['s', 'm', 'l']).description('Size of toggle'),
15
15
  readOnly: reactDesc.PropTypes.bool.description('Wether the toggle is readOnly or not'),
16
16
  active: reactDesc.PropTypes.bool.description('Wether the toggle has active styles or not'),
17
17
  disabled: reactDesc.PropTypes.bool.description('Wether the toggle is disabled or not'),
18
- containerProps: reactDesc.PropTypes.shape({}).description('Set of properties attached to the main container')
18
+ containerProps: reactDesc.PropTypes.shape({}).description('Set of properties attached to the main container'),
19
+ id: reactDesc.PropTypes.string.description('Unique id.')
19
20
  };
20
21
 
21
22
  exports.propTypes = propTypes;