@cdx-ui/components 0.3.5 → 0.3.7

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 (416) hide show
  1. package/README.md +1 -1
  2. package/coverage.svg +1 -1
  3. package/docs/components/bar-chart/content.md +703 -0
  4. package/docs/components/content.md +10 -1
  5. package/docs/components/country-flag/content.md +232 -0
  6. package/docs/components/data-grid/content.md +3 -1
  7. package/docs/components/icon/content.md +1 -1
  8. package/docs/components/input/content.md +1 -0
  9. package/docs/components/line-chart/content.md +567 -0
  10. package/docs/components/pie-chart/content.md +493 -0
  11. package/docs/components/progress-bar/content.md +164 -3
  12. package/docs/components/progress-segmented/content.md +1 -1
  13. package/docs/components/select/content.md +1 -0
  14. package/docs/components/stepper/content.md +599 -0
  15. package/docs/components/system-alert/content.md +533 -0
  16. package/docs/foundations/expressions/icons/content.md +2 -1
  17. package/docs/foundations/styles/tokens/all-tokens/content.md +2 -1
  18. package/docs/getting-started/developers/content.md +1 -1
  19. package/docs/llms.txt +12 -0
  20. package/docs/patterns/content.md +1 -0
  21. package/docs/patterns/dashboard/content.md +423 -19
  22. package/docs/patterns/insights/content.md +659 -0
  23. package/docs/resources/content.md +1 -0
  24. package/docs/resources/release-notes/0.3.5/content.md +7 -0
  25. package/docs/resources/release-notes/0.3.6/content.md +29 -0
  26. package/docs/resources/release-notes/content.md +2 -0
  27. package/docs/resources/skills/content.md +66 -0
  28. package/lib/commonjs/components/BarChart/geometry.js +1130 -0
  29. package/lib/commonjs/components/BarChart/geometry.js.map +1 -0
  30. package/lib/commonjs/components/BarChart/index.js +935 -0
  31. package/lib/commonjs/components/BarChart/index.js.map +1 -0
  32. package/lib/commonjs/components/BarChart/styles.js +26 -0
  33. package/lib/commonjs/components/BarChart/styles.js.map +1 -0
  34. package/lib/commonjs/components/Button/index.js +2 -2
  35. package/lib/commonjs/components/Button/index.js.map +1 -1
  36. package/lib/commonjs/components/CountryFlag/index.js +56 -0
  37. package/lib/commonjs/components/CountryFlag/index.js.map +1 -0
  38. package/lib/commonjs/components/Input/index.js.map +1 -1
  39. package/lib/commonjs/components/LineChart/geometry.js +698 -0
  40. package/lib/commonjs/components/LineChart/geometry.js.map +1 -0
  41. package/lib/commonjs/components/LineChart/index.js +744 -0
  42. package/lib/commonjs/components/LineChart/index.js.map +1 -0
  43. package/lib/commonjs/components/LineChart/styles.js +25 -0
  44. package/lib/commonjs/components/LineChart/styles.js.map +1 -0
  45. package/lib/commonjs/components/PieChart/geometry.js +216 -0
  46. package/lib/commonjs/components/PieChart/geometry.js.map +1 -0
  47. package/lib/commonjs/components/PieChart/index.js +476 -0
  48. package/lib/commonjs/components/PieChart/index.js.map +1 -0
  49. package/lib/commonjs/components/PieChart/styles.js +88 -0
  50. package/lib/commonjs/components/PieChart/styles.js.map +1 -0
  51. package/lib/commonjs/components/ProgressBar/index.js +44 -12
  52. package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
  53. package/lib/commonjs/components/ProgressBar/styles.js +31 -2
  54. package/lib/commonjs/components/ProgressBar/styles.js.map +1 -1
  55. package/lib/commonjs/components/ProgressCircle/ProgressCircleRing.js +9 -31
  56. package/lib/commonjs/components/ProgressCircle/ProgressCircleRing.js.map +1 -1
  57. package/lib/commonjs/components/ProgressCircle/ProgressRing.js +52 -0
  58. package/lib/commonjs/components/ProgressCircle/ProgressRing.js.map +1 -0
  59. package/lib/commonjs/components/ScrollShadow/useScrollShadow.js +8 -7
  60. package/lib/commonjs/components/ScrollShadow/useScrollShadow.js.map +1 -1
  61. package/lib/commonjs/components/Select/index.js.map +1 -1
  62. package/lib/commonjs/components/Stepper/index.js +369 -0
  63. package/lib/commonjs/components/Stepper/index.js.map +1 -0
  64. package/lib/commonjs/components/Stepper/styles.js +211 -0
  65. package/lib/commonjs/components/Stepper/styles.js.map +1 -0
  66. package/lib/commonjs/components/Stepper/useStepperLabelFit.js +22 -0
  67. package/lib/commonjs/components/Stepper/useStepperLabelFit.js.map +1 -0
  68. package/lib/commonjs/components/Stepper/useStepperLabelFit.web.js +52 -0
  69. package/lib/commonjs/components/Stepper/useStepperLabelFit.web.js.map +1 -0
  70. package/lib/commonjs/components/Stepper/useStepperRingColors.js +31 -0
  71. package/lib/commonjs/components/Stepper/useStepperRingColors.js.map +1 -0
  72. package/lib/commonjs/components/SystemAlert/animation.js +218 -0
  73. package/lib/commonjs/components/SystemAlert/animation.js.map +1 -0
  74. package/lib/commonjs/components/SystemAlert/index.js +525 -0
  75. package/lib/commonjs/components/SystemAlert/index.js.map +1 -0
  76. package/lib/commonjs/components/SystemAlert/styles.js +178 -0
  77. package/lib/commonjs/components/SystemAlert/styles.js.map +1 -0
  78. package/lib/commonjs/components/SystemAlert/useSystemAlertStatusBarStyle.js +53 -0
  79. package/lib/commonjs/components/SystemAlert/useSystemAlertStatusBarStyle.js.map +1 -0
  80. package/lib/commonjs/components/Tabs/index.js +4 -0
  81. package/lib/commonjs/components/Tabs/index.js.map +1 -1
  82. package/lib/commonjs/components/Tabs/styles.js +1 -1
  83. package/lib/commonjs/components/Tabs/styles.js.map +1 -1
  84. package/lib/commonjs/components/chart/ChartInspector.js +610 -0
  85. package/lib/commonjs/components/chart/ChartInspector.js.map +1 -0
  86. package/lib/commonjs/components/chart/format.js +93 -0
  87. package/lib/commonjs/components/chart/format.js.map +1 -0
  88. package/lib/commonjs/components/chart/hiddenSvgProps.js +23 -0
  89. package/lib/commonjs/components/chart/hiddenSvgProps.js.map +1 -0
  90. package/lib/commonjs/components/chart/index.js +2 -0
  91. package/lib/commonjs/components/chart/index.js.map +1 -0
  92. package/lib/commonjs/components/chart/motion.js +97 -0
  93. package/lib/commonjs/components/chart/motion.js.map +1 -0
  94. package/lib/commonjs/components/chart/palette.js +178 -0
  95. package/lib/commonjs/components/chart/palette.js.map +1 -0
  96. package/lib/commonjs/components/chart/size.js +34 -0
  97. package/lib/commonjs/components/chart/size.js.map +1 -0
  98. package/lib/commonjs/components/chart/ticks.js +59 -0
  99. package/lib/commonjs/components/chart/ticks.js.map +1 -0
  100. package/lib/commonjs/components/chart/types.js +6 -0
  101. package/lib/commonjs/components/chart/types.js.map +1 -0
  102. package/lib/commonjs/components/chart/useChartHostWidth.js +27 -0
  103. package/lib/commonjs/components/chart/useChartHostWidth.js.map +1 -0
  104. package/lib/commonjs/components/index.js +72 -0
  105. package/lib/commonjs/components/index.js.map +1 -1
  106. package/lib/commonjs/figma/Accordion.figma.js +2 -2
  107. package/lib/commonjs/figma/Accordion.figma.js.map +1 -1
  108. package/lib/commonjs/figma/Alert.figma.js +7 -7
  109. package/lib/commonjs/figma/Alert.figma.js.map +1 -1
  110. package/lib/commonjs/figma/Badge.Indicator.figma.js +6 -5
  111. package/lib/commonjs/figma/Badge.Indicator.figma.js.map +1 -1
  112. package/lib/commonjs/figma/Badge.figma.js +22 -22
  113. package/lib/commonjs/figma/Badge.figma.js.map +1 -1
  114. package/lib/commonjs/figma/Button.figma.js +5 -2
  115. package/lib/commonjs/figma/Button.figma.js.map +1 -1
  116. package/lib/commonjs/figma/CLAUDE.md +1 -0
  117. package/lib/commonjs/figma/Card.Header.figma.js +8 -4
  118. package/lib/commonjs/figma/Card.Header.figma.js.map +1 -1
  119. package/lib/commonjs/figma/Card.figma.js +2 -1
  120. package/lib/commonjs/figma/Card.figma.js.map +1 -1
  121. package/lib/commonjs/figma/Chip.figma.js +2 -2
  122. package/lib/commonjs/figma/Chip.figma.js.map +1 -1
  123. package/lib/commonjs/figma/CurrencyInput.figma.js +1 -1
  124. package/lib/commonjs/figma/CurrencyInput.figma.js.map +1 -1
  125. package/lib/commonjs/figma/Dialog.figma.js +5 -2
  126. package/lib/commonjs/figma/Dialog.figma.js.map +1 -1
  127. package/lib/commonjs/figma/Divider.figma.js +1 -1
  128. package/lib/commonjs/figma/Divider.figma.js.map +1 -1
  129. package/lib/commonjs/figma/Drawer.figma.js +3 -3
  130. package/lib/commonjs/figma/Drawer.figma.js.map +1 -1
  131. package/lib/commonjs/figma/IconButton.figma.js +10 -4
  132. package/lib/commonjs/figma/IconButton.figma.js.map +1 -1
  133. package/lib/commonjs/figma/Input.figma.js +2 -1
  134. package/lib/commonjs/figma/Input.figma.js.map +1 -1
  135. package/lib/commonjs/figma/Insight.figma.js +3 -3
  136. package/lib/commonjs/figma/Insight.figma.js.map +1 -1
  137. package/lib/commonjs/figma/ProgressBar.figma.js +11 -2
  138. package/lib/commonjs/figma/ProgressBar.figma.js.map +1 -1
  139. package/lib/commonjs/figma/ProgressSegmented.figma.js +9 -1
  140. package/lib/commonjs/figma/ProgressSegmented.figma.js.map +1 -1
  141. package/lib/commonjs/figma/Select.figma.js +2 -1
  142. package/lib/commonjs/figma/Select.figma.js.map +1 -1
  143. package/lib/commonjs/figma/SystemAlert.Button.figma.js +28 -0
  144. package/lib/commonjs/figma/SystemAlert.Button.figma.js.map +1 -0
  145. package/lib/commonjs/figma/SystemAlert.Close.figma.js +22 -0
  146. package/lib/commonjs/figma/SystemAlert.Close.figma.js.map +1 -0
  147. package/lib/commonjs/figma/SystemAlert.Description.figma.js +20 -0
  148. package/lib/commonjs/figma/SystemAlert.Description.figma.js.map +1 -0
  149. package/lib/commonjs/figma/SystemAlert.IconButton.figma.js +31 -0
  150. package/lib/commonjs/figma/SystemAlert.IconButton.figma.js.map +1 -0
  151. package/lib/commonjs/figma/SystemAlert.figma.js +47 -0
  152. package/lib/commonjs/figma/SystemAlert.figma.js.map +1 -0
  153. package/lib/commonjs/styles.css +0 -1
  154. package/lib/module/components/BarChart/geometry.js +1110 -0
  155. package/lib/module/components/BarChart/geometry.js.map +1 -0
  156. package/lib/module/components/BarChart/index.js +929 -0
  157. package/lib/module/components/BarChart/index.js.map +1 -0
  158. package/lib/module/components/BarChart/styles.js +22 -0
  159. package/lib/module/components/BarChart/styles.js.map +1 -0
  160. package/lib/module/components/Button/index.js +2 -2
  161. package/lib/module/components/Button/index.js.map +1 -1
  162. package/lib/module/components/CountryFlag/index.js +52 -0
  163. package/lib/module/components/CountryFlag/index.js.map +1 -0
  164. package/lib/module/components/Input/index.js.map +1 -1
  165. package/lib/module/components/LineChart/geometry.js +685 -0
  166. package/lib/module/components/LineChart/geometry.js.map +1 -0
  167. package/lib/module/components/LineChart/index.js +738 -0
  168. package/lib/module/components/LineChart/index.js.map +1 -0
  169. package/lib/module/components/LineChart/styles.js +21 -0
  170. package/lib/module/components/LineChart/styles.js.map +1 -0
  171. package/lib/module/components/PieChart/geometry.js +209 -0
  172. package/lib/module/components/PieChart/geometry.js.map +1 -0
  173. package/lib/module/components/PieChart/index.js +471 -0
  174. package/lib/module/components/PieChart/index.js.map +1 -0
  175. package/lib/module/components/PieChart/styles.js +84 -0
  176. package/lib/module/components/PieChart/styles.js.map +1 -0
  177. package/lib/module/components/ProgressBar/index.js +47 -15
  178. package/lib/module/components/ProgressBar/index.js.map +1 -1
  179. package/lib/module/components/ProgressBar/styles.js +31 -2
  180. package/lib/module/components/ProgressBar/styles.js.map +1 -1
  181. package/lib/module/components/ProgressCircle/ProgressCircleRing.js +10 -32
  182. package/lib/module/components/ProgressCircle/ProgressCircleRing.js.map +1 -1
  183. package/lib/module/components/ProgressCircle/ProgressRing.js +48 -0
  184. package/lib/module/components/ProgressCircle/ProgressRing.js.map +1 -0
  185. package/lib/module/components/ScrollShadow/useScrollShadow.js +8 -7
  186. package/lib/module/components/ScrollShadow/useScrollShadow.js.map +1 -1
  187. package/lib/module/components/Select/index.js.map +1 -1
  188. package/lib/module/components/Stepper/index.js +360 -0
  189. package/lib/module/components/Stepper/index.js.map +1 -0
  190. package/lib/module/components/Stepper/styles.js +206 -0
  191. package/lib/module/components/Stepper/styles.js.map +1 -0
  192. package/lib/module/components/Stepper/useStepperLabelFit.js +18 -0
  193. package/lib/module/components/Stepper/useStepperLabelFit.js.map +1 -0
  194. package/lib/module/components/Stepper/useStepperLabelFit.web.js +48 -0
  195. package/lib/module/components/Stepper/useStepperLabelFit.web.js.map +1 -0
  196. package/lib/module/components/Stepper/useStepperRingColors.js +28 -0
  197. package/lib/module/components/Stepper/useStepperRingColors.js.map +1 -0
  198. package/lib/module/components/SystemAlert/animation.js +213 -0
  199. package/lib/module/components/SystemAlert/animation.js.map +1 -0
  200. package/lib/module/components/SystemAlert/index.js +515 -0
  201. package/lib/module/components/SystemAlert/index.js.map +1 -0
  202. package/lib/module/components/SystemAlert/styles.js +174 -0
  203. package/lib/module/components/SystemAlert/styles.js.map +1 -0
  204. package/lib/module/components/SystemAlert/useSystemAlertStatusBarStyle.js +49 -0
  205. package/lib/module/components/SystemAlert/useSystemAlertStatusBarStyle.js.map +1 -0
  206. package/lib/module/components/Tabs/index.js +4 -0
  207. package/lib/module/components/Tabs/index.js.map +1 -1
  208. package/lib/module/components/Tabs/styles.js +1 -1
  209. package/lib/module/components/Tabs/styles.js.map +1 -1
  210. package/lib/module/components/chart/ChartInspector.js +600 -0
  211. package/lib/module/components/chart/ChartInspector.js.map +1 -0
  212. package/lib/module/components/chart/format.js +84 -0
  213. package/lib/module/components/chart/format.js.map +1 -0
  214. package/lib/module/components/chart/hiddenSvgProps.js +20 -0
  215. package/lib/module/components/chart/hiddenSvgProps.js.map +1 -0
  216. package/lib/module/components/chart/index.js +2 -0
  217. package/lib/module/components/chart/index.js.map +1 -0
  218. package/lib/module/components/chart/motion.js +89 -0
  219. package/lib/module/components/chart/motion.js.map +1 -0
  220. package/lib/module/components/chart/palette.js +168 -0
  221. package/lib/module/components/chart/palette.js.map +1 -0
  222. package/lib/module/components/chart/size.js +29 -0
  223. package/lib/module/components/chart/size.js.map +1 -0
  224. package/lib/module/components/chart/ticks.js +55 -0
  225. package/lib/module/components/chart/ticks.js.map +1 -0
  226. package/lib/module/components/chart/types.js +4 -0
  227. package/lib/module/components/chart/types.js.map +1 -0
  228. package/lib/module/components/chart/useChartHostWidth.js +23 -0
  229. package/lib/module/components/chart/useChartHostWidth.js.map +1 -0
  230. package/lib/module/components/index.js +6 -0
  231. package/lib/module/components/index.js.map +1 -1
  232. package/lib/module/figma/Accordion.figma.js +2 -2
  233. package/lib/module/figma/Accordion.figma.js.map +1 -1
  234. package/lib/module/figma/Alert.figma.js +7 -7
  235. package/lib/module/figma/Alert.figma.js.map +1 -1
  236. package/lib/module/figma/Badge.Indicator.figma.js +6 -5
  237. package/lib/module/figma/Badge.Indicator.figma.js.map +1 -1
  238. package/lib/module/figma/Badge.figma.js +22 -22
  239. package/lib/module/figma/Badge.figma.js.map +1 -1
  240. package/lib/module/figma/Button.figma.js +5 -2
  241. package/lib/module/figma/Button.figma.js.map +1 -1
  242. package/lib/module/figma/CLAUDE.md +1 -0
  243. package/lib/module/figma/Card.Header.figma.js +8 -4
  244. package/lib/module/figma/Card.Header.figma.js.map +1 -1
  245. package/lib/module/figma/Card.figma.js +2 -1
  246. package/lib/module/figma/Card.figma.js.map +1 -1
  247. package/lib/module/figma/Chip.figma.js +2 -2
  248. package/lib/module/figma/Chip.figma.js.map +1 -1
  249. package/lib/module/figma/CurrencyInput.figma.js +1 -1
  250. package/lib/module/figma/CurrencyInput.figma.js.map +1 -1
  251. package/lib/module/figma/Dialog.figma.js +5 -2
  252. package/lib/module/figma/Dialog.figma.js.map +1 -1
  253. package/lib/module/figma/Divider.figma.js +1 -1
  254. package/lib/module/figma/Divider.figma.js.map +1 -1
  255. package/lib/module/figma/Drawer.figma.js +3 -3
  256. package/lib/module/figma/Drawer.figma.js.map +1 -1
  257. package/lib/module/figma/IconButton.figma.js +10 -4
  258. package/lib/module/figma/IconButton.figma.js.map +1 -1
  259. package/lib/module/figma/Input.figma.js +2 -1
  260. package/lib/module/figma/Input.figma.js.map +1 -1
  261. package/lib/module/figma/Insight.figma.js +3 -3
  262. package/lib/module/figma/Insight.figma.js.map +1 -1
  263. package/lib/module/figma/ProgressBar.figma.js +12 -2
  264. package/lib/module/figma/ProgressBar.figma.js.map +1 -1
  265. package/lib/module/figma/ProgressSegmented.figma.js +9 -1
  266. package/lib/module/figma/ProgressSegmented.figma.js.map +1 -1
  267. package/lib/module/figma/Select.figma.js +2 -1
  268. package/lib/module/figma/Select.figma.js.map +1 -1
  269. package/lib/module/figma/SystemAlert.Button.figma.js +22 -0
  270. package/lib/module/figma/SystemAlert.Button.figma.js.map +1 -0
  271. package/lib/module/figma/SystemAlert.Close.figma.js +18 -0
  272. package/lib/module/figma/SystemAlert.Close.figma.js.map +1 -0
  273. package/lib/module/figma/SystemAlert.Description.figma.js +14 -0
  274. package/lib/module/figma/SystemAlert.Description.figma.js.map +1 -0
  275. package/lib/module/figma/SystemAlert.IconButton.figma.js +25 -0
  276. package/lib/module/figma/SystemAlert.IconButton.figma.js.map +1 -0
  277. package/lib/module/figma/SystemAlert.figma.js +41 -0
  278. package/lib/module/figma/SystemAlert.figma.js.map +1 -0
  279. package/lib/module/styles.css +0 -1
  280. package/lib/typescript/components/BarChart/geometry.d.ts +236 -0
  281. package/lib/typescript/components/BarChart/geometry.d.ts.map +1 -0
  282. package/lib/typescript/components/BarChart/index.d.ts +193 -0
  283. package/lib/typescript/components/BarChart/index.d.ts.map +1 -0
  284. package/lib/typescript/components/BarChart/styles.d.ts +32 -0
  285. package/lib/typescript/components/BarChart/styles.d.ts.map +1 -0
  286. package/lib/typescript/components/CountryFlag/index.d.ts +35 -0
  287. package/lib/typescript/components/CountryFlag/index.d.ts.map +1 -0
  288. package/lib/typescript/components/Input/index.d.ts +2 -0
  289. package/lib/typescript/components/Input/index.d.ts.map +1 -1
  290. package/lib/typescript/components/LineChart/geometry.d.ts +248 -0
  291. package/lib/typescript/components/LineChart/geometry.d.ts.map +1 -0
  292. package/lib/typescript/components/LineChart/index.d.ts +105 -0
  293. package/lib/typescript/components/LineChart/index.d.ts.map +1 -0
  294. package/lib/typescript/components/LineChart/styles.d.ts +12 -0
  295. package/lib/typescript/components/LineChart/styles.d.ts.map +1 -0
  296. package/lib/typescript/components/PieChart/geometry.d.ts +43 -0
  297. package/lib/typescript/components/PieChart/geometry.d.ts.map +1 -0
  298. package/lib/typescript/components/PieChart/index.d.ts +147 -0
  299. package/lib/typescript/components/PieChart/index.d.ts.map +1 -0
  300. package/lib/typescript/components/PieChart/styles.d.ts +27 -0
  301. package/lib/typescript/components/PieChart/styles.d.ts.map +1 -0
  302. package/lib/typescript/components/ProgressBar/index.d.ts +16 -1
  303. package/lib/typescript/components/ProgressBar/index.d.ts.map +1 -1
  304. package/lib/typescript/components/ProgressBar/styles.d.ts +7 -2
  305. package/lib/typescript/components/ProgressBar/styles.d.ts.map +1 -1
  306. package/lib/typescript/components/ProgressCircle/ProgressCircleRing.d.ts.map +1 -1
  307. package/lib/typescript/components/ProgressCircle/ProgressRing.d.ts +17 -0
  308. package/lib/typescript/components/ProgressCircle/ProgressRing.d.ts.map +1 -0
  309. package/lib/typescript/components/ScrollShadow/useScrollShadow.d.ts.map +1 -1
  310. package/lib/typescript/components/Select/index.d.ts +2 -0
  311. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  312. package/lib/typescript/components/Stepper/index.d.ts +68 -0
  313. package/lib/typescript/components/Stepper/index.d.ts.map +1 -0
  314. package/lib/typescript/components/Stepper/styles.d.ts +46 -0
  315. package/lib/typescript/components/Stepper/styles.d.ts.map +1 -0
  316. package/lib/typescript/components/Stepper/useStepperLabelFit.d.ts +15 -0
  317. package/lib/typescript/components/Stepper/useStepperLabelFit.d.ts.map +1 -0
  318. package/lib/typescript/components/Stepper/useStepperLabelFit.web.d.ts +10 -0
  319. package/lib/typescript/components/Stepper/useStepperLabelFit.web.d.ts.map +1 -0
  320. package/lib/typescript/components/Stepper/useStepperRingColors.d.ts +6 -0
  321. package/lib/typescript/components/Stepper/useStepperRingColors.d.ts.map +1 -0
  322. package/lib/typescript/components/SystemAlert/animation.d.ts +56 -0
  323. package/lib/typescript/components/SystemAlert/animation.d.ts.map +1 -0
  324. package/lib/typescript/components/SystemAlert/index.d.ts +110 -0
  325. package/lib/typescript/components/SystemAlert/index.d.ts.map +1 -0
  326. package/lib/typescript/components/SystemAlert/styles.d.ts +38 -0
  327. package/lib/typescript/components/SystemAlert/styles.d.ts.map +1 -0
  328. package/lib/typescript/components/SystemAlert/useSystemAlertStatusBarStyle.d.ts +14 -0
  329. package/lib/typescript/components/SystemAlert/useSystemAlertStatusBarStyle.d.ts.map +1 -0
  330. package/lib/typescript/components/Tabs/index.d.ts.map +1 -1
  331. package/lib/typescript/components/chart/ChartInspector.d.ts +101 -0
  332. package/lib/typescript/components/chart/ChartInspector.d.ts.map +1 -0
  333. package/lib/typescript/components/chart/format.d.ts +16 -0
  334. package/lib/typescript/components/chart/format.d.ts.map +1 -0
  335. package/lib/typescript/components/chart/hiddenSvgProps.d.ts +17 -0
  336. package/lib/typescript/components/chart/hiddenSvgProps.d.ts.map +1 -0
  337. package/lib/typescript/components/chart/index.d.ts +3 -0
  338. package/lib/typescript/components/chart/index.d.ts.map +1 -0
  339. package/lib/typescript/components/chart/motion.d.ts +27 -0
  340. package/lib/typescript/components/chart/motion.d.ts.map +1 -0
  341. package/lib/typescript/components/chart/palette.d.ts +44 -0
  342. package/lib/typescript/components/chart/palette.d.ts.map +1 -0
  343. package/lib/typescript/components/chart/size.d.ts +25 -0
  344. package/lib/typescript/components/chart/size.d.ts.map +1 -0
  345. package/lib/typescript/components/chart/ticks.d.ts +3 -0
  346. package/lib/typescript/components/chart/ticks.d.ts.map +1 -0
  347. package/lib/typescript/components/chart/types.d.ts +163 -0
  348. package/lib/typescript/components/chart/types.d.ts.map +1 -0
  349. package/lib/typescript/components/chart/useChartHostWidth.d.ts +9 -0
  350. package/lib/typescript/components/chart/useChartHostWidth.d.ts.map +1 -0
  351. package/lib/typescript/components/index.d.ts +6 -0
  352. package/lib/typescript/components/index.d.ts.map +1 -1
  353. package/lib/typescript/figma/Alert.figma.d.ts.map +1 -1
  354. package/lib/typescript/figma/Badge.Indicator.figma.d.ts.map +1 -1
  355. package/lib/typescript/figma/Badge.figma.d.ts.map +1 -1
  356. package/lib/typescript/figma/Button.figma.d.ts.map +1 -1
  357. package/lib/typescript/figma/Card.Header.figma.d.ts.map +1 -1
  358. package/lib/typescript/figma/Card.figma.d.ts.map +1 -1
  359. package/lib/typescript/figma/Dialog.figma.d.ts.map +1 -1
  360. package/lib/typescript/figma/IconButton.figma.d.ts.map +1 -1
  361. package/lib/typescript/figma/Input.figma.d.ts.map +1 -1
  362. package/lib/typescript/figma/ProgressBar.figma.d.ts.map +1 -1
  363. package/lib/typescript/figma/ProgressSegmented.figma.d.ts.map +1 -1
  364. package/lib/typescript/figma/Select.figma.d.ts.map +1 -1
  365. package/lib/typescript/figma/SystemAlert.Button.figma.d.ts +11 -0
  366. package/lib/typescript/figma/SystemAlert.Button.figma.d.ts.map +1 -0
  367. package/lib/typescript/figma/SystemAlert.Close.figma.d.ts +11 -0
  368. package/lib/typescript/figma/SystemAlert.Close.figma.d.ts.map +1 -0
  369. package/lib/typescript/figma/SystemAlert.Description.figma.d.ts +8 -0
  370. package/lib/typescript/figma/SystemAlert.Description.figma.d.ts.map +1 -0
  371. package/lib/typescript/figma/SystemAlert.IconButton.figma.d.ts +11 -0
  372. package/lib/typescript/figma/SystemAlert.IconButton.figma.d.ts.map +1 -0
  373. package/lib/typescript/figma/SystemAlert.figma.d.ts +8 -0
  374. package/lib/typescript/figma/SystemAlert.figma.d.ts.map +1 -0
  375. package/package.json +5 -5
  376. package/src/components/BarChart/geometry.ts +1469 -0
  377. package/src/components/BarChart/index.tsx +1417 -0
  378. package/src/components/BarChart/styles.ts +31 -0
  379. package/src/components/Button/index.tsx +1 -1
  380. package/src/components/CountryFlag/index.tsx +53 -0
  381. package/src/components/Input/index.tsx +2 -0
  382. package/src/components/LineChart/geometry.ts +957 -0
  383. package/src/components/LineChart/index.tsx +1106 -0
  384. package/src/components/LineChart/styles.ts +26 -0
  385. package/src/components/PieChart/geometry.ts +295 -0
  386. package/src/components/PieChart/index.tsx +715 -0
  387. package/src/components/PieChart/styles.ts +101 -0
  388. package/src/components/ProgressBar/index.tsx +66 -14
  389. package/src/components/ProgressBar/styles.ts +35 -4
  390. package/src/components/ProgressCircle/ProgressCircleRing.tsx +10 -39
  391. package/src/components/ProgressCircle/ProgressRing.tsx +60 -0
  392. package/src/components/ScrollShadow/useScrollShadow.ts +12 -11
  393. package/src/components/Select/index.tsx +2 -0
  394. package/src/components/Stepper/index.tsx +452 -0
  395. package/src/components/Stepper/styles.ts +234 -0
  396. package/src/components/Stepper/useStepperLabelFit.ts +21 -0
  397. package/src/components/Stepper/useStepperLabelFit.web.ts +53 -0
  398. package/src/components/Stepper/useStepperRingColors.ts +29 -0
  399. package/src/components/SystemAlert/animation.ts +252 -0
  400. package/src/components/SystemAlert/index.tsx +684 -0
  401. package/src/components/SystemAlert/styles.ts +212 -0
  402. package/src/components/SystemAlert/useSystemAlertStatusBarStyle.ts +57 -0
  403. package/src/components/Tabs/index.tsx +4 -0
  404. package/src/components/Tabs/styles.ts +1 -1
  405. package/src/components/chart/ChartInspector.tsx +726 -0
  406. package/src/components/chart/format.ts +95 -0
  407. package/src/components/chart/hiddenSvgProps.ts +15 -0
  408. package/src/components/chart/index.ts +24 -0
  409. package/src/components/chart/motion.ts +98 -0
  410. package/src/components/chart/palette.tsx +247 -0
  411. package/src/components/chart/size.ts +21 -0
  412. package/src/components/chart/ticks.ts +53 -0
  413. package/src/components/chart/types.ts +183 -0
  414. package/src/components/chart/useChartHostWidth.ts +26 -0
  415. package/src/components/index.ts +6 -0
  416. package/src/styles.css +0 -1
