@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,610 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CHART_SCRUB_HOLD_MS = void 0;
7
+ exports.ChartInspector = ChartInspector;
8
+ exports.ChartTooltipLayer = ChartTooltipLayer;
9
+ exports.MIN_POINTER_TARGET_PX = void 0;
10
+ exports.chartValueText = chartValueText;
11
+ exports.expandHitBox = expandHitBox;
12
+ exports.placeChartTooltip = placeChartTooltip;
13
+ var _react = require("react");
14
+ var _reactNative = require("react-native");
15
+ var _primitives = require("@cdx-ui/primitives");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ const TOOLTIP_GAP = 8;
18
+ const TOOLTIP_MAX_WIDTH = 192;
19
+ /** WCAG 2.5.8 (AA) is 24px; 44px matches Apple HIG / WCAG 2.5.5 for touch. */
20
+ const MIN_POINTER_TARGET_PX = exports.MIN_POINTER_TARGET_PX = 44;
21
+ /** Hold before scrubbing a scrollable plot, so a flick can still scroll (Apple Health). */
22
+ const CHART_SCRUB_HOLD_MS = exports.CHART_SCRUB_HOLD_MS = 250;
23
+ const SCRUB_MOVE_SLOP_PX = 10;
24
+ function touchPoint(event) {
25
+ const touch = event.nativeEvent.touches?.[0];
26
+ const locationX = touch?.locationX ?? event.nativeEvent.locationX ?? 0;
27
+ const locationY = touch?.locationY ?? event.nativeEvent.locationY ?? 0;
28
+ return {
29
+ locationX,
30
+ locationY,
31
+ pageX: touch?.pageX ?? event.nativeEvent.pageX ?? locationX,
32
+ pageY: touch?.pageY ?? event.nativeEvent.pageY ?? locationY
33
+ };
34
+ }
35
+ function expandHitBox(left, top, width, height, minSize = MIN_POINTER_TARGET_PX) {
36
+ const nextWidth = Math.max(width, minSize);
37
+ const nextHeight = Math.max(height, minSize);
38
+ return {
39
+ left: left - (nextWidth - width) / 2,
40
+ top: top - (nextHeight - height) / 2,
41
+ width: nextWidth,
42
+ height: nextHeight
43
+ };
44
+ }
45
+ function targetIndexAt(targets, x, y) {
46
+ const hit = targets.findIndex(target => x >= target.left && x <= target.left + target.width && y >= target.top && y <= target.top + target.height);
47
+ return hit >= 0 ? hit : null;
48
+ }
49
+ function chartValueText(item) {
50
+ return item.label.length > 0 ? `${item.label} ${item.formattedValue}` : item.formattedValue;
51
+ }
52
+ function clampInto(value, min, max) {
53
+ // Wider than the frame: center it so it overflows both edges equally.
54
+ if (max < min) {
55
+ return (min + max) / 2;
56
+ }
57
+ return Math.min(Math.max(value, min), max);
58
+ }
59
+
60
+ /**
61
+ * Top-left of a tooltip in frame coordinates. Beside the anchor on the roomier side when it
62
+ * fits, otherwise above or below it; always clamped inside the frame so a clipping ancestor
63
+ * (a `Card`, a `ScrollView`) cannot cut it off.
64
+ */
65
+ function placeChartTooltip(anchor, tip, frame) {
66
+ const gap = TOOLTIP_GAP + (anchor.radius ?? 0);
67
+ const rightOf = anchor.x + gap;
68
+ const leftOf = anchor.x - gap - tip.width;
69
+ const fitsRight = rightOf + tip.width <= frame.width;
70
+ const fitsLeft = leftOf >= 0;
71
+ const maxLeft = frame.width - tip.width;
72
+ const maxTop = frame.height - tip.height;
73
+ if (fitsLeft || fitsRight) {
74
+ const useLeft = anchor.x > frame.width / 2 ? fitsLeft : !fitsRight;
75
+ const top = anchor.y > frame.height / 2 ? anchor.y - tip.height : anchor.y;
76
+ return {
77
+ left: useLeft ? leftOf : rightOf,
78
+ top: clampInto(top, 0, maxTop)
79
+ };
80
+ }
81
+ const above = anchor.y - TOOLTIP_GAP - tip.height;
82
+ const top = above >= 0 ? above : anchor.y + TOOLTIP_GAP;
83
+ return {
84
+ left: clampInto(anchor.x - tip.width / 2, 0, maxLeft),
85
+ top: clampInto(top, 0, maxTop)
86
+ };
87
+ }
88
+
89
+ /** Renders only from `content`, so a consumer tooltip slot can replace it later. */
90
+ function ChartTooltip({
91
+ content,
92
+ noValueText,
93
+ slot,
94
+ onSize
95
+ }) {
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
97
+ className: "gap-1 rounded-md bg-surface-neutral-strong px-3 py-2 shadow-lg",
98
+ onLayout: event => {
99
+ const {
100
+ width,
101
+ height
102
+ } = event.nativeEvent.layout;
103
+ onSize({
104
+ width,
105
+ height
106
+ });
107
+ },
108
+ "aria-hidden": true,
109
+ accessibilityElementsHidden: true,
110
+ importantForAccessibility: "no-hide-descendants",
111
+ ...(0, _primitives.dataAttributes)({
112
+ slot: `${slot}-tooltip`
113
+ }),
114
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
115
+ className: "body-sm font-medium text-content-neutral-on-strong",
116
+ children: content.title
117
+ }), content.items.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
118
+ className: "body-sm text-content-neutral-on-strong",
119
+ children: noValueText
120
+ }) : content.items.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
121
+ className: "flex-row items-center gap-1.5",
122
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
123
+ className: "size-2 rounded-full",
124
+ style: {
125
+ backgroundColor: item.color
126
+ }
127
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
128
+ className: "body-sm text-content-neutral-on-strong",
129
+ children: chartValueText(item)
130
+ })]
131
+ }, item.seriesId))]
132
+ });
133
+ }
134
+
135
+ /**
136
+ * Chart tooltip, measured and clamped inside `width` × `height`. Mount it in the chart's
137
+ * outer plot frame, never inside the plot `ScrollView`, which clips its content.
138
+ */
139
+ function ChartTooltipLayer({
140
+ content,
141
+ noValueText,
142
+ slot,
143
+ anchorX,
144
+ anchorY,
145
+ anchorRadius,
146
+ width,
147
+ height
148
+ }) {
149
+ const [size, setSize] = (0, _react.useState)(null);
150
+ const position = size === null ? {
151
+ left: 0,
152
+ top: 0
153
+ } : placeChartTooltip({
154
+ x: anchorX,
155
+ y: anchorY,
156
+ radius: anchorRadius
157
+ }, size, {
158
+ width,
159
+ height
160
+ });
161
+ // A fixed-width box at the frame origin lets the tooltip take its natural width wherever it
162
+ // lands; `left`/`right` offsets shrink it to the space left before the frame edge.
163
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
+ pointerEvents: "none",
165
+ className: "absolute left-0 top-0 z-20 items-start",
166
+ style: {
167
+ width: TOOLTIP_MAX_WIDTH,
168
+ opacity: size === null ? 0 : 1,
169
+ transform: [{
170
+ translateX: position.left
171
+ }, {
172
+ translateY: position.top
173
+ }]
174
+ },
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartTooltip, {
176
+ content: content,
177
+ noValueText: noValueText,
178
+ slot: slot,
179
+ onSize: next => {
180
+ setSize(prev => prev?.width === next.width && prev.height === next.height ? prev : next);
181
+ }
182
+ })
183
+ });
184
+ }
185
+
186
+ /**
187
+ * Host-element hit targets over an SVG plot. SVG nodes are poor focus and hover targets under
188
+ * React Native Web, so each target is a `Pressable` with roving focus: one tab stop per chart.
189
+ * Web: native `mousemove` (RN Web `Pressable` has no hover). Native: press-and-drag on the
190
+ * overlay; the tooltip tracks the finger and clears on lift. When the plot itself scrolls,
191
+ * scrubbing waits for a short hold so a flick can still pan. Keyboard and VoiceOver still use
192
+ * the buttons (Escape / two-finger Z).
193
+ */
194
+ function ChartInspector({
195
+ targets,
196
+ summary,
197
+ selectable,
198
+ activeIndex,
199
+ selectedIndex,
200
+ slot,
201
+ holdToScrub = false,
202
+ onActivate,
203
+ onDeactivate,
204
+ onDismiss,
205
+ onSelectIndex,
206
+ hitTest,
207
+ neighborIndex,
208
+ onScrubLockChange
209
+ }) {
210
+ const refs = (0, _react.useRef)([]);
211
+ const overlayRef = (0, _react.useRef)(null);
212
+ const [keyboardFocus, setKeyboardFocus] = (0, _react.useState)(false);
213
+ const pointerRef = (0, _react.useRef)({
214
+ targets,
215
+ hitTest,
216
+ selectable,
217
+ holdToScrub,
218
+ onActivate,
219
+ onDeactivate,
220
+ onDismiss,
221
+ onSelectIndex,
222
+ activeIndex,
223
+ neighborIndex,
224
+ onScrubLockChange
225
+ });
226
+ pointerRef.current = {
227
+ targets,
228
+ hitTest,
229
+ selectable,
230
+ holdToScrub,
231
+ onActivate,
232
+ onDeactivate,
233
+ onDismiss,
234
+ onSelectIndex,
235
+ activeIndex,
236
+ neighborIndex,
237
+ onScrubLockChange
238
+ };
239
+ const scrubRef = (0, _react.useRef)({
240
+ locked: false,
241
+ holdTimer: null,
242
+ startPageX: 0,
243
+ startPageY: 0,
244
+ lastX: 0,
245
+ lastY: 0
246
+ });
247
+ const hitAtPoint = (x, y) => {
248
+ const {
249
+ targets: nextTargets,
250
+ hitTest: test
251
+ } = pointerRef.current;
252
+ return test ? test(x, y) : targetIndexAt(nextTargets, x, y);
253
+ };
254
+ const activateAtPoint = (x, y) => {
255
+ const next = hitAtPoint(x, y);
256
+ const {
257
+ onActivate: activate,
258
+ activeIndex: index,
259
+ onDeactivate: deactivate
260
+ } = pointerRef.current;
261
+ if (next === null) {
262
+ if (index !== null) {
263
+ deactivate(index);
264
+ }
265
+ return;
266
+ }
267
+ activate(next);
268
+ };
269
+ const clearHoldTimer = () => {
270
+ if (scrubRef.current.holdTimer != null) {
271
+ clearTimeout(scrubRef.current.holdTimer);
272
+ scrubRef.current.holdTimer = null;
273
+ }
274
+ };
275
+ const clearPointer = () => {
276
+ const {
277
+ activeIndex: index,
278
+ onDeactivate: deactivate,
279
+ onDismiss: dismiss
280
+ } = pointerRef.current;
281
+ dismiss();
282
+ if (index !== null) {
283
+ deactivate(index);
284
+ }
285
+ };
286
+ const finishScrub = () => {
287
+ const wasLocked = scrubRef.current.locked;
288
+ // A tap that never passed the scroll slop still selects. A move that cancelled the
289
+ // hold is a scroll and leaves the chart alone.
290
+ const wasTap = pointerRef.current.holdToScrub && !wasLocked && scrubRef.current.holdTimer != null;
291
+ clearHoldTimer();
292
+ const shouldFinish = wasLocked || wasTap || !pointerRef.current.holdToScrub;
293
+ scrubRef.current.locked = false;
294
+ if (wasLocked) {
295
+ pointerRef.current.onScrubLockChange?.(false);
296
+ }
297
+ if (!shouldFinish) {
298
+ return;
299
+ }
300
+ const {
301
+ activeIndex: index,
302
+ selectable: canSelect,
303
+ onSelectIndex: select,
304
+ onActivate: activate
305
+ } = pointerRef.current;
306
+ const hit = wasTap ? hitAtPoint(scrubRef.current.lastX, scrubRef.current.lastY) : index;
307
+ if (wasTap && hit !== null) {
308
+ activate(hit);
309
+ }
310
+ if (canSelect && hit !== null) {
311
+ select(hit);
312
+ }
313
+ clearPointer();
314
+ };
315
+ const beginHold = event => {
316
+ if (_reactNative.Platform.OS === 'web') {
317
+ return;
318
+ }
319
+ const point = touchPoint(event);
320
+ clearHoldTimer();
321
+ scrubRef.current.locked = false;
322
+ scrubRef.current.startPageX = point.pageX;
323
+ scrubRef.current.startPageY = point.pageY;
324
+ scrubRef.current.lastX = point.locationX;
325
+ scrubRef.current.lastY = point.locationY;
326
+ if (!pointerRef.current.holdToScrub) {
327
+ activateAtPoint(point.locationX, point.locationY);
328
+ return;
329
+ }
330
+ scrubRef.current.holdTimer = setTimeout(() => {
331
+ scrubRef.current.holdTimer = null;
332
+ scrubRef.current.locked = true;
333
+ pointerRef.current.onScrubLockChange?.(true);
334
+ activateAtPoint(scrubRef.current.lastX, scrubRef.current.lastY);
335
+ }, CHART_SCRUB_HOLD_MS);
336
+ };
337
+ const noteHoldMove = event => {
338
+ const point = touchPoint(event);
339
+ scrubRef.current.lastX = point.locationX;
340
+ scrubRef.current.lastY = point.locationY;
341
+ if (!pointerRef.current.holdToScrub) {
342
+ activateAtPoint(point.locationX, point.locationY);
343
+ return;
344
+ }
345
+ if (scrubRef.current.locked || scrubRef.current.holdTimer == null) {
346
+ return;
347
+ }
348
+ const dist = Math.hypot(point.pageX - scrubRef.current.startPageX, point.pageY - scrubRef.current.startPageY);
349
+ if (dist > SCRUB_MOVE_SLOP_PX) {
350
+ clearHoldTimer();
351
+ }
352
+ };
353
+ const panResponder = (0, _react.useRef)(_reactNative.PanResponder.create({
354
+ onStartShouldSetPanResponder: () => false,
355
+ onMoveShouldSetPanResponder: () => {
356
+ if (_reactNative.Platform.OS === 'web') {
357
+ return false;
358
+ }
359
+ return pointerRef.current.holdToScrub && scrubRef.current.locked;
360
+ },
361
+ onPanResponderTerminationRequest: () => !scrubRef.current.locked,
362
+ onPanResponderGrant: event => {
363
+ activateAtPoint(event.nativeEvent.locationX, event.nativeEvent.locationY);
364
+ },
365
+ onPanResponderMove: event => {
366
+ activateAtPoint(event.nativeEvent.locationX, event.nativeEvent.locationY);
367
+ },
368
+ onPanResponderRelease: finishScrub,
369
+ onPanResponderTerminate: finishScrub
370
+ })).current;
371
+ const count = targets.length;
372
+ const rovingIndex = Math.min(activeIndex ?? selectedIndex ?? 0, Math.max(count - 1, 0));
373
+
374
+ // RN Web Pressable does not emit hover. Bind the DOM node directly so mousemove
375
+ // along the line (and across category bands) opens the tooltip.
376
+ (0, _react.useEffect)(() => {
377
+ const node = overlayRef.current;
378
+ if (node == null || typeof node.addEventListener !== 'function') {
379
+ return;
380
+ }
381
+ const hitAt = event => {
382
+ const {
383
+ targets: nextTargets,
384
+ hitTest: test
385
+ } = pointerRef.current;
386
+ const rect = node.getBoundingClientRect();
387
+ const x = event.clientX - rect.left;
388
+ const y = event.clientY - rect.top;
389
+ return test ? test(x, y) : targetIndexAt(nextTargets, x, y);
390
+ };
391
+ const clearActive = () => {
392
+ const {
393
+ activeIndex: index,
394
+ onDeactivate: deactivate,
395
+ onDismiss: dismiss
396
+ } = pointerRef.current;
397
+ dismiss();
398
+ if (index !== null) {
399
+ deactivate(index);
400
+ }
401
+ };
402
+ const move = event => {
403
+ setKeyboardFocus(false);
404
+ const next = hitAt(event);
405
+ const {
406
+ onActivate: activate,
407
+ activeIndex: index,
408
+ onDeactivate: deactivate
409
+ } = pointerRef.current;
410
+ if (next === null) {
411
+ if (index !== null) {
412
+ deactivate(index);
413
+ }
414
+ return;
415
+ }
416
+ activate(next);
417
+ };
418
+ const down = event => {
419
+ if (event.button !== 0) {
420
+ return;
421
+ }
422
+ setKeyboardFocus(false);
423
+ const next = hitAt(event);
424
+ const {
425
+ onActivate: activate,
426
+ selectable: canSelect,
427
+ onSelectIndex: select
428
+ } = pointerRef.current;
429
+ if (next === null) {
430
+ clearActive();
431
+ return;
432
+ }
433
+ activate(next);
434
+ if (canSelect) {
435
+ select(next);
436
+ }
437
+ };
438
+ const leave = event => {
439
+ if (node.contains(event.relatedTarget)) {
440
+ return;
441
+ }
442
+ const {
443
+ activeIndex: index,
444
+ onDeactivate: deactivate
445
+ } = pointerRef.current;
446
+ if (index !== null) {
447
+ deactivate(index);
448
+ }
449
+ };
450
+ const docDown = event => {
451
+ if (node.contains(event.target)) {
452
+ return;
453
+ }
454
+ clearActive();
455
+ };
456
+ node.addEventListener('mousemove', move);
457
+ node.addEventListener('mousedown', down);
458
+ node.addEventListener('mouseleave', leave);
459
+ document.addEventListener('mousedown', docDown);
460
+ return () => {
461
+ node.removeEventListener('mousemove', move);
462
+ node.removeEventListener('mousedown', down);
463
+ node.removeEventListener('mouseleave', leave);
464
+ document.removeEventListener('mousedown', docDown);
465
+ if (scrubRef.current.holdTimer != null) {
466
+ clearTimeout(scrubRef.current.holdTimer);
467
+ scrubRef.current.holdTimer = null;
468
+ }
469
+ };
470
+ }, []);
471
+ const handleKeyDown = (index, event) => {
472
+ const key = event.nativeEvent.key ?? event.key ?? '';
473
+ const shiftKey = event.shiftKey === true || event.nativeEvent.shiftKey === true;
474
+ if (key === 'Escape' || key === 'Enter' || key === ' ' || key === 'Tab' || key === 'ArrowRight' || key === 'ArrowLeft' || key === 'ArrowUp' || key === 'ArrowDown' || key === 'Home' || key === 'End') {
475
+ setKeyboardFocus(true);
476
+ }
477
+ if (key === 'Escape') {
478
+ event.preventDefault?.();
479
+ onDismiss();
480
+ return;
481
+ }
482
+ if (key === 'Enter' || key === ' ') {
483
+ event.preventDefault?.();
484
+ onActivate(index);
485
+ if (selectable) {
486
+ onSelectIndex(index);
487
+ }
488
+ return;
489
+ }
490
+ if (key === 'Tab') {
491
+ const next = neighborIndex?.(index, shiftKey ? 'Shift+Tab' : 'Tab');
492
+ if (next === undefined || next === null || next === index) {
493
+ return;
494
+ }
495
+ event.preventDefault?.();
496
+ onActivate(next);
497
+ refs.current[next]?.focus();
498
+ return;
499
+ }
500
+ let next = neighborIndex?.(index, key) ?? null;
501
+ if (next === null) {
502
+ if (key === 'ArrowRight' || key === 'ArrowDown') {
503
+ next = Math.min(index + 1, count - 1);
504
+ } else if (key === 'ArrowLeft' || key === 'ArrowUp') {
505
+ next = Math.max(index - 1, 0);
506
+ } else if (key === 'Home') {
507
+ next = 0;
508
+ } else if (key === 'End') {
509
+ next = count - 1;
510
+ }
511
+ }
512
+ if (next === null) {
513
+ return;
514
+ }
515
+ event.preventDefault?.();
516
+ onActivate(next);
517
+ refs.current[next]?.focus();
518
+ };
519
+ const blurInspector = event => {
520
+ const related = event?.nativeEvent?.relatedTarget ?? event?.relatedTarget;
521
+ const node = overlayRef.current;
522
+ if (node?.contains?.(related) === true) {
523
+ return;
524
+ }
525
+ setKeyboardFocus(false);
526
+ if (activeIndex !== null) {
527
+ onDeactivate(activeIndex);
528
+ }
529
+ };
530
+ const outline = keyboardFocus && activeIndex !== null ? targets.at(activeIndex)?.outline ?? targets.at(activeIndex) : undefined;
531
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
532
+ ref: overlayRef,
533
+ className: "absolute inset-0 z-10",
534
+ role: "group",
535
+ "aria-label": summary,
536
+ accessibilityLabel: summary,
537
+ onAccessibilityEscape: onDismiss,
538
+ ...(_reactNative.Platform.OS === 'web' ? {} : {
539
+ ...panResponder.panHandlers,
540
+ onTouchStart: beginHold,
541
+ onTouchMove: noteHoldMove,
542
+ onTouchEnd: finishScrub,
543
+ onTouchCancel: finishScrub
544
+ }),
545
+ ...(0, _primitives.dataAttributes)({
546
+ slot: `${slot}-inspector`
547
+ }),
548
+ children: [outline !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
549
+ pointerEvents: "none",
550
+ className: "absolute rounded-sm border-2 border-[var(--color-stroke-ring)]",
551
+ style: {
552
+ left: outline.left,
553
+ top: outline.top,
554
+ width: outline.width,
555
+ height: outline.height
556
+ },
557
+ accessibilityElementsHidden: true,
558
+ importantForAccessibility: "no-hide-descendants",
559
+ ...(0, _primitives.dataAttributes)({
560
+ slot: `${slot}-focus`
561
+ })
562
+ }) : null, targets.map((target, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
563
+ ref: node => {
564
+ refs.current[index] = node;
565
+ },
566
+ className: "absolute rounded-sm web:outline-none",
567
+ style: {
568
+ left: target.left,
569
+ top: target.top,
570
+ width: target.width,
571
+ height: target.height
572
+ },
573
+ accessibilityRole: "button",
574
+ accessibilityLabel: target.accessibilityLabel,
575
+ accessibilityState: selectable && _reactNative.Platform.OS !== 'web' ? {
576
+ selected: target.selected
577
+ } : undefined,
578
+ "aria-pressed": selectable && _reactNative.Platform.OS === 'web' ? target.selected : undefined,
579
+ pointerEvents: "none",
580
+ focusable: _reactNative.Platform.OS !== 'web' || index === rovingIndex,
581
+ tabIndex: index === rovingIndex ? 0 : -1,
582
+ onHoverIn: () => {
583
+ onActivate(index);
584
+ },
585
+ onHoverOut: () => {
586
+ onDeactivate(index);
587
+ },
588
+ onFocus: () => {
589
+ setKeyboardFocus(true);
590
+ onActivate(index);
591
+ },
592
+ onBlur: event => blurInspector(event),
593
+ onPress: () => {
594
+ onActivate(index);
595
+ if (selectable) {
596
+ onSelectIndex(index);
597
+ }
598
+ },
599
+ onAccessibilityEscape: onDismiss,
600
+ onKeyDown: event => {
601
+ handleKeyDown(index, event);
602
+ },
603
+ ...(0, _primitives.dataAttributes)({
604
+ slot: `${slot}-point`,
605
+ selected: target.selected
606
+ })
607
+ }, target.key))]
608
+ });
609
+ }
610
+ //# sourceMappingURL=ChartInspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_primitives","_jsxRuntime","TOOLTIP_GAP","TOOLTIP_MAX_WIDTH","MIN_POINTER_TARGET_PX","exports","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","jsxs","View","className","onLayout","layout","accessibilityElementsHidden","importantForAccessibility","dataAttributes","children","jsx","Text","title","items","map","style","backgroundColor","color","seriesId","ChartTooltipLayer","anchorX","anchorY","anchorRadius","size","setSize","useState","position","pointerEvents","opacity","transform","translateX","translateY","next","prev","ChartInspector","summary","selectable","activeIndex","selectedIndex","holdToScrub","onActivate","onDeactivate","onDismiss","onSelectIndex","hitTest","neighborIndex","onScrubLockChange","refs","useRef","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","Platform","OS","point","setTimeout","noteHoldMove","dist","hypot","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","count","rovingIndex","useEffect","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","Pressable","accessibilityRole","accessibilityState","selected","focusable","tabIndex","onHoverIn","onHoverOut","onFocus","onBlur","onPress","onKeyDown"],"sourceRoot":"../../../../src","sources":["components/chart/ChartInspector.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAAoD,IAAAG,WAAA,GAAAH,OAAA;AAuCpD,MAAMI,WAAW,GAAG,CAAC;AACrB,MAAMC,iBAAiB,GAAG,GAAG;AAC7B;AACO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,EAAE;AACvC;AACO,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,GAAG;AACtC,MAAMC,kBAAkB,GAAG,EAAE;AAiB7B,SAASC,UAAUA,CAACC,KAA0B,EAK5C;EACA,MAAMC,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACC,OAAO,GAAG,CAAC,CAAC;EAC5C,MAAMC,SAAS,GAAGH,KAAK,EAAEG,SAAS,IAAIJ,KAAK,CAACE,WAAW,CAACE,SAAS,IAAI,CAAC;EACtE,MAAMC,SAAS,GAAGJ,KAAK,EAAEI,SAAS,IAAIL,KAAK,CAACE,WAAW,CAACG,SAAS,IAAI,CAAC;EACtE,OAAO;IACLD,SAAS;IACTC,SAAS;IACTC,KAAK,EAAEL,KAAK,EAAEK,KAAK,IAAIN,KAAK,CAACE,WAAW,CAACI,KAAK,IAAIF,SAAS;IAC3DG,KAAK,EAAEN,KAAK,EAAEM,KAAK,IAAIP,KAAK,CAACE,WAAW,CAACK,KAAK,IAAIF;EACpD,CAAC;AACH;AAEO,SAASG,YAAYA,CAC1BC,IAAY,EACZC,GAAW,EACXC,KAAa,EACbC,MAAc,EACdC,OAAe,GAAGlB,qBAAqB,EACuB;EAC9D,MAAMmB,SAAS,GAAGC,IAAI,CAACC,GAAG,CAACL,KAAK,EAAEE,OAAO,CAAC;EAC1C,MAAMI,UAAU,GAAGF,IAAI,CAACC,GAAG,CAACJ,MAAM,EAAEC,OAAO,CAAC;EAC5C,OAAO;IACLJ,IAAI,EAAEA,IAAI,GAAG,CAACK,SAAS,GAAGH,KAAK,IAAI,CAAC;IACpCD,GAAG,EAAEA,GAAG,GAAG,CAACO,UAAU,GAAGL,MAAM,IAAI,CAAC;IACpCD,KAAK,EAAEG,SAAS;IAChBF,MAAM,EAAEK;EACV,CAAC;AACH;AAEA,SAASC,aAAaA,CACpBC,OAAwC,EACxCC,CAAS,EACTC,CAAS,EACM;EACf,MAAMC,GAAG,GAAGH,OAAO,CAACI,SAAS,CAC1BC,MAAM,IACLJ,CAAC,IAAII,MAAM,CAACf,IAAI,IAChBW,CAAC,IAAII,MAAM,CAACf,IAAI,GAAGe,MAAM,CAACb,KAAK,IAC/BU,CAAC,IAAIG,MAAM,CAACd,GAAG,IACfW,CAAC,IAAIG,MAAM,CAACd,GAAG,GAAGc,MAAM,CAACZ,MAC7B,CAAC;EACD,OAAOU,GAAG,IAAI,CAAC,GAAGA,GAAG,GAAG,IAAI;AAC9B;AAEO,SAASG,cAAcA,CAACC,IAAsB,EAAU;EAC7D,OAAOA,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC,GAAG,GAAGF,IAAI,CAACC,KAAK,IAAID,IAAI,CAACG,cAAc,EAAE,GAAGH,IAAI,CAACG,cAAc;AAC7F;AAOA,SAASC,SAASA,CAACC,KAAa,EAAEC,GAAW,EAAEhB,GAAW,EAAU;EAClE;EACA,IAAIA,GAAG,GAAGgB,GAAG,EAAE;IACb,OAAO,CAACA,GAAG,GAAGhB,GAAG,IAAI,CAAC;EACxB;EACA,OAAOD,IAAI,CAACiB,GAAG,CAACjB,IAAI,CAACC,GAAG,CAACe,KAAK,EAAEC,GAAG,CAAC,EAAEhB,GAAG,CAAC;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASiB,iBAAiBA,CAC/BC,MAA4E,EAC5EC,GAAqB,EACrBC,KAAuB,EACQ;EAC/B,MAAMC,GAAG,GAAG5C,WAAW,IAAIyC,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC;EAC9C,MAAMC,OAAO,GAAGL,MAAM,CAACd,CAAC,GAAGiB,GAAG;EAC9B,MAAMG,MAAM,GAAGN,MAAM,CAACd,CAAC,GAAGiB,GAAG,GAAGF,GAAG,CAACxB,KAAK;EACzC,MAAM8B,SAAS,GAAGF,OAAO,GAAGJ,GAAG,CAACxB,KAAK,IAAIyB,KAAK,CAACzB,KAAK;EACpD,MAAM+B,QAAQ,GAAGF,MAAM,IAAI,CAAC;EAC5B,MAAMG,OAAO,GAAGP,KAAK,CAACzB,KAAK,GAAGwB,GAAG,CAACxB,KAAK;EACvC,MAAMiC,MAAM,GAAGR,KAAK,CAACxB,MAAM,GAAGuB,GAAG,CAACvB,MAAM;EACxC,IAAI8B,QAAQ,IAAID,SAAS,EAAE;IACzB,MAAMI,OAAO,GAAGX,MAAM,CAACd,CAAC,GAAGgB,KAAK,CAACzB,KAAK,GAAG,CAAC,GAAG+B,QAAQ,GAAG,CAACD,SAAS;IAClE,MAAM/B,GAAG,GAAGwB,MAAM,CAACb,CAAC,GAAGe,KAAK,CAACxB,MAAM,GAAG,CAAC,GAAGsB,MAAM,CAACb,CAAC,GAAGc,GAAG,CAACvB,MAAM,GAAGsB,MAAM,CAACb,CAAC;IAC1E,OAAO;MAAEZ,IAAI,EAAEoC,OAAO,GAAGL,MAAM,GAAGD,OAAO;MAAE7B,GAAG,EAAEoB,SAAS,CAACpB,GAAG,EAAE,CAAC,EAAEkC,MAAM;IAAE,CAAC;EAC7E;EACA,MAAME,KAAK,GAAGZ,MAAM,CAACb,CAAC,GAAG5B,WAAW,GAAG0C,GAAG,CAACvB,MAAM;EACjD,MAAMF,GAAG,GAAGoC,KAAK,IAAI,CAAC,GAAGA,KAAK,GAAGZ,MAAM,CAACb,CAAC,GAAG5B,WAAW;EACvD,OAAO;IACLgB,IAAI,EAAEqB,SAAS,CAACI,MAAM,CAACd,CAAC,GAAGe,GAAG,CAACxB,KAAK,GAAG,CAAC,EAAE,CAAC,EAAEgC,OAAO,CAAC;IACrDjC,GAAG,EAAEoB,SAAS,CAACpB,GAAG,EAAE,CAAC,EAAEkC,MAAM;EAC/B,CAAC;AACH;;AAEA;AACA,SAASG,YAAYA,CAAC;EACpBC,OAAO;EACPC,WAAW;EACXC,IAAI;EACJC;AAMF,CAAC,EAAE;EACD,oBACE,IAAA3D,WAAA,CAAA4D,IAAA,EAAC9D,YAAA,CAAA+D,IAAI;IACHC,SAAS,EAAC,gEAAgE;IAC1EC,QAAQ,EAAGvD,KAAK,IAAK;MACnB,MAAM;QAAEW,KAAK;QAAEC;MAAO,CAAC,GAAGZ,KAAK,CAACE,WAAW,CAACsD,MAAM;MAClDL,MAAM,CAAC;QAAExC,KAAK;QAAEC;MAAO,CAAC,CAAC;IAC3B,CAAE;IACF,mBAAW;IACX6C,2BAA2B;IAC3BC,yBAAyB,EAAC,qBAAqB;IAAA,GAC3C,IAAAC,0BAAc,EAAC;MAAET,IAAI,EAAE,GAAGA,IAAI;IAAW,CAAC,CAAC;IAAAU,QAAA,gBAE/C,IAAApE,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAAwE,IAAI;MAACR,SAAS,EAAC,oDAAoD;MAAAM,QAAA,EAAEZ,OAAO,CAACe;IAAK,CAAO,CAAC,EAC1Ff,OAAO,CAACgB,KAAK,CAACpC,MAAM,KAAK,CAAC,gBACzB,IAAApC,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAAwE,IAAI;MAACR,SAAS,EAAC,wCAAwC;MAAAM,QAAA,EAAEX;IAAW,CAAO,CAAC,GAE7ED,OAAO,CAACgB,KAAK,CAACC,GAAG,CAAEvC,IAAI,iBACrB,IAAAlC,WAAA,CAAA4D,IAAA,EAAC9D,YAAA,CAAA+D,IAAI;MAAqBC,SAAS,EAAC,+BAA+B;MAAAM,QAAA,gBACjE,IAAApE,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAA+D,IAAI;QAACC,SAAS,EAAC,qBAAqB;QAACY,KAAK,EAAE;UAAEC,eAAe,EAAEzC,IAAI,CAAC0C;QAAM;MAAE,CAAE,CAAC,eAChF,IAAA5E,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAAwE,IAAI;QAACR,SAAS,EAAC,wCAAwC;QAAAM,QAAA,EAAEnC,cAAc,CAACC,IAAI;MAAC,CAAO,CAAC;IAAA,GAF7EA,IAAI,CAAC2C,QAGV,CACP,CACF;EAAA,CACG,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAC;EAChCtB,OAAO;EACPC,WAAW;EACXC,IAAI;EACJqB,OAAO;EACPC,OAAO;EACPC,YAAY;EACZ9D,KAAK;EACLC;AAWF,CAAC,EAAE;EACD,MAAM,CAAC8D,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAA0B,IAAI,CAAC;EAC/D,MAAMC,QAAQ,GACZH,IAAI,KAAK,IAAI,GACT;IAAEjE,IAAI,EAAE,CAAC;IAAEC,GAAG,EAAE;EAAE,CAAC,GACnBuB,iBAAiB,CAAC;IAAEb,CAAC,EAAEmD,OAAO;IAAElD,CAAC,EAAEmD,OAAO;IAAElC,MAAM,EAAEmC;EAAa,CAAC,EAAEC,IAAI,EAAE;IACxE/D,KAAK;IACLC;EACF,CAAC,CAAC;EACR;EACA;EACA,oBACE,IAAApB,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAA+D,IAAI;IACHyB,aAAa,EAAC,MAAM;IACpBxB,SAAS,EAAC,wCAAwC;IAClDY,KAAK,EAAE;MACLvD,KAAK,EAAEjB,iBAAiB;MACxBqF,OAAO,EAAEL,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;MAC9BM,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEJ,QAAQ,CAACpE;MAAK,CAAC,EAAE;QAAEyE,UAAU,EAAEL,QAAQ,CAACnE;MAAI,CAAC;IACzE,CAAE;IAAAkD,QAAA,eAEF,IAAApE,WAAA,CAAAqE,GAAA,EAACd,YAAY;MACXC,OAAO,EAAEA,OAAQ;MACjBC,WAAW,EAAEA,WAAY;MACzBC,IAAI,EAAEA,IAAK;MACXC,MAAM,EAAGgC,IAAI,IAAK;QAChBR,OAAO,CAAES,IAAI,IACXA,IAAI,EAAEzE,KAAK,KAAKwE,IAAI,CAACxE,KAAK,IAAIyE,IAAI,CAACxE,MAAM,KAAKuE,IAAI,CAACvE,MAAM,GAAGwE,IAAI,GAAGD,IACrE,CAAC;MACH;IAAE,CACH;EAAC,CACE,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,cAAcA,CAAC;EAC7BlE,OAAO;EACPmE,OAAO;EACPC,UAAU;EACVC,WAAW;EACXC,aAAa;EACbvC,IAAI;EACJwC,WAAW,GAAG,KAAK;EACnBC,UAAU;EACVC,YAAY;EACZC,SAAS;EACTC,aAAa;EACbC,OAAO;EACPC,aAAa;EACbC;AAwBF,CAAC,EAAE;EACD,MAAMC,IAAI,GAAG,IAAAC,aAAM,EAAkB,EAAE,CAAC;EACxC,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAAO,IAAI,CAAC;EACrC,MAAM,CAACE,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAA1B,eAAQ,EAAC,KAAK,CAAC;EACzD,MAAM2B,UAAU,GAAG,IAAAJ,aAAM,EAAC;IACxBhF,OAAO;IACP4E,OAAO;IACPR,UAAU;IACVG,WAAW;IACXC,UAAU;IACVC,YAAY;IACZC,SAAS;IACTC,aAAa;IACbN,WAAW;IACXQ,aAAa;IACbC;EACF,CAAC,CAAC;EACFM,UAAU,CAACC,OAAO,GAAG;IACnBrF,OAAO;IACP4E,OAAO;IACPR,UAAU;IACVG,WAAW;IACXC,UAAU;IACVC,YAAY;IACZC,SAAS;IACTC,aAAa;IACbN,WAAW;IACXQ,aAAa;IACbC;EACF,CAAC;EACD,MAAMQ,QAAQ,GAAG,IAAAN,aAAM,EAAC;IACtBO,MAAM,EAAE,KAAK;IACbC,SAAS,EAAE,IAA4C;IACvDC,UAAU,EAAE,CAAC;IACbC,UAAU,EAAE,CAAC;IACbC,KAAK,EAAE,CAAC;IACRC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAGA,CAAC5F,CAAS,EAAEC,CAAS,KAAK;IAC3C,MAAM;MAAEF,OAAO,EAAE8F,WAAW;MAAElB,OAAO,EAAEmB;IAAK,CAAC,GAAGX,UAAU,CAACC,OAAO;IAClE,OAAOU,IAAI,GAAGA,IAAI,CAAC9F,CAAC,EAAEC,CAAC,CAAC,GAAGH,aAAa,CAAC+F,WAAW,EAAE7F,CAAC,EAAEC,CAAC,CAAC;EAC7D,CAAC;EACD,MAAM8F,eAAe,GAAGA,CAAC/F,CAAS,EAAEC,CAAS,KAAK;IAChD,MAAM8D,IAAI,GAAG6B,UAAU,CAAC5F,CAAC,EAAEC,CAAC,CAAC;IAC7B,MAAM;MACJsE,UAAU,EAAEyB,QAAQ;MACpB5B,WAAW,EAAE6B,KAAK;MAClBzB,YAAY,EAAE0B;IAChB,CAAC,GAAGf,UAAU,CAACC,OAAO;IACtB,IAAIrB,IAAI,KAAK,IAAI,EAAE;MACjB,IAAIkC,KAAK,KAAK,IAAI,EAAE;QAClBC,UAAU,CAACD,KAAK,CAAC;MACnB;MACA;IACF;IACAD,QAAQ,CAACjC,IAAI,CAAC;EAChB,CAAC;EACD,MAAMoC,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAId,QAAQ,CAACD,OAAO,CAACG,SAAS,IAAI,IAAI,EAAE;MACtCa,YAAY,CAACf,QAAQ,CAACD,OAAO,CAACG,SAAS,CAAC;MACxCF,QAAQ,CAACD,OAAO,CAACG,SAAS,GAAG,IAAI;IACnC;EACF,CAAC;EACD,MAAMc,YAAY,GAAGA,CAAA,KAAM;IACzB,MAAM;MAAEjC,WAAW,EAAE6B,KAAK;MAAEzB,YAAY,EAAE0B,UAAU;MAAEzB,SAAS,EAAE6B;IAAQ,CAAC,GAAGnB,UAAU,CAACC,OAAO;IAC/FkB,OAAO,CAAC,CAAC;IACT,IAAIL,KAAK,KAAK,IAAI,EAAE;MAClBC,UAAU,CAACD,KAAK,CAAC;IACnB;EACF,CAAC;EACD,MAAMM,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMC,SAAS,GAAGnB,QAAQ,CAACD,OAAO,CAACE,MAAM;IACzC;IACA;IACA,MAAMmB,MAAM,GACVtB,UAAU,CAACC,OAAO,CAACd,WAAW,IAAI,CAACkC,SAAS,IAAInB,QAAQ,CAACD,OAAO,CAACG,SAAS,IAAI,IAAI;IACpFY,cAAc,CAAC,CAAC;IAChB,MAAMO,YAAY,GAAGF,SAAS,IAAIC,MAAM,IAAI,CAACtB,UAAU,CAACC,OAAO,CAACd,WAAW;IAC3Ee,QAAQ,CAACD,OAAO,CAACE,MAAM,GAAG,KAAK;IAC/B,IAAIkB,SAAS,EAAE;MACbrB,UAAU,CAACC,OAAO,CAACP,iBAAiB,GAAG,KAAK,CAAC;IAC/C;IACA,IAAI,CAAC6B,YAAY,EAAE;MACjB;IACF;IACA,MAAM;MACJtC,WAAW,EAAE6B,KAAK;MAClB9B,UAAU,EAAEwC,SAAS;MACrBjC,aAAa,EAAEkC,MAAM;MACrBrC,UAAU,EAAEyB;IACd,CAAC,GAAGb,UAAU,CAACC,OAAO;IACtB,MAAMlF,GAAG,GAAGuG,MAAM,GAAGb,UAAU,CAACP,QAAQ,CAACD,OAAO,CAACM,KAAK,EAAEL,QAAQ,CAACD,OAAO,CAACO,KAAK,CAAC,GAAGM,KAAK;IACvF,IAAIQ,MAAM,IAAIvG,GAAG,KAAK,IAAI,EAAE;MAC1B8F,QAAQ,CAAC9F,GAAG,CAAC;IACf;IACA,IAAIyG,SAAS,IAAIzG,GAAG,KAAK,IAAI,EAAE;MAC7B0G,MAAM,CAAC1G,GAAG,CAAC;IACb;IACAmG,YAAY,CAAC,CAAC;EAChB,CAAC;EACD,MAAMQ,SAAS,GAAIjI,KAA0B,IAAK;IAChD,IAAIkI,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB;IACF;IACA,MAAMC,KAAK,GAAGrI,UAAU,CAACC,KAAK,CAAC;IAC/BuH,cAAc,CAAC,CAAC;IAChBd,QAAQ,CAACD,OAAO,CAACE,MAAM,GAAG,KAAK;IAC/BD,QAAQ,CAACD,OAAO,CAACI,UAAU,GAAGwB,KAAK,CAAC9H,KAAK;IACzCmG,QAAQ,CAACD,OAAO,CAACK,UAAU,GAAGuB,KAAK,CAAC7H,KAAK;IACzCkG,QAAQ,CAACD,OAAO,CAACM,KAAK,GAAGsB,KAAK,CAAChI,SAAS;IACxCqG,QAAQ,CAACD,OAAO,CAACO,KAAK,GAAGqB,KAAK,CAAC/H,SAAS;IACxC,IAAI,CAACkG,UAAU,CAACC,OAAO,CAACd,WAAW,EAAE;MACnCyB,eAAe,CAACiB,KAAK,CAAChI,SAAS,EAAEgI,KAAK,CAAC/H,SAAS,CAAC;MACjD;IACF;IACAoG,QAAQ,CAACD,OAAO,CAACG,SAAS,GAAG0B,UAAU,CAAC,MAAM;MAC5C5B,QAAQ,CAACD,OAAO,CAACG,SAAS,GAAG,IAAI;MACjCF,QAAQ,CAACD,OAAO,CAACE,MAAM,GAAG,IAAI;MAC9BH,UAAU,CAACC,OAAO,CAACP,iBAAiB,GAAG,IAAI,CAAC;MAC5CkB,eAAe,CAACV,QAAQ,CAACD,OAAO,CAACM,KAAK,EAAEL,QAAQ,CAACD,OAAO,CAACO,KAAK,CAAC;IACjE,CAAC,EAAElH,mBAAmB,CAAC;EACzB,CAAC;EACD,MAAMyI,YAAY,GAAItI,KAA0B,IAAK;IACnD,MAAMoI,KAAK,GAAGrI,UAAU,CAACC,KAAK,CAAC;IAC/ByG,QAAQ,CAACD,OAAO,CAACM,KAAK,GAAGsB,KAAK,CAAChI,SAAS;IACxCqG,QAAQ,CAACD,OAAO,CAACO,KAAK,GAAGqB,KAAK,CAAC/H,SAAS;IACxC,IAAI,CAACkG,UAAU,CAACC,OAAO,CAACd,WAAW,EAAE;MACnCyB,eAAe,CAACiB,KAAK,CAAChI,SAAS,EAAEgI,KAAK,CAAC/H,SAAS,CAAC;MACjD;IACF;IACA,IAAIoG,QAAQ,CAACD,OAAO,CAACE,MAAM,IAAID,QAAQ,CAACD,OAAO,CAACG,SAAS,IAAI,IAAI,EAAE;MACjE;IACF;IACA,MAAM4B,IAAI,GAAGxH,IAAI,CAACyH,KAAK,CACrBJ,KAAK,CAAC9H,KAAK,GAAGmG,QAAQ,CAACD,OAAO,CAACI,UAAU,EACzCwB,KAAK,CAAC7H,KAAK,GAAGkG,QAAQ,CAACD,OAAO,CAACK,UACjC,CAAC;IACD,IAAI0B,IAAI,GAAGzI,kBAAkB,EAAE;MAC7ByH,cAAc,CAAC,CAAC;IAClB;EACF,CAAC;EAED,MAAMkB,YAAY,GAAG,IAAAtC,aAAM,EACzBuC,yBAAY,CAACC,MAAM,CAAC;IAClBC,4BAA4B,EAAEA,CAAA,KAAM,KAAK;IACzCC,2BAA2B,EAAEA,CAAA,KAAM;MACjC,IAAIX,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;QACzB,OAAO,KAAK;MACd;MACA,OAAO5B,UAAU,CAACC,OAAO,CAACd,WAAW,IAAIe,QAAQ,CAACD,OAAO,CAACE,MAAM;IAClE,CAAC;IACDoC,gCAAgC,EAAEA,CAAA,KAAM,CAACrC,QAAQ,CAACD,OAAO,CAACE,MAAM;IAChEqC,mBAAmB,EAAG/I,KAAK,IAAK;MAC9BmH,eAAe,CAACnH,KAAK,CAACE,WAAW,CAACE,SAAS,EAAEJ,KAAK,CAACE,WAAW,CAACG,SAAS,CAAC;IAC3E,CAAC;IACD2I,kBAAkB,EAAGhJ,KAAK,IAAK;MAC7BmH,eAAe,CAACnH,KAAK,CAACE,WAAW,CAACE,SAAS,EAAEJ,KAAK,CAACE,WAAW,CAACG,SAAS,CAAC;IAC3E,CAAC;IACD4I,qBAAqB,EAAEtB,WAAW;IAClCuB,uBAAuB,EAAEvB;EAC3B,CAAC,CACH,CAAC,CAACnB,OAAO;EAET,MAAM2C,KAAK,GAAGhI,OAAO,CAACS,MAAM;EAC5B,MAAMwH,WAAW,GAAGrI,IAAI,CAACiB,GAAG,CAACwD,WAAW,IAAIC,aAAa,IAAI,CAAC,EAAE1E,IAAI,CAACC,GAAG,CAACmI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEvF;EACA;EACA,IAAAE,gBAAS,EAAC,MAAM;IACd,MAAMC,IAAI,GAAGlD,UAAU,CAACI,OAAwC;IAChE,IAAI8C,IAAI,IAAI,IAAI,IAAI,OAAOA,IAAI,CAACC,gBAAgB,KAAK,UAAU,EAAE;MAC/D;IACF;IACA,MAAMC,KAAK,GAAIxJ,KAAiB,IAAK;MACnC,MAAM;QAAEmB,OAAO,EAAE8F,WAAW;QAAElB,OAAO,EAAEmB;MAAK,CAAC,GAAGX,UAAU,CAACC,OAAO;MAClE,MAAMiD,IAAI,GAAGH,IAAI,CAACI,qBAAqB,CAAC,CAAC;MACzC,MAAMtI,CAAC,GAAGpB,KAAK,CAAC2J,OAAO,GAAGF,IAAI,CAAChJ,IAAI;MACnC,MAAMY,CAAC,GAAGrB,KAAK,CAAC4J,OAAO,GAAGH,IAAI,CAAC/I,GAAG;MAClC,OAAOwG,IAAI,GAAGA,IAAI,CAAC9F,CAAC,EAAEC,CAAC,CAAC,GAAGH,aAAa,CAAC+F,WAAW,EAAE7F,CAAC,EAAEC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAMwI,WAAW,GAAGA,CAAA,KAAM;MACxB,MAAM;QACJrE,WAAW,EAAE6B,KAAK;QAClBzB,YAAY,EAAE0B,UAAU;QACxBzB,SAAS,EAAE6B;MACb,CAAC,GAAGnB,UAAU,CAACC,OAAO;MACtBkB,OAAO,CAAC,CAAC;MACT,IAAIL,KAAK,KAAK,IAAI,EAAE;QAClBC,UAAU,CAACD,KAAK,CAAC;MACnB;IACF,CAAC;IACD,MAAMyC,IAAI,GAAI9J,KAAiB,IAAK;MAClCsG,gBAAgB,CAAC,KAAK,CAAC;MACvB,MAAMnB,IAAI,GAAGqE,KAAK,CAACxJ,KAAK,CAAC;MACzB,MAAM;QACJ2F,UAAU,EAAEyB,QAAQ;QACpB5B,WAAW,EAAE6B,KAAK;QAClBzB,YAAY,EAAE0B;MAChB,CAAC,GAAGf,UAAU,CAACC,OAAO;MACtB,IAAIrB,IAAI,KAAK,IAAI,EAAE;QACjB,IAAIkC,KAAK,KAAK,IAAI,EAAE;UAClBC,UAAU,CAACD,KAAK,CAAC;QACnB;QACA;MACF;MACAD,QAAQ,CAACjC,IAAI,CAAC;IAChB,CAAC;IACD,MAAM4E,IAAI,GAAI/J,KAAiB,IAAK;MAClC,IAAIA,KAAK,CAACgK,MAAM,KAAK,CAAC,EAAE;QACtB;MACF;MACA1D,gBAAgB,CAAC,KAAK,CAAC;MACvB,MAAMnB,IAAI,GAAGqE,KAAK,CAACxJ,KAAK,CAAC;MACzB,MAAM;QACJ2F,UAAU,EAAEyB,QAAQ;QACpB7B,UAAU,EAAEwC,SAAS;QACrBjC,aAAa,EAAEkC;MACjB,CAAC,GAAGzB,UAAU,CAACC,OAAO;MACtB,IAAIrB,IAAI,KAAK,IAAI,EAAE;QACjB0E,WAAW,CAAC,CAAC;QACb;MACF;MACAzC,QAAQ,CAACjC,IAAI,CAAC;MACd,IAAI4C,SAAS,EAAE;QACbC,MAAM,CAAC7C,IAAI,CAAC;MACd;IACF,CAAC;IACD,MAAM8E,KAAK,GAAIjK,KAAiB,IAAK;MACnC,IAAIsJ,IAAI,CAACY,QAAQ,CAAClK,KAAK,CAACmK,aAA4B,CAAC,EAAE;QACrD;MACF;MACA,MAAM;QAAE3E,WAAW,EAAE6B,KAAK;QAAEzB,YAAY,EAAE0B;MAAW,CAAC,GAAGf,UAAU,CAACC,OAAO;MAC3E,IAAIa,KAAK,KAAK,IAAI,EAAE;QAClBC,UAAU,CAACD,KAAK,CAAC;MACnB;IACF,CAAC;IACD,MAAM+C,OAAO,GAAIpK,KAAiB,IAAK;MACrC,IAAIsJ,IAAI,CAACY,QAAQ,CAAClK,KAAK,CAACwB,MAAqB,CAAC,EAAE;QAC9C;MACF;MACAqI,WAAW,CAAC,CAAC;IACf,CAAC;IACDP,IAAI,CAACC,gBAAgB,CAAC,WAAW,EAAEO,IAAI,CAAC;IACxCR,IAAI,CAACC,gBAAgB,CAAC,WAAW,EAAEQ,IAAI,CAAC;IACxCT,IAAI,CAACC,gBAAgB,CAAC,YAAY,EAAEU,KAAK,CAAC;IAC1CI,QAAQ,CAACd,gBAAgB,CAAC,WAAW,EAAEa,OAAO,CAAC;IAC/C,OAAO,MAAM;MACXd,IAAI,CAACgB,mBAAmB,CAAC,WAAW,EAAER,IAAI,CAAC;MAC3CR,IAAI,CAACgB,mBAAmB,CAAC,WAAW,EAAEP,IAAI,CAAC;MAC3CT,IAAI,CAACgB,mBAAmB,CAAC,YAAY,EAAEL,KAAK,CAAC;MAC7CI,QAAQ,CAACC,mBAAmB,CAAC,WAAW,EAAEF,OAAO,CAAC;MAClD,IAAI3D,QAAQ,CAACD,OAAO,CAACG,SAAS,IAAI,IAAI,EAAE;QACtCa,YAAY,CAACf,QAAQ,CAACD,OAAO,CAACG,SAAS,CAAC;QACxCF,QAAQ,CAACD,OAAO,CAACG,SAAS,GAAG,IAAI;MACnC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM4D,aAAa,GAAGA,CAAClD,KAAa,EAAErH,KAAwB,KAAK;IACjE,MAAMwK,GAAG,GAAGxK,KAAK,CAACE,WAAW,CAACsK,GAAG,IAAIxK,KAAK,CAACwK,GAAG,IAAI,EAAE;IACpD,MAAMC,QAAQ,GAAGzK,KAAK,CAACyK,QAAQ,KAAK,IAAI,IAAIzK,KAAK,CAACE,WAAW,CAACuK,QAAQ,KAAK,IAAI;IAC/E,IACED,GAAG,KAAK,QAAQ,IAChBA,GAAG,KAAK,OAAO,IACfA,GAAG,KAAK,GAAG,IACXA,GAAG,KAAK,KAAK,IACbA,GAAG,KAAK,YAAY,IACpBA,GAAG,KAAK,WAAW,IACnBA,GAAG,KAAK,SAAS,IACjBA,GAAG,KAAK,WAAW,IACnBA,GAAG,KAAK,MAAM,IACdA,GAAG,KAAK,KAAK,EACb;MACAlE,gBAAgB,CAAC,IAAI,CAAC;IACxB;IACA,IAAIkE,GAAG,KAAK,QAAQ,EAAE;MACpBxK,KAAK,CAAC0K,cAAc,GAAG,CAAC;MACxB7E,SAAS,CAAC,CAAC;MACX;IACF;IACA,IAAI2E,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;MAClCxK,KAAK,CAAC0K,cAAc,GAAG,CAAC;MACxB/E,UAAU,CAAC0B,KAAK,CAAC;MACjB,IAAI9B,UAAU,EAAE;QACdO,aAAa,CAACuB,KAAK,CAAC;MACtB;MACA;IACF;IACA,IAAImD,GAAG,KAAK,KAAK,EAAE;MACjB,MAAMrF,IAAI,GAAGa,aAAa,GAAGqB,KAAK,EAAEoD,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;MACnE,IAAItF,IAAI,KAAKwF,SAAS,IAAIxF,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAKkC,KAAK,EAAE;QACzD;MACF;MACArH,KAAK,CAAC0K,cAAc,GAAG,CAAC;MACxB/E,UAAU,CAACR,IAAI,CAAC;MAChBe,IAAI,CAACM,OAAO,CAACrB,IAAI,CAAC,EAAEyF,KAAK,CAAC,CAAC;MAC3B;IACF;IACA,IAAIzF,IAAmB,GAAGa,aAAa,GAAGqB,KAAK,EAAEmD,GAAG,CAAC,IAAI,IAAI;IAC7D,IAAIrF,IAAI,KAAK,IAAI,EAAE;MACjB,IAAIqF,GAAG,KAAK,YAAY,IAAIA,GAAG,KAAK,WAAW,EAAE;QAC/CrF,IAAI,GAAGpE,IAAI,CAACiB,GAAG,CAACqF,KAAK,GAAG,CAAC,EAAE8B,KAAK,GAAG,CAAC,CAAC;MACvC,CAAC,MAAM,IAAIqB,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,SAAS,EAAE;QACnDrF,IAAI,GAAGpE,IAAI,CAACC,GAAG,CAACqG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;MAC/B,CAAC,MAAM,IAAImD,GAAG,KAAK,MAAM,EAAE;QACzBrF,IAAI,GAAG,CAAC;MACV,CAAC,MAAM,IAAIqF,GAAG,KAAK,KAAK,EAAE;QACxBrF,IAAI,GAAGgE,KAAK,GAAG,CAAC;MAClB;IACF;IACA,IAAIhE,IAAI,KAAK,IAAI,EAAE;MACjB;IACF;IACAnF,KAAK,CAAC0K,cAAc,GAAG,CAAC;IACxB/E,UAAU,CAACR,IAAI,CAAC;IAChBe,IAAI,CAACM,OAAO,CAACrB,IAAI,CAAC,EAAEyF,KAAK,CAAC,CAAC;EAC7B,CAAC;EAED,MAAMC,aAAa,GAAI7K,KAAqC,IAAK;IAC/D,MAAM8K,OAAO,GAAG9K,KAAK,EAAEE,WAAW,EAAEiK,aAAa,IAAInK,KAAK,EAAEmK,aAAa;IACzE,MAAMb,IAAI,GAAGlD,UAAU,CAACI,OAEhB;IACR,IAAI8C,IAAI,EAAEY,QAAQ,GAAGY,OAAO,CAAC,KAAK,IAAI,EAAE;MACtC;IACF;IACAxE,gBAAgB,CAAC,KAAK,CAAC;IACvB,IAAId,WAAW,KAAK,IAAI,EAAE;MACxBI,YAAY,CAACJ,WAAW,CAAC;IAC3B;EACF,CAAC;EAED,MAAMuF,OAAO,GACX1E,aAAa,IAAIb,WAAW,KAAK,IAAI,GAChCrE,OAAO,CAAC6J,EAAE,CAACxF,WAAW,CAAC,EAAEuF,OAAO,IAAI5J,OAAO,CAAC6J,EAAE,CAACxF,WAAW,CAAC,GAC5DmF,SAAS;EAEf,oBACE,IAAAnL,WAAA,CAAA4D,IAAA,EAAC9D,YAAA,CAAA+D,IAAI;IACH4H,GAAG,EAAE7E,UAAW;IAChB9C,SAAS,EAAC,uBAAuB;IACjC4H,IAAI,EAAC,OAAO;IACZ,cAAY5F,OAAQ;IACpB6F,kBAAkB,EAAE7F,OAAQ;IAC5B8F,qBAAqB,EAAEvF,SAAU;IAAA,IAC5BqC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACtB,CAAC,CAAC,GACF;MACE,GAAGM,YAAY,CAAC4C,WAAW;MAC3BC,YAAY,EAAErD,SAAS;MACvBsD,WAAW,EAAEjD,YAAY;MACzBkD,UAAU,EAAE7D,WAAW;MACvB8D,aAAa,EAAE9D;IACjB,CAAC;IAAA,GACD,IAAAhE,0BAAc,EAAC;MAAET,IAAI,EAAE,GAAGA,IAAI;IAAa,CAAC,CAAC;IAAAU,QAAA,GAEhDmH,OAAO,KAAKJ,SAAS,gBACpB,IAAAnL,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAA+D,IAAI;MACHyB,aAAa,EAAC,MAAM;MACpBxB,SAAS,EAAC,gEAAgE;MAC1EY,KAAK,EAAE;QACLzD,IAAI,EAAEsK,OAAO,CAACtK,IAAI;QAClBC,GAAG,EAAEqK,OAAO,CAACrK,GAAG;QAChBC,KAAK,EAAEoK,OAAO,CAACpK,KAAK;QACpBC,MAAM,EAAEmK,OAAO,CAACnK;MAClB,CAAE;MACF6C,2BAA2B;MAC3BC,yBAAyB,EAAC,qBAAqB;MAAA,GAC3C,IAAAC,0BAAc,EAAC;QAAET,IAAI,EAAE,GAAGA,IAAI;MAAS,CAAC;IAAC,CAC9C,CAAC,GACA,IAAI,EACP/B,OAAO,CAAC8C,GAAG,CAAC,CAACzC,MAAM,EAAE6F,KAAK,kBACzB,IAAA7H,WAAA,CAAAqE,GAAA,EAACvE,YAAA,CAAAoM,SAAS;MAERT,GAAG,EAAG3B,IAAI,IAAK;QACbpD,IAAI,CAACM,OAAO,CAACa,KAAK,CAAC,GAAGiC,IAAI;MAC5B,CAAE;MACFhG,SAAS,EAAC,sCAAsC;MAChDY,KAAK,EAAE;QACLzD,IAAI,EAAEe,MAAM,CAACf,IAAI;QACjBC,GAAG,EAAEc,MAAM,CAACd,GAAG;QACfC,KAAK,EAAEa,MAAM,CAACb,KAAK;QACnBC,MAAM,EAAEY,MAAM,CAACZ;MACjB,CAAE;MACF+K,iBAAiB,EAAC,QAAQ;MAC1BR,kBAAkB,EAAE3J,MAAM,CAAC2J,kBAAmB;MAC9CS,kBAAkB,EAChBrG,UAAU,IAAI2C,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG;QAAE0D,QAAQ,EAAErK,MAAM,CAACqK;MAAS,CAAC,GAAGlB,SACvE;MACD,gBAAcpF,UAAU,IAAI2C,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG3G,MAAM,CAACqK,QAAQ,GAAGlB,SAAU;MAChF7F,aAAa,EAAC,MAAM;MACpBgH,SAAS,EAAE5D,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAId,KAAK,KAAK+B,WAAY;MAC1D2C,QAAQ,EAAE1E,KAAK,KAAK+B,WAAW,GAAG,CAAC,GAAG,CAAC,CAAE;MACzC4C,SAAS,EAAEA,CAAA,KAAM;QACfrG,UAAU,CAAC0B,KAAK,CAAC;MACnB,CAAE;MACF4E,UAAU,EAAEA,CAAA,KAAM;QAChBrG,YAAY,CAACyB,KAAK,CAAC;MACrB,CAAE;MACF6E,OAAO,EAAEA,CAAA,KAAM;QACb5F,gBAAgB,CAAC,IAAI,CAAC;QACtBX,UAAU,CAAC0B,KAAK,CAAC;MACnB,CAAE;MACF8E,MAAM,EAAGnM,KAAc,IAAK6K,aAAa,CAAC7K,KAA2B,CAAE;MACvEoM,OAAO,EAAEA,CAAA,KAAM;QACbzG,UAAU,CAAC0B,KAAK,CAAC;QACjB,IAAI9B,UAAU,EAAE;UACdO,aAAa,CAACuB,KAAK,CAAC;QACtB;MACF,CAAE;MACF+D,qBAAqB,EAAEvF,SAAU;MAE/BwG,SAAS,EAAGrM,KAAwB,IAAK;QACvCuK,aAAa,CAAClD,KAAK,EAAErH,KAAK,CAAC;MAC7B,CAAC;MAAA,GAEC,IAAA2D,0BAAc,EAAC;QAAET,IAAI,EAAE,GAAGA,IAAI,QAAQ;QAAE2I,QAAQ,EAAErK,MAAM,CAACqK;MAAS,CAAC;IAAC,GA3CnErK,MAAM,CAACgJ,GA4Cb,CACF,CAAC;EAAA,CACE,CAAC;AAEX","ignoreList":[]}