@cdx-ui/components 0.0.1-beta.7 → 0.0.1-beta.70

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 (672) hide show
  1. package/README.md +37 -19
  2. package/lib/commonjs/components/AlertDialog/index.js +17 -14
  3. package/lib/commonjs/components/AlertDialog/index.js.map +1 -1
  4. package/lib/commonjs/components/Avatar/index.js +126 -26
  5. package/lib/commonjs/components/Avatar/index.js.map +1 -1
  6. package/lib/commonjs/components/Avatar/styles.js +36 -29
  7. package/lib/commonjs/components/Avatar/styles.js.map +1 -1
  8. package/lib/commonjs/components/Button/index.js +143 -29
  9. package/lib/commonjs/components/Button/index.js.map +1 -1
  10. package/lib/commonjs/components/Button/styles.js +94 -29
  11. package/lib/commonjs/components/Button/styles.js.map +1 -1
  12. package/lib/commonjs/components/CLAUDE.md +194 -0
  13. package/lib/commonjs/components/Card/index.js +22 -4
  14. package/lib/commonjs/components/Card/index.js.map +1 -1
  15. package/lib/commonjs/components/Card/styles.js +27 -4
  16. package/lib/commonjs/components/Card/styles.js.map +1 -1
  17. package/lib/commonjs/components/Checkbox/index.js +71 -48
  18. package/lib/commonjs/components/Checkbox/index.js.map +1 -1
  19. package/lib/commonjs/components/Checkbox/styles.js +41 -47
  20. package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
  21. package/lib/commonjs/components/Chip/index.js +94 -17
  22. package/lib/commonjs/components/Chip/index.js.map +1 -1
  23. package/lib/commonjs/components/Chip/styles.js +178 -21
  24. package/lib/commonjs/components/Chip/styles.js.map +1 -1
  25. package/lib/commonjs/components/Dialog/index.js +140 -65
  26. package/lib/commonjs/components/Dialog/index.js.map +1 -1
  27. package/lib/commonjs/components/Dialog/styles.js +60 -14
  28. package/lib/commonjs/components/Dialog/styles.js.map +1 -1
  29. package/lib/commonjs/components/Field/index.js +77 -27
  30. package/lib/commonjs/components/Field/index.js.map +1 -1
  31. package/lib/commonjs/components/Field/styles.js +4 -4
  32. package/lib/commonjs/components/Field/styles.js.map +1 -1
  33. package/lib/commonjs/components/Form/index.js +5 -12
  34. package/lib/commonjs/components/Form/index.js.map +1 -1
  35. package/lib/commonjs/components/Heading/styles.js +1 -1
  36. package/lib/commonjs/components/Heading/styles.js.map +1 -1
  37. package/lib/commonjs/components/Icon/index.js +3 -4
  38. package/lib/commonjs/components/Icon/index.js.map +1 -1
  39. package/lib/commonjs/components/IconButton/index.js +11 -34
  40. package/lib/commonjs/components/IconButton/index.js.map +1 -1
  41. package/lib/commonjs/components/IconButton/styles.js +135 -10
  42. package/lib/commonjs/components/IconButton/styles.js.map +1 -1
  43. package/lib/commonjs/components/Input/index.js +50 -20
  44. package/lib/commonjs/components/Input/index.js.map +1 -1
  45. package/lib/commonjs/components/Input/styles.js +7 -6
  46. package/lib/commonjs/components/Input/styles.js.map +1 -1
  47. package/lib/commonjs/components/Link/index.js +35 -9
  48. package/lib/commonjs/components/Link/index.js.map +1 -1
  49. package/lib/commonjs/components/Link/styles.js +56 -6
  50. package/lib/commonjs/components/Link/styles.js.map +1 -1
  51. package/lib/commonjs/components/ListItem/index.js +132 -79
  52. package/lib/commonjs/components/ListItem/index.js.map +1 -1
  53. package/lib/commonjs/components/ListItem/styles.js +29 -57
  54. package/lib/commonjs/components/ListItem/styles.js.map +1 -1
  55. package/lib/commonjs/components/OtpInput/index.js +94 -28
  56. package/lib/commonjs/components/OtpInput/index.js.map +1 -1
  57. package/lib/commonjs/components/ProgressBar/index.js +8 -13
  58. package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
  59. package/lib/commonjs/components/ProgressSegmented/index.js +24 -10
  60. package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -1
  61. package/lib/commonjs/components/Radio/index.js +165 -0
  62. package/lib/commonjs/components/Radio/index.js.map +1 -0
  63. package/lib/commonjs/components/Radio/styles.js +31 -0
  64. package/lib/commonjs/components/Radio/styles.js.map +1 -0
  65. package/lib/commonjs/components/ScopedTheme/index.js +24 -0
  66. package/lib/commonjs/components/ScopedTheme/index.js.map +1 -0
  67. package/lib/commonjs/components/Select/index.js +111 -39
  68. package/lib/commonjs/components/Select/index.js.map +1 -1
  69. package/lib/commonjs/components/Select/styles.js +17 -20
  70. package/lib/commonjs/components/Select/styles.js.map +1 -1
  71. package/lib/commonjs/components/Skeleton/index.js +37 -0
  72. package/lib/commonjs/components/Skeleton/index.js.map +1 -0
  73. package/lib/commonjs/components/Skeleton/styles.js +9 -0
  74. package/lib/commonjs/components/Skeleton/styles.js.map +1 -0
  75. package/lib/commonjs/components/Switch/BaseSwitch.js +23 -13
  76. package/lib/commonjs/components/Switch/BaseSwitch.js.map +1 -1
  77. package/lib/commonjs/components/Switch/BaseSwitch.web.js +25 -21
  78. package/lib/commonjs/components/Switch/BaseSwitch.web.js.map +1 -1
  79. package/lib/commonjs/components/Switch/index.js +34 -3
  80. package/lib/commonjs/components/Switch/index.js.map +1 -1
  81. package/lib/commonjs/components/Text/styles.js +2 -2
  82. package/lib/commonjs/components/Text/styles.js.map +1 -1
  83. package/lib/commonjs/components/Tile/index.js +324 -0
  84. package/lib/commonjs/components/Tile/index.js.map +1 -0
  85. package/lib/commonjs/components/Tile/styles.js +52 -0
  86. package/lib/commonjs/components/Tile/styles.js.map +1 -0
  87. package/lib/commonjs/components/VirtualizedList/index.js.map +1 -1
  88. package/lib/commonjs/components/index.js +48 -0
  89. package/lib/commonjs/components/index.js.map +1 -1
  90. package/lib/commonjs/figma/AlertDialog.Description.figma.js +20 -0
  91. package/lib/commonjs/figma/AlertDialog.Description.figma.js.map +1 -0
  92. package/lib/commonjs/figma/AlertDialog.Footer.figma.js +41 -0
  93. package/lib/commonjs/figma/AlertDialog.Footer.figma.js.map +1 -0
  94. package/lib/commonjs/figma/AlertDialog.Header.figma.js +28 -0
  95. package/lib/commonjs/figma/AlertDialog.Header.figma.js.map +1 -0
  96. package/lib/commonjs/figma/AlertDialog.Text.figma.js +20 -0
  97. package/lib/commonjs/figma/AlertDialog.Text.figma.js.map +1 -0
  98. package/lib/commonjs/figma/AlertDialog.Title.figma.js +27 -0
  99. package/lib/commonjs/figma/AlertDialog.Title.figma.js.map +1 -0
  100. package/lib/commonjs/figma/AlertDialog.figma.js +43 -0
  101. package/lib/commonjs/figma/AlertDialog.figma.js.map +1 -0
  102. package/lib/commonjs/figma/Avatar.figma.js +57 -0
  103. package/lib/commonjs/figma/Avatar.figma.js.map +1 -0
  104. package/lib/commonjs/figma/Button.figma.js +4 -7
  105. package/lib/commonjs/figma/Button.figma.js.map +1 -1
  106. package/lib/commonjs/figma/CLAUDE.md +30 -0
  107. package/lib/commonjs/figma/Card.Header.figma.js +28 -0
  108. package/lib/commonjs/figma/Card.Header.figma.js.map +1 -0
  109. package/lib/commonjs/figma/Card.figma.js +42 -0
  110. package/lib/commonjs/figma/Card.figma.js.map +1 -0
  111. package/lib/commonjs/figma/Checkbox.figma.js +55 -0
  112. package/lib/commonjs/figma/Checkbox.figma.js.map +1 -0
  113. package/lib/commonjs/figma/Chip.figma.js +68 -0
  114. package/lib/commonjs/figma/Chip.figma.js.map +1 -0
  115. package/lib/commonjs/figma/Dialog.Description.figma.js +20 -0
  116. package/lib/commonjs/figma/Dialog.Description.figma.js.map +1 -0
  117. package/lib/commonjs/figma/Dialog.Footer.figma.js +30 -0
  118. package/lib/commonjs/figma/Dialog.Footer.figma.js.map +1 -0
  119. package/lib/commonjs/figma/Dialog.Header.figma.js +29 -0
  120. package/lib/commonjs/figma/Dialog.Header.figma.js.map +1 -0
  121. package/lib/commonjs/figma/Dialog.Text.figma.js +20 -0
  122. package/lib/commonjs/figma/Dialog.Text.figma.js.map +1 -0
  123. package/lib/commonjs/figma/Dialog.Title.figma.js +27 -0
  124. package/lib/commonjs/figma/Dialog.Title.figma.js.map +1 -0
  125. package/lib/commonjs/figma/Dialog.figma.js +51 -0
  126. package/lib/commonjs/figma/Dialog.figma.js.map +1 -0
  127. package/lib/commonjs/figma/Field.Input.figma.js +57 -0
  128. package/lib/commonjs/figma/Field.Input.figma.js.map +1 -0
  129. package/lib/commonjs/figma/Field.Select.figma.js +57 -0
  130. package/lib/commonjs/figma/Field.Select.figma.js.map +1 -0
  131. package/lib/commonjs/figma/Heading.figma.js +30 -0
  132. package/lib/commonjs/figma/Heading.figma.js.map +1 -0
  133. package/lib/commonjs/figma/Icon.figma.js +20 -0
  134. package/lib/commonjs/figma/Icon.figma.js.map +1 -0
  135. package/lib/commonjs/figma/IconButton.figma.js +47 -0
  136. package/lib/commonjs/figma/IconButton.figma.js.map +1 -0
  137. package/lib/commonjs/figma/Input.figma.js +52 -0
  138. package/lib/commonjs/figma/Input.figma.js.map +1 -0
  139. package/lib/commonjs/figma/Link.figma.js +30 -0
  140. package/lib/commonjs/figma/Link.figma.js.map +1 -0
  141. package/lib/commonjs/figma/ListItem.Description.figma.js +23 -0
  142. package/lib/commonjs/figma/ListItem.Description.figma.js.map +1 -0
  143. package/lib/commonjs/figma/ListItem.LeadingSlot.figma.js +24 -0
  144. package/lib/commonjs/figma/ListItem.LeadingSlot.figma.js.map +1 -0
  145. package/lib/commonjs/figma/ListItem.Meta.figma.js +23 -0
  146. package/lib/commonjs/figma/ListItem.Meta.figma.js.map +1 -0
  147. package/lib/commonjs/figma/ListItem.SectionHeader.figma.js +24 -0
  148. package/lib/commonjs/figma/ListItem.SectionHeader.figma.js.map +1 -0
  149. package/lib/commonjs/figma/ListItem.Title.figma.js +23 -0
  150. package/lib/commonjs/figma/ListItem.Title.figma.js.map +1 -0
  151. package/lib/commonjs/figma/ListItem.TrailingSlot.figma.js +24 -0
  152. package/lib/commonjs/figma/ListItem.TrailingSlot.figma.js.map +1 -0
  153. package/lib/commonjs/figma/ListItem.figma.js +50 -0
  154. package/lib/commonjs/figma/ListItem.figma.js.map +1 -0
  155. package/lib/commonjs/figma/ProgressSegmented.figma.js +39 -0
  156. package/lib/commonjs/figma/ProgressSegmented.figma.js.map +1 -0
  157. package/lib/commonjs/figma/Radio.figma.js +40 -0
  158. package/lib/commonjs/figma/Radio.figma.js.map +1 -0
  159. package/lib/commonjs/figma/Select.figma.js +53 -0
  160. package/lib/commonjs/figma/Select.figma.js.map +1 -0
  161. package/lib/commonjs/figma/Text.figma.js +32 -0
  162. package/lib/commonjs/figma/Text.figma.js.map +1 -0
  163. package/lib/commonjs/figma/icons.figma.batch.js +27 -0
  164. package/lib/commonjs/figma/icons.figma.batch.js.map +1 -0
  165. package/lib/commonjs/figma/icons.figma.batch.json +17705 -0
  166. package/lib/commonjs/hooks/index.js +19 -0
  167. package/lib/commonjs/hooks/index.js.map +1 -0
  168. package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js +246 -0
  169. package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
  170. package/lib/commonjs/index.js +24 -0
  171. package/lib/commonjs/index.js.map +1 -1
  172. package/lib/commonjs/metro/withCdxMetroConfig.js +7 -18
  173. package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -1
  174. package/lib/commonjs/metro/withForgeMetroConfig.js +24 -0
  175. package/lib/commonjs/metro/withForgeMetroConfig.js.map +1 -0
  176. package/lib/commonjs/navigation/forgeTabIcon.js +43 -0
  177. package/lib/commonjs/navigation/forgeTabIcon.js.map +1 -0
  178. package/lib/commonjs/navigation/forgeTabIcon.native.js +35 -0
  179. package/lib/commonjs/navigation/forgeTabIcon.native.js.map +1 -0
  180. package/lib/commonjs/navigation/index.js +13 -0
  181. package/lib/commonjs/navigation/index.js.map +1 -0
  182. package/lib/commonjs/navigation/types.js +38 -0
  183. package/lib/commonjs/navigation/types.js.map +1 -0
  184. package/lib/commonjs/styles/primitives.js +43 -6
  185. package/lib/commonjs/styles/primitives.js.map +1 -1
  186. package/lib/commonjs/utils/positionToDataIcon.js +41 -0
  187. package/lib/commonjs/utils/positionToDataIcon.js.map +1 -0
  188. package/lib/module/components/AlertDialog/index.js +18 -15
  189. package/lib/module/components/AlertDialog/index.js.map +1 -1
  190. package/lib/module/components/Avatar/index.js +129 -29
  191. package/lib/module/components/Avatar/index.js.map +1 -1
  192. package/lib/module/components/Avatar/styles.js +36 -29
  193. package/lib/module/components/Avatar/styles.js.map +1 -1
  194. package/lib/module/components/Button/index.js +146 -33
  195. package/lib/module/components/Button/index.js.map +1 -1
  196. package/lib/module/components/Button/styles.js +93 -28
  197. package/lib/module/components/Button/styles.js.map +1 -1
  198. package/lib/module/components/CLAUDE.md +194 -0
  199. package/lib/module/components/Card/index.js +23 -4
  200. package/lib/module/components/Card/index.js.map +1 -1
  201. package/lib/module/components/Card/styles.js +27 -4
  202. package/lib/module/components/Card/styles.js.map +1 -1
  203. package/lib/module/components/Checkbox/index.js +75 -52
  204. package/lib/module/components/Checkbox/index.js.map +1 -1
  205. package/lib/module/components/Checkbox/styles.js +43 -48
  206. package/lib/module/components/Checkbox/styles.js.map +1 -1
  207. package/lib/module/components/Chip/index.js +98 -21
  208. package/lib/module/components/Chip/index.js.map +1 -1
  209. package/lib/module/components/Chip/styles.js +177 -20
  210. package/lib/module/components/Chip/styles.js.map +1 -1
  211. package/lib/module/components/Dialog/index.js +147 -72
  212. package/lib/module/components/Dialog/index.js.map +1 -1
  213. package/lib/module/components/Dialog/styles.js +60 -14
  214. package/lib/module/components/Dialog/styles.js.map +1 -1
  215. package/lib/module/components/Field/index.js +81 -32
  216. package/lib/module/components/Field/index.js.map +1 -1
  217. package/lib/module/components/Field/styles.js +4 -4
  218. package/lib/module/components/Field/styles.js.map +1 -1
  219. package/lib/module/components/Form/index.js +7 -14
  220. package/lib/module/components/Form/index.js.map +1 -1
  221. package/lib/module/components/Heading/styles.js +1 -1
  222. package/lib/module/components/Heading/styles.js.map +1 -1
  223. package/lib/module/components/Icon/index.js +3 -4
  224. package/lib/module/components/Icon/index.js.map +1 -1
  225. package/lib/module/components/IconButton/index.js +12 -35
  226. package/lib/module/components/IconButton/index.js.map +1 -1
  227. package/lib/module/components/IconButton/styles.js +135 -10
  228. package/lib/module/components/IconButton/styles.js.map +1 -1
  229. package/lib/module/components/Input/index.js +53 -23
  230. package/lib/module/components/Input/index.js.map +1 -1
  231. package/lib/module/components/Input/styles.js +7 -6
  232. package/lib/module/components/Input/styles.js.map +1 -1
  233. package/lib/module/components/Link/index.js +38 -11
  234. package/lib/module/components/Link/index.js.map +1 -1
  235. package/lib/module/components/Link/styles.js +55 -6
  236. package/lib/module/components/Link/styles.js.map +1 -1
  237. package/lib/module/components/ListItem/index.js +137 -84
  238. package/lib/module/components/ListItem/index.js.map +1 -1
  239. package/lib/module/components/ListItem/styles.js +30 -58
  240. package/lib/module/components/ListItem/styles.js.map +1 -1
  241. package/lib/module/components/OtpInput/index.js +94 -28
  242. package/lib/module/components/OtpInput/index.js.map +1 -1
  243. package/lib/module/components/ProgressBar/index.js +9 -14
  244. package/lib/module/components/ProgressBar/index.js.map +1 -1
  245. package/lib/module/components/ProgressSegmented/index.js +25 -11
  246. package/lib/module/components/ProgressSegmented/index.js.map +1 -1
  247. package/lib/module/components/Radio/index.js +161 -0
  248. package/lib/module/components/Radio/index.js.map +1 -0
  249. package/lib/module/components/Radio/styles.js +27 -0
  250. package/lib/module/components/Radio/styles.js.map +1 -0
  251. package/lib/module/components/ScopedTheme/index.js +19 -0
  252. package/lib/module/components/ScopedTheme/index.js.map +1 -0
  253. package/lib/module/components/Select/index.js +117 -45
  254. package/lib/module/components/Select/index.js.map +1 -1
  255. package/lib/module/components/Select/styles.js +18 -21
  256. package/lib/module/components/Select/styles.js.map +1 -1
  257. package/lib/module/components/Skeleton/index.js +32 -0
  258. package/lib/module/components/Skeleton/index.js.map +1 -0
  259. package/lib/module/components/Skeleton/styles.js +5 -0
  260. package/lib/module/components/Skeleton/styles.js.map +1 -0
  261. package/lib/module/components/Switch/BaseSwitch.js +24 -14
  262. package/lib/module/components/Switch/BaseSwitch.js.map +1 -1
  263. package/lib/module/components/Switch/BaseSwitch.web.js +26 -22
  264. package/lib/module/components/Switch/BaseSwitch.web.js.map +1 -1
  265. package/lib/module/components/Switch/index.js +35 -4
  266. package/lib/module/components/Switch/index.js.map +1 -1
  267. package/lib/module/components/Text/styles.js +2 -2
  268. package/lib/module/components/Text/styles.js.map +1 -1
  269. package/lib/module/components/Tile/index.js +315 -0
  270. package/lib/module/components/Tile/index.js.map +1 -0
  271. package/lib/module/components/Tile/styles.js +48 -0
  272. package/lib/module/components/Tile/styles.js.map +1 -0
  273. package/lib/module/components/VirtualizedList/index.js.map +1 -1
  274. package/lib/module/components/index.js +4 -0
  275. package/lib/module/components/index.js.map +1 -1
  276. package/lib/module/figma/AlertDialog.Description.figma.js +14 -0
  277. package/lib/module/figma/AlertDialog.Description.figma.js.map +1 -0
  278. package/lib/module/figma/AlertDialog.Footer.figma.js +35 -0
  279. package/lib/module/figma/AlertDialog.Footer.figma.js.map +1 -0
  280. package/lib/module/figma/AlertDialog.Header.figma.js +22 -0
  281. package/lib/module/figma/AlertDialog.Header.figma.js.map +1 -0
  282. package/lib/module/figma/AlertDialog.Text.figma.js +14 -0
  283. package/lib/module/figma/AlertDialog.Text.figma.js.map +1 -0
  284. package/lib/module/figma/AlertDialog.Title.figma.js +21 -0
  285. package/lib/module/figma/AlertDialog.Title.figma.js.map +1 -0
  286. package/lib/module/figma/AlertDialog.figma.js +37 -0
  287. package/lib/module/figma/AlertDialog.figma.js.map +1 -0
  288. package/lib/module/figma/Avatar.figma.js +51 -0
  289. package/lib/module/figma/Avatar.figma.js.map +1 -0
  290. package/lib/module/figma/Button.figma.js +4 -7
  291. package/lib/module/figma/Button.figma.js.map +1 -1
  292. package/lib/module/figma/CLAUDE.md +30 -0
  293. package/lib/module/figma/Card.Header.figma.js +22 -0
  294. package/lib/module/figma/Card.Header.figma.js.map +1 -0
  295. package/lib/module/figma/Card.figma.js +36 -0
  296. package/lib/module/figma/Card.figma.js.map +1 -0
  297. package/lib/module/figma/Checkbox.figma.js +49 -0
  298. package/lib/module/figma/Checkbox.figma.js.map +1 -0
  299. package/lib/module/figma/Chip.figma.js +62 -0
  300. package/lib/module/figma/Chip.figma.js.map +1 -0
  301. package/lib/module/figma/Dialog.Description.figma.js +14 -0
  302. package/lib/module/figma/Dialog.Description.figma.js.map +1 -0
  303. package/lib/module/figma/Dialog.Footer.figma.js +24 -0
  304. package/lib/module/figma/Dialog.Footer.figma.js.map +1 -0
  305. package/lib/module/figma/Dialog.Header.figma.js +23 -0
  306. package/lib/module/figma/Dialog.Header.figma.js.map +1 -0
  307. package/lib/module/figma/Dialog.Text.figma.js +14 -0
  308. package/lib/module/figma/Dialog.Text.figma.js.map +1 -0
  309. package/lib/module/figma/Dialog.Title.figma.js +21 -0
  310. package/lib/module/figma/Dialog.Title.figma.js.map +1 -0
  311. package/lib/module/figma/Dialog.figma.js +45 -0
  312. package/lib/module/figma/Dialog.figma.js.map +1 -0
  313. package/lib/module/figma/Field.Input.figma.js +51 -0
  314. package/lib/module/figma/Field.Input.figma.js.map +1 -0
  315. package/lib/module/figma/Field.Select.figma.js +51 -0
  316. package/lib/module/figma/Field.Select.figma.js.map +1 -0
  317. package/lib/module/figma/Heading.figma.js +24 -0
  318. package/lib/module/figma/Heading.figma.js.map +1 -0
  319. package/lib/module/figma/Icon.figma.js +14 -0
  320. package/lib/module/figma/Icon.figma.js.map +1 -0
  321. package/lib/module/figma/IconButton.figma.js +41 -0
  322. package/lib/module/figma/IconButton.figma.js.map +1 -0
  323. package/lib/module/figma/Input.figma.js +46 -0
  324. package/lib/module/figma/Input.figma.js.map +1 -0
  325. package/lib/module/figma/Link.figma.js +24 -0
  326. package/lib/module/figma/Link.figma.js.map +1 -0
  327. package/lib/module/figma/ListItem.Description.figma.js +17 -0
  328. package/lib/module/figma/ListItem.Description.figma.js.map +1 -0
  329. package/lib/module/figma/ListItem.LeadingSlot.figma.js +18 -0
  330. package/lib/module/figma/ListItem.LeadingSlot.figma.js.map +1 -0
  331. package/lib/module/figma/ListItem.Meta.figma.js +17 -0
  332. package/lib/module/figma/ListItem.Meta.figma.js.map +1 -0
  333. package/lib/module/figma/ListItem.SectionHeader.figma.js +18 -0
  334. package/lib/module/figma/ListItem.SectionHeader.figma.js.map +1 -0
  335. package/lib/module/figma/ListItem.Title.figma.js +17 -0
  336. package/lib/module/figma/ListItem.Title.figma.js.map +1 -0
  337. package/lib/module/figma/ListItem.TrailingSlot.figma.js +18 -0
  338. package/lib/module/figma/ListItem.TrailingSlot.figma.js.map +1 -0
  339. package/lib/module/figma/ListItem.figma.js +44 -0
  340. package/lib/module/figma/ListItem.figma.js.map +1 -0
  341. package/lib/module/figma/ProgressSegmented.figma.js +33 -0
  342. package/lib/module/figma/ProgressSegmented.figma.js.map +1 -0
  343. package/lib/module/figma/Radio.figma.js +34 -0
  344. package/lib/module/figma/Radio.figma.js.map +1 -0
  345. package/lib/module/figma/Select.figma.js +47 -0
  346. package/lib/module/figma/Select.figma.js.map +1 -0
  347. package/lib/module/figma/Text.figma.js +26 -0
  348. package/lib/module/figma/Text.figma.js.map +1 -0
  349. package/lib/module/figma/icons.figma.batch.js +22 -0
  350. package/lib/module/figma/icons.figma.batch.js.map +1 -0
  351. package/lib/module/figma/icons.figma.batch.json +17705 -0
  352. package/lib/module/hooks/index.js +4 -0
  353. package/lib/module/hooks/index.js.map +1 -0
  354. package/lib/module/hooks/useForgeBottomTabScreenOptions.js +242 -0
  355. package/lib/module/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
  356. package/lib/module/index.js +2 -0
  357. package/lib/module/index.js.map +1 -1
  358. package/lib/module/metro/withCdxMetroConfig.js +3 -17
  359. package/lib/module/metro/withCdxMetroConfig.js.map +1 -1
  360. package/lib/module/metro/withForgeMetroConfig.js +20 -0
  361. package/lib/module/metro/withForgeMetroConfig.js.map +1 -0
  362. package/lib/module/navigation/forgeTabIcon.js +39 -0
  363. package/lib/module/navigation/forgeTabIcon.js.map +1 -0
  364. package/lib/module/navigation/forgeTabIcon.native.js +31 -0
  365. package/lib/module/navigation/forgeTabIcon.native.js.map +1 -0
  366. package/lib/module/navigation/index.js +4 -0
  367. package/lib/module/navigation/index.js.map +1 -0
  368. package/lib/module/navigation/types.js +36 -0
  369. package/lib/module/navigation/types.js.map +1 -0
  370. package/lib/module/styles/primitives.js +43 -6
  371. package/lib/module/styles/primitives.js.map +1 -1
  372. package/lib/module/utils/positionToDataIcon.js +38 -0
  373. package/lib/module/utils/positionToDataIcon.js.map +1 -0
  374. package/lib/typescript/components/AlertDialog/index.d.ts +3 -2
  375. package/lib/typescript/components/AlertDialog/index.d.ts.map +1 -1
  376. package/lib/typescript/components/Avatar/index.d.ts +6 -2
  377. package/lib/typescript/components/Avatar/index.d.ts.map +1 -1
  378. package/lib/typescript/components/Avatar/styles.d.ts +4 -4
  379. package/lib/typescript/components/Avatar/styles.d.ts.map +1 -1
  380. package/lib/typescript/components/Button/index.d.ts +44 -9
  381. package/lib/typescript/components/Button/index.d.ts.map +1 -1
  382. package/lib/typescript/components/Button/styles.d.ts +7 -4
  383. package/lib/typescript/components/Button/styles.d.ts.map +1 -1
  384. package/lib/typescript/components/Card/index.d.ts +4 -3
  385. package/lib/typescript/components/Card/index.d.ts.map +1 -1
  386. package/lib/typescript/components/Card/styles.d.ts +13 -3
  387. package/lib/typescript/components/Card/styles.d.ts.map +1 -1
  388. package/lib/typescript/components/Checkbox/index.d.ts +4 -3
  389. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
  390. package/lib/typescript/components/Checkbox/styles.d.ts +4 -14
  391. package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -1
  392. package/lib/typescript/components/Chip/index.d.ts +31 -8
  393. package/lib/typescript/components/Chip/index.d.ts.map +1 -1
  394. package/lib/typescript/components/Chip/styles.d.ts +12 -4
  395. package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
  396. package/lib/typescript/components/Dialog/index.d.ts +25 -13
  397. package/lib/typescript/components/Dialog/index.d.ts.map +1 -1
  398. package/lib/typescript/components/Dialog/styles.d.ts +16 -5
  399. package/lib/typescript/components/Dialog/styles.d.ts.map +1 -1
  400. package/lib/typescript/components/Field/index.d.ts +14 -7
  401. package/lib/typescript/components/Field/index.d.ts.map +1 -1
  402. package/lib/typescript/components/Field/styles.d.ts.map +1 -1
  403. package/lib/typescript/components/Form/index.d.ts +4 -4
  404. package/lib/typescript/components/Form/index.d.ts.map +1 -1
  405. package/lib/typescript/components/Heading/styles.d.ts +1 -1
  406. package/lib/typescript/components/Icon/index.d.ts +5 -5
  407. package/lib/typescript/components/Icon/index.d.ts.map +1 -1
  408. package/lib/typescript/components/IconButton/index.d.ts +3 -3
  409. package/lib/typescript/components/IconButton/index.d.ts.map +1 -1
  410. package/lib/typescript/components/IconButton/styles.d.ts +6 -2
  411. package/lib/typescript/components/IconButton/styles.d.ts.map +1 -1
  412. package/lib/typescript/components/Input/index.d.ts +11 -3
  413. package/lib/typescript/components/Input/index.d.ts.map +1 -1
  414. package/lib/typescript/components/Input/styles.d.ts.map +1 -1
  415. package/lib/typescript/components/Link/index.d.ts +4 -2
  416. package/lib/typescript/components/Link/index.d.ts.map +1 -1
  417. package/lib/typescript/components/Link/styles.d.ts +9 -2
  418. package/lib/typescript/components/Link/styles.d.ts.map +1 -1
  419. package/lib/typescript/components/ListItem/index.d.ts +28 -6
  420. package/lib/typescript/components/ListItem/index.d.ts.map +1 -1
  421. package/lib/typescript/components/ListItem/styles.d.ts +3 -10
  422. package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
  423. package/lib/typescript/components/OtpInput/index.d.ts +1 -1
  424. package/lib/typescript/components/OtpInput/index.d.ts.map +1 -1
  425. package/lib/typescript/components/ProgressBar/index.d.ts +4 -4
  426. package/lib/typescript/components/ProgressBar/index.d.ts.map +1 -1
  427. package/lib/typescript/components/ProgressSegmented/index.d.ts +14 -3
  428. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -1
  429. package/lib/typescript/components/Radio/index.d.ts +44 -0
  430. package/lib/typescript/components/Radio/index.d.ts.map +1 -0
  431. package/lib/typescript/components/Radio/styles.d.ts +8 -0
  432. package/lib/typescript/components/Radio/styles.d.ts.map +1 -0
  433. package/lib/typescript/components/ScopedTheme/index.d.ts +16 -0
  434. package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -0
  435. package/lib/typescript/components/Select/index.d.ts +35 -2
  436. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  437. package/lib/typescript/components/Select/styles.d.ts.map +1 -1
  438. package/lib/typescript/components/Skeleton/index.d.ts +9 -0
  439. package/lib/typescript/components/Skeleton/index.d.ts.map +1 -0
  440. package/lib/typescript/components/Skeleton/styles.d.ts +4 -0
  441. package/lib/typescript/components/Skeleton/styles.d.ts.map +1 -0
  442. package/lib/typescript/components/Stack/styles.d.ts +2 -2
  443. package/lib/typescript/components/Switch/BaseSwitch.d.ts +12 -5
  444. package/lib/typescript/components/Switch/BaseSwitch.d.ts.map +1 -1
  445. package/lib/typescript/components/Switch/BaseSwitch.web.d.ts +11 -5
  446. package/lib/typescript/components/Switch/BaseSwitch.web.d.ts.map +1 -1
  447. package/lib/typescript/components/Switch/index.d.ts +5 -1
  448. package/lib/typescript/components/Switch/index.d.ts.map +1 -1
  449. package/lib/typescript/components/Text/styles.d.ts +1 -1
  450. package/lib/typescript/components/Tile/index.d.ts +76 -0
  451. package/lib/typescript/components/Tile/index.d.ts.map +1 -0
  452. package/lib/typescript/components/Tile/styles.d.ts +18 -0
  453. package/lib/typescript/components/Tile/styles.d.ts.map +1 -0
  454. package/lib/typescript/components/VirtualizedList/index.d.ts +2 -1
  455. package/lib/typescript/components/VirtualizedList/index.d.ts.map +1 -1
  456. package/lib/typescript/components/index.d.ts +4 -0
  457. package/lib/typescript/components/index.d.ts.map +1 -1
  458. package/lib/typescript/figma/AlertDialog.Description.figma.d.ts +8 -0
  459. package/lib/typescript/figma/AlertDialog.Description.figma.d.ts.map +1 -0
  460. package/lib/typescript/figma/AlertDialog.Footer.figma.d.ts +8 -0
  461. package/lib/typescript/figma/AlertDialog.Footer.figma.d.ts.map +1 -0
  462. package/lib/typescript/figma/AlertDialog.Header.figma.d.ts +8 -0
  463. package/lib/typescript/figma/AlertDialog.Header.figma.d.ts.map +1 -0
  464. package/lib/typescript/figma/AlertDialog.Text.figma.d.ts +8 -0
  465. package/lib/typescript/figma/AlertDialog.Text.figma.d.ts.map +1 -0
  466. package/lib/typescript/figma/AlertDialog.Title.figma.d.ts +8 -0
  467. package/lib/typescript/figma/AlertDialog.Title.figma.d.ts.map +1 -0
  468. package/lib/typescript/figma/AlertDialog.figma.d.ts +8 -0
  469. package/lib/typescript/figma/AlertDialog.figma.d.ts.map +1 -0
  470. package/lib/typescript/figma/Avatar.figma.d.ts +11 -0
  471. package/lib/typescript/figma/Avatar.figma.d.ts.map +1 -0
  472. package/lib/typescript/figma/Button.figma.d.ts.map +1 -1
  473. package/lib/typescript/figma/Card.Header.figma.d.ts +8 -0
  474. package/lib/typescript/figma/Card.Header.figma.d.ts.map +1 -0
  475. package/lib/typescript/figma/Card.figma.d.ts +8 -0
  476. package/lib/typescript/figma/Card.figma.d.ts.map +1 -0
  477. package/lib/typescript/figma/Checkbox.figma.d.ts +8 -0
  478. package/lib/typescript/figma/Checkbox.figma.d.ts.map +1 -0
  479. package/lib/typescript/figma/Chip.figma.d.ts +8 -0
  480. package/lib/typescript/figma/Chip.figma.d.ts.map +1 -0
  481. package/lib/typescript/figma/Dialog.Description.figma.d.ts +8 -0
  482. package/lib/typescript/figma/Dialog.Description.figma.d.ts.map +1 -0
  483. package/lib/typescript/figma/Dialog.Footer.figma.d.ts +8 -0
  484. package/lib/typescript/figma/Dialog.Footer.figma.d.ts.map +1 -0
  485. package/lib/typescript/figma/Dialog.Header.figma.d.ts +8 -0
  486. package/lib/typescript/figma/Dialog.Header.figma.d.ts.map +1 -0
  487. package/lib/typescript/figma/Dialog.Text.figma.d.ts +8 -0
  488. package/lib/typescript/figma/Dialog.Text.figma.d.ts.map +1 -0
  489. package/lib/typescript/figma/Dialog.Title.figma.d.ts +8 -0
  490. package/lib/typescript/figma/Dialog.Title.figma.d.ts.map +1 -0
  491. package/lib/typescript/figma/Dialog.figma.d.ts +8 -0
  492. package/lib/typescript/figma/Dialog.figma.d.ts.map +1 -0
  493. package/lib/typescript/figma/Field.Input.figma.d.ts +8 -0
  494. package/lib/typescript/figma/Field.Input.figma.d.ts.map +1 -0
  495. package/lib/typescript/figma/Field.Select.figma.d.ts +8 -0
  496. package/lib/typescript/figma/Field.Select.figma.d.ts.map +1 -0
  497. package/lib/typescript/figma/Heading.figma.d.ts +8 -0
  498. package/lib/typescript/figma/Heading.figma.d.ts.map +1 -0
  499. package/lib/typescript/figma/Icon.figma.d.ts +8 -0
  500. package/lib/typescript/figma/Icon.figma.d.ts.map +1 -0
  501. package/lib/typescript/figma/IconButton.figma.d.ts +8 -0
  502. package/lib/typescript/figma/IconButton.figma.d.ts.map +1 -0
  503. package/lib/typescript/figma/Input.figma.d.ts +8 -0
  504. package/lib/typescript/figma/Input.figma.d.ts.map +1 -0
  505. package/lib/typescript/figma/Link.figma.d.ts +8 -0
  506. package/lib/typescript/figma/Link.figma.d.ts.map +1 -0
  507. package/lib/typescript/figma/ListItem.Description.figma.d.ts +11 -0
  508. package/lib/typescript/figma/ListItem.Description.figma.d.ts.map +1 -0
  509. package/lib/typescript/figma/ListItem.LeadingSlot.figma.d.ts +8 -0
  510. package/lib/typescript/figma/ListItem.LeadingSlot.figma.d.ts.map +1 -0
  511. package/lib/typescript/figma/ListItem.Meta.figma.d.ts +11 -0
  512. package/lib/typescript/figma/ListItem.Meta.figma.d.ts.map +1 -0
  513. package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts +8 -0
  514. package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts.map +1 -0
  515. package/lib/typescript/figma/ListItem.Title.figma.d.ts +11 -0
  516. package/lib/typescript/figma/ListItem.Title.figma.d.ts.map +1 -0
  517. package/lib/typescript/figma/ListItem.TrailingSlot.figma.d.ts +8 -0
  518. package/lib/typescript/figma/ListItem.TrailingSlot.figma.d.ts.map +1 -0
  519. package/lib/typescript/figma/ListItem.figma.d.ts +8 -0
  520. package/lib/typescript/figma/ListItem.figma.d.ts.map +1 -0
  521. package/lib/typescript/figma/ProgressSegmented.figma.d.ts +8 -0
  522. package/lib/typescript/figma/ProgressSegmented.figma.d.ts.map +1 -0
  523. package/lib/typescript/figma/Radio.figma.d.ts +8 -0
  524. package/lib/typescript/figma/Radio.figma.d.ts.map +1 -0
  525. package/lib/typescript/figma/Select.figma.d.ts +8 -0
  526. package/lib/typescript/figma/Select.figma.d.ts.map +1 -0
  527. package/lib/typescript/figma/Text.figma.d.ts +11 -0
  528. package/lib/typescript/figma/Text.figma.d.ts.map +1 -0
  529. package/lib/typescript/figma/icons.figma.batch.d.ts +14 -0
  530. package/lib/typescript/figma/icons.figma.batch.d.ts.map +1 -0
  531. package/lib/typescript/hooks/index.d.ts +2 -0
  532. package/lib/typescript/hooks/index.d.ts.map +1 -0
  533. package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts +137 -0
  534. package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts.map +1 -0
  535. package/lib/typescript/index.d.ts +2 -0
  536. package/lib/typescript/index.d.ts.map +1 -1
  537. package/lib/typescript/metro/withCdxMetroConfig.d.ts +4 -18
  538. package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -1
  539. package/lib/typescript/metro/withForgeMetroConfig.d.ts +19 -0
  540. package/lib/typescript/metro/withForgeMetroConfig.d.ts.map +1 -0
  541. package/lib/typescript/navigation/forgeTabIcon.d.ts +27 -0
  542. package/lib/typescript/navigation/forgeTabIcon.d.ts.map +1 -0
  543. package/lib/typescript/navigation/forgeTabIcon.native.d.ts +15 -0
  544. package/lib/typescript/navigation/forgeTabIcon.native.d.ts.map +1 -0
  545. package/lib/typescript/navigation/index.d.ts +4 -0
  546. package/lib/typescript/navigation/index.d.ts.map +1 -0
  547. package/lib/typescript/navigation/types.d.ts +37 -0
  548. package/lib/typescript/navigation/types.d.ts.map +1 -0
  549. package/lib/typescript/styles/primitives.d.ts +38 -0
  550. package/lib/typescript/styles/primitives.d.ts.map +1 -1
  551. package/lib/typescript/utils/positionToDataIcon.d.ts +29 -0
  552. package/lib/typescript/utils/positionToDataIcon.d.ts.map +1 -0
  553. package/package.json +11 -9
  554. package/src/components/AlertDialog/index.tsx +21 -20
  555. package/src/components/Avatar/index.tsx +135 -45
  556. package/src/components/Avatar/styles.ts +49 -34
  557. package/src/components/Button/index.tsx +253 -47
  558. package/src/components/Button/styles.ts +78 -37
  559. package/src/components/CLAUDE.md +194 -0
  560. package/src/components/Card/index.tsx +41 -16
  561. package/src/components/Card/styles.ts +42 -15
  562. package/src/components/Checkbox/index.tsx +101 -51
  563. package/src/components/Checkbox/styles.ts +84 -86
  564. package/src/components/Chip/index.tsx +136 -32
  565. package/src/components/Chip/styles.ts +220 -18
  566. package/src/components/Dialog/index.tsx +199 -93
  567. package/src/components/Dialog/styles.ts +72 -30
  568. package/src/components/Field/index.tsx +121 -50
  569. package/src/components/Field/styles.ts +5 -4
  570. package/src/components/Form/index.tsx +18 -14
  571. package/src/components/Heading/styles.ts +1 -1
  572. package/src/components/Icon/index.tsx +6 -7
  573. package/src/components/IconButton/index.tsx +13 -36
  574. package/src/components/IconButton/styles.ts +136 -10
  575. package/src/components/Input/index.tsx +75 -32
  576. package/src/components/Input/styles.ts +15 -9
  577. package/src/components/Link/index.tsx +57 -18
  578. package/src/components/Link/styles.ts +49 -9
  579. package/src/components/ListItem/index.tsx +157 -87
  580. package/src/components/ListItem/styles.ts +50 -81
  581. package/src/components/OtpInput/index.tsx +126 -43
  582. package/src/components/ProgressBar/index.tsx +11 -16
  583. package/src/components/ProgressSegmented/index.tsx +50 -14
  584. package/src/components/Radio/index.tsx +214 -0
  585. package/src/components/Radio/styles.ts +59 -0
  586. package/src/components/ScopedTheme/index.tsx +17 -0
  587. package/src/components/Select/index.tsx +175 -55
  588. package/src/components/Select/styles.ts +48 -51
  589. package/src/components/Skeleton/index.tsx +42 -0
  590. package/src/components/Skeleton/styles.ts +5 -0
  591. package/src/components/Switch/BaseSwitch.tsx +38 -16
  592. package/src/components/Switch/BaseSwitch.web.tsx +28 -35
  593. package/src/components/Switch/index.tsx +51 -4
  594. package/src/components/Text/styles.ts +2 -2
  595. package/src/components/Tile/index.tsx +347 -0
  596. package/src/components/Tile/styles.ts +82 -0
  597. package/src/components/VirtualizedList/index.tsx +11 -1
  598. package/src/components/index.ts +4 -0
  599. package/src/hooks/index.ts +5 -0
  600. package/src/hooks/useForgeBottomTabScreenOptions.ts +245 -0
  601. package/src/index.ts +2 -0
  602. package/src/metro/withCdxMetroConfig.ts +4 -29
  603. package/src/metro/withForgeMetroConfig.ts +29 -0
  604. package/src/navigation/forgeTabIcon.native.ts +36 -0
  605. package/src/navigation/forgeTabIcon.ts +33 -0
  606. package/src/navigation/index.ts +3 -0
  607. package/src/navigation/types.ts +54 -0
  608. package/src/styles/primitives.ts +43 -6
  609. package/src/utils/positionToDataIcon.ts +34 -0
  610. package/lib/commonjs/components/Field/FieldLabel.js +0 -33
  611. package/lib/commonjs/components/Field/FieldLabel.js.map +0 -1
  612. package/lib/commonjs/components/Field/FieldLabel.web.js +0 -22
  613. package/lib/commonjs/components/Field/FieldLabel.web.js.map +0 -1
  614. package/lib/commonjs/components/Form/FormRoot.js +0 -25
  615. package/lib/commonjs/components/Form/FormRoot.js.map +0 -1
  616. package/lib/commonjs/components/Form/FormRoot.web.js +0 -17
  617. package/lib/commonjs/components/Form/FormRoot.web.js.map +0 -1
  618. package/lib/commonjs/components/Input/BaseInput.android.js +0 -20
  619. package/lib/commonjs/components/Input/BaseInput.android.js.map +0 -1
  620. package/lib/commonjs/components/Input/BaseInput.js +0 -13
  621. package/lib/commonjs/components/Input/BaseInput.js.map +0 -1
  622. package/lib/commonjs/components/Input/BaseInput.web.js +0 -50
  623. package/lib/commonjs/components/Input/BaseInput.web.js.map +0 -1
  624. package/lib/commonjs/components/Select/SelectTriggerHost.js +0 -10
  625. package/lib/commonjs/components/Select/SelectTriggerHost.js.map +0 -1
  626. package/lib/commonjs/components/Select/SelectTriggerHost.web.js +0 -98
  627. package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +0 -1
  628. package/lib/module/components/Field/FieldLabel.js +0 -29
  629. package/lib/module/components/Field/FieldLabel.js.map +0 -1
  630. package/lib/module/components/Field/FieldLabel.web.js +0 -17
  631. package/lib/module/components/Field/FieldLabel.web.js.map +0 -1
  632. package/lib/module/components/Form/FormRoot.js +0 -21
  633. package/lib/module/components/Form/FormRoot.js.map +0 -1
  634. package/lib/module/components/Form/FormRoot.web.js +0 -12
  635. package/lib/module/components/Form/FormRoot.web.js.map +0 -1
  636. package/lib/module/components/Input/BaseInput.android.js +0 -16
  637. package/lib/module/components/Input/BaseInput.android.js.map +0 -1
  638. package/lib/module/components/Input/BaseInput.js +0 -4
  639. package/lib/module/components/Input/BaseInput.js.map +0 -1
  640. package/lib/module/components/Input/BaseInput.web.js +0 -45
  641. package/lib/module/components/Input/BaseInput.web.js.map +0 -1
  642. package/lib/module/components/Select/SelectTriggerHost.js +0 -7
  643. package/lib/module/components/Select/SelectTriggerHost.js.map +0 -1
  644. package/lib/module/components/Select/SelectTriggerHost.web.js +0 -93
  645. package/lib/module/components/Select/SelectTriggerHost.web.js.map +0 -1
  646. package/lib/typescript/components/Field/FieldLabel.d.ts +0 -18
  647. package/lib/typescript/components/Field/FieldLabel.d.ts.map +0 -1
  648. package/lib/typescript/components/Field/FieldLabel.web.d.ts +0 -16
  649. package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +0 -1
  650. package/lib/typescript/components/Form/FormRoot.d.ts +0 -14
  651. package/lib/typescript/components/Form/FormRoot.d.ts.map +0 -1
  652. package/lib/typescript/components/Form/FormRoot.web.d.ts +0 -10
  653. package/lib/typescript/components/Form/FormRoot.web.d.ts.map +0 -1
  654. package/lib/typescript/components/Input/BaseInput.android.d.ts +0 -3
  655. package/lib/typescript/components/Input/BaseInput.android.d.ts.map +0 -1
  656. package/lib/typescript/components/Input/BaseInput.d.ts +0 -2
  657. package/lib/typescript/components/Input/BaseInput.d.ts.map +0 -1
  658. package/lib/typescript/components/Input/BaseInput.web.d.ts +0 -3
  659. package/lib/typescript/components/Input/BaseInput.web.d.ts.map +0 -1
  660. package/lib/typescript/components/Select/SelectTriggerHost.d.ts +0 -3
  661. package/lib/typescript/components/Select/SelectTriggerHost.d.ts.map +0 -1
  662. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +0 -13
  663. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +0 -1
  664. package/src/components/Field/FieldLabel.tsx +0 -33
  665. package/src/components/Field/FieldLabel.web.tsx +0 -25
  666. package/src/components/Form/FormRoot.tsx +0 -20
  667. package/src/components/Form/FormRoot.web.tsx +0 -12
  668. package/src/components/Input/BaseInput.android.tsx +0 -13
  669. package/src/components/Input/BaseInput.tsx +0 -1
  670. package/src/components/Input/BaseInput.web.tsx +0 -41
  671. package/src/components/Select/SelectTriggerHost.tsx +0 -4
  672. package/src/components/Select/SelectTriggerHost.web.tsx +0 -136
