@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,600 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { PanResponder, Platform, Pressable, Text, View } from 'react-native';
5
+ import { dataAttributes } from '@cdx-ui/primitives';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const TOOLTIP_GAP = 8;
8
+ const TOOLTIP_MAX_WIDTH = 192;
9
+ /** WCAG 2.5.8 (AA) is 24px; 44px matches Apple HIG / WCAG 2.5.5 for touch. */
10
+ export const MIN_POINTER_TARGET_PX = 44;
11
+ /** Hold before scrubbing a scrollable plot, so a flick can still scroll (Apple Health). */
12
+ export const CHART_SCRUB_HOLD_MS = 250;
13
+ const SCRUB_MOVE_SLOP_PX = 10;
14
+ function touchPoint(event) {
15
+ const touch = event.nativeEvent.touches?.[0];
16
+ const locationX = touch?.locationX ?? event.nativeEvent.locationX ?? 0;
17
+ const locationY = touch?.locationY ?? event.nativeEvent.locationY ?? 0;
18
+ return {
19
+ locationX,
20
+ locationY,
21
+ pageX: touch?.pageX ?? event.nativeEvent.pageX ?? locationX,
22
+ pageY: touch?.pageY ?? event.nativeEvent.pageY ?? locationY
23
+ };
24
+ }
25
+ export function expandHitBox(left, top, width, height, minSize = MIN_POINTER_TARGET_PX) {
26
+ const nextWidth = Math.max(width, minSize);
27
+ const nextHeight = Math.max(height, minSize);
28
+ return {
29
+ left: left - (nextWidth - width) / 2,
30
+ top: top - (nextHeight - height) / 2,
31
+ width: nextWidth,
32
+ height: nextHeight
33
+ };
34
+ }
35
+ function targetIndexAt(targets, x, y) {
36
+ const hit = targets.findIndex(target => x >= target.left && x <= target.left + target.width && y >= target.top && y <= target.top + target.height);
37
+ return hit >= 0 ? hit : null;
38
+ }
39
+ export function chartValueText(item) {
40
+ return item.label.length > 0 ? `${item.label} ${item.formattedValue}` : item.formattedValue;
41
+ }
42
+ function clampInto(value, min, max) {
43
+ // Wider than the frame: center it so it overflows both edges equally.
44
+ if (max < min) {
45
+ return (min + max) / 2;
46
+ }
47
+ return Math.min(Math.max(value, min), max);
48
+ }
49
+
50
+ /**
51
+ * Top-left of a tooltip in frame coordinates. Beside the anchor on the roomier side when it
52
+ * fits, otherwise above or below it; always clamped inside the frame so a clipping ancestor
53
+ * (a `Card`, a `ScrollView`) cannot cut it off.
54
+ */
55
+ export function placeChartTooltip(anchor, tip, frame) {
56
+ const gap = TOOLTIP_GAP + (anchor.radius ?? 0);
57
+ const rightOf = anchor.x + gap;
58
+ const leftOf = anchor.x - gap - tip.width;
59
+ const fitsRight = rightOf + tip.width <= frame.width;
60
+ const fitsLeft = leftOf >= 0;
61
+ const maxLeft = frame.width - tip.width;
62
+ const maxTop = frame.height - tip.height;
63
+ if (fitsLeft || fitsRight) {
64
+ const useLeft = anchor.x > frame.width / 2 ? fitsLeft : !fitsRight;
65
+ const top = anchor.y > frame.height / 2 ? anchor.y - tip.height : anchor.y;
66
+ return {
67
+ left: useLeft ? leftOf : rightOf,
68
+ top: clampInto(top, 0, maxTop)
69
+ };
70
+ }
71
+ const above = anchor.y - TOOLTIP_GAP - tip.height;
72
+ const top = above >= 0 ? above : anchor.y + TOOLTIP_GAP;
73
+ return {
74
+ left: clampInto(anchor.x - tip.width / 2, 0, maxLeft),
75
+ top: clampInto(top, 0, maxTop)
76
+ };
77
+ }
78
+
79
+ /** Renders only from `content`, so a consumer tooltip slot can replace it later. */
80
+ function ChartTooltip({
81
+ content,
82
+ noValueText,
83
+ slot,
84
+ onSize
85
+ }) {
86
+ return /*#__PURE__*/_jsxs(View, {
87
+ className: "gap-1 rounded-md bg-surface-neutral-strong px-3 py-2 shadow-lg",
88
+ onLayout: event => {
89
+ const {
90
+ width,
91
+ height
92
+ } = event.nativeEvent.layout;
93
+ onSize({
94
+ width,
95
+ height
96
+ });
97
+ },
98
+ "aria-hidden": true,
99
+ accessibilityElementsHidden: true,
100
+ importantForAccessibility: "no-hide-descendants",
101
+ ...dataAttributes({
102
+ slot: `${slot}-tooltip`
103
+ }),
104
+ children: [/*#__PURE__*/_jsx(Text, {
105
+ className: "body-sm font-medium text-content-neutral-on-strong",
106
+ children: content.title
107
+ }), content.items.length === 0 ? /*#__PURE__*/_jsx(Text, {
108
+ className: "body-sm text-content-neutral-on-strong",
109
+ children: noValueText
110
+ }) : content.items.map(item => /*#__PURE__*/_jsxs(View, {
111
+ className: "flex-row items-center gap-1.5",
112
+ children: [/*#__PURE__*/_jsx(View, {
113
+ className: "size-2 rounded-full",
114
+ style: {
115
+ backgroundColor: item.color
116
+ }
117
+ }), /*#__PURE__*/_jsx(Text, {
118
+ className: "body-sm text-content-neutral-on-strong",
119
+ children: chartValueText(item)
120
+ })]
121
+ }, item.seriesId))]
122
+ });
123
+ }
124
+
125
+ /**
126
+ * Chart tooltip, measured and clamped inside `width` × `height`. Mount it in the chart's
127
+ * outer plot frame, never inside the plot `ScrollView`, which clips its content.
128
+ */
129
+ export function ChartTooltipLayer({
130
+ content,
131
+ noValueText,
132
+ slot,
133
+ anchorX,
134
+ anchorY,
135
+ anchorRadius,
136
+ width,
137
+ height
138
+ }) {
139
+ const [size, setSize] = useState(null);
140
+ const position = size === null ? {
141
+ left: 0,
142
+ top: 0
143
+ } : placeChartTooltip({
144
+ x: anchorX,
145
+ y: anchorY,
146
+ radius: anchorRadius
147
+ }, size, {
148
+ width,
149
+ height
150
+ });
151
+ // A fixed-width box at the frame origin lets the tooltip take its natural width wherever it
152
+ // lands; `left`/`right` offsets shrink it to the space left before the frame edge.
153
+ return /*#__PURE__*/_jsx(View, {
154
+ pointerEvents: "none",
155
+ className: "absolute left-0 top-0 z-20 items-start",
156
+ style: {
157
+ width: TOOLTIP_MAX_WIDTH,
158
+ opacity: size === null ? 0 : 1,
159
+ transform: [{
160
+ translateX: position.left
161
+ }, {
162
+ translateY: position.top
163
+ }]
164
+ },
165
+ children: /*#__PURE__*/_jsx(ChartTooltip, {
166
+ content: content,
167
+ noValueText: noValueText,
168
+ slot: slot,
169
+ onSize: next => {
170
+ setSize(prev => prev?.width === next.width && prev.height === next.height ? prev : next);
171
+ }
172
+ })
173
+ });
174
+ }
175
+
176
+ /**
177
+ * Host-element hit targets over an SVG plot. SVG nodes are poor focus and hover targets under
178
+ * React Native Web, so each target is a `Pressable` with roving focus: one tab stop per chart.
179
+ * Web: native `mousemove` (RN Web `Pressable` has no hover). Native: press-and-drag on the
180
+ * overlay; the tooltip tracks the finger and clears on lift. When the plot itself scrolls,
181
+ * scrubbing waits for a short hold so a flick can still pan. Keyboard and VoiceOver still use
182
+ * the buttons (Escape / two-finger Z).
183
+ */
184
+ export function ChartInspector({
185
+ targets,
186
+ summary,
187
+ selectable,
188
+ activeIndex,
189
+ selectedIndex,
190
+ slot,
191
+ holdToScrub = false,
192
+ onActivate,
193
+ onDeactivate,
194
+ onDismiss,
195
+ onSelectIndex,
196
+ hitTest,
197
+ neighborIndex,
198
+ onScrubLockChange
199
+ }) {
200
+ const refs = useRef([]);
201
+ const overlayRef = useRef(null);
202
+ const [keyboardFocus, setKeyboardFocus] = useState(false);
203
+ const pointerRef = useRef({
204
+ targets,
205
+ hitTest,
206
+ selectable,
207
+ holdToScrub,
208
+ onActivate,
209
+ onDeactivate,
210
+ onDismiss,
211
+ onSelectIndex,
212
+ activeIndex,
213
+ neighborIndex,
214
+ onScrubLockChange
215
+ });
216
+ pointerRef.current = {
217
+ targets,
218
+ hitTest,
219
+ selectable,
220
+ holdToScrub,
221
+ onActivate,
222
+ onDeactivate,
223
+ onDismiss,
224
+ onSelectIndex,
225
+ activeIndex,
226
+ neighborIndex,
227
+ onScrubLockChange
228
+ };
229
+ const scrubRef = useRef({
230
+ locked: false,
231
+ holdTimer: null,
232
+ startPageX: 0,
233
+ startPageY: 0,
234
+ lastX: 0,
235
+ lastY: 0
236
+ });
237
+ const hitAtPoint = (x, y) => {
238
+ const {
239
+ targets: nextTargets,
240
+ hitTest: test
241
+ } = pointerRef.current;
242
+ return test ? test(x, y) : targetIndexAt(nextTargets, x, y);
243
+ };
244
+ const activateAtPoint = (x, y) => {
245
+ const next = hitAtPoint(x, y);
246
+ const {
247
+ onActivate: activate,
248
+ activeIndex: index,
249
+ onDeactivate: deactivate
250
+ } = pointerRef.current;
251
+ if (next === null) {
252
+ if (index !== null) {
253
+ deactivate(index);
254
+ }
255
+ return;
256
+ }
257
+ activate(next);
258
+ };
259
+ const clearHoldTimer = () => {
260
+ if (scrubRef.current.holdTimer != null) {
261
+ clearTimeout(scrubRef.current.holdTimer);
262
+ scrubRef.current.holdTimer = null;
263
+ }
264
+ };
265
+ const clearPointer = () => {
266
+ const {
267
+ activeIndex: index,
268
+ onDeactivate: deactivate,
269
+ onDismiss: dismiss
270
+ } = pointerRef.current;
271
+ dismiss();
272
+ if (index !== null) {
273
+ deactivate(index);
274
+ }
275
+ };
276
+ const finishScrub = () => {
277
+ const wasLocked = scrubRef.current.locked;
278
+ // A tap that never passed the scroll slop still selects. A move that cancelled the
279
+ // hold is a scroll and leaves the chart alone.
280
+ const wasTap = pointerRef.current.holdToScrub && !wasLocked && scrubRef.current.holdTimer != null;
281
+ clearHoldTimer();
282
+ const shouldFinish = wasLocked || wasTap || !pointerRef.current.holdToScrub;
283
+ scrubRef.current.locked = false;
284
+ if (wasLocked) {
285
+ pointerRef.current.onScrubLockChange?.(false);
286
+ }
287
+ if (!shouldFinish) {
288
+ return;
289
+ }
290
+ const {
291
+ activeIndex: index,
292
+ selectable: canSelect,
293
+ onSelectIndex: select,
294
+ onActivate: activate
295
+ } = pointerRef.current;
296
+ const hit = wasTap ? hitAtPoint(scrubRef.current.lastX, scrubRef.current.lastY) : index;
297
+ if (wasTap && hit !== null) {
298
+ activate(hit);
299
+ }
300
+ if (canSelect && hit !== null) {
301
+ select(hit);
302
+ }
303
+ clearPointer();
304
+ };
305
+ const beginHold = event => {
306
+ if (Platform.OS === 'web') {
307
+ return;
308
+ }
309
+ const point = touchPoint(event);
310
+ clearHoldTimer();
311
+ scrubRef.current.locked = false;
312
+ scrubRef.current.startPageX = point.pageX;
313
+ scrubRef.current.startPageY = point.pageY;
314
+ scrubRef.current.lastX = point.locationX;
315
+ scrubRef.current.lastY = point.locationY;
316
+ if (!pointerRef.current.holdToScrub) {
317
+ activateAtPoint(point.locationX, point.locationY);
318
+ return;
319
+ }
320
+ scrubRef.current.holdTimer = setTimeout(() => {
321
+ scrubRef.current.holdTimer = null;
322
+ scrubRef.current.locked = true;
323
+ pointerRef.current.onScrubLockChange?.(true);
324
+ activateAtPoint(scrubRef.current.lastX, scrubRef.current.lastY);
325
+ }, CHART_SCRUB_HOLD_MS);
326
+ };
327
+ const noteHoldMove = event => {
328
+ const point = touchPoint(event);
329
+ scrubRef.current.lastX = point.locationX;
330
+ scrubRef.current.lastY = point.locationY;
331
+ if (!pointerRef.current.holdToScrub) {
332
+ activateAtPoint(point.locationX, point.locationY);
333
+ return;
334
+ }
335
+ if (scrubRef.current.locked || scrubRef.current.holdTimer == null) {
336
+ return;
337
+ }
338
+ const dist = Math.hypot(point.pageX - scrubRef.current.startPageX, point.pageY - scrubRef.current.startPageY);
339
+ if (dist > SCRUB_MOVE_SLOP_PX) {
340
+ clearHoldTimer();
341
+ }
342
+ };
343
+ const panResponder = useRef(PanResponder.create({
344
+ onStartShouldSetPanResponder: () => false,
345
+ onMoveShouldSetPanResponder: () => {
346
+ if (Platform.OS === 'web') {
347
+ return false;
348
+ }
349
+ return pointerRef.current.holdToScrub && scrubRef.current.locked;
350
+ },
351
+ onPanResponderTerminationRequest: () => !scrubRef.current.locked,
352
+ onPanResponderGrant: event => {
353
+ activateAtPoint(event.nativeEvent.locationX, event.nativeEvent.locationY);
354
+ },
355
+ onPanResponderMove: event => {
356
+ activateAtPoint(event.nativeEvent.locationX, event.nativeEvent.locationY);
357
+ },
358
+ onPanResponderRelease: finishScrub,
359
+ onPanResponderTerminate: finishScrub
360
+ })).current;
361
+ const count = targets.length;
362
+ const rovingIndex = Math.min(activeIndex ?? selectedIndex ?? 0, Math.max(count - 1, 0));
363
+
364
+ // RN Web Pressable does not emit hover. Bind the DOM node directly so mousemove
365
+ // along the line (and across category bands) opens the tooltip.
366
+ useEffect(() => {
367
+ const node = overlayRef.current;
368
+ if (node == null || typeof node.addEventListener !== 'function') {
369
+ return;
370
+ }
371
+ const hitAt = event => {
372
+ const {
373
+ targets: nextTargets,
374
+ hitTest: test
375
+ } = pointerRef.current;
376
+ const rect = node.getBoundingClientRect();
377
+ const x = event.clientX - rect.left;
378
+ const y = event.clientY - rect.top;
379
+ return test ? test(x, y) : targetIndexAt(nextTargets, x, y);
380
+ };
381
+ const clearActive = () => {
382
+ const {
383
+ activeIndex: index,
384
+ onDeactivate: deactivate,
385
+ onDismiss: dismiss
386
+ } = pointerRef.current;
387
+ dismiss();
388
+ if (index !== null) {
389
+ deactivate(index);
390
+ }
391
+ };
392
+ const move = event => {
393
+ setKeyboardFocus(false);
394
+ const next = hitAt(event);
395
+ const {
396
+ onActivate: activate,
397
+ activeIndex: index,
398
+ onDeactivate: deactivate
399
+ } = pointerRef.current;
400
+ if (next === null) {
401
+ if (index !== null) {
402
+ deactivate(index);
403
+ }
404
+ return;
405
+ }
406
+ activate(next);
407
+ };
408
+ const down = event => {
409
+ if (event.button !== 0) {
410
+ return;
411
+ }
412
+ setKeyboardFocus(false);
413
+ const next = hitAt(event);
414
+ const {
415
+ onActivate: activate,
416
+ selectable: canSelect,
417
+ onSelectIndex: select
418
+ } = pointerRef.current;
419
+ if (next === null) {
420
+ clearActive();
421
+ return;
422
+ }
423
+ activate(next);
424
+ if (canSelect) {
425
+ select(next);
426
+ }
427
+ };
428
+ const leave = event => {
429
+ if (node.contains(event.relatedTarget)) {
430
+ return;
431
+ }
432
+ const {
433
+ activeIndex: index,
434
+ onDeactivate: deactivate
435
+ } = pointerRef.current;
436
+ if (index !== null) {
437
+ deactivate(index);
438
+ }
439
+ };
440
+ const docDown = event => {
441
+ if (node.contains(event.target)) {
442
+ return;
443
+ }
444
+ clearActive();
445
+ };
446
+ node.addEventListener('mousemove', move);
447
+ node.addEventListener('mousedown', down);
448
+ node.addEventListener('mouseleave', leave);
449
+ document.addEventListener('mousedown', docDown);
450
+ return () => {
451
+ node.removeEventListener('mousemove', move);
452
+ node.removeEventListener('mousedown', down);
453
+ node.removeEventListener('mouseleave', leave);
454
+ document.removeEventListener('mousedown', docDown);
455
+ if (scrubRef.current.holdTimer != null) {
456
+ clearTimeout(scrubRef.current.holdTimer);
457
+ scrubRef.current.holdTimer = null;
458
+ }
459
+ };
460
+ }, []);
461
+ const handleKeyDown = (index, event) => {
462
+ const key = event.nativeEvent.key ?? event.key ?? '';
463
+ const shiftKey = event.shiftKey === true || event.nativeEvent.shiftKey === true;
464
+ if (key === 'Escape' || key === 'Enter' || key === ' ' || key === 'Tab' || key === 'ArrowRight' || key === 'ArrowLeft' || key === 'ArrowUp' || key === 'ArrowDown' || key === 'Home' || key === 'End') {
465
+ setKeyboardFocus(true);
466
+ }
467
+ if (key === 'Escape') {
468
+ event.preventDefault?.();
469
+ onDismiss();
470
+ return;
471
+ }
472
+ if (key === 'Enter' || key === ' ') {
473
+ event.preventDefault?.();
474
+ onActivate(index);
475
+ if (selectable) {
476
+ onSelectIndex(index);
477
+ }
478
+ return;
479
+ }
480
+ if (key === 'Tab') {
481
+ const next = neighborIndex?.(index, shiftKey ? 'Shift+Tab' : 'Tab');
482
+ if (next === undefined || next === null || next === index) {
483
+ return;
484
+ }
485
+ event.preventDefault?.();
486
+ onActivate(next);
487
+ refs.current[next]?.focus();
488
+ return;
489
+ }
490
+ let next = neighborIndex?.(index, key) ?? null;
491
+ if (next === null) {
492
+ if (key === 'ArrowRight' || key === 'ArrowDown') {
493
+ next = Math.min(index + 1, count - 1);
494
+ } else if (key === 'ArrowLeft' || key === 'ArrowUp') {
495
+ next = Math.max(index - 1, 0);
496
+ } else if (key === 'Home') {
497
+ next = 0;
498
+ } else if (key === 'End') {
499
+ next = count - 1;
500
+ }
501
+ }
502
+ if (next === null) {
503
+ return;
504
+ }
505
+ event.preventDefault?.();
506
+ onActivate(next);
507
+ refs.current[next]?.focus();
508
+ };
509
+ const blurInspector = event => {
510
+ const related = event?.nativeEvent?.relatedTarget ?? event?.relatedTarget;
511
+ const node = overlayRef.current;
512
+ if (node?.contains?.(related) === true) {
513
+ return;
514
+ }
515
+ setKeyboardFocus(false);
516
+ if (activeIndex !== null) {
517
+ onDeactivate(activeIndex);
518
+ }
519
+ };
520
+ const outline = keyboardFocus && activeIndex !== null ? targets.at(activeIndex)?.outline ?? targets.at(activeIndex) : undefined;
521
+ return /*#__PURE__*/_jsxs(View, {
522
+ ref: overlayRef,
523
+ className: "absolute inset-0 z-10",
524
+ role: "group",
525
+ "aria-label": summary,
526
+ accessibilityLabel: summary,
527
+ onAccessibilityEscape: onDismiss,
528
+ ...(Platform.OS === 'web' ? {} : {
529
+ ...panResponder.panHandlers,
530
+ onTouchStart: beginHold,
531
+ onTouchMove: noteHoldMove,
532
+ onTouchEnd: finishScrub,
533
+ onTouchCancel: finishScrub
534
+ }),
535
+ ...dataAttributes({
536
+ slot: `${slot}-inspector`
537
+ }),
538
+ children: [outline !== undefined ? /*#__PURE__*/_jsx(View, {
539
+ pointerEvents: "none",
540
+ className: "absolute rounded-sm border-2 border-[var(--color-stroke-ring)]",
541
+ style: {
542
+ left: outline.left,
543
+ top: outline.top,
544
+ width: outline.width,
545
+ height: outline.height
546
+ },
547
+ accessibilityElementsHidden: true,
548
+ importantForAccessibility: "no-hide-descendants",
549
+ ...dataAttributes({
550
+ slot: `${slot}-focus`
551
+ })
552
+ }) : null, targets.map((target, index) => /*#__PURE__*/_jsx(Pressable, {
553
+ ref: node => {
554
+ refs.current[index] = node;
555
+ },
556
+ className: "absolute rounded-sm web:outline-none",
557
+ style: {
558
+ left: target.left,
559
+ top: target.top,
560
+ width: target.width,
561
+ height: target.height
562
+ },
563
+ accessibilityRole: "button",
564
+ accessibilityLabel: target.accessibilityLabel,
565
+ accessibilityState: selectable && Platform.OS !== 'web' ? {
566
+ selected: target.selected
567
+ } : undefined,
568
+ "aria-pressed": selectable && Platform.OS === 'web' ? target.selected : undefined,
569
+ pointerEvents: "none",
570
+ focusable: Platform.OS !== 'web' || index === rovingIndex,
571
+ tabIndex: index === rovingIndex ? 0 : -1,
572
+ onHoverIn: () => {
573
+ onActivate(index);
574
+ },
575
+ onHoverOut: () => {
576
+ onDeactivate(index);
577
+ },
578
+ onFocus: () => {
579
+ setKeyboardFocus(true);
580
+ onActivate(index);
581
+ },
582
+ onBlur: event => blurInspector(event),
583
+ onPress: () => {
584
+ onActivate(index);
585
+ if (selectable) {
586
+ onSelectIndex(index);
587
+ }
588
+ },
589
+ onAccessibilityEscape: onDismiss,
590
+ onKeyDown: event => {
591
+ handleKeyDown(index, event);
592
+ },
593
+ ...dataAttributes({
594
+ slot: `${slot}-point`,
595
+ selected: target.selected
596
+ })
597
+ }, target.key))]
598
+ });
599
+ }
600
+ //# sourceMappingURL=ChartInspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useState","PanResponder","Platform","Pressable","Text","View","dataAttributes","jsx","_jsx","jsxs","_jsxs","TOOLTIP_GAP","TOOLTIP_MAX_WIDTH","MIN_POINTER_TARGET_PX","CHART_SCRUB_HOLD_MS","SCRUB_MOVE_SLOP_PX","touchPoint","event","touch","nativeEvent","touches","locationX","locationY","pageX","pageY","expandHitBox","left","top","width","height","minSize","nextWidth","Math","max","nextHeight","targetIndexAt","targets","x","y","hit","findIndex","target","chartValueText","item","label","length","formattedValue","clampInto","value","min","placeChartTooltip","anchor","tip","frame","gap","radius","rightOf","leftOf","fitsRight","fitsLeft","maxLeft","maxTop","useLeft","above","ChartTooltip","content","noValueText","slot","onSize","className","onLayout","layout","accessibilityElementsHidden","importantForAccessibility","children","title","items","map","style","backgroundColor","color","seriesId","ChartTooltipLayer","anchorX","anchorY","anchorRadius","size","setSize","position","pointerEvents","opacity","transform","translateX","translateY","next","prev","ChartInspector","summary","selectable","activeIndex","selectedIndex","holdToScrub","onActivate","onDeactivate","onDismiss","onSelectIndex","hitTest","neighborIndex","onScrubLockChange","refs","overlayRef","keyboardFocus","setKeyboardFocus","pointerRef","current","scrubRef","locked","holdTimer","startPageX","startPageY","lastX","lastY","hitAtPoint","nextTargets","test","activateAtPoint","activate","index","deactivate","clearHoldTimer","clearTimeout","clearPointer","dismiss","finishScrub","wasLocked","wasTap","shouldFinish","canSelect","select","beginHold","OS","point","setTimeout","noteHoldMove","dist","hypot","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","count","rovingIndex","node","addEventListener","hitAt","rect","getBoundingClientRect","clientX","clientY","clearActive","move","down","button","leave","contains","relatedTarget","docDown","document","removeEventListener","handleKeyDown","key","shiftKey","preventDefault","undefined","focus","blurInspector","related","outline","at","ref","role","accessibilityLabel","onAccessibilityEscape","panHandlers","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","accessibilityRole","accessibilityState","selected","focusable","tabIndex","onHoverIn","onHoverOut","onFocus","onBlur","onPress","onKeyDown"],"sourceRoot":"../../../../src","sources":["components/chart/ChartInspector.tsx"],"mappings":"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","ignoreList":[]}