@cdx-ui/components 0.0.1-alpha.9 → 0.0.1-beta.10

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 (425) hide show
  1. package/README.md +59 -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/index.js +20 -9
  15. package/lib/commonjs/components/Button/index.js.map +1 -1
  16. package/lib/commonjs/components/Button/styles.js +182 -163
  17. package/lib/commonjs/components/Button/styles.js.map +1 -1
  18. package/lib/commonjs/components/Card/index.js +104 -0
  19. package/lib/commonjs/components/Card/index.js.map +1 -0
  20. package/lib/commonjs/components/Card/styles.js +27 -0
  21. package/lib/commonjs/components/Card/styles.js.map +1 -0
  22. package/lib/commonjs/components/Checkbox/index.js +18 -11
  23. package/lib/commonjs/components/Checkbox/index.js.map +1 -1
  24. package/lib/commonjs/components/Checkbox/styles.js +17 -16
  25. package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
  26. package/lib/commonjs/components/Chip/index.js +103 -0
  27. package/lib/commonjs/components/Chip/index.js.map +1 -0
  28. package/lib/commonjs/components/Chip/styles.js +52 -0
  29. package/lib/commonjs/components/Chip/styles.js.map +1 -0
  30. package/lib/commonjs/components/Dialog/index.js +275 -0
  31. package/lib/commonjs/components/Dialog/index.js.map +1 -0
  32. package/lib/commonjs/components/Dialog/styles.js +63 -0
  33. package/lib/commonjs/components/Dialog/styles.js.map +1 -0
  34. package/lib/commonjs/components/Field/FieldLabel.js +33 -0
  35. package/lib/commonjs/components/Field/FieldLabel.js.map +1 -0
  36. package/lib/commonjs/components/Field/FieldLabel.web.js +22 -0
  37. package/lib/commonjs/components/Field/FieldLabel.web.js.map +1 -0
  38. package/lib/commonjs/components/Field/index.js +158 -0
  39. package/lib/commonjs/components/Field/index.js.map +1 -0
  40. package/lib/commonjs/components/Field/styles.js +16 -0
  41. package/lib/commonjs/components/Field/styles.js.map +1 -0
  42. package/lib/commonjs/components/Form/FormRoot.js +25 -0
  43. package/lib/commonjs/components/Form/FormRoot.js.map +1 -0
  44. package/lib/commonjs/components/Form/FormRoot.web.js +17 -0
  45. package/lib/commonjs/components/Form/FormRoot.web.js.map +1 -0
  46. package/lib/commonjs/components/Form/index.js +48 -0
  47. package/lib/commonjs/components/Form/index.js.map +1 -0
  48. package/lib/commonjs/components/Form/styles.js +9 -0
  49. package/lib/commonjs/components/Form/styles.js.map +1 -0
  50. package/lib/commonjs/components/Heading/index.js +35 -0
  51. package/lib/commonjs/components/Heading/index.js.map +1 -0
  52. package/lib/commonjs/components/Heading/styles.js +23 -0
  53. package/lib/commonjs/components/Heading/styles.js.map +1 -0
  54. package/lib/commonjs/components/Icon/index.js +61 -0
  55. package/lib/commonjs/components/Icon/index.js.map +1 -0
  56. package/lib/commonjs/components/IconButton/index.js +75 -0
  57. package/lib/commonjs/components/IconButton/index.js.map +1 -0
  58. package/lib/commonjs/components/IconButton/styles.js +44 -0
  59. package/lib/commonjs/components/IconButton/styles.js.map +1 -0
  60. package/lib/commonjs/components/Image/Image.js +69 -0
  61. package/lib/commonjs/components/Image/Image.js.map +1 -0
  62. package/lib/commonjs/components/Image/index.js +13 -0
  63. package/lib/commonjs/components/Image/index.js.map +1 -0
  64. package/lib/commonjs/components/Input/BaseInput.android.js +20 -0
  65. package/lib/commonjs/components/Input/BaseInput.android.js.map +1 -0
  66. package/lib/commonjs/components/Input/index.js +10 -16
  67. package/lib/commonjs/components/Input/index.js.map +1 -1
  68. package/lib/commonjs/components/Input/styles.js +17 -30
  69. package/lib/commonjs/components/Input/styles.js.map +1 -1
  70. package/lib/commonjs/components/Link/index.js +94 -0
  71. package/lib/commonjs/components/Link/index.js.map +1 -0
  72. package/lib/commonjs/components/Link/styles.js +14 -0
  73. package/lib/commonjs/components/Link/styles.js.map +1 -0
  74. package/lib/commonjs/components/ListItem/index.js +283 -0
  75. package/lib/commonjs/components/ListItem/index.js.map +1 -0
  76. package/lib/commonjs/components/ListItem/styles.js +130 -0
  77. package/lib/commonjs/components/ListItem/styles.js.map +1 -0
  78. package/lib/commonjs/components/OtpInput/index.js +83 -0
  79. package/lib/commonjs/components/OtpInput/index.js.map +1 -0
  80. package/lib/commonjs/components/OtpInput/styles.js +48 -0
  81. package/lib/commonjs/components/OtpInput/styles.js.map +1 -0
  82. package/lib/commonjs/components/ProgressBar/index.js +45 -0
  83. package/lib/commonjs/components/ProgressBar/index.js.map +1 -0
  84. package/lib/commonjs/components/ProgressBar/styles.js +10 -0
  85. package/lib/commonjs/components/ProgressBar/styles.js.map +1 -0
  86. package/lib/commonjs/components/ProgressSegmented/index.js +62 -0
  87. package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -0
  88. package/lib/commonjs/components/ProgressSegmented/styles.js +21 -0
  89. package/lib/commonjs/components/ProgressSegmented/styles.js.map +1 -0
  90. package/lib/commonjs/components/Select/SelectTriggerHost.js +10 -0
  91. package/lib/commonjs/components/Select/SelectTriggerHost.js.map +1 -0
  92. package/lib/commonjs/components/Select/SelectTriggerHost.web.js +98 -0
  93. package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +1 -0
  94. package/lib/commonjs/components/Select/index.js +13 -13
  95. package/lib/commonjs/components/Select/index.js.map +1 -1
  96. package/lib/commonjs/components/Select/styles.js +29 -53
  97. package/lib/commonjs/components/Select/styles.js.map +1 -1
  98. package/lib/commonjs/components/Stack/HStack.js +8 -21
  99. package/lib/commonjs/components/Stack/HStack.js.map +1 -1
  100. package/lib/commonjs/components/Stack/VStack.js +8 -21
  101. package/lib/commonjs/components/Stack/VStack.js.map +1 -1
  102. package/lib/commonjs/components/Stack/styles.js +44 -0
  103. package/lib/commonjs/components/Stack/styles.js.map +1 -0
  104. package/lib/commonjs/components/Text/index.js +18 -9
  105. package/lib/commonjs/components/Text/index.js.map +1 -1
  106. package/lib/commonjs/components/Text/styles.js +23 -0
  107. package/lib/commonjs/components/Text/styles.js.map +1 -0
  108. package/lib/commonjs/components/VirtualizedList/index.js +19 -0
  109. package/lib/commonjs/components/VirtualizedList/index.js.map +1 -0
  110. package/lib/commonjs/components/index.js +216 -0
  111. package/lib/commonjs/components/index.js.map +1 -1
  112. package/lib/commonjs/figma/Button.figma.js +69 -0
  113. package/lib/commonjs/figma/Button.figma.js.map +1 -0
  114. package/lib/commonjs/index.js +40 -0
  115. package/lib/commonjs/index.js.map +1 -1
  116. package/lib/commonjs/styles/index.js +17 -0
  117. package/lib/commonjs/styles/index.js.map +1 -0
  118. package/lib/commonjs/styles/primitives.js +122 -0
  119. package/lib/commonjs/styles/primitives.js.map +1 -0
  120. package/lib/module/components/AlertDialog/index.js +112 -0
  121. package/lib/module/components/AlertDialog/index.js.map +1 -0
  122. package/lib/module/components/Avatar/index.js +152 -0
  123. package/lib/module/components/Avatar/index.js.map +1 -0
  124. package/lib/module/components/Avatar/styles.js +77 -0
  125. package/lib/module/components/Avatar/styles.js.map +1 -0
  126. package/lib/module/components/BottomSheet/index.js +242 -0
  127. package/lib/module/components/BottomSheet/index.js.map +1 -0
  128. package/lib/module/components/BottomSheet/styles.js +58 -0
  129. package/lib/module/components/BottomSheet/styles.js.map +1 -0
  130. package/lib/module/components/Box/Box.js +1 -0
  131. package/lib/module/components/Box/Box.js.map +1 -1
  132. package/lib/module/components/Button/index.js +21 -10
  133. package/lib/module/components/Button/index.js.map +1 -1
  134. package/lib/module/components/Button/styles.js +181 -162
  135. package/lib/module/components/Button/styles.js.map +1 -1
  136. package/lib/module/components/Card/index.js +100 -0
  137. package/lib/module/components/Card/index.js.map +1 -0
  138. package/lib/module/components/Card/styles.js +24 -0
  139. package/lib/module/components/Card/styles.js.map +1 -0
  140. package/lib/module/components/Checkbox/index.js +19 -12
  141. package/lib/module/components/Checkbox/index.js.map +1 -1
  142. package/lib/module/components/Checkbox/styles.js +17 -16
  143. package/lib/module/components/Checkbox/styles.js.map +1 -1
  144. package/lib/module/components/Chip/index.js +99 -0
  145. package/lib/module/components/Chip/index.js.map +1 -0
  146. package/lib/module/components/Chip/styles.js +48 -0
  147. package/lib/module/components/Chip/styles.js.map +1 -0
  148. package/lib/module/components/Dialog/index.js +267 -0
  149. package/lib/module/components/Dialog/index.js.map +1 -0
  150. package/lib/module/components/Dialog/styles.js +60 -0
  151. package/lib/module/components/Dialog/styles.js.map +1 -0
  152. package/lib/module/components/Field/FieldLabel.js +29 -0
  153. package/lib/module/components/Field/FieldLabel.js.map +1 -0
  154. package/lib/module/components/Field/FieldLabel.web.js +17 -0
  155. package/lib/module/components/Field/FieldLabel.web.js.map +1 -0
  156. package/lib/module/components/Field/index.js +155 -0
  157. package/lib/module/components/Field/index.js.map +1 -0
  158. package/lib/module/components/Field/styles.js +12 -0
  159. package/lib/module/components/Field/styles.js.map +1 -0
  160. package/lib/module/components/Form/FormRoot.js +21 -0
  161. package/lib/module/components/Form/FormRoot.js.map +1 -0
  162. package/lib/module/components/Form/FormRoot.web.js +12 -0
  163. package/lib/module/components/Form/FormRoot.web.js.map +1 -0
  164. package/lib/module/components/Form/index.js +44 -0
  165. package/lib/module/components/Form/index.js.map +1 -0
  166. package/lib/module/components/Form/styles.js +5 -0
  167. package/lib/module/components/Form/styles.js.map +1 -0
  168. package/lib/module/components/Heading/index.js +31 -0
  169. package/lib/module/components/Heading/index.js.map +1 -0
  170. package/lib/module/components/Heading/styles.js +19 -0
  171. package/lib/module/components/Heading/styles.js.map +1 -0
  172. package/lib/module/components/Icon/index.js +57 -0
  173. package/lib/module/components/Icon/index.js.map +1 -0
  174. package/lib/module/components/IconButton/index.js +71 -0
  175. package/lib/module/components/IconButton/index.js.map +1 -0
  176. package/lib/module/components/IconButton/styles.js +40 -0
  177. package/lib/module/components/IconButton/styles.js.map +1 -0
  178. package/lib/module/components/Image/Image.js +67 -0
  179. package/lib/module/components/Image/Image.js.map +1 -0
  180. package/lib/module/components/Image/index.js +4 -0
  181. package/lib/module/components/Image/index.js.map +1 -0
  182. package/lib/module/components/Input/BaseInput.android.js +16 -0
  183. package/lib/module/components/Input/BaseInput.android.js.map +1 -0
  184. package/lib/module/components/Input/index.js +10 -16
  185. package/lib/module/components/Input/index.js.map +1 -1
  186. package/lib/module/components/Input/styles.js +17 -30
  187. package/lib/module/components/Input/styles.js.map +1 -1
  188. package/lib/module/components/Link/index.js +85 -0
  189. package/lib/module/components/Link/index.js.map +1 -0
  190. package/lib/module/components/Link/styles.js +11 -0
  191. package/lib/module/components/Link/styles.js.map +1 -0
  192. package/lib/module/components/ListItem/index.js +226 -0
  193. package/lib/module/components/ListItem/index.js.map +1 -0
  194. package/lib/module/components/ListItem/styles.js +127 -0
  195. package/lib/module/components/ListItem/styles.js.map +1 -0
  196. package/lib/module/components/OtpInput/index.js +79 -0
  197. package/lib/module/components/OtpInput/index.js.map +1 -0
  198. package/lib/module/components/OtpInput/styles.js +44 -0
  199. package/lib/module/components/OtpInput/styles.js.map +1 -0
  200. package/lib/module/components/ProgressBar/index.js +41 -0
  201. package/lib/module/components/ProgressBar/index.js.map +1 -0
  202. package/lib/module/components/ProgressBar/styles.js +6 -0
  203. package/lib/module/components/ProgressBar/styles.js.map +1 -0
  204. package/lib/module/components/ProgressSegmented/index.js +58 -0
  205. package/lib/module/components/ProgressSegmented/index.js.map +1 -0
  206. package/lib/module/components/ProgressSegmented/styles.js +17 -0
  207. package/lib/module/components/ProgressSegmented/styles.js.map +1 -0
  208. package/lib/module/components/Select/SelectTriggerHost.js +7 -0
  209. package/lib/module/components/Select/SelectTriggerHost.js.map +1 -0
  210. package/lib/module/components/Select/SelectTriggerHost.web.js +93 -0
  211. package/lib/module/components/Select/SelectTriggerHost.web.js.map +1 -0
  212. package/lib/module/components/Select/index.js +14 -14
  213. package/lib/module/components/Select/index.js.map +1 -1
  214. package/lib/module/components/Select/styles.js +29 -53
  215. package/lib/module/components/Select/styles.js.map +1 -1
  216. package/lib/module/components/Stack/HStack.js +8 -21
  217. package/lib/module/components/Stack/HStack.js.map +1 -1
  218. package/lib/module/components/Stack/VStack.js +8 -21
  219. package/lib/module/components/Stack/VStack.js.map +1 -1
  220. package/lib/module/components/Stack/styles.js +40 -0
  221. package/lib/module/components/Stack/styles.js.map +1 -0
  222. package/lib/module/components/Text/index.js +19 -1
  223. package/lib/module/components/Text/index.js.map +1 -1
  224. package/lib/module/components/Text/styles.js +19 -0
  225. package/lib/module/components/Text/styles.js.map +1 -0
  226. package/lib/module/components/VirtualizedList/index.js +15 -0
  227. package/lib/module/components/VirtualizedList/index.js.map +1 -0
  228. package/lib/module/components/index.js +18 -0
  229. package/lib/module/components/index.js.map +1 -1
  230. package/lib/module/figma/Button.figma.js +63 -0
  231. package/lib/module/figma/Button.figma.js.map +1 -0
  232. package/lib/module/index.js +3 -0
  233. package/lib/module/index.js.map +1 -1
  234. package/lib/module/styles/index.js +4 -0
  235. package/lib/module/styles/index.js.map +1 -0
  236. package/lib/module/styles/primitives.js +118 -0
  237. package/lib/module/styles/primitives.js.map +1 -0
  238. package/lib/typescript/components/AlertDialog/index.d.ts +30 -0
  239. package/lib/typescript/components/AlertDialog/index.d.ts.map +1 -0
  240. package/lib/typescript/components/Avatar/index.d.ts +40 -0
  241. package/lib/typescript/components/Avatar/index.d.ts.map +1 -0
  242. package/lib/typescript/components/Avatar/styles.d.ts +16 -0
  243. package/lib/typescript/components/Avatar/styles.d.ts.map +1 -0
  244. package/lib/typescript/components/BottomSheet/index.d.ts +61 -0
  245. package/lib/typescript/components/BottomSheet/index.d.ts.map +1 -0
  246. package/lib/typescript/components/BottomSheet/styles.d.ts +16 -0
  247. package/lib/typescript/components/BottomSheet/styles.d.ts.map +1 -0
  248. package/lib/typescript/components/Box/Box.d.ts +1 -0
  249. package/lib/typescript/components/Box/Box.d.ts.map +1 -1
  250. package/lib/typescript/components/Button/index.d.ts +6 -3
  251. package/lib/typescript/components/Button/index.d.ts.map +1 -1
  252. package/lib/typescript/components/Button/styles.d.ts +11 -8
  253. package/lib/typescript/components/Button/styles.d.ts.map +1 -1
  254. package/lib/typescript/components/Card/index.d.ts +30 -0
  255. package/lib/typescript/components/Card/index.d.ts.map +1 -0
  256. package/lib/typescript/components/Card/styles.d.ts +6 -0
  257. package/lib/typescript/components/Card/styles.d.ts.map +1 -0
  258. package/lib/typescript/components/Checkbox/index.d.ts +7 -5
  259. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
  260. package/lib/typescript/components/Checkbox/styles.d.ts +4 -4
  261. package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -1
  262. package/lib/typescript/components/Chip/index.d.ts +27 -0
  263. package/lib/typescript/components/Chip/index.d.ts.map +1 -0
  264. package/lib/typescript/components/Chip/styles.d.ts +12 -0
  265. package/lib/typescript/components/Chip/styles.d.ts.map +1 -0
  266. package/lib/typescript/components/Dialog/index.d.ts +61 -0
  267. package/lib/typescript/components/Dialog/index.d.ts.map +1 -0
  268. package/lib/typescript/components/Dialog/styles.d.ts +14 -0
  269. package/lib/typescript/components/Dialog/styles.d.ts.map +1 -0
  270. package/lib/typescript/components/Field/FieldLabel.d.ts +18 -0
  271. package/lib/typescript/components/Field/FieldLabel.d.ts.map +1 -0
  272. package/lib/typescript/components/Field/FieldLabel.web.d.ts +16 -0
  273. package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +1 -0
  274. package/lib/typescript/components/Field/index.d.ts +26 -0
  275. package/lib/typescript/components/Field/index.d.ts.map +1 -0
  276. package/lib/typescript/components/Field/styles.d.ts +16 -0
  277. package/lib/typescript/components/Field/styles.d.ts.map +1 -0
  278. package/lib/typescript/components/Form/FormRoot.d.ts +14 -0
  279. package/lib/typescript/components/Form/FormRoot.d.ts.map +1 -0
  280. package/lib/typescript/components/Form/FormRoot.web.d.ts +10 -0
  281. package/lib/typescript/components/Form/FormRoot.web.d.ts.map +1 -0
  282. package/lib/typescript/components/Form/index.d.ts +7 -0
  283. package/lib/typescript/components/Form/index.d.ts.map +1 -0
  284. package/lib/typescript/components/Form/styles.d.ts +2 -0
  285. package/lib/typescript/components/Form/styles.d.ts.map +1 -0
  286. package/lib/typescript/components/Heading/index.d.ts +10 -0
  287. package/lib/typescript/components/Heading/index.d.ts.map +1 -0
  288. package/lib/typescript/components/Heading/styles.d.ts +6 -0
  289. package/lib/typescript/components/Heading/styles.d.ts.map +1 -0
  290. package/lib/typescript/components/Icon/index.d.ts +27 -0
  291. package/lib/typescript/components/Icon/index.d.ts.map +1 -0
  292. package/lib/typescript/components/IconButton/index.d.ts +15 -0
  293. package/lib/typescript/components/IconButton/index.d.ts.map +1 -0
  294. package/lib/typescript/components/IconButton/styles.d.ts +11 -0
  295. package/lib/typescript/components/IconButton/styles.d.ts.map +1 -0
  296. package/lib/typescript/components/Image/Image.d.ts +47 -0
  297. package/lib/typescript/components/Image/Image.d.ts.map +1 -0
  298. package/lib/typescript/components/Image/index.d.ts +2 -0
  299. package/lib/typescript/components/Image/index.d.ts.map +1 -0
  300. package/lib/typescript/components/Input/BaseInput.android.d.ts +3 -0
  301. package/lib/typescript/components/Input/BaseInput.android.d.ts.map +1 -0
  302. package/lib/typescript/components/Input/index.d.ts +7 -5
  303. package/lib/typescript/components/Input/index.d.ts.map +1 -1
  304. package/lib/typescript/components/Input/styles.d.ts +5 -7
  305. package/lib/typescript/components/Input/styles.d.ts.map +1 -1
  306. package/lib/typescript/components/Link/index.d.ts +26 -0
  307. package/lib/typescript/components/Link/index.d.ts.map +1 -0
  308. package/lib/typescript/components/Link/styles.d.ts +6 -0
  309. package/lib/typescript/components/Link/styles.d.ts.map +1 -0
  310. package/lib/typescript/components/ListItem/index.d.ts +49 -0
  311. package/lib/typescript/components/ListItem/index.d.ts.map +1 -0
  312. package/lib/typescript/components/ListItem/styles.d.ts +30 -0
  313. package/lib/typescript/components/ListItem/styles.d.ts.map +1 -0
  314. package/lib/typescript/components/OtpInput/index.d.ts +11 -0
  315. package/lib/typescript/components/OtpInput/index.d.ts.map +1 -0
  316. package/lib/typescript/components/OtpInput/styles.d.ts +14 -0
  317. package/lib/typescript/components/OtpInput/styles.d.ts.map +1 -0
  318. package/lib/typescript/components/ProgressBar/index.d.ts +17 -0
  319. package/lib/typescript/components/ProgressBar/index.d.ts.map +1 -0
  320. package/lib/typescript/components/ProgressBar/styles.d.ts +5 -0
  321. package/lib/typescript/components/ProgressBar/styles.d.ts.map +1 -0
  322. package/lib/typescript/components/ProgressSegmented/index.d.ts +15 -0
  323. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -0
  324. package/lib/typescript/components/ProgressSegmented/styles.d.ts +8 -0
  325. package/lib/typescript/components/ProgressSegmented/styles.d.ts.map +1 -0
  326. package/lib/typescript/components/Select/SelectTriggerHost.d.ts +3 -0
  327. package/lib/typescript/components/Select/SelectTriggerHost.d.ts.map +1 -0
  328. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +13 -0
  329. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +1 -0
  330. package/lib/typescript/components/Select/index.d.ts +7 -4
  331. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  332. package/lib/typescript/components/Select/styles.d.ts +6 -8
  333. package/lib/typescript/components/Select/styles.d.ts.map +1 -1
  334. package/lib/typescript/components/Stack/HStack.d.ts +1 -12
  335. package/lib/typescript/components/Stack/HStack.d.ts.map +1 -1
  336. package/lib/typescript/components/Stack/VStack.d.ts +1 -12
  337. package/lib/typescript/components/Stack/VStack.d.ts.map +1 -1
  338. package/lib/typescript/components/Stack/styles.d.ts +23 -0
  339. package/lib/typescript/components/Stack/styles.d.ts.map +1 -0
  340. package/lib/typescript/components/Switch/index.d.ts +0 -1
  341. package/lib/typescript/components/Switch/index.d.ts.map +1 -1
  342. package/lib/typescript/components/Text/index.d.ts +9 -1
  343. package/lib/typescript/components/Text/index.d.ts.map +1 -1
  344. package/lib/typescript/components/Text/styles.d.ts +6 -0
  345. package/lib/typescript/components/Text/styles.d.ts.map +1 -0
  346. package/lib/typescript/components/VirtualizedList/index.d.ts +8 -0
  347. package/lib/typescript/components/VirtualizedList/index.d.ts.map +1 -0
  348. package/lib/typescript/components/index.d.ts +18 -0
  349. package/lib/typescript/components/index.d.ts.map +1 -1
  350. package/lib/typescript/figma/Button.figma.d.ts +8 -0
  351. package/lib/typescript/figma/Button.figma.d.ts.map +1 -0
  352. package/lib/typescript/index.d.ts +3 -0
  353. package/lib/typescript/index.d.ts.map +1 -1
  354. package/lib/typescript/styles/index.d.ts +2 -0
  355. package/lib/typescript/styles/index.d.ts.map +1 -0
  356. package/lib/typescript/styles/primitives.d.ts +85 -0
  357. package/lib/typescript/styles/primitives.d.ts.map +1 -0
  358. package/package.json +15 -6
  359. package/src/components/AlertDialog/index.tsx +124 -0
  360. package/src/components/Avatar/index.tsx +172 -0
  361. package/src/components/Avatar/styles.ts +83 -0
  362. package/src/components/BottomSheet/index.tsx +316 -0
  363. package/src/components/BottomSheet/styles.ts +79 -0
  364. package/src/components/Box/Box.tsx +1 -0
  365. package/src/components/Button/index.tsx +14 -9
  366. package/src/components/Button/styles.ts +159 -209
  367. package/src/components/Card/index.tsx +115 -0
  368. package/src/components/Card/styles.ts +34 -0
  369. package/src/components/Checkbox/index.tsx +15 -23
  370. package/src/components/Checkbox/styles.ts +33 -24
  371. package/src/components/Chip/index.tsx +91 -0
  372. package/src/components/Chip/styles.ts +52 -0
  373. package/src/components/Dialog/index.tsx +304 -0
  374. package/src/components/Dialog/styles.ts +88 -0
  375. package/src/components/Field/FieldLabel.tsx +33 -0
  376. package/src/components/Field/FieldLabel.web.tsx +25 -0
  377. package/src/components/Field/index.tsx +171 -0
  378. package/src/components/Field/styles.ts +32 -0
  379. package/src/components/Form/FormRoot.tsx +20 -0
  380. package/src/components/Form/FormRoot.web.tsx +12 -0
  381. package/src/components/Form/index.tsx +38 -0
  382. package/src/components/Form/styles.ts +3 -0
  383. package/src/components/Heading/index.tsx +36 -0
  384. package/src/components/Heading/styles.ts +25 -0
  385. package/src/components/Icon/index.tsx +54 -0
  386. package/src/components/IconButton/index.tsx +92 -0
  387. package/src/components/IconButton/styles.ts +59 -0
  388. package/src/components/Image/Image.tsx +77 -0
  389. package/src/components/Image/index.ts +1 -0
  390. package/src/components/Input/BaseInput.android.tsx +13 -0
  391. package/src/components/Input/index.tsx +9 -22
  392. package/src/components/Input/styles.ts +36 -40
  393. package/src/components/Link/index.tsx +83 -0
  394. package/src/components/Link/styles.ts +21 -0
  395. package/src/components/ListItem/index.tsx +285 -0
  396. package/src/components/ListItem/styles.ts +160 -0
  397. package/src/components/OtpInput/index.tsx +79 -0
  398. package/src/components/OtpInput/styles.ts +45 -0
  399. package/src/components/ProgressBar/index.tsx +53 -0
  400. package/src/components/ProgressBar/styles.ts +9 -0
  401. package/src/components/ProgressSegmented/index.tsx +81 -0
  402. package/src/components/ProgressSegmented/styles.ts +20 -0
  403. package/src/components/Select/SelectTriggerHost.tsx +4 -0
  404. package/src/components/Select/SelectTriggerHost.web.tsx +136 -0
  405. package/src/components/Select/index.tsx +14 -14
  406. package/src/components/Select/styles.ts +68 -75
  407. package/src/components/Stack/HStack.tsx +8 -19
  408. package/src/components/Stack/VStack.tsx +8 -23
  409. package/src/components/Stack/styles.ts +42 -0
  410. package/src/components/Switch/index.tsx +0 -2
  411. package/src/components/Text/index.tsx +16 -0
  412. package/src/components/Text/styles.ts +25 -0
  413. package/src/components/VirtualizedList/index.tsx +19 -0
  414. package/src/components/index.ts +18 -0
  415. package/src/index.ts +3 -0
  416. package/src/styles/index.ts +1 -0
  417. package/src/styles/primitives.ts +106 -0
  418. package/lib/commonjs/components/Text/Text.js +0 -30
  419. package/lib/commonjs/components/Text/Text.js.map +0 -1
  420. package/lib/module/components/Text/Text.js +0 -26
  421. package/lib/module/components/Text/Text.js.map +0 -1
  422. package/lib/typescript/components/Text/Text.d.ts +0 -11
  423. package/lib/typescript/components/Text/Text.d.ts.map +0 -1
  424. package/src/components/Text/Text.tsx +0 -58
  425. package/src/components/Text/index.ts +0 -1
