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

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 (384) 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/date-field/DateFieldHiddenInput.js +148 -0
  12. package/lib/commonjs/date-field/DateFieldHiddenInput.js.map +1 -0
  13. package/lib/commonjs/date-field/DateFieldInput.js +122 -0
  14. package/lib/commonjs/date-field/DateFieldInput.js.map +1 -0
  15. package/lib/commonjs/date-field/DateFieldRoot.js +85 -0
  16. package/lib/commonjs/date-field/DateFieldRoot.js.map +1 -0
  17. package/lib/commonjs/date-field/DateFieldSegment.js +92 -0
  18. package/lib/commonjs/date-field/DateFieldSegment.js.map +1 -0
  19. package/lib/commonjs/date-field/context.js +19 -0
  20. package/lib/commonjs/date-field/context.js.map +1 -0
  21. package/lib/commonjs/date-field/index.js +34 -0
  22. package/lib/commonjs/date-field/index.js.map +1 -0
  23. package/lib/commonjs/date-field/segmentIndex.js +23 -0
  24. package/lib/commonjs/date-field/segmentIndex.js.map +1 -0
  25. package/lib/commonjs/date-field/segmentKeyboard.js +169 -0
  26. package/lib/commonjs/date-field/segmentKeyboard.js.map +1 -0
  27. package/lib/commonjs/date-field/types.js +6 -0
  28. package/lib/commonjs/date-field/types.js.map +1 -0
  29. package/lib/commonjs/date-field/useDateFieldSegmentState.js +381 -0
  30. package/lib/commonjs/date-field/useDateFieldSegmentState.js.map +1 -0
  31. package/lib/commonjs/date-field/useRangeDateFieldBridge.js +67 -0
  32. package/lib/commonjs/date-field/useRangeDateFieldBridge.js.map +1 -0
  33. package/lib/commonjs/date-picker/DatePickerRoot.js +123 -0
  34. package/lib/commonjs/date-picker/DatePickerRoot.js.map +1 -0
  35. package/lib/commonjs/date-picker/context.js +17 -0
  36. package/lib/commonjs/date-picker/context.js.map +1 -0
  37. package/lib/commonjs/date-picker/index.js +26 -0
  38. package/lib/commonjs/date-picker/index.js.map +1 -0
  39. package/lib/commonjs/date-range-picker/DateRangePickerRoot.js +144 -0
  40. package/lib/commonjs/date-range-picker/DateRangePickerRoot.js.map +1 -0
  41. package/lib/commonjs/date-range-picker/context.js +23 -0
  42. package/lib/commonjs/date-range-picker/context.js.map +1 -0
  43. package/lib/commonjs/date-range-picker/index.js +26 -0
  44. package/lib/commonjs/date-range-picker/index.js.map +1 -0
  45. package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js +150 -0
  46. package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
  47. package/lib/commonjs/date-time-field/DateTimeFieldInput.js +104 -0
  48. package/lib/commonjs/date-time-field/DateTimeFieldInput.js.map +1 -0
  49. package/lib/commonjs/date-time-field/DateTimeFieldRoot.js +159 -0
  50. package/lib/commonjs/date-time-field/DateTimeFieldRoot.js.map +1 -0
  51. package/lib/commonjs/date-time-field/DateTimeFieldSegment.js +87 -0
  52. package/lib/commonjs/date-time-field/DateTimeFieldSegment.js.map +1 -0
  53. package/lib/commonjs/date-time-field/context.js +17 -0
  54. package/lib/commonjs/date-time-field/context.js.map +1 -0
  55. package/lib/commonjs/date-time-field/index.js +40 -0
  56. package/lib/commonjs/date-time-field/index.js.map +1 -0
  57. package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js +564 -0
  58. package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
  59. package/lib/commonjs/date-time-list/DateTimeListRoot.js +418 -0
  60. package/lib/commonjs/date-time-list/DateTimeListRoot.js.map +1 -0
  61. package/lib/commonjs/date-time-list/context.js +26 -0
  62. package/lib/commonjs/date-time-list/context.js.map +1 -0
  63. package/lib/commonjs/date-time-list/index.js +62 -0
  64. package/lib/commonjs/date-time-list/index.js.map +1 -0
  65. package/lib/commonjs/date-time-picker/DateTimePickerRoot.js +134 -0
  66. package/lib/commonjs/date-time-picker/DateTimePickerRoot.js.map +1 -0
  67. package/lib/commonjs/date-time-picker/context.js +17 -0
  68. package/lib/commonjs/date-time-picker/context.js.map +1 -0
  69. package/lib/commonjs/date-time-picker/index.js +26 -0
  70. package/lib/commonjs/date-time-picker/index.js.map +1 -0
  71. package/lib/commonjs/dialog/DialogRoot.js +1 -1
  72. package/lib/commonjs/dialog/DialogRoot.js.map +1 -1
  73. package/lib/commonjs/index.js +148 -0
  74. package/lib/commonjs/index.js.map +1 -1
  75. package/lib/commonjs/month-calendar/MonthCalendarCell.js +64 -0
  76. package/lib/commonjs/month-calendar/MonthCalendarCell.js.map +1 -0
  77. package/lib/commonjs/month-calendar/MonthCalendarRoot.js +103 -0
  78. package/lib/commonjs/month-calendar/MonthCalendarRoot.js.map +1 -0
  79. package/lib/commonjs/month-calendar/MonthCalendarYearCell.js +63 -0
  80. package/lib/commonjs/month-calendar/MonthCalendarYearCell.js.map +1 -0
  81. package/lib/commonjs/month-calendar/context.js +17 -0
  82. package/lib/commonjs/month-calendar/context.js.map +1 -0
  83. package/lib/commonjs/month-calendar/index.js +34 -0
  84. package/lib/commonjs/month-calendar/index.js.map +1 -0
  85. package/lib/commonjs/month-picker/MonthPickerRoot.js +118 -0
  86. package/lib/commonjs/month-picker/MonthPickerRoot.js.map +1 -0
  87. package/lib/commonjs/month-picker/context.js +17 -0
  88. package/lib/commonjs/month-picker/context.js.map +1 -0
  89. package/lib/commonjs/month-picker/index.js +26 -0
  90. package/lib/commonjs/month-picker/index.js.map +1 -0
  91. package/lib/commonjs/overlay/useAnchorPosition.js +27 -16
  92. package/lib/commonjs/overlay/useAnchorPosition.js.map +1 -1
  93. package/lib/commonjs/overlay/useDismissOverlay.web.js +10 -2
  94. package/lib/commonjs/overlay/useDismissOverlay.web.js.map +1 -1
  95. package/lib/commonjs/overlay/useOverlayPosition.js +5 -2
  96. package/lib/commonjs/overlay/useOverlayPosition.js.map +1 -1
  97. package/lib/commonjs/portal/portal.js +59 -2
  98. package/lib/commonjs/portal/portal.js.map +1 -1
  99. package/lib/commonjs/range-calendar/RangeCalendarRoot.js +148 -0
  100. package/lib/commonjs/range-calendar/RangeCalendarRoot.js.map +1 -0
  101. package/lib/commonjs/range-calendar/context.js +17 -0
  102. package/lib/commonjs/range-calendar/context.js.map +1 -0
  103. package/lib/commonjs/range-calendar/index.js +20 -0
  104. package/lib/commonjs/range-calendar/index.js.map +1 -0
  105. package/lib/commonjs/select/SelectRoot.js +1 -1
  106. package/lib/commonjs/select/SelectRoot.js.map +1 -1
  107. package/lib/commonjs/utils/accessibleLabel.js +23 -0
  108. package/lib/commonjs/utils/accessibleLabel.js.map +1 -0
  109. package/lib/commonjs/utils/createPortal.web.js +21 -0
  110. package/lib/commonjs/utils/createPortal.web.js.map +1 -0
  111. package/lib/module/calendar/CalendarGrid.js +29 -0
  112. package/lib/module/calendar/CalendarGrid.js.map +1 -0
  113. package/lib/module/calendar/CalendarRoot.js +91 -0
  114. package/lib/module/calendar/CalendarRoot.js.map +1 -0
  115. package/lib/module/calendar/context.js +12 -0
  116. package/lib/module/calendar/context.js.map +1 -0
  117. package/lib/module/calendar/index.js +6 -0
  118. package/lib/module/calendar/index.js.map +1 -0
  119. package/lib/module/calendar/types.js +4 -0
  120. package/lib/module/calendar/types.js.map +1 -0
  121. package/lib/module/date-field/DateFieldHiddenInput.js +146 -0
  122. package/lib/module/date-field/DateFieldHiddenInput.js.map +1 -0
  123. package/lib/module/date-field/DateFieldInput.js +118 -0
  124. package/lib/module/date-field/DateFieldInput.js.map +1 -0
  125. package/lib/module/date-field/DateFieldRoot.js +81 -0
  126. package/lib/module/date-field/DateFieldRoot.js.map +1 -0
  127. package/lib/module/date-field/DateFieldSegment.js +88 -0
  128. package/lib/module/date-field/DateFieldSegment.js.map +1 -0
  129. package/lib/module/date-field/context.js +15 -0
  130. package/lib/module/date-field/context.js.map +1 -0
  131. package/lib/module/date-field/index.js +7 -0
  132. package/lib/module/date-field/index.js.map +1 -0
  133. package/lib/module/date-field/segmentIndex.js +18 -0
  134. package/lib/module/date-field/segmentIndex.js.map +1 -0
  135. package/lib/module/date-field/segmentKeyboard.js +157 -0
  136. package/lib/module/date-field/segmentKeyboard.js.map +1 -0
  137. package/lib/module/date-field/types.js +4 -0
  138. package/lib/module/date-field/types.js.map +1 -0
  139. package/lib/module/date-field/useDateFieldSegmentState.js +378 -0
  140. package/lib/module/date-field/useDateFieldSegmentState.js.map +1 -0
  141. package/lib/module/date-field/useRangeDateFieldBridge.js +63 -0
  142. package/lib/module/date-field/useRangeDateFieldBridge.js.map +1 -0
  143. package/lib/module/date-picker/DatePickerRoot.js +119 -0
  144. package/lib/module/date-picker/DatePickerRoot.js.map +1 -0
  145. package/lib/module/date-picker/context.js +12 -0
  146. package/lib/module/date-picker/context.js.map +1 -0
  147. package/lib/module/date-picker/index.js +5 -0
  148. package/lib/module/date-picker/index.js.map +1 -0
  149. package/lib/module/date-range-picker/DateRangePickerRoot.js +140 -0
  150. package/lib/module/date-range-picker/DateRangePickerRoot.js.map +1 -0
  151. package/lib/module/date-range-picker/context.js +19 -0
  152. package/lib/module/date-range-picker/context.js.map +1 -0
  153. package/lib/module/date-range-picker/index.js +5 -0
  154. package/lib/module/date-range-picker/index.js.map +1 -0
  155. package/lib/module/date-time-field/DateTimeFieldHiddenInput.js +148 -0
  156. package/lib/module/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
  157. package/lib/module/date-time-field/DateTimeFieldInput.js +100 -0
  158. package/lib/module/date-time-field/DateTimeFieldInput.js.map +1 -0
  159. package/lib/module/date-time-field/DateTimeFieldRoot.js +154 -0
  160. package/lib/module/date-time-field/DateTimeFieldRoot.js.map +1 -0
  161. package/lib/module/date-time-field/DateTimeFieldSegment.js +83 -0
  162. package/lib/module/date-time-field/DateTimeFieldSegment.js.map +1 -0
  163. package/lib/module/date-time-field/context.js +12 -0
  164. package/lib/module/date-time-field/context.js.map +1 -0
  165. package/lib/module/date-time-field/index.js +7 -0
  166. package/lib/module/date-time-field/index.js.map +1 -0
  167. package/lib/module/date-time-field/useDateTimeFieldSegmentState.js +561 -0
  168. package/lib/module/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
  169. package/lib/module/date-time-list/DateTimeListRoot.js +416 -0
  170. package/lib/module/date-time-list/DateTimeListRoot.js.map +1 -0
  171. package/lib/module/date-time-list/context.js +20 -0
  172. package/lib/module/date-time-list/context.js.map +1 -0
  173. package/lib/module/date-time-list/index.js +5 -0
  174. package/lib/module/date-time-list/index.js.map +1 -0
  175. package/lib/module/date-time-picker/DateTimePickerRoot.js +130 -0
  176. package/lib/module/date-time-picker/DateTimePickerRoot.js.map +1 -0
  177. package/lib/module/date-time-picker/context.js +12 -0
  178. package/lib/module/date-time-picker/context.js.map +1 -0
  179. package/lib/module/date-time-picker/index.js +5 -0
  180. package/lib/module/date-time-picker/index.js.map +1 -0
  181. package/lib/module/dialog/DialogRoot.js +1 -1
  182. package/lib/module/dialog/DialogRoot.js.map +1 -1
  183. package/lib/module/index.js +11 -2
  184. package/lib/module/index.js.map +1 -1
  185. package/lib/module/month-calendar/MonthCalendarCell.js +60 -0
  186. package/lib/module/month-calendar/MonthCalendarCell.js.map +1 -0
  187. package/lib/module/month-calendar/MonthCalendarRoot.js +99 -0
  188. package/lib/module/month-calendar/MonthCalendarRoot.js.map +1 -0
  189. package/lib/module/month-calendar/MonthCalendarYearCell.js +59 -0
  190. package/lib/module/month-calendar/MonthCalendarYearCell.js.map +1 -0
  191. package/lib/module/month-calendar/context.js +12 -0
  192. package/lib/module/month-calendar/context.js.map +1 -0
  193. package/lib/module/month-calendar/index.js +7 -0
  194. package/lib/module/month-calendar/index.js.map +1 -0
  195. package/lib/module/month-picker/MonthPickerRoot.js +114 -0
  196. package/lib/module/month-picker/MonthPickerRoot.js.map +1 -0
  197. package/lib/module/month-picker/context.js +12 -0
  198. package/lib/module/month-picker/context.js.map +1 -0
  199. package/lib/module/month-picker/index.js +5 -0
  200. package/lib/module/month-picker/index.js.map +1 -0
  201. package/lib/module/overlay/useAnchorPosition.js +27 -16
  202. package/lib/module/overlay/useAnchorPosition.js.map +1 -1
  203. package/lib/module/overlay/useDismissOverlay.web.js +9 -2
  204. package/lib/module/overlay/useDismissOverlay.web.js.map +1 -1
  205. package/lib/module/overlay/useOverlayPosition.js +5 -2
  206. package/lib/module/overlay/useOverlayPosition.js.map +1 -1
  207. package/lib/module/portal/portal.js +59 -2
  208. package/lib/module/portal/portal.js.map +1 -1
  209. package/lib/module/range-calendar/RangeCalendarRoot.js +144 -0
  210. package/lib/module/range-calendar/RangeCalendarRoot.js.map +1 -0
  211. package/lib/module/range-calendar/context.js +12 -0
  212. package/lib/module/range-calendar/context.js.map +1 -0
  213. package/lib/module/range-calendar/index.js +5 -0
  214. package/lib/module/range-calendar/index.js.map +1 -0
  215. package/lib/module/select/SelectRoot.js +1 -1
  216. package/lib/module/select/SelectRoot.js.map +1 -1
  217. package/lib/module/utils/accessibleLabel.js +18 -0
  218. package/lib/module/utils/accessibleLabel.js.map +1 -0
  219. package/lib/module/utils/createPortal.web.js +17 -0
  220. package/lib/module/utils/createPortal.web.js.map +1 -0
  221. package/lib/typescript/calendar/CalendarGrid.d.ts +7 -0
  222. package/lib/typescript/calendar/CalendarGrid.d.ts.map +1 -0
  223. package/lib/typescript/calendar/CalendarRoot.d.ts +10 -0
  224. package/lib/typescript/calendar/CalendarRoot.d.ts.map +1 -0
  225. package/lib/typescript/calendar/context.d.ts +18 -0
  226. package/lib/typescript/calendar/context.d.ts.map +1 -0
  227. package/lib/typescript/calendar/index.d.ts +5 -0
  228. package/lib/typescript/calendar/index.d.ts.map +1 -0
  229. package/lib/typescript/calendar/types.d.ts +29 -0
  230. package/lib/typescript/calendar/types.d.ts.map +1 -0
  231. package/lib/typescript/date-field/DateFieldHiddenInput.d.ts +4 -0
  232. package/lib/typescript/date-field/DateFieldHiddenInput.d.ts.map +1 -0
  233. package/lib/typescript/date-field/DateFieldInput.d.ts +8 -0
  234. package/lib/typescript/date-field/DateFieldInput.d.ts.map +1 -0
  235. package/lib/typescript/date-field/DateFieldRoot.d.ts +10 -0
  236. package/lib/typescript/date-field/DateFieldRoot.d.ts.map +1 -0
  237. package/lib/typescript/date-field/DateFieldSegment.d.ts +9 -0
  238. package/lib/typescript/date-field/DateFieldSegment.d.ts.map +1 -0
  239. package/lib/typescript/date-field/context.d.ts +33 -0
  240. package/lib/typescript/date-field/context.d.ts.map +1 -0
  241. package/lib/typescript/date-field/index.d.ts +9 -0
  242. package/lib/typescript/date-field/index.d.ts.map +1 -0
  243. package/lib/typescript/date-field/segmentIndex.d.ts +7 -0
  244. package/lib/typescript/date-field/segmentIndex.d.ts.map +1 -0
  245. package/lib/typescript/date-field/segmentKeyboard.d.ts +23 -0
  246. package/lib/typescript/date-field/segmentKeyboard.d.ts.map +1 -0
  247. package/lib/typescript/date-field/types.d.ts +38 -0
  248. package/lib/typescript/date-field/types.d.ts.map +1 -0
  249. package/lib/typescript/date-field/useDateFieldSegmentState.d.ts +26 -0
  250. package/lib/typescript/date-field/useDateFieldSegmentState.d.ts.map +1 -0
  251. package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts +4 -0
  252. package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts.map +1 -0
  253. package/lib/typescript/date-picker/DatePickerRoot.d.ts +28 -0
  254. package/lib/typescript/date-picker/DatePickerRoot.d.ts.map +1 -0
  255. package/lib/typescript/date-picker/context.d.ts +25 -0
  256. package/lib/typescript/date-picker/context.d.ts.map +1 -0
  257. package/lib/typescript/date-picker/index.d.ts +5 -0
  258. package/lib/typescript/date-picker/index.d.ts.map +1 -0
  259. package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts +43 -0
  260. package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts.map +1 -0
  261. package/lib/typescript/date-range-picker/context.d.ts +42 -0
  262. package/lib/typescript/date-range-picker/context.d.ts.map +1 -0
  263. package/lib/typescript/date-range-picker/index.d.ts +4 -0
  264. package/lib/typescript/date-range-picker/index.d.ts.map +1 -0
  265. package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts +4 -0
  266. package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts.map +1 -0
  267. package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts +10 -0
  268. package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts.map +1 -0
  269. package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts +24 -0
  270. package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts.map +1 -0
  271. package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts +10 -0
  272. package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts.map +1 -0
  273. package/lib/typescript/date-time-field/context.d.ts +27 -0
  274. package/lib/typescript/date-time-field/context.d.ts.map +1 -0
  275. package/lib/typescript/date-time-field/index.d.ts +8 -0
  276. package/lib/typescript/date-time-field/index.d.ts.map +1 -0
  277. package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts +26 -0
  278. package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts.map +1 -0
  279. package/lib/typescript/date-time-list/DateTimeListRoot.d.ts +42 -0
  280. package/lib/typescript/date-time-list/DateTimeListRoot.d.ts.map +1 -0
  281. package/lib/typescript/date-time-list/context.d.ts +29 -0
  282. package/lib/typescript/date-time-list/context.d.ts.map +1 -0
  283. package/lib/typescript/date-time-list/index.d.ts +4 -0
  284. package/lib/typescript/date-time-list/index.d.ts.map +1 -0
  285. package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts +36 -0
  286. package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts.map +1 -0
  287. package/lib/typescript/date-time-picker/context.d.ts +25 -0
  288. package/lib/typescript/date-time-picker/context.d.ts.map +1 -0
  289. package/lib/typescript/date-time-picker/index.d.ts +4 -0
  290. package/lib/typescript/date-time-picker/index.d.ts.map +1 -0
  291. package/lib/typescript/dialog/types.d.ts +2 -1
  292. package/lib/typescript/dialog/types.d.ts.map +1 -1
  293. package/lib/typescript/index.d.ts +11 -2
  294. package/lib/typescript/index.d.ts.map +1 -1
  295. package/lib/typescript/month-calendar/MonthCalendarCell.d.ts +9 -0
  296. package/lib/typescript/month-calendar/MonthCalendarCell.d.ts.map +1 -0
  297. package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts +30 -0
  298. package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts.map +1 -0
  299. package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts +9 -0
  300. package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts.map +1 -0
  301. package/lib/typescript/month-calendar/context.d.ts +20 -0
  302. package/lib/typescript/month-calendar/context.d.ts.map +1 -0
  303. package/lib/typescript/month-calendar/index.d.ts +7 -0
  304. package/lib/typescript/month-calendar/index.d.ts.map +1 -0
  305. package/lib/typescript/month-picker/MonthPickerRoot.d.ts +29 -0
  306. package/lib/typescript/month-picker/MonthPickerRoot.d.ts.map +1 -0
  307. package/lib/typescript/month-picker/context.d.ts +23 -0
  308. package/lib/typescript/month-picker/context.d.ts.map +1 -0
  309. package/lib/typescript/month-picker/index.d.ts +4 -0
  310. package/lib/typescript/month-picker/index.d.ts.map +1 -0
  311. package/lib/typescript/overlay/useAnchorPosition.d.ts.map +1 -1
  312. package/lib/typescript/overlay/useDismissOverlay.web.d.ts.map +1 -1
  313. package/lib/typescript/overlay/useOverlayPosition.d.ts.map +1 -1
  314. package/lib/typescript/portal/portal.d.ts.map +1 -1
  315. package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts +34 -0
  316. package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts.map +1 -0
  317. package/lib/typescript/range-calendar/context.d.ts +26 -0
  318. package/lib/typescript/range-calendar/context.d.ts.map +1 -0
  319. package/lib/typescript/range-calendar/index.d.ts +5 -0
  320. package/lib/typescript/range-calendar/index.d.ts.map +1 -0
  321. package/lib/typescript/select/types.d.ts +2 -1
  322. package/lib/typescript/select/types.d.ts.map +1 -1
  323. package/lib/typescript/utils/accessibleLabel.d.ts +13 -0
  324. package/lib/typescript/utils/accessibleLabel.d.ts.map +1 -0
  325. package/lib/typescript/utils/createPortal.web.d.ts +17 -0
  326. package/lib/typescript/utils/createPortal.web.d.ts.map +1 -0
  327. package/package.json +3 -2
  328. package/src/calendar/CalendarGrid.tsx +29 -0
  329. package/src/calendar/CalendarRoot.tsx +138 -0
  330. package/src/calendar/context.tsx +28 -0
  331. package/src/calendar/index.ts +4 -0
  332. package/src/calendar/types.ts +30 -0
  333. package/src/date-field/DateFieldHiddenInput.tsx +152 -0
  334. package/src/date-field/DateFieldInput.tsx +138 -0
  335. package/src/date-field/DateFieldRoot.tsx +117 -0
  336. package/src/date-field/DateFieldSegment.tsx +97 -0
  337. package/src/date-field/context.tsx +48 -0
  338. package/src/date-field/index.ts +8 -0
  339. package/src/date-field/segmentIndex.tsx +17 -0
  340. package/src/date-field/segmentKeyboard.ts +207 -0
  341. package/src/date-field/types.ts +40 -0
  342. package/src/date-field/useDateFieldSegmentState.ts +455 -0
  343. package/src/date-field/useRangeDateFieldBridge.ts +78 -0
  344. package/src/date-picker/DatePickerRoot.tsx +186 -0
  345. package/src/date-picker/context.tsx +34 -0
  346. package/src/date-picker/index.ts +4 -0
  347. package/src/date-range-picker/DateRangePickerRoot.tsx +236 -0
  348. package/src/date-range-picker/context.tsx +48 -0
  349. package/src/date-range-picker/index.ts +8 -0
  350. package/src/date-time-field/DateTimeFieldHiddenInput.tsx +156 -0
  351. package/src/date-time-field/DateTimeFieldInput.tsx +119 -0
  352. package/src/date-time-field/DateTimeFieldRoot.tsx +209 -0
  353. package/src/date-time-field/DateTimeFieldSegment.tsx +95 -0
  354. package/src/date-time-field/context.tsx +41 -0
  355. package/src/date-time-field/index.ts +7 -0
  356. package/src/date-time-field/useDateTimeFieldSegmentState.ts +672 -0
  357. package/src/date-time-list/DateTimeListRoot.tsx +530 -0
  358. package/src/date-time-list/context.tsx +45 -0
  359. package/src/date-time-list/index.ts +16 -0
  360. package/src/date-time-picker/DateTimePickerRoot.tsx +210 -0
  361. package/src/date-time-picker/context.tsx +33 -0
  362. package/src/date-time-picker/index.ts +7 -0
  363. package/src/dialog/DialogRoot.tsx +1 -1
  364. package/src/dialog/types.ts +2 -1
  365. package/src/index.ts +21 -2
  366. package/src/month-calendar/MonthCalendarCell.tsx +53 -0
  367. package/src/month-calendar/MonthCalendarRoot.tsx +153 -0
  368. package/src/month-calendar/MonthCalendarYearCell.tsx +54 -0
  369. package/src/month-calendar/context.tsx +30 -0
  370. package/src/month-calendar/index.ts +6 -0
  371. package/src/month-picker/MonthPickerRoot.tsx +183 -0
  372. package/src/month-picker/context.tsx +31 -0
  373. package/src/month-picker/index.ts +3 -0
  374. package/src/overlay/useAnchorPosition.ts +25 -11
  375. package/src/overlay/useDismissOverlay.web.ts +10 -2
  376. package/src/overlay/useOverlayPosition.ts +5 -2
  377. package/src/portal/portal.tsx +79 -2
  378. package/src/range-calendar/RangeCalendarRoot.tsx +213 -0
  379. package/src/range-calendar/context.tsx +33 -0
  380. package/src/range-calendar/index.ts +4 -0
  381. package/src/select/SelectRoot.tsx +1 -1
  382. package/src/select/types.ts +2 -1
  383. package/src/utils/accessibleLabel.ts +22 -0
  384. package/src/utils/createPortal.web.ts +18 -0
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DateFieldSegment = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _formatters = require("@cdx-ui/formatters");
10
+ var _slot = require("../slot");
11
+ var _dataAttributes = require("../utils/dataAttributes");
12
+ var _context = require("./context");
13
+ var _segmentIndex = require("./segmentIndex");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ const DateFieldSegment = exports.DateFieldSegment = /*#__PURE__*/(0, _react.forwardRef)(({
16
+ asChild,
17
+ segment,
18
+ segmentIndex: segmentIndexProp,
19
+ style,
20
+ ...props
21
+ }, ref) => {
22
+ const contextSegmentIndex = (0, _segmentIndex.useDateFieldSegmentIndex)();
23
+ const segmentIndex = segmentIndexProp ?? contextSegmentIndex;
24
+ const {
25
+ disabled,
26
+ readOnly,
27
+ focusedSegmentIndex,
28
+ focusSegment,
29
+ getSegmentDisplayText,
30
+ labels
31
+ } = (0, _context.useDateFieldContext)();
32
+ const isFocused = focusedSegmentIndex === segmentIndex;
33
+ const displayText = getSegmentDisplayText(segmentIndex);
34
+ const handlePress = (0, _react.useCallback)(() => {
35
+ focusSegment(segmentIndex);
36
+ }, [focusSegment, segmentIndex]);
37
+
38
+ // On web, prevent the Pressable from taking focus so the hidden TextInput
39
+ // can keep keyboard ownership after the tap.
40
+ const preventWebFocusSteal = (0, _react.useCallback)(event => {
41
+ if (_reactNative.Platform.OS !== 'web') {
42
+ return;
43
+ }
44
+ const maybeDom = event;
45
+ maybeDom.preventDefault?.();
46
+ }, []);
47
+ const dataProps = (0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
48
+ slot: 'date-field-segment',
49
+ focus: isFocused,
50
+ placeholder: segment.text === displayText && !segment.value
51
+ }));
52
+ if (segment.isEditable && !asChild) {
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
54
+ accessibilityRole: "spinbutton",
55
+ accessibilityLabel: (0, _formatters.getDateSegmentAccessibilityLabel)(segment.type, labels),
56
+ accessibilityState: {
57
+ disabled,
58
+ selected: isFocused
59
+ },
60
+ disabled: disabled || readOnly,
61
+ onPress: handlePress,
62
+ onPressIn: preventWebFocusSteal
63
+ // Keep segments above the invisible keyboard input for hit-testing.
64
+ ,
65
+ style: [{
66
+ zIndex: 1
67
+ }, style],
68
+ ...props,
69
+ ...dataProps,
70
+ ...(_reactNative.Platform.OS === 'web' ? {
71
+ onMouseDown: e => {
72
+ e.preventDefault();
73
+ }
74
+ } : null),
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
76
+ children: displayText
77
+ })
78
+ });
79
+ }
80
+ const Comp = asChild ? _slot.Slot : _reactNative.Text;
81
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
82
+ ref: ref,
83
+ style: style,
84
+ ...props,
85
+ ...dataProps,
86
+ accessibilityRole: "text",
87
+ importantForAccessibility: "no",
88
+ children: displayText
89
+ });
90
+ });
91
+ DateFieldSegment.displayName = 'DateFieldSegment';
92
+ //# sourceMappingURL=DateFieldSegment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_formatters","_slot","_dataAttributes","_context","_segmentIndex","_jsxRuntime","DateFieldSegment","exports","forwardRef","asChild","segment","segmentIndex","segmentIndexProp","style","props","ref","contextSegmentIndex","useDateFieldSegmentIndex","disabled","readOnly","focusedSegmentIndex","focusSegment","getSegmentDisplayText","labels","useDateFieldContext","isFocused","displayText","handlePress","useCallback","preventWebFocusSteal","event","Platform","OS","maybeDom","preventDefault","dataProps","mergeDataAttributes","dataAttributes","slot","focus","placeholder","text","value","isEditable","jsx","Pressable","accessibilityRole","accessibilityLabel","getDateSegmentAccessibilityLabel","type","accessibilityState","selected","onPress","onPressIn","zIndex","onMouseDown","e","children","Text","Comp","Slot","importantForAccessibility","displayName"],"sourceRoot":"../../../src","sources":["date-field/DateFieldSegment.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DateFieldContext = void 0;
7
+ exports.useDateFieldContext = useDateFieldContext;
8
+ var _react = require("react");
9
+ /** A `DateField` carries a `DateId` in date mode and a `MonthId` in month mode. */
10
+
11
+ const DateFieldContext = exports.DateFieldContext = /*#__PURE__*/(0, _react.createContext)(null);
12
+ function useDateFieldContext() {
13
+ const ctx = (0, _react.useContext)(DateFieldContext);
14
+ if (!ctx) {
15
+ throw new Error('DateField compound components must be used within DateFieldRoot');
16
+ }
17
+ return ctx;
18
+ }
19
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","DateFieldContext","exports","createContext","useDateFieldContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["date-field/context.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASA;;AA8BO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAG,IAAAE,oBAAa,EAA+B,IAAI,CAAC;AAE1E,SAASC,mBAAmBA,CAAA,EAA0B;EAC3D,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACL,gBAAgB,CAAC;EACxC,IAAI,CAACI,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,iEAAiE,CAAC;EACpF;EACA,OAAOF,GAAG;AACZ","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DateFieldInput", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DateFieldInput.DateFieldInput;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "DateFieldRoot", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _DateFieldRoot.DateFieldRoot;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "DateFieldSegment", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _DateFieldSegment.DateFieldSegment;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useDateFieldContext", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _context.useDateFieldContext;
28
+ }
29
+ });
30
+ var _DateFieldRoot = require("./DateFieldRoot");
31
+ var _DateFieldInput = require("./DateFieldInput");
32
+ var _DateFieldSegment = require("./DateFieldSegment");
33
+ var _context = require("./context");
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DateFieldRoot","require","_DateFieldInput","_DateFieldSegment","_context"],"sourceRoot":"../../../src","sources":["date-field/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DateFieldSegmentIndexProvider = DateFieldSegmentIndexProvider;
7
+ exports.useDateFieldSegmentIndex = useDateFieldSegmentIndex;
8
+ var _react = require("react");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ const SegmentIndexContext = /*#__PURE__*/(0, _react.createContext)(0);
11
+ function DateFieldSegmentIndexProvider({
12
+ index,
13
+ children
14
+ }) {
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentIndexContext.Provider, {
16
+ value: index,
17
+ children: children
18
+ });
19
+ }
20
+ function useDateFieldSegmentIndex() {
21
+ return (0, _react.useContext)(SegmentIndexContext);
22
+ }
23
+ //# sourceMappingURL=segmentIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_jsxRuntime","SegmentIndexContext","createContext","DateFieldSegmentIndexProvider","index","children","jsx","Provider","value","useDateFieldSegmentIndex","useContext"],"sourceRoot":"../../../src","sources":["date-field/segmentIndex.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkE,IAAAC,WAAA,GAAAD,OAAA;AAElE,MAAME,mBAAmB,gBAAG,IAAAC,oBAAa,EAAS,CAAC,CAAC;AAE7C,SAASC,6BAA6BA,CAAC;EAC5CC,KAAK;EACLC;AAIF,CAAC,EAAE;EACD,oBAAO,IAAAL,WAAA,CAAAM,GAAA,EAACL,mBAAmB,CAACM,QAAQ;IAACC,KAAK,EAAEJ,KAAM;IAAAC,QAAA,EAAEA;EAAQ,CAA+B,CAAC;AAC9F;AAEO,SAASI,wBAAwBA,CAAA,EAAW;EACjD,OAAO,IAAAC,iBAAU,EAACT,mBAAmB,CAAC;AACxC","ignoreList":[]}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SEGMENT_MAX_LENGTH = void 0;
7
+ exports.applySegmentDigit = applySegmentDigit;
8
+ exports.commitDayPeriodDraft = commitDayPeriodDraft;
9
+ exports.commitSegmentDraft = commitSegmentDraft;
10
+ exports.findAdjacentEditableIndex = findAdjacentEditableIndex;
11
+ exports.getSegmentMaxLength = getSegmentMaxLength;
12
+ exports.isSegmentDraftComplete = isSegmentDraftComplete;
13
+ exports.toHour12 = toHour12;
14
+ exports.toHour24 = toHour24;
15
+ var _formatters = require("@cdx-ui/formatters");
16
+ const SEGMENT_MAX_LENGTH = exports.SEGMENT_MAX_LENGTH = {
17
+ month: 2,
18
+ day: 2,
19
+ year: 4,
20
+ hour: 2,
21
+ minute: 2,
22
+ second: 2,
23
+ dayPeriod: 1
24
+ };
25
+ function getSegmentMaxLength(type) {
26
+ return SEGMENT_MAX_LENGTH[type] ?? 4;
27
+ }
28
+
29
+ /** True when another digit cannot produce a different valid value (auto-advance). */
30
+ function isSegmentDraftComplete(type, draft, options) {
31
+ if (!draft) {
32
+ return false;
33
+ }
34
+ const maxLength = getSegmentMaxLength(type);
35
+ if (draft.length >= maxLength) {
36
+ return true;
37
+ }
38
+ const value = Number(draft);
39
+ if (Number.isNaN(value)) {
40
+ return false;
41
+ }
42
+
43
+ // Month 1-12: 2-9 cannot be a leading digit of a two-digit month.
44
+ if (type === 'month') {
45
+ return value >= 2 && value <= 9;
46
+ }
47
+
48
+ // Day 1-31: 4-9 cannot be a leading digit of a two-digit day.
49
+ if (type === 'day') {
50
+ return value >= 4 && value <= 9;
51
+ }
52
+ if (type === 'hour') {
53
+ if (options?.hour12) {
54
+ return value >= 2 && value <= 9;
55
+ }
56
+ // 0-23: 3-9 cannot start a valid two-digit hour.
57
+ return value >= 3 && value <= 9;
58
+ }
59
+
60
+ // Minute / second 0-59: 6-9 cannot start a valid two-digit value.
61
+ if (type === 'minute' || type === 'second') {
62
+ return value >= 6 && value <= 9;
63
+ }
64
+ return false;
65
+ }
66
+ function isValidSegmentDraft(type, draft, options) {
67
+ if (!draft) {
68
+ return true;
69
+ }
70
+ const value = Number(draft);
71
+ if (Number.isNaN(value)) {
72
+ return false;
73
+ }
74
+ if (type === 'month') {
75
+ if (draft.length === 1) {
76
+ return value >= 0 && value <= 9;
77
+ }
78
+ return value >= 1 && value <= 12;
79
+ }
80
+ if (type === 'day') {
81
+ if (draft.length === 1) {
82
+ return value >= 0 && value <= 9;
83
+ }
84
+ return value >= 1 && value <= 31;
85
+ }
86
+ if (type === 'year') {
87
+ return draft.length <= 4;
88
+ }
89
+ if (type === 'hour') {
90
+ if (draft.length === 1) {
91
+ return value >= 0 && value <= 9;
92
+ }
93
+ if (options?.hour12) {
94
+ return value >= 1 && value <= 12;
95
+ }
96
+ return value >= 0 && value <= 23;
97
+ }
98
+ if (type === 'minute' || type === 'second') {
99
+ if (draft.length === 1) {
100
+ return value >= 0 && value <= 9;
101
+ }
102
+ return value >= 0 && value <= 59;
103
+ }
104
+ return true;
105
+ }
106
+ function applySegmentDigit(draft, _committedText, isDraftDirty, digit, type, options) {
107
+ const maxLength = getSegmentMaxLength(type);
108
+ const base = isDraftDirty ? draft : '';
109
+ const candidate = `${base}${digit}`.slice(0, maxLength + 1);
110
+
111
+ // e.g. month "1" + "5" → invalid 15: commit 1, spill 5 into day.
112
+ if (base.length > 0 && candidate.length <= maxLength && !isValidSegmentDraft(type, candidate, options) && isValidSegmentDraft(type, base, options) && Number(base) >= 1) {
113
+ return {
114
+ draft: base,
115
+ isDraftDirty: true,
116
+ shouldCommit: true,
117
+ spillDigit: digit
118
+ };
119
+ }
120
+ const nextDraft = candidate.slice(0, maxLength);
121
+ if (!isValidSegmentDraft(type, nextDraft, options)) {
122
+ // Replace with the new digit alone (e.g. starting fresh).
123
+ return {
124
+ draft: digit,
125
+ isDraftDirty: true,
126
+ shouldCommit: isSegmentDraftComplete(type, digit, options)
127
+ };
128
+ }
129
+ return {
130
+ draft: nextDraft,
131
+ isDraftDirty: true,
132
+ shouldCommit: isSegmentDraftComplete(type, nextDraft, options)
133
+ };
134
+ }
135
+ function commitSegmentDraft(segment, draft) {
136
+ const parsed = (0, _formatters.parseDateSegment)(segment.type, draft || segment.text);
137
+ return parsed;
138
+ }
139
+
140
+ /** Parses day-period input (`A`/`P`/`1`/`2`) into 0 (AM) or 1 (PM). */
141
+ function commitDayPeriodDraft(draft) {
142
+ const trimmed = draft.trim().toLowerCase();
143
+ if (!trimmed) {
144
+ return null;
145
+ }
146
+ if (trimmed === 'a' || trimmed === 'am' || trimmed === '1') {
147
+ return 0;
148
+ }
149
+ if (trimmed === 'p' || trimmed === 'pm' || trimmed === '2') {
150
+ return 1;
151
+ }
152
+ return null;
153
+ }
154
+ function findAdjacentEditableIndex(segments, fromIndex, direction) {
155
+ for (let i = fromIndex + direction; direction < 0 ? i >= 0 : i < segments.length; i += direction) {
156
+ if (segments[i]?.isEditable) {
157
+ return i;
158
+ }
159
+ }
160
+ return null;
161
+ }
162
+ function toHour24(hour12, period) {
163
+ const normalized = hour12 % 12;
164
+ return normalized + (period === 1 ? 12 : 0);
165
+ }
166
+ function toHour12(hour24) {
167
+ return hour24 % 12 || 12;
168
+ }
169
+ //# sourceMappingURL=segmentKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_formatters","require","SEGMENT_MAX_LENGTH","exports","month","day","year","hour","minute","second","dayPeriod","getSegmentMaxLength","type","isSegmentDraftComplete","draft","options","maxLength","length","value","Number","isNaN","hour12","isValidSegmentDraft","applySegmentDigit","_committedText","isDraftDirty","digit","base","candidate","slice","shouldCommit","spillDigit","nextDraft","commitSegmentDraft","segment","parsed","parseDateSegment","text","commitDayPeriodDraft","trimmed","trim","toLowerCase","findAdjacentEditableIndex","segments","fromIndex","direction","i","isEditable","toHour24","period","normalized","toHour12","hour24"],"sourceRoot":"../../../src","sources":["date-field/segmentKeyboard.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["date-field/types.ts"],"mappings":"","ignoreList":[]}