@@ -0,0 +1,245 @@
1
+ /**
2
+ * useForgeBottomTabScreenOptions
3
+ *
4
+ * Returns a `screenOptions` object for **React Navigation bottom tab navigators**
5
+ * (`@react-navigation/bottom-tabs` v7+), populated with CDX UI design-system
6
+ * token values.
7
+ *
8
+ * CDX UI does not import `@react-navigation` — the consumer passes the returned
9
+ * object to their own navigator. This keeps the dependency out of
10
+ * `@cdx-ui/components` and works with any React Navigation tab variant:
11
+ * `createNativeBottomTabNavigator` (iOS/Android) or `createBottomTabNavigator`
12
+ * (web/JS).
13
+ *
14
+ * **Not compatible with:**
15
+ * - Expo Router `<NativeTabs>` — uses different prop names
16
+ * - React Router or DOM tab components — these are not React Navigation
17
+ *
18
+ * ## Basic usage
19
+ *
20
+ * ```tsx
21
+ * import { useForgeBottomTabScreenOptions } from '@cdx-ui/components';
22
+ * import { createNativeBottomTabNavigator } from '@react-navigation/bottom-tabs/unstable';
23
+ *
24
+ * const Tab = createNativeBottomTabNavigator<AppTabs>();
25
+ *
26
+ * function AppTabs() {
27
+ * const screenOptions = useForgeBottomTabScreenOptions();
28
+ * return (
29
+ * <Tab.Navigator screenOptions={screenOptions}>
30
+ * <Tab.Screen name="Home" component={HomeScreen} />
31
+ * </Tab.Navigator>
32
+ * );
33
+ * }
34
+ * ```
35
+ *
36
+ * ## Overriding individual tokens
37
+ *
38
+ * Spread the returned object and override only the keys you need.
39
+ * Nested style objects (`tabBarLabelStyle`, `tabBarStyle`, `tabBarBadgeStyle`)
40
+ * must be spread individually to preserve unrelated DS defaults:
41
+ *
42
+ * ```tsx
43
+ * const dsOptions = useForgeBottomTabScreenOptions();
44
+ * const screenOptions = {
45
+ * ...dsOptions,
46
+ * tabBarActiveTintColor: '#custom',
47
+ * tabBarLabelStyle: { ...dsOptions.tabBarLabelStyle, fontFamily: 'MyFont' },
48
+ * };
49
+ * ```
50
+ *
51
+ * ## Token variable names
52
+ *
53
+ * | screenOption | CSS variable |
54
+ * | ---------------------------------- | ---------------------------------- |
55
+ * | tabBarActiveTintColor | --color-content-action |
56
+ * | tabBarInactiveTintColor | --color-content-secondary |
57
+ * | tabBarStyle.backgroundColor | --color-surface-primary |
58
+ * | tabBarLabelStyle.fontFamily | --font-body |
59
+ * | tabBarLabelStyle.fontSize | --text-xs (via `text-xs` class) |
60
+ * | tabBarLabelStyle.fontWeight | --font-weight-medium |
61
+ * | tabBarBadgeStyle.backgroundColor | --color-surface-danger-strong |
62
+ *
63
+ * ## Platform notes
64
+ *
65
+ * - `tabBarInactiveTintColor` has no effect on iOS — inactive items always use
66
+ * system grey.
67
+ * - `tabBarStyle.backgroundColor` is ignored on iOS 26+ (liquid glass takes
68
+ * over). It is honoured on iOS ≤18 and all Android versions.
69
+ * - The hook resolves CSS variables via Uniwind's `useCSSVariable`. If the
70
+ * Uniwind runtime is not set up (e.g. in a plain Jest test without a CSS
71
+ * context), each variable resolves to `undefined` and the hardcoded fallback
72
+ * is used instead — fallbacks intentionally match the CDX UI light-theme
73
+ * values.
74
+ * - `tabBarLabelStyle.fontSize` is resolved via Uniwind's
75
+ * `useResolveClassNames('text-xs')` rather than reading the rem-valued
76
+ * `--text-xs` variable directly. React Navigation v7 requires a numeric
77
+ * `fontSize`, and letting Uniwind resolve the class means the rem→px
78
+ * conversion uses the consumer's configured rem base (default 16px,
79
+ * overridable via the `polyfills.rem` Metro option) instead of a constant
80
+ * hardcoded here.
81
+ */
82
+ import type { TextStyle } from 'react-native';
83
+ import { useCSSVariable, useResolveClassNames } from 'uniwind';
84
+ import type { BottomTabNavigationOptions } from '@react-navigation/bottom-tabs';
85
+
86
+ // ── Types ────────────────────────────────────────────────────────────────────
87
+
88
+ /**
89
+ * The `screenOptions` shape returned by `useForgeBottomTabScreenOptions`.
90
+ *
91
+ * These are concrete types (not the broad `StyleProp<…>` React Navigation
92
+ * uses internally) so consumers get precise IDE completion. The compile-time
93
+ * drift guard below ensures this type stays assignable to
94
+ * `BottomTabNavigationOptions` — the TypeScript compiler will error if CDX UI
95
+ * adds a key or value that React Navigation no longer accepts.
96
+ *
97
+ * Pass directly as `screenOptions` on a `createNativeBottomTabNavigator` or
98
+ * `createBottomTabNavigator` navigator, or spread and override individual keys.
99
+ */
100
+ export interface ForgeReactNavigationBottomTabScreenOptions {
101
+ tabBarActiveTintColor: string;
102
+ tabBarInactiveTintColor: string;
103
+ tabBarStyle: { backgroundColor: string };
104
+ tabBarLabelStyle: {
105
+ fontFamily: string;
106
+ /** Pixel size — React Navigation requires a number for tab label fontSize. */
107
+ fontSize: number;
108
+ fontWeight: TextStyle['fontWeight'];
109
+ };
110
+ tabBarBadgeStyle: { backgroundColor: string };
111
+ }
112
+
113
+ /**
114
+ * Compile-time drift guard.
115
+ *
116
+ * `ForgeReactNavigationBottomTabScreenOptions` must be assignable to
117
+ * `BottomTabNavigationOptions`. TypeScript checks this assignment at build
118
+ * time — if React Navigation removes or incompatibly narrows one of our keys,
119
+ * this line becomes a type error before it reaches consumers.
120
+ *
121
+ * The `null as unknown as ...` cast keeps the runtime value `null` so tree-
122
+ * shakers eliminate the variable from the final bundle entirely.
123
+ */
124
+
125
+ const _rnDriftGuard: BottomTabNavigationOptions =
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ null as any as ForgeReactNavigationBottomTabScreenOptions;
128
+
129
+ // ── Fallbacks ────────────────────────────────────────────────────────────────
130
+ //
131
+ // Resolved light-theme values for each token. Used when useCSSVariable returns
132
+ // undefined (no Uniwind CSS context in scope, e.g. Jest).
133
+
134
+ const FALLBACKS = {
135
+ activeTintColor: '#346099', // --color-brand-700 (--color-content-action)
136
+ inactiveTintColor: '#4a4c4f', // --color-base-800 (--color-content-secondary)
137
+ fontFamily: 'Inter', // --font-sans (--font-body)
138
+ fontSize: 12, // px (--text-xs)
139
+ fontWeight: '500' as TextStyle['fontWeight'], // (--font-weight-medium)
140
+ backgroundColor: '#ffffff', // --color-white (--color-surface-primary)
141
+ badgeBackgroundColor: '#c10007', // --color-red-700 (--color-surface-danger-strong)
142
+ } as const;
143
+
144
+ /**
145
+ * Coerces a Uniwind-resolved `fontSize` to a finite pixel number, falling
146
+ * back when the style could not be resolved (e.g. no Uniwind runtime in Jest).
147
+ *
148
+ * `useResolveClassNames('text-xs')` performs the rem→px conversion using
149
+ * Uniwind's configured rem base, so the value is already numeric on native.
150
+ * React Native Web may surface string values; unit-less and `px` strings are
151
+ * accepted, but anything else (`rem`, `em`, `%`) falls back rather than
152
+ * guessing a rem base here.
153
+ */
154
+ function toPx(value: string | number | undefined, fallbackPx: number): number {
155
+ if (typeof value === 'number') {
156
+ return Number.isFinite(value) ? value : fallbackPx;
157
+ }
158
+ if (typeof value !== 'string') return fallbackPx;
159
+ const trimmed = value.trim();
160
+ if (!/^-?\d*\.?\d+(px)?$/.test(trimmed)) return fallbackPx;
161
+ return parseFloat(trimmed);
162
+ }
163
+
164
+ /**
165
+ * Coerces a Uniwind `useCSSVariable` fontWeight value to a string.
166
+ *
167
+ * `--font-weight-*` variables are emitted as unit-less numbers (e.g. `500`),
168
+ * and `useCSSVariable` may return them as numbers. React Native's `TextStyle`
169
+ * accepts numeric fontWeight, but react-native-screens' native bottom tabs
170
+ * declare the corresponding host prop (`tabBarItemTitleFontWeight`) as a
171
+ * String — passing a number crashes Android Fabric with
172
+ * "java.lang.Double cannot be cast to java.lang.String".
173
+ */
174
+ function toFontWeight(
175
+ value: string | number | undefined,
176
+ fallback: TextStyle['fontWeight'],
177
+ ): TextStyle['fontWeight'] {
178
+ if (value === undefined) return fallback;
179
+ return String(value) as TextStyle['fontWeight'];
180
+ }
181
+
182
+ // ── Hook ─────────────────────────────────────────────────────────────────────
183
+
184
+ /**
185
+ * Returns a `screenOptions` object for **React Navigation bottom tab
186
+ * navigators** (`@react-navigation/bottom-tabs` v7+), populated with CDX UI
187
+ * design-system token values.
188
+ *
189
+ * Must be called inside a React component or custom hook (React hook rules
190
+ * apply).
191
+ */
192
+ /**
193
+ * Deep-merges consumer overrides into a base `ForgeReactNavigationBottomTabScreenOptions`
194
+ * object. Nested style objects (`tabBarLabelStyle`, `tabBarStyle`,
195
+ * `tabBarBadgeStyle`) are merged property-by-property so consumers can override
196
+ * individual style properties without losing unrelated DS defaults.
197
+ *
198
+ * Use with `useForgeBottomTabScreenOptions` to apply targeted overrides:
199
+ *
200
+ * ```tsx
201
+ * const dsOptions = useForgeBottomTabScreenOptions();
202
+ * const screenOptions = mergeForgeBottomTabScreenOptions(dsOptions, {
203
+ * tabBarActiveTintColor: '#custom',
204
+ * tabBarLabelStyle: { fontFamily: 'MyFont' }, // fontSize + fontWeight preserved
205
+ * });
206
+ * ```
207
+ */
208
+ export function mergeForgeBottomTabScreenOptions(
209
+ base: ForgeReactNavigationBottomTabScreenOptions,
210
+ overrides: Partial<ForgeReactNavigationBottomTabScreenOptions>,
211
+ ): ForgeReactNavigationBottomTabScreenOptions {
212
+ return {
213
+ ...base,
214
+ ...overrides,
215
+ tabBarLabelStyle: { ...base.tabBarLabelStyle, ...overrides.tabBarLabelStyle },
216
+ tabBarStyle: { ...base.tabBarStyle, ...overrides.tabBarStyle },
217
+ tabBarBadgeStyle: { ...base.tabBarBadgeStyle, ...overrides.tabBarBadgeStyle },
218
+ };
219
+ }
220
+
221
+ export function useForgeBottomTabScreenOptions(): ForgeReactNavigationBottomTabScreenOptions {
222
+ const activeTintColor = useCSSVariable('--color-content-action');
223
+ const inactiveTintColor = useCSSVariable('--color-content-secondary');
224
+ const fontFamily = useCSSVariable('--font-body');
225
+ const labelTextStyle = useResolveClassNames('text-xs');
226
+ const fontWeight = useCSSVariable('--font-weight-medium');
227
+ const backgroundColor = useCSSVariable('--color-surface-primary');
228
+ const badgeBackgroundColor = useCSSVariable('--color-surface-danger-strong');
229
+
230
+ return {
231
+ tabBarActiveTintColor: String(activeTintColor ?? FALLBACKS.activeTintColor),
232
+ tabBarInactiveTintColor: String(inactiveTintColor ?? FALLBACKS.inactiveTintColor),
233
+ tabBarStyle: {
234
+ backgroundColor: String(backgroundColor ?? FALLBACKS.backgroundColor),
235
+ },
236
+ tabBarLabelStyle: {
237
+ fontFamily: String(fontFamily ?? FALLBACKS.fontFamily),
238
+ fontSize: toPx(labelTextStyle?.fontSize, FALLBACKS.fontSize),
239
+ fontWeight: toFontWeight(fontWeight, FALLBACKS.fontWeight),
240
+ },
241
+ tabBarBadgeStyle: {
242
+ backgroundColor: String(badgeBackgroundColor ?? FALLBACKS.badgeBackgroundColor),
243
+ },
244
+ };
245
+ }
package/src/index.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  /// <reference types="uniwind/types" preserve="true" />
2
2
  export * from './components';
