@cdx-ui/primitives 0.0.1-beta.9 → 0.0.1-beta.91

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 (1035) hide show
  1. package/README.md +67 -32
  2. package/lib/commonjs/CLAUDE.md +84 -0
  3. package/lib/commonjs/avatar/AvatarRoot.js +38 -0
  4. package/lib/commonjs/avatar/AvatarRoot.js.map +1 -0
  5. package/lib/commonjs/avatar/index.js +14 -24
  6. package/lib/commonjs/avatar/index.js.map +1 -1
  7. package/lib/commonjs/button/ButtonRoot.js +85 -0
  8. package/lib/commonjs/button/ButtonRoot.js.map +1 -0
  9. package/lib/commonjs/button/index.js +7 -24
  10. package/lib/commonjs/button/index.js.map +1 -1
  11. package/lib/commonjs/checkbox/CheckboxGroup.js +52 -0
  12. package/lib/commonjs/checkbox/CheckboxGroup.js.map +1 -0
  13. package/lib/commonjs/checkbox/CheckboxRoot.js +103 -0
  14. package/lib/commonjs/checkbox/CheckboxRoot.js.map +1 -0
  15. package/lib/commonjs/checkbox/CheckboxRoot.web.js +94 -0
  16. package/lib/commonjs/checkbox/CheckboxRoot.web.js.map +1 -0
  17. package/lib/commonjs/checkbox/index.js +21 -24
  18. package/lib/commonjs/checkbox/index.js.map +1 -1
  19. package/lib/commonjs/chip/ChipRoot.js +147 -0
  20. package/lib/commonjs/chip/ChipRoot.js.map +1 -0
  21. package/lib/commonjs/chip/context.js +11 -0
  22. package/lib/commonjs/chip/context.js.map +1 -0
  23. package/lib/commonjs/chip/index.js +20 -0
  24. package/lib/commonjs/chip/index.js.map +1 -0
  25. package/lib/commonjs/chip/types.js.map +1 -0
  26. package/lib/commonjs/dialog/DialogClose.js +32 -0
  27. package/lib/commonjs/dialog/DialogClose.js.map +1 -0
  28. package/lib/commonjs/dialog/DialogPopup.js +161 -0
  29. package/lib/commonjs/dialog/DialogPopup.js.map +1 -0
  30. package/lib/commonjs/dialog/DialogRoot.js +57 -0
  31. package/lib/commonjs/dialog/DialogRoot.js.map +1 -0
  32. package/lib/commonjs/dialog/DialogTrigger.js +32 -0
  33. package/lib/commonjs/dialog/DialogTrigger.js.map +1 -0
  34. package/lib/commonjs/dialog/index.js +28 -41
  35. package/lib/commonjs/dialog/index.js.map +1 -1
  36. package/lib/commonjs/field/FieldLabel.js +48 -0
  37. package/lib/commonjs/field/FieldLabel.js.map +1 -0
  38. package/lib/commonjs/field/FieldLabel.web.js +60 -0
  39. package/lib/commonjs/field/FieldLabel.web.js.map +1 -0
  40. package/lib/commonjs/field/FieldRoot.js +38 -0
  41. package/lib/commonjs/field/FieldRoot.js.map +1 -0
  42. package/lib/commonjs/field/index.js +14 -40
  43. package/lib/commonjs/field/index.js.map +1 -1
  44. package/lib/commonjs/form/FormRoot.js +25 -0
  45. package/lib/commonjs/form/FormRoot.js.map +1 -0
  46. package/lib/commonjs/form/FormRoot.web.js +27 -0
  47. package/lib/commonjs/form/FormRoot.web.js.map +1 -0
  48. package/lib/commonjs/form/index.js +7 -9
  49. package/lib/commonjs/form/index.js.map +1 -1
  50. package/lib/commonjs/full-window-overlay/index.js +47 -0
  51. package/lib/commonjs/full-window-overlay/index.js.map +1 -0
  52. package/lib/commonjs/full-window-overlay/index.web.js +19 -0
  53. package/lib/commonjs/full-window-overlay/index.web.js.map +1 -0
  54. package/lib/commonjs/index.js +122 -5
  55. package/lib/commonjs/index.js.map +1 -1
  56. package/lib/commonjs/input/InputField.android.js +98 -0
  57. package/lib/commonjs/input/InputField.android.js.map +1 -0
  58. package/lib/commonjs/input/InputField.js +92 -0
  59. package/lib/commonjs/input/InputField.js.map +1 -0
  60. package/lib/commonjs/input/InputField.web.js +131 -0
  61. package/lib/commonjs/input/InputField.web.js.map +1 -0
  62. package/lib/commonjs/input/InputRoot.js +84 -0
  63. package/lib/commonjs/input/InputRoot.js.map +1 -0
  64. package/lib/commonjs/input/index.js +21 -16
  65. package/lib/commonjs/input/index.js.map +1 -1
  66. package/lib/commonjs/link/LinkRoot.js +88 -0
  67. package/lib/commonjs/link/LinkRoot.js.map +1 -0
  68. package/lib/commonjs/link/context.js +11 -0
  69. package/lib/commonjs/link/context.js.map +1 -0
  70. package/lib/commonjs/link/index.js +16 -3
  71. package/lib/commonjs/link/index.js.map +1 -1
  72. package/lib/commonjs/list-item/ListItemRoot.js +149 -0
  73. package/lib/commonjs/list-item/ListItemRoot.js.map +1 -0
  74. package/lib/commonjs/list-item/context.js.map +1 -1
  75. package/lib/commonjs/list-item/index.js +7 -36
  76. package/lib/commonjs/list-item/index.js.map +1 -1
  77. package/lib/commonjs/otp-input/OtpInputField.js +120 -0
  78. package/lib/commonjs/otp-input/OtpInputField.js.map +1 -0
  79. package/lib/commonjs/otp-input/index.js +39 -16
  80. package/lib/commonjs/otp-input/index.js.map +1 -1
  81. package/lib/commonjs/otp-input/useOtpInput.js +120 -0
  82. package/lib/commonjs/otp-input/useOtpInput.js.map +1 -0
  83. package/lib/commonjs/overlay/useDismissOverlay.js +0 -2
  84. package/lib/commonjs/overlay/useDismissOverlay.js.map +1 -1
  85. package/lib/commonjs/overlay/useEscapeKey.js +0 -2
  86. package/lib/commonjs/overlay/useEscapeKey.js.map +1 -1
  87. package/lib/commonjs/portal/index.js +17 -0
  88. package/lib/commonjs/portal/index.js.map +1 -0
  89. package/lib/commonjs/portal/portal.js +110 -0
  90. package/lib/commonjs/portal/portal.js.map +1 -0
  91. package/lib/commonjs/progress-bar/ProgressBarIndicator.js +45 -0
  92. package/lib/commonjs/progress-bar/ProgressBarIndicator.js.map +1 -0
  93. package/lib/commonjs/progress-bar/ProgressBarRoot.js +100 -0
  94. package/lib/commonjs/progress-bar/ProgressBarRoot.js.map +1 -0
  95. package/lib/commonjs/progress-bar/context.js.map +1 -0
  96. package/lib/commonjs/progress-bar/index.js +27 -0
  97. package/lib/commonjs/progress-bar/index.js.map +1 -0
  98. package/lib/commonjs/progress-bar/types.js +6 -0
  99. package/lib/commonjs/progress-bar/types.js.map +1 -0
  100. package/lib/commonjs/radio/RadioGroup.js +74 -0
  101. package/lib/commonjs/radio/RadioGroup.js.map +1 -0
  102. package/lib/commonjs/radio/RadioRoot.js +99 -0
  103. package/lib/commonjs/radio/RadioRoot.js.map +1 -0
  104. package/lib/commonjs/radio/RadioRoot.web.js +91 -0
  105. package/lib/commonjs/radio/RadioRoot.web.js.map +1 -0
  106. package/lib/commonjs/radio/context.js +14 -0
  107. package/lib/commonjs/radio/context.js.map +1 -0
  108. package/lib/commonjs/radio/index.js +27 -0
  109. package/lib/commonjs/radio/index.js.map +1 -0
  110. package/lib/commonjs/radio/types.js +6 -0
  111. package/lib/commonjs/radio/types.js.map +1 -0
  112. package/lib/commonjs/radio/useRadioRoot.js +64 -0
  113. package/lib/commonjs/radio/useRadioRoot.js.map +1 -0
  114. package/lib/commonjs/select/SelectContent.js +105 -0
  115. package/lib/commonjs/select/SelectContent.js.map +1 -0
  116. package/lib/commonjs/select/SelectItem.js +104 -0
  117. package/lib/commonjs/select/SelectItem.js.map +1 -0
  118. package/lib/commonjs/select/SelectRoot.js +105 -0
  119. package/lib/commonjs/select/SelectRoot.js.map +1 -0
  120. package/lib/commonjs/select/SelectTrigger.js +72 -0
  121. package/lib/commonjs/select/SelectTrigger.js.map +1 -0
  122. package/lib/commonjs/select/SelectTrigger.web.js +175 -0
  123. package/lib/commonjs/select/SelectTrigger.web.js.map +1 -0
  124. package/lib/commonjs/select/context.js +3 -12
  125. package/lib/commonjs/select/context.js.map +1 -1
  126. package/lib/commonjs/select/index.js +41 -32
  127. package/lib/commonjs/select/index.js.map +1 -1
  128. package/lib/commonjs/select/useContentFocus.js +1 -1
  129. package/lib/commonjs/select/useSelectTrigger.js +206 -0
  130. package/lib/commonjs/select/useSelectTrigger.js.map +1 -0
  131. package/lib/commonjs/select/useSelectTrigger.web.js +192 -0
  132. package/lib/commonjs/select/useSelectTrigger.web.js.map +1 -0
  133. package/lib/commonjs/slot/index.js +141 -0
  134. package/lib/commonjs/slot/index.js.map +1 -0
  135. package/lib/commonjs/switch/index.js +7 -9
  136. package/lib/commonjs/switch/index.js.map +1 -1
  137. package/lib/commonjs/switch/useSwitch.js +81 -0
  138. package/lib/commonjs/switch/useSwitch.js.map +1 -0
  139. package/lib/commonjs/tile/TileGroup.js +111 -0
  140. package/lib/commonjs/tile/TileGroup.js.map +1 -0
  141. package/lib/commonjs/tile/TileRoot.js +129 -0
  142. package/lib/commonjs/tile/TileRoot.js.map +1 -0
  143. package/lib/commonjs/tile/context.js +30 -0
  144. package/lib/commonjs/tile/context.js.map +1 -0
  145. package/lib/commonjs/tile/index.js +33 -0
  146. package/lib/commonjs/tile/index.js.map +1 -0
  147. package/lib/commonjs/tile/types.js +6 -0
  148. package/lib/commonjs/tile/types.js.map +1 -0
  149. package/lib/commonjs/toast/ToastRoot.js +41 -0
  150. package/lib/commonjs/toast/ToastRoot.js.map +1 -0
  151. package/lib/commonjs/toast/context.js +11 -0
  152. package/lib/commonjs/toast/context.js.map +1 -0
  153. package/lib/commonjs/toast/index.js +26 -0
  154. package/lib/commonjs/toast/index.js.map +1 -0
  155. package/lib/commonjs/toast/types.js +6 -0
  156. package/lib/commonjs/toast/types.js.map +1 -0
  157. package/lib/commonjs/utils/dataAttributes.js +12 -25
  158. package/lib/commonjs/utils/dataAttributes.js.map +1 -1
  159. package/lib/commonjs/utils/dataAttributes.web.js +25 -0
  160. package/lib/commonjs/utils/dataAttributes.web.js.map +1 -1
  161. package/lib/commonjs/utils/domDataAttributes.js +64 -0
  162. package/lib/commonjs/utils/domDataAttributes.js.map +1 -0
  163. package/lib/module/CLAUDE.md +84 -0
  164. package/lib/module/avatar/AvatarRoot.js +34 -0
  165. package/lib/module/avatar/AvatarRoot.js.map +1 -0
  166. package/lib/module/avatar/index.js +2 -23
  167. package/lib/module/avatar/index.js.map +1 -1
  168. package/lib/module/button/ButtonRoot.js +81 -0
  169. package/lib/module/button/ButtonRoot.js.map +1 -0
  170. package/lib/module/button/index.js +1 -23
  171. package/lib/module/button/index.js.map +1 -1
  172. package/lib/module/checkbox/CheckboxGroup.js +48 -0
  173. package/lib/module/checkbox/CheckboxGroup.js.map +1 -0
  174. package/lib/module/checkbox/CheckboxRoot.js +99 -0
  175. package/lib/module/checkbox/CheckboxRoot.js.map +1 -0
  176. package/lib/module/checkbox/CheckboxRoot.web.js +90 -0
  177. package/lib/module/checkbox/CheckboxRoot.web.js.map +1 -0
  178. package/lib/module/checkbox/index.js +3 -23
  179. package/lib/module/checkbox/index.js.map +1 -1
  180. package/lib/module/chip/ChipRoot.js +142 -0
  181. package/lib/module/chip/ChipRoot.js.map +1 -0
  182. package/lib/module/chip/context.js +5 -0
  183. package/lib/module/chip/context.js.map +1 -0
  184. package/lib/module/chip/index.js +5 -0
  185. package/lib/module/chip/index.js.map +1 -0
  186. package/lib/module/chip/types.js.map +1 -0
  187. package/lib/module/dialog/DialogClose.js +28 -0
  188. package/lib/module/dialog/DialogClose.js.map +1 -0
  189. package/lib/module/dialog/DialogPopup.js +157 -0
  190. package/lib/module/dialog/DialogPopup.js.map +1 -0
  191. package/lib/module/dialog/DialogRoot.js +53 -0
  192. package/lib/module/dialog/DialogRoot.js.map +1 -0
  193. package/lib/module/dialog/DialogTrigger.js +28 -0
  194. package/lib/module/dialog/DialogTrigger.js.map +1 -0
  195. package/lib/module/dialog/index.js +5 -42
  196. package/lib/module/dialog/index.js.map +1 -1
  197. package/lib/module/field/FieldLabel.js +44 -0
  198. package/lib/module/field/FieldLabel.js.map +1 -0
  199. package/lib/module/field/FieldLabel.web.js +55 -0
  200. package/lib/module/field/FieldLabel.web.js.map +1 -0
  201. package/lib/module/field/FieldRoot.js +34 -0
  202. package/lib/module/field/FieldRoot.js.map +1 -0
  203. package/lib/module/field/index.js +2 -39
  204. package/lib/module/field/index.js.map +1 -1
  205. package/lib/module/form/FormRoot.js +21 -0
  206. package/lib/module/form/FormRoot.js.map +1 -0
  207. package/lib/module/form/FormRoot.web.js +22 -0
  208. package/lib/module/form/FormRoot.web.js.map +1 -0
  209. package/lib/module/form/index.js +1 -8
  210. package/lib/module/form/index.js.map +1 -1
  211. package/lib/module/full-window-overlay/index.js +43 -0
  212. package/lib/module/full-window-overlay/index.js.map +1 -0
  213. package/lib/module/full-window-overlay/index.web.js +15 -0
  214. package/lib/module/full-window-overlay/index.web.js.map +1 -0
  215. package/lib/module/index.js +11 -2
  216. package/lib/module/index.js.map +1 -1
  217. package/lib/module/input/InputField.android.js +94 -0
  218. package/lib/module/input/InputField.android.js.map +1 -0
  219. package/lib/module/input/InputField.js +88 -0
  220. package/lib/module/input/InputField.js.map +1 -0
  221. package/lib/module/input/InputField.web.js +126 -0
  222. package/lib/module/input/InputField.web.js.map +1 -0
  223. package/lib/module/input/InputRoot.js +80 -0
  224. package/lib/module/input/InputRoot.js.map +1 -0
  225. package/lib/module/input/index.js +3 -15
  226. package/lib/module/input/index.js.map +1 -1
  227. package/lib/module/link/LinkRoot.js +84 -0
  228. package/lib/module/link/LinkRoot.js.map +1 -0
  229. package/lib/module/link/context.js +5 -0
  230. package/lib/module/link/context.js.map +1 -0
  231. package/lib/module/link/index.js +2 -1
  232. package/lib/module/link/index.js.map +1 -1
  233. package/lib/module/list-item/ListItemRoot.js +144 -0
  234. package/lib/module/list-item/ListItemRoot.js.map +1 -0
  235. package/lib/module/list-item/context.js.map +1 -1
  236. package/lib/module/list-item/index.js +1 -35
  237. package/lib/module/list-item/index.js.map +1 -1
  238. package/lib/module/otp-input/OtpInputField.js +116 -0
  239. package/lib/module/otp-input/OtpInputField.js.map +1 -0
  240. package/lib/module/otp-input/index.js +3 -15
  241. package/lib/module/otp-input/index.js.map +1 -1
  242. package/lib/module/otp-input/useOtpInput.js +116 -0
  243. package/lib/module/otp-input/useOtpInput.js.map +1 -0
  244. package/lib/module/overlay/useDismissOverlay.js +0 -2
  245. package/lib/module/overlay/useDismissOverlay.js.map +1 -1
  246. package/lib/module/overlay/useEscapeKey.js +0 -2
  247. package/lib/module/overlay/useEscapeKey.js.map +1 -1
  248. package/lib/module/portal/index.js +4 -0
  249. package/lib/module/portal/index.js.map +1 -0
  250. package/lib/module/portal/portal.js +103 -0
  251. package/lib/module/portal/portal.js.map +1 -0
  252. package/lib/module/progress-bar/ProgressBarIndicator.js +41 -0
  253. package/lib/module/progress-bar/ProgressBarIndicator.js.map +1 -0
  254. package/lib/module/progress-bar/ProgressBarRoot.js +96 -0
  255. package/lib/module/progress-bar/ProgressBarRoot.js.map +1 -0
  256. package/lib/module/progress-bar/context.js.map +1 -0
  257. package/lib/module/progress-bar/index.js +6 -0
  258. package/lib/module/progress-bar/index.js.map +1 -0
  259. package/lib/module/progress-bar/types.js +4 -0
  260. package/lib/module/progress-bar/types.js.map +1 -0
  261. package/lib/module/radio/RadioGroup.js +70 -0
  262. package/lib/module/radio/RadioGroup.js.map +1 -0
  263. package/lib/module/radio/RadioRoot.js +95 -0
  264. package/lib/module/radio/RadioRoot.js.map +1 -0
  265. package/lib/module/radio/RadioRoot.web.js +87 -0
  266. package/lib/module/radio/RadioRoot.web.js.map +1 -0
  267. package/lib/module/radio/context.js +7 -0
  268. package/lib/module/radio/context.js.map +1 -0
  269. package/lib/module/radio/index.js +6 -0
  270. package/lib/module/radio/index.js.map +1 -0
  271. package/lib/module/radio/types.js +4 -0
  272. package/lib/module/radio/types.js.map +1 -0
  273. package/lib/module/radio/useRadioRoot.js +60 -0
  274. package/lib/module/radio/useRadioRoot.js.map +1 -0
  275. package/lib/module/select/SelectContent.js +100 -0
  276. package/lib/module/select/SelectContent.js.map +1 -0
  277. package/lib/module/select/SelectItem.js +100 -0
  278. package/lib/module/select/SelectItem.js.map +1 -0
  279. package/lib/module/select/SelectRoot.js +101 -0
  280. package/lib/module/select/SelectRoot.js.map +1 -0
  281. package/lib/module/select/SelectTrigger.js +67 -0
  282. package/lib/module/select/SelectTrigger.js.map +1 -0
  283. package/lib/module/select/SelectTrigger.web.js +170 -0
  284. package/lib/module/select/SelectTrigger.web.js.map +1 -0
  285. package/lib/module/select/context.js +1 -8
  286. package/lib/module/select/context.js.map +1 -1
  287. package/lib/module/select/index.js +5 -31
  288. package/lib/module/select/index.js.map +1 -1
  289. package/lib/module/select/useContentFocus.js +1 -1
  290. package/lib/module/select/useSelectTrigger.js +202 -0
  291. package/lib/module/select/useSelectTrigger.js.map +1 -0
  292. package/lib/module/select/useSelectTrigger.web.js +188 -0
  293. package/lib/module/select/useSelectTrigger.web.js.map +1 -0
  294. package/lib/module/slot/index.js +135 -0
  295. package/lib/module/slot/index.js.map +1 -0
  296. package/lib/module/switch/index.js +1 -8
  297. package/lib/module/switch/index.js.map +1 -1
  298. package/lib/module/switch/useSwitch.js +77 -0
  299. package/lib/module/switch/useSwitch.js.map +1 -0
  300. package/lib/module/tile/TileGroup.js +107 -0
  301. package/lib/module/tile/TileGroup.js.map +1 -0
  302. package/lib/module/tile/TileRoot.js +125 -0
  303. package/lib/module/tile/TileRoot.js.map +1 -0
  304. package/lib/module/tile/context.js +21 -0
  305. package/lib/module/tile/context.js.map +1 -0
  306. package/lib/module/tile/index.js +6 -0
  307. package/lib/module/tile/index.js.map +1 -0
  308. package/lib/module/tile/types.js +4 -0
  309. package/lib/module/tile/types.js.map +1 -0
  310. package/lib/module/toast/ToastRoot.js +37 -0
  311. package/lib/module/toast/ToastRoot.js.map +1 -0
  312. package/lib/module/toast/context.js +5 -0
  313. package/lib/module/toast/context.js.map +1 -0
  314. package/lib/module/toast/index.js +5 -0
  315. package/lib/module/toast/index.js.map +1 -0
  316. package/lib/module/toast/types.js +4 -0
  317. package/lib/module/toast/types.js.map +1 -0
  318. package/lib/module/utils/dataAttributes.js +4 -22
  319. package/lib/module/utils/dataAttributes.js.map +1 -1
  320. package/lib/module/utils/dataAttributes.web.js +24 -0
  321. package/lib/module/utils/dataAttributes.web.js.map +1 -1
  322. package/lib/module/utils/domDataAttributes.js +59 -0
  323. package/lib/module/utils/domDataAttributes.js.map +1 -0
  324. package/lib/typescript/avatar/AvatarRoot.d.ts +8 -0
  325. package/lib/typescript/avatar/AvatarRoot.d.ts.map +1 -0
  326. package/lib/typescript/avatar/index.d.ts +3 -10
  327. package/lib/typescript/avatar/index.d.ts.map +1 -1
  328. package/lib/typescript/avatar/types.d.ts +1 -17
  329. package/lib/typescript/avatar/types.d.ts.map +1 -1
  330. package/lib/typescript/button/ButtonRoot.d.ts +9 -0
  331. package/lib/typescript/button/ButtonRoot.d.ts.map +1 -0
  332. package/lib/typescript/button/index.d.ts +1 -9
  333. package/lib/typescript/button/index.d.ts.map +1 -1
  334. package/lib/typescript/button/types.d.ts +1 -34
  335. package/lib/typescript/button/types.d.ts.map +1 -1
  336. package/lib/typescript/checkbox/CheckboxGroup.d.ts +9 -0
  337. package/lib/typescript/checkbox/CheckboxGroup.d.ts.map +1 -0
  338. package/lib/typescript/checkbox/CheckboxRoot.d.ts +6 -0
  339. package/lib/typescript/checkbox/CheckboxRoot.d.ts.map +1 -0
  340. package/lib/typescript/checkbox/CheckboxRoot.web.d.ts +6 -0
  341. package/lib/typescript/checkbox/CheckboxRoot.web.d.ts.map +1 -0
  342. package/lib/typescript/checkbox/index.d.ts +4 -10
  343. package/lib/typescript/checkbox/index.d.ts.map +1 -1
  344. package/lib/typescript/checkbox/types.d.ts +0 -17
  345. package/lib/typescript/checkbox/types.d.ts.map +1 -1
  346. package/lib/typescript/checkbox/useCheckboxRoot.d.ts +3 -1
  347. package/lib/typescript/checkbox/useCheckboxRoot.d.ts.map +1 -1
  348. package/lib/typescript/chip/ChipRoot.d.ts +7 -0
  349. package/lib/typescript/chip/ChipRoot.d.ts.map +1 -0
  350. package/lib/typescript/chip/context.d.ts +6 -0
  351. package/lib/typescript/chip/context.d.ts.map +1 -0
  352. package/lib/typescript/chip/index.d.ts +4 -0
  353. package/lib/typescript/chip/index.d.ts.map +1 -0
  354. package/lib/typescript/chip/types.d.ts +16 -0
  355. package/lib/typescript/chip/types.d.ts.map +1 -0
  356. package/lib/typescript/dialog/DialogClose.d.ts +5 -0
  357. package/lib/typescript/dialog/DialogClose.d.ts.map +1 -0
  358. package/lib/typescript/dialog/DialogPopup.d.ts +14 -0
  359. package/lib/typescript/dialog/DialogPopup.d.ts.map +1 -0
  360. package/lib/typescript/dialog/DialogRoot.d.ts +7 -0
  361. package/lib/typescript/dialog/DialogRoot.d.ts.map +1 -0
  362. package/lib/typescript/dialog/DialogTrigger.d.ts +5 -0
  363. package/lib/typescript/dialog/DialogTrigger.d.ts.map +1 -0
  364. package/lib/typescript/dialog/index.d.ts +6 -17
  365. package/lib/typescript/dialog/index.d.ts.map +1 -1
  366. package/lib/typescript/dialog/types.d.ts +14 -25
  367. package/lib/typescript/dialog/types.d.ts.map +1 -1
  368. package/lib/typescript/field/FieldLabel.d.ts +12 -0
  369. package/lib/typescript/field/FieldLabel.d.ts.map +1 -0
  370. package/lib/typescript/field/FieldLabel.web.d.ts +24 -0
  371. package/lib/typescript/field/FieldLabel.web.d.ts.map +1 -0
  372. package/lib/typescript/field/FieldRoot.d.ts +8 -0
  373. package/lib/typescript/field/FieldRoot.d.ts.map +1 -0
  374. package/lib/typescript/field/index.d.ts +3 -12
  375. package/lib/typescript/field/index.d.ts.map +1 -1
  376. package/lib/typescript/field/types.d.ts +0 -20
  377. package/lib/typescript/field/types.d.ts.map +1 -1
  378. package/lib/typescript/form/FormRoot.d.ts +8 -0
  379. package/lib/typescript/form/FormRoot.d.ts.map +1 -0
  380. package/lib/typescript/form/FormRoot.web.d.ts +8 -0
  381. package/lib/typescript/form/FormRoot.web.d.ts.map +1 -0
  382. package/lib/typescript/form/index.d.ts +2 -5
  383. package/lib/typescript/form/index.d.ts.map +1 -1
  384. package/lib/typescript/form/types.d.ts +8 -9
  385. package/lib/typescript/form/types.d.ts.map +1 -1
  386. package/lib/typescript/full-window-overlay/index.d.ts +46 -0
  387. package/lib/typescript/full-window-overlay/index.d.ts.map +1 -0
  388. package/lib/typescript/full-window-overlay/index.web.d.ts +29 -0
  389. package/lib/typescript/full-window-overlay/index.web.d.ts.map +1 -0
  390. package/lib/typescript/index.d.ts +11 -2
  391. package/lib/typescript/index.d.ts.map +1 -1
  392. package/lib/typescript/input/InputField.android.d.ts +5 -0
  393. package/lib/typescript/input/InputField.android.d.ts.map +1 -0
  394. package/lib/typescript/input/InputField.d.ts +5 -0
  395. package/lib/typescript/input/InputField.d.ts.map +1 -0
  396. package/lib/typescript/input/InputField.web.d.ts +6 -0
  397. package/lib/typescript/input/InputField.web.d.ts.map +1 -0
  398. package/lib/typescript/input/InputRoot.d.ts +5 -0
  399. package/lib/typescript/input/InputRoot.d.ts.map +1 -0
  400. package/lib/typescript/input/index.d.ts +4 -8
  401. package/lib/typescript/input/index.d.ts.map +1 -1
  402. package/lib/typescript/input/types.d.ts +20 -39
  403. package/lib/typescript/input/types.d.ts.map +1 -1
  404. package/lib/typescript/link/LinkRoot.d.ts +9 -0
  405. package/lib/typescript/link/LinkRoot.d.ts.map +1 -0
  406. package/lib/typescript/link/context.d.ts +10 -0
  407. package/lib/typescript/link/context.d.ts.map +1 -0
  408. package/lib/typescript/link/index.d.ts +3 -1
  409. package/lib/typescript/link/index.d.ts.map +1 -1
  410. package/lib/typescript/link/types.d.ts +1 -0
  411. package/lib/typescript/link/types.d.ts.map +1 -1
  412. package/lib/typescript/list-item/ListItemRoot.d.ts +7 -0
  413. package/lib/typescript/list-item/ListItemRoot.d.ts.map +1 -0
  414. package/lib/typescript/list-item/context.d.ts +3 -3
  415. package/lib/typescript/list-item/context.d.ts.map +1 -1
  416. package/lib/typescript/list-item/index.d.ts +2 -14
  417. package/lib/typescript/list-item/index.d.ts.map +1 -1
  418. package/lib/typescript/list-item/types.d.ts +5 -59
  419. package/lib/typescript/list-item/types.d.ts.map +1 -1
  420. package/lib/typescript/otp-input/OtpInputField.d.ts +19 -0
  421. package/lib/typescript/otp-input/OtpInputField.d.ts.map +1 -0
  422. package/lib/typescript/otp-input/index.d.ts +4 -8
  423. package/lib/typescript/otp-input/index.d.ts.map +1 -1
  424. package/lib/typescript/otp-input/types.d.ts +0 -9
  425. package/lib/typescript/otp-input/types.d.ts.map +1 -1
  426. package/lib/typescript/otp-input/useOtpInput.d.ts +19 -0
  427. package/lib/typescript/otp-input/useOtpInput.d.ts.map +1 -0
  428. package/lib/typescript/overlay/useDismissOverlay.d.ts.map +1 -1
  429. package/lib/typescript/overlay/useEscapeKey.d.ts.map +1 -1
  430. package/lib/typescript/portal/index.d.ts +2 -0
  431. package/lib/typescript/portal/index.d.ts.map +1 -0
  432. package/lib/typescript/portal/portal.d.ts +25 -0
  433. package/lib/typescript/portal/portal.d.ts.map +1 -0
  434. package/lib/typescript/progress-bar/ProgressBarIndicator.d.ts +6 -0
  435. package/lib/typescript/progress-bar/ProgressBarIndicator.d.ts.map +1 -0
  436. package/lib/typescript/progress-bar/ProgressBarRoot.d.ts +6 -0
  437. package/lib/typescript/progress-bar/ProgressBarRoot.d.ts.map +1 -0
  438. package/lib/typescript/progress-bar/context.d.ts.map +1 -0
  439. package/lib/typescript/progress-bar/index.d.ts +6 -0
  440. package/lib/typescript/progress-bar/index.d.ts.map +1 -0
  441. package/lib/typescript/progress-bar/types.d.ts +22 -0
  442. package/lib/typescript/progress-bar/types.d.ts.map +1 -0
  443. package/lib/typescript/radio/RadioGroup.d.ts +9 -0
  444. package/lib/typescript/radio/RadioGroup.d.ts.map +1 -0
  445. package/lib/typescript/radio/RadioRoot.d.ts +6 -0
  446. package/lib/typescript/radio/RadioRoot.d.ts.map +1 -0
  447. package/lib/typescript/radio/RadioRoot.web.d.ts +6 -0
  448. package/lib/typescript/radio/RadioRoot.web.d.ts.map +1 -0
  449. package/lib/typescript/radio/context.d.ts +21 -0
  450. package/lib/typescript/radio/context.d.ts.map +1 -0
  451. package/lib/typescript/radio/index.d.ts +5 -0
  452. package/lib/typescript/radio/index.d.ts.map +1 -0
  453. package/lib/typescript/radio/types.d.ts +43 -0
  454. package/lib/typescript/radio/types.d.ts.map +1 -0
  455. package/lib/typescript/radio/useRadioRoot.d.ts +151 -0
  456. package/lib/typescript/radio/useRadioRoot.d.ts.map +1 -0
  457. package/lib/typescript/select/SelectContent.d.ts +9 -0
  458. package/lib/typescript/select/SelectContent.d.ts.map +1 -0
  459. package/lib/typescript/select/SelectItem.d.ts +8 -0
  460. package/lib/typescript/select/SelectItem.d.ts.map +1 -0
  461. package/lib/typescript/select/SelectRoot.d.ts +8 -0
  462. package/lib/typescript/select/SelectRoot.d.ts.map +1 -0
  463. package/lib/typescript/select/SelectTrigger.d.ts +9 -0
  464. package/lib/typescript/select/SelectTrigger.d.ts.map +1 -0
  465. package/lib/typescript/select/SelectTrigger.web.d.ts +13 -0
  466. package/lib/typescript/select/SelectTrigger.web.d.ts.map +1 -0
  467. package/lib/typescript/select/context.d.ts +1 -11
  468. package/lib/typescript/select/context.d.ts.map +1 -1
  469. package/lib/typescript/select/index.d.ts +6 -12
  470. package/lib/typescript/select/index.d.ts.map +1 -1
  471. package/lib/typescript/select/types.d.ts +1 -9
  472. package/lib/typescript/select/types.d.ts.map +1 -1
  473. package/lib/typescript/select/useContentFocus.d.ts +1 -1
  474. package/lib/typescript/select/useSelectTrigger.d.ts +77 -0
  475. package/lib/typescript/select/useSelectTrigger.d.ts.map +1 -0
  476. package/lib/typescript/select/useSelectTrigger.web.d.ts +16 -0
  477. package/lib/typescript/select/useSelectTrigger.web.d.ts.map +1 -0
  478. package/lib/typescript/slot/index.d.ts +8 -0
  479. package/lib/typescript/slot/index.d.ts.map +1 -0
  480. package/lib/typescript/switch/index.d.ts +2 -6
  481. package/lib/typescript/switch/index.d.ts.map +1 -1
  482. package/lib/typescript/switch/types.d.ts +35 -6
  483. package/lib/typescript/switch/types.d.ts.map +1 -1
  484. package/lib/typescript/switch/useSwitch.d.ts +20 -0
  485. package/lib/typescript/switch/useSwitch.d.ts.map +1 -0
  486. package/lib/typescript/tile/TileGroup.d.ts +5 -0
  487. package/lib/typescript/tile/TileGroup.d.ts.map +1 -0
  488. package/lib/typescript/tile/TileRoot.d.ts +5 -0
  489. package/lib/typescript/tile/TileRoot.d.ts.map +1 -0
  490. package/lib/typescript/tile/context.d.ts +9 -0
  491. package/lib/typescript/tile/context.d.ts.map +1 -0
  492. package/lib/typescript/tile/index.d.ts +5 -0
  493. package/lib/typescript/tile/index.d.ts.map +1 -0
  494. package/lib/typescript/tile/types.d.ts +108 -0
  495. package/lib/typescript/tile/types.d.ts.map +1 -0
  496. package/lib/typescript/toast/ToastRoot.d.ts +7 -0
  497. package/lib/typescript/toast/ToastRoot.d.ts.map +1 -0
  498. package/lib/typescript/toast/context.d.ts +6 -0
  499. package/lib/typescript/toast/context.d.ts.map +1 -0
  500. package/lib/typescript/toast/index.d.ts +3 -0
  501. package/lib/typescript/toast/index.d.ts.map +1 -0
  502. package/lib/typescript/toast/types.d.ts +16 -0
  503. package/lib/typescript/toast/types.d.ts.map +1 -0
  504. package/lib/typescript/utils/dataAttributes.d.ts +4 -10
  505. package/lib/typescript/utils/dataAttributes.d.ts.map +1 -1
  506. package/lib/typescript/utils/dataAttributes.web.d.ts +16 -0
  507. package/lib/typescript/utils/dataAttributes.web.d.ts.map +1 -1
  508. package/lib/typescript/utils/domDataAttributes.d.ts +28 -0
  509. package/lib/typescript/utils/domDataAttributes.d.ts.map +1 -0
  510. package/package.json +5 -2
  511. package/src/CLAUDE.md +84 -0
  512. package/src/avatar/AvatarRoot.tsx +39 -0
  513. package/src/avatar/index.ts +3 -43
  514. package/src/avatar/types.ts +1 -47
  515. package/src/button/ButtonRoot.tsx +115 -0
  516. package/src/button/index.ts +3 -0
  517. package/src/button/types.ts +1 -52
  518. package/src/checkbox/CheckboxGroup.tsx +50 -0
  519. package/src/checkbox/CheckboxRoot.tsx +102 -0
  520. package/src/checkbox/CheckboxRoot.web.tsx +92 -0
  521. package/src/checkbox/index.ts +4 -42
  522. package/src/checkbox/types.ts +1 -32
  523. package/src/chip/ChipRoot.tsx +168 -0
  524. package/src/chip/context.tsx +4 -0
  525. package/src/chip/index.ts +3 -0
  526. package/src/chip/types.ts +20 -0
  527. package/src/dialog/DialogClose.tsx +26 -0
  528. package/src/dialog/DialogPopup.tsx +162 -0
  529. package/src/dialog/DialogRoot.tsx +72 -0
  530. package/src/dialog/DialogTrigger.tsx +26 -0
  531. package/src/dialog/index.tsx +6 -87
  532. package/src/dialog/types.ts +14 -57
  533. package/src/field/FieldLabel.tsx +43 -0
  534. package/src/field/FieldLabel.web.tsx +71 -0
  535. package/src/field/FieldRoot.tsx +39 -0
  536. package/src/field/index.tsx +3 -68
  537. package/src/field/types.tsx +0 -34
  538. package/src/form/FormRoot.tsx +18 -0
  539. package/src/form/FormRoot.web.tsx +17 -0
  540. package/src/form/index.tsx +2 -12
  541. package/src/form/types.tsx +9 -11
  542. package/src/full-window-overlay/index.tsx +65 -0
  543. package/src/full-window-overlay/index.web.tsx +32 -0
  544. package/src/index.ts +15 -2
  545. package/src/input/InputField.android.tsx +107 -0
  546. package/src/input/InputField.tsx +100 -0
  547. package/src/input/InputField.web.tsx +141 -0
  548. package/src/input/InputRoot.tsx +104 -0
  549. package/src/input/index.tsx +4 -38
  550. package/src/input/types.ts +21 -53
  551. package/src/link/LinkRoot.tsx +108 -0
  552. package/src/link/context.tsx +10 -0
  553. package/src/link/index.tsx +3 -1
  554. package/src/link/types.ts +1 -0
  555. package/src/list-item/ListItemRoot.tsx +183 -0
  556. package/src/list-item/context.tsx +2 -2
  557. package/src/list-item/index.ts +1 -80
  558. package/src/list-item/types.ts +5 -89
  559. package/src/otp-input/OtpInputField.tsx +122 -0
  560. package/src/otp-input/index.ts +16 -0
  561. package/src/otp-input/types.ts +0 -23
  562. package/src/otp-input/useOtpInput.ts +156 -0
  563. package/src/overlay/useDismissOverlay.ts +0 -2
  564. package/src/overlay/useEscapeKey.ts +0 -2
  565. package/src/portal/index.ts +1 -0
  566. package/src/portal/portal.tsx +116 -0
  567. package/src/progress-bar/ProgressBarIndicator.tsx +34 -0
  568. package/src/progress-bar/ProgressBarRoot.tsx +117 -0
  569. package/src/progress-bar/index.ts +5 -0
  570. package/src/progress-bar/types.ts +24 -0
  571. package/src/radio/RadioGroup.tsx +85 -0
  572. package/src/radio/RadioRoot.tsx +98 -0
  573. package/src/radio/RadioRoot.web.tsx +90 -0
  574. package/src/radio/context.tsx +21 -0
  575. package/src/radio/index.ts +5 -0
  576. package/src/radio/types.ts +45 -0
  577. package/src/radio/useRadioRoot.ts +69 -0
  578. package/src/select/SelectContent.tsx +120 -0
  579. package/src/select/SelectItem.tsx +139 -0
  580. package/src/select/SelectRoot.tsx +154 -0
  581. package/src/select/SelectTrigger.tsx +82 -0
  582. package/src/select/SelectTrigger.web.tsx +238 -0
  583. package/src/select/context.tsx +1 -10
  584. package/src/select/index.ts +17 -0
  585. package/src/select/types.ts +1 -32
  586. package/src/select/useContentFocus.ts +1 -1
  587. package/src/select/useSelectTrigger.ts +345 -0
  588. package/src/select/useSelectTrigger.web.ts +267 -0
  589. package/src/slot/index.tsx +162 -0
  590. package/src/switch/index.ts +7 -16
  591. package/src/switch/types.ts +35 -10
  592. package/src/switch/useSwitch.ts +75 -0
  593. package/src/tile/TileGroup.tsx +137 -0
  594. package/src/tile/TileRoot.tsx +137 -0
  595. package/src/tile/context.tsx +23 -0
  596. package/src/tile/index.ts +18 -0
  597. package/src/tile/types.ts +121 -0
  598. package/src/toast/ToastRoot.tsx +39 -0
  599. package/src/toast/context.tsx +4 -0
  600. package/src/toast/index.ts +2 -0
  601. package/src/toast/types.ts +17 -0
  602. package/src/uniwind.d.ts +1 -0
  603. package/src/utils/dataAttributes.ts +7 -25
  604. package/src/utils/dataAttributes.web.ts +24 -0
  605. package/src/utils/domDataAttributes.ts +63 -0
  606. package/lib/commonjs/avatar/createAvatarBadge.js +0 -20
  607. package/lib/commonjs/avatar/createAvatarBadge.js.map +0 -1
  608. package/lib/commonjs/avatar/createAvatarIcon.js +0 -30
  609. package/lib/commonjs/avatar/createAvatarIcon.js.map +0 -1
  610. package/lib/commonjs/avatar/createAvatarImage.js +0 -51
  611. package/lib/commonjs/avatar/createAvatarImage.js.map +0 -1
  612. package/lib/commonjs/avatar/createAvatarRoot.js +0 -34
  613. package/lib/commonjs/avatar/createAvatarRoot.js.map +0 -1
  614. package/lib/commonjs/avatar/createAvatarText.js +0 -42
  615. package/lib/commonjs/avatar/createAvatarText.js.map +0 -1
  616. package/lib/commonjs/button/createButtonGroup.js +0 -80
  617. package/lib/commonjs/button/createButtonGroup.js.map +0 -1
  618. package/lib/commonjs/button/createButtonIcon.js +0 -18
  619. package/lib/commonjs/button/createButtonIcon.js.map +0 -1
  620. package/lib/commonjs/button/createButtonRoot.js +0 -81
  621. package/lib/commonjs/button/createButtonRoot.js.map +0 -1
  622. package/lib/commonjs/button/createButtonSpinner.js +0 -34
  623. package/lib/commonjs/button/createButtonSpinner.js.map +0 -1
  624. package/lib/commonjs/button/createButtonText.js +0 -38
  625. package/lib/commonjs/button/createButtonText.js.map +0 -1
  626. package/lib/commonjs/checkbox/createCheckboxGroup.js +0 -44
  627. package/lib/commonjs/checkbox/createCheckboxGroup.js.map +0 -1
  628. package/lib/commonjs/checkbox/createCheckboxIcon.js +0 -29
  629. package/lib/commonjs/checkbox/createCheckboxIcon.js.map +0 -1
  630. package/lib/commonjs/checkbox/createCheckboxIndicator.js +0 -47
  631. package/lib/commonjs/checkbox/createCheckboxIndicator.js.map +0 -1
  632. package/lib/commonjs/checkbox/createCheckboxLabel.js +0 -46
  633. package/lib/commonjs/checkbox/createCheckboxLabel.js.map +0 -1
  634. package/lib/commonjs/checkbox/createCheckboxRoot.js +0 -99
  635. package/lib/commonjs/checkbox/createCheckboxRoot.js.map +0 -1
  636. package/lib/commonjs/checkbox/createCheckboxRoot.web.js +0 -90
  637. package/lib/commonjs/checkbox/createCheckboxRoot.web.js.map +0 -1
  638. package/lib/commonjs/dialog/createDialogBody.js +0 -21
  639. package/lib/commonjs/dialog/createDialogBody.js.map +0 -1
  640. package/lib/commonjs/dialog/createDialogClose.js +0 -37
  641. package/lib/commonjs/dialog/createDialogClose.js.map +0 -1
  642. package/lib/commonjs/dialog/createDialogContent.js +0 -141
  643. package/lib/commonjs/dialog/createDialogContent.js.map +0 -1
  644. package/lib/commonjs/dialog/createDialogDescription.js +0 -30
  645. package/lib/commonjs/dialog/createDialogDescription.js.map +0 -1
  646. package/lib/commonjs/dialog/createDialogFooter.js +0 -21
  647. package/lib/commonjs/dialog/createDialogFooter.js.map +0 -1
  648. package/lib/commonjs/dialog/createDialogHeader.js +0 -21
  649. package/lib/commonjs/dialog/createDialogHeader.js.map +0 -1
  650. package/lib/commonjs/dialog/createDialogRoot.js +0 -54
  651. package/lib/commonjs/dialog/createDialogRoot.js.map +0 -1
  652. package/lib/commonjs/dialog/createDialogTitle.js +0 -21
  653. package/lib/commonjs/dialog/createDialogTitle.js.map +0 -1
  654. package/lib/commonjs/dialog/createDialogTrigger.js +0 -37
  655. package/lib/commonjs/dialog/createDialogTrigger.js.map +0 -1
  656. package/lib/commonjs/field/createFieldError.js +0 -41
  657. package/lib/commonjs/field/createFieldError.js.map +0 -1
  658. package/lib/commonjs/field/createFieldErrorIcon.js +0 -18
  659. package/lib/commonjs/field/createFieldErrorIcon.js.map +0 -1
  660. package/lib/commonjs/field/createFieldErrorText.js +0 -18
  661. package/lib/commonjs/field/createFieldErrorText.js.map +0 -1
  662. package/lib/commonjs/field/createFieldHelper.js +0 -41
  663. package/lib/commonjs/field/createFieldHelper.js.map +0 -1
  664. package/lib/commonjs/field/createFieldHelperText.js +0 -18
  665. package/lib/commonjs/field/createFieldHelperText.js.map +0 -1
  666. package/lib/commonjs/field/createFieldLabel.js +0 -36
  667. package/lib/commonjs/field/createFieldLabel.js.map +0 -1
  668. package/lib/commonjs/field/createFieldRoot.js +0 -35
  669. package/lib/commonjs/field/createFieldRoot.js.map +0 -1
  670. package/lib/commonjs/form/createFormRoot.js +0 -21
  671. package/lib/commonjs/form/createFormRoot.js.map +0 -1
  672. package/lib/commonjs/input/createInputField.js +0 -95
  673. package/lib/commonjs/input/createInputField.js.map +0 -1
  674. package/lib/commonjs/input/createInputRoot.js +0 -82
  675. package/lib/commonjs/input/createInputRoot.js.map +0 -1
  676. package/lib/commonjs/input/createInputSlot.js +0 -44
  677. package/lib/commonjs/input/createInputSlot.js.map +0 -1
  678. package/lib/commonjs/link/createLink.js +0 -74
  679. package/lib/commonjs/link/createLink.js.map +0 -1
  680. package/lib/commonjs/list-item/createListItemContent.js +0 -30
  681. package/lib/commonjs/list-item/createListItemContent.js.map +0 -1
  682. package/lib/commonjs/list-item/createListItemDescription.js +0 -25
  683. package/lib/commonjs/list-item/createListItemDescription.js.map +0 -1
  684. package/lib/commonjs/list-item/createListItemLeadingSlot.js +0 -34
  685. package/lib/commonjs/list-item/createListItemLeadingSlot.js.map +0 -1
  686. package/lib/commonjs/list-item/createListItemMeta.js +0 -25
  687. package/lib/commonjs/list-item/createListItemMeta.js.map +0 -1
  688. package/lib/commonjs/list-item/createListItemRoot.js +0 -142
  689. package/lib/commonjs/list-item/createListItemRoot.js.map +0 -1
  690. package/lib/commonjs/list-item/createListItemSectionHeader.js +0 -54
  691. package/lib/commonjs/list-item/createListItemSectionHeader.js.map +0 -1
  692. package/lib/commonjs/list-item/createListItemTitle.js +0 -25
  693. package/lib/commonjs/list-item/createListItemTitle.js.map +0 -1
  694. package/lib/commonjs/list-item/createListItemTrailingSlot.js +0 -28
  695. package/lib/commonjs/list-item/createListItemTrailingSlot.js.map +0 -1
  696. package/lib/commonjs/otp-input/createOtpInputCell.js +0 -29
  697. package/lib/commonjs/otp-input/createOtpInputCell.js.map +0 -1
  698. package/lib/commonjs/otp-input/createOtpInputField.js +0 -104
  699. package/lib/commonjs/otp-input/createOtpInputField.js.map +0 -1
  700. package/lib/commonjs/otp-input/createOtpInputRoot.js +0 -136
  701. package/lib/commonjs/otp-input/createOtpInputRoot.js.map +0 -1
  702. package/lib/commonjs/progress/context.js.map +0 -1
  703. package/lib/commonjs/progress/createProgressIndicator.js +0 -42
  704. package/lib/commonjs/progress/createProgressIndicator.js.map +0 -1
  705. package/lib/commonjs/progress/createProgressRoot.js +0 -96
  706. package/lib/commonjs/progress/createProgressRoot.js.map +0 -1
  707. package/lib/commonjs/progress/index.js +0 -25
  708. package/lib/commonjs/progress/index.js.map +0 -1
  709. package/lib/commonjs/progress/types.js.map +0 -1
  710. package/lib/commonjs/select/createSelectContent.js +0 -102
  711. package/lib/commonjs/select/createSelectContent.js.map +0 -1
  712. package/lib/commonjs/select/createSelectIcon.js +0 -41
  713. package/lib/commonjs/select/createSelectIcon.js.map +0 -1
  714. package/lib/commonjs/select/createSelectItem.js +0 -101
  715. package/lib/commonjs/select/createSelectItem.js.map +0 -1
  716. package/lib/commonjs/select/createSelectItemLabel.js +0 -41
  717. package/lib/commonjs/select/createSelectItemLabel.js.map +0 -1
  718. package/lib/commonjs/select/createSelectRoot.js +0 -102
  719. package/lib/commonjs/select/createSelectRoot.js.map +0 -1
  720. package/lib/commonjs/select/createSelectTrigger.js +0 -179
  721. package/lib/commonjs/select/createSelectTrigger.js.map +0 -1
  722. package/lib/commonjs/select/createSelectValue.js +0 -53
  723. package/lib/commonjs/select/createSelectValue.js.map +0 -1
  724. package/lib/commonjs/switch/createSwitchRoot.js +0 -73
  725. package/lib/commonjs/switch/createSwitchRoot.js.map +0 -1
  726. package/lib/module/avatar/createAvatarBadge.js +0 -15
  727. package/lib/module/avatar/createAvatarBadge.js.map +0 -1
  728. package/lib/module/avatar/createAvatarIcon.js +0 -25
  729. package/lib/module/avatar/createAvatarIcon.js.map +0 -1
  730. package/lib/module/avatar/createAvatarImage.js +0 -46
  731. package/lib/module/avatar/createAvatarImage.js.map +0 -1
  732. package/lib/module/avatar/createAvatarRoot.js +0 -29
  733. package/lib/module/avatar/createAvatarRoot.js.map +0 -1
  734. package/lib/module/avatar/createAvatarText.js +0 -37
  735. package/lib/module/avatar/createAvatarText.js.map +0 -1
  736. package/lib/module/button/createButtonGroup.js +0 -74
  737. package/lib/module/button/createButtonGroup.js.map +0 -1
  738. package/lib/module/button/createButtonIcon.js +0 -13
  739. package/lib/module/button/createButtonIcon.js.map +0 -1
  740. package/lib/module/button/createButtonRoot.js +0 -76
  741. package/lib/module/button/createButtonRoot.js.map +0 -1
  742. package/lib/module/button/createButtonSpinner.js +0 -29
  743. package/lib/module/button/createButtonSpinner.js.map +0 -1
  744. package/lib/module/button/createButtonText.js +0 -33
  745. package/lib/module/button/createButtonText.js.map +0 -1
  746. package/lib/module/checkbox/createCheckboxGroup.js +0 -39
  747. package/lib/module/checkbox/createCheckboxGroup.js.map +0 -1
  748. package/lib/module/checkbox/createCheckboxIcon.js +0 -24
  749. package/lib/module/checkbox/createCheckboxIcon.js.map +0 -1
  750. package/lib/module/checkbox/createCheckboxIndicator.js +0 -42
  751. package/lib/module/checkbox/createCheckboxIndicator.js.map +0 -1
  752. package/lib/module/checkbox/createCheckboxLabel.js +0 -41
  753. package/lib/module/checkbox/createCheckboxLabel.js.map +0 -1
  754. package/lib/module/checkbox/createCheckboxRoot.js +0 -94
  755. package/lib/module/checkbox/createCheckboxRoot.js.map +0 -1
  756. package/lib/module/checkbox/createCheckboxRoot.web.js +0 -85
  757. package/lib/module/checkbox/createCheckboxRoot.web.js.map +0 -1
  758. package/lib/module/dialog/createDialogBody.js +0 -15
  759. package/lib/module/dialog/createDialogBody.js.map +0 -1
  760. package/lib/module/dialog/createDialogClose.js +0 -31
  761. package/lib/module/dialog/createDialogClose.js.map +0 -1
  762. package/lib/module/dialog/createDialogContent.js +0 -136
  763. package/lib/module/dialog/createDialogContent.js.map +0 -1
  764. package/lib/module/dialog/createDialogDescription.js +0 -24
  765. package/lib/module/dialog/createDialogDescription.js.map +0 -1
  766. package/lib/module/dialog/createDialogFooter.js +0 -15
  767. package/lib/module/dialog/createDialogFooter.js.map +0 -1
  768. package/lib/module/dialog/createDialogHeader.js +0 -15
  769. package/lib/module/dialog/createDialogHeader.js.map +0 -1
  770. package/lib/module/dialog/createDialogRoot.js +0 -49
  771. package/lib/module/dialog/createDialogRoot.js.map +0 -1
  772. package/lib/module/dialog/createDialogTitle.js +0 -15
  773. package/lib/module/dialog/createDialogTitle.js.map +0 -1
  774. package/lib/module/dialog/createDialogTrigger.js +0 -31
  775. package/lib/module/dialog/createDialogTrigger.js.map +0 -1
  776. package/lib/module/field/createFieldError.js +0 -35
  777. package/lib/module/field/createFieldError.js.map +0 -1
  778. package/lib/module/field/createFieldErrorIcon.js +0 -13
  779. package/lib/module/field/createFieldErrorIcon.js.map +0 -1
  780. package/lib/module/field/createFieldErrorText.js +0 -13
  781. package/lib/module/field/createFieldErrorText.js.map +0 -1
  782. package/lib/module/field/createFieldHelper.js +0 -35
  783. package/lib/module/field/createFieldHelper.js.map +0 -1
  784. package/lib/module/field/createFieldHelperText.js +0 -13
  785. package/lib/module/field/createFieldHelperText.js.map +0 -1
  786. package/lib/module/field/createFieldLabel.js +0 -31
  787. package/lib/module/field/createFieldLabel.js.map +0 -1
  788. package/lib/module/field/createFieldRoot.js +0 -29
  789. package/lib/module/field/createFieldRoot.js.map +0 -1
  790. package/lib/module/form/createFormRoot.js +0 -15
  791. package/lib/module/form/createFormRoot.js.map +0 -1
  792. package/lib/module/input/createInputField.js +0 -90
  793. package/lib/module/input/createInputField.js.map +0 -1
  794. package/lib/module/input/createInputRoot.js +0 -76
  795. package/lib/module/input/createInputRoot.js.map +0 -1
  796. package/lib/module/input/createInputSlot.js +0 -39
  797. package/lib/module/input/createInputSlot.js.map +0 -1
  798. package/lib/module/link/createLink.js +0 -68
  799. package/lib/module/link/createLink.js.map +0 -1
  800. package/lib/module/list-item/createListItemContent.js +0 -24
  801. package/lib/module/list-item/createListItemContent.js.map +0 -1
  802. package/lib/module/list-item/createListItemDescription.js +0 -19
  803. package/lib/module/list-item/createListItemDescription.js.map +0 -1
  804. package/lib/module/list-item/createListItemLeadingSlot.js +0 -28
  805. package/lib/module/list-item/createListItemLeadingSlot.js.map +0 -1
  806. package/lib/module/list-item/createListItemMeta.js +0 -19
  807. package/lib/module/list-item/createListItemMeta.js.map +0 -1
  808. package/lib/module/list-item/createListItemRoot.js +0 -136
  809. package/lib/module/list-item/createListItemRoot.js.map +0 -1
  810. package/lib/module/list-item/createListItemSectionHeader.js +0 -48
  811. package/lib/module/list-item/createListItemSectionHeader.js.map +0 -1
  812. package/lib/module/list-item/createListItemTitle.js +0 -19
  813. package/lib/module/list-item/createListItemTitle.js.map +0 -1
  814. package/lib/module/list-item/createListItemTrailingSlot.js +0 -22
  815. package/lib/module/list-item/createListItemTrailingSlot.js.map +0 -1
  816. package/lib/module/otp-input/createOtpInputCell.js +0 -24
  817. package/lib/module/otp-input/createOtpInputCell.js.map +0 -1
  818. package/lib/module/otp-input/createOtpInputField.js +0 -99
  819. package/lib/module/otp-input/createOtpInputField.js.map +0 -1
  820. package/lib/module/otp-input/createOtpInputRoot.js +0 -131
  821. package/lib/module/otp-input/createOtpInputRoot.js.map +0 -1
  822. package/lib/module/progress/context.js.map +0 -1
  823. package/lib/module/progress/createProgressIndicator.js +0 -37
  824. package/lib/module/progress/createProgressIndicator.js.map +0 -1
  825. package/lib/module/progress/createProgressRoot.js +0 -91
  826. package/lib/module/progress/createProgressRoot.js.map +0 -1
  827. package/lib/module/progress/index.js +0 -15
  828. package/lib/module/progress/index.js.map +0 -1
  829. package/lib/module/progress/types.js.map +0 -1
  830. package/lib/module/select/createSelectContent.js +0 -97
  831. package/lib/module/select/createSelectContent.js.map +0 -1
  832. package/lib/module/select/createSelectIcon.js +0 -36
  833. package/lib/module/select/createSelectIcon.js.map +0 -1
  834. package/lib/module/select/createSelectItem.js +0 -96
  835. package/lib/module/select/createSelectItem.js.map +0 -1
  836. package/lib/module/select/createSelectItemLabel.js +0 -36
  837. package/lib/module/select/createSelectItemLabel.js.map +0 -1
  838. package/lib/module/select/createSelectRoot.js +0 -97
  839. package/lib/module/select/createSelectRoot.js.map +0 -1
  840. package/lib/module/select/createSelectTrigger.js +0 -174
  841. package/lib/module/select/createSelectTrigger.js.map +0 -1
  842. package/lib/module/select/createSelectValue.js +0 -48
  843. package/lib/module/select/createSelectValue.js.map +0 -1
  844. package/lib/module/switch/createSwitchRoot.js +0 -67
  845. package/lib/module/switch/createSwitchRoot.js.map +0 -1
  846. package/lib/typescript/avatar/createAvatarBadge.d.ts +0 -4
  847. package/lib/typescript/avatar/createAvatarBadge.d.ts.map +0 -1
  848. package/lib/typescript/avatar/createAvatarIcon.d.ts +0 -4
  849. package/lib/typescript/avatar/createAvatarIcon.d.ts.map +0 -1
  850. package/lib/typescript/avatar/createAvatarImage.d.ts +0 -4
  851. package/lib/typescript/avatar/createAvatarImage.d.ts.map +0 -1
  852. package/lib/typescript/avatar/createAvatarRoot.d.ts +0 -4
  853. package/lib/typescript/avatar/createAvatarRoot.d.ts.map +0 -1
  854. package/lib/typescript/avatar/createAvatarText.d.ts +0 -4
  855. package/lib/typescript/avatar/createAvatarText.d.ts.map +0 -1
  856. package/lib/typescript/button/createButtonGroup.d.ts +0 -4
  857. package/lib/typescript/button/createButtonGroup.d.ts.map +0 -1
  858. package/lib/typescript/button/createButtonIcon.d.ts +0 -2
  859. package/lib/typescript/button/createButtonIcon.d.ts.map +0 -1
  860. package/lib/typescript/button/createButtonRoot.d.ts +0 -6
  861. package/lib/typescript/button/createButtonRoot.d.ts.map +0 -1
  862. package/lib/typescript/button/createButtonSpinner.d.ts +0 -4
  863. package/lib/typescript/button/createButtonSpinner.d.ts.map +0 -1
  864. package/lib/typescript/button/createButtonText.d.ts +0 -4
  865. package/lib/typescript/button/createButtonText.d.ts.map +0 -1
  866. package/lib/typescript/checkbox/createCheckboxGroup.d.ts +0 -3
  867. package/lib/typescript/checkbox/createCheckboxGroup.d.ts.map +0 -1
  868. package/lib/typescript/checkbox/createCheckboxIcon.d.ts +0 -3
  869. package/lib/typescript/checkbox/createCheckboxIcon.d.ts.map +0 -1
  870. package/lib/typescript/checkbox/createCheckboxIndicator.d.ts +0 -5
  871. package/lib/typescript/checkbox/createCheckboxIndicator.d.ts.map +0 -1
  872. package/lib/typescript/checkbox/createCheckboxLabel.d.ts +0 -5
  873. package/lib/typescript/checkbox/createCheckboxLabel.d.ts.map +0 -1
  874. package/lib/typescript/checkbox/createCheckboxRoot.d.ts +0 -2
  875. package/lib/typescript/checkbox/createCheckboxRoot.d.ts.map +0 -1
  876. package/lib/typescript/checkbox/createCheckboxRoot.web.d.ts +0 -2
  877. package/lib/typescript/checkbox/createCheckboxRoot.web.d.ts.map +0 -1
  878. package/lib/typescript/dialog/createDialogBody.d.ts +0 -4
  879. package/lib/typescript/dialog/createDialogBody.d.ts.map +0 -1
  880. package/lib/typescript/dialog/createDialogClose.d.ts +0 -4
  881. package/lib/typescript/dialog/createDialogClose.d.ts.map +0 -1
  882. package/lib/typescript/dialog/createDialogContent.d.ts +0 -4
  883. package/lib/typescript/dialog/createDialogContent.d.ts.map +0 -1
  884. package/lib/typescript/dialog/createDialogDescription.d.ts +0 -4
  885. package/lib/typescript/dialog/createDialogDescription.d.ts.map +0 -1
  886. package/lib/typescript/dialog/createDialogFooter.d.ts +0 -4
  887. package/lib/typescript/dialog/createDialogFooter.d.ts.map +0 -1
  888. package/lib/typescript/dialog/createDialogHeader.d.ts +0 -4
  889. package/lib/typescript/dialog/createDialogHeader.d.ts.map +0 -1
  890. package/lib/typescript/dialog/createDialogRoot.d.ts +0 -4
  891. package/lib/typescript/dialog/createDialogRoot.d.ts.map +0 -1
  892. package/lib/typescript/dialog/createDialogTitle.d.ts +0 -4
  893. package/lib/typescript/dialog/createDialogTitle.d.ts.map +0 -1
  894. package/lib/typescript/dialog/createDialogTrigger.d.ts +0 -4
  895. package/lib/typescript/dialog/createDialogTrigger.d.ts.map +0 -1
  896. package/lib/typescript/field/createFieldError.d.ts +0 -5
  897. package/lib/typescript/field/createFieldError.d.ts.map +0 -1
  898. package/lib/typescript/field/createFieldErrorIcon.d.ts +0 -5
  899. package/lib/typescript/field/createFieldErrorIcon.d.ts.map +0 -1
  900. package/lib/typescript/field/createFieldErrorText.d.ts +0 -5
  901. package/lib/typescript/field/createFieldErrorText.d.ts.map +0 -1
  902. package/lib/typescript/field/createFieldHelper.d.ts +0 -5
  903. package/lib/typescript/field/createFieldHelper.d.ts.map +0 -1
  904. package/lib/typescript/field/createFieldHelperText.d.ts +0 -5
  905. package/lib/typescript/field/createFieldHelperText.d.ts.map +0 -1
  906. package/lib/typescript/field/createFieldLabel.d.ts +0 -6
  907. package/lib/typescript/field/createFieldLabel.d.ts.map +0 -1
  908. package/lib/typescript/field/createFieldRoot.d.ts +0 -6
  909. package/lib/typescript/field/createFieldRoot.d.ts.map +0 -1
  910. package/lib/typescript/form/createFormRoot.d.ts +0 -4
  911. package/lib/typescript/form/createFormRoot.d.ts.map +0 -1
  912. package/lib/typescript/input/createInputField.d.ts +0 -4
  913. package/lib/typescript/input/createInputField.d.ts.map +0 -1
  914. package/lib/typescript/input/createInputRoot.d.ts +0 -4
  915. package/lib/typescript/input/createInputRoot.d.ts.map +0 -1
  916. package/lib/typescript/input/createInputSlot.d.ts +0 -4
  917. package/lib/typescript/input/createInputSlot.d.ts.map +0 -1
  918. package/lib/typescript/link/createLink.d.ts +0 -6
  919. package/lib/typescript/link/createLink.d.ts.map +0 -1
  920. package/lib/typescript/list-item/createListItemContent.d.ts +0 -3
  921. package/lib/typescript/list-item/createListItemContent.d.ts.map +0 -1
  922. package/lib/typescript/list-item/createListItemDescription.d.ts +0 -3
  923. package/lib/typescript/list-item/createListItemDescription.d.ts.map +0 -1
  924. package/lib/typescript/list-item/createListItemLeadingSlot.d.ts +0 -4
  925. package/lib/typescript/list-item/createListItemLeadingSlot.d.ts.map +0 -1
  926. package/lib/typescript/list-item/createListItemMeta.d.ts +0 -3
  927. package/lib/typescript/list-item/createListItemMeta.d.ts.map +0 -1
  928. package/lib/typescript/list-item/createListItemRoot.d.ts +0 -4
  929. package/lib/typescript/list-item/createListItemRoot.d.ts.map +0 -1
  930. package/lib/typescript/list-item/createListItemSectionHeader.d.ts +0 -4
  931. package/lib/typescript/list-item/createListItemSectionHeader.d.ts.map +0 -1
  932. package/lib/typescript/list-item/createListItemTitle.d.ts +0 -3
  933. package/lib/typescript/list-item/createListItemTitle.d.ts.map +0 -1
  934. package/lib/typescript/list-item/createListItemTrailingSlot.d.ts +0 -3
  935. package/lib/typescript/list-item/createListItemTrailingSlot.d.ts.map +0 -1
  936. package/lib/typescript/otp-input/createOtpInputCell.d.ts +0 -4
  937. package/lib/typescript/otp-input/createOtpInputCell.d.ts.map +0 -1
  938. package/lib/typescript/otp-input/createOtpInputField.d.ts +0 -4
  939. package/lib/typescript/otp-input/createOtpInputField.d.ts.map +0 -1
  940. package/lib/typescript/otp-input/createOtpInputRoot.d.ts +0 -4
  941. package/lib/typescript/otp-input/createOtpInputRoot.d.ts.map +0 -1
  942. package/lib/typescript/progress/context.d.ts.map +0 -1
  943. package/lib/typescript/progress/createProgressIndicator.d.ts +0 -3
  944. package/lib/typescript/progress/createProgressIndicator.d.ts.map +0 -1
  945. package/lib/typescript/progress/createProgressRoot.d.ts +0 -4
  946. package/lib/typescript/progress/createProgressRoot.d.ts.map +0 -1
  947. package/lib/typescript/progress/index.d.ts +0 -10
  948. package/lib/typescript/progress/index.d.ts.map +0 -1
  949. package/lib/typescript/progress/types.d.ts +0 -25
  950. package/lib/typescript/progress/types.d.ts.map +0 -1
  951. package/lib/typescript/select/createSelectContent.d.ts +0 -4
  952. package/lib/typescript/select/createSelectContent.d.ts.map +0 -1
  953. package/lib/typescript/select/createSelectIcon.d.ts +0 -2
  954. package/lib/typescript/select/createSelectIcon.d.ts.map +0 -1
  955. package/lib/typescript/select/createSelectItem.d.ts +0 -6
  956. package/lib/typescript/select/createSelectItem.d.ts.map +0 -1
  957. package/lib/typescript/select/createSelectItemLabel.d.ts +0 -4
  958. package/lib/typescript/select/createSelectItemLabel.d.ts.map +0 -1
  959. package/lib/typescript/select/createSelectRoot.d.ts +0 -4
  960. package/lib/typescript/select/createSelectRoot.d.ts.map +0 -1
  961. package/lib/typescript/select/createSelectTrigger.d.ts +0 -7
  962. package/lib/typescript/select/createSelectTrigger.d.ts.map +0 -1
  963. package/lib/typescript/select/createSelectValue.d.ts +0 -4
  964. package/lib/typescript/select/createSelectValue.d.ts.map +0 -1
  965. package/lib/typescript/switch/createSwitchRoot.d.ts +0 -3
  966. package/lib/typescript/switch/createSwitchRoot.d.ts.map +0 -1
  967. package/src/avatar/createAvatarBadge.tsx +0 -12
  968. package/src/avatar/createAvatarIcon.tsx +0 -16
  969. package/src/avatar/createAvatarImage.tsx +0 -40
  970. package/src/avatar/createAvatarRoot.tsx +0 -23
  971. package/src/avatar/createAvatarText.tsx +0 -30
  972. package/src/button/createButtonGroup.tsx +0 -88
  973. package/src/button/createButtonIcon.tsx +0 -8
  974. package/src/button/createButtonRoot.tsx +0 -102
  975. package/src/button/createButtonSpinner.tsx +0 -20
  976. package/src/button/createButtonText.tsx +0 -22
  977. package/src/button/index.tsx +0 -53
  978. package/src/checkbox/createCheckboxGroup.tsx +0 -32
  979. package/src/checkbox/createCheckboxIcon.tsx +0 -18
  980. package/src/checkbox/createCheckboxIndicator.tsx +0 -43
  981. package/src/checkbox/createCheckboxLabel.tsx +0 -42
  982. package/src/checkbox/createCheckboxRoot.tsx +0 -100
  983. package/src/checkbox/createCheckboxRoot.web.tsx +0 -79
  984. package/src/dialog/createDialogBody.tsx +0 -11
  985. package/src/dialog/createDialogClose.tsx +0 -27
  986. package/src/dialog/createDialogContent.tsx +0 -122
  987. package/src/dialog/createDialogDescription.tsx +0 -20
  988. package/src/dialog/createDialogFooter.tsx +0 -11
  989. package/src/dialog/createDialogHeader.tsx +0 -11
  990. package/src/dialog/createDialogRoot.tsx +0 -66
  991. package/src/dialog/createDialogTitle.tsx +0 -11
  992. package/src/dialog/createDialogTrigger.tsx +0 -27
  993. package/src/field/createFieldError.tsx +0 -32
  994. package/src/field/createFieldErrorIcon.tsx +0 -9
  995. package/src/field/createFieldErrorText.tsx +0 -9
  996. package/src/field/createFieldHelper.tsx +0 -28
  997. package/src/field/createFieldHelperText.tsx +0 -9
  998. package/src/field/createFieldLabel.tsx +0 -30
  999. package/src/field/createFieldRoot.tsx +0 -27
  1000. package/src/form/createFormRoot.tsx +0 -13
  1001. package/src/input/createInputField.tsx +0 -114
  1002. package/src/input/createInputRoot.tsx +0 -92
  1003. package/src/input/createInputSlot.tsx +0 -39
  1004. package/src/link/createLink.tsx +0 -71
  1005. package/src/list-item/createListItemContent.tsx +0 -23
  1006. package/src/list-item/createListItemDescription.tsx +0 -19
  1007. package/src/list-item/createListItemLeadingSlot.tsx +0 -30
  1008. package/src/list-item/createListItemMeta.tsx +0 -17
  1009. package/src/list-item/createListItemRoot.tsx +0 -163
  1010. package/src/list-item/createListItemSectionHeader.tsx +0 -53
  1011. package/src/list-item/createListItemTitle.tsx +0 -17
  1012. package/src/list-item/createListItemTrailingSlot.tsx +0 -21
  1013. package/src/otp-input/createOtpInputCell.tsx +0 -22
  1014. package/src/otp-input/createOtpInputField.tsx +0 -98
  1015. package/src/otp-input/createOtpInputRoot.tsx +0 -179
  1016. package/src/otp-input/index.tsx +0 -34
  1017. package/src/progress/createProgressIndicator.tsx +0 -35
  1018. package/src/progress/createProgressRoot.tsx +0 -109
  1019. package/src/progress/index.ts +0 -28
  1020. package/src/progress/types.ts +0 -37
  1021. package/src/select/createSelectContent.tsx +0 -115
  1022. package/src/select/createSelectIcon.tsx +0 -27
  1023. package/src/select/createSelectItem.tsx +0 -121
  1024. package/src/select/createSelectItemLabel.tsx +0 -30
  1025. package/src/select/createSelectRoot.tsx +0 -134
  1026. package/src/select/createSelectTrigger.tsx +0 -218
  1027. package/src/select/createSelectValue.tsx +0 -38
  1028. package/src/select/index.tsx +0 -73
  1029. package/src/switch/createSwitchRoot.tsx +0 -72
  1030. /package/lib/commonjs/{progress → chip}/types.js +0 -0
  1031. /package/lib/commonjs/{progress → progress-bar}/context.js +0 -0
  1032. /package/lib/module/{progress → chip}/types.js +0 -0
  1033. /package/lib/module/{progress → progress-bar}/context.js +0 -0
  1034. /package/lib/typescript/{progress → progress-bar}/context.d.ts +0 -0
  1035. /package/src/{progress → progress-bar}/context.tsx +0 -0
