@cdx-ui/components 0.0.1-beta.5 → 0.0.1-beta.50

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 (351) hide show
  1. package/README.md +28 -18
  2. package/lib/commonjs/components/AlertDialog/index.js +1 -1
  3. package/lib/commonjs/components/AlertDialog/index.js.map +1 -1
  4. package/lib/commonjs/components/Avatar/index.js +1 -1
  5. package/lib/commonjs/components/Avatar/styles.js +36 -29
  6. package/lib/commonjs/components/Avatar/styles.js.map +1 -1
  7. package/lib/commonjs/components/Button/index.js +12 -1
  8. package/lib/commonjs/components/Button/index.js.map +1 -1
  9. package/lib/commonjs/components/Button/styles.js +26 -26
  10. package/lib/commonjs/components/Button/styles.js.map +1 -1
  11. package/lib/commonjs/components/CLAUDE.md +90 -0
  12. package/lib/commonjs/components/Card/index.js +22 -4
  13. package/lib/commonjs/components/Card/index.js.map +1 -1
  14. package/lib/commonjs/components/Card/styles.js +27 -4
  15. package/lib/commonjs/components/Card/styles.js.map +1 -1
  16. package/lib/commonjs/components/Checkbox/index.js +5 -29
  17. package/lib/commonjs/components/Checkbox/index.js.map +1 -1
  18. package/lib/commonjs/components/Checkbox/styles.js +39 -47
  19. package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
  20. package/lib/commonjs/components/Chip/index.js +78 -9
  21. package/lib/commonjs/components/Chip/index.js.map +1 -1
  22. package/lib/commonjs/components/Chip/styles.js +207 -21
  23. package/lib/commonjs/components/Chip/styles.js.map +1 -1
  24. package/lib/commonjs/components/Field/index.js +8 -2
  25. package/lib/commonjs/components/Field/index.js.map +1 -1
  26. package/lib/commonjs/components/Field/styles.js +4 -4
  27. package/lib/commonjs/components/Field/styles.js.map +1 -1
  28. package/lib/commonjs/components/Heading/styles.js +1 -1
  29. package/lib/commonjs/components/Heading/styles.js.map +1 -1
  30. package/lib/commonjs/components/Icon/index.js +3 -4
  31. package/lib/commonjs/components/Icon/index.js.map +1 -1
  32. package/lib/commonjs/components/IconButton/index.js +6 -1
  33. package/lib/commonjs/components/IconButton/index.js.map +1 -1
  34. package/lib/commonjs/components/IconButton/styles.js +135 -10
  35. package/lib/commonjs/components/IconButton/styles.js.map +1 -1
  36. package/lib/commonjs/components/Input/styles.js +7 -6
  37. package/lib/commonjs/components/Input/styles.js.map +1 -1
  38. package/lib/commonjs/components/Link/index.js +22 -3
  39. package/lib/commonjs/components/Link/index.js.map +1 -1
  40. package/lib/commonjs/components/Link/styles.js +56 -6
  41. package/lib/commonjs/components/Link/styles.js.map +1 -1
  42. package/lib/commonjs/components/ListItem/styles.js +9 -9
  43. package/lib/commonjs/components/ListItem/styles.js.map +1 -1
  44. package/lib/commonjs/components/ProgressSegmented/index.js +24 -10
  45. package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -1
  46. package/lib/commonjs/components/Radio/index.js +167 -0
  47. package/lib/commonjs/components/Radio/index.js.map +1 -0
  48. package/lib/commonjs/components/Radio/styles.js +31 -0
  49. package/lib/commonjs/components/Radio/styles.js.map +1 -0
  50. package/lib/commonjs/components/ScopedTheme/index.js +24 -0
  51. package/lib/commonjs/components/ScopedTheme/index.js.map +1 -0
  52. package/lib/commonjs/components/Select/SelectTriggerHost.web.js +4 -0
  53. package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +1 -1
  54. package/lib/commonjs/components/Select/index.js +9 -3
  55. package/lib/commonjs/components/Select/index.js.map +1 -1
  56. package/lib/commonjs/components/Select/styles.js +17 -20
  57. package/lib/commonjs/components/Select/styles.js.map +1 -1
  58. package/lib/commonjs/components/Text/styles.js +2 -2
  59. package/lib/commonjs/components/Text/styles.js.map +1 -1
  60. package/lib/commonjs/components/Tile/index.js +251 -0
  61. package/lib/commonjs/components/Tile/index.js.map +1 -0
  62. package/lib/commonjs/components/Tile/styles.js +52 -0
  63. package/lib/commonjs/components/Tile/styles.js.map +1 -0
  64. package/lib/commonjs/components/index.js +36 -0
  65. package/lib/commonjs/components/index.js.map +1 -1
  66. package/lib/commonjs/figma/Avatar.figma.js +54 -0
  67. package/lib/commonjs/figma/Avatar.figma.js.map +1 -0
  68. package/lib/commonjs/figma/Button.figma.js +28 -15
  69. package/lib/commonjs/figma/Button.figma.js.map +1 -1
  70. package/lib/commonjs/figma/CLAUDE.md +30 -0
  71. package/lib/commonjs/figma/Card.Header.figma.js +28 -0
  72. package/lib/commonjs/figma/Card.Header.figma.js.map +1 -0
  73. package/lib/commonjs/figma/Card.figma.js +42 -0
  74. package/lib/commonjs/figma/Card.figma.js.map +1 -0
  75. package/lib/commonjs/figma/Checkbox.figma.js +55 -0
  76. package/lib/commonjs/figma/Checkbox.figma.js.map +1 -0
  77. package/lib/commonjs/figma/Chip.figma.js +68 -0
  78. package/lib/commonjs/figma/Chip.figma.js.map +1 -0
  79. package/lib/commonjs/figma/Field.Input.figma.js +57 -0
  80. package/lib/commonjs/figma/Field.Input.figma.js.map +1 -0
  81. package/lib/commonjs/figma/Field.Select.figma.js +57 -0
  82. package/lib/commonjs/figma/Field.Select.figma.js.map +1 -0
  83. package/lib/commonjs/figma/Heading.figma.js +30 -0
  84. package/lib/commonjs/figma/Heading.figma.js.map +1 -0
  85. package/lib/commonjs/figma/Icon.figma.js +20 -0
  86. package/lib/commonjs/figma/Icon.figma.js.map +1 -0
  87. package/lib/commonjs/figma/IconButton.figma.js +47 -0
  88. package/lib/commonjs/figma/IconButton.figma.js.map +1 -0
  89. package/lib/commonjs/figma/Input.figma.js +52 -0
  90. package/lib/commonjs/figma/Input.figma.js.map +1 -0
  91. package/lib/commonjs/figma/Link.figma.js +30 -0
  92. package/lib/commonjs/figma/Link.figma.js.map +1 -0
  93. package/lib/commonjs/figma/ProgressSegmented.figma.js +39 -0
  94. package/lib/commonjs/figma/ProgressSegmented.figma.js.map +1 -0
  95. package/lib/commonjs/figma/Radio.figma.js +40 -0
  96. package/lib/commonjs/figma/Radio.figma.js.map +1 -0
  97. package/lib/commonjs/figma/Select.figma.js +53 -0
  98. package/lib/commonjs/figma/Select.figma.js.map +1 -0
  99. package/lib/commonjs/figma/Text.figma.js +29 -0
  100. package/lib/commonjs/figma/Text.figma.js.map +1 -0
  101. package/lib/commonjs/figma/icons.figma.batch.js +27 -0
  102. package/lib/commonjs/figma/icons.figma.batch.js.map +1 -0
  103. package/lib/commonjs/figma/icons.figma.batch.json +17705 -0
  104. package/lib/commonjs/metro/withCdxMetroConfig.js +7 -18
  105. package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -1
  106. package/lib/commonjs/metro/withForgeMetroConfig.js +24 -0
  107. package/lib/commonjs/metro/withForgeMetroConfig.js.map +1 -0
  108. package/lib/commonjs/styles/primitives.js +43 -6
  109. package/lib/commonjs/styles/primitives.js.map +1 -1
  110. package/lib/module/components/AlertDialog/index.js +1 -1
  111. package/lib/module/components/AlertDialog/index.js.map +1 -1
  112. package/lib/module/components/Avatar/index.js +1 -1
  113. package/lib/module/components/Avatar/styles.js +36 -29
  114. package/lib/module/components/Avatar/styles.js.map +1 -1
  115. package/lib/module/components/Button/index.js +13 -2
  116. package/lib/module/components/Button/index.js.map +1 -1
  117. package/lib/module/components/Button/styles.js +26 -26
  118. package/lib/module/components/Button/styles.js.map +1 -1
  119. package/lib/module/components/CLAUDE.md +90 -0
  120. package/lib/module/components/Card/index.js +23 -4
  121. package/lib/module/components/Card/index.js.map +1 -1
  122. package/lib/module/components/Card/styles.js +27 -4
  123. package/lib/module/components/Card/styles.js.map +1 -1
  124. package/lib/module/components/Checkbox/index.js +6 -30
  125. package/lib/module/components/Checkbox/index.js.map +1 -1
  126. package/lib/module/components/Checkbox/styles.js +40 -48
  127. package/lib/module/components/Checkbox/styles.js.map +1 -1
  128. package/lib/module/components/Chip/index.js +82 -13
  129. package/lib/module/components/Chip/index.js.map +1 -1
  130. package/lib/module/components/Chip/styles.js +206 -20
  131. package/lib/module/components/Chip/styles.js.map +1 -1
  132. package/lib/module/components/Field/index.js +9 -3
  133. package/lib/module/components/Field/index.js.map +1 -1
  134. package/lib/module/components/Field/styles.js +4 -4
  135. package/lib/module/components/Field/styles.js.map +1 -1
  136. package/lib/module/components/Heading/styles.js +1 -1
  137. package/lib/module/components/Heading/styles.js.map +1 -1
  138. package/lib/module/components/Icon/index.js +3 -4
  139. package/lib/module/components/Icon/index.js.map +1 -1
  140. package/lib/module/components/IconButton/index.js +6 -1
  141. package/lib/module/components/IconButton/index.js.map +1 -1
  142. package/lib/module/components/IconButton/styles.js +135 -10
  143. package/lib/module/components/IconButton/styles.js.map +1 -1
  144. package/lib/module/components/Input/styles.js +7 -6
  145. package/lib/module/components/Input/styles.js.map +1 -1
  146. package/lib/module/components/Link/index.js +25 -6
  147. package/lib/module/components/Link/index.js.map +1 -1
  148. package/lib/module/components/Link/styles.js +55 -6
  149. package/lib/module/components/Link/styles.js.map +1 -1
  150. package/lib/module/components/ListItem/styles.js +10 -10
  151. package/lib/module/components/ListItem/styles.js.map +1 -1
  152. package/lib/module/components/ProgressSegmented/index.js +25 -11
  153. package/lib/module/components/ProgressSegmented/index.js.map +1 -1
  154. package/lib/module/components/Radio/index.js +164 -0
  155. package/lib/module/components/Radio/index.js.map +1 -0
  156. package/lib/module/components/Radio/styles.js +27 -0
  157. package/lib/module/components/Radio/styles.js.map +1 -0
  158. package/lib/module/components/ScopedTheme/index.js +19 -0
  159. package/lib/module/components/ScopedTheme/index.js.map +1 -0
  160. package/lib/module/components/Select/SelectTriggerHost.web.js +4 -0
  161. package/lib/module/components/Select/SelectTriggerHost.web.js.map +1 -1
  162. package/lib/module/components/Select/index.js +10 -4
  163. package/lib/module/components/Select/index.js.map +1 -1
  164. package/lib/module/components/Select/styles.js +18 -21
  165. package/lib/module/components/Select/styles.js.map +1 -1
  166. package/lib/module/components/Text/styles.js +2 -2
  167. package/lib/module/components/Text/styles.js.map +1 -1
  168. package/lib/module/components/Tile/index.js +243 -0
  169. package/lib/module/components/Tile/index.js.map +1 -0
  170. package/lib/module/components/Tile/styles.js +48 -0
  171. package/lib/module/components/Tile/styles.js.map +1 -0
  172. package/lib/module/components/index.js +3 -0
  173. package/lib/module/components/index.js.map +1 -1
  174. package/lib/module/figma/Avatar.figma.js +48 -0
  175. package/lib/module/figma/Avatar.figma.js.map +1 -0
  176. package/lib/module/figma/Button.figma.js +28 -15
  177. package/lib/module/figma/Button.figma.js.map +1 -1
  178. package/lib/module/figma/CLAUDE.md +30 -0
  179. package/lib/module/figma/Card.Header.figma.js +22 -0
  180. package/lib/module/figma/Card.Header.figma.js.map +1 -0
  181. package/lib/module/figma/Card.figma.js +36 -0
  182. package/lib/module/figma/Card.figma.js.map +1 -0
  183. package/lib/module/figma/Checkbox.figma.js +49 -0
  184. package/lib/module/figma/Checkbox.figma.js.map +1 -0
  185. package/lib/module/figma/Chip.figma.js +62 -0
  186. package/lib/module/figma/Chip.figma.js.map +1 -0
  187. package/lib/module/figma/Field.Input.figma.js +51 -0
  188. package/lib/module/figma/Field.Input.figma.js.map +1 -0
  189. package/lib/module/figma/Field.Select.figma.js +51 -0
  190. package/lib/module/figma/Field.Select.figma.js.map +1 -0
  191. package/lib/module/figma/Heading.figma.js +24 -0
  192. package/lib/module/figma/Heading.figma.js.map +1 -0
  193. package/lib/module/figma/Icon.figma.js +14 -0
  194. package/lib/module/figma/Icon.figma.js.map +1 -0
  195. package/lib/module/figma/IconButton.figma.js +41 -0
  196. package/lib/module/figma/IconButton.figma.js.map +1 -0
  197. package/lib/module/figma/Input.figma.js +46 -0
  198. package/lib/module/figma/Input.figma.js.map +1 -0
  199. package/lib/module/figma/Link.figma.js +24 -0
  200. package/lib/module/figma/Link.figma.js.map +1 -0
  201. package/lib/module/figma/ProgressSegmented.figma.js +33 -0
  202. package/lib/module/figma/ProgressSegmented.figma.js.map +1 -0
  203. package/lib/module/figma/Radio.figma.js +34 -0
  204. package/lib/module/figma/Radio.figma.js.map +1 -0
  205. package/lib/module/figma/Select.figma.js +47 -0
  206. package/lib/module/figma/Select.figma.js.map +1 -0
  207. package/lib/module/figma/Text.figma.js +23 -0
  208. package/lib/module/figma/Text.figma.js.map +1 -0
  209. package/lib/module/figma/icons.figma.batch.js +22 -0
  210. package/lib/module/figma/icons.figma.batch.js.map +1 -0
  211. package/lib/module/figma/icons.figma.batch.json +17705 -0
  212. package/lib/module/metro/withCdxMetroConfig.js +3 -17
  213. package/lib/module/metro/withCdxMetroConfig.js.map +1 -1
  214. package/lib/module/metro/withForgeMetroConfig.js +20 -0
  215. package/lib/module/metro/withForgeMetroConfig.js.map +1 -0
  216. package/lib/module/styles/primitives.js +43 -6
  217. package/lib/module/styles/primitives.js.map +1 -1
  218. package/lib/typescript/components/Avatar/styles.d.ts +4 -4
  219. package/lib/typescript/components/Avatar/styles.d.ts.map +1 -1
  220. package/lib/typescript/components/Button/index.d.ts +13 -1
  221. package/lib/typescript/components/Button/index.d.ts.map +1 -1
  222. package/lib/typescript/components/Button/styles.d.ts +3 -3
  223. package/lib/typescript/components/Card/index.d.ts +4 -3
  224. package/lib/typescript/components/Card/index.d.ts.map +1 -1
  225. package/lib/typescript/components/Card/styles.d.ts +13 -3
  226. package/lib/typescript/components/Card/styles.d.ts.map +1 -1
  227. package/lib/typescript/components/Checkbox/index.d.ts +1 -2
  228. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
  229. package/lib/typescript/components/Checkbox/styles.d.ts +4 -14
  230. package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -1
  231. package/lib/typescript/components/Chip/index.d.ts +19 -6
  232. package/lib/typescript/components/Chip/index.d.ts.map +1 -1
  233. package/lib/typescript/components/Chip/styles.d.ts +13 -4
  234. package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
  235. package/lib/typescript/components/Field/FieldLabel.web.d.ts +2 -2
  236. package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +1 -1
  237. package/lib/typescript/components/Field/index.d.ts.map +1 -1
  238. package/lib/typescript/components/Field/styles.d.ts.map +1 -1
  239. package/lib/typescript/components/Heading/styles.d.ts +1 -1
  240. package/lib/typescript/components/Icon/index.d.ts +5 -5
  241. package/lib/typescript/components/Icon/index.d.ts.map +1 -1
  242. package/lib/typescript/components/IconButton/index.d.ts +3 -3
  243. package/lib/typescript/components/IconButton/index.d.ts.map +1 -1
  244. package/lib/typescript/components/IconButton/styles.d.ts +6 -2
  245. package/lib/typescript/components/IconButton/styles.d.ts.map +1 -1
  246. package/lib/typescript/components/Input/styles.d.ts.map +1 -1
  247. package/lib/typescript/components/Link/index.d.ts +2 -2
  248. package/lib/typescript/components/Link/index.d.ts.map +1 -1
  249. package/lib/typescript/components/Link/styles.d.ts +9 -2
  250. package/lib/typescript/components/Link/styles.d.ts.map +1 -1
  251. package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
  252. package/lib/typescript/components/ProgressSegmented/index.d.ts +14 -3
  253. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -1
  254. package/lib/typescript/components/Radio/index.d.ts +40 -0
  255. package/lib/typescript/components/Radio/index.d.ts.map +1 -0
  256. package/lib/typescript/components/Radio/styles.d.ts +8 -0
  257. package/lib/typescript/components/Radio/styles.d.ts.map +1 -0
  258. package/lib/typescript/components/ScopedTheme/index.d.ts +16 -0
  259. package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -0
  260. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +3 -0
  261. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +1 -1
  262. package/lib/typescript/components/Select/index.d.ts +1 -1
  263. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  264. package/lib/typescript/components/Select/styles.d.ts.map +1 -1
  265. package/lib/typescript/components/Stack/styles.d.ts +2 -2
  266. package/lib/typescript/components/Text/styles.d.ts +1 -1
  267. package/lib/typescript/components/Tile/index.d.ts +70 -0
  268. package/lib/typescript/components/Tile/index.d.ts.map +1 -0
  269. package/lib/typescript/components/Tile/styles.d.ts +18 -0
  270. package/lib/typescript/components/Tile/styles.d.ts.map +1 -0
  271. package/lib/typescript/components/index.d.ts +3 -0
  272. package/lib/typescript/components/index.d.ts.map +1 -1
  273. package/lib/typescript/figma/Avatar.figma.d.ts +8 -0
  274. package/lib/typescript/figma/Avatar.figma.d.ts.map +1 -0
  275. package/lib/typescript/figma/Button.figma.d.ts.map +1 -1
  276. package/lib/typescript/figma/Card.Header.figma.d.ts +8 -0
  277. package/lib/typescript/figma/Card.Header.figma.d.ts.map +1 -0
  278. package/lib/typescript/figma/Card.figma.d.ts +8 -0
  279. package/lib/typescript/figma/Card.figma.d.ts.map +1 -0
  280. package/lib/typescript/figma/Checkbox.figma.d.ts +8 -0
  281. package/lib/typescript/figma/Checkbox.figma.d.ts.map +1 -0
  282. package/lib/typescript/figma/Chip.figma.d.ts +8 -0
  283. package/lib/typescript/figma/Chip.figma.d.ts.map +1 -0
  284. package/lib/typescript/figma/Field.Input.figma.d.ts +8 -0
  285. package/lib/typescript/figma/Field.Input.figma.d.ts.map +1 -0
  286. package/lib/typescript/figma/Field.Select.figma.d.ts +8 -0
  287. package/lib/typescript/figma/Field.Select.figma.d.ts.map +1 -0
  288. package/lib/typescript/figma/Heading.figma.d.ts +8 -0
  289. package/lib/typescript/figma/Heading.figma.d.ts.map +1 -0
  290. package/lib/typescript/figma/Icon.figma.d.ts +8 -0
  291. package/lib/typescript/figma/Icon.figma.d.ts.map +1 -0
  292. package/lib/typescript/figma/IconButton.figma.d.ts +8 -0
  293. package/lib/typescript/figma/IconButton.figma.d.ts.map +1 -0
  294. package/lib/typescript/figma/Input.figma.d.ts +8 -0
  295. package/lib/typescript/figma/Input.figma.d.ts.map +1 -0
  296. package/lib/typescript/figma/Link.figma.d.ts +8 -0
  297. package/lib/typescript/figma/Link.figma.d.ts.map +1 -0
  298. package/lib/typescript/figma/ProgressSegmented.figma.d.ts +8 -0
  299. package/lib/typescript/figma/ProgressSegmented.figma.d.ts.map +1 -0
  300. package/lib/typescript/figma/Radio.figma.d.ts +8 -0
  301. package/lib/typescript/figma/Radio.figma.d.ts.map +1 -0
  302. package/lib/typescript/figma/Select.figma.d.ts +8 -0
  303. package/lib/typescript/figma/Select.figma.d.ts.map +1 -0
  304. package/lib/typescript/figma/Text.figma.d.ts +8 -0
  305. package/lib/typescript/figma/Text.figma.d.ts.map +1 -0
  306. package/lib/typescript/figma/icons.figma.batch.d.ts +14 -0
  307. package/lib/typescript/figma/icons.figma.batch.d.ts.map +1 -0
  308. package/lib/typescript/metro/withCdxMetroConfig.d.ts +4 -18
  309. package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -1
  310. package/lib/typescript/metro/withForgeMetroConfig.d.ts +19 -0
  311. package/lib/typescript/metro/withForgeMetroConfig.d.ts.map +1 -0
  312. package/lib/typescript/styles/primitives.d.ts +38 -0
  313. package/lib/typescript/styles/primitives.d.ts.map +1 -1
  314. package/package.json +8 -8
  315. package/src/components/AlertDialog/index.tsx +1 -1
  316. package/src/components/Avatar/index.tsx +1 -1
  317. package/src/components/Avatar/styles.ts +49 -34
  318. package/src/components/Button/index.tsx +37 -3
  319. package/src/components/Button/styles.ts +27 -27
  320. package/src/components/CLAUDE.md +90 -0
  321. package/src/components/Card/index.tsx +41 -16
  322. package/src/components/Card/styles.ts +42 -15
  323. package/src/components/Checkbox/index.tsx +8 -19
  324. package/src/components/Checkbox/styles.ts +82 -86
  325. package/src/components/Chip/index.tsx +104 -27
  326. package/src/components/Chip/styles.ts +232 -18
  327. package/src/components/Field/FieldLabel.web.tsx +1 -1
  328. package/src/components/Field/index.tsx +10 -3
  329. package/src/components/Field/styles.ts +5 -4
  330. package/src/components/Heading/styles.ts +1 -1
  331. package/src/components/Icon/index.tsx +6 -7
  332. package/src/components/IconButton/index.tsx +7 -6
  333. package/src/components/IconButton/styles.ts +136 -10
  334. package/src/components/Input/styles.ts +15 -9
  335. package/src/components/Link/index.tsx +22 -9
  336. package/src/components/Link/styles.ts +49 -9
  337. package/src/components/ListItem/styles.ts +12 -19
  338. package/src/components/ProgressSegmented/index.tsx +50 -14
  339. package/src/components/Radio/index.tsx +192 -0
  340. package/src/components/Radio/styles.ts +59 -0
  341. package/src/components/ScopedTheme/index.tsx +17 -0
  342. package/src/components/Select/SelectTriggerHost.web.tsx +8 -1
  343. package/src/components/Select/index.tsx +9 -4
  344. package/src/components/Select/styles.ts +49 -51
  345. package/src/components/Text/styles.ts +2 -2
  346. package/src/components/Tile/index.tsx +296 -0
  347. package/src/components/Tile/styles.ts +82 -0
  348. package/src/components/index.ts +3 -0
  349. package/src/metro/withCdxMetroConfig.ts +4 -29
  350. package/src/metro/withForgeMetroConfig.ts +29 -0
  351. package/src/styles/primitives.ts +43 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.figma.d.ts","sourceRoot":"","sources":["../../../src/figma/Text.figma.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;;AAe1B,wBAIE"}