@@ -1,9 +1,27 @@
1
+ export * from './AlertDialog';
2
+ export * from './Avatar';
3
+ export * from './BottomSheet';
1
4
  export * from './Box';
2
5
  export * from './Button';
6
+ export * from './Card';
3
7
  export * from './Checkbox';
8
+ export * from './Chip';
9
+ export * from './Dialog';
10
+ export * from './Field';
11
+ export * from './Form';
12
+ export * from './Image';
4
13
  export * from './Input';
14
+ export * from './OtpInput';
15
+ export * from './Link';
16
+ export * from './ListItem';
17
+ export * from './ProgressBar';
18
+ export * from './ProgressSegmented';
5
19
  export * from './Select';
20
+ export * from './VirtualizedList';
6
21
  export * from './Switch';
7
22
  export { HStack, VStack } from './Stack';
23
+ export * from './Heading';
8
24
  export * from './Text';
25
+ export * from './Icon';
26
+ export * from './IconButton';
9
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ import figma from 'figma';
2
+ declare const _default: {
3
+ id: string;
4
+ imports: string[];
5
+ example: figma.TemplateStringResult;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=Button.figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.figma.d.ts","sourceRoot":"","sources":["../../../src/figma/Button.figma.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;;AAoD1B,wBASE"}
@@ -1,2 +1,5 @@
1
+ /// <reference types="uniwind/types" preserve="true" />
1
2
  export * from './components';
3
+ export { View, ScrollView, KeyboardAvoidingView } from 'react-native';
4
+ export { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './primitives';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/styles/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,85 @@
1
+ export declare const COLOR_BG_PRIMARY = "bg-white";
2
+ export declare const COLOR_BG_SUBTLE = "bg-slate-50";
3
+ export declare const COLOR_BG_MUTED = "bg-slate-100";
4
+ export declare const COLOR_BG_INVERSE = "bg-slate-900";
5
+ export declare const COLOR_BORDER_DEFAULT = "border-slate-200";
6
+ export declare const COLOR_BORDER_STRONG = "border-slate-300";
7
+ export declare const COLOR_BORDER_FOCUS = "border-slate-900";
8
+ export declare const COLOR_BORDER_INVALID = "border-red-500";
9
+ export declare const COLOR_TEXT_PRIMARY = "text-slate-900";
10
+ export declare const COLOR_TEXT_SECONDARY = "text-slate-500";
11
+ export declare const COLOR_TEXT_MUTED = "text-slate-400";
12
+ export declare const COLOR_TEXT_INVERSE = "text-white";
13
+ export declare const COLOR_TEXT_PLACEHOLDER = "text-slate-400";
14
+ export declare const COLOR_TEXT_INVALID = "text-red-600";
15
+ export declare const COLOR_BRAND_DEFAULT = "bg-slate-900";
16
+ export declare const COLOR_BRAND_HOVER = "bg-slate-800";
17
+ export declare const COLOR_BRAND_ACTIVE = "bg-slate-700";
18
+ export declare const COLOR_ACCENT_DEFAULT = "bg-slate-900";
19
+ export declare const COLOR_ACCENT_BORDER = "border-slate-900";
20
+ export declare const SEMANTIC_COLORS: {
21
+ readonly action: {
22
+ readonly bg: "bg-slate-900";
23
+ readonly bgHover: "bg-slate-800";
24
+ readonly bgActive: "bg-slate-700";
25
+ readonly border: "border-slate-900";
26
+ readonly text: "text-slate-900";
27
+ readonly ring: "ring-slate-400/50";
28
+ };
29
+ readonly danger: {
30
+ readonly bg: "bg-red-600";
31
+ readonly bgHover: "bg-red-700";
32
+ readonly bgActive: "bg-red-800";
33
+ readonly border: "border-red-600";
34
+ readonly text: "text-red-600";
35
+ readonly ring: "ring-red-400/50";
36
+ };
37
+ readonly warning: {
38
+ readonly bg: "bg-amber-500";
39
+ readonly bgHover: "bg-amber-600";
40
+ readonly bgActive: "bg-amber-700";
41
+ readonly border: "border-amber-500";
42
+ readonly text: "text-amber-600";
43
+ readonly ring: "ring-amber-400/50";
44
+ };
45
+ readonly success: {
46
+ readonly bg: "bg-green-600";
47
+ readonly bgHover: "bg-green-700";
48
+ readonly bgActive: "bg-green-800";
49
+ readonly border: "border-green-600";
50
+ readonly text: "text-green-600";
51
+ readonly ring: "ring-green-400/50";
52
+ };
53
+ readonly info: {
54
+ readonly bg: "bg-sky-500";
55
+ readonly bgHover: "bg-sky-600";
56
+ readonly bgActive: "bg-sky-700";
57
+ readonly border: "border-sky-500";
58
+ readonly text: "text-sky-600";
59
+ readonly ring: "ring-sky-400/50";
60
+ };
61
+ };
62
+ export declare const FOCUS_RING = "ring-2 ring-slate-400/50 ring-offset-2";
63
+ export declare const RADIUS_SM = "rounded-lg";
64
+ export declare const RADIUS_MD = "rounded-xl";
65
+ export declare const RADIUS_FULL = "rounded-full";
66
+ export declare const SHADOW_SM = "shadow-sm";
67
+ export declare const SHADOW_MD = "shadow-md";
68
+ export declare const SIZE_SCALE: {
69
+ readonly default: {
70
+ readonly height: "h-10";
71
+ readonly px: "px-4";
72
+ readonly gap: "gap-2";
73
+ readonly text: "text-base";
74
+ };
75
+ readonly small: {
76
+ readonly height: "h-8";
77
+ readonly px: "px-3";
78
+ readonly gap: "gap-1.5";
79
+ readonly text: "text-sm";
80
+ };
81
+ };
82
+ export declare const TRANSITION_COLORS = "transition-colors duration-150";
83
+ export declare const DISABLED_OPACITY = "data-[disabled=true]:opacity-50";
84
+ export declare const DISABLED_CURSOR = "data-[disabled=true]:cursor-not-allowed data-[disabled=true]:pointer-events-none";
85
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/styles/primitives.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAG/C,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAItD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC;AAGX,eAAO,MAAM,UAAU,2CAA2C,CAAC;AAGnE,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAG1C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,cAAc,CAAC;AAMrC,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAGb,CAAC;AAGX,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,qFACwD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdx-ui/components",
3
- "version": "0.0.1-alpha.9",
3
+ "version": "0.0.1-beta.10",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "module": "lib/module/index.js",
6
6
  "react-native": "src/index.ts",
@@ -24,7 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  "lib",
27
- "src"
27
+ "src",
28
+ "!src/figma"
28
29
  ],
29
30
  "react-native-builder-bob": {
30
31
  "source": "src",
@@ -41,12 +42,17 @@
41
42
  ]
42
43
  },