@@ -0,0 +1,5 @@
1
+ export type { ITileContextValue, ITileGroupMultipleProps, ITileGroupProps, ITileGroupSingleProps, ITileGroupContextValue, ITileIndicatorProps, ITileLeadingSlotProps, ITilePressablePassthrough, ITileProps, ITileTrailingSlotProps, TileGroupType, TileGroupValue, } from './types';
2
+ export { TileProvider, useTileContext } from './context';
3
+ export { TileRoot, type TileRootProps } from './TileRoot';
4
+ export { TileGroup, type TileGroupProps } from './TileGroup';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tile/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,108 @@
1
+ import type { PressableProps, ViewProps } from 'react-native';
2
+ export type TileGroupType = 'single' | 'multiple';
3
+ export type TileGroupValue = string | string[] | undefined;
4
+ interface ITileGroupBaseProps extends ViewProps {
5
+ /** Merge group props onto a single child instead of rendering the default View. */
6
+ asChild?: boolean;
7
+ /** Disables the whole group. */
8
+ isDisabled?: boolean;
9
+ /** Accessible name for the group (radiogroup / group). */
10
+ 'aria-label'?: string;
11
+ }
12
+ export interface ITileGroupSingleProps extends ITileGroupBaseProps {
13
+ /** Single-select (radio semantics). One value at a time. */
14
+ type: 'single';
15
+ /** Controlled selected value. */
16
+ value?: string;
17
+ /** Uncontrolled initial value. */
18
+ defaultValue?: string;
19
+ /** Called when selection changes. */
20
+ onValueChange?: (value: string) => void;
21
+ }
22
+ export interface ITileGroupMultipleProps extends ITileGroupBaseProps {
23
+ /** Multi-select (checkbox semantics). Zero to `max` values at a time. */
24
+ type: 'multiple';
25
+ /** Controlled selected values. */
26
+ value?: string[];
27
+ /** Uncontrolled initial values. */
28
+ defaultValue?: string[];
29
+ /** Called when selection changes. */
30
+ onValueChange?: (value: string[]) => void;
31
+ /** Maximum selections allowed. @default Infinity */
32
+ max?: number;
33
+ }
34
+ /**
35
+ * Discriminated union: `type` narrows `value` / `defaultValue` / `onValueChange`,
36
+ * and `max` is only valid on `type="multiple"`.
37
+ */
38
+ export type ITileGroupProps = ITileGroupSingleProps | ITileGroupMultipleProps;
39
+ export interface ITileGroupContextValue {
40
+ type: TileGroupType;
41
+ /** Current selection (string for single, array for multiple). */
42
+ value: string | string[] | undefined;
43
+ toggleValue: (tileValue: string) => void;
44
+ isSelected: (tileValue: string) => boolean;
45
+ /** Group-level disabled or multi-select at max (unselected tiles). */
46
+ isTileDisabledByGroup: (tileValue: string) => boolean;
47
+ isGroupDisabled: boolean;
48
+ max: number;
49
+ }
50
+ export interface ITileContextValue {
51
+ /** This tile's `value`. */
52
+ value: string;
53
+ isSelected: boolean;
54
+ /** Effective disabled (group rules + tile `disabled`). */
55
+ isDisabled: boolean;
56
+ selectionType: TileGroupType;
57
+ }
58
+ export type ITilePressablePassthrough = Partial<Pick<PressableProps, 'onPressIn' | 'onPressOut' | 'onHoverIn' | 'onHoverOut'>>;
59
+ export interface ITileProps extends PressableProps, ITilePressablePassthrough {
60
+ /** Merge tile props onto a single child instead of rendering the default Pressable. */
61
+ asChild?: boolean;
62
+ /**
63
+ * Identifies this tile within `Tile.Group`. Must be unique within the group.
64
+ * Standalone tiles still require a value (useful for form submission, analytics, etc.).
65
+ */
66
+ value: string;
67
+ /**
68
+ * Disables this tile (in addition to group rules such as multi-select max).
69
+ */
70
+ disabled?: boolean;
71
+ /**
72
+ * Controlled selected state for **standalone** usage (no parent `Tile.Group`).
73
+ * Ignored when the tile is rendered inside a `Tile.Group` — selection is owned by the group.
74
+ */
75
+ isSelected?: boolean;
76
+ /**
77
+ * Initial selected state for **standalone**, uncontrolled usage.
78
+ */
79
+ defaultSelected?: boolean;
80
+ /**
81
+ * Called when standalone selection state changes. Group context overrides this — when inside
82
+ * a `Tile.Group`, use the group's `onValueChange` instead.
83
+ */
84
+ onSelectedChange?: (isSelected: boolean) => void;
85
+ }
86
+ export interface ITileLeadingSlotProps extends ViewProps {
87
+ /**
88
+ * Leading content is decorative by default for screen readers.
89
+ * @default true
90
+ */
91
+ 'aria-hidden'?: boolean;
92
+ }
93
+ export interface ITileIndicatorProps extends ViewProps {
94
+ /**
95
+ * Explicit indicator visual. When inside a `Tile.Group`, auto-infers from `type`
96
+ * (`single` → radio, `multiple` → checkbox). For standalone tiles, defaults to `'checkbox'`
97
+ * to match the standalone `checkbox` ARIA role; override with `indicatorType="radio"` if
98
+ * a radio-style visual is needed.
99
+ */
100
+ indicatorType?: 'radio' | 'checkbox';
101
+ }
102
+ /**
103
+ * Generic trailing content slot. Use for chevrons, amounts, chips, status text — anything that
104
+ * is **not** the radio/checkbox selection affordance. For that, use `Tile.Indicator`.
105
+ */
106
+ export type ITileTrailingSlotProps = ViewProps;
107
+ export {};
108
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tile/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAE3D,UAAU,mBAAoB,SAAQ,SAAS;IAC7C,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,4DAA4D;IAC5D,IAAI,EAAE,QAAQ,CAAC;IACf,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,iEAAiE;IACjE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,sEAAsE;IACtE,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACtD,eAAe,EAAE,OAAO,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC,CAC9E,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,cAAc,EAAE,yBAAyB;IAC3E,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { View } from 'react-native';
2
+ import type { IToastProps } from './types';
3
+ export interface ToastRootProps extends IToastProps {
4
+ asChild?: boolean;
5
+ }
6
+ export declare const ToastRoot: import("react").ForwardRefExoticComponent<ToastRootProps & import("react").RefAttributes<View>>;
7
+ //# sourceMappingURL=ToastRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastRoot.d.ts","sourceRoot":"","sources":["../../../src/toast/ToastRoot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,iGA0BrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IToastContextValue } from './types';
2
+ export declare const ToastProvider: import("react").FunctionComponent<{
3
+ children: import("react").ReactNode;
4
+ value: IToastContextValue;
5
+ }>, useToastContext: () => IToastContextValue;
6
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/toast/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAO,aAAa;;;IAAE,eAAe,0BAAqD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ToastProvider, useToastContext } from './context';
2
+ export { ToastRoot, type ToastRootProps } from './ToastRoot';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ViewProps } from 'react-native';
2
+ export interface IToastContextValue {
3
+ /** Unique identifier for the toast */
4
+ nativeID: string;
5
+ }
6
+ export interface IToastProps extends ViewProps {
7
+ /** Unique identifier for the toast */
8
+ id?: string;
9
+ /**
10
+ * ARIA role for the toast element.
11
+ * Use `'alert'` for urgent/danger toasts that require assertive announcements.
12
+ * @default 'status'
13
+ */
14
+ role?: 'status' | 'alert';
15
+ }
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/toast/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,sCAAsC;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B"}
@@ -1,14 +1,8 @@
1
1
  /**
2
- * Produces platform-specific props for data attributes.
2
+ * Produces `data-*` props for native platforms (consumed by Uniwind).
3
+ * Web (.web.ts): returns a `dataSet` object consumed by React Native Web instead.
3
4
  *
4
- * Native: individual `data-*` props consumed by Uniwind.
5
- * Web (.web.ts): a `dataSet` object consumed by React Native Web.
6
- *
7
- * Boolean values serialize to `"true"` / `"false"` strings.
8
- * String values pass through as-is.
9
- * Undefined values are omitted.
5
+ * Delegates to `domDataAttributes` so the conversion logic has a single source of truth.
10
6
  */