3
+ export * from './hooks';
4
+ export * from './navigation';
3
5
  export { View, ScrollView, KeyboardAvoidingView } from 'react-native';
4
6
  export { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
@@ -1,29 +1,4 @@
1
- import type { MetroConfig } from 'metro-config';
2
- import { withUniwindConfig } from 'uniwind/metro';
3
-
4
- export interface CdxMetroConfigOptions {
5
- /** Path to the CSS entry file (e.g., `'./global.css'`). */
6
- cssEntryFile: string;
7
- /** Path where generated Tailwind class type definitions are written. */
8
- generatedTypesFile?: string;
9
- }
10
-
11
- /**
12
- * Wraps a Metro config with CDX UI's styling-layer configuration.
13
- *
14
- * Today this delegates to Uniwind. If the styling layer is swapped (see
15
- * `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
16
- * of this function change — consuming Metro configs stay the same.
17
- *
18
- * Must be the **outermost** Metro config wrapper (after any other wrappers
19
- * like `withStorybook`).
20
- */
21
- export function withCdxMetroConfig<T extends MetroConfig>(
22
- config: T,
23
- options: CdxMetroConfigOptions,
24
- ): T {
25
- return withUniwindConfig(config, {
26
- cssEntryFile: options.cssEntryFile,
27
- dtsFile: options.generatedTypesFile,
28
- }) as T;
29
- }
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';
@@ -0,0 +1,29 @@
1
+ import type { MetroConfig } from 'metro-config';
2
+ import { withUniwindConfig } from 'uniwind/metro';
3
+
4
+ export interface ForgeMetroConfigOptions {
5
+ /** Path to the CSS entry file (e.g., `'./global.css'`). */
6
+ cssEntryFile: string;
7
+ /** Path where generated Tailwind class type definitions are written. */
8
+ generatedTypesFile?: string;
9
+ }
10
+
11
+ /**
12
+ * Wraps a Metro config with Forge UI's styling-layer configuration.
13
+ *
14
+ * Today this delegates to Uniwind. If the styling layer is swapped (see
15
+ * `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
16
+ * of this function change — consuming Metro configs stay the same.
17
+ *
18
+ * Must be the **outermost** Metro config wrapper (after any other wrappers
19
+ * like `withStorybook`).
20
+ */
21
+ export function withForgeMetroConfig<T extends MetroConfig>(
22
+ config: T,
23
+ options: ForgeMetroConfigOptions,
24
+ ): T {
25
+ return withUniwindConfig(config, {
26
+ cssEntryFile: options.cssEntryFile,
27
+ dtsFile: options.generatedTypesFile,
28
+ }) as T;
29
+ }
@@ -0,0 +1,36 @@
1
+ import type { ForgeTabIcon } from '@cdx-ui/icons/tab-icons';
2
+ import type { ForgeNativeBottomTabIcon, ForgeTabBarIcon } from './types';
3
+
4
+ /**
5
+ * forgeTabIcon — iOS/Android implementation (see `forgeTabIcon.ts` for the
6
+ * full contract and usage example).
7
+ *
8
+ * Returns a `tabBarIcon` function for `createNativeBottomTabNavigator` that
9
+ * resolves the descriptor's pre-rasterized template PNGs: outlined at rest,
10
+ * filled when focused (iOS only — Android tabs use one static icon and
11
+ * express selection via tint). `tinted: true` makes the native tab bar apply
12
+ * `tabBarActiveTintColor` / `tabBarInactiveTintColor` at runtime, so theming
13
+ * and dark mode flow through `useForgeBottomTabScreenOptions` unchanged.
14
+ */
15
+ export function forgeTabIcon(icon: ForgeTabIcon): ForgeTabBarIcon {
16
+ const { native } = icon;
17
+
18
+ if (!native) {
19
+ const name = icon.Component.displayName ?? 'icon';
20
+ throw new Error(
21
+ `forgeTabIcon: "${name}" has no native tab assets. Use a generated ` +
22
+ `descriptor from '@cdx-ui/icons/tab-icons' (curated in the icon ` +
23
+ `package's tab-icons.config.json), or pass a descriptor with your ` +
24
+ `own template PNGs: { native: { outlined: require(...), filled: ` +
25
+ `require(...) } } at a 24dp base size with @2x/@3x variants.`,
26
+ );
27
+ }
28
+
29
+ const resolve = ({ focused }: { focused: boolean }): ForgeNativeBottomTabIcon => ({
30
+ type: 'image',
31
+ source: focused ? native.filled : native.outlined,
32
+ tinted: true,
33
+ });
34
+
35
+ return resolve as ForgeTabBarIcon;
36
+ }
@@ -0,0 +1,33 @@
1
+ import { createElement } from 'react';
2
+ import type { ForgeTabIcon } from '@cdx-ui/icons/tab-icons';
3
+ import type { ForgeTabBarIcon } from './types';
4
+
5
+ /**
6
+ * forgeTabIcon — web/JS-navigator implementation.
7
+ *
8
+ * Maps a {@link ForgeTabIcon} descriptor to a React Navigation `tabBarIcon`
9
+ * value that renders the same Forge UI icon on every platform:
10
+ *
11
+ * - **Web** (`createBottomTabNavigator`): renders the SVG icon component with
12
+ * `filled={focused}` and the navigator-supplied `color`/`size` — pair with
13
+ * `useForgeBottomTabScreenOptions` so tints come from design tokens.
14
+ * - **iOS/Android** (`createNativeBottomTabNavigator`): the `.native` module
15
+ * of this file returns a tinted template-image descriptor instead.
16
+ *
17
+ * ```tsx
18
+ * import { useForgeBottomTabScreenOptions, forgeTabIcon } from '@cdx-ui/components';
19
+ * import { HomeTabIcon } from '@cdx-ui/icons/tab-icons';
20
+ *
21
+ * <Tab.Screen
22
+ * name="Home"
23
+ * component={HomeScreen}
24
+ * options={{ title: 'Home', tabBarIcon: forgeTabIcon(HomeTabIcon) }}
25
+ * />
26
+ * ```
27
+ */
28
+ export function forgeTabIcon(icon: ForgeTabIcon): ForgeTabBarIcon {
29
+ const render = ({ focused, color, size }: { focused: boolean; color: string; size: number }) =>
30
+ createElement(icon.Component, { filled: focused, color, size });
31
+
32
+ return render as ForgeTabBarIcon;
33
+ }
@@ -0,0 +1,3 @@
1
+ export { forgeTabIcon } from './forgeTabIcon';
2
+ export type { ForgeNativeBottomTabIcon, ForgeTabBarIcon } from './types';
3
+ export type { ForgeTabIcon, ForgeTabIconNativeSources } from '@cdx-ui/icons/tab-icons';
@@ -0,0 +1,54 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ImageSourcePropType } from 'react-native';
3
+ import type { BottomTabNavigationOptions } from '@react-navigation/bottom-tabs';
4
+ import type { NativeBottomTabNavigationOptions } from '@react-navigation/bottom-tabs/unstable';
5
+
6
+ /**
7
+ * Structural mirror of the `image` arm of `NativeBottomTabIcon` from
8
+ * `@react-navigation/bottom-tabs/unstable`. Declared locally so
9
+ * `@cdx-ui/components` carries no runtime React Navigation dependency —
10
+ * the drift guards below fail the build if the upstream shape changes.
11
+ */
12
+ export interface ForgeNativeBottomTabIcon {
13
+ type: 'image';
14
+ /** Metro-resolved asset (e.g. a static `require('./icon.png')`). */
15
+ source: ImageSourcePropType;
16
+ /**
17
+ * Render as a template image tinted with the tab bar's active/inactive
18
+ * tint color. iOS-only flag — Android always tints tab icons.
19
+ */
20
+ tinted?: boolean;
21
+ }
22
+
23
+ /**
24
+ * The value `forgeTabIcon()` returns — callable as `tabBarIcon` on **both**
25
+ * React Navigation bottom tab navigators. The intersection carries both call
26
+ * signatures; the platform-split implementation guarantees the matching one
27
+ * at runtime:
28
+ *
29
+ * - `createBottomTabNavigator` (web/JS) invokes it with
30
+ * `{ focused, color, size }` and renders the returned element.
31
+ * - `createNativeBottomTabNavigator` (iOS/Android) invokes it with
32
+ * `{ focused }` and receives a native icon descriptor.
33
+ */
34
+ export type ForgeTabBarIcon = ((props: {
35
+ focused: boolean;
36
+ color: string;
37
+ size: number;
38
+ }) => ReactElement) &
39
+ ((props: { focused: boolean }) => ForgeNativeBottomTabIcon);
40
+
41
+ /**
42
+ * Compile-time drift guards (see `useForgeBottomTabScreenOptions` for the
43
+ * pattern): `ForgeTabBarIcon` must stay assignable to the `tabBarIcon`
44
+ * option of both navigators. The `null as any` casts keep the runtime
45
+ * values `null` so tree-shakers eliminate them entirely.
46
+ */
47
+
48
+ const _rnDriftGuardWeb: BottomTabNavigationOptions['tabBarIcon'] =
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ null as any as ForgeTabBarIcon;
51
+
52
+ const _rnDriftGuardNative: NativeBottomTabNavigationOptions['tabBarIcon'] =
53
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
+ null as any as ForgeTabBarIcon;
@@ -1,38 +1,67 @@
1
1
  // packages/components/src/styles/primitives.ts
