@cdx-ui/components 0.0.1-alpha.3 → 0.0.1-alpha.31

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 (402) hide show
  1. package/README.md +20 -2
  2. package/lib/commonjs/components/AlertDialog/index.js +117 -0
  3. package/lib/commonjs/components/AlertDialog/index.js.map +1 -0
  4. package/lib/commonjs/components/Avatar/index.js +156 -0
  5. package/lib/commonjs/components/Avatar/index.js.map +1 -0
  6. package/lib/commonjs/components/Avatar/styles.js +80 -0
  7. package/lib/commonjs/components/Avatar/styles.js.map +1 -0
  8. package/lib/commonjs/components/BottomSheet/index.js +248 -0
  9. package/lib/commonjs/components/BottomSheet/index.js.map +1 -0
  10. package/lib/commonjs/components/BottomSheet/styles.js +61 -0
  11. package/lib/commonjs/components/BottomSheet/styles.js.map +1 -0
  12. package/lib/commonjs/components/Box/Box.js +1 -0
  13. package/lib/commonjs/components/Box/Box.js.map +1 -1
  14. package/lib/commonjs/components/Button/buttonSharedVariants.js +200 -0
  15. package/lib/commonjs/components/Button/buttonSharedVariants.js.map +1 -0
  16. package/lib/commonjs/components/Button/index.js +31 -13
  17. package/lib/commonjs/components/Button/index.js.map +1 -1
  18. package/lib/commonjs/components/Button/styles.js +170 -187
  19. package/lib/commonjs/components/Button/styles.js.map +1 -1
  20. package/lib/commonjs/components/Card/index.js +104 -0
  21. package/lib/commonjs/components/Card/index.js.map +1 -0
  22. package/lib/commonjs/components/Card/styles.js +28 -0
  23. package/lib/commonjs/components/Card/styles.js.map +1 -0
  24. package/lib/commonjs/components/Checkbox/index.js +180 -0
  25. package/lib/commonjs/components/Checkbox/index.js.map +1 -0
  26. package/lib/commonjs/components/Checkbox/styles.js +68 -0
  27. package/lib/commonjs/components/Checkbox/styles.js.map +1 -0
  28. package/lib/commonjs/components/Chip/index.js +103 -0
  29. package/lib/commonjs/components/Chip/index.js.map +1 -0
  30. package/lib/commonjs/components/Chip/styles.js +50 -0
  31. package/lib/commonjs/components/Chip/styles.js.map +1 -0
  32. package/lib/commonjs/components/Dialog/index.js +275 -0
  33. package/lib/commonjs/components/Dialog/index.js.map +1 -0
  34. package/lib/commonjs/components/Dialog/styles.js +63 -0
  35. package/lib/commonjs/components/Dialog/styles.js.map +1 -0
  36. package/lib/commonjs/components/Form/FormLabelRoot.js +33 -0
  37. package/lib/commonjs/components/Form/FormLabelRoot.js.map +1 -0
  38. package/lib/commonjs/components/Form/FormLabelRoot.web.js +18 -0
  39. package/lib/commonjs/components/Form/FormLabelRoot.web.js.map +1 -0
  40. package/lib/commonjs/components/Form/FormRoot.js +25 -0
  41. package/lib/commonjs/components/Form/FormRoot.js.map +1 -0
  42. package/lib/commonjs/components/Form/FormRoot.web.js +17 -0
  43. package/lib/commonjs/components/Form/FormRoot.web.js.map +1 -0
  44. package/lib/commonjs/components/Form/index.js +255 -0
  45. package/lib/commonjs/components/Form/index.js.map +1 -0
  46. package/lib/commonjs/components/Form/styles.js +57 -0
  47. package/lib/commonjs/components/Form/styles.js.map +1 -0
  48. package/lib/commonjs/components/Heading/index.js +35 -0
  49. package/lib/commonjs/components/Heading/index.js.map +1 -0
  50. package/lib/commonjs/components/Heading/styles.js +24 -0
  51. package/lib/commonjs/components/Heading/styles.js.map +1 -0
  52. package/lib/commonjs/components/Icon/index.js +61 -0
  53. package/lib/commonjs/components/Icon/index.js.map +1 -0
  54. package/lib/commonjs/components/IconButton/index.js +80 -0
  55. package/lib/commonjs/components/IconButton/index.js.map +1 -0
  56. package/lib/commonjs/components/IconButton/styles.js +91 -0
  57. package/lib/commonjs/components/IconButton/styles.js.map +1 -0
  58. package/lib/commonjs/components/Image/Image.js +69 -0
  59. package/lib/commonjs/components/Image/Image.js.map +1 -0
  60. package/lib/commonjs/components/Image/index.js +13 -0
  61. package/lib/commonjs/components/Image/index.js.map +1 -0
  62. package/lib/commonjs/components/Input/BaseInput.android.js +20 -0
  63. package/lib/commonjs/components/Input/BaseInput.android.js.map +1 -0
  64. package/lib/commonjs/components/Input/index.js +10 -16
  65. package/lib/commonjs/components/Input/index.js.map +1 -1
  66. package/lib/commonjs/components/Input/styles.js +16 -30
  67. package/lib/commonjs/components/Input/styles.js.map +1 -1
  68. package/lib/commonjs/components/Link/index.js +94 -0
  69. package/lib/commonjs/components/Link/index.js.map +1 -0
  70. package/lib/commonjs/components/Link/styles.js +16 -0
  71. package/lib/commonjs/components/Link/styles.js.map +1 -0
  72. package/lib/commonjs/components/ProgressSegmented/index.js +62 -0
  73. package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -0
  74. package/lib/commonjs/components/ProgressSegmented/styles.js +21 -0
  75. package/lib/commonjs/components/ProgressSegmented/styles.js.map +1 -0
  76. package/lib/commonjs/components/Select/SelectTriggerHost.js +10 -0
  77. package/lib/commonjs/components/Select/SelectTriggerHost.js.map +1 -0
  78. package/lib/commonjs/components/Select/SelectTriggerHost.web.js +98 -0
  79. package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +1 -0
  80. package/lib/commonjs/components/Select/index.js +13 -13
  81. package/lib/commonjs/components/Select/index.js.map +1 -1
  82. package/lib/commonjs/components/Select/styles.js +29 -53
  83. package/lib/commonjs/components/Select/styles.js.map +1 -1
  84. package/lib/commonjs/components/Stack/HStack.js +8 -21
  85. package/lib/commonjs/components/Stack/HStack.js.map +1 -1
  86. package/lib/commonjs/components/Stack/VStack.js +8 -21
  87. package/lib/commonjs/components/Stack/VStack.js.map +1 -1
  88. package/lib/commonjs/components/Stack/styles.js +39 -0
  89. package/lib/commonjs/components/Stack/styles.js.map +1 -0
  90. package/lib/commonjs/components/Switch/BaseSwitch.js +46 -0
  91. package/lib/commonjs/components/Switch/BaseSwitch.js.map +1 -0
  92. package/lib/commonjs/components/Switch/BaseSwitch.web.js +56 -0
  93. package/lib/commonjs/components/Switch/BaseSwitch.web.js.map +1 -0
  94. package/lib/commonjs/components/Switch/index.js +13 -0
  95. package/lib/commonjs/components/Switch/index.js.map +1 -0
  96. package/lib/commonjs/components/Switch/styles.js +128 -0
  97. package/lib/commonjs/components/Switch/styles.js.map +1 -0
  98. package/lib/commonjs/components/Text/index.js +18 -9
  99. package/lib/commonjs/components/Text/index.js.map +1 -1
  100. package/lib/commonjs/components/Text/styles.js +24 -0
  101. package/lib/commonjs/components/Text/styles.js.map +1 -0
  102. package/lib/commonjs/components/VirtualizedList/index.js +19 -0
  103. package/lib/commonjs/components/VirtualizedList/index.js.map +1 -0
  104. package/lib/commonjs/components/index.js +192 -0
  105. package/lib/commonjs/components/index.js.map +1 -1
  106. package/lib/commonjs/index.js +40 -0
  107. package/lib/commonjs/index.js.map +1 -1
  108. package/lib/commonjs/metro/withCdxMetroConfig.js +24 -0
  109. package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -0
  110. package/lib/commonjs/styles/index.js +17 -0
  111. package/lib/commonjs/styles/index.js.map +1 -0
  112. package/lib/commonjs/styles/primitives.js +123 -0
  113. package/lib/commonjs/styles/primitives.js.map +1 -0
  114. package/lib/module/components/AlertDialog/index.js +112 -0
  115. package/lib/module/components/AlertDialog/index.js.map +1 -0
  116. package/lib/module/components/Avatar/index.js +152 -0
  117. package/lib/module/components/Avatar/index.js.map +1 -0
  118. package/lib/module/components/Avatar/styles.js +77 -0
  119. package/lib/module/components/Avatar/styles.js.map +1 -0
  120. package/lib/module/components/BottomSheet/index.js +242 -0
  121. package/lib/module/components/BottomSheet/index.js.map +1 -0
  122. package/lib/module/components/BottomSheet/styles.js +58 -0
  123. package/lib/module/components/BottomSheet/styles.js.map +1 -0
  124. package/lib/module/components/Box/Box.js +1 -0
  125. package/lib/module/components/Box/Box.js.map +1 -1
  126. package/lib/module/components/Button/buttonSharedVariants.js +195 -0
  127. package/lib/module/components/Button/buttonSharedVariants.js.map +1 -0
  128. package/lib/module/components/Button/index.js +32 -14
  129. package/lib/module/components/Button/index.js.map +1 -1
  130. package/lib/module/components/Button/styles.js +168 -186
  131. package/lib/module/components/Button/styles.js.map +1 -1
  132. package/lib/module/components/Card/index.js +100 -0
  133. package/lib/module/components/Card/index.js.map +1 -0
  134. package/lib/module/components/Card/styles.js +25 -0
  135. package/lib/module/components/Card/styles.js.map +1 -0
  136. package/lib/module/components/Checkbox/index.js +176 -0
  137. package/lib/module/components/Checkbox/index.js.map +1 -0
  138. package/lib/module/components/Checkbox/styles.js +64 -0
  139. package/lib/module/components/Checkbox/styles.js.map +1 -0
  140. package/lib/module/components/Chip/index.js +99 -0
  141. package/lib/module/components/Chip/index.js.map +1 -0
  142. package/lib/module/components/Chip/styles.js +46 -0
  143. package/lib/module/components/Chip/styles.js.map +1 -0
  144. package/lib/module/components/Dialog/index.js +267 -0
  145. package/lib/module/components/Dialog/index.js.map +1 -0
  146. package/lib/module/components/Dialog/styles.js +60 -0
  147. package/lib/module/components/Dialog/styles.js.map +1 -0
  148. package/lib/module/components/Form/FormLabelRoot.js +29 -0
  149. package/lib/module/components/Form/FormLabelRoot.js.map +1 -0
  150. package/lib/module/components/Form/FormLabelRoot.web.js +13 -0
  151. package/lib/module/components/Form/FormLabelRoot.web.js.map +1 -0
  152. package/lib/module/components/Form/FormRoot.js +21 -0
  153. package/lib/module/components/Form/FormRoot.js.map +1 -0
  154. package/lib/module/components/Form/FormRoot.web.js +12 -0
  155. package/lib/module/components/Form/FormRoot.web.js.map +1 -0
  156. package/lib/module/components/Form/index.js +252 -0
  157. package/lib/module/components/Form/index.js.map +1 -0
  158. package/lib/module/components/Form/styles.js +53 -0
  159. package/lib/module/components/Form/styles.js.map +1 -0
  160. package/lib/module/components/Heading/index.js +31 -0
  161. package/lib/module/components/Heading/index.js.map +1 -0
  162. package/lib/module/components/Heading/styles.js +20 -0
  163. package/lib/module/components/Heading/styles.js.map +1 -0
  164. package/lib/module/components/Icon/index.js +57 -0
  165. package/lib/module/components/Icon/index.js.map +1 -0
  166. package/lib/module/components/IconButton/index.js +76 -0
  167. package/lib/module/components/IconButton/index.js.map +1 -0
  168. package/lib/module/components/IconButton/styles.js +87 -0
  169. package/lib/module/components/IconButton/styles.js.map +1 -0
  170. package/lib/module/components/Image/Image.js +67 -0
  171. package/lib/module/components/Image/Image.js.map +1 -0
  172. package/lib/module/components/Image/index.js +4 -0
  173. package/lib/module/components/Image/index.js.map +1 -0
  174. package/lib/module/components/Input/BaseInput.android.js +16 -0
  175. package/lib/module/components/Input/BaseInput.android.js.map +1 -0
  176. package/lib/module/components/Input/index.js +10 -16
  177. package/lib/module/components/Input/index.js.map +1 -1
  178. package/lib/module/components/Input/styles.js +16 -30
  179. package/lib/module/components/Input/styles.js.map +1 -1
  180. package/lib/module/components/Link/index.js +85 -0
  181. package/lib/module/components/Link/index.js.map +1 -0
  182. package/lib/module/components/Link/styles.js +12 -0
  183. package/lib/module/components/Link/styles.js.map +1 -0
  184. package/lib/module/components/ProgressSegmented/index.js +58 -0
  185. package/lib/module/components/ProgressSegmented/index.js.map +1 -0
  186. package/lib/module/components/ProgressSegmented/styles.js +17 -0
  187. package/lib/module/components/ProgressSegmented/styles.js.map +1 -0
  188. package/lib/module/components/Select/SelectTriggerHost.js +7 -0
  189. package/lib/module/components/Select/SelectTriggerHost.js.map +1 -0
  190. package/lib/module/components/Select/SelectTriggerHost.web.js +93 -0
  191. package/lib/module/components/Select/SelectTriggerHost.web.js.map +1 -0
  192. package/lib/module/components/Select/index.js +14 -14
  193. package/lib/module/components/Select/index.js.map +1 -1
  194. package/lib/module/components/Select/styles.js +29 -53
  195. package/lib/module/components/Select/styles.js.map +1 -1
  196. package/lib/module/components/Stack/HStack.js +8 -21
  197. package/lib/module/components/Stack/HStack.js.map +1 -1
  198. package/lib/module/components/Stack/VStack.js +8 -21
  199. package/lib/module/components/Stack/VStack.js.map +1 -1
  200. package/lib/module/components/Stack/styles.js +35 -0
  201. package/lib/module/components/Stack/styles.js.map +1 -0
  202. package/lib/module/components/Switch/BaseSwitch.js +42 -0
  203. package/lib/module/components/Switch/BaseSwitch.js.map +1 -0
  204. package/lib/module/components/Switch/BaseSwitch.web.js +52 -0
  205. package/lib/module/components/Switch/BaseSwitch.web.js.map +1 -0
  206. package/lib/module/components/Switch/index.js +9 -0
  207. package/lib/module/components/Switch/index.js.map +1 -0
  208. package/lib/module/components/Switch/styles.js +125 -0
  209. package/lib/module/components/Switch/styles.js.map +1 -0
  210. package/lib/module/components/Text/index.js +19 -1
  211. package/lib/module/components/Text/index.js.map +1 -1
  212. package/lib/module/components/Text/styles.js +20 -0
  213. package/lib/module/components/Text/styles.js.map +1 -0
  214. package/lib/module/components/VirtualizedList/index.js +15 -0
  215. package/lib/module/components/VirtualizedList/index.js.map +1 -0
  216. package/lib/module/components/index.js +16 -0
  217. package/lib/module/components/index.js.map +1 -1
  218. package/lib/module/index.js +3 -0
  219. package/lib/module/index.js.map +1 -1
  220. package/lib/module/metro/withCdxMetroConfig.js +20 -0
  221. package/lib/module/metro/withCdxMetroConfig.js.map +1 -0
  222. package/lib/module/styles/index.js +4 -0
  223. package/lib/module/styles/index.js.map +1 -0
  224. package/lib/module/styles/primitives.js +119 -0
  225. package/lib/module/styles/primitives.js.map +1 -0
  226. package/lib/typescript/components/AlertDialog/index.d.ts +30 -0
  227. package/lib/typescript/components/AlertDialog/index.d.ts.map +1 -0
  228. package/lib/typescript/components/Avatar/index.d.ts +40 -0
  229. package/lib/typescript/components/Avatar/index.d.ts.map +1 -0
  230. package/lib/typescript/components/Avatar/styles.d.ts +16 -0
  231. package/lib/typescript/components/Avatar/styles.d.ts.map +1 -0
  232. package/lib/typescript/components/BottomSheet/index.d.ts +61 -0
  233. package/lib/typescript/components/BottomSheet/index.d.ts.map +1 -0
  234. package/lib/typescript/components/BottomSheet/styles.d.ts +16 -0
  235. package/lib/typescript/components/BottomSheet/styles.d.ts.map +1 -0
  236. package/lib/typescript/components/Box/Box.d.ts +1 -0
  237. package/lib/typescript/components/Box/Box.d.ts.map +1 -1
  238. package/lib/typescript/components/Button/buttonSharedVariants.d.ts +29 -0
  239. package/lib/typescript/components/Button/buttonSharedVariants.d.ts.map +1 -0
  240. package/lib/typescript/components/Button/index.d.ts +6 -3
  241. package/lib/typescript/components/Button/index.d.ts.map +1 -1
  242. package/lib/typescript/components/Button/styles.d.ts +14 -8
  243. package/lib/typescript/components/Button/styles.d.ts.map +1 -1
  244. package/lib/typescript/components/Card/index.d.ts +30 -0
  245. package/lib/typescript/components/Card/index.d.ts.map +1 -0
  246. package/lib/typescript/components/Card/styles.d.ts +6 -0
  247. package/lib/typescript/components/Card/styles.d.ts.map +1 -0
  248. package/lib/typescript/components/Checkbox/index.d.ts +46 -0
  249. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -0
  250. package/lib/typescript/components/Checkbox/styles.d.ts +18 -0
  251. package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -0
  252. package/lib/typescript/components/Chip/index.d.ts +27 -0
  253. package/lib/typescript/components/Chip/index.d.ts.map +1 -0
  254. package/lib/typescript/components/Chip/styles.d.ts +12 -0
  255. package/lib/typescript/components/Chip/styles.d.ts.map +1 -0
  256. package/lib/typescript/components/Dialog/index.d.ts +61 -0
  257. package/lib/typescript/components/Dialog/index.d.ts.map +1 -0
  258. package/lib/typescript/components/Dialog/styles.d.ts +14 -0
  259. package/lib/typescript/components/Dialog/styles.d.ts.map +1 -0
  260. package/lib/typescript/components/Form/FormLabelRoot.d.ts +18 -0
  261. package/lib/typescript/components/Form/FormLabelRoot.d.ts.map +1 -0
  262. package/lib/typescript/components/Form/FormLabelRoot.web.d.ts +20 -0
  263. package/lib/typescript/components/Form/FormLabelRoot.web.d.ts.map +1 -0
  264. package/lib/typescript/components/Form/FormRoot.d.ts +12 -0
  265. package/lib/typescript/components/Form/FormRoot.d.ts.map +1 -0
  266. package/lib/typescript/components/Form/FormRoot.web.d.ts +10 -0
  267. package/lib/typescript/components/Form/FormRoot.web.d.ts.map +1 -0
  268. package/lib/typescript/components/Form/index.d.ts +64 -0
  269. package/lib/typescript/components/Form/index.d.ts.map +1 -0
  270. package/lib/typescript/components/Form/styles.d.ts +22 -0
  271. package/lib/typescript/components/Form/styles.d.ts.map +1 -0
  272. package/lib/typescript/components/Heading/index.d.ts +10 -0
  273. package/lib/typescript/components/Heading/index.d.ts.map +1 -0
  274. package/lib/typescript/components/Heading/styles.d.ts +6 -0
  275. package/lib/typescript/components/Heading/styles.d.ts.map +1 -0
  276. package/lib/typescript/components/Icon/index.d.ts +27 -0
  277. package/lib/typescript/components/Icon/index.d.ts.map +1 -0
  278. package/lib/typescript/components/IconButton/index.d.ts +15 -0
  279. package/lib/typescript/components/IconButton/index.d.ts.map +1 -0
  280. package/lib/typescript/components/IconButton/styles.d.ts +16 -0
  281. package/lib/typescript/components/IconButton/styles.d.ts.map +1 -0
  282. package/lib/typescript/components/Image/Image.d.ts +47 -0
  283. package/lib/typescript/components/Image/Image.d.ts.map +1 -0
  284. package/lib/typescript/components/Image/index.d.ts +2 -0
  285. package/lib/typescript/components/Image/index.d.ts.map +1 -0
  286. package/lib/typescript/components/Input/BaseInput.android.d.ts +3 -0
  287. package/lib/typescript/components/Input/BaseInput.android.d.ts.map +1 -0
  288. package/lib/typescript/components/Input/index.d.ts +7 -5
  289. package/lib/typescript/components/Input/index.d.ts.map +1 -1
  290. package/lib/typescript/components/Input/styles.d.ts +5 -7
  291. package/lib/typescript/components/Input/styles.d.ts.map +1 -1
  292. package/lib/typescript/components/Link/index.d.ts +26 -0
  293. package/lib/typescript/components/Link/index.d.ts.map +1 -0
  294. package/lib/typescript/components/Link/styles.d.ts +4 -0
  295. package/lib/typescript/components/Link/styles.d.ts.map +1 -0
  296. package/lib/typescript/components/ProgressSegmented/index.d.ts +15 -0
  297. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -0
  298. package/lib/typescript/components/ProgressSegmented/styles.d.ts +8 -0
  299. package/lib/typescript/components/ProgressSegmented/styles.d.ts.map +1 -0
  300. package/lib/typescript/components/Select/SelectTriggerHost.d.ts +3 -0
  301. package/lib/typescript/components/Select/SelectTriggerHost.d.ts.map +1 -0
  302. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +13 -0
  303. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +1 -0
  304. package/lib/typescript/components/Select/index.d.ts +7 -4
  305. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  306. package/lib/typescript/components/Select/styles.d.ts +6 -8
  307. package/lib/typescript/components/Select/styles.d.ts.map +1 -1
  308. package/lib/typescript/components/Stack/HStack.d.ts +1 -12
  309. package/lib/typescript/components/Stack/HStack.d.ts.map +1 -1
  310. package/lib/typescript/components/Stack/VStack.d.ts +1 -12
  311. package/lib/typescript/components/Stack/VStack.d.ts.map +1 -1
  312. package/lib/typescript/components/Stack/styles.d.ts +10 -0
  313. package/lib/typescript/components/Stack/styles.d.ts.map +1 -0
  314. package/lib/typescript/components/Switch/BaseSwitch.d.ts +9 -0
  315. package/lib/typescript/components/Switch/BaseSwitch.d.ts.map +1 -0
  316. package/lib/typescript/components/Switch/BaseSwitch.web.d.ts +15 -0
  317. package/lib/typescript/components/Switch/BaseSwitch.web.d.ts.map +1 -0
  318. package/lib/typescript/components/Switch/index.d.ts +7 -0
  319. package/lib/typescript/components/Switch/index.d.ts.map +1 -0
  320. package/lib/typescript/components/Switch/styles.d.ts +26 -0
  321. package/lib/typescript/components/Switch/styles.d.ts.map +1 -0
  322. package/lib/typescript/components/Text/index.d.ts +9 -1
  323. package/lib/typescript/components/Text/index.d.ts.map +1 -1
  324. package/lib/typescript/components/Text/styles.d.ts +6 -0
  325. package/lib/typescript/components/Text/styles.d.ts.map +1 -0
  326. package/lib/typescript/components/VirtualizedList/index.d.ts +8 -0
  327. package/lib/typescript/components/VirtualizedList/index.d.ts.map +1 -0
  328. package/lib/typescript/components/index.d.ts +16 -0
  329. package/lib/typescript/components/index.d.ts.map +1 -1
  330. package/lib/typescript/index.d.ts +3 -0
  331. package/lib/typescript/index.d.ts.map +1 -1
  332. package/lib/typescript/metro/withCdxMetroConfig.d.ts +19 -0
  333. package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -0
  334. package/lib/typescript/styles/index.d.ts +2 -0
  335. package/lib/typescript/styles/index.d.ts.map +1 -0
  336. package/lib/typescript/styles/primitives.d.ts +85 -0
  337. package/lib/typescript/styles/primitives.d.ts.map +1 -0
  338. package/package.json +23 -16
  339. package/src/components/AlertDialog/index.tsx +124 -0
  340. package/src/components/Avatar/index.tsx +172 -0
  341. package/src/components/Avatar/styles.ts +83 -0
  342. package/src/components/BottomSheet/index.tsx +316 -0
  343. package/src/components/BottomSheet/styles.ts +79 -0
  344. package/src/components/Box/Box.tsx +1 -0
  345. package/src/components/Button/buttonSharedVariants.ts +281 -0
  346. package/src/components/Button/index.tsx +24 -15
  347. package/src/components/Button/styles.ts +195 -229
  348. package/src/components/Card/index.tsx +115 -0
  349. package/src/components/Card/styles.ts +41 -0
  350. package/src/components/Checkbox/index.tsx +207 -0
  351. package/src/components/Checkbox/styles.ts +103 -0
  352. package/src/components/Chip/index.tsx +91 -0
  353. package/src/components/Chip/styles.ts +51 -0
  354. package/src/components/Dialog/index.tsx +304 -0
  355. package/src/components/Dialog/styles.ts +88 -0
  356. package/src/components/Form/FormLabelRoot.tsx +33 -0
  357. package/src/components/Form/FormLabelRoot.web.tsx +18 -0
  358. package/src/components/Form/FormRoot.tsx +19 -0
  359. package/src/components/Form/FormRoot.web.tsx +12 -0
  360. package/src/components/Form/index.tsx +272 -0
  361. package/src/components/Form/styles.ts +75 -0
  362. package/src/components/Heading/index.tsx +36 -0
  363. package/src/components/Heading/styles.tsx +26 -0
  364. package/src/components/Icon/index.tsx +54 -0
  365. package/src/components/IconButton/index.tsx +93 -0
  366. package/src/components/IconButton/styles.ts +131 -0
  367. package/src/components/Image/Image.tsx +77 -0
  368. package/src/components/Image/index.ts +1 -0
  369. package/src/components/Input/BaseInput.android.tsx +13 -0
  370. package/src/components/Input/index.tsx +9 -22
  371. package/src/components/Input/styles.ts +42 -37
  372. package/src/components/Link/index.tsx +83 -0
  373. package/src/components/Link/styles.ts +20 -0
  374. package/src/components/ProgressSegmented/index.tsx +81 -0
  375. package/src/components/ProgressSegmented/styles.ts +19 -0
  376. package/src/components/Select/SelectTriggerHost.tsx +4 -0
  377. package/src/components/Select/SelectTriggerHost.web.tsx +136 -0
  378. package/src/components/Select/index.tsx +14 -14
  379. package/src/components/Select/styles.ts +68 -75
  380. package/src/components/Stack/HStack.tsx +8 -19
  381. package/src/components/Stack/VStack.tsx +8 -23
  382. package/src/components/Stack/styles.ts +37 -0
  383. package/src/components/Switch/BaseSwitch.tsx +38 -0
  384. package/src/components/Switch/BaseSwitch.web.tsx +69 -0
  385. package/src/components/Switch/index.tsx +11 -0
  386. package/src/components/Switch/styles.ts +120 -0
  387. package/src/components/Text/index.tsx +16 -0
  388. package/src/components/Text/styles.tsx +26 -0
  389. package/src/components/VirtualizedList/index.tsx +19 -0
  390. package/src/components/index.ts +16 -0
  391. package/src/index.ts +3 -0
  392. package/src/metro/withCdxMetroConfig.ts +29 -0
  393. package/src/styles/index.ts +1 -0
  394. package/src/styles/primitives.ts +107 -0
  395. package/lib/commonjs/components/Text/Text.js +0 -30
  396. package/lib/commonjs/components/Text/Text.js.map +0 -1
  397. package/lib/module/components/Text/Text.js +0 -26
  398. package/lib/module/components/Text/Text.js.map +0 -1
  399. package/lib/typescript/components/Text/Text.d.ts +0 -11
  400. package/lib/typescript/components/Text/Text.d.ts.map +0 -1
  401. package/src/components/Text/Text.tsx +0 -58
  402. package/src/components/Text/index.ts +0 -1
