@cdx-ui/primitives 0.0.1-beta.140 → 0.0.1-beta.142

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 (433) hide show
  1. package/lib/commonjs/calendar/CalendarGrid.js +33 -0
  2. package/lib/commonjs/calendar/CalendarGrid.js.map +1 -0
  3. package/lib/commonjs/calendar/CalendarRoot.js +95 -0
  4. package/lib/commonjs/calendar/CalendarRoot.js.map +1 -0
  5. package/lib/commonjs/calendar/context.js +17 -0
  6. package/lib/commonjs/calendar/context.js.map +1 -0
  7. package/lib/commonjs/calendar/index.js +27 -0
  8. package/lib/commonjs/calendar/index.js.map +1 -0
  9. package/lib/commonjs/calendar/types.js +6 -0
  10. package/lib/commonjs/calendar/types.js.map +1 -0
  11. package/lib/commonjs/checkbox/CheckboxRoot.web.js +91 -28
  12. package/lib/commonjs/checkbox/CheckboxRoot.web.js.map +1 -1
  13. package/lib/commonjs/checkbox/useCheckboxRoot.js +33 -19
  14. package/lib/commonjs/checkbox/useCheckboxRoot.js.map +1 -1
  15. package/lib/commonjs/date-field/DateFieldHiddenInput.js +148 -0
  16. package/lib/commonjs/date-field/DateFieldHiddenInput.js.map +1 -0
  17. package/lib/commonjs/date-field/DateFieldInput.js +122 -0
  18. package/lib/commonjs/date-field/DateFieldInput.js.map +1 -0
  19. package/lib/commonjs/date-field/DateFieldRoot.js +85 -0
  20. package/lib/commonjs/date-field/DateFieldRoot.js.map +1 -0
  21. package/lib/commonjs/date-field/DateFieldSegment.js +92 -0
  22. package/lib/commonjs/date-field/DateFieldSegment.js.map +1 -0
  23. package/lib/commonjs/date-field/context.js +19 -0
  24. package/lib/commonjs/date-field/context.js.map +1 -0
  25. package/lib/commonjs/date-field/index.js +34 -0
  26. package/lib/commonjs/date-field/index.js.map +1 -0
  27. package/lib/commonjs/date-field/segmentIndex.js +23 -0
  28. package/lib/commonjs/date-field/segmentIndex.js.map +1 -0
  29. package/lib/commonjs/date-field/segmentKeyboard.js +169 -0
  30. package/lib/commonjs/date-field/segmentKeyboard.js.map +1 -0
  31. package/lib/commonjs/date-field/types.js +6 -0
  32. package/lib/commonjs/date-field/types.js.map +1 -0
  33. package/lib/commonjs/date-field/useDateFieldSegmentState.js +381 -0
  34. package/lib/commonjs/date-field/useDateFieldSegmentState.js.map +1 -0
  35. package/lib/commonjs/date-field/useRangeDateFieldBridge.js +67 -0
  36. package/lib/commonjs/date-field/useRangeDateFieldBridge.js.map +1 -0
  37. package/lib/commonjs/date-picker/DatePickerRoot.js +123 -0
  38. package/lib/commonjs/date-picker/DatePickerRoot.js.map +1 -0
  39. package/lib/commonjs/date-picker/context.js +17 -0
  40. package/lib/commonjs/date-picker/context.js.map +1 -0
  41. package/lib/commonjs/date-picker/index.js +26 -0
  42. package/lib/commonjs/date-picker/index.js.map +1 -0
  43. package/lib/commonjs/date-range-picker/DateRangePickerRoot.js +144 -0
  44. package/lib/commonjs/date-range-picker/DateRangePickerRoot.js.map +1 -0
  45. package/lib/commonjs/date-range-picker/context.js +23 -0
  46. package/lib/commonjs/date-range-picker/context.js.map +1 -0
  47. package/lib/commonjs/date-range-picker/index.js +26 -0
  48. package/lib/commonjs/date-range-picker/index.js.map +1 -0
  49. package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js +150 -0
  50. package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
  51. package/lib/commonjs/date-time-field/DateTimeFieldInput.js +104 -0
  52. package/lib/commonjs/date-time-field/DateTimeFieldInput.js.map +1 -0
  53. package/lib/commonjs/date-time-field/DateTimeFieldRoot.js +159 -0
  54. package/lib/commonjs/date-time-field/DateTimeFieldRoot.js.map +1 -0
  55. package/lib/commonjs/date-time-field/DateTimeFieldSegment.js +87 -0
  56. package/lib/commonjs/date-time-field/DateTimeFieldSegment.js.map +1 -0
  57. package/lib/commonjs/date-time-field/context.js +17 -0
  58. package/lib/commonjs/date-time-field/context.js.map +1 -0
  59. package/lib/commonjs/date-time-field/index.js +40 -0
  60. package/lib/commonjs/date-time-field/index.js.map +1 -0
  61. package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js +564 -0
  62. package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
  63. package/lib/commonjs/date-time-list/DateTimeListRoot.js +418 -0
  64. package/lib/commonjs/date-time-list/DateTimeListRoot.js.map +1 -0
  65. package/lib/commonjs/date-time-list/context.js +26 -0
  66. package/lib/commonjs/date-time-list/context.js.map +1 -0
  67. package/lib/commonjs/date-time-list/index.js +62 -0
  68. package/lib/commonjs/date-time-list/index.js.map +1 -0
  69. package/lib/commonjs/date-time-picker/DateTimePickerRoot.js +134 -0
  70. package/lib/commonjs/date-time-picker/DateTimePickerRoot.js.map +1 -0
  71. package/lib/commonjs/date-time-picker/context.js +17 -0
  72. package/lib/commonjs/date-time-picker/context.js.map +1 -0
  73. package/lib/commonjs/date-time-picker/index.js +26 -0
  74. package/lib/commonjs/date-time-picker/index.js.map +1 -0
  75. package/lib/commonjs/dialog/DialogRoot.js +1 -1
  76. package/lib/commonjs/dialog/DialogRoot.js.map +1 -1
  77. package/lib/commonjs/index.js +148 -0
  78. package/lib/commonjs/index.js.map +1 -1
  79. package/lib/commonjs/month-calendar/MonthCalendarCell.js +64 -0
  80. package/lib/commonjs/month-calendar/MonthCalendarCell.js.map +1 -0
  81. package/lib/commonjs/month-calendar/MonthCalendarRoot.js +103 -0
  82. package/lib/commonjs/month-calendar/MonthCalendarRoot.js.map +1 -0
  83. package/lib/commonjs/month-calendar/MonthCalendarYearCell.js +63 -0
  84. package/lib/commonjs/month-calendar/MonthCalendarYearCell.js.map +1 -0
  85. package/lib/commonjs/month-calendar/context.js +17 -0
  86. package/lib/commonjs/month-calendar/context.js.map +1 -0
  87. package/lib/commonjs/month-calendar/index.js +34 -0
  88. package/lib/commonjs/month-calendar/index.js.map +1 -0
  89. package/lib/commonjs/month-picker/MonthPickerRoot.js +118 -0
  90. package/lib/commonjs/month-picker/MonthPickerRoot.js.map +1 -0
  91. package/lib/commonjs/month-picker/context.js +17 -0
  92. package/lib/commonjs/month-picker/context.js.map +1 -0
  93. package/lib/commonjs/month-picker/index.js +26 -0
  94. package/lib/commonjs/month-picker/index.js.map +1 -0
  95. package/lib/commonjs/overlay/useAnchorPosition.js +27 -16
  96. package/lib/commonjs/overlay/useAnchorPosition.js.map +1 -1
  97. package/lib/commonjs/overlay/useDismissOverlay.web.js +10 -2
  98. package/lib/commonjs/overlay/useDismissOverlay.web.js.map +1 -1
  99. package/lib/commonjs/overlay/useOverlayPosition.js +5 -2
  100. package/lib/commonjs/overlay/useOverlayPosition.js.map +1 -1
  101. package/lib/commonjs/portal/portal.js +59 -2
  102. package/lib/commonjs/portal/portal.js.map +1 -1
  103. package/lib/commonjs/radio/RadioGroup.js +65 -16
  104. package/lib/commonjs/radio/RadioGroup.js.map +1 -1
  105. package/lib/commonjs/radio/RadioRoot.web.js +114 -26
  106. package/lib/commonjs/radio/RadioRoot.web.js.map +1 -1
  107. package/lib/commonjs/radio/context.js.map +1 -1
  108. package/lib/commonjs/radio/useRadioGroupNavigation.js +79 -0
  109. package/lib/commonjs/radio/useRadioGroupNavigation.js.map +1 -0
  110. package/lib/commonjs/radio/useRadioRoot.js +14 -13
  111. package/lib/commonjs/radio/useRadioRoot.js.map +1 -1
  112. package/lib/commonjs/range-calendar/RangeCalendarRoot.js +148 -0
  113. package/lib/commonjs/range-calendar/RangeCalendarRoot.js.map +1 -0
  114. package/lib/commonjs/range-calendar/context.js +17 -0
  115. package/lib/commonjs/range-calendar/context.js.map +1 -0
  116. package/lib/commonjs/range-calendar/index.js +20 -0
  117. package/lib/commonjs/range-calendar/index.js.map +1 -0
  118. package/lib/commonjs/select/SelectRoot.js +1 -1
  119. package/lib/commonjs/select/SelectRoot.js.map +1 -1
  120. package/lib/commonjs/utils/accessibleLabel.js +23 -0
  121. package/lib/commonjs/utils/accessibleLabel.js.map +1 -0
  122. package/lib/commonjs/utils/createPortal.web.js +21 -0
  123. package/lib/commonjs/utils/createPortal.web.js.map +1 -0
  124. package/lib/module/calendar/CalendarGrid.js +29 -0
  125. package/lib/module/calendar/CalendarGrid.js.map +1 -0
  126. package/lib/module/calendar/CalendarRoot.js +91 -0
  127. package/lib/module/calendar/CalendarRoot.js.map +1 -0
  128. package/lib/module/calendar/context.js +12 -0
  129. package/lib/module/calendar/context.js.map +1 -0
  130. package/lib/module/calendar/index.js +6 -0
  131. package/lib/module/calendar/index.js.map +1 -0
  132. package/lib/module/calendar/types.js +4 -0
  133. package/lib/module/calendar/types.js.map +1 -0
  134. package/lib/module/checkbox/CheckboxRoot.web.js +92 -29
  135. package/lib/module/checkbox/CheckboxRoot.web.js.map +1 -1
  136. package/lib/module/checkbox/useCheckboxRoot.js +34 -20
  137. package/lib/module/checkbox/useCheckboxRoot.js.map +1 -1
  138. package/lib/module/date-field/DateFieldHiddenInput.js +146 -0
  139. package/lib/module/date-field/DateFieldHiddenInput.js.map +1 -0
  140. package/lib/module/date-field/DateFieldInput.js +118 -0
  141. package/lib/module/date-field/DateFieldInput.js.map +1 -0
  142. package/lib/module/date-field/DateFieldRoot.js +81 -0
  143. package/lib/module/date-field/DateFieldRoot.js.map +1 -0
  144. package/lib/module/date-field/DateFieldSegment.js +88 -0
  145. package/lib/module/date-field/DateFieldSegment.js.map +1 -0
  146. package/lib/module/date-field/context.js +15 -0
  147. package/lib/module/date-field/context.js.map +1 -0
  148. package/lib/module/date-field/index.js +7 -0
  149. package/lib/module/date-field/index.js.map +1 -0
  150. package/lib/module/date-field/segmentIndex.js +18 -0
  151. package/lib/module/date-field/segmentIndex.js.map +1 -0
  152. package/lib/module/date-field/segmentKeyboard.js +157 -0
  153. package/lib/module/date-field/segmentKeyboard.js.map +1 -0
  154. package/lib/module/date-field/types.js +4 -0
  155. package/lib/module/date-field/types.js.map +1 -0
  156. package/lib/module/date-field/useDateFieldSegmentState.js +378 -0
  157. package/lib/module/date-field/useDateFieldSegmentState.js.map +1 -0
  158. package/lib/module/date-field/useRangeDateFieldBridge.js +63 -0
  159. package/lib/module/date-field/useRangeDateFieldBridge.js.map +1 -0
  160. package/lib/module/date-picker/DatePickerRoot.js +119 -0
  161. package/lib/module/date-picker/DatePickerRoot.js.map +1 -0
  162. package/lib/module/date-picker/context.js +12 -0
  163. package/lib/module/date-picker/context.js.map +1 -0
  164. package/lib/module/date-picker/index.js +5 -0
  165. package/lib/module/date-picker/index.js.map +1 -0
  166. package/lib/module/date-range-picker/DateRangePickerRoot.js +140 -0
  167. package/lib/module/date-range-picker/DateRangePickerRoot.js.map +1 -0
  168. package/lib/module/date-range-picker/context.js +19 -0
  169. package/lib/module/date-range-picker/context.js.map +1 -0
  170. package/lib/module/date-range-picker/index.js +5 -0
  171. package/lib/module/date-range-picker/index.js.map +1 -0
  172. package/lib/module/date-time-field/DateTimeFieldHiddenInput.js +148 -0
  173. package/lib/module/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
  174. package/lib/module/date-time-field/DateTimeFieldInput.js +100 -0
  175. package/lib/module/date-time-field/DateTimeFieldInput.js.map +1 -0
  176. package/lib/module/date-time-field/DateTimeFieldRoot.js +154 -0
  177. package/lib/module/date-time-field/DateTimeFieldRoot.js.map +1 -0
  178. package/lib/module/date-time-field/DateTimeFieldSegment.js +83 -0
  179. package/lib/module/date-time-field/DateTimeFieldSegment.js.map +1 -0
  180. package/lib/module/date-time-field/context.js +12 -0
  181. package/lib/module/date-time-field/context.js.map +1 -0
  182. package/lib/module/date-time-field/index.js +7 -0
  183. package/lib/module/date-time-field/index.js.map +1 -0
  184. package/lib/module/date-time-field/useDateTimeFieldSegmentState.js +561 -0
  185. package/lib/module/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
  186. package/lib/module/date-time-list/DateTimeListRoot.js +416 -0
  187. package/lib/module/date-time-list/DateTimeListRoot.js.map +1 -0
  188. package/lib/module/date-time-list/context.js +20 -0
  189. package/lib/module/date-time-list/context.js.map +1 -0
  190. package/lib/module/date-time-list/index.js +5 -0
  191. package/lib/module/date-time-list/index.js.map +1 -0
  192. package/lib/module/date-time-picker/DateTimePickerRoot.js +130 -0
  193. package/lib/module/date-time-picker/DateTimePickerRoot.js.map +1 -0
  194. package/lib/module/date-time-picker/context.js +12 -0
  195. package/lib/module/date-time-picker/context.js.map +1 -0
  196. package/lib/module/date-time-picker/index.js +5 -0
  197. package/lib/module/date-time-picker/index.js.map +1 -0
  198. package/lib/module/dialog/DialogRoot.js +1 -1
  199. package/lib/module/dialog/DialogRoot.js.map +1 -1
  200. package/lib/module/index.js +11 -2
  201. package/lib/module/index.js.map +1 -1
  202. package/lib/module/month-calendar/MonthCalendarCell.js +60 -0
  203. package/lib/module/month-calendar/MonthCalendarCell.js.map +1 -0
  204. package/lib/module/month-calendar/MonthCalendarRoot.js +99 -0
  205. package/lib/module/month-calendar/MonthCalendarRoot.js.map +1 -0
  206. package/lib/module/month-calendar/MonthCalendarYearCell.js +59 -0
  207. package/lib/module/month-calendar/MonthCalendarYearCell.js.map +1 -0
  208. package/lib/module/month-calendar/context.js +12 -0
  209. package/lib/module/month-calendar/context.js.map +1 -0
  210. package/lib/module/month-calendar/index.js +7 -0
  211. package/lib/module/month-calendar/index.js.map +1 -0
  212. package/lib/module/month-picker/MonthPickerRoot.js +114 -0
  213. package/lib/module/month-picker/MonthPickerRoot.js.map +1 -0
  214. package/lib/module/month-picker/context.js +12 -0
  215. package/lib/module/month-picker/context.js.map +1 -0
  216. package/lib/module/month-picker/index.js +5 -0
  217. package/lib/module/month-picker/index.js.map +1 -0
  218. package/lib/module/overlay/useAnchorPosition.js +27 -16
  219. package/lib/module/overlay/useAnchorPosition.js.map +1 -1
  220. package/lib/module/overlay/useDismissOverlay.web.js +9 -2
  221. package/lib/module/overlay/useDismissOverlay.web.js.map +1 -1
  222. package/lib/module/overlay/useOverlayPosition.js +5 -2
  223. package/lib/module/overlay/useOverlayPosition.js.map +1 -1
  224. package/lib/module/portal/portal.js +59 -2
  225. package/lib/module/portal/portal.js.map +1 -1
  226. package/lib/module/radio/RadioGroup.js +68 -19
  227. package/lib/module/radio/RadioGroup.js.map +1 -1
  228. package/lib/module/radio/RadioRoot.web.js +117 -29
  229. package/lib/module/radio/RadioRoot.web.js.map +1 -1
  230. package/lib/module/radio/context.js.map +1 -1
  231. package/lib/module/radio/useRadioGroupNavigation.js +74 -0
  232. package/lib/module/radio/useRadioGroupNavigation.js.map +1 -0
  233. package/lib/module/radio/useRadioRoot.js +14 -13
  234. package/lib/module/radio/useRadioRoot.js.map +1 -1
  235. package/lib/module/range-calendar/RangeCalendarRoot.js +144 -0
  236. package/lib/module/range-calendar/RangeCalendarRoot.js.map +1 -0
  237. package/lib/module/range-calendar/context.js +12 -0
  238. package/lib/module/range-calendar/context.js.map +1 -0
  239. package/lib/module/range-calendar/index.js +5 -0
  240. package/lib/module/range-calendar/index.js.map +1 -0
  241. package/lib/module/select/SelectRoot.js +1 -1
  242. package/lib/module/select/SelectRoot.js.map +1 -1
  243. package/lib/module/utils/accessibleLabel.js +18 -0
  244. package/lib/module/utils/accessibleLabel.js.map +1 -0
  245. package/lib/module/utils/createPortal.web.js +17 -0
  246. package/lib/module/utils/createPortal.web.js.map +1 -0
  247. package/lib/typescript/calendar/CalendarGrid.d.ts +7 -0
  248. package/lib/typescript/calendar/CalendarGrid.d.ts.map +1 -0
  249. package/lib/typescript/calendar/CalendarRoot.d.ts +10 -0
  250. package/lib/typescript/calendar/CalendarRoot.d.ts.map +1 -0
  251. package/lib/typescript/calendar/context.d.ts +18 -0
  252. package/lib/typescript/calendar/context.d.ts.map +1 -0
  253. package/lib/typescript/calendar/index.d.ts +5 -0
  254. package/lib/typescript/calendar/index.d.ts.map +1 -0
  255. package/lib/typescript/calendar/types.d.ts +29 -0
  256. package/lib/typescript/calendar/types.d.ts.map +1 -0
  257. package/lib/typescript/checkbox/CheckboxRoot.web.d.ts +8 -0
  258. package/lib/typescript/checkbox/CheckboxRoot.web.d.ts.map +1 -1
  259. package/lib/typescript/checkbox/useCheckboxRoot.d.ts +7 -18
  260. package/lib/typescript/checkbox/useCheckboxRoot.d.ts.map +1 -1
  261. package/lib/typescript/date-field/DateFieldHiddenInput.d.ts +4 -0
  262. package/lib/typescript/date-field/DateFieldHiddenInput.d.ts.map +1 -0
  263. package/lib/typescript/date-field/DateFieldInput.d.ts +8 -0
  264. package/lib/typescript/date-field/DateFieldInput.d.ts.map +1 -0
  265. package/lib/typescript/date-field/DateFieldRoot.d.ts +10 -0
  266. package/lib/typescript/date-field/DateFieldRoot.d.ts.map +1 -0
  267. package/lib/typescript/date-field/DateFieldSegment.d.ts +9 -0
  268. package/lib/typescript/date-field/DateFieldSegment.d.ts.map +1 -0
  269. package/lib/typescript/date-field/context.d.ts +33 -0
  270. package/lib/typescript/date-field/context.d.ts.map +1 -0
  271. package/lib/typescript/date-field/index.d.ts +9 -0
  272. package/lib/typescript/date-field/index.d.ts.map +1 -0
  273. package/lib/typescript/date-field/segmentIndex.d.ts +7 -0
  274. package/lib/typescript/date-field/segmentIndex.d.ts.map +1 -0
  275. package/lib/typescript/date-field/segmentKeyboard.d.ts +23 -0
  276. package/lib/typescript/date-field/segmentKeyboard.d.ts.map +1 -0
  277. package/lib/typescript/date-field/types.d.ts +38 -0
  278. package/lib/typescript/date-field/types.d.ts.map +1 -0
  279. package/lib/typescript/date-field/useDateFieldSegmentState.d.ts +26 -0
  280. package/lib/typescript/date-field/useDateFieldSegmentState.d.ts.map +1 -0
  281. package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts +4 -0
  282. package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts.map +1 -0
  283. package/lib/typescript/date-picker/DatePickerRoot.d.ts +28 -0
  284. package/lib/typescript/date-picker/DatePickerRoot.d.ts.map +1 -0
  285. package/lib/typescript/date-picker/context.d.ts +25 -0
  286. package/lib/typescript/date-picker/context.d.ts.map +1 -0
  287. package/lib/typescript/date-picker/index.d.ts +5 -0
  288. package/lib/typescript/date-picker/index.d.ts.map +1 -0
  289. package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts +43 -0
  290. package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts.map +1 -0
  291. package/lib/typescript/date-range-picker/context.d.ts +42 -0
  292. package/lib/typescript/date-range-picker/context.d.ts.map +1 -0
  293. package/lib/typescript/date-range-picker/index.d.ts +4 -0
  294. package/lib/typescript/date-range-picker/index.d.ts.map +1 -0
  295. package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts +4 -0
  296. package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts.map +1 -0
  297. package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts +10 -0
  298. package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts.map +1 -0
  299. package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts +24 -0
  300. package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts.map +1 -0
  301. package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts +10 -0
  302. package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts.map +1 -0
  303. package/lib/typescript/date-time-field/context.d.ts +27 -0
  304. package/lib/typescript/date-time-field/context.d.ts.map +1 -0
  305. package/lib/typescript/date-time-field/index.d.ts +8 -0
  306. package/lib/typescript/date-time-field/index.d.ts.map +1 -0
  307. package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts +26 -0
  308. package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts.map +1 -0
  309. package/lib/typescript/date-time-list/DateTimeListRoot.d.ts +42 -0
  310. package/lib/typescript/date-time-list/DateTimeListRoot.d.ts.map +1 -0
  311. package/lib/typescript/date-time-list/context.d.ts +29 -0
  312. package/lib/typescript/date-time-list/context.d.ts.map +1 -0
  313. package/lib/typescript/date-time-list/index.d.ts +4 -0
  314. package/lib/typescript/date-time-list/index.d.ts.map +1 -0
  315. package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts +36 -0
  316. package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts.map +1 -0
  317. package/lib/typescript/date-time-picker/context.d.ts +25 -0
  318. package/lib/typescript/date-time-picker/context.d.ts.map +1 -0
  319. package/lib/typescript/date-time-picker/index.d.ts +4 -0
  320. package/lib/typescript/date-time-picker/index.d.ts.map +1 -0
  321. package/lib/typescript/dialog/types.d.ts +2 -1
  322. package/lib/typescript/dialog/types.d.ts.map +1 -1
  323. package/lib/typescript/index.d.ts +11 -2
  324. package/lib/typescript/index.d.ts.map +1 -1
  325. package/lib/typescript/month-calendar/MonthCalendarCell.d.ts +9 -0
  326. package/lib/typescript/month-calendar/MonthCalendarCell.d.ts.map +1 -0
  327. package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts +30 -0
  328. package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts.map +1 -0
  329. package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts +9 -0
  330. package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts.map +1 -0
  331. package/lib/typescript/month-calendar/context.d.ts +20 -0
  332. package/lib/typescript/month-calendar/context.d.ts.map +1 -0
  333. package/lib/typescript/month-calendar/index.d.ts +7 -0
  334. package/lib/typescript/month-calendar/index.d.ts.map +1 -0
  335. package/lib/typescript/month-picker/MonthPickerRoot.d.ts +29 -0
  336. package/lib/typescript/month-picker/MonthPickerRoot.d.ts.map +1 -0
  337. package/lib/typescript/month-picker/context.d.ts +23 -0
  338. package/lib/typescript/month-picker/context.d.ts.map +1 -0
  339. package/lib/typescript/month-picker/index.d.ts +4 -0
  340. package/lib/typescript/month-picker/index.d.ts.map +1 -0
  341. package/lib/typescript/overlay/useAnchorPosition.d.ts.map +1 -1
  342. package/lib/typescript/overlay/useDismissOverlay.web.d.ts.map +1 -1
  343. package/lib/typescript/overlay/useOverlayPosition.d.ts.map +1 -1
  344. package/lib/typescript/portal/portal.d.ts.map +1 -1
  345. package/lib/typescript/radio/RadioGroup.d.ts.map +1 -1
  346. package/lib/typescript/radio/RadioRoot.web.d.ts +8 -0
  347. package/lib/typescript/radio/RadioRoot.web.d.ts.map +1 -1
  348. package/lib/typescript/radio/context.d.ts +6 -1
  349. package/lib/typescript/radio/context.d.ts.map +1 -1
  350. package/lib/typescript/radio/types.d.ts +7 -0
  351. package/lib/typescript/radio/types.d.ts.map +1 -1
  352. package/lib/typescript/radio/useRadioGroupNavigation.d.ts +17 -0
  353. package/lib/typescript/radio/useRadioGroupNavigation.d.ts.map +1 -0
  354. package/lib/typescript/radio/useRadioRoot.d.ts +4 -18
  355. package/lib/typescript/radio/useRadioRoot.d.ts.map +1 -1
  356. package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts +34 -0
  357. package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts.map +1 -0
  358. package/lib/typescript/range-calendar/context.d.ts +26 -0
  359. package/lib/typescript/range-calendar/context.d.ts.map +1 -0
  360. package/lib/typescript/range-calendar/index.d.ts +5 -0
  361. package/lib/typescript/range-calendar/index.d.ts.map +1 -0
  362. package/lib/typescript/select/types.d.ts +2 -1
  363. package/lib/typescript/select/types.d.ts.map +1 -1
  364. package/lib/typescript/utils/accessibleLabel.d.ts +13 -0
  365. package/lib/typescript/utils/accessibleLabel.d.ts.map +1 -0
  366. package/lib/typescript/utils/createPortal.web.d.ts +17 -0
  367. package/lib/typescript/utils/createPortal.web.d.ts.map +1 -0
  368. package/package.json +3 -2
  369. package/src/calendar/CalendarGrid.tsx +29 -0
  370. package/src/calendar/CalendarRoot.tsx +138 -0
  371. package/src/calendar/context.tsx +28 -0
  372. package/src/calendar/index.ts +4 -0
  373. package/src/calendar/types.ts +30 -0
  374. package/src/checkbox/CheckboxRoot.web.tsx +105 -29
  375. package/src/checkbox/useCheckboxRoot.ts +37 -15
  376. package/src/date-field/DateFieldHiddenInput.tsx +152 -0
  377. package/src/date-field/DateFieldInput.tsx +138 -0
  378. package/src/date-field/DateFieldRoot.tsx +117 -0
  379. package/src/date-field/DateFieldSegment.tsx +97 -0
  380. package/src/date-field/context.tsx +48 -0
  381. package/src/date-field/index.ts +8 -0
  382. package/src/date-field/segmentIndex.tsx +17 -0
  383. package/src/date-field/segmentKeyboard.ts +207 -0
  384. package/src/date-field/types.ts +40 -0
  385. package/src/date-field/useDateFieldSegmentState.ts +455 -0
  386. package/src/date-field/useRangeDateFieldBridge.ts +78 -0
  387. package/src/date-picker/DatePickerRoot.tsx +186 -0
  388. package/src/date-picker/context.tsx +34 -0
  389. package/src/date-picker/index.ts +4 -0
  390. package/src/date-range-picker/DateRangePickerRoot.tsx +236 -0
  391. package/src/date-range-picker/context.tsx +48 -0
  392. package/src/date-range-picker/index.ts +8 -0
  393. package/src/date-time-field/DateTimeFieldHiddenInput.tsx +156 -0
  394. package/src/date-time-field/DateTimeFieldInput.tsx +119 -0
  395. package/src/date-time-field/DateTimeFieldRoot.tsx +209 -0
  396. package/src/date-time-field/DateTimeFieldSegment.tsx +95 -0
  397. package/src/date-time-field/context.tsx +41 -0
  398. package/src/date-time-field/index.ts +7 -0
  399. package/src/date-time-field/useDateTimeFieldSegmentState.ts +672 -0
  400. package/src/date-time-list/DateTimeListRoot.tsx +530 -0
  401. package/src/date-time-list/context.tsx +45 -0
  402. package/src/date-time-list/index.ts +16 -0
  403. package/src/date-time-picker/DateTimePickerRoot.tsx +210 -0
  404. package/src/date-time-picker/context.tsx +33 -0
  405. package/src/date-time-picker/index.ts +7 -0
  406. package/src/dialog/DialogRoot.tsx +1 -1
  407. package/src/dialog/types.ts +2 -1
  408. package/src/index.ts +21 -2
  409. package/src/month-calendar/MonthCalendarCell.tsx +53 -0
  410. package/src/month-calendar/MonthCalendarRoot.tsx +153 -0
  411. package/src/month-calendar/MonthCalendarYearCell.tsx +54 -0
  412. package/src/month-calendar/context.tsx +30 -0
  413. package/src/month-calendar/index.ts +6 -0
  414. package/src/month-picker/MonthPickerRoot.tsx +183 -0
  415. package/src/month-picker/context.tsx +31 -0
  416. package/src/month-picker/index.ts +3 -0
  417. package/src/overlay/useAnchorPosition.ts +25 -11
  418. package/src/overlay/useDismissOverlay.web.ts +10 -2
  419. package/src/overlay/useOverlayPosition.ts +5 -2
  420. package/src/portal/portal.tsx +79 -2
  421. package/src/radio/RadioGroup.tsx +84 -20
  422. package/src/radio/RadioRoot.web.tsx +136 -31
  423. package/src/radio/context.tsx +6 -1
  424. package/src/radio/types.ts +6 -0
  425. package/src/radio/useRadioGroupNavigation.ts +104 -0
  426. package/src/radio/useRadioRoot.ts +18 -11
  427. package/src/range-calendar/RangeCalendarRoot.tsx +213 -0
  428. package/src/range-calendar/context.tsx +33 -0
  429. package/src/range-calendar/index.ts +4 -0
  430. package/src/select/SelectRoot.tsx +1 -1
  431. package/src/select/types.ts +2 -1
  432. package/src/utils/accessibleLabel.ts +22 -0
  433. package/src/utils/createPortal.web.ts +18 -0
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useMemo } from 'react';
4
+ import { View } from 'react-native';
5
+ import { formatDateTimeId, getDateTimeFieldSegments, isLocaleHour12, parseDateTimeId, resolveDateComponentLabels } from '@cdx-ui/formatters';
6
+ import { useControllableState, useFormControl } from '@cdx-ui/utils';
7
+ import { Slot } from '../slot';
8
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
9
+ import { DateTimeFieldContext } from './context';
10
+ import { useDateTimeFieldSegmentState } from './useDateTimeFieldSegmentState';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const DateTimeFieldRoot = /*#__PURE__*/forwardRef(({
13
+ asChild,
14
+ children,
15
+ value: valueProp,
16
+ defaultValue,
17
+ onValueChange,
18
+ granularity = 'minute',
19
+ locale = 'en-US',
20
+ hour12: hour12Prop,
21
+ labels: labelsProp,
22
+ isDisabled,
23
+ isReadOnly,
24
+ isInvalid,
25
+ isRequired,
26
+ ...props
27
+ }, ref) => {
28
+ const hour12 = hour12Prop ?? isLocaleHour12(locale);
29
+ const formControl = useFormControl({
30
+ isDisabled,
31
+ isReadOnly,
32
+ isInvalid,
33
+ isRequired
34
+ });
35
+ const labels = useMemo(() => resolveDateComponentLabels(labelsProp), [labelsProp]);
36
+ const [value, setValue] = useControllableState({
37
+ prop: valueProp,
38
+ defaultProp: defaultValue,
39
+ onChange: onValueChange
40
+ });
41
+ const segments = useMemo(() => getDateTimeFieldSegments(value, {
42
+ granularity,
43
+ locale,
44
+ hour12
45
+ }), [value, granularity, locale, hour12]);
46
+ const fieldDisabled = !!formControl.disabled;
47
+ const fieldReadOnly = !!formControl.readOnly;
48
+ const fieldInvalid = !!formControl['aria-invalid'];
49
+ const segmentState = useDateTimeFieldSegmentState({
50
+ granularity,
51
+ hour12,
52
+ locale,
53
+ segments,
54
+ value,
55
+ setValue,
56
+ disabled: fieldDisabled,
57
+ readOnly: fieldReadOnly
58
+ });
59
+ const contextValue = useMemo(() => ({
60
+ value,
61
+ onValueChange: setValue,
62
+ granularity,
63
+ locale,
64
+ hour12,
65
+ labels,
66
+ segments,
67
+ disabled: fieldDisabled,
68
+ readOnly: fieldReadOnly,
69
+ invalid: fieldInvalid,
70
+ ...segmentState
71
+ }), [value, setValue, granularity, locale, hour12, labels, segments, fieldDisabled, fieldReadOnly, fieldInvalid, segmentState]);
72
+ const Comp = asChild ? Slot : View;
73
+ return /*#__PURE__*/_jsx(DateTimeFieldContext.Provider, {
74
+ value: contextValue,
75
+ children: /*#__PURE__*/_jsx(Comp, {
76
+ ref: ref,
77
+ ...props,
78
+ ...mergeDataAttributes(props, dataAttributes({
79
+ disabled: formControl.disabled,
80
+ invalid: formControl['aria-invalid'],
81
+ readonly: formControl.readOnly
82
+ })),
83
+ children: children
84
+ })
85
+ });
86
+ });
87
+ DateTimeFieldRoot.displayName = 'DateTimeFieldRoot';
88
+
89
+ /** Local `DateTimeId` includes seconds when the time segment is `HH:mm:ss` (colon at index 16). */
90
+ function dateTimeIdIncludesSeconds(dateTimeId) {
91
+ return dateTimeId.length >= 19 && dateTimeId.charAt(16) === ':';
92
+ }
93
+ export function applyDateTimePartChange(current, part, partValue) {
94
+ const parts = current ? parseDateTimeId(current) : null;
95
+ const hasSeconds = Boolean(current && dateTimeIdIncludesSeconds(current));
96
+ const includeSeconds = hasSeconds || part === 'second';
97
+ const base = parts ? {
98
+ year: parts.year,
99
+ month: parts.month,
100
+ day: parts.day,
101
+ hour: parts.hour,
102
+ minute: parts.minute,
103
+ ...(includeSeconds ? {
104
+ second: parts.second ?? 0
105
+ } : {})
106
+ } : {
107
+ year: new Date().getFullYear(),
108
+ month: new Date().getMonth() + 1,
109
+ day: new Date().getDate(),
110
+ hour: 0,
111
+ minute: 0,
112
+ ...(includeSeconds ? {
113
+ second: 0
114
+ } : {})
115
+ };
116
+ if (part === 'date' && typeof partValue === 'string') {
117
+ const dateParts = parseDateTimeId(`${partValue}T00:00:00`);
118
+ if (dateParts) {
119
+ return formatDateTimeId({
120
+ ...base,
121
+ year: dateParts.year,
122
+ month: dateParts.month,
123
+ day: dateParts.day
124
+ });
125
+ }
126
+ }
127
+ if (part === 'hour' && typeof partValue === 'number') {
128
+ return formatDateTimeId({
129
+ ...base,
130
+ hour: partValue
131
+ });
132
+ }
133
+ if (part === 'minute' && typeof partValue === 'number') {
134
+ return formatDateTimeId({
135
+ ...base,
136
+ minute: partValue
137
+ });
138
+ }
139
+ if (part === 'second' && typeof partValue === 'number') {
140
+ return formatDateTimeId({
141
+ ...base,
142
+ second: partValue
143
+ });
144
+ }
145
+ if (part === 'period' && typeof partValue === 'number') {
146
+ const hour = base.hour % 12 + (partValue === 1 ? 12 : 0);
147
+ return formatDateTimeId({
148
+ ...base,
149
+ hour
150
+ });
151
+ }
152
+ return formatDateTimeId(base);
153
+ }
154
+ //# sourceMappingURL=DateTimeFieldRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useMemo","View","formatDateTimeId","getDateTimeFieldSegments","isLocaleHour12","parseDateTimeId","resolveDateComponentLabels","useControllableState","useFormControl","Slot","dataAttributes","mergeDataAttributes","DateTimeFieldContext","useDateTimeFieldSegmentState","jsx","_jsx","DateTimeFieldRoot","asChild","children","value","valueProp","defaultValue","onValueChange","granularity","locale","hour12","hour12Prop","labels","labelsProp","isDisabled","isReadOnly","isInvalid","isRequired","props","ref","formControl","setValue","prop","defaultProp","onChange","segments","fieldDisabled","disabled","fieldReadOnly","readOnly","fieldInvalid","segmentState","contextValue","invalid","Comp","Provider","readonly","displayName","dateTimeIdIncludesSeconds","dateTimeId","length","charAt","applyDateTimePartChange","current","part","partValue","parts","hasSeconds","Boolean","includeSeconds","base","year","month","day","hour","minute","second","Date","getFullYear","getMonth","getDate","dateParts"],"sourceRoot":"../../../src","sources":["date-time-field/DateTimeFieldRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback } from 'react';
4
+ import { Platform, Pressable, Text } from 'react-native';
5
+ import { getDateSegmentAccessibilityLabel } from '@cdx-ui/formatters';
6
+ import { useDateFieldSegmentIndex } from '../date-field/segmentIndex';
7
+ import { Slot } from '../slot';
8
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
9
+ import { useDateTimeFieldContext } from './context';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ export const DateTimeFieldSegment = /*#__PURE__*/forwardRef(({
12
+ asChild,
13
+ segment,
14
+ segmentIndex: segmentIndexProp,
15
+ style,
16
+ ...props
17
+ }, ref) => {
18
+ const contextSegmentIndex = useDateFieldSegmentIndex();
19
+ const segmentIndex = segmentIndexProp ?? contextSegmentIndex;
20
+ const {
21
+ disabled,
22
+ readOnly,
23
+ focusedSegmentIndex,
24
+ focusSegment,
25
+ getSegmentDisplayText,
26
+ labels
27
+ } = useDateTimeFieldContext();
28
+ const isFocused = focusedSegmentIndex === segmentIndex;
29
+ const displayText = getSegmentDisplayText(segmentIndex);
30
+ const handlePress = useCallback(() => {
31
+ focusSegment(segmentIndex);
32
+ }, [focusSegment, segmentIndex]);
33
+ const preventWebFocusSteal = useCallback(event => {
34
+ if (Platform.OS !== 'web') {
35
+ return;
36
+ }
37
+ const maybeDom = event;
38
+ maybeDom.preventDefault?.();
39
+ }, []);
40
+ const dataProps = mergeDataAttributes(props, dataAttributes({
41
+ slot: 'date-time-field-segment',
42
+ focus: isFocused,
43
+ placeholder: segment.text === displayText && !segment.value
44
+ }));
45
+ if (segment.isEditable && !asChild) {
46
+ return /*#__PURE__*/_jsx(Pressable, {
47
+ accessibilityRole: "spinbutton",
48
+ accessibilityLabel: getDateSegmentAccessibilityLabel(segment.type, labels),
49
+ accessibilityState: {
50
+ disabled,
51
+ selected: isFocused
52
+ },
53
+ disabled: disabled || readOnly,
54
+ onPress: handlePress,
55
+ onPressIn: preventWebFocusSteal,
56
+ style: [{
57
+ zIndex: 1
58
+ }, style],
59
+ ...props,
60
+ ...dataProps,
61
+ ...(Platform.OS === 'web' ? {
62
+ onMouseDown: e => {
63
+ e.preventDefault();
64
+ }
65
+ } : null),
66
+ children: /*#__PURE__*/_jsx(Text, {
67
+ children: displayText
68
+ })
69
+ });
70
+ }
71
+ const Comp = asChild ? Slot : Text;
72
+ return /*#__PURE__*/_jsx(Comp, {
73
+ ref: ref,
74
+ style: style,
75
+ ...props,
76
+ ...dataProps,
77
+ accessibilityRole: "text",
78
+ importantForAccessibility: "no",
79
+ children: displayText
80
+ });
81
+ });
82
+ DateTimeFieldSegment.displayName = 'DateTimeFieldSegment';
83
+ //# sourceMappingURL=DateTimeFieldSegment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","Platform","Pressable","Text","getDateSegmentAccessibilityLabel","useDateFieldSegmentIndex","Slot","dataAttributes","mergeDataAttributes","useDateTimeFieldContext","jsx","_jsx","DateTimeFieldSegment","asChild","segment","segmentIndex","segmentIndexProp","style","props","ref","contextSegmentIndex","disabled","readOnly","focusedSegmentIndex","focusSegment","getSegmentDisplayText","labels","isFocused","displayText","handlePress","preventWebFocusSteal","event","OS","maybeDom","preventDefault","dataProps","slot","focus","placeholder","text","value","isEditable","accessibilityRole","accessibilityLabel","type","accessibilityState","selected","onPress","onPressIn","zIndex","onMouseDown","e","children","Comp","importantForAccessibility","displayName"],"sourceRoot":"../../../src","sources":["date-time-field/DateTimeFieldSegment.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from 'react';
4
+ export const DateTimeFieldContext = /*#__PURE__*/createContext(null);
5
+ export function useDateTimeFieldContext() {
6
+ const ctx = useContext(DateTimeFieldContext);
7
+ if (!ctx) {
8
+ throw new Error('DateTimeField compound components must be used within DateTimeFieldRoot');
9
+ }
10
+ return ctx;
11
+ }
12
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","DateTimeFieldContext","useDateTimeFieldContext","ctx","Error"],"sourceRoot":"../../../src","sources":["date-time-field/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAgCjD,OAAO,MAAMC,oBAAoB,gBAAGF,aAAa,CAAmC,IAAI,CAAC;AAEzF,OAAO,SAASG,uBAAuBA,CAAA,EAA8B;EACnE,MAAMC,GAAG,GAAGH,UAAU,CAACC,oBAAoB,CAAC;EAC5C,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,yEAAyE,CAAC;EAC5F;EACA,OAAOD,GAAG;AACZ","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export { DateTimeFieldRoot, applyDateTimePartChange } from './DateTimeFieldRoot';
4
+ export { DateTimeFieldInput } from './DateTimeFieldInput';
5
+ export { DateTimeFieldSegment } from './DateTimeFieldSegment';
6
+ export { useDateTimeFieldContext } from './context';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DateTimeFieldRoot","applyDateTimePartChange","DateTimeFieldInput","DateTimeFieldSegment","useDateTimeFieldContext"],"sourceRoot":"../../../src","sources":["date-time-field/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,EAAEC,uBAAuB,QAAQ,qBAAqB;AAEhF,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,SAASC,uBAAuB,QAAQ,WAAW","ignoreList":[]}