@@ -0,0 +1,14 @@
1
+ import figma from 'figma';
2
+ declare const _default: {
3
+ example: figma.TemplateStringResult;
4
+ imports: string[];
5
+ id: string;
6
+ metadata: {
7
+ nestable: boolean;
8
+ props: {
9
+ componentName: string;
10
+ };
11
+ };
12
+ };
13
+ export default _default;
14
+ //# sourceMappingURL=icons.figma.batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.figma.batch.d.ts","sourceRoot":"","sources":["../../../src/figma/icons.figma.batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;QAaF,MAAM;;;;;;;;AAH9B,wBAQE"}
@@ -1,19 +1,5 @@
1
- import type { MetroConfig } from 'metro-config';
2
- export interface CdxMetroConfigOptions {
3
- /** Path to the CSS entry file (e.g., `'./global.css'`). */
4
- cssEntryFile: string;
5
- /** Path where generated Tailwind class type definitions are written. */
6
- generatedTypesFile?: string;
7
- }
8
- /**
9
- * Wraps a Metro config with CDX UI's styling-layer configuration.
10
- *
11
- * Today this delegates to Uniwind. If the styling layer is swapped (see
12
- * `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
13
- * of this function change — consuming Metro configs stay the same.
14
- *
15
- * Must be the **outermost** Metro config wrapper (after any other wrappers
16
- * like `withStorybook`).
17
- */
18
- export declare function withCdxMetroConfig<T extends MetroConfig>(config: T, options: CdxMetroConfigOptions): T;
1
+ /** @deprecated Use `withForgeMetroConfig` instead. Will be removed in a future major release. */
2
+ export { withForgeMetroConfig as withCdxMetroConfig } from './withForgeMetroConfig';
3
+ /** @deprecated Use `ForgeMetroConfigOptions` instead. Will be removed in a future major release. */
4
+ export type { ForgeMetroConfigOptions as CdxMetroConfigOptions } from './withForgeMetroConfig';
19
5
  //# sourceMappingURL=withCdxMetroConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withCdxMetroConfig.d.ts","sourceRoot":"","sources":["../../../src/metro/withCdxMetroConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,qBAAqB,GAC7B,CAAC,CAKH"}