@@ -11,10 +11,12 @@ import {
11
11
  } from 'react-native';
12
12
  import { createButton, type IButtonProps } from '@cdx-ui/primitives';
13
13
  import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
14
+ import { Icon, IconProps } from '../Icon';
14
15
  import {
15
16
  type ButtonGroupVariantProps,
16
17
  type ButtonVariantProps,
17
18
  buttonGroupVariants,
19
+ buttonIconVariants,
18
20
  buttonRootVariants,
19
21
  buttonSpinnerVariants,
20
22
  buttonTextVariants,
@@ -46,9 +48,10 @@ export interface ButtonProps extends PressableProps, IButtonProps, ButtonVariant
46
48
  const ButtonRoot = forwardRef<View, ButtonProps>(
47
49
  (
48
50
  {
49
- variant = 'solid',
50
- color = 'primary',
51
- size = 'md',
51
+ variant = 'strong',
52
+ color = 'action',
53
+ size = 'default',
54
+ mode = 'light',
52
55
  fullWidth = false,
53
56
  className,
54
57
  children,
@@ -58,7 +61,7 @@ const ButtonRoot = forwardRef<View, ButtonProps>(
58
61
  ref,
59
62
  ) => {
60
63
  const computedClassName = cn(
61
- buttonRootVariants({ variant, color, size, fullWidth }),
64
+ buttonRootVariants({ variant, color, size, mode, fullWidth }),
62
65
  className,
63
66
  );
64
67
 
@@ -67,7 +70,7 @@ const ButtonRoot = forwardRef<View, ButtonProps>(
67
70
  ref={ref}
68
71
  className={computedClassName}
69
72
  style={style}
70
- context={{ variant, color, size, fullWidth }}
73
+ context={{ variant, color, size, mode, fullWidth }}
71
74
  {...props}
72
75
  >
73
76
  {children}
@@ -89,9 +92,9 @@ export interface ButtonTextProps extends TextProps {
89
92
 
90
93
  const ButtonLabel = forwardRef<Text, ButtonTextProps>(
91
94
  ({ className, children, style, ...props }, ref) => {
92
- const { variant, color, size } = useButtonStyleContext();
95
+ const { variant, color, size, mode } = useButtonStyleContext();
93
96
 
94
- const computedClassName = cn(buttonTextVariants({ variant, color, size }), className);
97
+ const computedClassName = cn(buttonTextVariants({ variant, color, size, mode }), className);
95
98
 
96
99
  return (
97
100
  <ButtonPrimitive.Text ref={ref} className={computedClassName} style={style} {...props}>
@@ -103,6 +106,7 @@ const ButtonLabel = forwardRef<Text, ButtonTextProps>(
103
106
 
104
107
  ButtonLabel.displayName = 'Button.Label';
105
108
 
109
+ // TODO: Use ButtonGroupVariantProps
106
110
  export interface ButtonGroupProps extends Omit<ViewProps, 'children'> {
107
111
  className?: string;
108
112
  children: ReactElement | ReactElement[];
@@ -135,13 +139,15 @@ const ButtonGroup = forwardRef<View, ButtonGroupProps>(
135
139
 
136
140
  ButtonGroup.displayName = 'Button.Group';
137
141
 
138
- export interface ButtonIconProps extends ViewProps {
139
- className?: string;
140
- }
142
+ export interface ButtonIconProps extends Omit<IconProps, 'children'> {}
141
143
 
142
- const ButtonIcon = forwardRef<View, ButtonIconProps>(({ className, style, ...props }, ref) => {
143
- return <ButtonPrimitive.Icon ref={ref} className={className} style={style} {...props} />;
144
- });
144
+ const ButtonIcon = ({ className, style, as, ...props }: ButtonIconProps) => {
145
+ const { size } = useButtonStyleContext();
146
+
147
+ const computedClassName = cn(buttonIconVariants({ size }), className);
148
+
149
+ return <Icon as={as} className={computedClassName} style={style} {...props} />;
150
+ };
145
151
 
146
152
  ButtonIcon.displayName = 'Button.Icon';
147
153
 
@@ -152,8 +158,11 @@ export interface ButtonSpinnerProps extends ActivityIndicatorProps {
152
158
 
153
159
  const ButtonSpinner = forwardRef<ActivityIndicator, ButtonSpinnerProps>(
154
160
  ({ className, colorClassName, style, ...props }, ref) => {
155
- const { variant, color } = useButtonStyleContext();
156
- const computedColorClassName = cn(buttonSpinnerVariants({ variant, color }), colorClassName);
161
+ const { variant, color, mode } = useButtonStyleContext();
162
+ const computedColorClassName = cn(
163
+ buttonSpinnerVariants({ variant, color, mode }),
164
+ colorClassName,
165
+ );
157
166
 
158
167
  return (
159
168
  <ButtonPrimitive.Spinner
@@ -1,5 +1,40 @@
1
1
  import { Platform } from 'react-native';
2
2
  import { cva, type VariantProps } from 'class-variance-authority';
3
+ import {
4
+ COLOR_BORDER_DEFAULT,
5
+ DISABLED_CURSOR,
6
+ DISABLED_OPACITY,
7
+ RADIUS_SM,
8
+ TRANSITION_COLORS,
9
+ } from '../../styles/primitives';
10
+ import {
11
+ sharedFilledForegroundTextCompounds,
12
+ sharedFilledSurfaceCompounds,
13
+ sharedGhostSurfaceCompounds,
14
+ sharedOutlineGhostForegroundTextCompounds,
15
+ } from './buttonSharedVariants';
16
+
17
+ const buttonStrongSurfaceCompounds = sharedFilledSurfaceCompounds.map((c) => ({
18
+ variant: 'strong' as const,
19
+ ...c,
20
+ }));
21
+
22
+ const buttonGhostSurfaceCompounds = sharedGhostSurfaceCompounds.map((c) => ({
23
+ variant: 'ghost' as const,
24
+ ...c,
25
+ }));
26
+
27
+ const buttonStrongForegroundTextCompounds = sharedFilledForegroundTextCompounds.map((c) => ({
28
+ variant: 'strong' as const,
29
+ ...c,
30
+ }));
31
+
32
+ const buttonOutlineGhostForegroundTextCompounds = sharedOutlineGhostForegroundTextCompounds.map(
33
+ (c) => ({
34
+ variant: ['outline', 'ghost'] as ('outline' | 'ghost')[],
35
+ ...c,
36
+ }),
37
+ );
3
38
 
4
39
  // TODO: Split into 2 files
5
40
  // TODO: Create cva wrapper
@@ -7,37 +42,43 @@ import { cva, type VariantProps } from 'class-variance-authority';
7
42
  export const buttonRootVariants = cva(
8
43
  [
9
44
  'flex-row items-center justify-center',
10
- 'rounded-md',
11
- 'transition-colors duration-150', // TODO: Transition not working on mobile
12
- 'data-[disabled=true]:opacity-60 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:pointer-events-none',
13
- 'data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-ring data-[focus-visible=true]:ring-offset-2 data-[focus-visible=true]:ring-offset-bg',
45
+ RADIUS_SM,
46
+ 'web:outline-none web:focus:outline-none web:focus-visible:outline-none',
47
+ TRANSITION_COLORS,
48
+ DISABLED_OPACITY,
49
+ DISABLED_CURSOR,
50
+ 'web:data-[focus-visible=true]:ring-2 web:data-[focus-visible=true]:ring-slate-400/50 web:data-[focus-visible=true]:ring-offset-2',
14
51
  ],
15
52
  {
16
53
  variants: {
17
54
  variant: {
18
- solid: [],
19
- subtle: [],
55
+ strong: [],
20
56
  outline: [
21
- 'bg-transparent border border-border',
22
- 'data-[hover=true]:bg-surface',
23
- 'data-[active=true]:bg-surface-raised',
57
+ 'bg-transparent',
58
+ `border ${COLOR_BORDER_DEFAULT}`,
59
+ 'data-[hover=true]:bg-slate-50',
60
+ 'data-[active=true]:bg-slate-100',
24
61
  ],
25
62
  ghost: [
26
63
  'bg-transparent',
27
- 'data-[hover=true]:bg-surface',
28
- 'data-[active=true]:bg-surface-raised',
64
+ 'data-[hover=true]:bg-slate-50',
65
+ 'data-[active=true]:bg-slate-100',
29
66
  ],
30
67
  },
31
68
  color: {
32
- primary: [],
33
- secondary: [],
34
- success: [],
69
+ action: [],
35
70
  danger: [],
71
+ warning: [],
72
+ success: [],
73
+ info: [],
36
74
  },
37
75
  size: {
38
- sm: 'h-8 px-3 gap-1.5',
39
- md: 'h-10 px-4 gap-2',
40
- lg: 'h-12 px-6 gap-2.5',
76
+ default: 'h-10 px-4 gap-2',
77
+ small: 'h-8 px-3 gap-1.5',
78
+ },
79
+ mode: {
80
+ light: [],
81
+ dark: [],
41
82
  },
42
83
  fullWidth: {
43
84
  true: 'w-full',
@@ -45,187 +86,135 @@ export const buttonRootVariants = cva(
45
86
  },
46
87
  },
47
88
  compoundVariants: [
89
+ ...buttonStrongSurfaceCompounds,
90
+
91
+ // --- outline × color (light mode) ---
48
92
  {
49
- variant: 'solid',
50
- color: 'primary',
51
- className: [
52
- 'bg-blue-500',
53
- Platform.select({
54
- default: 'data-[active=true]:bg-blue-700',
55
- web: 'data-[hover=true]:bg-blue-600 data-[active=true]:data-[hover=true]:bg-blue-700',
56
- }),
57
- ],
58
- },
59
- {
60
- variant: 'solid',
61
- color: 'secondary',
62
- className: [
63
- 'bg-amber-500',
64
- Platform.select({
65
- default: 'data-[active=true]:bg-amber-700',
66
- web: 'data-[hover=true]:bg-amber-600 data-[active=true]:data-[hover=true]:bg-amber-700',
67
- }),
68
- ],
69
- },
70
- {
71
- variant: 'solid',
72
- color: 'success',
93
+ variant: 'outline',
94
+ color: 'action',
73
95
  className: [
74
- 'bg-green-500',
96
+ 'border-slate-300',
75
97
  Platform.select({
76
- default: 'data-[active=true]:bg-green-700',
77
- web: 'data-[hover=true]:bg-green-600 data-[active=true]:data-[hover=true]:bg-green-700',
98
+ default: 'data-[active=true]:border-slate-500 data-[active=true]:bg-slate-100',
99
+ web: 'data-[hover=true]:border-slate-400 data-[hover=true]:bg-slate-50 data-[active=true]:data-[hover=true]:border-slate-500 data-[active=true]:data-[hover=true]:bg-slate-100',
78
100
  }),
79
101
  ],
80
102
  },
81
103
  {
82
- variant: 'solid',
104
+ variant: 'outline',
83
105
  color: 'danger',
84
106
  className: [
85
- 'bg-red-500',
86
- Platform.select({
87
- default: 'data-[active=true]:bg-red-700',
88
- web: 'data-[hover=true]:bg-red-600 data-[active=true]:data-[hover=true]:bg-red-700',
89
- }),
90
- ],
91
- },
92
- {
93
- variant: 'subtle',
94
- color: 'primary',
95
- className: [
96
- 'bg-blue-100',
97
- Platform.select({
98
- default: 'data-[active=true]:bg-blue-200',
99
- web: 'data-[hover=true]:bg-blue-200 data-[active=true]:data-[hover=true]:bg-blue-300',
100
- }),
101
- ],
102
- },
103
- {
104
- variant: 'subtle',
105
- color: 'secondary',
106
- className: [
107
- 'bg-amber-200',
108
- Platform.select({
109
- default: 'data-[active=true]:bg-amber-300',
110
- web: 'data-[hover=true]:bg-amber-300 data-[active=true]:data-[hover=true]:bg-amber-400',
111
- }),
112
- ],
113
- },
114
- {
115
- variant: 'subtle',
116
- color: 'success',
117
- className: [
118
- 'bg-green-200',
107
+ 'border-red-600',
119
108
  Platform.select({
120
- default: 'data-[active=true]:bg-green-300',
121
- web: 'data-[hover=true]:bg-green-300 data-[active=true]:data-[hover=true]:bg-green-400',
109
+ default: 'data-[active=true]:border-red-800 data-[active=true]:bg-red-100',
110
+ web: 'data-[hover=true]:border-red-700 data-[hover=true]:bg-red-50 data-[active=true]:data-[hover=true]:border-red-800 data-[active=true]:data-[hover=true]:bg-red-100',
122
111
  }),
123
112
  ],
124
113
  },
125
114
  {
126
- variant: 'subtle',
127
- color: 'danger',
115
+ variant: 'outline',
116
+ color: 'warning',
128
117
  className: [
129
- 'bg-red-200',
118
+ 'border-amber-500',
130
119
  Platform.select({
131
- default: 'data-[active=true]:bg-red-300',
132
- web: 'data-[hover=true]:bg-red-300 data-[active=true]:data-[hover=true]:bg-red-400',
120
+ default: 'data-[active=true]:border-amber-700 data-[active=true]:bg-amber-50',
121
+ web: 'data-[hover=true]:border-amber-600 data-[hover=true]:bg-amber-50 data-[active=true]:data-[hover=true]:border-amber-700 data-[active=true]:data-[hover=true]:bg-amber-100',
133
122
  }),
134
123
  ],
135
124
  },
136
125
  {
137
126
  variant: 'outline',
138
- color: 'primary',
127
+ color: 'success',
139
128
  className: [
140
- 'border-blue-500',
129
+ 'border-green-600',
141
130
  Platform.select({
142
- default: 'data-[active=true]:border-blue-700 data-[active=true]:bg-blue-100',
143
- web: 'data-[hover=true]:border-blue-600 data-[hover=true]:bg-blue-100 data-[active=true]:data-[hover=true]:border-blue-700 data-[active=true]:data-[hover=true]:bg-blue-200',
131
+ default: 'data-[active=true]:border-green-800 data-[active=true]:bg-green-100',
132
+ web: 'data-[hover=true]:border-green-700 data-[hover=true]:bg-green-50 data-[active=true]:data-[hover=true]:border-green-800 data-[active=true]:data-[hover=true]:bg-green-100',
144
133
  }),
145
134
  ],
146
135
  },
147
136
  {
148
137
  variant: 'outline',
149
- color: 'secondary',
138
+ color: 'info',
150
139
  className: [
151
- 'border-amber-500',
140
+ 'border-sky-500',
152
141
  Platform.select({
153
- default: 'data-[active=true]:border-amber-700 data-[active=true]:bg-amber-50',
154
- web: 'data-[hover=true]:border-amber-600 data-[hover=true]:bg-amber-50 data-[active=true]:data-[hover=true]:border-amber-700 data-[active=true]:data-[hover=true]:bg-amber-100',
142
+ default: 'data-[active=true]:border-sky-700 data-[active=true]:bg-sky-100',
143
+ web: 'data-[hover=true]:border-sky-600 data-[hover=true]:bg-sky-50 data-[active=true]:data-[hover=true]:border-sky-700 data-[active=true]:data-[hover=true]:bg-sky-100',
155
144
  }),
156
145
  ],
157
146
  },
147
+
148
+ // --- outline × action × mode: dark ---
158
149
  {
159
150
  variant: 'outline',
160
- color: 'success',
151
+ color: 'action',
152
+ mode: 'dark',
161
153
  className: [
162
- 'border-green-500',
154
+ 'bg-transparent border-slate-700',
163
155
  Platform.select({
164
- default: 'data-[active=true]:border-green-700 data-[active=true]:bg-green-100',
165
- web: 'data-[hover=true]:border-green-600 data-[hover=true]:bg-green-100 data-[active=true]:data-[hover=true]:border-green-700 data-[active=true]:data-[hover=true]:bg-green-200',
156
+ default: 'data-[active=true]:bg-slate-700',
157
+ web: 'data-[hover=true]:bg-slate-800 data-[active=true]:data-[hover=true]:bg-slate-700',
166
158
  }),
167
159
  ],
168
160
  },
161
+ // --- outline × semantic colors × mode: dark ---
169
162
  {
170
163
  variant: 'outline',
171
164
  color: 'danger',
165
+ mode: 'dark',
172
166
  className: [
173
- 'border-red-500',
174
- Platform.select({
175
- default: 'data-[active=true]:border-red-700 data-[active=true]:bg-red-100',
176
- web: 'data-[hover=true]:border-red-600 data-[hover=true]:bg-red-100 data-[active=true]:data-[hover=true]:border-red-700 data-[active=true]:data-[hover=true]:bg-red-200',
177
- }),
178
- ],
179
- },
180
- {
181
- variant: 'ghost',
182
- color: 'primary',
183
- className: [
184
- 'bg-transparent',
167
+ 'bg-transparent border-red-500',
185
168
  Platform.select({
186
- default: 'data-[active=true]:bg-blue-100',
187
- web: 'data-[hover=true]:bg-blue-50 data-[active=true]:data-[hover=true]:bg-blue-100',
169
+ default: 'data-[active=true]:bg-red-950',
170
+ web: 'data-[hover=true]:bg-red-950/50 data-[active=true]:data-[hover=true]:bg-red-950',
188
171
  }),
189
172
  ],
190
173
  },
191
174
  {
192
- variant: 'ghost',
193
- color: 'secondary',
175
+ variant: 'outline',
176
+ color: 'warning',
177
+ mode: 'dark',
194
178
  className: [
195
- 'bg-transparent',
179
+ 'bg-transparent border-amber-500',
196
180
  Platform.select({
197
- default: 'data-[active=true]:bg-amber-100',
198
- web: 'data-[hover=true]:bg-amber-50 data-[active=true]:data-[hover=true]:bg-amber-100',
181
+ default: 'data-[active=true]:bg-amber-950',
182
+ web: 'data-[hover=true]:bg-amber-950/50 data-[active=true]:data-[hover=true]:bg-amber-950',
199
183
  }),
200
184
  ],
201
185
  },
202
186
  {
203
- variant: 'ghost',
187
+ variant: 'outline',
204
188
  color: 'success',
189
+ mode: 'dark',
205
190
  className: [
206
- 'bg-transparent',
191
+ 'bg-transparent border-green-500',
207
192
  Platform.select({
208
- default: 'data-[active=true]:bg-green-100',
209
- web: 'data-[hover=true]:bg-green-50 data-[active=true]:data-[hover=true]:bg-green-100',
193
+ default: 'data-[active=true]:bg-green-950',
194
+ web: 'data-[hover=true]:bg-green-950/50 data-[active=true]:data-[hover=true]:bg-green-950',
210
195
  }),
211
196
  ],
212
197
  },
213
198
  {
214
- variant: 'ghost',
215
- color: 'danger',
199
+ variant: 'outline',
200
+ color: 'info',
201
+ mode: 'dark',
216
202
  className: [
217
- 'bg-transparent',
203
+ 'bg-transparent border-sky-500',
218
204
  Platform.select({
219
- default: 'data-[active=true]:bg-red-100',
220
- web: 'data-[hover=true]:bg-red-50 data-[active=true]:data-[hover=true]:bg-red-100',
205
+ default: 'data-[active=true]:bg-sky-950',
206
+ web: 'data-[hover=true]:bg-sky-950/50 data-[active=true]:data-[hover=true]:bg-sky-950',
221
207
  }),
222
208
  ],
223
209
  },
210
+
211
+ ...buttonGhostSurfaceCompounds,
224
212
  ],
225
213
  defaultVariants: {
226
- variant: 'solid',
227
- color: 'primary',
228
- size: 'md',
214
+ variant: 'strong',
215
+ color: 'action',
216
+ size: 'default',
217
+ mode: 'light',
229
218
  fullWidth: false,
230
219
  },
231
220
  },
@@ -234,156 +223,121 @@ export const buttonRootVariants = cva(
234
223
  export const buttonTextVariants = cva(['font-medium', 'text-center'], {
235
224
  variants: {
236
225
  variant: {
237
- solid: 'text-white',
238
- subtle: [],
226
+ strong: [],
239
227
  outline: [],
240
228
  ghost: [],
241
229
  },
242
230
  color: {
243
- primary: [],
244
- secondary: [],
245
- success: [],
231
+ action: [],
246
232
  danger: [],
233
+ warning: [],
234
+ success: [],
235
+ info: [],
247
236
  },
248
237
  size: {
249
- sm: 'text-sm',
250
- md: 'text-base',
251
- lg: 'text-lg',
238
+ default: 'text-base',
239
+ small: 'text-sm',
240
+ },
241
+ mode: {
242
+ light: [],
243
+ dark: [],
252
244
  },
253
245
  },
254
246
  compoundVariants: [
255
- {
256
- variant: 'subtle',
257
- color: 'primary',
258
- className: 'text-blue-950',
259
- },
260
- {
261
- variant: 'subtle',
262
- color: 'secondary',
263
- className: 'text-amber-950',
264
- },
265
- {
266
- variant: 'subtle',
267
- color: 'success',
268
- className: 'text-green-950',
269
- },
270
- {
271
- variant: 'subtle',
272
- color: 'danger',
273
- className: 'text-red-950',
274
- },
275
- {
276
- variant: ['outline', 'ghost'],
277
- color: 'primary',
278
- className: [
279
- 'text-blue-500',
280
- Platform.select({
281
- default: 'data-[active=true]:text-blue-700',
282
- web: 'data-[hover=true]:text-blue-600 data-[active=true]:data-[hover=true]:text-blue-700',
283
- }),
284
- ],
285
- },
286
- {
287
- variant: ['outline', 'ghost'],
288
- color: 'secondary',
289
- className: [
290
- 'text-amber-600',
291
- Platform.select({
292
- default: 'data-[active=true]:text-amber-800',
293
- web: 'data-[hover=true]:text-amber-700 data-[active=true]:data-[hover=true]:text-amber-800',
294
- }),
295
- ],
296
- },
297
- {
298
- variant: ['outline', 'ghost'],
299
- color: 'success',
300
- className: [
301
- 'text-green-600',
302
- Platform.select({
303
- default: 'data-[active=true]:text-green-800',
304
- web: 'data-[hover=true]:text-green-700 data-[active=true]:data-[hover=true]:text-green-800',
305
- }),
306
- ],
307
- },
308
- {
309
- variant: ['outline', 'ghost'],
310
- color: 'danger',
311
- className: [
312
- 'text-red-500',
313
- Platform.select({
314
- default: 'data-[active=true]:text-red-700',
315
- web: 'data-[hover=true]:text-red-600 data-[active=true]:data-[hover=true]:text-red-700',
316
- }),
317
- ],
318
- },
247
+ ...buttonStrongForegroundTextCompounds,
248
+ ...buttonOutlineGhostForegroundTextCompounds,
319
249
  ],
320
250
  defaultVariants: {
321
- variant: 'solid',
322
- color: 'primary',
323
- size: 'md',
251
+ variant: 'strong',
252
+ color: 'action',
253
+ size: 'default',
254
+ mode: 'light',
324
255
  },
325
256
  });
326
257
 
327
258
  export const buttonSpinnerVariants = cva([], {
328
259
  variants: {
329
260
  variant: {
330
- solid: 'accent-white',
331
- subtle: [],
261
+ strong: 'accent-white',
332
262
  outline: [],
333
263
  ghost: [],
334
264
  },
335
265
  color: {
336
- primary: [],
337
- secondary: [],
338
- success: [],
266
+ action: [],
339
267
  danger: [],
268
+ warning: [],
269
+ success: [],
270
+ info: [],
271
+ },
272
+ mode: {
273
+ light: [],
274
+ dark: [],
340
275
  },
341
276
  },
342
277
  compoundVariants: [
278
+ // --- outline/ghost × color (light mode) ---
343
279
  {
344
- variant: 'subtle',
345
- color: 'primary',
346
- className: 'accent-blue-950',
280
+ variant: ['outline', 'ghost'],
281
+ color: 'action',
282
+ className: 'accent-slate-900',
283
+ },
284
+ {
285
+ variant: ['outline', 'ghost'],
286
+ color: 'danger',
287
+ className: 'accent-red-600',
347
288
  },
348
289
  {
349
- variant: 'subtle',
350
- color: 'secondary',
351
- className: 'accent-amber-950',
290
+ variant: ['outline', 'ghost'],
291
+ color: 'warning',
292
+ className: 'accent-amber-600',
352
293
  },
353
294
  {
354
- variant: 'subtle',
295
+ variant: ['outline', 'ghost'],
355
296
  color: 'success',
356
- className: 'accent-green-950',
297
+ className: 'accent-green-600',
357
298
  },
358
299
  {
359
- variant: 'subtle',
360
- color: 'danger',
361
- className: 'accent-red-950',
300
+ variant: ['outline', 'ghost'],
301
+ color: 'info',
302
+ className: 'accent-sky-600',
362
303
  },
304
+
305
+ // --- outline/ghost × color × mode: dark ---
363
306
  {
364
307
  variant: ['outline', 'ghost'],
365
- color: 'primary',
366
- className: 'accent-blue-500',
308
+ color: 'action',
309
+ mode: 'dark',
310
+ className: 'accent-white',
367
311
  },
368
312
  {
369
313
  variant: ['outline', 'ghost'],
370
- color: 'secondary',
371
- className: 'accent-amber-600',
314
+ color: 'danger',
315
+ mode: 'dark',
316
+ className: 'accent-red-300',
317
+ },
318
+ {
319
+ variant: ['outline', 'ghost'],
320
+ color: 'warning',
321
+ mode: 'dark',
322
+ className: 'accent-amber-300',
372
323
  },
373
324
  {
374
325
  variant: ['outline', 'ghost'],
375
326
  color: 'success',
376
- className: 'accent-green-600',
327
+ mode: 'dark',
328
+ className: 'accent-green-300',
377
329
  },
378
330
  {
379
331
  variant: ['outline', 'ghost'],
380
- color: 'danger',
381
- className: 'accent-red-500',
332
+ color: 'info',
333
+ mode: 'dark',
334
+ className: 'accent-sky-300',
382
335
  },
383
336
  ],
384
337
  defaultVariants: {
385
- variant: 'solid',
386
- color: 'primary',
338
+ variant: 'strong',
339
+ color: 'action',
340
+ mode: 'light',
387
341
  },
388
342
  });
389
343
 
@@ -406,5 +360,17 @@ export const buttonGroupVariants = cva([], {
406
360
  },
407
361
  });
408
362
 
363
+ export const buttonIconVariants = cva([], {
364
+ variants: {
365
+ size: {
366
+ default: 'size-5',
367
+ small: 'size-4',
368
+ },
369
+ },
370
+ defaultVariants: {
371
+ size: 'default',
372
+ },
373
+ });
374
+
409
375
  export type ButtonVariantProps = VariantProps<typeof buttonRootVariants>;
410
376
  export type ButtonGroupVariantProps = VariantProps<typeof buttonGroupVariants>;