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

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 (401) 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 +16 -1
  8. package/lib/commonjs/components/Button/index.js.map +1 -1
  9. package/lib/commonjs/components/Button/styles.js +85 -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/hooks/index.js +19 -0
  105. package/lib/commonjs/hooks/index.js.map +1 -0
  106. package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js +246 -0
  107. package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
  108. package/lib/commonjs/index.js +24 -0
  109. package/lib/commonjs/index.js.map +1 -1
  110. package/lib/commonjs/metro/withCdxMetroConfig.js +7 -18
  111. package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -1
  112. package/lib/commonjs/metro/withForgeMetroConfig.js +24 -0
  113. package/lib/commonjs/metro/withForgeMetroConfig.js.map +1 -0
  114. package/lib/commonjs/navigation/forgeTabIcon.js +43 -0
  115. package/lib/commonjs/navigation/forgeTabIcon.js.map +1 -0
  116. package/lib/commonjs/navigation/forgeTabIcon.native.js +35 -0
  117. package/lib/commonjs/navigation/forgeTabIcon.native.js.map +1 -0
  118. package/lib/commonjs/navigation/index.js +13 -0
  119. package/lib/commonjs/navigation/index.js.map +1 -0
  120. package/lib/commonjs/navigation/types.js +40 -0
  121. package/lib/commonjs/navigation/types.js.map +1 -0
  122. package/lib/commonjs/styles/primitives.js +43 -6
  123. package/lib/commonjs/styles/primitives.js.map +1 -1
  124. package/lib/module/components/AlertDialog/index.js +1 -1
  125. package/lib/module/components/AlertDialog/index.js.map +1 -1
  126. package/lib/module/components/Avatar/index.js +1 -1
  127. package/lib/module/components/Avatar/styles.js +36 -29
  128. package/lib/module/components/Avatar/styles.js.map +1 -1
  129. package/lib/module/components/Button/index.js +17 -2
  130. package/lib/module/components/Button/index.js.map +1 -1
  131. package/lib/module/components/Button/styles.js +85 -26
  132. package/lib/module/components/Button/styles.js.map +1 -1
  133. package/lib/module/components/CLAUDE.md +90 -0
  134. package/lib/module/components/Card/index.js +23 -4
  135. package/lib/module/components/Card/index.js.map +1 -1
  136. package/lib/module/components/Card/styles.js +27 -4
  137. package/lib/module/components/Card/styles.js.map +1 -1
  138. package/lib/module/components/Checkbox/index.js +6 -30
  139. package/lib/module/components/Checkbox/index.js.map +1 -1
  140. package/lib/module/components/Checkbox/styles.js +40 -48
  141. package/lib/module/components/Checkbox/styles.js.map +1 -1
  142. package/lib/module/components/Chip/index.js +82 -13
  143. package/lib/module/components/Chip/index.js.map +1 -1
  144. package/lib/module/components/Chip/styles.js +206 -20
  145. package/lib/module/components/Chip/styles.js.map +1 -1
  146. package/lib/module/components/Field/index.js +9 -3
  147. package/lib/module/components/Field/index.js.map +1 -1
  148. package/lib/module/components/Field/styles.js +4 -4
  149. package/lib/module/components/Field/styles.js.map +1 -1
  150. package/lib/module/components/Heading/styles.js +1 -1
  151. package/lib/module/components/Heading/styles.js.map +1 -1
  152. package/lib/module/components/Icon/index.js +3 -4
  153. package/lib/module/components/Icon/index.js.map +1 -1
  154. package/lib/module/components/IconButton/index.js +6 -1
  155. package/lib/module/components/IconButton/index.js.map +1 -1
  156. package/lib/module/components/IconButton/styles.js +135 -10
  157. package/lib/module/components/IconButton/styles.js.map +1 -1
  158. package/lib/module/components/Input/styles.js +7 -6
  159. package/lib/module/components/Input/styles.js.map +1 -1
  160. package/lib/module/components/Link/index.js +25 -6
  161. package/lib/module/components/Link/index.js.map +1 -1
  162. package/lib/module/components/Link/styles.js +55 -6
  163. package/lib/module/components/Link/styles.js.map +1 -1
  164. package/lib/module/components/ListItem/styles.js +10 -10
  165. package/lib/module/components/ListItem/styles.js.map +1 -1
  166. package/lib/module/components/ProgressSegmented/index.js +25 -11
  167. package/lib/module/components/ProgressSegmented/index.js.map +1 -1
  168. package/lib/module/components/Radio/index.js +164 -0
  169. package/lib/module/components/Radio/index.js.map +1 -0
  170. package/lib/module/components/Radio/styles.js +27 -0
  171. package/lib/module/components/Radio/styles.js.map +1 -0
  172. package/lib/module/components/ScopedTheme/index.js +19 -0
  173. package/lib/module/components/ScopedTheme/index.js.map +1 -0
  174. package/lib/module/components/Select/SelectTriggerHost.web.js +4 -0
  175. package/lib/module/components/Select/SelectTriggerHost.web.js.map +1 -1
  176. package/lib/module/components/Select/index.js +10 -4
  177. package/lib/module/components/Select/index.js.map +1 -1
  178. package/lib/module/components/Select/styles.js +18 -21
  179. package/lib/module/components/Select/styles.js.map +1 -1
  180. package/lib/module/components/Text/styles.js +2 -2
  181. package/lib/module/components/Text/styles.js.map +1 -1
  182. package/lib/module/components/Tile/index.js +243 -0
  183. package/lib/module/components/Tile/index.js.map +1 -0
  184. package/lib/module/components/Tile/styles.js +48 -0
  185. package/lib/module/components/Tile/styles.js.map +1 -0
  186. package/lib/module/components/index.js +3 -0
  187. package/lib/module/components/index.js.map +1 -1
  188. package/lib/module/figma/Avatar.figma.js +48 -0
  189. package/lib/module/figma/Avatar.figma.js.map +1 -0
  190. package/lib/module/figma/Button.figma.js +28 -15
  191. package/lib/module/figma/Button.figma.js.map +1 -1
  192. package/lib/module/figma/CLAUDE.md +30 -0
  193. package/lib/module/figma/Card.Header.figma.js +22 -0
  194. package/lib/module/figma/Card.Header.figma.js.map +1 -0
  195. package/lib/module/figma/Card.figma.js +36 -0
  196. package/lib/module/figma/Card.figma.js.map +1 -0
  197. package/lib/module/figma/Checkbox.figma.js +49 -0
  198. package/lib/module/figma/Checkbox.figma.js.map +1 -0
  199. package/lib/module/figma/Chip.figma.js +62 -0
  200. package/lib/module/figma/Chip.figma.js.map +1 -0
  201. package/lib/module/figma/Field.Input.figma.js +51 -0
  202. package/lib/module/figma/Field.Input.figma.js.map +1 -0
  203. package/lib/module/figma/Field.Select.figma.js +51 -0
  204. package/lib/module/figma/Field.Select.figma.js.map +1 -0
  205. package/lib/module/figma/Heading.figma.js +24 -0
  206. package/lib/module/figma/Heading.figma.js.map +1 -0
  207. package/lib/module/figma/Icon.figma.js +14 -0
  208. package/lib/module/figma/Icon.figma.js.map +1 -0
  209. package/lib/module/figma/IconButton.figma.js +41 -0
  210. package/lib/module/figma/IconButton.figma.js.map +1 -0
  211. package/lib/module/figma/Input.figma.js +46 -0
  212. package/lib/module/figma/Input.figma.js.map +1 -0
  213. package/lib/module/figma/Link.figma.js +24 -0
  214. package/lib/module/figma/Link.figma.js.map +1 -0
  215. package/lib/module/figma/ProgressSegmented.figma.js +33 -0
  216. package/lib/module/figma/ProgressSegmented.figma.js.map +1 -0
  217. package/lib/module/figma/Radio.figma.js +34 -0
  218. package/lib/module/figma/Radio.figma.js.map +1 -0
  219. package/lib/module/figma/Select.figma.js +47 -0
  220. package/lib/module/figma/Select.figma.js.map +1 -0
  221. package/lib/module/figma/Text.figma.js +23 -0
  222. package/lib/module/figma/Text.figma.js.map +1 -0
  223. package/lib/module/figma/icons.figma.batch.js +22 -0
  224. package/lib/module/figma/icons.figma.batch.js.map +1 -0
  225. package/lib/module/figma/icons.figma.batch.json +17705 -0
  226. package/lib/module/hooks/index.js +4 -0
  227. package/lib/module/hooks/index.js.map +1 -0
  228. package/lib/module/hooks/useForgeBottomTabScreenOptions.js +242 -0
  229. package/lib/module/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
  230. package/lib/module/index.js +2 -0
  231. package/lib/module/index.js.map +1 -1
  232. package/lib/module/metro/withCdxMetroConfig.js +3 -17
  233. package/lib/module/metro/withCdxMetroConfig.js.map +1 -1
  234. package/lib/module/metro/withForgeMetroConfig.js +20 -0
  235. package/lib/module/metro/withForgeMetroConfig.js.map +1 -0
  236. package/lib/module/navigation/forgeTabIcon.js +39 -0
  237. package/lib/module/navigation/forgeTabIcon.js.map +1 -0
  238. package/lib/module/navigation/forgeTabIcon.native.js +31 -0
  239. package/lib/module/navigation/forgeTabIcon.native.js.map +1 -0
  240. package/lib/module/navigation/index.js +4 -0
  241. package/lib/module/navigation/index.js.map +1 -0
  242. package/lib/module/navigation/types.js +38 -0
  243. package/lib/module/navigation/types.js.map +1 -0
  244. package/lib/module/styles/primitives.js +43 -6
  245. package/lib/module/styles/primitives.js.map +1 -1
  246. package/lib/typescript/components/Avatar/styles.d.ts +4 -4
  247. package/lib/typescript/components/Avatar/styles.d.ts.map +1 -1
  248. package/lib/typescript/components/Button/index.d.ts +13 -1
  249. package/lib/typescript/components/Button/index.d.ts.map +1 -1
  250. package/lib/typescript/components/Button/styles.d.ts +5 -3
  251. package/lib/typescript/components/Button/styles.d.ts.map +1 -1
  252. package/lib/typescript/components/Card/index.d.ts +4 -3
  253. package/lib/typescript/components/Card/index.d.ts.map +1 -1
  254. package/lib/typescript/components/Card/styles.d.ts +13 -3
  255. package/lib/typescript/components/Card/styles.d.ts.map +1 -1
  256. package/lib/typescript/components/Checkbox/index.d.ts +1 -2
  257. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
  258. package/lib/typescript/components/Checkbox/styles.d.ts +4 -14
  259. package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -1
  260. package/lib/typescript/components/Chip/index.d.ts +19 -6
  261. package/lib/typescript/components/Chip/index.d.ts.map +1 -1
  262. package/lib/typescript/components/Chip/styles.d.ts +13 -4
  263. package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
  264. package/lib/typescript/components/Field/FieldLabel.web.d.ts +2 -2
  265. package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +1 -1
  266. package/lib/typescript/components/Field/index.d.ts.map +1 -1
  267. package/lib/typescript/components/Field/styles.d.ts.map +1 -1
  268. package/lib/typescript/components/Heading/styles.d.ts +1 -1
  269. package/lib/typescript/components/Icon/index.d.ts +5 -5
  270. package/lib/typescript/components/Icon/index.d.ts.map +1 -1
  271. package/lib/typescript/components/IconButton/index.d.ts +3 -3
  272. package/lib/typescript/components/IconButton/index.d.ts.map +1 -1
  273. package/lib/typescript/components/IconButton/styles.d.ts +6 -2
  274. package/lib/typescript/components/IconButton/styles.d.ts.map +1 -1
  275. package/lib/typescript/components/Input/styles.d.ts.map +1 -1
  276. package/lib/typescript/components/Link/index.d.ts +2 -2
  277. package/lib/typescript/components/Link/index.d.ts.map +1 -1
  278. package/lib/typescript/components/Link/styles.d.ts +9 -2
  279. package/lib/typescript/components/Link/styles.d.ts.map +1 -1
  280. package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
  281. package/lib/typescript/components/ProgressSegmented/index.d.ts +14 -3
  282. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -1
  283. package/lib/typescript/components/Radio/index.d.ts +40 -0
  284. package/lib/typescript/components/Radio/index.d.ts.map +1 -0
  285. package/lib/typescript/components/Radio/styles.d.ts +8 -0
  286. package/lib/typescript/components/Radio/styles.d.ts.map +1 -0
  287. package/lib/typescript/components/ScopedTheme/index.d.ts +16 -0
  288. package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -0
  289. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +3 -0
  290. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +1 -1
  291. package/lib/typescript/components/Select/index.d.ts +1 -1
  292. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  293. package/lib/typescript/components/Select/styles.d.ts.map +1 -1
  294. package/lib/typescript/components/Stack/styles.d.ts +2 -2
  295. package/lib/typescript/components/Text/styles.d.ts +1 -1
  296. package/lib/typescript/components/Tile/index.d.ts +70 -0
  297. package/lib/typescript/components/Tile/index.d.ts.map +1 -0
  298. package/lib/typescript/components/Tile/styles.d.ts +18 -0
  299. package/lib/typescript/components/Tile/styles.d.ts.map +1 -0
  300. package/lib/typescript/components/index.d.ts +3 -0
  301. package/lib/typescript/components/index.d.ts.map +1 -1
  302. package/lib/typescript/figma/Avatar.figma.d.ts +8 -0
  303. package/lib/typescript/figma/Avatar.figma.d.ts.map +1 -0
  304. package/lib/typescript/figma/Button.figma.d.ts.map +1 -1
  305. package/lib/typescript/figma/Card.Header.figma.d.ts +8 -0
  306. package/lib/typescript/figma/Card.Header.figma.d.ts.map +1 -0
  307. package/lib/typescript/figma/Card.figma.d.ts +8 -0
  308. package/lib/typescript/figma/Card.figma.d.ts.map +1 -0
  309. package/lib/typescript/figma/Checkbox.figma.d.ts +8 -0
  310. package/lib/typescript/figma/Checkbox.figma.d.ts.map +1 -0
  311. package/lib/typescript/figma/Chip.figma.d.ts +8 -0
  312. package/lib/typescript/figma/Chip.figma.d.ts.map +1 -0
  313. package/lib/typescript/figma/Field.Input.figma.d.ts +8 -0
  314. package/lib/typescript/figma/Field.Input.figma.d.ts.map +1 -0
  315. package/lib/typescript/figma/Field.Select.figma.d.ts +8 -0
  316. package/lib/typescript/figma/Field.Select.figma.d.ts.map +1 -0
  317. package/lib/typescript/figma/Heading.figma.d.ts +8 -0
  318. package/lib/typescript/figma/Heading.figma.d.ts.map +1 -0
  319. package/lib/typescript/figma/Icon.figma.d.ts +8 -0
  320. package/lib/typescript/figma/Icon.figma.d.ts.map +1 -0
  321. package/lib/typescript/figma/IconButton.figma.d.ts +8 -0
  322. package/lib/typescript/figma/IconButton.figma.d.ts.map +1 -0
  323. package/lib/typescript/figma/Input.figma.d.ts +8 -0
  324. package/lib/typescript/figma/Input.figma.d.ts.map +1 -0
  325. package/lib/typescript/figma/Link.figma.d.ts +8 -0
  326. package/lib/typescript/figma/Link.figma.d.ts.map +1 -0
  327. package/lib/typescript/figma/ProgressSegmented.figma.d.ts +8 -0
  328. package/lib/typescript/figma/ProgressSegmented.figma.d.ts.map +1 -0
  329. package/lib/typescript/figma/Radio.figma.d.ts +8 -0
  330. package/lib/typescript/figma/Radio.figma.d.ts.map +1 -0
  331. package/lib/typescript/figma/Select.figma.d.ts +8 -0
  332. package/lib/typescript/figma/Select.figma.d.ts.map +1 -0
  333. package/lib/typescript/figma/Text.figma.d.ts +8 -0
  334. package/lib/typescript/figma/Text.figma.d.ts.map +1 -0
  335. package/lib/typescript/figma/icons.figma.batch.d.ts +14 -0
  336. package/lib/typescript/figma/icons.figma.batch.d.ts.map +1 -0
  337. package/lib/typescript/hooks/index.d.ts +2 -0
  338. package/lib/typescript/hooks/index.d.ts.map +1 -0
  339. package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts +137 -0
  340. package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts.map +1 -0
  341. package/lib/typescript/index.d.ts +2 -0
  342. package/lib/typescript/index.d.ts.map +1 -1
  343. package/lib/typescript/metro/withCdxMetroConfig.d.ts +4 -18
  344. package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -1
  345. package/lib/typescript/metro/withForgeMetroConfig.d.ts +19 -0
  346. package/lib/typescript/metro/withForgeMetroConfig.d.ts.map +1 -0
  347. package/lib/typescript/navigation/forgeTabIcon.d.ts +27 -0
  348. package/lib/typescript/navigation/forgeTabIcon.d.ts.map +1 -0
  349. package/lib/typescript/navigation/forgeTabIcon.native.d.ts +15 -0
  350. package/lib/typescript/navigation/forgeTabIcon.native.d.ts.map +1 -0
  351. package/lib/typescript/navigation/index.d.ts +4 -0
  352. package/lib/typescript/navigation/index.d.ts.map +1 -0
  353. package/lib/typescript/navigation/types.d.ts +37 -0
  354. package/lib/typescript/navigation/types.d.ts.map +1 -0
  355. package/lib/typescript/styles/primitives.d.ts +38 -0
  356. package/lib/typescript/styles/primitives.d.ts.map +1 -1
  357. package/package.json +10 -8
  358. package/src/components/AlertDialog/index.tsx +1 -1
  359. package/src/components/Avatar/index.tsx +1 -1
  360. package/src/components/Avatar/styles.ts +49 -34
  361. package/src/components/Button/index.tsx +39 -5
  362. package/src/components/Button/styles.ts +56 -27
  363. package/src/components/CLAUDE.md +90 -0
  364. package/src/components/Card/index.tsx +41 -16
  365. package/src/components/Card/styles.ts +42 -15
  366. package/src/components/Checkbox/index.tsx +8 -19
  367. package/src/components/Checkbox/styles.ts +82 -86
  368. package/src/components/Chip/index.tsx +104 -27
  369. package/src/components/Chip/styles.ts +232 -18
  370. package/src/components/Field/FieldLabel.web.tsx +1 -1
  371. package/src/components/Field/index.tsx +10 -3
  372. package/src/components/Field/styles.ts +5 -4
  373. package/src/components/Heading/styles.ts +1 -1
  374. package/src/components/Icon/index.tsx +6 -7
  375. package/src/components/IconButton/index.tsx +7 -6
  376. package/src/components/IconButton/styles.ts +136 -10
  377. package/src/components/Input/styles.ts +15 -9
  378. package/src/components/Link/index.tsx +22 -9
  379. package/src/components/Link/styles.ts +49 -9
  380. package/src/components/ListItem/styles.ts +12 -19
  381. package/src/components/ProgressSegmented/index.tsx +50 -14
  382. package/src/components/Radio/index.tsx +192 -0
  383. package/src/components/Radio/styles.ts +59 -0
  384. package/src/components/ScopedTheme/index.tsx +17 -0
  385. package/src/components/Select/SelectTriggerHost.web.tsx +8 -1
  386. package/src/components/Select/index.tsx +9 -4
  387. package/src/components/Select/styles.ts +49 -51
  388. package/src/components/Text/styles.ts +2 -2
  389. package/src/components/Tile/index.tsx +296 -0
  390. package/src/components/Tile/styles.ts +82 -0
  391. package/src/components/index.ts +3 -0
  392. package/src/hooks/index.ts +5 -0
  393. package/src/hooks/useForgeBottomTabScreenOptions.ts +245 -0
  394. package/src/index.ts +2 -0
  395. package/src/metro/withCdxMetroConfig.ts +4 -29
  396. package/src/metro/withForgeMetroConfig.ts +29 -0
  397. package/src/navigation/forgeTabIcon.native.ts +36 -0
  398. package/src/navigation/forgeTabIcon.ts +33 -0
  399. package/src/navigation/index.ts +3 -0
  400. package/src/navigation/types.ts +55 -0
  401. package/src/styles/primitives.ts +43 -6