1
+ {"version":3,"file":"withCdxMetroConfig.d.ts","sourceRoot":"","sources":["../../../src/metro/withCdxMetroConfig.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,oGAAoG;AACpG,YAAY,EAAE,uBAAuB,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { MetroConfig } from 'metro-config';
2
+ export interface ForgeMetroConfigOptions {
3
+ /** Path to the CSS entry file (e.g., `'./global.css'`). */
4
+ cssEntryFile: string;
5
+ /** Path where generated Tailwind class type definitions are written. */
6
+ generatedTypesFile?: string;
7
+ }
8
+ /**
9
+ * Wraps a Metro config with Forge UI's styling-layer configuration.
10
+ *
11
+ * Today this delegates to Uniwind. If the styling layer is swapped (see
12
+ * `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
13
+ * of this function change — consuming Metro configs stay the same.
14
+ *
15
+ * Must be the **outermost** Metro config wrapper (after any other wrappers
16
+ * like `withStorybook`).
17
+ */
18
+ export declare function withForgeMetroConfig<T extends MetroConfig>(config: T, options: ForgeMetroConfigOptions): T;
19
+ //# sourceMappingURL=withForgeMetroConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withForgeMetroConfig.d.ts","sourceRoot":"","sources":["../../../src/metro/withForgeMetroConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EACxD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,uBAAuB,GAC/B,CAAC,CAKH"}
@@ -1,22 +1,53 @@
1
+ /** @deprecated Use `bg-surface-primary` (--color-surface-primary) instead. */
1
2
  export declare const COLOR_BG_PRIMARY = "bg-white";
3
+ /** @deprecated Use `bg-surface-secondary` (--color-surface-secondary) instead. */
2
4
  export declare const COLOR_BG_SUBTLE = "bg-slate-50";
5
+ /** @deprecated Use `bg-surface-neutral-subtle` (--color-surface-neutral-subtle) instead. */
3
6
  export declare const COLOR_BG_MUTED = "bg-slate-100";
7
+ /** @deprecated Use `bg-base-950` (--color-base-950) instead. */
4
8
  export declare const COLOR_BG_INVERSE = "bg-slate-900";
9
+ /** @deprecated Use `border-stroke-secondary` (--color-stroke-secondary) instead. */
5
10
  export declare const COLOR_BORDER_DEFAULT = "border-slate-200";
11
+ /** @deprecated Use `border-stroke-hover` (--color-stroke-hover) instead. */
6
12
  export declare const COLOR_BORDER_STRONG = "border-slate-300";
13
+ /** @deprecated Use `border-stroke-focus` (--color-stroke-focus) instead. */
7
14
  export declare const COLOR_BORDER_FOCUS = "border-slate-900";
15
+ /** @deprecated Use `border-stroke-danger` (--color-stroke-danger) instead. */
8
16
  export declare const COLOR_BORDER_INVALID = "border-red-500";
17
+ /** @deprecated Use `text-content-primary` (--color-content-primary) instead. */
9
18
  export declare const COLOR_TEXT_PRIMARY = "text-slate-900";
19
+ /** @deprecated Use `text-content-secondary` (--color-content-secondary) instead. */
10
20
  export declare const COLOR_TEXT_SECONDARY = "text-slate-500";
21
+ /** @deprecated Use `text-content-tertiary` (--color-content-tertiary) instead. */
11
22
  export declare const COLOR_TEXT_MUTED = "text-slate-400";
23
+ /** @deprecated Use the appropriate `text-content-*-on-strong` token for the surface color, e.g. `text-content-action-on-strong` (--color-content-action-on-strong). */
12
24
  export declare const COLOR_TEXT_INVERSE = "text-white";
25
+ /** @deprecated Use `text-content-tertiary` (--color-content-tertiary) instead. */
13
26
  export declare const COLOR_TEXT_PLACEHOLDER = "text-slate-400";
27
+ /** @deprecated Use `text-content-danger` (--color-content-danger) instead. */
14
28
  export declare const COLOR_TEXT_INVALID = "text-red-600";
29
+ /** @deprecated Use `bg-surface-action-strong` (--color-surface-action-strong) instead. */
15
30
  export declare const COLOR_BRAND_DEFAULT = "bg-slate-900";
31
+ /** @deprecated Use `bg-surface-action-strong-hover` (--color-surface-action-strong-hover) instead. */
16
32
  export declare const COLOR_BRAND_HOVER = "bg-slate-800";
33
+ /** @deprecated Use `bg-surface-action-strong-active` (--color-surface-action-strong-active) instead. */
17
34
  export declare const COLOR_BRAND_ACTIVE = "bg-slate-700";
35
+ /** @deprecated Use `bg-surface-action-strong` (--color-surface-action-strong) instead. */
18
36
  export declare const COLOR_ACCENT_DEFAULT = "bg-slate-900";
37
+ /** @deprecated Use `border-stroke-action` (--color-stroke-action) instead. */
19
38
  export declare const COLOR_ACCENT_BORDER = "border-slate-900";
39
+ /**
40
+ * @deprecated Use semantic token classes directly instead. Map each color key to its
41
+ * corresponding `--color-surface-*`, `--color-stroke-*`, and `--color-content-*` tokens:
42
+ * - `bg` → `bg-surface-{color}-strong` (--color-surface-{color}-strong)
43
+ * - `bgHover` → `bg-surface-{color}-strong-hover` (--color-surface-{color}-strong-hover)
44
+ * - `bgActive` → `bg-surface-{color}-strong-active` (--color-surface-{color}-strong-active)
45
+ * - `border` → `border-stroke-{color}` (--color-stroke-{color})
46
+ * - `text` → `text-content-{color}` (--color-content-{color})
47
+ * - `ring` → `ring-[--color-stroke-focus]` (--color-stroke-focus)
48
+ *
49
+ * See Button/styles.ts for a complete migration example.
50
+ */
20
51
  export declare const SEMANTIC_COLORS: {
21
52
  readonly action: {
22
53
  readonly bg: "bg-slate-900";
@@ -59,12 +90,19 @@ export declare const SEMANTIC_COLORS: {
59
90
  readonly ring: "ring-sky-400/50";
60
91
  };
61
92
  };
93
+ /** @deprecated Use `ring-2 ring-[--color-stroke-focus] ring-offset-2` (--color-stroke-focus) instead. */
62
94
  export declare const FOCUS_RING = "ring-2 ring-slate-400/50 ring-offset-2";
95
+ /** @deprecated Use `rounded-[var(--border-radius-button)]` for buttons/inputs or `rounded-[var(--border-radius-default)]` for containers. */
63
96
  export declare const RADIUS_SM = "rounded-lg";
97
+ /** @deprecated Use `rounded-[var(--border-radius-default)]` for cards/containers. */
64
98
  export declare const RADIUS_MD = "rounded-xl";
99
+ /** @deprecated Use `rounded-[var(--border-radius-round)]` for circular elements (icon buttons, radio, pills). */
65
100
  export declare const RADIUS_FULL = "rounded-full";
101
+ /** @deprecated Use `shadow-sm` directly instead */
66
102
  export declare const SHADOW_SM = "shadow-sm";
103
+ /** @deprecated Use `shadow-md` directly instead */
67
104
  export declare const SHADOW_MD = "shadow-md";
105
+ /** @deprecated */
68
106
  export declare const SIZE_SCALE: {
69
107
  readonly default: {
70
108
  readonly height: "h-10";
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/styles/primitives.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAG/C,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAItD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC;AAGX,eAAO,MAAM,UAAU,2CAA2C,CAAC;AAGnE,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAG1C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,cAAc,CAAC;AAMrC,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAGb,CAAC;AAGX,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,qFACwD,CAAC"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/styles/primitives.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,kFAAkF;AAClF,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,4FAA4F;AAC5F,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAG/C,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,uKAAuK;AACvK,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,sGAAsG;AACtG,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC;AAGX,yGAAyG;AACzG,eAAO,MAAM,UAAU,2CAA2C,CAAC;AAGnE,6IAA6I;AAC7I,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,qFAAqF;AACrF,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,iHAAiH;AACjH,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAI1C,mDAAmD;AACnD,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,mDAAmD;AACnD,eAAO,MAAM,SAAS,cAAc,CAAC;AAMrC,kBAAkB;AAClB,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAGb,CAAC;AAGX,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,qFACwD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdx-ui/components",
3
- "version": "0.0.1-beta.5",
3
+ "version": "0.0.1-beta.50",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "module": "lib/module/index.js",
6
6
  "react-native": "src/index.ts",
@@ -16,10 +16,10 @@
16
16
  },
17
17
  "./styles.css": "./src/styles.css",
18
18
  "./metro": {
19
- "types": "./lib/typescript/metro/withCdxMetroConfig.d.ts",
20
- "require": "./lib/commonjs/metro/withCdxMetroConfig.js",
21
- "import": "./lib/module/metro/withCdxMetroConfig.js",
22
- "default": "./lib/commonjs/metro/withCdxMetroConfig.js"
19
+ "types": "./lib/typescript/metro/withForgeMetroConfig.d.ts",
20
+ "require": "./lib/commonjs/metro/withForgeMetroConfig.js",
21
+ "import": "./lib/module/metro/withForgeMetroConfig.js",
22
+ "default": "./lib/commonjs/metro/withForgeMetroConfig.js"
23
23
  }
24
24
  },
25
25
  "files": [
@@ -67,9 +67,9 @@
67
67
  "@gorhom/bottom-sheet": "^5.2.6",
68
68
  "class-variance-authority": "^0.7.1",
69
69
  "uniwind": "1.6.1",
70
- "@cdx-ui/primitives": "0.0.1-beta.5",
71
- "@cdx-ui/icons": "0.0.1-beta.5",
72
- "@cdx-ui/utils": "0.0.1-beta.5"
70
+ "@cdx-ui/primitives": "0.0.1-beta.50",
71
+ "@cdx-ui/utils": "0.0.1-beta.50",
72
+ "@cdx-ui/icons": "0.0.1-beta.50"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@types/react": "*",
@@ -54,7 +54,7 @@ const AlertDialogAction = forwardRef<View, AlertDialogActionProps>(
54
54
  }
55
55
 
56
56
  return (
57
- <Button ref={ref} variant="strong" color={color} className={className} {...props}>
57
+ <Button ref={ref} variant="solid" color={color} className={className} {...props}>
58
58
  <Button.Label>{children}</Button.Label>
59
59
  </Button>
60
60
  );
@@ -36,7 +36,7 @@ export interface AvatarProps extends ViewProps, IAvatarProps, AvatarVariantProps
36
36
  }
37
37
 
38
38
  const AvatarRoot = forwardRef<View, AvatarProps>(
39
- ({ size = 'lg', className, children, style, ...props }, ref) => {
39
+ ({ size = 'md', className, children, style, ...props }, ref) => {
40
40
  const computedClassName = cn(avatarRootVariants({ size }), className);
41
41
 
42
42
  return (
@@ -1,22 +1,27 @@
1
1
  import { cva, type VariantProps } from 'class-variance-authority';
2
- import { COLOR_BG_MUTED, COLOR_TEXT_SECONDARY, RADIUS_FULL } from '../../styles/primitives';
3
2
 
4
3
  // ── Root ─────────────────────────────────────────────────
5
4
 
6
5
  export const avatarRootVariants = cva(
7
- [RADIUS_FULL, 'relative items-center justify-center', COLOR_BG_MUTED],
6
+ [
7
+ 'rounded-[var(--border-radius-round)]',
8
+ 'relative items-center justify-center',
9
+ 'bg-surface-tertiary',
10
+ ],
8
11
  {
9
12
  variants: {
10
13
  size: {
11
- sm: 'w-8 h-8',
12
- md: 'w-10 h-10',
13
- lg: 'w-12 h-12',
14
- xl: 'w-16 h-16',
15
- '2xl': 'w-20 h-20',
14
+ '2xs': 'w-3 h-3',
15
+ xs: 'w-[18px] h-[18px]',
16
+ sm: 'w-6 h-6',
17
+ md: 'w-8 h-8',
18
+ lg: 'w-10 h-10',
19
+ xl: 'w-12 h-12',
20
+ '2xl': 'w-14 h-14',
16
21
  },
17
22
  },
18
23
  defaultVariants: {
19
- size: 'lg',
24
+ size: 'md',
20
25
  },
21
26
  },
22
27
  );
@@ -25,59 +30,69 @@ export const avatarRootVariants = cva(
25
30
 
26
31
  export const avatarImageVariants = cva([
27
32
  'absolute top-0 left-0 w-full h-full',
28
- RADIUS_FULL,
33
+ 'rounded-[var(--border-radius-round)]',
29
34
  'overflow-hidden',
35
+ 'border border-stroke-secondary',
30
36
  ]);
31
37
 
32
38
  // ── Text ─────────────────────────────────────────────────
33
39
 
34
- export const avatarTextVariants = cva([COLOR_TEXT_SECONDARY, 'font-semibold'], {
40
+ export const avatarTextVariants = cva(['text-content-primary', 'font-medium'], {
35
41
  variants: {
36
42
  size: {
43
+ '2xs': 'text-[6px]',
44
+ xs: 'text-[9px]',
37
45
  sm: 'text-xs',
38
- md: 'text-sm',
39
- lg: 'text-base',
40
- xl: 'text-xl',
41
- '2xl': 'text-2xl',
46
+ md: 'text-base',
47
+ lg: 'text-xl',
48
+ xl: 'text-2xl',
49
+ '2xl': 'text-[28px]',
42
50
  },
43
51
  },
44
52
  defaultVariants: {
45
- size: 'lg',
53
+ size: 'md',
46
54
  },
47
55
  });
48
56
 
49
57
  // ── Icon ─────────────────────────────────────────────────
50
58
 
51
- export const avatarIconVariants = cva([COLOR_TEXT_SECONDARY], {
59
+ export const avatarIconVariants = cva(['text-content-primary'], {
52
60
  variants: {
53
61
  size: {
54
- sm: 'size-4',
55
- md: 'size-5',
56
- lg: 'size-6',
57
- xl: 'size-8',
58
- '2xl': 'size-10',
62
+ '2xs': 'size-1.5',
63
+ xs: 'size-[9px]',
64
+ sm: 'size-3',
65
+ md: 'size-4',
66
+ lg: 'size-5',
67
+ xl: 'size-6',
68
+ '2xl': 'size-7',
59
69
  },
60
70
  },
61
71
  defaultVariants: {
62
- size: 'lg',
72
+ size: 'md',
63
73
  },
64
74
  });
65
75
 
66
76
  // ── Badge ────────────────────────────────────────────────
67
77
 
68
- export const avatarBadgeVariants = cva(['absolute border-2 border-white', RADIUS_FULL], {
69
- variants: {
70
- size: {
71
- sm: 'w-2.5 h-2.5 bottom-0 right-0',
72
- md: 'w-3 h-3 bottom-0 right-0',
73
- lg: 'w-3.5 h-3.5 bottom-0 right-0',
74
- xl: 'w-4 h-4 bottom-0.5 right-0.5',
75
- '2xl': 'w-5 h-5 bottom-0.5 right-0.5',
78
+ export const avatarBadgeVariants = cva(
79
+ ['absolute border-white', 'rounded-[var(--border-radius-round)]', 'bottom-0 right-0'],
80
+ {
81
+ variants: {
82
+ size: {
83
+ '2xs': 'w-1.5 h-1.5 border translate-x-[21%] translate-y-[21%]',
84
+ xs: 'w-2 h-2 border translate-x-[17%] translate-y-[17%]',
85
+ sm: 'w-2.5 h-2.5 border-2 translate-x-[15%] translate-y-[15%]',
86
+ md: 'w-3 h-3 border-2 translate-x-[11%] translate-y-[11%]',
87
+ lg: 'w-3.5 h-3.5 border-2 translate-x-[8%] translate-y-[8%]',
88
+ xl: 'w-4 h-4 border-2 translate-x-[6%] translate-y-[6%]',
89
+ '2xl': 'w-5 h-5 border-2 translate-x-[9%] translate-y-[9%]',
90
+ },
91
+ },
92
+ defaultVariants: {
93
+ size: 'md',
76
94
  },
77
95
  },
78
- defaultVariants: {
79
- size: 'lg',
80
- },
81
- });
96
+ );
82
97
 
83
98
  export type AvatarVariantProps = VariantProps<typeof avatarRootVariants>;
@@ -1,4 +1,4 @@
1
- import { forwardRef, type ReactElement, type ReactNode } from 'react';
1
+ import { forwardRef, useEffect, type ReactElement, type ReactNode } from 'react';
2
2
  import {
3
3
  ActivityIndicator,
4
4
  Pressable,
@@ -40,7 +40,25 @@ const ButtonPrimitive = createButton({
40
40
  // STYLED ROOT COMPONENT
41
41
  // =============================================================================
42
42
 
43
- export interface ButtonProps extends PressableProps, IButtonProps, ButtonVariantProps {
43
+ export type ButtonVariant = 'solid' | 'outline' | 'ghost';
44
+
45
+ /** @deprecated Use {@link ButtonVariant} (`'solid'`) instead. */
46
+ export type ButtonVariantStrong = 'strong';
47
+
48
+ let hasWarnedStrongButtonVariant = false;
49
+
50
+ export interface ButtonProps
51
+ extends PressableProps, IButtonProps, Omit<ButtonVariantProps, 'variant'> {
52
+ /**
53
+ * Visual style variant.
54
+ * @default 'solid'
55
+ */
56
+ variant?:
57
+ | ButtonVariant
58
+ /**
59
+ * @deprecated Use `'solid'` instead.
60
+ */
61
+ | 'strong';
44
62
  className?: string;
45
63
  children?: ReactNode;
46
64
  }
@@ -48,7 +66,7 @@ export interface ButtonProps extends PressableProps, IButtonProps, ButtonVariant
48
66
  const ButtonRoot = forwardRef<View, ButtonProps>(
49
67
  (
50
68
  {
51
- variant = 'strong',
69
+ variant: variantProp = 'solid',
52
70
  color = 'action',
53
71
  size = 'default',
54
72
  fullWidth = false,
@@ -59,6 +77,22 @@ const ButtonRoot = forwardRef<View, ButtonProps>(
59
77
  },
60
78
  ref,
61
79
  ) => {
80
+ // TODO: Remove this once the `strong` variant is removed.
81
+ useEffect(() => {
82
+ if (
83
+ typeof process !== 'undefined' &&
84
+ process.env.NODE_ENV !== 'production' &&
85
+ variantProp === 'strong' &&
86
+ !hasWarnedStrongButtonVariant
87
+ ) {
88
+ hasWarnedStrongButtonVariant = true;
89
+ console.warn(
90
+ '[Button] The `strong` variant is deprecated and will be removed in a future major release. Use `solid` instead.',
91
+ );
92
+ }
93
+ }, [variantProp]);
94
+
95
+ const variant = variantProp === 'strong' ? 'solid' : variantProp;
62
96
  const computedClassName = cn(
63
97
  buttonRootVariants({ variant, color, size, fullWidth }),
64
98
  className,
@@ -10,14 +10,14 @@ export const buttonRootVariants = cva(
10
10
  'rounded-[var(--border-radius-button)]',
11
11
  'web:outline-none web:focus:outline-none web:focus-visible:outline-none',
12
12
  TRANSITION_COLORS,
13
- 'data-[disabled=true]:opacity-[--opacity-disabled]',
13
+ 'data-[disabled=true]:opacity-[var(--opacity-disabled)]',
14
14
  DISABLED_CURSOR,
15
- 'web:data-[focus-visible=true]:ring-2 web:data-[focus-visible=true]:ring-[--color-stroke-focus] web:data-[focus-visible=true]:ring-offset-2',
15
+ 'web:data-[focus-visible=true]:ring-2 web:data-[focus-visible=true]:ring-stroke-focus web:data-[focus-visible=true]:ring-offset-2',
16
16
  ],
17
17
  {
18
18
  variants: {
19
19
  variant: {
20
- strong: ['border-b-1 border-black/75'], // TODO: Replace with token
20
+ solid: ['border-b-1 border-black/75'], // TODO: Replace with token
21
21
  outline: ['bg-transparent', 'border border-stroke-primary'],
22
22
  ghost: ['bg-transparent'],
23
23
  },
@@ -29,7 +29,7 @@ export const buttonRootVariants = cva(
29
29
  info: [],
30
30
  },
31
31
  size: {
32
- default: 'h-10 px-4 gap-2',
32
+ default: 'h-11 px-4 gap-2',
33
33
  small: 'h-8 px-3 gap-1.5',
34
34
  },
35
35
  fullWidth: {
@@ -38,9 +38,9 @@ export const buttonRootVariants = cva(
38
38
  },
39
39
  },
40
40
  compoundVariants: [
41
- // ── strong × color (filled surface) ──────────────────────────────
41
+ // ── solid × color (filled surface) ──────────────────────────────
42
42
  {
43
- variant: 'strong',
43
+ variant: 'solid',
44
44
  color: 'action',
45
45
  className: [
46
46
  'bg-surface-action-strong',
@@ -51,7 +51,7 @@ export const buttonRootVariants = cva(
51
51
  ],
52
52
  },
53
53
  {
54
- variant: 'strong',
54
+ variant: 'solid',
55
55
  color: 'danger',
56
56
  className: [
57
57
  'bg-surface-danger-strong',
@@ -62,7 +62,7 @@ export const buttonRootVariants = cva(
62
62
  ],
63
63
  },
64
64
  {
65
- variant: 'strong',
65
+ variant: 'solid',
66
66
  color: 'warning',
67
67
  className: [
68
68
  'bg-surface-warning-strong',
@@ -73,7 +73,7 @@ export const buttonRootVariants = cva(
73
73
  ],
74
74
  },
75
75
  {
76
- variant: 'strong',
76
+ variant: 'solid',
77
77
  color: 'success',
78
78
  className: [
79
79
  'bg-surface-success-strong',
@@ -84,7 +84,7 @@ export const buttonRootVariants = cva(
84
84
  ],
85
85
  },
86
86
  {
87
- variant: 'strong',
87
+ variant: 'solid',
88
88
  color: 'info',
89
89
  className: [
90
90
  'bg-surface-info-strong',
@@ -205,7 +205,7 @@ export const buttonRootVariants = cva(
205
205
  },
206
206
  ],
207
207
  defaultVariants: {
208
- variant: 'strong',
208
+ variant: 'solid',
209
209
  color: 'action',
210
210
  size: 'default',
211
211
  fullWidth: false,
@@ -216,7 +216,7 @@ export const buttonRootVariants = cva(
216
216
  export const buttonTextVariants = cva(['font-medium', 'text-center'], {
217
217
  variants: {
218
218
  variant: {
219
- strong: [],
219
+ solid: [],
220
220
  outline: [],
221
221
  ghost: [],
222
222
  },
@@ -233,12 +233,12 @@ export const buttonTextVariants = cva(['font-medium', 'text-center'], {
233
233
  },
234
234
  },
235
235
  compoundVariants: [
236
- // ── strong × color (filled foreground text) ──────────────────────
237
- { variant: 'strong', color: 'action', className: 'text-content-action-on-strong' },
238
- { variant: 'strong', color: 'danger', className: 'text-content-danger-on-strong' },
239
- { variant: 'strong', color: 'warning', className: 'text-content-warning-on-strong' },
240
- { variant: 'strong', color: 'success', className: 'text-content-success-on-strong' },
241
- { variant: 'strong', color: 'info', className: 'text-content-info-on-strong' },
236
+ // ── solid × color (filled foreground text) ──────────────────────
237
+ { variant: 'solid', color: 'action', className: 'text-content-action-on-strong' },
238
+ { variant: 'solid', color: 'danger', className: 'text-content-danger-on-strong' },
239
+ { variant: 'solid', color: 'warning', className: 'text-content-warning-on-strong' },
240
+ { variant: 'solid', color: 'success', className: 'text-content-success-on-strong' },
241
+ { variant: 'solid', color: 'info', className: 'text-content-info-on-strong' },
242
242
 
243
243
  // ── outline/ghost × color (transparent foreground text) ──────────
244
244
  { variant: ['outline', 'ghost'], color: 'action', className: 'text-content-action' },
@@ -248,7 +248,7 @@ export const buttonTextVariants = cva(['font-medium', 'text-center'], {
248
248
  { variant: ['outline', 'ghost'], color: 'info', className: 'text-content-info' },
249
249
  ],
250
250
  defaultVariants: {
251
- variant: 'strong',
251
+ variant: 'solid',
252
252
  color: 'action',
253
253
  size: 'default',
254
254
  },
@@ -257,7 +257,7 @@ export const buttonTextVariants = cva(['font-medium', 'text-center'], {
257
257
  export const buttonSpinnerVariants = cva([], {
258
258
  variants: {
259
259
  variant: {
260
- strong: [],
260
+ solid: [],
261
261
  outline: [],
262
262
  ghost: [],
263
263
  },
@@ -270,29 +270,29 @@ export const buttonSpinnerVariants = cva([], {
270
270
  },
271
271
  },
272
272
  compoundVariants: [
273
- // ── strong × color ───────────────────────────────────────────────
273
+ // ── solid × color ───────────────────────────────────────────────
274
274
  {
275
- variant: 'strong',
275
+ variant: 'solid',
276
276
  color: 'action',
277
277
  className: 'accent-[var(--color-content-action-on-strong)]',
278
278
  },
279
279
  {
280
- variant: 'strong',
280
+ variant: 'solid',
281
281
  color: 'danger',
282
282
  className: 'accent-[var(--color-content-danger-on-strong)]',
283
283
  },
284
284
  {
285
- variant: 'strong',
285
+ variant: 'solid',
286
286
  color: 'warning',
287
287
  className: 'accent-[var(--color-content-warning-on-strong)]',
288
288
  },
289
289
  {
290
- variant: 'strong',
290
+ variant: 'solid',
291
291
  color: 'success',
292
292
  className: 'accent-[var(--color-content-success-on-strong)]',
293
293
  },
294
294
  {
295
- variant: 'strong',
295
+ variant: 'solid',
296
296
  color: 'info',
297
297
  className: 'accent-[var(--color-content-info-on-strong)]',
298
298
  },
@@ -325,7 +325,7 @@ export const buttonSpinnerVariants = cva([], {
325
325
  },
326
326
  ],
327
327
  defaultVariants: {
328
- variant: 'strong',
328
+ variant: 'solid',
329
329
  color: 'action',
330
330
  },
331
331
  });