43
44
  "peerDependencies": {
45
+ "@shopify/flash-list": ">=2.0.0",
44
46
  "react": "^18.2.0 || ^19.0.0",
45
47
  "react-native": ">=0.76.0",
46
48
  "react-native-reanimated": ">=3.0.0",
49
+ "react-native-safe-area-context": ">=4.0.0",
47
50
  "react-native-web": ">=0.19.0"
48
51
  },
49
52
  "peerDependenciesMeta": {
53
+ "@shopify/flash-list": {
54
+ "optional": true
55
+ },
50
56
  "react-native": {
51
57
  "optional": true
52
58
  },
@@ -58,10 +64,12 @@
58
64
  }
59
65
  },
60
66
  "dependencies": {
67
+ "@gorhom/bottom-sheet": "^5.2.6",
61
68
  "class-variance-authority": "^0.7.1",
62
- "uniwind": "1.4.1",
63
- "@cdx-ui/primitives": "0.0.1-alpha.9",
64
- "@cdx-ui/utils": "0.0.1-alpha.9"
69
+ "uniwind": "1.6.1",
70
+ "@cdx-ui/primitives": "0.0.1-beta.10",
71
+ "@cdx-ui/utils": "0.0.1-beta.10",
72
+ "@cdx-ui/icons": "0.0.1-beta.10"
65
73
  },
