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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/lib/commonjs/calendar/CalendarGrid.js +33 -0
  2. package/lib/commonjs/calendar/CalendarGrid.js.map +1 -0
  3. package/lib/commonjs/calendar/CalendarRoot.js +95 -0
  4. package/lib/commonjs/calendar/CalendarRoot.js.map +1 -0
  5. package/lib/commonjs/calendar/context.js +17 -0
  6. package/lib/commonjs/calendar/context.js.map +1 -0
  7. package/lib/commonjs/calendar/index.js +27 -0
  8. package/lib/commonjs/calendar/index.js.map +1 -0
  9. package/lib/commonjs/calendar/types.js +6 -0
  10. package/lib/commonjs/calendar/types.js.map +1 -0
  11. package/lib/commonjs/checkbox/CheckboxRoot.web.js +91 -28
  12. package/lib/commonjs/checkbox/CheckboxRoot.web.js.map +1 -1
  13. package/lib/commonjs/checkbox/useCheckboxRoot.js +33 -19
  14. package/lib/commonjs/checkbox/useCheckboxRoot.js.map +1 -1
  15. package/lib/commonjs/date-field/DateFieldHiddenInput.js +148 -0
  16. package/lib/commonjs/date-field/DateFieldHiddenInput.js.map +1 -0
  17. package/lib/commonjs/date-field/DateFieldInput.js +122 -0
  18. package/lib/commonjs/date-field/DateFieldInput.js.map +1 -0
  19. package/lib/commonjs/date-field/DateFieldRoot.js +85 -0
  20. package/lib/commonjs/date-field/DateFieldRoot.js.map +1 -0
  21. package/lib/commonjs/date-field/DateFieldSegment.js +92 -0
  22. package/lib/commonjs/date-field/DateFieldSegment.js.map +1 -0
  23. package/lib/commonjs/date-field/context.js +19 -0
  24. package/lib/commonjs/date-field/context.js.map +1 -0
  25. package/lib/commonjs/date-field/index.js +34 -0
  26. package/lib/commonjs/date-field/index.js.map +1 -0
  27. package/lib/commonjs/date-field/segmentIndex.js +23 -0
  28. package/lib/commonjs/date-field/segmentIndex.js.map +1 -0
  29. package/lib/commonjs/date-field/segmentKeyboard.js +169 -0
  30. package/lib/commonjs/date-field/segmentKeyboard.js.map +1 -0
  31. package/lib/commonjs/date-field/types.js +6 -0
  32. package/lib/commonjs/date-field/types.js.map +1 -0
  33. package/lib/commonjs/date-field/useDateFieldSegmentState.js +381 -0
  34. package/lib/commonjs/date-field/useDateFieldSegmentState.js.map +1 -0
  35. package/lib/commonjs/date-field/useRangeDateFieldBridge.js +67 -0
  36. package/lib/commonjs/date-field/useRangeDateFieldBridge.js.map +1 -0
  37. package/lib/commonjs/date-picker/DatePickerRoot.js +123 -0
  38. package/lib/commonjs/date-picker/DatePickerRoot.js.map +1 -0
  39. package/lib/commonjs/date-picker/context.js +17 -0
  40. package/lib/commonjs/date-picker/context.js.map +1 -0
  41. package/lib/commonjs/date-picker/index.js +26 -0
  42. package/lib/commonjs/date-picker/index.js.map +1 -0
  43. package/lib/commonjs/date-range-picker/DateRangePickerRoot.js +144 -0
  44. package/lib/commonjs/date-range-picker/DateRangePickerRoot.js.map +1 -0
  45. package/lib/commonjs/date-range-picker/context.js +23 -0
  46. package/lib/commonjs/date-range-picker/context.js.map +1 -0
  47. package/lib/commonjs/date-range-picker/index.js +26 -0
  48. package/lib/commonjs/date-range-picker/index.js.map +1 -0
  49. package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js +150 -0
  50. package/lib/commonjs/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
  51. package/lib/commonjs/date-time-field/DateTimeFieldInput.js +104 -0
  52. package/lib/commonjs/date-time-field/DateTimeFieldInput.js.map +1 -0
  53. package/lib/commonjs/date-time-field/DateTimeFieldRoot.js +159 -0
  54. package/lib/commonjs/date-time-field/DateTimeFieldRoot.js.map +1 -0
  55. package/lib/commonjs/date-time-field/DateTimeFieldSegment.js +87 -0
  56. package/lib/commonjs/date-time-field/DateTimeFieldSegment.js.map +1 -0
  57. package/lib/commonjs/date-time-field/context.js +17 -0
  58. package/lib/commonjs/date-time-field/context.js.map +1 -0
  59. package/lib/commonjs/date-time-field/index.js +40 -0
  60. package/lib/commonjs/date-time-field/index.js.map +1 -0
  61. package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js +564 -0
  62. package/lib/commonjs/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
  63. package/lib/commonjs/date-time-list/DateTimeListRoot.js +418 -0
  64. package/lib/commonjs/date-time-list/DateTimeListRoot.js.map +1 -0
  65. package/lib/commonjs/date-time-list/context.js +26 -0
  66. package/lib/commonjs/date-time-list/context.js.map +1 -0
  67. package/lib/commonjs/date-time-list/index.js +62 -0
  68. package/lib/commonjs/date-time-list/index.js.map +1 -0
  69. package/lib/commonjs/date-time-picker/DateTimePickerRoot.js +134 -0
  70. package/lib/commonjs/date-time-picker/DateTimePickerRoot.js.map +1 -0
  71. package/lib/commonjs/date-time-picker/context.js +17 -0
  72. package/lib/commonjs/date-time-picker/context.js.map +1 -0
  73. package/lib/commonjs/date-time-picker/index.js +26 -0
  74. package/lib/commonjs/date-time-picker/index.js.map +1 -0
  75. package/lib/commonjs/dialog/DialogRoot.js +1 -1
  76. package/lib/commonjs/dialog/DialogRoot.js.map +1 -1
  77. package/lib/commonjs/index.js +148 -0
  78. package/lib/commonjs/index.js.map +1 -1
  79. package/lib/commonjs/month-calendar/MonthCalendarCell.js +64 -0
  80. package/lib/commonjs/month-calendar/MonthCalendarCell.js.map +1 -0
  81. package/lib/commonjs/month-calendar/MonthCalendarRoot.js +103 -0
  82. package/lib/commonjs/month-calendar/MonthCalendarRoot.js.map +1 -0
  83. package/lib/commonjs/month-calendar/MonthCalendarYearCell.js +63 -0
  84. package/lib/commonjs/month-calendar/MonthCalendarYearCell.js.map +1 -0
  85. package/lib/commonjs/month-calendar/context.js +17 -0
  86. package/lib/commonjs/month-calendar/context.js.map +1 -0
  87. package/lib/commonjs/month-calendar/index.js +34 -0
  88. package/lib/commonjs/month-calendar/index.js.map +1 -0
  89. package/lib/commonjs/month-picker/MonthPickerRoot.js +118 -0
  90. package/lib/commonjs/month-picker/MonthPickerRoot.js.map +1 -0
  91. package/lib/commonjs/month-picker/context.js +17 -0
  92. package/lib/commonjs/month-picker/context.js.map +1 -0
  93. package/lib/commonjs/month-picker/index.js +26 -0
  94. package/lib/commonjs/month-picker/index.js.map +1 -0
  95. package/lib/commonjs/overlay/useAnchorPosition.js +27 -16
  96. package/lib/commonjs/overlay/useAnchorPosition.js.map +1 -1
  97. package/lib/commonjs/overlay/useDismissOverlay.web.js +10 -2
  98. package/lib/commonjs/overlay/useDismissOverlay.web.js.map +1 -1
  99. package/lib/commonjs/overlay/useOverlayPosition.js +5 -2
  100. package/lib/commonjs/overlay/useOverlayPosition.js.map +1 -1
  101. package/lib/commonjs/portal/portal.js +59 -2
  102. package/lib/commonjs/portal/portal.js.map +1 -1
  103. package/lib/commonjs/radio/RadioGroup.js +65 -16
  104. package/lib/commonjs/radio/RadioGroup.js.map +1 -1
  105. package/lib/commonjs/radio/RadioRoot.web.js +114 -26
  106. package/lib/commonjs/radio/RadioRoot.web.js.map +1 -1
  107. package/lib/commonjs/radio/context.js.map +1 -1
  108. package/lib/commonjs/radio/useRadioGroupNavigation.js +79 -0
  109. package/lib/commonjs/radio/useRadioGroupNavigation.js.map +1 -0
  110. package/lib/commonjs/radio/useRadioRoot.js +14 -13
  111. package/lib/commonjs/radio/useRadioRoot.js.map +1 -1
  112. package/lib/commonjs/range-calendar/RangeCalendarRoot.js +148 -0
  113. package/lib/commonjs/range-calendar/RangeCalendarRoot.js.map +1 -0
  114. package/lib/commonjs/range-calendar/context.js +17 -0
  115. package/lib/commonjs/range-calendar/context.js.map +1 -0
  116. package/lib/commonjs/range-calendar/index.js +20 -0
  117. package/lib/commonjs/range-calendar/index.js.map +1 -0
  118. package/lib/commonjs/select/SelectRoot.js +1 -1
  119. package/lib/commonjs/select/SelectRoot.js.map +1 -1
  120. package/lib/commonjs/utils/accessibleLabel.js +23 -0
  121. package/lib/commonjs/utils/accessibleLabel.js.map +1 -0
  122. package/lib/commonjs/utils/createPortal.web.js +21 -0
  123. package/lib/commonjs/utils/createPortal.web.js.map +1 -0
  124. package/lib/module/calendar/CalendarGrid.js +29 -0
  125. package/lib/module/calendar/CalendarGrid.js.map +1 -0
  126. package/lib/module/calendar/CalendarRoot.js +91 -0
  127. package/lib/module/calendar/CalendarRoot.js.map +1 -0
  128. package/lib/module/calendar/context.js +12 -0
  129. package/lib/module/calendar/context.js.map +1 -0
  130. package/lib/module/calendar/index.js +6 -0
  131. package/lib/module/calendar/index.js.map +1 -0
  132. package/lib/module/calendar/types.js +4 -0
  133. package/lib/module/calendar/types.js.map +1 -0
  134. package/lib/module/checkbox/CheckboxRoot.web.js +92 -29
  135. package/lib/module/checkbox/CheckboxRoot.web.js.map +1 -1
  136. package/lib/module/checkbox/useCheckboxRoot.js +34 -20
  137. package/lib/module/checkbox/useCheckboxRoot.js.map +1 -1
  138. package/lib/module/date-field/DateFieldHiddenInput.js +146 -0
  139. package/lib/module/date-field/DateFieldHiddenInput.js.map +1 -0
  140. package/lib/module/date-field/DateFieldInput.js +118 -0
  141. package/lib/module/date-field/DateFieldInput.js.map +1 -0
  142. package/lib/module/date-field/DateFieldRoot.js +81 -0
  143. package/lib/module/date-field/DateFieldRoot.js.map +1 -0
  144. package/lib/module/date-field/DateFieldSegment.js +88 -0
  145. package/lib/module/date-field/DateFieldSegment.js.map +1 -0
  146. package/lib/module/date-field/context.js +15 -0
  147. package/lib/module/date-field/context.js.map +1 -0
  148. package/lib/module/date-field/index.js +7 -0
  149. package/lib/module/date-field/index.js.map +1 -0
  150. package/lib/module/date-field/segmentIndex.js +18 -0
  151. package/lib/module/date-field/segmentIndex.js.map +1 -0
  152. package/lib/module/date-field/segmentKeyboard.js +157 -0
  153. package/lib/module/date-field/segmentKeyboard.js.map +1 -0
  154. package/lib/module/date-field/types.js +4 -0
  155. package/lib/module/date-field/types.js.map +1 -0
  156. package/lib/module/date-field/useDateFieldSegmentState.js +378 -0
  157. package/lib/module/date-field/useDateFieldSegmentState.js.map +1 -0
  158. package/lib/module/date-field/useRangeDateFieldBridge.js +63 -0
  159. package/lib/module/date-field/useRangeDateFieldBridge.js.map +1 -0
  160. package/lib/module/date-picker/DatePickerRoot.js +119 -0
  161. package/lib/module/date-picker/DatePickerRoot.js.map +1 -0
  162. package/lib/module/date-picker/context.js +12 -0
  163. package/lib/module/date-picker/context.js.map +1 -0
  164. package/lib/module/date-picker/index.js +5 -0
  165. package/lib/module/date-picker/index.js.map +1 -0
  166. package/lib/module/date-range-picker/DateRangePickerRoot.js +140 -0
  167. package/lib/module/date-range-picker/DateRangePickerRoot.js.map +1 -0
  168. package/lib/module/date-range-picker/context.js +19 -0
  169. package/lib/module/date-range-picker/context.js.map +1 -0
  170. package/lib/module/date-range-picker/index.js +5 -0
  171. package/lib/module/date-range-picker/index.js.map +1 -0
  172. package/lib/module/date-time-field/DateTimeFieldHiddenInput.js +148 -0
  173. package/lib/module/date-time-field/DateTimeFieldHiddenInput.js.map +1 -0
  174. package/lib/module/date-time-field/DateTimeFieldInput.js +100 -0
  175. package/lib/module/date-time-field/DateTimeFieldInput.js.map +1 -0
  176. package/lib/module/date-time-field/DateTimeFieldRoot.js +154 -0
  177. package/lib/module/date-time-field/DateTimeFieldRoot.js.map +1 -0
  178. package/lib/module/date-time-field/DateTimeFieldSegment.js +83 -0
  179. package/lib/module/date-time-field/DateTimeFieldSegment.js.map +1 -0
  180. package/lib/module/date-time-field/context.js +12 -0
  181. package/lib/module/date-time-field/context.js.map +1 -0
  182. package/lib/module/date-time-field/index.js +7 -0
  183. package/lib/module/date-time-field/index.js.map +1 -0
  184. package/lib/module/date-time-field/useDateTimeFieldSegmentState.js +561 -0
  185. package/lib/module/date-time-field/useDateTimeFieldSegmentState.js.map +1 -0
  186. package/lib/module/date-time-list/DateTimeListRoot.js +416 -0
  187. package/lib/module/date-time-list/DateTimeListRoot.js.map +1 -0
  188. package/lib/module/date-time-list/context.js +20 -0
  189. package/lib/module/date-time-list/context.js.map +1 -0
  190. package/lib/module/date-time-list/index.js +5 -0
  191. package/lib/module/date-time-list/index.js.map +1 -0
  192. package/lib/module/date-time-picker/DateTimePickerRoot.js +130 -0
  193. package/lib/module/date-time-picker/DateTimePickerRoot.js.map +1 -0
  194. package/lib/module/date-time-picker/context.js +12 -0
  195. package/lib/module/date-time-picker/context.js.map +1 -0
  196. package/lib/module/date-time-picker/index.js +5 -0
  197. package/lib/module/date-time-picker/index.js.map +1 -0
  198. package/lib/module/dialog/DialogRoot.js +1 -1
  199. package/lib/module/dialog/DialogRoot.js.map +1 -1
  200. package/lib/module/index.js +11 -2
  201. package/lib/module/index.js.map +1 -1
  202. package/lib/module/month-calendar/MonthCalendarCell.js +60 -0
  203. package/lib/module/month-calendar/MonthCalendarCell.js.map +1 -0
  204. package/lib/module/month-calendar/MonthCalendarRoot.js +99 -0
  205. package/lib/module/month-calendar/MonthCalendarRoot.js.map +1 -0
  206. package/lib/module/month-calendar/MonthCalendarYearCell.js +59 -0
  207. package/lib/module/month-calendar/MonthCalendarYearCell.js.map +1 -0
  208. package/lib/module/month-calendar/context.js +12 -0
  209. package/lib/module/month-calendar/context.js.map +1 -0
  210. package/lib/module/month-calendar/index.js +7 -0
  211. package/lib/module/month-calendar/index.js.map +1 -0
  212. package/lib/module/month-picker/MonthPickerRoot.js +114 -0
  213. package/lib/module/month-picker/MonthPickerRoot.js.map +1 -0
  214. package/lib/module/month-picker/context.js +12 -0
  215. package/lib/module/month-picker/context.js.map +1 -0
  216. package/lib/module/month-picker/index.js +5 -0
  217. package/lib/module/month-picker/index.js.map +1 -0
  218. package/lib/module/overlay/useAnchorPosition.js +27 -16
  219. package/lib/module/overlay/useAnchorPosition.js.map +1 -1
  220. package/lib/module/overlay/useDismissOverlay.web.js +9 -2
  221. package/lib/module/overlay/useDismissOverlay.web.js.map +1 -1
  222. package/lib/module/overlay/useOverlayPosition.js +5 -2
  223. package/lib/module/overlay/useOverlayPosition.js.map +1 -1
  224. package/lib/module/portal/portal.js +59 -2
  225. package/lib/module/portal/portal.js.map +1 -1
  226. package/lib/module/radio/RadioGroup.js +68 -19
  227. package/lib/module/radio/RadioGroup.js.map +1 -1
  228. package/lib/module/radio/RadioRoot.web.js +117 -29
  229. package/lib/module/radio/RadioRoot.web.js.map +1 -1
  230. package/lib/module/radio/context.js.map +1 -1
  231. package/lib/module/radio/useRadioGroupNavigation.js +74 -0
  232. package/lib/module/radio/useRadioGroupNavigation.js.map +1 -0
  233. package/lib/module/radio/useRadioRoot.js +14 -13
  234. package/lib/module/radio/useRadioRoot.js.map +1 -1
  235. package/lib/module/range-calendar/RangeCalendarRoot.js +144 -0
  236. package/lib/module/range-calendar/RangeCalendarRoot.js.map +1 -0
  237. package/lib/module/range-calendar/context.js +12 -0
  238. package/lib/module/range-calendar/context.js.map +1 -0
  239. package/lib/module/range-calendar/index.js +5 -0
  240. package/lib/module/range-calendar/index.js.map +1 -0
  241. package/lib/module/select/SelectRoot.js +1 -1
  242. package/lib/module/select/SelectRoot.js.map +1 -1
  243. package/lib/module/utils/accessibleLabel.js +18 -0
  244. package/lib/module/utils/accessibleLabel.js.map +1 -0
  245. package/lib/module/utils/createPortal.web.js +17 -0
  246. package/lib/module/utils/createPortal.web.js.map +1 -0
  247. package/lib/typescript/calendar/CalendarGrid.d.ts +7 -0
  248. package/lib/typescript/calendar/CalendarGrid.d.ts.map +1 -0
  249. package/lib/typescript/calendar/CalendarRoot.d.ts +10 -0
  250. package/lib/typescript/calendar/CalendarRoot.d.ts.map +1 -0
  251. package/lib/typescript/calendar/context.d.ts +18 -0
  252. package/lib/typescript/calendar/context.d.ts.map +1 -0
  253. package/lib/typescript/calendar/index.d.ts +5 -0
  254. package/lib/typescript/calendar/index.d.ts.map +1 -0
  255. package/lib/typescript/calendar/types.d.ts +29 -0
  256. package/lib/typescript/calendar/types.d.ts.map +1 -0
  257. package/lib/typescript/checkbox/CheckboxRoot.web.d.ts +8 -0
  258. package/lib/typescript/checkbox/CheckboxRoot.web.d.ts.map +1 -1
  259. package/lib/typescript/checkbox/useCheckboxRoot.d.ts +7 -18
  260. package/lib/typescript/checkbox/useCheckboxRoot.d.ts.map +1 -1
  261. package/lib/typescript/date-field/DateFieldHiddenInput.d.ts +4 -0
  262. package/lib/typescript/date-field/DateFieldHiddenInput.d.ts.map +1 -0
  263. package/lib/typescript/date-field/DateFieldInput.d.ts +8 -0
  264. package/lib/typescript/date-field/DateFieldInput.d.ts.map +1 -0
  265. package/lib/typescript/date-field/DateFieldRoot.d.ts +10 -0
  266. package/lib/typescript/date-field/DateFieldRoot.d.ts.map +1 -0
  267. package/lib/typescript/date-field/DateFieldSegment.d.ts +9 -0
  268. package/lib/typescript/date-field/DateFieldSegment.d.ts.map +1 -0
  269. package/lib/typescript/date-field/context.d.ts +33 -0
  270. package/lib/typescript/date-field/context.d.ts.map +1 -0
  271. package/lib/typescript/date-field/index.d.ts +9 -0
  272. package/lib/typescript/date-field/index.d.ts.map +1 -0
  273. package/lib/typescript/date-field/segmentIndex.d.ts +7 -0
  274. package/lib/typescript/date-field/segmentIndex.d.ts.map +1 -0
  275. package/lib/typescript/date-field/segmentKeyboard.d.ts +23 -0
  276. package/lib/typescript/date-field/segmentKeyboard.d.ts.map +1 -0
  277. package/lib/typescript/date-field/types.d.ts +38 -0
  278. package/lib/typescript/date-field/types.d.ts.map +1 -0
  279. package/lib/typescript/date-field/useDateFieldSegmentState.d.ts +26 -0
  280. package/lib/typescript/date-field/useDateFieldSegmentState.d.ts.map +1 -0
  281. package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts +4 -0
  282. package/lib/typescript/date-field/useRangeDateFieldBridge.d.ts.map +1 -0
  283. package/lib/typescript/date-picker/DatePickerRoot.d.ts +28 -0
  284. package/lib/typescript/date-picker/DatePickerRoot.d.ts.map +1 -0
  285. package/lib/typescript/date-picker/context.d.ts +25 -0
  286. package/lib/typescript/date-picker/context.d.ts.map +1 -0
  287. package/lib/typescript/date-picker/index.d.ts +5 -0
  288. package/lib/typescript/date-picker/index.d.ts.map +1 -0
  289. package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts +43 -0
  290. package/lib/typescript/date-range-picker/DateRangePickerRoot.d.ts.map +1 -0
  291. package/lib/typescript/date-range-picker/context.d.ts +42 -0
  292. package/lib/typescript/date-range-picker/context.d.ts.map +1 -0
  293. package/lib/typescript/date-range-picker/index.d.ts +4 -0
  294. package/lib/typescript/date-range-picker/index.d.ts.map +1 -0
  295. package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts +4 -0
  296. package/lib/typescript/date-time-field/DateTimeFieldHiddenInput.d.ts.map +1 -0
  297. package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts +10 -0
  298. package/lib/typescript/date-time-field/DateTimeFieldInput.d.ts.map +1 -0
  299. package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts +24 -0
  300. package/lib/typescript/date-time-field/DateTimeFieldRoot.d.ts.map +1 -0
  301. package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts +10 -0
  302. package/lib/typescript/date-time-field/DateTimeFieldSegment.d.ts.map +1 -0
  303. package/lib/typescript/date-time-field/context.d.ts +27 -0
  304. package/lib/typescript/date-time-field/context.d.ts.map +1 -0
  305. package/lib/typescript/date-time-field/index.d.ts +8 -0
  306. package/lib/typescript/date-time-field/index.d.ts.map +1 -0
  307. package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts +26 -0
  308. package/lib/typescript/date-time-field/useDateTimeFieldSegmentState.d.ts.map +1 -0
  309. package/lib/typescript/date-time-list/DateTimeListRoot.d.ts +42 -0
  310. package/lib/typescript/date-time-list/DateTimeListRoot.d.ts.map +1 -0
  311. package/lib/typescript/date-time-list/context.d.ts +29 -0
  312. package/lib/typescript/date-time-list/context.d.ts.map +1 -0
  313. package/lib/typescript/date-time-list/index.d.ts +4 -0
  314. package/lib/typescript/date-time-list/index.d.ts.map +1 -0
  315. package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts +36 -0
  316. package/lib/typescript/date-time-picker/DateTimePickerRoot.d.ts.map +1 -0
  317. package/lib/typescript/date-time-picker/context.d.ts +25 -0
  318. package/lib/typescript/date-time-picker/context.d.ts.map +1 -0
  319. package/lib/typescript/date-time-picker/index.d.ts +4 -0
  320. package/lib/typescript/date-time-picker/index.d.ts.map +1 -0
  321. package/lib/typescript/dialog/types.d.ts +2 -1
  322. package/lib/typescript/dialog/types.d.ts.map +1 -1
  323. package/lib/typescript/index.d.ts +11 -2
  324. package/lib/typescript/index.d.ts.map +1 -1
  325. package/lib/typescript/month-calendar/MonthCalendarCell.d.ts +9 -0
  326. package/lib/typescript/month-calendar/MonthCalendarCell.d.ts.map +1 -0
  327. package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts +30 -0
  328. package/lib/typescript/month-calendar/MonthCalendarRoot.d.ts.map +1 -0
  329. package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts +9 -0
  330. package/lib/typescript/month-calendar/MonthCalendarYearCell.d.ts.map +1 -0
  331. package/lib/typescript/month-calendar/context.d.ts +20 -0
  332. package/lib/typescript/month-calendar/context.d.ts.map +1 -0
  333. package/lib/typescript/month-calendar/index.d.ts +7 -0
  334. package/lib/typescript/month-calendar/index.d.ts.map +1 -0
  335. package/lib/typescript/month-picker/MonthPickerRoot.d.ts +29 -0
  336. package/lib/typescript/month-picker/MonthPickerRoot.d.ts.map +1 -0
  337. package/lib/typescript/month-picker/context.d.ts +23 -0
  338. package/lib/typescript/month-picker/context.d.ts.map +1 -0
  339. package/lib/typescript/month-picker/index.d.ts +4 -0
  340. package/lib/typescript/month-picker/index.d.ts.map +1 -0
  341. package/lib/typescript/overlay/useAnchorPosition.d.ts.map +1 -1
  342. package/lib/typescript/overlay/useDismissOverlay.web.d.ts.map +1 -1
  343. package/lib/typescript/overlay/useOverlayPosition.d.ts.map +1 -1
  344. package/lib/typescript/portal/portal.d.ts.map +1 -1
  345. package/lib/typescript/radio/RadioGroup.d.ts.map +1 -1
  346. package/lib/typescript/radio/RadioRoot.web.d.ts +8 -0
  347. package/lib/typescript/radio/RadioRoot.web.d.ts.map +1 -1
  348. package/lib/typescript/radio/context.d.ts +6 -1
  349. package/lib/typescript/radio/context.d.ts.map +1 -1
  350. package/lib/typescript/radio/types.d.ts +7 -0
  351. package/lib/typescript/radio/types.d.ts.map +1 -1
  352. package/lib/typescript/radio/useRadioGroupNavigation.d.ts +17 -0
  353. package/lib/typescript/radio/useRadioGroupNavigation.d.ts.map +1 -0
  354. package/lib/typescript/radio/useRadioRoot.d.ts +4 -18
  355. package/lib/typescript/radio/useRadioRoot.d.ts.map +1 -1
  356. package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts +34 -0
  357. package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts.map +1 -0
  358. package/lib/typescript/range-calendar/context.d.ts +26 -0
  359. package/lib/typescript/range-calendar/context.d.ts.map +1 -0
  360. package/lib/typescript/range-calendar/index.d.ts +5 -0
  361. package/lib/typescript/range-calendar/index.d.ts.map +1 -0
  362. package/lib/typescript/select/types.d.ts +2 -1
  363. package/lib/typescript/select/types.d.ts.map +1 -1
  364. package/lib/typescript/utils/accessibleLabel.d.ts +13 -0
  365. package/lib/typescript/utils/accessibleLabel.d.ts.map +1 -0
  366. package/lib/typescript/utils/createPortal.web.d.ts +17 -0
  367. package/lib/typescript/utils/createPortal.web.d.ts.map +1 -0
  368. package/package.json +3 -2
  369. package/src/calendar/CalendarGrid.tsx +29 -0
  370. package/src/calendar/CalendarRoot.tsx +138 -0
  371. package/src/calendar/context.tsx +28 -0
  372. package/src/calendar/index.ts +4 -0
  373. package/src/calendar/types.ts +30 -0
  374. package/src/checkbox/CheckboxRoot.web.tsx +105 -29
  375. package/src/checkbox/useCheckboxRoot.ts +37 -15
  376. package/src/date-field/DateFieldHiddenInput.tsx +152 -0
  377. package/src/date-field/DateFieldInput.tsx +138 -0
  378. package/src/date-field/DateFieldRoot.tsx +117 -0
  379. package/src/date-field/DateFieldSegment.tsx +97 -0
  380. package/src/date-field/context.tsx +48 -0
  381. package/src/date-field/index.ts +8 -0
  382. package/src/date-field/segmentIndex.tsx +17 -0
  383. package/src/date-field/segmentKeyboard.ts +207 -0
  384. package/src/date-field/types.ts +40 -0
  385. package/src/date-field/useDateFieldSegmentState.ts +455 -0
  386. package/src/date-field/useRangeDateFieldBridge.ts +78 -0
  387. package/src/date-picker/DatePickerRoot.tsx +186 -0
  388. package/src/date-picker/context.tsx +34 -0
  389. package/src/date-picker/index.ts +4 -0
  390. package/src/date-range-picker/DateRangePickerRoot.tsx +236 -0
  391. package/src/date-range-picker/context.tsx +48 -0
  392. package/src/date-range-picker/index.ts +8 -0
  393. package/src/date-time-field/DateTimeFieldHiddenInput.tsx +156 -0
  394. package/src/date-time-field/DateTimeFieldInput.tsx +119 -0
  395. package/src/date-time-field/DateTimeFieldRoot.tsx +209 -0
  396. package/src/date-time-field/DateTimeFieldSegment.tsx +95 -0
  397. package/src/date-time-field/context.tsx +41 -0
  398. package/src/date-time-field/index.ts +7 -0
  399. package/src/date-time-field/useDateTimeFieldSegmentState.ts +672 -0
  400. package/src/date-time-list/DateTimeListRoot.tsx +530 -0
  401. package/src/date-time-list/context.tsx +45 -0
  402. package/src/date-time-list/index.ts +16 -0
  403. package/src/date-time-picker/DateTimePickerRoot.tsx +210 -0
  404. package/src/date-time-picker/context.tsx +33 -0
  405. package/src/date-time-picker/index.ts +7 -0
  406. package/src/dialog/DialogRoot.tsx +1 -1
  407. package/src/dialog/types.ts +2 -1
  408. package/src/index.ts +21 -2
  409. package/src/month-calendar/MonthCalendarCell.tsx +53 -0
  410. package/src/month-calendar/MonthCalendarRoot.tsx +153 -0
  411. package/src/month-calendar/MonthCalendarYearCell.tsx +54 -0
  412. package/src/month-calendar/context.tsx +30 -0
  413. package/src/month-calendar/index.ts +6 -0
  414. package/src/month-picker/MonthPickerRoot.tsx +183 -0
  415. package/src/month-picker/context.tsx +31 -0
  416. package/src/month-picker/index.ts +3 -0
  417. package/src/overlay/useAnchorPosition.ts +25 -11
  418. package/src/overlay/useDismissOverlay.web.ts +10 -2
  419. package/src/overlay/useOverlayPosition.ts +5 -2
  420. package/src/portal/portal.tsx +79 -2
  421. package/src/radio/RadioGroup.tsx +84 -20
  422. package/src/radio/RadioRoot.web.tsx +136 -31
  423. package/src/radio/context.tsx +6 -1
  424. package/src/radio/types.ts +6 -0
  425. package/src/radio/useRadioGroupNavigation.ts +104 -0
  426. package/src/radio/useRadioRoot.ts +18 -11
  427. package/src/range-calendar/RangeCalendarRoot.tsx +213 -0
  428. package/src/range-calendar/context.tsx +33 -0
  429. package/src/range-calendar/index.ts +4 -0
  430. package/src/select/SelectRoot.tsx +1 -1
  431. package/src/select/types.ts +2 -1
  432. package/src/utils/accessibleLabel.ts +22 -0
  433. package/src/utils/createPortal.web.ts +18 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.accessibleLabelAttributes = accessibleLabelAttributes;
