@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,33 @@
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
+ import type { DateComponentLabels, DateFieldMode, DateId, DateSegment, MonthId } from '@cdx-ui/formatters';
3
+ /** A `DateField` carries a `DateId` in date mode and a `MonthId` in month mode. */
4
+ export type DateFieldValue = DateId | MonthId | undefined;
5
+ export interface DateFieldContextValue {
6
+ value: DateFieldValue;
7
+ onValueChange?: (value: DateFieldValue) => void;
8
+ mode: DateFieldMode;
9
+ locale: string;
10
+ labels: DateComponentLabels;
11
+ segments: DateSegment[];
12
+ disabled: boolean;
13
+ readOnly: boolean;
14
+ invalid: boolean;
15
+ focusedSegmentIndex: number | null;
16
+ focusSegment: (index: number) => void;
17
+ blurSegment: (index: number) => void;
18
+ focusNextEditableSegment: () => void;
19
+ focusPrevEditableSegment: () => void;
20
+ handleSegmentDigit: (digits: string) => void;
21
+ /** Sync draft from the hidden TextInput (append / replace / delete). */
22
+ handleSegmentInputChange: (raw: string) => void;
23
+ handleSegmentBackspace: () => void;
24
+ /** Current draft text for the focused segment (digits while editing). */
25
+ segmentDraft: string;
26
+ getSegmentDisplayText: (index: number) => string;
27
+ onSegmentChange: (segmentType: DateSegment['type'], value: number) => void;
28
+ /** @deprecated Use focusSegment / blurSegment */
29
+ setFocusedSegmentIndex?: Dispatch<SetStateAction<number | null>>;
30
+ }
31
+ export declare const DateFieldContext: import("react").Context<DateFieldContextValue | null>;
32
+ export declare function useDateFieldContext(): DateFieldContextValue;
33
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/date-field/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,MAAM,EACN,WAAW,EACX,OAAO,EACR,MAAM,oBAAoB,CAAC;AAE5B,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,wBAAwB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,eAAe,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,gBAAgB,uDAAoD,CAAC;AAElF,wBAAgB,mBAAmB,IAAI,qBAAqB,CAM3D"}
@@ -0,0 +1,9 @@
1
+ export { DateFieldRoot } from './DateFieldRoot';
2
+ export type { DateFieldRootProps } from './DateFieldRoot';
3
+ export { DateFieldInput } from './DateFieldInput';
4
+ export type { DateFieldInputProps } from './DateFieldInput';
5
+ export { DateFieldSegment } from './DateFieldSegment';
6
+ export type { DateFieldSegmentProps } from './DateFieldSegment';
7
+ export { useDateFieldContext } from './context';
8
+ export type * from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/date-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from 'react';
2
+ export declare function DateFieldSegmentIndexProvider({ index, children, }: {
3
+ index: number;
4
+ children: ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function useDateFieldSegmentIndex(): number;
7
+ //# sourceMappingURL=segmentIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentIndex.d.ts","sourceRoot":"","sources":["../../../src/date-field/segmentIndex.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,wBAAgB,6BAA6B,CAAC,EAC5C,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAEA;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
@@ -0,0 +1,23 @@
1
+ import { type DateSegment, type DateSegmentType } from '@cdx-ui/formatters';
2
+ export interface SegmentKeyboardOptions {
3
+ /** When true, hour segments are 1–12; otherwise 0–23. */
4
+ hour12?: boolean;
5
+ }
6
+ export declare const SEGMENT_MAX_LENGTH: Partial<Record<DateSegmentType, number>>;
7
+ export declare function getSegmentMaxLength(type: DateSegmentType): number;
8
+ /** True when another digit cannot produce a different valid value (auto-advance). */
9
+ export declare function isSegmentDraftComplete(type: DateSegmentType, draft: string, options?: SegmentKeyboardOptions): boolean;
10
+ export declare function applySegmentDigit(draft: string, _committedText: string, isDraftDirty: boolean, digit: string, type: DateSegmentType, options?: SegmentKeyboardOptions): {
11
+ draft: string;
12
+ isDraftDirty: boolean;
13
+ shouldCommit: boolean;
14
+ /** When set, commit `draft` then apply this digit to the next segment. */
15
+ spillDigit?: string;
16
+ };
17
+ export declare function commitSegmentDraft(segment: DateSegment, draft: string): number | null;
18
+ /** Parses day-period input (`A`/`P`/`1`/`2`) into 0 (AM) or 1 (PM). */
19
+ export declare function commitDayPeriodDraft(draft: string): number | null;
20
+ export declare function findAdjacentEditableIndex(segments: DateSegment[], fromIndex: number, direction: -1 | 1): number | null;
21
+ export declare function toHour24(hour12: number, period: number): number;
22
+ export declare function toHour12(hour24: number): number;
23
+ //# sourceMappingURL=segmentKeyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentKeyboard.d.ts","sourceRoot":"","sources":["../../../src/date-field/segmentKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE9F,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAQvE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEjE;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAsCT;AA+CD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,sBAAsB,GAC/B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAoCA;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrF;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjE;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAChB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,38 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import type { DateComponentLabels, DateFieldMode, DateId, MonthId } from '@cdx-ui/formatters';
3
+ export interface IDateFieldProps {
4
+ /**
5
+ * Controlled value: a `DateId` (`YYYY-MM-DD`) in date mode, or a `MonthId`
6
+ * (`YYYY-MM-01`) in month mode. Build one with `dateId(...)` / `monthId(...)`
7
+ * from `@cdx-ui/formatters` — a bare string will not type-check.
8
+ */
9
+ value?: DateId | MonthId;
10
+ /** Uncontrolled initial value, in the same format as `value`. */
11
+ defaultValue?: DateId | MonthId;
12
+ /** Called with the new value once every segment is filled, or `undefined` when the field is cleared. */
13
+ onValueChange?: (value: DateId | MonthId | undefined) => void;
14
+ /** Which segments to render: `date` shows month, day, and year; `month` shows month and year only. */
15
+ mode?: DateFieldMode;
16
+ /** BCP-47 locale that controls segment order and separators. Defaults to `en-US`. */
17
+ locale?: string;
18
+ /** Overrides the accessible labels announced for each segment. */
19
+ labels?: Partial<DateComponentLabels>;
20
+ isDisabled?: boolean;
21
+ isReadOnly?: boolean;
22
+ isInvalid?: boolean;
23
+ isRequired?: boolean;
24
+ }
25
+ export interface IDateFieldInputProps extends Omit<ViewProps, 'children'> {
26
+ children: (segment: import('@cdx-ui/formatters').DateSegment) => React.ReactNode;
27
+ /**
28
+ * Range-composition hint. Only meaningful when a `DateField.Input` is rendered
29
+ * inside a `DateRangePicker` — it binds the input to the range's start or end
30
+ * endpoint via the internal range bridge. Ignored for a standalone `DateField`.
31
+ */
32
+ slot?: 'start' | 'end';
33
+ }
34
+ export interface IDateFieldSegmentProps {
35
+ segment: import('@cdx-ui/formatters').DateSegment;
36
+ segmentIndex?: number;
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/date-field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,wGAAwG;IACxG,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,sGAAsG;IACtG,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACvE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,oBAAoB,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,oBAAoB,EAAE,WAAW,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,26 @@
1
+ import { type DateFieldMode, type DateSegment } from '@cdx-ui/formatters';
2
+ import type { DateFieldValue } from './context';
3
+ interface UseDateFieldSegmentStateOptions {
4
+ mode: DateFieldMode;
5
+ segments: DateSegment[];
6
+ value: DateFieldValue;
7
+ setValue: (value: DateFieldValue) => void;
8
+ disabled: boolean;
9
+ readOnly: boolean;
10
+ }
11
+ export declare function useDateFieldSegmentState({ mode, segments, value, setValue, disabled, readOnly, }: UseDateFieldSegmentStateOptions): {
12
+ focusedSegmentIndex: number | null;
13
+ segmentDraft: string;
14
+ setFocusedSegmentIndex: import("react").Dispatch<import("react").SetStateAction<number | null>>;
15
+ focusSegment: (index: number) => void;
16
+ blurSegment: (index: number) => void;
17
+ focusNextEditableSegment: () => void;
18
+ focusPrevEditableSegment: () => void;
19
+ handleSegmentDigit: (input: string) => void;
20
+ handleSegmentInputChange: (raw: string) => void;
21
+ handleSegmentBackspace: () => void;
22
+ getSegmentDisplayText: (index: number) => string;
23
+ onSegmentChange: (segmentType: DateSegment["type"], segmentValue: number) => void;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=useDateFieldSegmentState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDateFieldSegmentState.d.ts","sourceRoot":"","sources":["../../../src/date-field/useDateFieldSegmentState.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAShD,UAAU,+BAA+B;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAqDD,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,+BAA+B;;;;0BAwItB,MAAM;yBAcN,MAAM;;;gCA2CN,MAAM;oCAkDR,MAAM;;mCAiFJ,MAAM;mCAxPA,WAAW,CAAC,MAAM,CAAC,gBAAgB,MAAM;EAgS1D"}
@@ -0,0 +1,4 @@
1
+ import type { DateRangePickerContextValue } from '../date-range-picker/context';
2
+ import type { DateFieldContextValue } from './context';
3
+ export declare function useRangeDateFieldBridge(slot: 'start' | 'end', rangeCtx: DateRangePickerContextValue | null): DateFieldContextValue | null;
4
+ //# sourceMappingURL=useRangeDateFieldBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRangeDateFieldBridge.d.ts","sourceRoot":"","sources":["../../../src/date-field/useRangeDateFieldBridge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,WAAW,CAAC;AAKvE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,GAAG,KAAK,EACrB,QAAQ,EAAE,2BAA2B,GAAG,IAAI,GAC3C,qBAAqB,GAAG,IAAI,CAkE9B"}
@@ -0,0 +1,28 @@
1
+ import { type ReactNode } from 'react';
2
+ import { View, type ViewProps } from 'react-native';
3
+ import type { DateComponentLabels, DateId } from '@cdx-ui/formatters';
4
+ export interface DatePickerRootProps extends Omit<ViewProps, 'children'> {
5
+ asChild?: boolean;
6
+ children?: ReactNode;
7
+ className?: string;
8
+ value?: DateId;
9
+ defaultValue?: DateId;
10
+ onValueChange?: (value: DateId | undefined) => void;
11
+ /** Controlled open state. Use `defaultOpen` for the uncontrolled variant. */
12
+ isOpen?: boolean;
13
+ defaultOpen?: boolean;
14
+ onOpenChange?: (open: boolean) => void;
15
+ isDisabled?: boolean;
16
+ isReadOnly?: boolean;
17
+ isInvalid?: boolean;
18
+ isRequired?: boolean;
19
+ /** Earliest selectable date, applied to the embedded calendar. Build with `dateId(...)`. */
20
+ minValue?: DateId;
21
+ /** Latest selectable date, applied to the embedded calendar. Build with `dateId(...)`. */
22
+ maxValue?: DateId;
23
+ name?: string;
24
+ locale?: string;
25
+ labels?: Partial<DateComponentLabels>;
26
+ }
27
+ export declare const DatePickerRoot: import("react").ForwardRefExoticComponent<DatePickerRootProps & import("react").RefAttributes<View>>;
28
+ //# sourceMappingURL=DatePickerRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePickerRoot.d.ts","sourceRoot":"","sources":["../../../src/date-picker/DatePickerRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQtE,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,sGA6I1B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type RefObject } from 'react';
2
+ import type { View } from 'react-native';
3
+ import type { DateComponentLabels, DateId } from '@cdx-ui/formatters';
4
+ export type PickerSurfaceType = 'popover' | 'dialog' | 'bottomSheet';
5
+ export interface DatePickerContextValue {
6
+ value?: DateId;
7
+ onValueChange?: (value: DateId | undefined) => void;
8
+ draftValue?: DateId;
9
+ setDraftValue: (value: DateId | undefined) => void;
10
+ open: boolean;
11
+ setOpen: (open: boolean) => void;
12
+ disabled: boolean;
13
+ minValue?: DateId;
14
+ maxValue?: DateId;
15
+ locale: string;
16
+ labels: DateComponentLabels;
17
+ registerSurface: (type: PickerSurfaceType) => void;
18
+ /** Measured anchor for popover placement (picker root view). */
19
+ anchorRef: RefObject<View | null>;
20
+ /** Trigger element — excluded from outside-dismiss handling. */
21
+ triggerRef: RefObject<View | null>;
22
+ }
23
+ export declare const DatePickerContext: import("react").Context<DatePickerContextValue | null>;
24
+ export declare function useDatePickerContext(): DatePickerContextValue;
25
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/date-picker/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,gEAAgE;IAChE,SAAS,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAClC,gEAAgE;IAChE,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,wDAAqD,CAAC;AAEpF,wBAAgB,oBAAoB,IAAI,sBAAsB,CAM7D"}
@@ -0,0 +1,5 @@
1
+ export { DatePickerRoot } from './DatePickerRoot';
2
+ export type { DatePickerRootProps } from './DatePickerRoot';
3
+ export { DatePickerContext, useDatePickerContext, type DatePickerContextValue } from './context';
4
+ export type { PickerSurfaceType } from './context';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/date-picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACjG,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type ReactNode } from 'react';
2
+ import { View, type ViewProps } from 'react-native';
3
+ import type { DateComponentLabels } from '@cdx-ui/formatters';
4
+ import type { RangeCalendarFocus } from '../range-calendar/context';
5
+ import { type DateRangeValue } from './context';
6
+ export interface DateRangePickerRootProps extends Omit<ViewProps, 'children'> {
7
+ asChild?: boolean;
8
+ children?: ReactNode;
9
+ className?: string;
10
+ /**
11
+ * Controlled range value as `{ startId, endId? }`. Build the ids with
12
+ * `dateId(...)` from `@cdx-ui/formatters` — a bare string will not type-check.
13
+ *
14
+ * @example
15
+ * value={{ startId: dateId('2026-08-01'), endId: dateId('2026-08-07') }}
16
+ */
17
+ value?: DateRangeValue;
18
+ /** Uncontrolled initial range, in the same shape as `value`. */
19
+ defaultValue?: DateRangeValue;
20
+ /**
21
+ * Called as the range changes. Emits `{ startId, endId? }` during selection —
22
+ * a **partial** range (with `endId` undefined) is emitted after the first
23
+ * endpoint is picked — and `undefined` when the range is fully cleared.
24
+ */
25
+ onValueChange?: (value: DateRangeValue | undefined) => void;
26
+ focusedField?: RangeCalendarFocus;
27
+ defaultFocusedField?: RangeCalendarFocus;
28
+ onFocusedFieldChange?: (field: RangeCalendarFocus) => void;
29
+ /** Controlled open state. Use `defaultOpen` for the uncontrolled variant. */
30
+ isOpen?: boolean;
31
+ defaultOpen?: boolean;
32
+ onOpenChange?: (open: boolean) => void;
33
+ isDisabled?: boolean;
34
+ isReadOnly?: boolean;
35
+ isInvalid?: boolean;
36
+ isRequired?: boolean;
37
+ locale?: string;
38
+ labels?: Partial<DateComponentLabels>;
39
+ /** Form field name used when the selected range is submitted. */
40
+ name?: string;
41
+ }
42
+ export declare const DateRangePickerRoot: import("react").ForwardRefExoticComponent<DateRangePickerRootProps & import("react").RefAttributes<View>>;
43
+ //# sourceMappingURL=DateRangePickerRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangePickerRoot.d.ts","sourceRoot":"","sources":["../../../src/date-range-picker/DateRangePickerRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAU,MAAM,oBAAoB,CAAC;AAMtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAExE,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,gEAAgE;IAChE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,2GAgL/B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type RefObject } from 'react';
2
+ import type { View } from 'react-native';
3
+ import type { DateComponentLabels, DateId } from '@cdx-ui/formatters';
4
+ import type { RangeCalendarFocus } from '../range-calendar/context';
5
+ import type { PickerSurfaceType } from '../date-picker/context';
6
+ /**
7
+ * A date range value. `endId` is optional: while the user is mid-selection (only
8
+ * the first endpoint chosen) the range carries `startId` alone. Build the ids
9
+ * with `dateId(...)` from `@cdx-ui/formatters`.
10
+ */
11
+ export interface DateRangeValue {
12
+ startId: DateId;
13
+ endId?: DateId;
14
+ }
15
+ export interface DateRangePickerContextValue {
16
+ startValue?: DateId;
17
+ endValue?: DateId;
18
+ onRangeChange?: (range: DateRangeValue | undefined) => void;
19
+ draftStart?: DateId;
20
+ draftEnd?: DateId;
21
+ /** Sets both draft ends; omit a key to leave it, pass `null` to clear. */
22
+ setDraftRange: (range: {
23
+ startId?: DateId | null;
24
+ endId?: DateId | null;
25
+ }) => void;
26
+ focusedField: RangeCalendarFocus;
27
+ setFocusedField: (field: RangeCalendarFocus) => void;
28
+ open: boolean;
29
+ setOpen: (open: boolean) => void;
30
+ disabled: boolean;
31
+ readOnly: boolean;
32
+ invalid: boolean;
33
+ required: boolean;
34
+ locale: string;
35
+ labels: DateComponentLabels;
36
+ registerSurface: (type: PickerSurfaceType) => void;
37
+ anchorRef: RefObject<View | null>;
38
+ triggerRef: RefObject<View | null>;
39
+ }
40
+ export declare const DateRangePickerContext: import("react").Context<DateRangePickerContextValue | null>;
41
+ export declare function useDateRangePickerContext(): DateRangePickerContextValue;
42
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/date-range-picker/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,YAAY,EAAE,kBAAkB,CAAC;IACjC,eAAe,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,SAAS,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAClC,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB,6DAA0D,CAAC;AAE9F,wBAAgB,yBAAyB,IAAI,2BAA2B,CAMvE"}
@@ -0,0 +1,4 @@
1
+ export { DateRangePickerRoot } from './DateRangePickerRoot';
2
+ export type { DateRangePickerRootProps } from './DateRangePickerRoot';
3
+ export { DateRangePickerContext, useDateRangePickerContext, type DateRangePickerContextValue, type DateRangeValue, } from './context';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/date-range-picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,2BAA2B,EAChC,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function DateTimeFieldHiddenInput({ accessibilityLabel }: {
2
+ accessibilityLabel: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=DateTimeFieldHiddenInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeFieldHiddenInput.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/DateTimeFieldHiddenInput.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,wBAAwB,CAAC,EAAE,kBAAkB,EAAE,EAAE;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,2CAmI9F"}
@@ -0,0 +1,10 @@
1
+ import { View } from 'react-native';
2
+ import type { DateSegment } from '@cdx-ui/formatters';
3
+ export interface DateTimeFieldInputProps {
4
+ children: (segment: DateSegment) => React.ReactNode;
5
+ asChild?: boolean;
6
+ className?: string;
7
+ style?: import('react-native').StyleProp<import('react-native').ViewStyle>;
8
+ }
9
+ export declare const DateTimeFieldInput: import("react").ForwardRefExoticComponent<DateTimeFieldInputProps & Omit<import("react-native").ViewProps, "children"> & import("react").RefAttributes<View>>;
10
+ //# sourceMappingURL=DateTimeFieldInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeFieldInput.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/DateTimeFieldInput.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,cAAc,EAAE,SAAS,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kBAAkB,+JAoG7B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type ReactNode } from 'react';
2
+ import { View, type ViewProps } from 'react-native';
3
+ import { type DateComponentLabels, type DateTimeGranularity, type DateTimeId } from '@cdx-ui/formatters';
4
+ export interface DateTimeFieldRootProps extends Omit<ViewProps, 'children'> {
5
+ asChild?: boolean;
6
+ children?: ReactNode;
7
+ className?: string;
8
+ value?: DateTimeId;
9
+ defaultValue?: DateTimeId;
10
+ /** Called with the new `DateTimeId`, or `undefined` when the field is cleared. */
11
+ onValueChange?: (value: DateTimeId | undefined) => void;
12
+ granularity?: DateTimeGranularity;
13
+ locale?: string;
14
+ /** Force a 12- or 24-hour clock. Defaults to the locale's convention when omitted. */
15
+ hour12?: boolean;
16
+ labels?: Partial<DateComponentLabels>;
17
+ isDisabled?: boolean;
18
+ isReadOnly?: boolean;
19
+ isInvalid?: boolean;
20
+ isRequired?: boolean;
21
+ }
22
+ export declare const DateTimeFieldRoot: import("react").ForwardRefExoticComponent<DateTimeFieldRootProps & import("react").RefAttributes<View>>;
23
+ export declare function applyDateTimePartChange(current: DateTimeId | undefined, part: 'date' | 'hour' | 'minute' | 'second' | 'period', partValue: string | number): DateTimeId;
24
+ //# sourceMappingURL=DateTimeFieldRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeFieldRoot.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/DateTimeFieldRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,kFAAkF;IAClF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,yGA0G7B,CAAC;AASF,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACtD,SAAS,EAAE,MAAM,GAAG,MAAM,GACzB,UAAU,CAoDZ"}
@@ -0,0 +1,10 @@
1
+ import { Text, type ViewProps } from 'react-native';
2
+ import { type DateSegment } from '@cdx-ui/formatters';
3
+ export interface DateTimeFieldSegmentProps extends Omit<ViewProps, 'children'> {
4
+ segment: DateSegment;
5
+ asChild?: boolean;
6
+ segmentIndex?: number;
7
+ className?: string;
8
+ }
9
+ export declare const DateTimeFieldSegment: import("react").ForwardRefExoticComponent<DateTimeFieldSegmentProps & import("react").RefAttributes<Text>>;
10
+ //# sourceMappingURL=DateTimeFieldSegment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeFieldSegment.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/DateTimeFieldSegment.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,IAAI,EAEJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMxF,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC5E,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,4GAuE/B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { DateComponentLabels, DateSegment, DateTimeGranularity, DateTimeId } from '@cdx-ui/formatters';
2
+ export interface DateTimeFieldContextValue {
3
+ value?: DateTimeId;
4
+ onValueChange?: (value: DateTimeId | undefined) => void;
5
+ granularity: DateTimeGranularity;
6
+ locale: string;
7
+ hour12: boolean;
8
+ labels: DateComponentLabels;
9
+ segments: DateSegment[];
10
+ disabled: boolean;
11
+ readOnly: boolean;
12
+ invalid: boolean;
13
+ focusedSegmentIndex: number | null;
14
+ focusSegment: (index: number) => void;
15
+ blurSegment: (index: number) => void;
16
+ focusNextEditableSegment: () => void;
17
+ focusPrevEditableSegment: () => void;
18
+ handleSegmentDigit: (digits: string) => void;
19
+ handleSegmentInputChange: (raw: string) => void;
20
+ handleSegmentBackspace: () => void;
21
+ handleDayPeriodKey: (key: string) => void;
22
+ segmentDraft: string;
23
+ getSegmentDisplayText: (index: number) => string;
24
+ }
25
+ export declare const DateTimeFieldContext: import("react").Context<DateTimeFieldContextValue | null>;
26
+ export declare function useDateTimeFieldContext(): DateTimeFieldContextValue;
27
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,wBAAwB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAED,eAAO,MAAM,oBAAoB,2DAAwD,CAAC;AAE1F,wBAAgB,uBAAuB,IAAI,yBAAyB,CAMnE"}
@@ -0,0 +1,8 @@
1
+ export { DateTimeFieldRoot, applyDateTimePartChange } from './DateTimeFieldRoot';
2
+ export type { DateTimeFieldRootProps } from './DateTimeFieldRoot';
3
+ export { DateTimeFieldInput } from './DateTimeFieldInput';
4
+ export type { DateTimeFieldInputProps } from './DateTimeFieldInput';
5
+ export { DateTimeFieldSegment } from './DateTimeFieldSegment';
6
+ export type { DateTimeFieldSegmentProps } from './DateTimeFieldSegment';
7
+ export { useDateTimeFieldContext } from './context';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type DateSegment, type DateTimeGranularity, type DateTimeId } from '@cdx-ui/formatters';
2
+ interface UseDateTimeFieldSegmentStateOptions {
3
+ granularity: DateTimeGranularity;
4
+ hour12: boolean;
5
+ locale: string;
6
+ segments: DateSegment[];
7
+ value: DateTimeId | undefined;
8
+ setValue: (value: DateTimeId | undefined) => void;
9
+ disabled: boolean;
10
+ readOnly: boolean;
11
+ }
12
+ export declare function useDateTimeFieldSegmentState({ granularity, hour12, locale, segments, value, setValue, disabled, readOnly, }: UseDateTimeFieldSegmentStateOptions): {
13
+ focusedSegmentIndex: number | null;
14
+ segmentDraft: string;
15
+ focusSegment: (index: number) => void;
16
+ blurSegment: (index: number) => void;
17
+ focusNextEditableSegment: () => void;
18
+ focusPrevEditableSegment: () => void;
19
+ handleSegmentDigit: (input: string) => void;
20
+ handleSegmentInputChange: (raw: string) => void;
21
+ handleSegmentBackspace: () => void;
22
+ handleDayPeriodKey: (key: string) => void;
23
+ getSegmentDisplayText: (index: number) => string;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=useDateTimeFieldSegmentState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDateTimeFieldSegmentState.d.ts","sourceRoot":"","sources":["../../../src/date-time-field/useDateTimeFieldSegmentState.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,WAAW,EAEhB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAa5B,UAAU,mCAAmC;IAC3C,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA2GD,wBAAgB,4BAA4B,CAAC,EAC3C,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,mCAAmC;;;0BA8M1B,MAAM;yBAcN,MAAM;;;gCA6DN,MAAM;oCAoFR,MAAM;;8BAzBN,MAAM;mCAgIJ,MAAM;EAqDjB"}
@@ -0,0 +1,42 @@
1
+ import { type ReactNode } from 'react';
2
+ import { View, type ViewProps } from 'react-native';
3
+ import { type DateTimeGranularity, type DateTimeId } from '@cdx-ui/formatters';
4
+ import { type DateTimeListColumnType } from './context';
5
+ /** Row height for wheel columns (must match styled component). */
6
+ export declare const DATE_TIME_LIST_ITEM_HEIGHT = 40;
7
+ /** Odd count so one row sits exactly in the center. */
8
+ export declare const DATE_TIME_LIST_VISIBLE_ITEMS = 5;
9
+ export declare const DATE_TIME_LIST_HEIGHT: number;
10
+ /** Top/bottom padding so first/last items can snap into the center highlight. */
11
+ export declare const DATE_TIME_LIST_EDGE_PAD: number;
12
+ export interface DateTimeListRootProps extends Omit<ViewProps, 'children'> {
13
+ asChild?: boolean;
14
+ children?: ReactNode;
15
+ className?: string;
16
+ value?: DateTimeId;
17
+ defaultValue?: DateTimeId;
18
+ onValueChange?: (value: DateTimeId) => void;
19
+ onUserInteract?: () => void;
20
+ granularity?: DateTimeGranularity;
21
+ locale?: string;
22
+ /** Force a 12- or 24-hour clock. Defaults to the locale's convention when omitted. */
23
+ hour12?: boolean;
24
+ disabled?: boolean;
25
+ /** Earliest selectable date-time. Dates before it are hidden; times are clamped. Build with `dateTimeId(...)`. */
26
+ minValue?: DateTimeId;
27
+ /** Latest selectable date-time. Dates after it are hidden; times are clamped. Build with `dateTimeId(...)`. */
28
+ maxValue?: DateTimeId;
29
+ }
30
+ export declare const DateTimeListRoot: import("react").ForwardRefExoticComponent<DateTimeListRootProps & import("react").RefAttributes<View>>;
31
+ export interface DateTimeListColumnProps extends Omit<ViewProps, 'children'> {
32
+ column: DateTimeListColumnType;
33
+ asChild?: boolean;
34
+ className?: string;
35
+ children?: (option: {
36
+ value: string | number;
37
+ label: string;
38
+ selected: boolean;
39
+ }) => React.ReactNode;
40
+ }
41
+ export declare const DateTimeListColumn: import("react").ForwardRefExoticComponent<DateTimeListColumnProps & import("react").RefAttributes<View>>;
42
+ //# sourceMappingURL=DateTimeListRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeListRoot.d.ts","sourceRoot":"","sources":["../../../src/date-time-list/DateTimeListRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAKL,IAAI,EACJ,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAcL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,WAAW,CAAC;AASnB,kEAAkE;AAClE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,uDAAuD;AACvD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,eAAO,MAAM,qBAAqB,QAA4D,CAAC;AAE/F,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,QAA2D,CAAC;AAoBhG,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kHAAkH;IAClH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,wGAwF5B,CAAC;AAgEF,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC1E,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,0GAsQ9B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { DateTimeGranularity, DateTimeId } from '@cdx-ui/formatters';
2
+ export type DateTimeListColumnType = 'date' | 'hour' | 'minute' | 'second' | 'period';
3
+ export interface DateTimeListContextValue {
4
+ value?: DateTimeId;
5
+ onValueChange?: (value: DateTimeId) => void;
6
+ onUserInteract?: () => void;
7
+ granularity: DateTimeGranularity;
8
+ locale: string;
9
+ hour12: boolean;
10
+ disabled: boolean;
11
+ /** Earliest selectable date-time (`YYYY-MM-DDTHH:MM`). */
12
+ minValue?: DateTimeId;
13
+ /** Latest selectable date-time (`YYYY-MM-DDTHH:MM`). */
14
+ maxValue?: DateTimeId;
15
+ }
16
+ export declare const DateTimeListContext: import("react").Context<DateTimeListContextValue | null>;
17
+ export declare function useDateTimeListContext(): DateTimeListContextValue;
18
+ export interface DateTimeListColumnContextValue {
19
+ column: DateTimeListColumnType;
20
+ options: {
21
+ value: string | number;
22
+ label: string;
23
+ }[];
24
+ selectedValue?: string | number;
25
+ onSelect: (value: string | number) => void;
26
+ }
27
+ export declare const DateTimeListColumnContext: import("react").Context<DateTimeListColumnContextValue | null>;
28
+ export declare function useDateTimeListColumnContext(): DateTimeListColumnContextValue;
29
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/date-time-list/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAC;AAExF,wBAAgB,sBAAsB,IAAI,wBAAwB,CAMjE;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,yBAAyB,gEAA6D,CAAC;AAEpG,wBAAgB,4BAA4B,IAAI,8BAA8B,CAM7E"}
@@ -0,0 +1,4 @@
1
+ export { DateTimeListRoot, DateTimeListColumn, DATE_TIME_LIST_ITEM_HEIGHT, DATE_TIME_LIST_VISIBLE_ITEMS, DATE_TIME_LIST_HEIGHT, DATE_TIME_LIST_EDGE_PAD, } from './DateTimeListRoot';
2
+ export type { DateTimeListRootProps, DateTimeListColumnProps } from './DateTimeListRoot';
3
+ export { DateTimeListContext, useDateTimeListContext, useDateTimeListColumnContext, type DateTimeListColumnType, type DateTimeListContextValue, } from './context';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/date-time-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,WAAW,CAAC"}