@@ -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"}
@@ -0,0 +1,27 @@
1
+ import type { ForgeTabIcon } from '@cdx-ui/icons/tab-icons';
2
+ import type { ForgeTabBarIcon } from './types';
3
+ /**
4
+ * forgeTabIcon — web/JS-navigator implementation.
5
+ *
6
+ * Maps a {@link ForgeTabIcon} descriptor to a React Navigation `tabBarIcon`
7
+ * value that renders the same Forge UI icon on every platform:
8
+ *
9
+ * - **Web** (`createBottomTabNavigator`): renders the SVG icon component with
10
+ * `filled={focused}` and the navigator-supplied `color`/`size` — pair with
11
+ * `useForgeBottomTabScreenOptions` so tints come from design tokens.
12
+ * - **iOS/Android** (`createNativeBottomTabNavigator`): the `.native` module
13
+ * of this file returns a tinted template-image descriptor instead.
14
+ *
15
+ * ```tsx
16
+ * import { useForgeBottomTabScreenOptions, forgeTabIcon } from '@cdx-ui/components';
17
+ * import { HomeTabIcon } from '@cdx-ui/icons/tab-icons';
18
+ *
19
+ * <Tab.Screen
20
+ * name="Home"
21
+ * component={HomeScreen}
22
+ * options={{ title: 'Home', tabBarIcon: forgeTabIcon(HomeTabIcon) }}
23
+ * />
24
+ * ```
25
+ */
26
+ export declare function forgeTabIcon(icon: ForgeTabIcon): ForgeTabBarIcon;
27
+ //# sourceMappingURL=forgeTabIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgeTabIcon.d.ts","sourceRoot":"","sources":["../../../src/navigation/forgeTabIcon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAKhE"}
@@ -0,0 +1,15 @@
1
+ import type { ForgeTabIcon } from '@cdx-ui/icons/tab-icons';
2
+ import type { ForgeTabBarIcon } from './types';
3
+ /**
4
+ * forgeTabIcon — iOS/Android implementation (see `forgeTabIcon.ts` for the
5
+ * full contract and usage example).
6
+ *
7
+ * Returns a `tabBarIcon` function for `createNativeBottomTabNavigator` that
8
+ * resolves the descriptor's pre-rasterized template PNGs: outlined at rest,
9
+ * filled when focused (iOS only — Android tabs use one static icon and
10
+ * express selection via tint). `tinted: true` makes the native tab bar apply
11
+ * `tabBarActiveTintColor` / `tabBarInactiveTintColor` at runtime, so theming
12
+ * and dark mode flow through `useForgeBottomTabScreenOptions` unchanged.
13
+ */
14
+ export declare function forgeTabIcon(icon: ForgeTabIcon): ForgeTabBarIcon;
15
+ //# sourceMappingURL=forgeTabIcon.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgeTabIcon.native.d.ts","sourceRoot":"","sources":["../../../src/navigation/forgeTabIcon.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAqBhE"}
@@ -0,0 +1,4 @@
1
+ export { forgeTabIcon } from './forgeTabIcon';
2
+ export type { ForgeNativeBottomTabIcon, ForgeTabBarIcon } from './types';
3
+ export type { ForgeTabIcon, ForgeTabIconNativeSources } from '@cdx-ui/icons/tab-icons';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/navigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ImageSourcePropType } from 'react-native';
3
+ /**
4
+ * Structural mirror of the `image` arm of `NativeBottomTabIcon` from
5
+ * `@react-navigation/bottom-tabs/unstable`. Declared locally so
6
+ * `@cdx-ui/components` carries no runtime React Navigation dependency —
7
+ * the drift guards below fail the build if the upstream shape changes.
8
+ */
9
+ export interface ForgeNativeBottomTabIcon {
10
+ type: 'image';
11
+ /** Metro-resolved asset (e.g. a static `require('./icon.png')`). */
12
+ source: ImageSourcePropType;
13
+ /**
14
+ * Render as a template image tinted with the tab bar's active/inactive
15
+ * tint color. iOS-only flag — Android always tints tab icons.
16
+ */
17
+ tinted?: boolean;
18
+ }
19
+ /**
20
+ * The value `forgeTabIcon()` returns — callable as `tabBarIcon` on **both**
21
+ * React Navigation bottom tab navigators. The intersection carries both call
22
+ * signatures; the platform-split implementation guarantees the matching one
23
+ * at runtime:
24
+ *
25
+ * - `createBottomTabNavigator` (web/JS) invokes it with
26
+ * `{ focused, color, size }` and renders the returned element.
27
+ * - `createNativeBottomTabNavigator` (iOS/Android) invokes it with
28
+ * `{ focused }` and receives a native icon descriptor.
29
+ */
30
+ export type ForgeTabBarIcon = ((props: {
31
+ focused: boolean;
32
+ color: string;
33
+ size: number;
34
+ }) => ReactElement) & ((props: {
35
+ focused: boolean;
36
+ }) => ForgeNativeBottomTabIcon);
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/navigation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,EAAE;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,YAAY,CAAC,GACjB,CAAC,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,wBAAwB,CAAC,CAAC"}
@@ -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.51",
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,11 +67,13 @@
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.51",
71
+ "@cdx-ui/utils": "0.0.1-beta.51",
72
+ "@cdx-ui/icons": "0.0.1-beta.51"
73
73
  },
74
74
  "devDependencies": {
75
+ "@react-navigation/bottom-tabs": "*",
76
+ "react-native-screens": "*",
75
77
  "@types/react": "*",
76
78
  "@types/react-dom": "*",
77
79
  "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,
@@ -141,9 +175,9 @@ ButtonGroup.displayName = 'Button.Group';
141
175
  export interface ButtonIconProps extends Omit<IconProps, 'children'> {}
142
176
 
143
177
  const ButtonIcon = ({ className, style, as, ...props }: ButtonIconProps) => {
144
- const { size } = useButtonStyleContext();
178
+ const { variant, color, size } = useButtonStyleContext();
145
179
 
146
- const computedClassName = cn(buttonIconVariants({ size }), className);
180
+ const computedClassName = cn(buttonIconVariants({ variant, color, size }), className);
147
181
 
148
182
  return <Icon as={as} className={computedClassName} style={style} {...props} />;
149
183
  };