2
- // Semantic constants for CDX UI component styling.
2
+ // Semantic constants for Forge UI component styling.
3
3
 
4
4
  // ─── Colors ──────────────────────────────────────────────
5
5
  // Surface & background
6
+ /** @deprecated Use `bg-surface-primary` (--color-surface-primary) instead. */
6
7
  export const COLOR_BG_PRIMARY = 'bg-white';
8
+ /** @deprecated Use `bg-surface-secondary` (--color-surface-secondary) instead. */
7
9
  export const COLOR_BG_SUBTLE = 'bg-slate-50';
10
+ /** @deprecated Use `bg-surface-neutral-subtle` (--color-surface-neutral-subtle) instead. */
8
11
  export const COLOR_BG_MUTED = 'bg-slate-100';
12
+ /** @deprecated Use `bg-base-950` (--color-base-950) instead. */
9
13
  export const COLOR_BG_INVERSE = 'bg-slate-900';
10
14
 
11
15
  // Border
16
+ /** @deprecated Use `border-stroke-secondary` (--color-stroke-secondary) instead. */
12
17
  export const COLOR_BORDER_DEFAULT = 'border-slate-200';
18
+ /** @deprecated Use `border-stroke-hover` (--color-stroke-hover) instead. */
13
19
  export const COLOR_BORDER_STRONG = 'border-slate-300';