@@ -0,0 +1,101 @@
1
+ import { cva, type VariantProps } from '@cdx-ui/utils';
2
+
3
+ export type PieChartLegendPlacement = 'top' | 'bottom' | 'left' | 'right';
4
+
5
+ export const pieChartRootVariants = cva('w-full max-w-full gap-4', {
6
+ variants: {
7
+ placement: {
8
+ top: 'items-center',
9
+ bottom: 'items-center',
10
+ left: 'flex-row items-center justify-center',
11
+ right: 'flex-row items-center justify-center',
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ placement: 'bottom',
16
+ },
17
+ });
18
+
19
+ export const pieChartCanvasVariants = cva(
20
+ 'relative shrink-0 items-center justify-center overflow-hidden web:outline-none',
21
+ {
22
+ variants: {
23
+ size: {
24
+ sm: 'size-40',
25
+ md: 'size-48',
26
+ lg: 'size-56',
27
+ xl: 'size-64',
28
+ },
29
+ },
30
+ defaultVariants: {
31
+ size: 'lg',
32
+ },
33
+ },
34
+ );
35
+
36
+ export type PieChartLegendLayout = 'wrap' | 'list';
37
+
38
+ export const pieChartLegendVariants = cva('max-w-full', {
39
+ variants: {
40
+ layout: {
41
+ wrap: 'flex-row flex-wrap items-center justify-center gap-x-4 gap-y-2',
42
+ list: 'w-full self-stretch',
43
+ names: 'min-w-0 shrink gap-2',
44
+ },
45
+ },
46
+ defaultVariants: {
47
+ layout: 'wrap',
48
+ },
49
+ });
50
+
51
+ export const pieChartLegendItemVariants = cva('flex-row items-center', {
52
+ variants: {
53
+ layout: {
54
+ wrap: 'gap-1.5',
55
+ list: 'w-full gap-2 py-2.5',
56
+ names: 'gap-1.5 py-0.5',
57
+ },
58
+ divided: {
59
+ true: 'border-b border-stroke-secondary',
60
+ false: '',
61
+ },
62
+ interactive: {
63
+ true: 'rounded-sm web:cursor-pointer web:outline-none web:focus-visible:ring-2 web:focus-visible:ring-[var(--color-stroke-ring)]',
64
+ false: '',
65
+ },
66
+ },
67
+ defaultVariants: {
68
+ layout: 'wrap',
69
+ divided: false,
70
+ interactive: false,
71
+ },
72
+ });
73
+
74
+ export const pieChartLegendLabelVariants = cva('body-sm text-content-primary', {
75
+ variants: {
76
+ selected: {
77
+ true: 'font-medium text-content-primary',
78
+ false: '',
79
+ },
80
+ layout: {
81
+ wrap: '',
82
+ list: 'min-w-0 flex-1 font-normal text-content-primary',
83
+ names: 'font-normal text-content-primary',
84
+ },
85
+ },
86
+ defaultVariants: {
87
+ selected: false,
88
+ layout: 'wrap',
89
+ },
90
+ });
91
+
92
+ export const pieChartLegendMetaVariants = cva('body-sm font-normal text-content-primary');
93
+
94
+ export const pieChartLegendShareVariants = cva('body-sm w-12 text-right text-content-primary');
95
+
96
+ export const pieChartCenterLabelVariants = cva(
97
+ 'body-md text-center font-medium text-content-primary',
98
+ );
99
+
100
+ export type PieChartRootVariantProps = VariantProps<typeof pieChartCanvasVariants>;
101
+ export type PieChartLegendLabelVariantProps = VariantProps<typeof pieChartLegendLabelVariants>;
@@ -1,40 +1,92 @@
1
- import { forwardRef } from 'react';
1
+ import { forwardRef, useMemo } from 'react';
2
2
  import { View, type ViewProps } from 'react-native';
3
- import { ProgressBarRoot, ProgressBarIndicator, type IProgressProps } from '@cdx-ui/primitives';
4
- import { cn } from '@cdx-ui/utils';
3
+ import {
4
+ ProgressBarRoot,
5
+ ProgressBarIndicator,
6
+ dataAttributes,
7
+ mergeDataAttributes,
8
+ type IProgressProps,
9
+ } from '@cdx-ui/primitives';
10
+ import { cn, ParentContext, useParentContext, useStyleContext } from '@cdx-ui/utils';
5
11
  import {
6
12
  progressBarIndicatorVariants,
7
13
  progressBarTrackVariants,
14
+ type ProgressBarIndicatorVariantProps,
8
15
  type ProgressBarTrackVariantProps,
9
16
  } from './styles';
10
17
 
18
+ const SCOPE = 'PROGRESS_BAR';
19
+
20
+ export type ProgressBarSize = NonNullable<ProgressBarTrackVariantProps['size']>;
21
+ export type ProgressBarColor = NonNullable<ProgressBarIndicatorVariantProps['color']>;
22
+
23
+ interface ProgressBarStyleContext {
24
+ size?: ProgressBarSize;
25
+ color?: ProgressBarColor;
26
+ }
27
+
28
+ const useProgressBarStyleContext = () => useStyleContext(SCOPE) as ProgressBarStyleContext;
29
+
11
30
  export interface ProgressBarProps extends IProgressProps, ProgressBarTrackVariantProps {
31
+ /**
32
+ * Track height. Inherited by `ProgressBar.Indicator` via style context.
33
+ * @default 'default'
34
+ */
35
+ size?: ProgressBarSize;
36
+ /**
37
+ * Indicator fill color. Inherited by `ProgressBar.Indicator` via style context.
38
+ * The track is always `surface-neutral-subtle`.
39
+ * @default 'action'
40
+ */
41
+ color?: ProgressBarColor;
42
+ /** Additional Uniwind/Tailwind classes, merged after the track's own styles. */
12
43
  readonly className?: string;
13
44
  }
14
45
 
15
46
  export interface ProgressBarIndicatorProps extends ViewProps {
47
+ /** Additional Uniwind/Tailwind classes, merged after the indicator's own styles. */
16
48
  readonly className?: string;
17
49
  }
18
50
 
19
51
  const ProgressBarRootComponent = forwardRef<View, ProgressBarProps>(
20
- ({ className, style, ...props }, ref) => {
21
- const trackClass = cn(progressBarTrackVariants(), className);
52
+ ({ className, style, size = 'default', color = 'action', children, ...props }, ref) => {
53
+ const trackClass = cn(progressBarTrackVariants({ size }), className);
54
+
55
+ const parent = useParentContext();
56
+ const ctx = useMemo(() => ({ ...parent, [SCOPE]: { size, color } }), [parent, size, color]);
22
57
 
23
- return <ProgressBarRoot ref={ref} className={trackClass} style={style} {...props} />;
58
+ return (
59
+ <ParentContext.Provider value={ctx}>
60
+ <ProgressBarRoot
61
+ ref={ref}
62
+ className={trackClass}
63
+ style={style}
64
+ {...props}
65
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'progress-bar' }))}
66
+ >
67
+ {children}
68
+ </ProgressBarRoot>
69
+ </ParentContext.Provider>
70
+ );
24
71
  },