7
+ exports.resolveAccessibleLabel = resolveAccessibleLabel;
8
+ function resolveAccessibleLabel({
9
+ accessibilityLabel,
10
+ 'aria-label': ariaLabel
11
+ }) {
12
+ return accessibilityLabel ?? ariaLabel;
13
+ }
14
+ function accessibleLabelAttributes(label) {
15
+ if (label === undefined) {
16
+ return {};
17
+ }
18
+ return {
19
+ accessibilityLabel: label,
20
+ 'aria-label': label
21
+ };
22
+ }
23
+ //# sourceMappingURL=accessibleLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveAccessibleLabel","accessibilityLabel","ariaLabel","accessibleLabelAttributes","label","undefined"],"sourceRoot":"../../../src","sources":["utils/accessibleLabel.ts"],"mappings":";;;;;;;AAKO,SAASA,sBAAsBA,CAAC;EACrCC,kBAAkB;EAClB,YAAY,EAAEC;AACM,CAAC,EAAsB;EAC3C,OAAOD,kBAAkB,IAAIC,SAAS;AACxC;AAEO,SAASC,yBAAyBA,CAACC,KAAyB,EAAE;EACnE,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACvB,OAAO,CAAC,CAAC;EACX;EAEA,OAAO;IACLJ,kBAAkB,EAAEG,KAAK;IACzB,YAAY,EAAEA;EAChB,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPortalFn = void 0;
7
+ var _reactDom = require("react-dom");
8
+ /**
9
+ * Web implementation — statically imports `ReactDOM.createPortal`.
10
+ *
11
+ * The base (`.ts`) module resolves `react-dom` lazily via `require` so native
12
+ * bundles never reference it. That `require` is `undefined` in browser ESM
13
+ * bundles that don't transform mixed CommonJS/ESM (e.g. the docs site's Vite
14
+ * build), so the base module silently resolves `createPortalFn` to `undefined`
15
+ * there. That forces `OverlayContainer` onto its native `Modal` + Reanimated
16
+ * layout-animation path, leaving web overlays (Select, DatePicker) stuck at
17
+ * opacity 0. A static ESM import guarantees `createPortalFn` resolves on web
18
+ * regardless of the bundler's CommonJS interop.
19
+ */
20
+ const createPortalFn = exports.createPortalFn = _reactDom.createPortal;
21
+ //# sourceMappingURL=createPortal.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactDom","require","createPortalFn","exports","createPortal"],"sourceRoot":"../../../src","sources":["utils/createPortal.web.ts"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAA8B,GAAAC,OAAA,CAAAD,cAAA,GAAGE,sBAAY","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import { forwardRef } from 'react';
4
+ import { View } from 'react-native';
5
+ import { Slot } from '../slot';
6
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const CalendarGrid = /*#__PURE__*/forwardRef(({
9
+ asChild,
10
+ className,
11
+ style,
12
+ children,
13
+ ...props
14
+ }, ref) => {
15
+ const Comp = asChild ? Slot : View;
16
+ return /*#__PURE__*/_jsx(Comp, {
17
+ ref: ref,
18
+ className: className,
19
+ style: style,
20
+ accessibilityRole: "none",
21
+ ...props,
22
+ ...mergeDataAttributes(props, dataAttributes({
23
+ slot: 'calendar-grid'
24
+ })),
25
+ children: children
26
+ });
27
+ });
28
+ CalendarGrid.displayName = 'CalendarGrid';
29
+ //# sourceMappingURL=CalendarGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","View","Slot","dataAttributes","mergeDataAttributes","jsx","_jsx","CalendarGrid","asChild","className","style","children","props","ref","Comp","accessibilityRole","slot","displayName"],"sourceRoot":"../../../src","sources":["calendar/CalendarGrid.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAA2B,OAAO;AACrD,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO9E,OAAO,MAAMC,YAAY,gBAAGP,UAAU,CACpC,CAAC;EAAEQ,OAAO;EAAEC,SAAS;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC1D,MAAMC,IAAI,GAAGN,OAAO,GAAGN,IAAI,GAAGD,IAAI;EAClC,oBACEK,IAAA,CAACQ,IAAI;IACHD,GAAG,EAAEA,GAAI;IACTJ,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbK,iBAAiB,EAAC,MAAM;IAAA,GACpBH,KAAK;IAAA,GACLR,mBAAmB,CAACQ,KAAK,EAAET,cAAc,CAAC;MAAEa,IAAI,EAAE;IAAgB,CAAC,CAAC,CAAC;IAAAL,QAAA,EAExEA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDJ,YAAY,CAACU,WAAW,GAAG,cAAc","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { View } from 'react-native';
5
+ import { todayMonthId, toMonthId, resolveDateComponentLabels } from '@cdx-ui/formatters';
6
+ import { useControllableState } from '@cdx-ui/utils';
7
+ import { Slot } from '../slot';
8
+ import { accessibleLabelAttributes, resolveAccessibleLabel } from '../utils/accessibleLabel';
9
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
10
+ import { CalendarContext } from './context';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const CalendarRoot = /*#__PURE__*/forwardRef(({
13
+ asChild,
14
+ children,
15
+ value: valueProp,
16
+ defaultValue,
17
+ onValueChange,
18
+ monthId: monthIdProp,
19
+ defaultMonthId,
20
+ onMonthIdChange,
21
+ minValue,
22
+ maxValue,
23
+ disabled = false,
24
+ locale = 'en-US',
25
+ labels: labelsProp,
26
+ accessibilityLabel: accessibilityLabelProp,
27
+ 'aria-label': ariaLabelProp,
28
+ ...props
29
+ }, ref) => {
30
+ const labels = useMemo(() => resolveDateComponentLabels(labelsProp), [labelsProp]);
31
+ const accessibilityLabel = resolveAccessibleLabel({
32
+ accessibilityLabel: accessibilityLabelProp,
33
+ 'aria-label': ariaLabelProp
34
+ });
35
+ const [value, setValue] = useControllableState({
36
+ prop: valueProp,
37
+ defaultProp: defaultValue,
38
+ onChange: onValueChange
39
+ });
40
+ const [monthId, setMonthId] = useControllableState({
41
+ prop: monthIdProp,
42
+ defaultProp: defaultMonthId ?? (value ? toMonthId(value) : todayMonthId()),
43
+ onChange: onMonthIdChange
44
+ });
45
+ const prevValueRef = useRef(value);
46
+ useEffect(() => {
47
+ if (monthIdProp !== undefined) {
48
+ prevValueRef.current = value;
49
+ return;
50
+ }
51
+ if (value === undefined || prevValueRef.current === value) {
52
+ prevValueRef.current = value;
53
+ return;
54
+ }
55
+ prevValueRef.current = value;
56
+ setMonthId(toMonthId(value));
57
+ }, [monthIdProp, setMonthId, value]);
58
+ const [view, setViewState] = useState('month');
59
+ const setView = useCallback(next => {
60
+ setViewState(next);
61
+ }, []);
62
+ const contextValue = useMemo(() => ({
63
+ value,
64
+ onValueChange: setValue,
65
+ monthId: monthId ?? todayMonthId(),
66
+ onMonthIdChange: setMonthId,
67
+ minValue,
68
+ maxValue,
69
+ disabled,
70
+ locale,
71
+ labels,
72
+ view,
73
+ setView
74
+ }), [value, setValue, monthId, setMonthId, minValue, maxValue, disabled, locale, labels, view, setView]);
75
+ const Comp = asChild ? Slot : View;
76
+ return /*#__PURE__*/_jsx(CalendarContext.Provider, {
77
+ value: contextValue,
78
+ children: /*#__PURE__*/_jsx(Comp, {
79
+ ref: ref,
80
+ accessibilityRole: "none",
81
+ ...props,
82
+ ...mergeDataAttributes(props, dataAttributes({
83
+ disabled
84
+ })),
85
+ ...accessibleLabelAttributes(accessibilityLabel),
86
+ children: children
87
+ })
88
+ });
89
+ });
90
+ CalendarRoot.displayName = 'CalendarRoot';
91
+ //# sourceMappingURL=CalendarRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useMemo","useRef","useState","View","todayMonthId","toMonthId","resolveDateComponentLabels","useControllableState","Slot","accessibleLabelAttributes","resolveAccessibleLabel","dataAttributes","mergeDataAttributes","CalendarContext","jsx","_jsx","CalendarRoot","asChild","children","value","valueProp","defaultValue","onValueChange","monthId","monthIdProp","defaultMonthId","onMonthIdChange","minValue","maxValue","disabled","locale","labels","labelsProp","accessibilityLabel","accessibilityLabelProp","ariaLabelProp","props","ref","setValue","prop","defaultProp","onChange","setMonthId","prevValueRef","undefined","current","view","setViewState","setView","next","contextValue","Comp","Provider","accessibilityRole","displayName"],"sourceRoot":"../../../src","sources":["calendar/CalendarRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from 'react';
4
+ export const CalendarContext = /*#__PURE__*/createContext(null);
5
+ export function useCalendarContext() {
6
+ const ctx = useContext(CalendarContext);
7
+ if (!ctx) {
8
+ throw new Error('Calendar compound components must be used within CalendarRoot');
9
+ }
10
+ return ctx;
11
+ }
12
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","CalendarContext","useCalendarContext","ctx","Error"],"sourceRoot":"../../../src","sources":["calendar/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAmBjD,OAAO,MAAMC,eAAe,gBAAGF,aAAa,CAA8B,IAAI,CAAC;AAE/E,OAAO,SAASG,kBAAkBA,CAAA,EAAyB;EACzD,MAAMC,GAAG,GAAGH,UAAU,CAACC,eAAe,CAAC;EACvC,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,+DAA+D,CAAC;EAClF;EACA,OAAOD,GAAG;AACZ","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export { CalendarRoot } from './CalendarRoot';
4
+ export { CalendarGrid } from './CalendarGrid';
5
+ export { useCalendarContext } from './context';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CalendarRoot","CalendarGrid","useCalendarContext"],"sourceRoot":"../../../src","sources":["calendar/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,kBAAkB,QAA2B,WAAW","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["calendar/types.ts"],"mappings":"","ignoreList":[]}
@@ -3,12 +3,21 @@
3
3
  import { forwardRef } from 'react';