20
+ /** @deprecated Use `border-stroke-focus` (--color-stroke-focus) instead. */
14
21
  export const COLOR_BORDER_FOCUS = 'border-slate-900';
22
+ /** @deprecated Use `border-stroke-danger` (--color-stroke-danger) instead. */
15
23
  export const COLOR_BORDER_INVALID = 'border-red-500';
16
24
 
17
25
  // Text
26
+ /** @deprecated Use `text-content-primary` (--color-content-primary) instead. */
18
27
  export const COLOR_TEXT_PRIMARY = 'text-slate-900';
28
+ /** @deprecated Use `text-content-secondary` (--color-content-secondary) instead. */
19
29
  export const COLOR_TEXT_SECONDARY = 'text-slate-500';
30
+ /** @deprecated Use `text-content-tertiary` (--color-content-tertiary) instead. */
20
31
  export const COLOR_TEXT_MUTED = 'text-slate-400';
32
+ /** @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). */
21
33
  export const COLOR_TEXT_INVERSE = 'text-white';
34
+ /** @deprecated Use `text-content-tertiary` (--color-content-tertiary) instead. */
22
35
  export const COLOR_TEXT_PLACEHOLDER = 'text-slate-400';
36
+ /** @deprecated Use `text-content-danger` (--color-content-danger) instead. */
23
37
  export const COLOR_TEXT_INVALID = 'text-red-600';