25
72
  );
26
73
 
27
74
  ProgressBarRootComponent.displayName = 'ProgressBar';
28
75
 
29
76
  const ProgressBarIndicatorComponent = forwardRef<View, ProgressBarIndicatorProps>(
30
- ({ className, style, ...props }, ref) => (
31
- <ProgressBarIndicator
32
- ref={ref}
33
- className={cn(progressBarIndicatorVariants(), className)}
34
- style={style}
35
- {...props}
36
- />
37
- ),
77
+ ({ className, style, ...props }, ref) => {
78
+ const { color } = useProgressBarStyleContext();
79
+
80
+ return (
81
+ <ProgressBarIndicator
82
+ ref={ref}
83
+ className={cn(progressBarIndicatorVariants({ color }), className)}
84
+ style={style}
85
+ {...props}
86
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'progress-bar-indicator' }))}
87
+ />
88
+ );
89
+ },
38
90
  );
39
91
 
40
92
  ProgressBarIndicatorComponent.displayName = 'ProgressBar.Indicator';
@@ -1,9 +1,40 @@
1
1
  import { cva, type VariantProps } from '@cdx-ui/utils';
2
2
 
3
- export const progressBarTrackVariants = cva([
4
- 'w-full flex-row overflow-hidden rounded-full bg-surface-action-subtle h-1',
5
- ]);
3
+ export const progressBarTrackVariants = cva(
4
+ ['w-full flex-row overflow-hidden rounded-full bg-surface-neutral-subtle'],
5
+ {
6
+ variants: {
7
+ size: {
8
+ default: 'h-1.5',
9
+ large: 'h-2',
10
+ },
11
+ },
12
+ defaultVariants: {
13
+ size: 'default',
14
+ },
15
+ },
16
+ );
6
17
 