11
- type DataAttributeValue = boolean | string | undefined;
12
- export declare function dataAttributes(attrs: Record<string, DataAttributeValue>): Record<string, string>;
13
- export {};
7
+ export { domDataAttributes as dataAttributes, mergeDomDataAttributes as mergeDataAttributes, } from './domDataAttributes';
14
8
  //# sourceMappingURL=dataAttributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataAttributes.d.ts","sourceRoot":"","sources":["../../../src/utils/dataAttributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,KAAK,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAMvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUhG"}
1
+ {"version":3,"file":"dataAttributes.d.ts","sourceRoot":"","sources":["../../../src/utils/dataAttributes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,iBAAiB,IAAI,cAAc,EACnC,sBAAsB,IAAI,mBAAmB,GAC9C,MAAM,qBAAqB,CAAC"}
@@ -12,5 +12,21 @@ type DataAttributeValue = boolean | string | undefined;
12
12
  export declare function dataAttributes(attrs: Record<string, DataAttributeValue>): {
13
13
  dataSet: Record<string, boolean | string>;
14
14
  };
15
+ /**
16
+ * Merges multiple sources of data attributes into a single `{ dataSet }` prop
17
+ * on web. Each source may be a `dataAttributes()` output (`{ dataSet: {...} }`)
18
+ * or any props object that contains a `dataSet` key — other keys are ignored.
19
+ * Later sources override earlier sources on inner-key conflicts.
20
+ *
21
+ * Required when an element receives data attributes from more than one source:
22
+ * a plain prop spread merges by replacing the `dataSet` key entirely, so e.g.
23
+ * `{...dataAttributes({ slot })} {...dataAttributes({ hover })}` keeps only the
24
+ * second `dataSet`. Use `mergeDataAttributes(...)` to combine them safely.
25
+ */
26
+ export declare function mergeDataAttributes(...sources: ({
27
+ dataSet?: Record<string, unknown>;
28
+ } | Record<string, unknown> | undefined)[]): {
29
+ dataSet: Record<string, unknown>;
30
+ };
15
31
  export {};
16
32
  //# sourceMappingURL=dataAttributes.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataAttributes.web.d.ts","sourceRoot":"","sources":["../../../src/utils/dataAttributes.web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,KAAK,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;CAC3C,CAQA"}
1
+ {"version":3,"file":"dataAttributes.web.d.ts","sourceRoot":"","sources":["../../../src/utils/dataAttributes.web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,KAAK,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;CAC3C,CAQA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,OAAO,EAAE,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,EAAE,GAC1F;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAStC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Produces `data-*` DOM attribute props for use on raw HTML elements (e.g. `<button>`).
3
+ *
4
+ * Unlike `dataAttributes`, which has a platform-specific `.web.ts` sibling that returns a
5
+ * `dataSet` object for React Native Web components, this file has no platform variant.
6
+ * The bundler therefore always resolves to this single implementation, making it safe to
7
+ * import from `.web.tsx` host components that render native DOM elements directly.
8
+ *
9
+ * Boolean values serialize to `"true"` / `"false"` strings.
10
+ * String values pass through as-is.
11
+ * Undefined values are omitted.
12
+ */
13
+ export type DomDataAttributeValue = boolean | string | undefined;
14
+ export declare function domDataAttributes(attrs: Record<string, DomDataAttributeValue>): Record<string, string>;
15
+ /**
16
+ * Merges multiple sources of DOM data attributes into a single flat object of
17
+ * `data-*` keys. Each source can be a `domDataAttributes()` output or any props
18
+ * object — non-`data-*` keys are ignored. Later sources override earlier sources
19
+ * on key conflicts.
20
+ *
21
+ * Use this when an element receives `data-*` attributes from more than one
22
+ * source (e.g. a styled layer's `data-slot` and a primitive's interaction-state
23
+ * `data-hover`/`data-focus` etc.) and a plain prop spread would otherwise be
24
+ * fine on native but lose attributes on web (where `dataAttributes()` returns
25
+ * `{ dataSet }` — see the `.web.ts` sibling for the web merge).
26
+ */
27
+ export declare function mergeDomDataAttributes(...sources: (Record<string, unknown> | undefined)[]): Record<string, string>;
28
+ //# sourceMappingURL=domDataAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domDataAttributes.d.ts","sourceRoot":"","sources":["../../../src/utils/domDataAttributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAMjE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,EAAE,GAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdx-ui/primitives",
3
- "version": "0.0.1-beta.9",
3
+ "version": "0.0.1-beta.91",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "module": "lib/module/index.js",
6
6
  "react-native": "src/index.ts",
@@ -51,13 +51,16 @@
51
51
  }
52
52
  },
53
53
  "dependencies": {
54
+ "@react-aria/utils": "^3.33.0",
54
55
  "@react-aria/visually-hidden": "3.8.30",
55
56
  "@react-native-aria/checkbox": "0.2.10",
56
57
  "@react-native-aria/focus": "^0.2.9",
57
58
  "@react-native-aria/interactions": "^0.2.16",
59
+ "@react-native-aria/radio": "0.2.13",
58
60
  "@react-stately/checkbox": "3.7.4",
61
+ "@react-stately/radio": "3.12.0",
59
62
  "@react-stately/toggle": "3.9.4",
60
- "@cdx-ui/utils": "0.0.1-beta.9"
63
+ "@cdx-ui/utils": "0.0.1-beta.91"
61
64
  },
62
65
  "devDependencies": {
63
66
  "@types/react": "*",
package/src/CLAUDE.md ADDED
@@ -0,0 +1,84 @@
1
+ # Primitive Authoring
2
+
3
+ Auto-loaded when working in `packages/primitives/src/**`.
4
+
5
+ Primitives in `@cdx-ui/primitives` are unstyled behavioral components that handle accessibility and interactions. Read the full guides before making changes:
6
+
7
+ - `docs/internal/practices/composition.md` — compound component structure
8
+ - `docs/internal/practices/types.md` — `I*Props` convention, extending RN base types
9
+ - `docs/internal/practices/accessibility.md` — ARIA roles, keyboard nav, screen reader support
10
+ - `docs/internal/practices/as-child.md` — `asChild` prop pattern
11
+ - `docs/internal/practices/data-attributes.md` — `data-state` and `data-slot` conventions
12
+
13
+ ## Six standards
14
+
15
+ Forge UI primitives and their styled counterparts follow six standards. The first three govern primitive-layer authoring; the last three govern the styled layer (see `packages/components/src/components/CLAUDE.md`).
16
+
17
+ ### Standard 1 — Data attributes for interaction states
18
+
19
+ Root primitives emit `data-*` attributes for the interaction state they own and expose that state via context. Sub-slots **do not** subscribe to context and **do not** emit interaction `data-*` attributes — they opt in only when their own styling or behavior reacts to that state.
20
+
21
+ - **Root** — emits + provides context. Always.
22
+ - **Sub-slot** — does not subscribe, does not emit. Opt in only when the styled layer (or the slot's own behavior) demonstrably reacts to the state.
23
+
24
+ Pointlessly emitting on every sub-slot multiplies bridge writes (native) and DOM attribute writes (web) for no consumer benefit. A sub-slot that calls `useButtonContext()` becomes a subscriber — every interaction re-renders it even when nothing visually changes.
25
+
26
+ `useButtonContext()` stays exported so styled-layer slots and external consumers can opt in when they actually need it.
27
+
28
+ ### Standard 2 — `asChild` support
29
+
30
+ Every public primitive supports `asChild` via `Slot` (re-exported from `packages/primitives/src/slot`). The runtime cost when `asChild` is `false` is a single boolean check; consumers who opt in pay the merge cost themselves.
31
+
32
+ ```tsx
33
+ const Comp = asChild ? Slot : DefaultElement;
34
+ ```
35
+
36
+ ### Standard 3 — When to create a primitive (the primitive-existence test)
37
+
38
+ Create a primitive **only** when the slot owns behavior. A slot earns a primitive if it has at least one of:
39
+
40
+ 1. **Behavioral state machinery** — interaction hooks (`useFocus`, `useFocusRing`, `useHover`, `usePress`), controlled/uncontrolled state, open/closed/checked/value management.
41
+ 2. **Non-host accessibility semantics** — ARIA role/state beyond what the host element provides natively, custom keyboard handling, screen-reader announcements, focus traps.
42
+ 3. **Cross-platform host abstraction** — different host element per platform (e.g., a `.web.tsx` / `.native.tsx` split).
43
+ 4. **Compound contract ownership** — defines the compound's state surface and is the context provider (i.e., the Root).
44
+
45
+ A slot does **not** earn a primitive if it only:
46
+
47
+ - Wraps a host element with `className`/`style`.
48
+ - Reads context for styling (the styled layer reads it directly via `useButtonContext`, `useStyleContext`, etc.).
49
+ - Wants `asChild` (the styled layer uses `Slot` directly — it is re-exported from `@cdx-ui/primitives`).
50
+
51
+ This eliminates the "factory pass-through" anti-pattern (e.g., a `ButtonIcon` primitive whose body is `<View {...props} ref={ref} />`). Such wrappers add nothing and force every consumer through a useless layer.
52
+
53
+ ## Canonical reference
54
+
55
+ `packages/primitives/src/button/ButtonRoot.tsx` is the canonical concrete primitive. It demonstrates every Standard 1–3 requirement: concrete `forwardRef` component over `Pressable`, `asChild` via `Slot`, `dataAttributes()` for interaction state, `ButtonProvider` for context, function-as-children, ARIA defaults, and composed event handlers.
56
+
57
+ `packages/primitives/src/button/` only ships `ButtonRoot` + `useButtonContext` + types. There is intentionally no `ButtonLabel`/`ButtonIcon`/`ButtonSpinner`/`ButtonGroup` primitive — those slots fail the primitive-existence test, so they live in `@cdx-ui/components` only.
58
+
59
+ The styled-layer Indicator inside `packages/components/src/components/QuickActionButton/index.tsx` is the canonical example of a sub-slot that legitimately opts into interaction state. When (and only when) its own styling reacts to hover/focus/press, it reads `useButtonContext()` and emits `data-*` via `mergeDataAttributes(props, dataAttributes({ ... }))` — the same pattern external consumers use.
60
+
61
+ ## Pattern summary
62
+
63
+ Each concrete primitive is a `forwardRef` component that hardcodes its default RN base element and supports `asChild` via `Slot`:
64
+
65
+ 1. **Concrete component** — `export const ComponentRoot = forwardRef<View, Props>(...)` hardcodes `View`/`Pressable`/`Text` as the default; uses `const Comp = asChild ? Slot : View` for the escape hatch
66
+ 2. **Interaction hooks** — `useFocus`, `useFocusRing`, `useHover`, `usePress` from `@react-native-aria/*`
67
+ 3. **Data attributes** — `dataAttributes({ hover, focus, active, disabled, focusVisible })` emitted on the rendered element for Uniwind `data-[state]` selectors
68
+ 4. **Context provider** — interaction state exposed via context so sub-slots and external consumers can opt in
69
+ 5. **Barrel export** — `index.ts` re-exports the concrete components, context, and types
70
+ 6. **`displayName`** — set on every exported component
71
+
72
+ ## Key rules
73
+
74
+ - **Unstyled** — no visual styling (no `className`, no color/spacing classes). Only behavioral and a11y concerns.
75
+ - **`asChild` via `Slot`** — import `Slot` from `../slot`; use `const Comp = asChild ? Slot : DefaultElement`.
76
+ - **`I*Props` convention** — public prop types are aliased with `I` prefix (e.g., `IButtonProps`), exported from `types.ts`.
77
+ - **`Interface*Props` pattern** — the full interface (e.g., `InterfaceButtonProps`) extends the appropriate RN base type (`PressableProps`, `ViewProps`, etc.) with interaction state booleans (`isHovered`, `isActive`, `isFocused`, `isFocusVisible`, `isDisabled`); re-exported as `I*Props`.
78
+ - **`dataAttributes()` helper** — always use the helper from `../utils/dataAttributes` to emit `data-*` props; it handles platform differences (native vs web).
79
+ - **`mergeDataAttributes(...sources)` helper** — when a primitive Root receives data attrs through `props` from its styled layer (e.g. `data-slot`) AND emits its own data attrs (e.g. interaction state), combine them via `mergeDataAttributes(props, dataAttributes({...}))`. A plain `{...dataAttributes({...})} {...props}` spread chain wipes out one side on web — `dataAttributes` returns `{ dataSet }`, so back-to-back spreads replace each other. The merge helper preserves both. `ButtonRoot.tsx` shows the canonical pattern.
80
+ - **`composeEventHandlers`** from `@cdx-ui/utils` — merge consumer handlers with internal handlers; never silently override.
81
+ - **`forwardRef`** on every component — refs forwarded to the underlying host element.
82
+ - **ARIA roles** — set `role` with a sensible default (e.g., `role={props?.role || 'button'}`).
83
+ - **Render children as function** — support `children` as `(state: InteractionState) => ReactNode` for state-driven rendering where the Root exposes interaction state.
84
+ - **Consumable independently** of `@cdx-ui/components` — no imports from the styled layer.
@@ -0,0 +1,39 @@
1
+ import type React from 'react';
2
+ import { forwardRef, useMemo, useState } from 'react';
3
+ import { View, type ViewProps } from 'react-native';
4
+ import { Slot } from '../slot';
5
+ import { AvatarProvider } from './context';
6
+ import type { IAvatarProps, IAvatarContextValue } from './types';
7
+
8
+ export interface AvatarRootProps extends IAvatarProps {
9
+ asChild?: boolean;
10
+ }
11
+
12
+ export const AvatarRoot = forwardRef<React.ComponentRef<typeof View>, AvatarRootProps>(
13
+ ({ asChild, children, ...props }, ref) => {
14
+ const [imageLoaded, setImageLoaded] = useState(false);
15
+ const [imageError, setImageError] = useState(false);
16
+
17
+ const contextValue = useMemo<IAvatarContextValue>(
18
+ () => ({ imageLoaded, imageError, setImageLoaded, setImageError }),
19
+ [imageLoaded, imageError],
20
+ );
21
+
22
+ const Comp = asChild ? Slot : View;
23
+
24
+ return (
25
+ <AvatarProvider value={contextValue}>
26
+ <Comp
27
+ ref={ref}
28
+ role={props.role || 'img'}
29
+ accessibilityRole="image"
30
+ {...(props as ViewProps)}
31
+ >
32
+ {children}
33
+ </Comp>
34
+ </AvatarProvider>
35
+ );
36
+ },
37
+ );
38
+
39
+ AvatarRoot.displayName = 'AvatarRoot';
@@ -1,43 +1,3 @@
1
- import type React from 'react';
2
- import { createAvatarBadge } from './createAvatarBadge';
3
- import { createAvatarIcon } from './createAvatarIcon';
4
- import { createAvatarText } from './createAvatarText';
5
- import { createAvatarImage } from './createAvatarImage';
6
- import { createAvatarRoot } from './createAvatarRoot';
7
- import type { IAvatarComponentType } from './types';
8
-
9
- export type {
10
- IAvatarBadgeProps,
11
- IAvatarComponentType,
12
- IAvatarIconProps,
13
- IAvatarTextProps,
14
- IAvatarImageProps,
15
- IAvatarProps,
16
- } from './types';
17
-
18
- export function createAvatar<Root, Image, Text, Icon, Badge>(BaseComponents: {
19
- Root: React.ComponentType<Root>;
20
- Image: React.ComponentType<Image>;
21
- Text: React.ComponentType<Text>;
22
- Icon: React.ComponentType<Icon>;
23
- Badge: React.ComponentType<Badge>;
24
- }) {
25
- const Avatar = createAvatarRoot(BaseComponents.Root);
26
- const AvatarImage = createAvatarImage(BaseComponents.Image);
27
- const Text = createAvatarText(BaseComponents.Text);
28
- const AvatarIcon = createAvatarIcon(BaseComponents.Icon);
29
- const Badge = createAvatarBadge(BaseComponents.Badge);
30
-
31
- Avatar.displayName = 'AvatarPrimitive';
32
- AvatarImage.displayName = 'AvatarPrimitive.Image';
33
- Text.displayName = 'AvatarPrimitive.Text';
34
- AvatarIcon.displayName = 'AvatarPrimitive.Icon';
35
- Badge.displayName = 'AvatarPrimitive.Badge';
36
-
37
- return Object.assign(Avatar, {
38
- Image: AvatarImage,
39
- Text,
40
- Icon: AvatarIcon,
41
- Badge,
42
- }) as unknown as IAvatarComponentType<Root, Image, Text, Icon, Badge>;
43
- }
1
+ export type { IAvatarContextValue, IAvatarImageProps, IAvatarProps } from './types';
2
+ export { useAvatarContext } from './context';
3
+ export { AvatarRoot, type AvatarRootProps } from './AvatarRoot';
@@ -1,4 +1,4 @@
1
- import type { ImageProps, TextProps, ViewProps } from 'react-native';
1
+ import type { ImageProps, ViewProps } from 'react-native';
2
2
 
3
3
  // =============================================================================
4
4
  // AVATAR ROOT
@@ -19,31 +19,6 @@ export interface IAvatarImageProps extends Omit<ImageProps, 'source'> {
19
19
  alt?: string;
20
20
  }
21
21
 
22
- // =============================================================================
23
- // AVATAR FALLBACK TEXT
24
- // =============================================================================
25
-
26
- export interface IAvatarTextProps extends TextProps {
27
- /** Full name — initials will be derived automatically */
28
- children?: React.ReactNode;
29
- }
30
-
31
- // =============================================================================
32
- // AVATAR ICON (fallback icon — hidden when image loads)
33
- // =============================================================================
34
-
35
- export interface IAvatarIconProps extends ViewProps {
36
- children?: React.ReactNode;
37
- }
38
-
39
- // =============================================================================
40
- // AVATAR BADGE
41
- // =============================================================================
42
-
43
- export interface IAvatarBadgeProps extends ViewProps {
44
- children?: React.ReactNode;
45
- }
46
-
47
22
  // =============================================================================
48
23
  // CONTEXT
49
24
  // =============================================================================
@@ -54,24 +29,3 @@ export interface IAvatarContextValue {
54
29
  setImageLoaded: (loaded: boolean) => void;
55
30
  setImageError: (error: boolean) => void;
56
31
  }
57
-
58
- // =============================================================================
59
- // COMPOUND COMPONENT TYPE
60
- // =============================================================================
61
-
62
- export type IAvatarComponentType<Root, Image, Text, Icon, Badge> = React.ForwardRefExoticComponent<
63
- React.RefAttributes<Root> & React.PropsWithoutRef<Root> & IAvatarProps
64
- > & {
65
- Image: React.ForwardRefExoticComponent<
66
- React.RefAttributes<Image> & React.PropsWithoutRef<Image> & IAvatarImageProps
67
- >;
68
- Text: React.ForwardRefExoticComponent<
69
- React.RefAttributes<Text> & React.PropsWithoutRef<Text> & IAvatarTextProps
70
- >;
71
- Icon: React.ForwardRefExoticComponent<
72
- React.RefAttributes<Icon> & React.PropsWithoutRef<Icon> & IAvatarIconProps
73
- >;
74
- Badge: React.ForwardRefExoticComponent<
75
- React.RefAttributes<Badge> & React.PropsWithoutRef<Badge> & IAvatarBadgeProps
76
- >;
77
- };
@@ -0,0 +1,115 @@
1
+ import type React from 'react';
2
+ import { forwardRef, useMemo } from 'react';
3
+ import { Pressable, type PressableProps } from 'react-native';
4
+ import { composeEventHandlers } from '@cdx-ui/utils';
5
+ import { useFocus, useFocusRing } from '@react-native-aria/focus';
6
+ import { useHover, usePress } from '@react-native-aria/interactions';
7
+ import type { InteractionState } from '../types';
8
+ import { Slot } from '../slot';
9
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
10
+ import { ButtonProvider } from './context';
11
+ import type { IButtonProps } from './types';
12
+
13
+ export interface ButtonRootProps extends Omit<IButtonProps, 'children'> {
14
+ asChild?: boolean;
15
+ children?: ((state: InteractionState) => React.ReactNode) | React.ReactNode;
16
+ }
17
+
18
+ export const ButtonRoot = forwardRef<React.ComponentRef<typeof Pressable>, ButtonRootProps>(
19
+ (
20
+ {
21
+ asChild,
22
+ children,
23
+ isDisabled,
24
+ isHovered: isHoveredProp,
25
+ isActive: isActiveProp,
26
+ isFocused: isFocusedProp,
27
+ isFocusVisible: isFocusVisibleProp,
28
+ ...props
29
+ },
30
+ ref,
31
+ ) => {
32
+ const { isFocused, focusProps } = useFocus();
33
+ const { isFocusVisible, focusProps: focusRingProps } = useFocusRing() as {
34
+ isFocusVisible: boolean;
35
+ focusProps: typeof focusProps;
36
+ };
37
+ const { pressProps: pressableProps, isPressed: isActive } = usePress({
38
+ isDisabled,
39
+ });
40
+ const { isHovered, hoverProps } = useHover();
41
+
42
+ const contextValue = useMemo(() => {
43
+ return {
44
+ hover: isHoveredProp || isHovered,
45
+ focus: isFocusedProp || isFocused,
46
+ active: isActiveProp || isActive,
47
+ disabled: !!isDisabled,
48
+ focusVisible: isFocusVisibleProp || isFocusVisible,
49
+ };
50
+ }, [
51
+ isHovered,
52
+ isHoveredProp,
53
+ isFocused,
54
+ isFocusedProp,
55
+ isActive,
56
+ isActiveProp,
57
+ isDisabled,
58
+ isFocusVisible,
59
+ isFocusVisibleProp,
60
+ ]);
61
+
62
+ const Comp = asChild ? Slot : Pressable;
63
+
64
+ return (
65
+ <ButtonProvider value={contextValue}>
66
+ <Comp
67
+ ref={ref}
68
+ role={props?.role || 'button'}
69
+ disabled={isDisabled}
70
+ {...(props as PressableProps)}
71
+ {...mergeDataAttributes(
72
+ props,
73
+ dataAttributes({
74
+ hover: isHoveredProp || isHovered,
75
+ focus: isFocusedProp || isFocused,
76
+ active: isActiveProp || isActive,
77
+ disabled: !!isDisabled,
78
+ focusVisible: isFocusVisibleProp || isFocusVisible,
79
+ }),
80
+ )}
81
+ onPressIn={composeEventHandlers(props?.onPressIn, pressableProps.onPressIn)}
82
+ onPressOut={composeEventHandlers(props?.onPressOut, pressableProps.onPressOut)}
83
+ onHoverIn={composeEventHandlers(props?.onHoverIn, hoverProps.onHoverIn)}
84
+ onHoverOut={composeEventHandlers(props?.onHoverOut, hoverProps.onHoverOut)}
85
+ onFocus={composeEventHandlers(
86
+ composeEventHandlers(
87
+ props?.onFocus as (...args: unknown[]) => unknown,
88
+ focusProps.onFocus,
89
+ ),
90
+ focusRingProps.onFocus,
91
+ )}
92
+ onBlur={composeEventHandlers(
93
+ composeEventHandlers(
94
+ props?.onBlur as (...args: unknown[]) => unknown,
95
+ focusProps.onBlur,
96
+ ),
97
+ focusRingProps.onBlur,
98
+ )}
99
+ >
100
+ {typeof children === 'function'
101
+ ? children({
102
+ hover: isHoveredProp || isHovered,
103
+ focus: isFocusedProp || isFocused,
104
+ active: isActiveProp || isActive,
105
+ disabled: !!isDisabled,
106
+ focusVisible: isFocusVisibleProp || isFocusVisible,
107
+ })
108
+ : children}
109
+ </Comp>
110
+ </ButtonProvider>
111
+ );
112
+ },
113
+ );
114
+
115
+ ButtonRoot.displayName = 'ButtonRoot';
@@ -0,0 +1,3 @@
1
+ export type { IButtonProps } from './types';
2
+ export { useButtonContext } from './context';
3
+ export { ButtonRoot, type ButtonRootProps } from './ButtonRoot';