66
74
  "devDependencies": {
67
75
  "@types/react": "*",
@@ -87,6 +95,7 @@
87
95
  },
88
96
  "scripts": {
89
97
  "build": "bob build",
90
- "lint": "eslint src/"
98
+ "lint": "eslint src/",
99
+ "test": "jest --config ../../jest.config.js"
91
100
  }
92
101
  }
@@ -0,0 +1,124 @@
1
+ import React, { forwardRef } from 'react';
2
+ import { View } from 'react-native';
3
+ import { useDialog } from '@cdx-ui/primitives';
4
+ import { composeEventHandlers } from '@cdx-ui/utils';
5
+ import { Button, type ButtonProps } from '../Button';
6
+ import { Dialog, type DialogRootProps } from '../Dialog';
7
+
8
+ // =============================================================================
9
+ // ALERT DIALOG ROOT (Dialog with non-dismissible defaults + alertdialog role)
10
+ // =============================================================================
11
+
12
+ export interface AlertDialogRootProps extends DialogRootProps {}
13
+
14
+ const AlertDialogRoot = forwardRef<View, AlertDialogRootProps>(
15
+ (
16
+ {
17
+ closeOnBackdropPress = false,
18
+ closeOnEscKey = false,
19
+ role = 'alertdialog',
20
+ children,
21
+ ...props
22
+ },
23
+ ref,
24
+ ) => (
25
+ <Dialog
26
+ ref={ref}
27
+ closeOnBackdropPress={closeOnBackdropPress}
28
+ closeOnEscKey={closeOnEscKey}
29
+ role={role}
30
+ {...props}
31
+ >
32
+ {children}
33
+ </Dialog>
34
+ ),
35
+ );
36
+ AlertDialogRoot.displayName = 'AlertDialog';
37
+
38
+ // =============================================================================
39
+ // ALERT DIALOG ACTION
40
+ // =============================================================================
41
+
42
+ export interface AlertDialogActionProps extends Omit<ButtonProps, 'variant'> {
43
+ readonly asChild?: boolean;
44
+ }
45
+
46
+ const AlertDialogAction = forwardRef<View, AlertDialogActionProps>(
47
+ ({ asChild = false, children, color = 'action', className, ...props }, ref) => {
48
+ if (asChild && React.isValidElement(children)) {
49
+ return React.cloneElement(children as React.ReactElement<any>, {
50
+ ref,
51
+ className,
52
+ ...props,
53
+ });
54
+ }
55
+
56
+ return (
57
+ <Button ref={ref} variant="strong" color={color} className={className} {...props}>
58
+ <Button.Label>{children}</Button.Label>
59
+ </Button>
60
+ );
61
+ },
62
+ );
63
+ AlertDialogAction.displayName = 'AlertDialog.Action';
64
+
65
+ // =============================================================================
66
+ // ALERT DIALOG CANCEL
67
+ // =============================================================================
68
+
69
+ export interface AlertDialogCancelProps extends Omit<ButtonProps, 'variant'> {
70
+ readonly asChild?: boolean;
71
+ }
72
+
73
+ const AlertDialogCancel = forwardRef<View, AlertDialogCancelProps>(
74
+ ({ asChild = false, children, onPress, className, ...props }, ref) => {
75
+ const { onOpenChange } = useDialog();
76
+ const handlePress = composeEventHandlers(onPress, () => onOpenChange(false));
77
+
78
+ if (asChild && React.isValidElement(children)) {
79
+ return React.cloneElement(children as React.ReactElement<any>, {
80
+ ref,
81
+ onPress: handlePress,
82
+ className,
83
+ ...props,
84
+ });
85
+ }
86
+
87
+ return (
88
+ <Button ref={ref} variant="outline" onPress={handlePress} className={className} {...props}>
89
+ <Button.Label>{children}</Button.Label>
90
+ </Button>
91
+ );
92
+ },
93
+ );
94
+ AlertDialogCancel.displayName = 'AlertDialog.Cancel';
95
+
96
+ // =============================================================================
97
+ // COMPOUND EXPORT
98
+ // =============================================================================
99
+
100
+ type AlertDialogCompoundComponent = typeof AlertDialogRoot & {
101
+ Trigger: typeof Dialog.Trigger;
102
+ Content: typeof Dialog.Content;
103
+ Header: typeof Dialog.Header;
104
+ Title: typeof Dialog.Title;
105
+ Description: typeof Dialog.Description;
106
+ Body: typeof Dialog.Body;
107
+ Footer: typeof Dialog.Footer;
108
+ Close: typeof Dialog.Close;
109
+ Action: typeof AlertDialogAction;
110
+ Cancel: typeof AlertDialogCancel;
111
+ };
112
+
113
+ export const AlertDialog = Object.assign(AlertDialogRoot, {
114
+ Trigger: Dialog.Trigger,
115
+ Content: Dialog.Content,
116
+ Header: Dialog.Header,
117
+ Title: Dialog.Title,
118
+ Description: Dialog.Description,
119
+ Body: Dialog.Body,
120
+ Footer: Dialog.Footer,
121
+ Close: Dialog.Close,
122
+ Action: AlertDialogAction,
123
+ Cancel: AlertDialogCancel,
124
+ }) as AlertDialogCompoundComponent;
@@ -0,0 +1,172 @@
1
+ import { forwardRef, type ReactNode } from 'react';
2
+ import { Image, Text, View, type ImageProps, type TextProps, type ViewProps } from 'react-native';
3
+ import { createAvatar, type IAvatarImageProps, type IAvatarProps } from '@cdx-ui/primitives';
4
+ import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
5
+ import { Icon as IconComponent, type IconProps } from '../Icon';
6
+ import {
7
+ type AvatarVariantProps,
8
+ avatarBadgeVariants,
9
+ avatarIconVariants,
10
+ avatarTextVariants,
11
+ avatarImageVariants,
12
+ avatarRootVariants,
13
+ } from './styles';
14
+
15
+ const SCOPE = 'AVATAR';
16
+
17
+ const Root = withStyleContext(View, SCOPE);
18
+
19
+ const useAvatarStyleContext = () => useStyleContext(SCOPE) as AvatarVariantProps;
20
+
21
+ const AvatarPrimitive = createAvatar({
22
+ Root,
23
+ Image,
24
+ Text,
25
+ Icon: IconComponent,
26
+ Badge: View,
27
+ });
28
+
29
+ // =============================================================================
30
+ // AVATAR ROOT
31
+ // =============================================================================
32
+
33
+ export interface AvatarProps extends ViewProps, IAvatarProps, AvatarVariantProps {
34
+ className?: string;
35
+ children?: ReactNode;
36
+ }
37
+
38
+ const AvatarRoot = forwardRef<View, AvatarProps>(
39
+ ({ size = 'lg', className, children, style, ...props }, ref) => {
40
+ const computedClassName = cn(avatarRootVariants({ size }), className);
41
+
42
+ return (
43
+ <AvatarPrimitive
44
+ ref={ref as never}
45
+ className={computedClassName}
46
+ style={style}
47
+ context={{ size }}
48
+ {...props}
49
+ >
50
+ {children}
51
+ </AvatarPrimitive>
52
+ );
53
+ },
54
+ );
55
+
56
+ AvatarRoot.displayName = 'Avatar';
57
+
58
+ // =============================================================================
59
+ // AVATAR IMAGE
60
+ // =============================================================================
61
+
62
+ export interface AvatarImageProps extends Omit<ImageProps, 'source'>, IAvatarImageProps {
63
+ className?: string;
64
+ }
65
+
66
+ const AvatarImage = forwardRef<Image, AvatarImageProps>(({ className, style, ...props }, ref) => {
67
+ const computedClassName = cn(avatarImageVariants(), className);
68
+
69
+ return (
70
+ <AvatarPrimitive.Image
71
+ ref={ref as never}
72
+ className={computedClassName}
73
+ style={style}
74
+ {...props}
75
+ />
76
+ );
77
+ });
78
+
79
+ AvatarImage.displayName = 'Avatar.Image';
80
+
81
+ // =============================================================================
82
+ // AVATAR TEXT
83
+ // =============================================================================
84
+
85
+ export interface AvatarTextProps extends TextProps {
86
+ className?: string;
87
+ children?: ReactNode;
88
+ }
89
+
90
+ const AvatarText = forwardRef<Text, AvatarTextProps>(
91
+ ({ className, children, style, ...props }, ref) => {
92
+ const { size } = useAvatarStyleContext();
93
+ const computedClassName = cn(avatarTextVariants({ size }), className);
94
+
95
+ return (
96
+ <AvatarPrimitive.Text
97
+ ref={ref as never}
98
+ className={computedClassName}
99
+ style={style}
100
+ {...props}
101
+ >
102
+ {children}
103
+ </AvatarPrimitive.Text>
104
+ );
105
+ },
106
+ );
107
+
108
+ AvatarText.displayName = 'Avatar.Text';
109
+
110
+ // =============================================================================
111
+ // AVATAR ICON
112
+ // =============================================================================
113
+
114
+ export interface AvatarIconProps extends Omit<IconProps, 'children'> {
115
+ className?: string;
116
+ }
117
+
118
+ const AvatarIcon = ({ className, style, ...props }: AvatarIconProps) => {
119
+ const { size } = useAvatarStyleContext();
120
+ const computedClassName = cn(avatarIconVariants({ size }), className);
121
+
122
+ return <AvatarPrimitive.Icon className={computedClassName} style={style} {...props} />;
123
+ };
124
+
125
+ AvatarIcon.displayName = 'Avatar.Icon';
126
+
127
+ // =============================================================================
128
+ // AVATAR BADGE
129
+ // =============================================================================
130
+
131
+ export interface AvatarBadgeProps extends ViewProps {
132
+ className?: string;
133
+ children?: ReactNode;
134
+ }
135
+
136
+ const AvatarBadge = forwardRef<View, AvatarBadgeProps>(
137
+ ({ className, children, style, ...props }, ref) => {
138
+ const { size } = useAvatarStyleContext();
139
+ const computedClassName = cn(avatarBadgeVariants({ size }), className);
140
+
141
+ return (
142
+ <AvatarPrimitive.Badge
143
+ ref={ref as never}
144
+ className={computedClassName}
145
+ style={style}
146
+ {...props}
147
+ >
148
+ {children}
149
+ </AvatarPrimitive.Badge>
150
+ );
151
+ },
152
+ );
153
+
154
+ AvatarBadge.displayName = 'Avatar.Badge';
155
+
156
+ // =============================================================================
157
+ // COMPOUND COMPONENT
158
+ // =============================================================================
159
+
160
+ type AvatarCompoundComponent = typeof AvatarRoot & {
161
+ Image: typeof AvatarImage;
162
+ Text: typeof AvatarText;
163
+ Icon: typeof AvatarIcon;
164
+ Badge: typeof AvatarBadge;
165
+ };
166
+
167
+ export const Avatar = Object.assign(AvatarRoot, {
168
+ Image: AvatarImage,
169
+ Text: AvatarText,
170
+ Icon: AvatarIcon,
171
+ Badge: AvatarBadge,
172
+ }) as AvatarCompoundComponent;
@@ -0,0 +1,83 @@
1
+ import { cva, type VariantProps } from 'class-variance-authority';
2
+ import { COLOR_BG_MUTED, COLOR_TEXT_SECONDARY, RADIUS_FULL } from '../../styles/primitives';
3
+
4
+ // ── Root ─────────────────────────────────────────────────
5
+
6
+ export const avatarRootVariants = cva(
7
+ [RADIUS_FULL, 'relative items-center justify-center', COLOR_BG_MUTED],
8
+ {
9
+ variants: {
10
+ size: {
11
+ sm: 'w-8 h-8',
12
+ md: 'w-10 h-10',
13
+ lg: 'w-12 h-12',
14
+ xl: 'w-16 h-16',
15
+ '2xl': 'w-20 h-20',
16
+ },
17
+ },
18
+ defaultVariants: {
19
+ size: 'lg',
20
+ },
21
+ },
22
+ );
23
+
24
+ // ── Image ────────────────────────────────────────────────
25
+
26
+ export const avatarImageVariants = cva([
27
+ 'absolute top-0 left-0 w-full h-full',
28
+ RADIUS_FULL,
29
+ 'overflow-hidden',
30
+ ]);
31
+
32
+ // ── Text ─────────────────────────────────────────────────
33
+
34
+ export const avatarTextVariants = cva([COLOR_TEXT_SECONDARY, 'font-semibold'], {
35
+ variants: {
36
+ size: {
37
+ sm: 'text-xs',
38
+ md: 'text-sm',
39
+ lg: 'text-base',
40
+ xl: 'text-xl',
41
+ '2xl': 'text-2xl',
42
+ },
43
+ },
44
+ defaultVariants: {
45
+ size: 'lg',
46
+ },
47
+ });
48
+
49
+ // ── Icon ─────────────────────────────────────────────────
50
+
51
+ export const avatarIconVariants = cva([COLOR_TEXT_SECONDARY], {
52
+ variants: {
53
+ size: {
54
+ sm: 'size-4',
55
+ md: 'size-5',
56
+ lg: 'size-6',
57
+ xl: 'size-8',
58
+ '2xl': 'size-10',
59
+ },
60
+ },
61
+ defaultVariants: {
62
+ size: 'lg',
63
+ },
64
+ });
65
+
66
+ // ── Badge ────────────────────────────────────────────────
67
+
68
+ export const avatarBadgeVariants = cva(['absolute border-2 border-white', RADIUS_FULL], {
69
+ variants: {
70
+ size: {
71
+ sm: 'w-2.5 h-2.5 bottom-0 right-0',
72
+ md: 'w-3 h-3 bottom-0 right-0',
73
+ lg: 'w-3.5 h-3.5 bottom-0 right-0',
74
+ xl: 'w-4 h-4 bottom-0.5 right-0.5',
75
+ '2xl': 'w-5 h-5 bottom-0.5 right-0.5',
76
+ },
77
+ },
78
+ defaultVariants: {
79
+ size: 'lg',
80
+ },
81
+ });
82
+
83
+ export type AvatarVariantProps = VariantProps<typeof avatarRootVariants>;