4
4
  import { Pressable } from 'react-native';
5
5
  import { VisuallyHidden } from '@react-aria/visually-hidden';
6
+ import { composeEventHandlers } from '@cdx-ui/utils';
6
7
  import { useFocusRing } from '@react-native-aria/focus';
7
8
  import { Slot } from '../slot';
8
9
  import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
9
10
  import { CheckboxProvider } from './context';
10
11
  import { useCheckboxRoot } from './useCheckboxRoot';
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /**
14
+ * Web Checkbox root.
15
+ *
16
+ * On web, `@react-native-aria/checkbox` re-exports `@react-aria/checkbox`'s
17
+ * `useCheckbox`, whose `inputProps` target a native `<input type="checkbox">`
18
+ * (selection via `onChange`). Toggle must be applied explicitly on the Pressable —
19
+ * `inputProps.onPress` does **not** call `toggleState.toggle()`.
20
+ */
12
21
  export const CheckboxRoot = /*#__PURE__*/forwardRef(({
13
22
  asChild,
14
23
  children,
@@ -35,7 +44,8 @@ export const CheckboxRoot = /*#__PURE__*/forwardRef(({
35
44
  isDisabled,
36
45
  isHovered,
37
46
  mergedRef,
38
- inputRef
47
+ inputRef,
48
+ toggle
39
49
  } = useCheckboxRoot(props, ref, {
40
50
  useInputRefForAria: true
41
51
  });
@@ -43,46 +53,99 @@ export const CheckboxRoot = /*#__PURE__*/forwardRef(({
43
53
  focusProps,
44
54
  isFocusVisible
45
55
  } = useFocusRing();
56
+
57
+ // Strip native-input / internal props — they must not land on Pressable.
58
+ const {
59
+ onPress: _onPress,
60
+ onChange: _onChange,
61
+ role: _role,
62
+ tabIndex: _tabIndex,
63
+ disabled: _disabled,
64
+ checked: _checked,
65
+ value: _value,
66
+ type: _type,
67
+ name: _name,
68
+ form: _form,
69
+ required: _required,
70
+ ...inputAriaProps
71
+ } = groupItemInputProps;
72
+ const resolvedChecked = !!(isChecked || isCheckedProp);
73
+ const resolvedIndeterminate = !!(isIndeterminate || isIndeterminateProp);
74
+ const resolvedDisabled = !!(isDisabled || isDisabledProp);
75
+ const resolvedReadOnly = !!(isReadOnly || isReadOnlyProp);
76
+ const ariaChecked = resolvedIndeterminate ? 'mixed' : resolvedChecked;
77
+ const handleToggle = () => {
78
+ if (resolvedDisabled || resolvedReadOnly) {
79
+ return;
80
+ }
81
+ toggle();
82
+ };
83
+ const handleKeyDown = event => {
84
+ if (event.key === ' ' || event.key === 'Spacebar') {
85
+ event.preventDefault();
86
+ handleToggle();
87
+ }
88
+ };
46
89
  const contextValue = {
47
- isChecked: isChecked || isCheckedProp,
48
- isDisabled: isDisabled || isDisabledProp,
90
+ isChecked: resolvedChecked,
91
+ isDisabled: resolvedDisabled,
49
92
  isFocusVisible: isFocusVisible || isFocusVisibleProp,
50
93
  isHovered: isHovered || isHoveredProp,
51
94
  isInvalid: isInvalid || isInvalidProp,
52
- isReadOnly: isReadOnly || isReadOnlyProp,
53
- isIndeterminate: isIndeterminate || isIndeterminateProp,
95
+ isReadOnly: resolvedReadOnly,
96
+ isIndeterminate: resolvedIndeterminate,
54
97
  isPressed,
55
98
  isFocused
56
99
  };
57
100
  const Comp = asChild ? Slot : Pressable;
58
101
  return /*#__PURE__*/_jsx(CheckboxProvider, {
59
102
  value: contextValue,
60
- children: /*#__PURE__*/_jsxs(Comp, {
61
- ...combinedProps,
62
- ref: mergedRef,
63
- tabIndex: -1,
64
- role: "label"
65
- // eslint-disable-next-line react-native-a11y/has-valid-accessibility-role
66
- ,
67
- accessibilityRole: "label",
68
- ...mergeDataAttributes(props, dataAttributes({
69
- checked: isChecked || isCheckedProp,
70
- disabled: isDisabled || isDisabledProp,
71
- hover: isHovered || isHoveredProp,
72
- invalid: isInvalid || isInvalidProp,
73
- readonly: isReadOnly || isReadOnlyProp,
74
- active: isPressed,
75
- focus: isFocused,
76
- indeterminate: isIndeterminate || isIndeterminateProp,
77
- focusVisible: isFocusVisible
78
- })),
103
+ children: /*#__PURE__*/_jsxs(_Fragment, {
79
104
  children: [/*#__PURE__*/_jsx(VisuallyHidden, {
80
105
  children: /*#__PURE__*/_jsx("input", {
81
- ...groupItemInputProps,
82
- ...focusProps,
83
- ref: inputRef
106
+ ref: inputRef,
107
+ type: "checkbox",
108
+ value: combinedProps.value,
109
+ checked: resolvedChecked,
110
+ disabled: resolvedDisabled,
111
+ tabIndex: -1,
112
+ "aria-hidden": true,
113
+ readOnly: true,
114
+ style: {
115
+ pointerEvents: 'none'
116
+ }
84
117
  })
85
- }), children]
118
+ }), /*#__PURE__*/_jsx(Comp, {
119
+ ...combinedProps,
120
+ ...inputAriaProps,
121
+ ref: mergedRef,
122
+ role: "checkbox",
123
+ "aria-checked": ariaChecked,
124
+ "aria-disabled": resolvedDisabled || undefined,
125
+ accessibilityRole: "checkbox",
126
+ accessibilityState: {
127
+ checked: resolvedIndeterminate ? 'mixed' : resolvedChecked,
128
+ disabled: resolvedDisabled
129
+ },
130
+ tabIndex: resolvedDisabled ? -1 : 0,
131
+ disabled: resolvedDisabled,
132
+ ...focusProps,
133
+ onPress: handleToggle,
134
+ onClick: handleToggle,
135
+ onKeyDown: composeEventHandlers(combinedProps.onKeyDown, handleKeyDown),
136
+ ...mergeDataAttributes(props, dataAttributes({
137
+ checked: resolvedChecked,
138
+ disabled: resolvedDisabled,
139
+ hover: isHovered || isHoveredProp,
140
+ invalid: isInvalid || isInvalidProp,
141
+ readonly: resolvedReadOnly,
142
+ active: isPressed,
143
+ focus: isFocused,
144
+ indeterminate: resolvedIndeterminate,
145
+ focusVisible: isFocusVisible || isFocusVisibleProp
146
+ })),
147
+ children: children
148
+ })]
86
149
  })
87
150
  });
88
151
  });
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","Pressable","VisuallyHidden","useFocusRing","Slot","dataAttributes","mergeDataAttributes","CheckboxProvider","useCheckboxRoot","jsx","_jsx","jsxs","_jsxs","CheckboxRoot","asChild","children","props","ref","isHovered","isHoveredProp","isFocusVisible","isFocusVisibleProp","isChecked","isCheckedProp","isDisabled","isDisabledProp","isInvalid","isInvalidProp","isReadOnly","isReadOnlyProp","isIndeterminate","isIndeterminateProp","isFocused","isPressed","combinedProps","groupItemInputProps","mergedRef","inputRef","useInputRefForAria","focusProps","contextValue","Comp","value","tabIndex","role","accessibilityRole","checked","disabled","hover","invalid","readonly","active","focus","indeterminate","focusVisible","displayName"],"sourceRoot":"../../../src","sources":["checkbox/CheckboxRoot.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","Pressable","VisuallyHidden","composeEventHandlers","useFocusRing","Slot","dataAttributes","mergeDataAttributes","CheckboxProvider","useCheckboxRoot","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CheckboxRoot","asChild","children","props","ref","isHovered","isHoveredProp","isFocusVisible","isFocusVisibleProp","isChecked","isCheckedProp","isDisabled","isDisabledProp","isInvalid","isInvalidProp","isReadOnly","isReadOnlyProp","isIndeterminate","isIndeterminateProp","isFocused","isPressed","combinedProps","groupItemInputProps","mergedRef","inputRef","toggle","useInputRefForAria","focusProps","onPress","_onPress","onChange","_onChange","role","_role","tabIndex","_tabIndex","disabled","_disabled","checked","_checked","value","_value","type","_type","name","_name","form","_form","required","_required","inputAriaProps","resolvedChecked","resolvedIndeterminate","resolvedDisabled","resolvedReadOnly","ariaChecked","handleToggle","handleKeyDown","event","key","preventDefault","contextValue","Comp","readOnly","style","pointerEvents","undefined","accessibilityRole","accessibilityState","onClick","onKeyDown","hover","invalid","readonly","active","focus","indeterminate","focusVisible","displayName"],"sourceRoot":"../../../src","sources":["checkbox/CheckboxRoot.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useContext, useRef } from 'react';
3
+ import { useCallback, useContext, useRef } from 'react';
4
4
  import { mergeRefs, useFormControlContext } from '@cdx-ui/utils';
5
5
  import { useCheckbox } from '@react-native-aria/checkbox';
6
6
  import { useHover } from '@react-native-aria/interactions';
@@ -10,27 +10,35 @@ export function useCheckboxRoot(props, ref, {
10
10
  useInputRefForAria = false
11
11
  } = {}) {
12
12
  const formControlContext = useFormControlContext();
13
- const {
13
+ const checkboxGroupContext = useContext(CheckboxGroupContext);
14
+
15
+ // Only pull field-state flags from FormControl — never spread the whole context
16
+ // (ids, setters, htmlProps) onto the host element.
17
+ const isInvalid = props.isInvalid ?? formControlContext.isInvalid;
18
+ const isReadOnly = props.isReadOnly ?? formControlContext.isReadOnly ?? checkboxGroupContext?.state.isReadOnly;
19
+ const isDisabled = props.isDisabled ?? formControlContext.isDisabled ?? checkboxGroupContext?.state.isDisabled;
20
+ const isIndeterminate = props.isIndeterminate;
21
+ const combinedProps = {
22
+ ...props,
14
23
  isInvalid,
15
24
  isReadOnly,
16
- isIndeterminate,
17
- ...combinedProps
18
- } = {
19
- ...formControlContext,
20
- ...props
25
+ isDisabled,
26
+ isIndeterminate
21
27
  };
22
- const checkboxGroupContext = useContext(CheckboxGroupContext);
23
28
  const state = useToggleState({
24
- ...combinedProps,
25
29
  defaultSelected: props.defaultIsChecked,
26
- isSelected: props.isChecked
30
+ isSelected: props.isChecked,
31
+ onChange: props.onChange,
32
+ isReadOnly,
33
+ isDisabled
27
34
  });
28
35
  const rootRef = useRef(null);
29
36
  const inputRef = useRef(null);
30
37
  const mergedRootRef = mergeRefs(ref, rootRef);
31
- const ariaLabel = combinedProps['aria-label'] || combinedProps.value || 'Checkbox';
38
+ const ariaLabel = props['aria-label'] || props.value || 'Checkbox';
32
39
  const groupToggleState = useToggleState(checkboxGroupContext ? {
33
- isReadOnly: isReadOnly || checkboxGroupContext.state.isReadOnly,
40
+ isReadOnly: !!isReadOnly,
41
+ isDisabled: !!isDisabled,
34
42
  isSelected: checkboxGroupContext.state.isSelected(combinedProps.value),
35
43
  onChange(isSelected) {
36
44
  if (isSelected) {
@@ -43,24 +51,29 @@ export function useCheckboxRoot(props, ref, {
43
51
  } : {
44
52
  isSelected: false
45
53
  });
54
+ const toggleState = checkboxGroupContext ? groupToggleState : state;
46
55
  const {
47
56
  inputProps: groupItemInputProps
48
57
  } = useCheckbox({
49
58
  ...combinedProps,
50
59
  'aria-label': ariaLabel,
51
- ...(checkboxGroupContext && {
52
- isReadOnly: isReadOnly || checkboxGroupContext.state.isReadOnly,
53
- isDisabled: combinedProps.isDisabled || checkboxGroupContext.state.isDisabled
54
- })
55
- }, checkboxGroupContext ? groupToggleState : state, useInputRefForAria ? inputRef : rootRef);
60
+ isReadOnly: !!isReadOnly,
61
+ isDisabled: !!isDisabled
62
+ }, toggleState, useInputRefForAria ? inputRef : rootRef);
56
63
  const {
57
64
  checked: isChecked,
58
- disabled: isDisabled
65
+ disabled: isDisabledFromInput
59
66
  } = groupItemInputProps;
60
67
  const {
61
68
  hoverProps,
62
69
  isHovered
63
70
  } = useHover({}, rootRef);
71
+ const toggle = useCallback(() => {
72
+ if (isDisabled || isReadOnly) {
73
+ return;
74
+ }
75
+ toggleState.toggle();
76
+ }, [isDisabled, isReadOnly, toggleState]);
64
77
  return {
65
78
  combinedProps,
66
79
  isInvalid,
@@ -68,11 +81,12 @@ export function useCheckboxRoot(props, ref, {
68
81
  isIndeterminate,
69
82
  groupItemInputProps,
70
83
  isChecked,
71
- isDisabled,
84
+ isDisabled: isDisabledFromInput,
72
85
  isHovered,
73
86
  hoverProps,
74
87
  mergedRef: mergedRootRef,
75
- inputRef
88
+ inputRef,
89
+ toggle
76
90
  };
77
91
  }
78
92
  //# sourceMappingURL=useCheckboxRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","useRef","mergeRefs","useFormControlContext","useCheckbox","useHover","useToggleState","CheckboxGroupContext","useCheckboxRoot","props","ref","useInputRefForAria","formControlContext","isInvalid","isReadOnly","isIndeterminate","combinedProps","checkboxGroupContext","state","defaultSelected","defaultIsChecked","isSelected","isChecked","rootRef","inputRef","mergedRootRef","ariaLabel","value","groupToggleState","onChange","addValue","removeValue","inputProps","groupItemInputProps","isDisabled","checked","disabled","hoverProps","isHovered","mergedRef"],"sourceRoot":"../../../src","sources":["checkbox/useCheckboxRoot.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC1C,SAASC,SAAS,EAAEC,qBAAqB,QAAQ,eAAe;AAChE,SAASC,WAAW,QAAQ,6BAA6B;AACzD,SAASC,QAAQ,QAAQ,iCAAiC;AAC1D,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,oBAAoB,QAAQ,WAAW;AAOhD,OAAO,SAASC,eAAeA,CAC7BC,KAAqB,EACrBC,GAAwB,EACxB;EAAEC,kBAAkB,GAAG;AAA8B,CAAC,GAAG,CAAC,CAAC,EAC3D;EACA,MAAMC,kBAAkB,GAAGT,qBAAqB,CAAC,CAAC;EAElD,MAAM;IAAEU,SAAS;IAAEC,UAAU;IAAEC,eAAe;IAAE,GAAGC;EAAc,CAAC,GAAG;IACnE,GAAGJ,kBAAkB;IACrB,GAAGH;EACL,CAAC;EAED,MAAMQ,oBAAoB,GAAGjB,UAAU,CAACO,oBAAoB,CAAC;EAE7D,MAAMW,KAAK,GAAGZ,cAAc,CAAC;IAC3B,GAAGU,aAAa;IAChBG,eAAe,EAAEV,KAAK,CAACW,gBAAgB;IACvCC,UAAU,EAAEZ,KAAK,CAACa;EACpB,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGtB,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAMuB,QAAQ,GAAGvB,MAAM,CAA0B,IAAI,CAAC;EACtD,MAAMwB,aAAa,GAAGvB,SAAS,CAACQ,GAAG,EAASa,OAAc,CAAC;EAC3D,MAAMG,SAAS,GAAGV,aAAa,CAAC,YAAY,CAAC,IAAIA,aAAa,CAACW,KAAK,IAAI,UAAU;EAElF,MAAMC,gBAAgB,GAAGtB,cAAc,CACrCW,oBAAoB,GAChB;IACEH,UAAU,EAAEA,UAAU,IAAIG,oBAAoB,CAACC,KAAK,CAACJ,UAAU;IAC/DO,UAAU,EAAEJ,oBAAoB,CAACC,KAAK,CAACG,UAAU,CAACL,aAAa,CAACW,KAAK,CAAC;IACtEE,QAAQA,CAACR,UAAmB,EAAE;MAC5B,IAAIA,UAAU,EAAE;QACdJ,oBAAoB,CAACC,KAAK,CAACY,QAAQ,CAACd,aAAa,CAACW,KAAK,CAAC;MAC1D,CAAC,MAAM;QACLV,oBAAoB,CAACC,KAAK,CAACa,WAAW,CAACf,aAAa,CAACW,KAAK,CAAC;MAC7D;MACAX,aAAa,CAACa,QAAQ,GAAGR,UAAU,CAAC;IACtC;EACF,CAAC,GACD;IAAEA,UAAU,EAAE;EAAM,CAC1B,CAAC;EAED,MAAM;IAAEW,UAAU,EAAEC;EAAoB,CAAC,GAAG7B,WAAW,CACrD;IACE,GAAGY,aAAa;IAChB,YAAY,EAAEU,SAAS;IACvB,IAAIT,oBAAoB,IAAI;MAC1BH,UAAU,EAAEA,UAAU,IAAIG,oBAAoB,CAACC,KAAK,CAACJ,UAAU;MAC/DoB,UAAU,EAAElB,aAAa,CAACkB,UAAU,IAAIjB,oBAAoB,CAACC,KAAK,CAACgB;IACrE,CAAC;EACH,CAAC,EACDjB,oBAAoB,GAAGW,gBAAgB,GAAGV,KAAK,EAC9CP,kBAAkB,GAAGa,QAAQ,GAAGD,OACnC,CAAC;EAED,MAAM;IAAEY,OAAO,EAAEb,SAAS;IAAEc,QAAQ,EAAEF;EAAW,CAAC,GAAGD,mBAAmB;EAExE,MAAM;IAAEI,UAAU;IAAEC;EAAU,CAAC,GAAGjC,QAAQ,CAAC,CAAC,CAAC,EAAEkB,OAAO,CAAC;EAEvD,OAAO;IACLP,aAAa;IACbH,SAAS;IACTC,UAAU;IACVC,eAAe;IACfkB,mBAAmB;IACnBX,SAAS;IACTY,UAAU;IACVI,SAAS;IACTD,UAAU;IACVE,SAAS,EAAEd,aAAa;IACxBD;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useContext","useRef","mergeRefs","useFormControlContext","useCheckbox","useHover","useToggleState","CheckboxGroupContext","useCheckboxRoot","props","ref","useInputRefForAria","formControlContext","checkboxGroupContext","isInvalid","isReadOnly","state","isDisabled","isIndeterminate","combinedProps","defaultSelected","defaultIsChecked","isSelected","isChecked","onChange","rootRef","inputRef","mergedRootRef","ariaLabel","value","groupToggleState","addValue","removeValue","toggleState","inputProps","groupItemInputProps","checked","disabled","isDisabledFromInput","hoverProps","isHovered","toggle","mergedRef"],"sourceRoot":"../../../src","sources":["checkbox/useCheckboxRoot.ts"],"mappings":"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","ignoreList":[]}