24
38
 
25
39
  // Brand / Action
40
+ /** @deprecated Use `bg-surface-action-strong` (--color-surface-action-strong) instead. */
26
41
  export const COLOR_BRAND_DEFAULT = 'bg-slate-900';
42
+ /** @deprecated Use `bg-surface-action-strong-hover` (--color-surface-action-strong-hover) instead. */
27
43
  export const COLOR_BRAND_HOVER = 'bg-slate-800';
44
+ /** @deprecated Use `bg-surface-action-strong-active` (--color-surface-action-strong-active) instead. */
28
45
  export const COLOR_BRAND_ACTIVE = 'bg-slate-700';
29
46
 
30
47
  // Accent (for checked states, active indicators)
48
+ /** @deprecated Use `bg-surface-action-strong` (--color-surface-action-strong) instead. */
31
49
  export const COLOR_ACCENT_DEFAULT = 'bg-slate-900';
50
+ /** @deprecated Use `border-stroke-action` (--color-stroke-action) instead. */
32
51
  export const COLOR_ACCENT_BORDER = 'border-slate-900';
33
52
 
34
- // Semantic colors (danger, warning, success, info)
35
- // Kept for Button's 5-color system
53
+ /**
54
+ * @deprecated Use semantic token classes directly instead. Map each color key to its
55
+ * corresponding `--color-surface-*`, `--color-stroke-*`, and `--color-content-*` tokens:
56
+ * - `bg` → `bg-surface-{color}-strong` (--color-surface-{color}-strong)
57
+ * - `bgHover` → `bg-surface-{color}-strong-hover` (--color-surface-{color}-strong-hover)
58
+ * - `bgActive` → `bg-surface-{color}-strong-active` (--color-surface-{color}-strong-active)
59
+ * - `border` → `border-stroke-{color}` (--color-stroke-{color})
60
+ * - `text` → `text-content-{color}` (--color-content-{color})
61
+ * - `ring` → `ring-[--color-stroke-focus]` (--color-stroke-focus)
62
+ *
63
+ * See Button/styles.ts for a complete migration example.
64
+ */
36
65
  export const SEMANTIC_COLORS = {
37
66
  action: {
38
67
  bg: 'bg-slate-900',
@@ -77,21 +106,29 @@ export const SEMANTIC_COLORS = {
77
106
  } as const;
78
107
 
79
108
  // ─── Focus ───────────────────────────────────────────────
109
+ /** @deprecated Use `ring-2 ring-[--color-stroke-focus] ring-offset-2` (--color-stroke-focus) instead. */
80
110
  export const FOCUS_RING = 'ring-2 ring-slate-400/50 ring-offset-2';
81
111
 
82
112
  // ─── Radius ──────────────────────────────────────────────
83
- export const RADIUS_SM = 'rounded-lg'; // buttons, inputs, checkboxes
84
- export const RADIUS_MD = 'rounded-xl'; // cards, dropdowns, modals
85
- export const RADIUS_FULL = 'rounded-full'; // pills, avatars, switches
113
+ /** @deprecated Use `rounded-[var(--border-radius-button)]` for buttons/inputs or `rounded-[var(--border-radius-default)]` for containers. */
114
+ export const RADIUS_SM = 'rounded-lg';
115
+ /** @deprecated Use `rounded-[var(--border-radius-default)]` for cards/containers. */
116
+ export const RADIUS_MD = 'rounded-xl';
117
+ /** @deprecated Use `rounded-[var(--border-radius-round)]` for circular elements (icon buttons, radio, pills). */
118
+ export const RADIUS_FULL = 'rounded-full';
86
119
 
87
120
  // ─── Shadows ─────────────────────────────────────────────
121
+
122
+ /** @deprecated Use `shadow-sm` directly instead */
88
123
  export const SHADOW_SM = 'shadow-sm';
124
+ /** @deprecated Use `shadow-md` directly instead */
89
125
  export const SHADOW_MD = 'shadow-md';
90
126
 
91
127
  // ─── Sizing ──────────────────────────────────────────────
92
128
  // Unified size scale for interactive/form components (Button, Input, Select, Checkbox).
93
129
  // Only two sizes: 'default' (regular) and 'small' (compact).
94
130
  // NOTE: Text and Heading use a separate typography scale (xs/sm/md/lg/xl) — not this.
131
+ /** @deprecated */
95
132
  export const SIZE_SCALE = {
96
133
  default: { height: 'h-10', px: 'px-4', gap: 'gap-2', text: 'text-base' },
97
134
  small: { height: 'h-8', px: 'px-3', gap: 'gap-1.5', text: 'text-sm' },
@@ -0,0 +1,34 @@
1
+ import { dataAttributes } from '@cdx-ui/primitives';
2
+
3
+ /**
4
+ * Position hint accepted by icon/spinner-bearing styled slots
5
+ * (`Button.Icon`, `Button.Spinner`, `Chip.Icon`, etc.). Maps to a logical
6
+ * `data-icon` attribute that CVA targets for leading/trailing padding.
7
+ *
8
+ * `'leading'` → `data-icon="inline-start"`
9
+ * `'trailing'` → `data-icon="inline-end"`
10
+ */
11
+ export type IconSlotPosition = 'leading' | 'trailing';
12
+
13
+ /**
14
+ * Returns the data-attribute spread props for the requested position, or
15
+ * `undefined` when no position is set (so the attribute is omitted entirely
16
+ * and baseline spacing applies).
17
+ *
18
+ * Spread the result onto the rendered element:
19
+ *
20
+ * ```tsx
21
+ * <Icon {...positionToDataIcon(position)} />
22
+ * ```
23
+ *
24
+ * Spacing rules live in CVA variant strings, targeting the attribute via
25
+ * logical-property utilities so RTL flips automatically:
26
+ *
27
+ * ```ts
28
+ * cva(['data-[icon=inline-start]:me-1.5 data-[icon=inline-end]:ms-1.5'], { ... });
29
+ * ```
30
+ */
31
+ export function positionToDataIcon(position?: IconSlotPosition) {
32
+ if (!position) return undefined;
33
+ return dataAttributes({ icon: position === 'leading' ? 'inline-start' : 'inline-end' });
34
+ }
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.BaseFieldLabel = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _utils = require("@cdx-ui/utils");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- /**
12
- * Native: `Text` label row — tap focuses the field input via form context
13
- * (parity with `<label htmlFor>` on web).
14
- */
15
- const BaseFieldLabel = exports.BaseFieldLabel = /*#__PURE__*/(0, _react.forwardRef)(({
16
- htmlFor: _omitHtmlFor,
17
- onPress,
18
- ...props
19
- }, ref) => {
20
- void _omitHtmlFor;
21
- const {
22
- focusInput,
23
- isDisabled
24
- } = (0, _utils.useFormControlContext)();
25
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
26
- ref: ref,
27
- ...props,
28
- disabled: Boolean(isDisabled),
29
- onPress: (0, _utils.composeEventHandlers)(onPress, () => focusInput?.())
30
- });
31
- });
32
- BaseFieldLabel.displayName = 'BaseFieldLabel';
33
- //# sourceMappingURL=FieldLabel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_utils","_jsxRuntime","BaseFieldLabel","exports","forwardRef","htmlFor","_omitHtmlFor","onPress","props","ref","focusInput","isDisabled","useFormControlContext","jsx","Text","disabled","Boolean","composeEventHandlers","displayName"],"sourceRoot":"../../../../src","sources":["components/Field/FieldLabel.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAA4E,IAAAG,WAAA,GAAAH,OAAA;AAS5E;AACA;AACA;AACA;AACO,MAAMI,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,iBAAU,EACtC,CAAC;EAAEC,OAAO,EAAEC,YAAY;EAAEC,OAAO;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACrD,KAAKH,YAAY;EAEjB,MAAM;IAAEI,UAAU;IAAEC;EAAW,CAAC,GAAG,IAAAC,4BAAqB,EAAC,CAAC;EAE1D,oBACE,IAAAX,WAAA,CAAAY,GAAA,EAACd,YAAA,CAAAe,IAAI;IACHL,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACTO,QAAQ,EAAEC,OAAO,CAACL,UAAU,CAAE;IAC9BJ,OAAO,EAAE,IAAAU,2BAAoB,EAACV,OAAO,EAAE,MAAMG,UAAU,GAAG,CAAC;EAAE,CAC9D,CAAC;AAEN,CACF,CAAC;AAEDR,cAAc,CAACgB,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.BaseFieldLabel = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
- // TODO: Why does dataSet need to be decomposed into individual data attributes?
11
-
12
- /** Real `<label>` so clicking the label focuses the associated control (`htmlFor` → input `id`). */
13
- const BaseFieldLabel = exports.BaseFieldLabel = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
14
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
15
- ref: ref,
16
- ...props,
17
- "data-invalid": props.dataSet?.invalid,
18
- "data-required": props.dataSet?.required
19
- });
20
- });
21
- BaseFieldLabel.displayName = 'BaseFieldLabel';
22
- //# sourceMappingURL=FieldLabel.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BaseFieldLabel","exports","forwardRef","props","ref","jsx","dataSet","invalid","required","displayName"],"sourceRoot":"../../../../src","sources":["components/Field/FieldLabel.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA0D,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG1D;;AASA;AACO,MAAMkB,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,iBAAU,EAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC9F,oBACE,IAAAxB,WAAA,CAAAyB,GAAA;IACED,GAAG,EAAEA,GAAI;IAAA,GACJD,KAAK;IACV,gBAAcA,KAAK,CAACG,OAAO,EAAEC,OAAQ;IACrC,iBAAeJ,KAAK,CAACG,OAAO,EAAEE;EAAS,CACxC,CAAC;AAEN,CAAC,CAAC;AAEFR,cAAc,CAACS,WAAW,GAAG,gBAAgB","ignoreList":[]}