7
- export const progressBarIndicatorVariants = cva(['rounded-full bg-surface-action-strong']);
18
+ export const progressBarIndicatorVariants = cva(['rounded-full'], {
19
+ variants: {
20
+ color: {
21
+ action: 'bg-surface-action-strong',
22
+ danger: 'bg-surface-danger-strong',
23
+ warning: 'bg-surface-warning-strong',
24
+ success: 'bg-surface-success-strong',
25
+ info: 'bg-surface-info-strong',
26
+ 'categorical-1': 'bg-chart-categorical-1',
27
+ 'categorical-2': 'bg-chart-categorical-2',
28
+ 'categorical-3': 'bg-chart-categorical-3',
29
+ 'categorical-4': 'bg-chart-categorical-4',
30
+ 'categorical-5': 'bg-chart-categorical-5',
31
+ 'categorical-6': 'bg-chart-categorical-6',
32
+ },
33
+ },
34
+ defaultVariants: {
35
+ color: 'action',
36
+ },
37
+ });
8
38
 
9
39
  export type ProgressBarTrackVariantProps = VariantProps<typeof progressBarTrackVariants>;
40
+ export type ProgressBarIndicatorVariantProps = VariantProps<typeof progressBarIndicatorVariants>;
@@ -7,12 +7,12 @@ import Animated, {
7
7
  withRepeat,
8
8
  withTiming,
9
9
  } from 'react-native-reanimated';
10
- import { Circle, Svg } from 'react-native-svg';
11
10
  import { useProgressContext } from '@cdx-ui/primitives';
11
+ import { ProgressRing } from './ProgressRing';
12
12
  import { PROGRESS_CIRCLE_DIMENSIONS, type ProgressCircleSize } from './styles';
13
13
  import { useProgressCircleColors } from './useProgressCircleColors';
14
14
 
15
- const INDETERMINATE_ARC_RATIO = 0.25;
15
+ const INDETERMINATE_ARC_PERCENT = 25;
16
16
  const ROTATION_DURATION_MS = 1000;
17
17
 
18
18
  export interface ProgressCircleRingProps {
@@ -25,9 +25,6 @@ export function ProgressCircleRing({ size = 'large', color = 'default' }: Progre
25
25
  const ringColors = useProgressCircleColors(color);
26
26
  const rotation = useSharedValue(0);
27
27
  const { size: dimension, strokeWidth } = PROGRESS_CIRCLE_DIMENSIONS[size];
28
- const radius = (dimension - strokeWidth) / 2;
29
- const center = dimension / 2;
30
- const circumference = 2 * Math.PI * radius;
31
28
  const isIndeterminate = state === 'indeterminate';
32
29
 
33
30
  useEffect(() => {
@@ -55,41 +52,15 @@ export function ProgressCircleRing({ size = 'large', color = 'default' }: Progre
55
52
  [rotation],
56
53
  );
57
54
 
58
- const progressLength = isIndeterminate
59
- ? circumference * INDETERMINATE_ARC_RATIO
60
- : (circumference * percent) / 100;
61
- const gapLength = circumference - progressLength;
62
-
63
55
  const ring = (
64
- <Svg
65
- width={dimension}
66
- height={dimension}
67
- viewBox={`0 0 ${String(dimension)} ${String(dimension)}`}
68
- >
69
- <Circle
70
- cx={center}
71
- cy={center}
72
- r={radius}
73
- stroke={ringColors.track}
74
- strokeWidth={strokeWidth}
75
- fill="none"
76
- opacity={ringColors.trackOpacity}
77
- />
78
- {progressLength > 0 ? (
79
- <Circle
80
- cx={center}
81
- cy={center}
82
- r={radius}
83
- stroke={ringColors.indicator}
84
- strokeWidth={strokeWidth}
85
- fill="none"
86
- strokeDasharray={`${String(progressLength)} ${String(gapLength)}`}
87
- strokeLinecap="round"
88
- rotation={-90}
89
- origin={`${String(center)}, ${String(center)}`}
90
- />
91
- ) : null}
92
- </Svg>
56
+ <ProgressRing
57
+ size={dimension}
58
+ strokeWidth={strokeWidth}
59
+ value={isIndeterminate ? INDETERMINATE_ARC_PERCENT : percent}
60
+ trackColor={ringColors.track}
61
+ indicatorColor={ringColors.indicator}
62
+ trackOpacity={ringColors.trackOpacity}
63
+ />
93
64
  );
94
65
 
95
66
  if (isIndeterminate) {
@@ -0,0 +1,60 @@
1
+ import { Circle, Svg } from 'react-native-svg';
2
+
3
+ export interface ProgressRingProps {
4
+ /** Outer diameter in px. */
5
+ readonly size: number;
6
+ readonly strokeWidth: number;
7
+ /** Arc length as a percentage of the circumference, 0–100. */
8
+ readonly value: number;
9
+ readonly trackColor: string;
10
+ readonly indicatorColor: string;
11
+ /** @default 1 */
12
+ readonly trackOpacity?: number;
13
+ }
14
+
15
+ /**
16
+ * Size-agnostic determinate ring: a full track plus a round-capped arc starting at 12 o'clock.
17
+ * Internal to `@cdx-ui/components`; shared by `ProgressCircle` and `Stepper.Indicator`.
18
+ */
19
+ export function ProgressRing({
20
+ size,
21
+ strokeWidth,
22
+ value,
23
+ trackColor,
24
+ indicatorColor,
25
+ trackOpacity = 1,
26
+ }: ProgressRingProps) {
27
+ const radius = (size - strokeWidth) / 2;
28
+ const center = size / 2;
29
+ const circumference = 2 * Math.PI * radius;
30
+ const progressLength = (circumference * value) / 100;
31
+ const gapLength = circumference - progressLength;
32
+
33
+ return (
34
+ <Svg width={size} height={size} viewBox={`0 0 ${String(size)} ${String(size)}`}>
35
+ <Circle
36
+ cx={center}
37
+ cy={center}
38
+ r={radius}
39
+ stroke={trackColor}
40
+ strokeWidth={strokeWidth}
41
+ fill="none"
42
+ opacity={trackOpacity}
43
+ />
44
+ {progressLength > 0 ? (
45
+ <Circle
46
+ cx={center}
47
+ cy={center}
48
+ r={radius}
49
+ stroke={indicatorColor}
50
+ strokeWidth={strokeWidth}
51
+ fill="none"
52
+ strokeDasharray={`${String(progressLength)} ${String(gapLength)}`}
53
+ strokeLinecap="round"
54
+ rotation={-90}
55
+ origin={`${String(center)}, ${String(center)}`}
56
+ />
57
+ ) : null}
58
+ </Svg>
59
+ );
60
+ }
@@ -98,6 +98,7 @@ export function useScrollShadowTracker({
98
98
  canScrollBefore: false,
99
99
  canScrollAfter: false,
100
100
  });
101
+ const capabilityRef = useRef(capability);
101
102
 
102
103
  const updateCapability = useCallback(() => {
103
104
  if (!enabled) {
@@ -106,18 +107,18 @@ export function useScrollShadowTracker({
106
107
 
107
108
  onDistanceChange?.(getScrollDistance(metricsRef.current, offset));
108
109
  const nextCapability = getScrollCapability(metricsRef.current, offset);
110
+ const previousCapability = capabilityRef.current;
109
111
 
110
- setCapability((prev) => {
111
- if (
112
- prev.canScrollBefore === nextCapability.canScrollBefore &&
113
- prev.canScrollAfter === nextCapability.canScrollAfter
114
- ) {
115
- return prev;
116
- }
117
-
118
- onCapabilityChange?.(nextCapability);
119
- return nextCapability;
120
- });
112
+ if (
113
+ previousCapability.canScrollBefore === nextCapability.canScrollBefore &&
114
+ previousCapability.canScrollAfter === nextCapability.canScrollAfter
115
+ ) {
116
+ return;
117
+ }
118
+
119
+ capabilityRef.current = nextCapability;
120
+ setCapability(nextCapability);
121
+ onCapabilityChange?.(nextCapability);
121
122
  }, [enabled, offset, onCapabilityChange, onDistanceChange]);
122
123
 
123
124
  useEffect(() => {
@@ -273,6 +273,8 @@ export interface SelectIconProps extends Omit<IconProps, 'children' | 'as' | 'co
273
273
  * Omit to apply the symmetric baseline gap.
274
274
  */
275
275
  position?: IconSlotPosition;
276
+ /** The element rendered when `asChild` is set. */
277
+ children?: ReactNode;
276
278
  }
277
279
 
278
280
  const SelectIcon = ({ asChild, className, style, as, position, ...props }: SelectIconProps) => {