@react-x11/components 0.1.0 → 0.2.1

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 (788) hide show
  1. package/README.md +979 -21
  2. package/dist/ansi/cast.d.ts +48 -0
  3. package/dist/ansi/cast.d.ts.map +1 -0
  4. package/dist/ansi/cast.js +135 -0
  5. package/dist/ansi/cast.js.map +1 -0
  6. package/dist/ansi/index.d.ts +10 -0
  7. package/dist/ansi/index.d.ts.map +1 -0
  8. package/dist/ansi/index.js +27 -0
  9. package/dist/ansi/index.js.map +1 -0
  10. package/dist/ansi/palette.d.ts +79 -0
  11. package/dist/ansi/palette.d.ts.map +1 -0
  12. package/dist/ansi/palette.js +155 -0
  13. package/dist/ansi/palette.js.map +1 -0
  14. package/dist/ansi/parse.d.ts +114 -0
  15. package/dist/ansi/parse.d.ts.map +1 -0
  16. package/dist/ansi/parse.js +687 -0
  17. package/dist/ansi/parse.js.map +1 -0
  18. package/dist/ansi/sgr.d.ts +87 -0
  19. package/dist/ansi/sgr.d.ts.map +1 -0
  20. package/dist/ansi/sgr.js +302 -0
  21. package/dist/ansi/sgr.js.map +1 -0
  22. package/dist/ansi/utf8.d.ts +15 -0
  23. package/dist/ansi/utf8.d.ts.map +1 -0
  24. package/dist/ansi/utf8.js +82 -0
  25. package/dist/ansi/utf8.js.map +1 -0
  26. package/dist/calendar/Calendar.d.ts +136 -0
  27. package/dist/calendar/Calendar.d.ts.map +1 -0
  28. package/dist/calendar/Calendar.js +460 -0
  29. package/dist/calendar/Calendar.js.map +1 -0
  30. package/dist/calendar/DatePicker.d.ts +52 -0
  31. package/dist/calendar/DatePicker.d.ts.map +1 -0
  32. package/dist/calendar/DatePicker.js +257 -0
  33. package/dist/calendar/DatePicker.js.map +1 -0
  34. package/dist/calendar/dates.d.ts +90 -0
  35. package/dist/calendar/dates.d.ts.map +1 -0
  36. package/dist/calendar/dates.js +236 -0
  37. package/dist/calendar/dates.js.map +1 -0
  38. package/dist/calendar/index.d.ts +8 -0
  39. package/dist/calendar/index.d.ts.map +1 -0
  40. package/dist/calendar/index.js +15 -0
  41. package/dist/calendar/index.js.map +1 -0
  42. package/dist/charts/components.d.ts +141 -0
  43. package/dist/charts/components.d.ts.map +1 -0
  44. package/dist/charts/components.js +580 -0
  45. package/dist/charts/components.js.map +1 -0
  46. package/dist/charts/data.d.ts +198 -0
  47. package/dist/charts/data.d.ts.map +1 -0
  48. package/dist/charts/data.js +616 -0
  49. package/dist/charts/data.js.map +1 -0
  50. package/dist/charts/hx.d.ts +21 -0
  51. package/dist/charts/hx.d.ts.map +1 -0
  52. package/dist/charts/hx.js +15 -0
  53. package/dist/charts/hx.js.map +1 -0
  54. package/dist/charts/index.d.ts +27 -0
  55. package/dist/charts/index.d.ts.map +1 -0
  56. package/dist/charts/index.js +38 -0
  57. package/dist/charts/index.js.map +1 -0
  58. package/dist/charts/node.d.ts +96 -0
  59. package/dist/charts/node.d.ts.map +1 -0
  60. package/dist/charts/node.js +720 -0
  61. package/dist/charts/node.js.map +1 -0
  62. package/dist/charts/render.d.ts +153 -0
  63. package/dist/charts/render.d.ts.map +1 -0
  64. package/dist/charts/render.js +762 -0
  65. package/dist/charts/render.js.map +1 -0
  66. package/dist/charts/scale.d.ts +42 -0
  67. package/dist/charts/scale.d.ts.map +1 -0
  68. package/dist/charts/scale.js +173 -0
  69. package/dist/charts/scale.js.map +1 -0
  70. package/dist/charts/spec.d.ts +91 -0
  71. package/dist/charts/spec.d.ts.map +1 -0
  72. package/dist/charts/spec.js +33 -0
  73. package/dist/charts/spec.js.map +1 -0
  74. package/dist/charts/timers.d.ts +6 -0
  75. package/dist/charts/timers.d.ts.map +1 -0
  76. package/dist/charts/timers.js +14 -0
  77. package/dist/charts/timers.js.map +1 -0
  78. package/dist/code/hx.d.ts +24 -0
  79. package/dist/code/hx.d.ts.map +1 -0
  80. package/dist/code/hx.js +25 -0
  81. package/dist/code/hx.js.map +1 -0
  82. package/dist/code/index.d.ts +45 -0
  83. package/dist/code/index.d.ts.map +1 -0
  84. package/dist/code/index.js +93 -0
  85. package/dist/code/index.js.map +1 -0
  86. package/dist/code-editor/completion.d.ts +26 -0
  87. package/dist/code-editor/completion.d.ts.map +1 -0
  88. package/dist/code-editor/completion.js +129 -0
  89. package/dist/code-editor/completion.js.map +1 -0
  90. package/dist/code-editor/doc.d.ts +35 -0
  91. package/dist/code-editor/doc.d.ts.map +1 -0
  92. package/dist/code-editor/doc.js +162 -0
  93. package/dist/code-editor/doc.js.map +1 -0
  94. package/dist/code-editor/hx.d.ts +13 -0
  95. package/dist/code-editor/hx.d.ts.map +1 -0
  96. package/dist/code-editor/hx.js +10 -0
  97. package/dist/code-editor/hx.js.map +1 -0
  98. package/dist/code-editor/index.d.ts +88 -0
  99. package/dist/code-editor/index.d.ts.map +1 -0
  100. package/dist/code-editor/index.js +401 -0
  101. package/dist/code-editor/index.js.map +1 -0
  102. package/dist/code-editor/node.d.ts +343 -0
  103. package/dist/code-editor/node.d.ts.map +1 -0
  104. package/dist/code-editor/node.js +1521 -0
  105. package/dist/code-editor/node.js.map +1 -0
  106. package/dist/code-language/hljs.d.ts +47 -0
  107. package/dist/code-language/hljs.d.ts.map +1 -0
  108. package/dist/code-language/hljs.js +211 -0
  109. package/dist/code-language/hljs.js.map +1 -0
  110. package/dist/code-language/index.d.ts +22 -0
  111. package/dist/code-language/index.d.ts.map +1 -0
  112. package/dist/code-language/index.js +20 -0
  113. package/dist/code-language/index.js.map +1 -0
  114. package/dist/code-language/languages/glsl.d.ts +4 -0
  115. package/dist/code-language/languages/glsl.d.ts.map +1 -0
  116. package/dist/code-language/languages/glsl.js +99 -0
  117. package/dist/code-language/languages/glsl.js.map +1 -0
  118. package/dist/code-language/languages/javascript.d.ts +10 -0
  119. package/dist/code-language/languages/javascript.d.ts.map +1 -0
  120. package/dist/code-language/languages/javascript.js +360 -0
  121. package/dist/code-language/languages/javascript.js.map +1 -0
  122. package/dist/code-language/languages/json.d.ts +4 -0
  123. package/dist/code-language/languages/json.d.ts.map +1 -0
  124. package/dist/code-language/languages/json.js +68 -0
  125. package/dist/code-language/languages/json.js.map +1 -0
  126. package/dist/code-language/languages/shell.d.ts +4 -0
  127. package/dist/code-language/languages/shell.d.ts.map +1 -0
  128. package/dist/code-language/languages/shell.js +189 -0
  129. package/dist/code-language/languages/shell.js.map +1 -0
  130. package/dist/code-language/languages/sql.d.ts +11 -0
  131. package/dist/code-language/languages/sql.d.ts.map +1 -0
  132. package/dist/code-language/languages/sql.js +133 -0
  133. package/dist/code-language/languages/sql.js.map +1 -0
  134. package/dist/code-language/lezer.d.ts +24 -0
  135. package/dist/code-language/lezer.d.ts.map +1 -0
  136. package/dist/code-language/lezer.js +148 -0
  137. package/dist/code-language/lezer.js.map +1 -0
  138. package/dist/code-language/registry.d.ts +19 -0
  139. package/dist/code-language/registry.d.ts.map +1 -0
  140. package/dist/code-language/registry.js +56 -0
  141. package/dist/code-language/registry.js.map +1 -0
  142. package/dist/code-language/runs.d.ts +35 -0
  143. package/dist/code-language/runs.d.ts.map +1 -0
  144. package/dist/code-language/runs.js +88 -0
  145. package/dist/code-language/runs.js.map +1 -0
  146. package/dist/code-language/stream.d.ts +70 -0
  147. package/dist/code-language/stream.d.ts.map +1 -0
  148. package/dist/code-language/stream.js +243 -0
  149. package/dist/code-language/stream.js.map +1 -0
  150. package/dist/code-language/textmate.d.ts +27 -0
  151. package/dist/code-language/textmate.d.ts.map +1 -0
  152. package/dist/code-language/textmate.js +86 -0
  153. package/dist/code-language/textmate.js.map +1 -0
  154. package/dist/code-language/theme.d.ts +26 -0
  155. package/dist/code-language/theme.d.ts.map +1 -0
  156. package/dist/code-language/theme.js +108 -0
  157. package/dist/code-language/theme.js.map +1 -0
  158. package/dist/code-language/timers.d.ts +7 -0
  159. package/dist/code-language/timers.d.ts.map +1 -0
  160. package/dist/code-language/timers.js +22 -0
  161. package/dist/code-language/timers.js.map +1 -0
  162. package/dist/code-language/types.d.ts +173 -0
  163. package/dist/code-language/types.d.ts.map +1 -0
  164. package/dist/code-language/types.js +41 -0
  165. package/dist/code-language/types.js.map +1 -0
  166. package/dist/codeblock/index.d.ts +69 -0
  167. package/dist/codeblock/index.d.ts.map +1 -0
  168. package/dist/codeblock/index.js +85 -0
  169. package/dist/codeblock/index.js.map +1 -0
  170. package/dist/color-picker/ColorField.d.ts +39 -0
  171. package/dist/color-picker/ColorField.d.ts.map +1 -0
  172. package/dist/color-picker/ColorField.js +239 -0
  173. package/dist/color-picker/ColorField.js.map +1 -0
  174. package/dist/color-picker/ColorPicker.d.ts +109 -0
  175. package/dist/color-picker/ColorPicker.d.ts.map +1 -0
  176. package/dist/color-picker/ColorPicker.js +757 -0
  177. package/dist/color-picker/ColorPicker.js.map +1 -0
  178. package/dist/color-picker/color.d.ts +105 -0
  179. package/dist/color-picker/color.d.ts.map +1 -0
  180. package/dist/color-picker/color.js +313 -0
  181. package/dist/color-picker/color.js.map +1 -0
  182. package/dist/color-picker/index.d.ts +8 -0
  183. package/dist/color-picker/index.d.ts.map +1 -0
  184. package/dist/color-picker/index.js +19 -0
  185. package/dist/color-picker/index.js.map +1 -0
  186. package/dist/desktop-calendar/eds.d.ts +102 -0
  187. package/dist/desktop-calendar/eds.d.ts.map +1 -0
  188. package/dist/desktop-calendar/eds.js +356 -0
  189. package/dist/desktop-calendar/eds.js.map +1 -0
  190. package/dist/desktop-calendar/ical.d.ts +63 -0
  191. package/dist/desktop-calendar/ical.d.ts.map +1 -0
  192. package/dist/desktop-calendar/ical.js +57 -0
  193. package/dist/desktop-calendar/ical.js.map +1 -0
  194. package/dist/desktop-calendar/index.d.ts +72 -0
  195. package/dist/desktop-calendar/index.d.ts.map +1 -0
  196. package/dist/desktop-calendar/index.js +213 -0
  197. package/dist/desktop-calendar/index.js.map +1 -0
  198. package/dist/embed/client.d.ts +121 -0
  199. package/dist/embed/client.d.ts.map +1 -0
  200. package/dist/embed/client.js +203 -0
  201. package/dist/embed/client.js.map +1 -0
  202. package/dist/embed/host.d.ts +96 -0
  203. package/dist/embed/host.d.ts.map +1 -0
  204. package/dist/embed/host.js +266 -0
  205. package/dist/embed/host.js.map +1 -0
  206. package/dist/embed/index.d.ts +5 -0
  207. package/dist/embed/index.d.ts.map +1 -0
  208. package/dist/embed/index.js +13 -0
  209. package/dist/embed/index.js.map +1 -0
  210. package/dist/embed/timers.d.ts +6 -0
  211. package/dist/embed/timers.d.ts.map +1 -0
  212. package/dist/embed/timers.js +16 -0
  213. package/dist/embed/timers.js.map +1 -0
  214. package/dist/flow/draw.d.ts +45 -0
  215. package/dist/flow/draw.d.ts.map +1 -0
  216. package/dist/flow/draw.js +295 -0
  217. package/dist/flow/draw.js.map +1 -0
  218. package/dist/flow/index.d.ts +64 -0
  219. package/dist/flow/index.d.ts.map +1 -0
  220. package/dist/flow/index.js +306 -0
  221. package/dist/flow/index.js.map +1 -0
  222. package/dist/flow/model.d.ts +158 -0
  223. package/dist/flow/model.d.ts.map +1 -0
  224. package/dist/flow/model.js +566 -0
  225. package/dist/flow/model.js.map +1 -0
  226. package/dist/flow/node.d.ts +429 -0
  227. package/dist/flow/node.d.ts.map +1 -0
  228. package/dist/flow/node.js +3025 -0
  229. package/dist/flow/node.js.map +1 -0
  230. package/dist/flow/paths.d.ts +43 -0
  231. package/dist/flow/paths.d.ts.map +1 -0
  232. package/dist/flow/paths.js +327 -0
  233. package/dist/flow/paths.js.map +1 -0
  234. package/dist/flow/types.d.ts +561 -0
  235. package/dist/flow/types.d.ts.map +1 -0
  236. package/dist/flow/types.js +2 -0
  237. package/dist/flow/types.js.map +1 -0
  238. package/dist/formula/hx.d.ts +24 -0
  239. package/dist/formula/hx.d.ts.map +1 -0
  240. package/dist/formula/hx.js +25 -0
  241. package/dist/formula/hx.js.map +1 -0
  242. package/dist/formula/index.d.ts +74 -0
  243. package/dist/formula/index.d.ts.map +1 -0
  244. package/dist/formula/index.js +155 -0
  245. package/dist/formula/index.js.map +1 -0
  246. package/dist/formula/katex.d.ts +78 -0
  247. package/dist/formula/katex.d.ts.map +1 -0
  248. package/dist/formula/katex.js +130 -0
  249. package/dist/formula/katex.js.map +1 -0
  250. package/dist/formula/layout.d.ts +103 -0
  251. package/dist/formula/layout.d.ts.map +1 -0
  252. package/dist/formula/layout.js +716 -0
  253. package/dist/formula/layout.js.map +1 -0
  254. package/dist/formula/node.d.ts +50 -0
  255. package/dist/formula/node.d.ts.map +1 -0
  256. package/dist/formula/node.js +351 -0
  257. package/dist/formula/node.js.map +1 -0
  258. package/dist/html/controls.d.ts +48 -0
  259. package/dist/html/controls.d.ts.map +1 -0
  260. package/dist/html/controls.js +195 -0
  261. package/dist/html/controls.js.map +1 -0
  262. package/dist/html/css/cascade.d.ts +51 -0
  263. package/dist/html/css/cascade.d.ts.map +1 -0
  264. package/dist/html/css/cascade.js +552 -0
  265. package/dist/html/css/cascade.js.map +1 -0
  266. package/dist/html/css/parse.d.ts +74 -0
  267. package/dist/html/css/parse.d.ts.map +1 -0
  268. package/dist/html/css/parse.js +464 -0
  269. package/dist/html/css/parse.js.map +1 -0
  270. package/dist/html/css/style.d.ts +142 -0
  271. package/dist/html/css/style.d.ts.map +1 -0
  272. package/dist/html/css/style.js +1145 -0
  273. package/dist/html/css/style.js.map +1 -0
  274. package/dist/html/css/ua.d.ts +5 -0
  275. package/dist/html/css/ua.d.ts.map +1 -0
  276. package/dist/html/css/ua.js +171 -0
  277. package/dist/html/css/ua.js.map +1 -0
  278. package/dist/html/css/values.d.ts +78 -0
  279. package/dist/html/css/values.d.ts.map +1 -0
  280. package/dist/html/css/values.js +330 -0
  281. package/dist/html/css/values.js.map +1 -0
  282. package/dist/html/dom.d.ts +112 -0
  283. package/dist/html/dom.d.ts.map +1 -0
  284. package/dist/html/dom.js +374 -0
  285. package/dist/html/dom.js.map +1 -0
  286. package/dist/html/hx.d.ts +24 -0
  287. package/dist/html/hx.d.ts.map +1 -0
  288. package/dist/html/hx.js +29 -0
  289. package/dist/html/hx.js.map +1 -0
  290. package/dist/html/index.d.ts +137 -0
  291. package/dist/html/index.d.ts.map +1 -0
  292. package/dist/html/index.js +339 -0
  293. package/dist/html/index.js.map +1 -0
  294. package/dist/html/layout/block.d.ts +58 -0
  295. package/dist/html/layout/block.d.ts.map +1 -0
  296. package/dist/html/layout/block.js +724 -0
  297. package/dist/html/layout/block.js.map +1 -0
  298. package/dist/html/layout/boxes.d.ts +261 -0
  299. package/dist/html/layout/boxes.d.ts.map +1 -0
  300. package/dist/html/layout/boxes.js +725 -0
  301. package/dist/html/layout/boxes.js.map +1 -0
  302. package/dist/html/layout/flex.d.ts +16 -0
  303. package/dist/html/layout/flex.d.ts.map +1 -0
  304. package/dist/html/layout/flex.js +242 -0
  305. package/dist/html/layout/flex.js.map +1 -0
  306. package/dist/html/layout/floats.d.ts +50 -0
  307. package/dist/html/layout/floats.d.ts.map +1 -0
  308. package/dist/html/layout/floats.js +110 -0
  309. package/dist/html/layout/floats.js.map +1 -0
  310. package/dist/html/layout/inline.d.ts +44 -0
  311. package/dist/html/layout/inline.d.ts.map +1 -0
  312. package/dist/html/layout/inline.js +700 -0
  313. package/dist/html/layout/inline.js.map +1 -0
  314. package/dist/html/layout/table.d.ts +5 -0
  315. package/dist/html/layout/table.d.ts.map +1 -0
  316. package/dist/html/layout/table.js +340 -0
  317. package/dist/html/layout/table.js.map +1 -0
  318. package/dist/html/node.d.ts +149 -0
  319. package/dist/html/node.d.ts.map +1 -0
  320. package/dist/html/node.js +861 -0
  321. package/dist/html/node.js.map +1 -0
  322. package/dist/html/paint.d.ts +48 -0
  323. package/dist/html/paint.d.ts.map +1 -0
  324. package/dist/html/paint.js +495 -0
  325. package/dist/html/paint.js.map +1 -0
  326. package/dist/html/resources.d.ts +48 -0
  327. package/dist/html/resources.d.ts.map +1 -0
  328. package/dist/html/resources.js +156 -0
  329. package/dist/html/resources.js.map +1 -0
  330. package/dist/index.d.ts +48 -0
  331. package/dist/index.d.ts.map +1 -0
  332. package/dist/index.js +92 -0
  333. package/dist/index.js.map +1 -0
  334. package/dist/internal/heights.d.ts +88 -0
  335. package/dist/internal/heights.d.ts.map +1 -0
  336. package/dist/internal/heights.js +203 -0
  337. package/dist/internal/heights.js.map +1 -0
  338. package/dist/internal/hx.d.ts +24 -0
  339. package/dist/internal/hx.d.ts.map +1 -0
  340. package/dist/internal/hx.js +27 -0
  341. package/dist/internal/hx.js.map +1 -0
  342. package/dist/internal/scroll.d.ts +62 -0
  343. package/dist/internal/scroll.d.ts.map +1 -0
  344. package/dist/internal/scroll.js +224 -0
  345. package/dist/internal/scroll.js.map +1 -0
  346. package/dist/internal/text.d.ts +6 -0
  347. package/dist/internal/text.d.ts.map +1 -0
  348. package/dist/internal/text.js +44 -0
  349. package/dist/internal/text.js.map +1 -0
  350. package/dist/internal/timers.d.ts +8 -0
  351. package/dist/internal/timers.d.ts.map +1 -0
  352. package/dist/internal/timers.js +22 -0
  353. package/dist/internal/timers.js.map +1 -0
  354. package/dist/internal/widget.d.ts +40 -0
  355. package/dist/internal/widget.d.ts.map +1 -0
  356. package/dist/internal/widget.js +44 -0
  357. package/dist/internal/widget.js.map +1 -0
  358. package/dist/markdown/ast.d.ts +126 -0
  359. package/dist/markdown/ast.d.ts.map +1 -0
  360. package/dist/markdown/ast.js +8 -0
  361. package/dist/markdown/ast.js.map +1 -0
  362. package/dist/markdown/hx.d.ts +24 -0
  363. package/dist/markdown/hx.d.ts.map +1 -0
  364. package/dist/markdown/hx.js +25 -0
  365. package/dist/markdown/hx.js.map +1 -0
  366. package/dist/markdown/index.d.ts +90 -0
  367. package/dist/markdown/index.d.ts.map +1 -0
  368. package/dist/markdown/index.js +413 -0
  369. package/dist/markdown/index.js.map +1 -0
  370. package/dist/markdown/parse.d.ts +8 -0
  371. package/dist/markdown/parse.d.ts.map +1 -0
  372. package/dist/markdown/parse.js +911 -0
  373. package/dist/markdown/parse.js.map +1 -0
  374. package/dist/markdown/spans.d.ts +20 -0
  375. package/dist/markdown/spans.d.ts.map +1 -0
  376. package/dist/markdown/spans.js +96 -0
  377. package/dist/markdown/spans.js.map +1 -0
  378. package/dist/media-player/backends.d.ts +64 -0
  379. package/dist/media-player/backends.d.ts.map +1 -0
  380. package/dist/media-player/backends.js +110 -0
  381. package/dist/media-player/backends.js.map +1 -0
  382. package/dist/media-player/control.d.ts +40 -0
  383. package/dist/media-player/control.d.ts.map +1 -0
  384. package/dist/media-player/control.js +44 -0
  385. package/dist/media-player/control.js.map +1 -0
  386. package/dist/media-player/hx.d.ts +24 -0
  387. package/dist/media-player/hx.d.ts.map +1 -0
  388. package/dist/media-player/hx.js +25 -0
  389. package/dist/media-player/hx.js.map +1 -0
  390. package/dist/media-player/index.d.ts +107 -0
  391. package/dist/media-player/index.d.ts.map +1 -0
  392. package/dist/media-player/index.js +219 -0
  393. package/dist/media-player/index.js.map +1 -0
  394. package/dist/media-player/mpv.d.ts +4 -0
  395. package/dist/media-player/mpv.d.ts.map +1 -0
  396. package/dist/media-player/mpv.js +120 -0
  397. package/dist/media-player/mpv.js.map +1 -0
  398. package/dist/media-player/vlc.d.ts +8 -0
  399. package/dist/media-player/vlc.d.ts.map +1 -0
  400. package/dist/media-player/vlc.js +83 -0
  401. package/dist/media-player/vlc.js.map +1 -0
  402. package/dist/richtext/index.d.ts +19 -0
  403. package/dist/richtext/index.d.ts.map +1 -0
  404. package/dist/richtext/index.js +4 -0
  405. package/dist/richtext/index.js.map +1 -0
  406. package/dist/richtext/links.d.ts +12 -0
  407. package/dist/richtext/links.d.ts.map +1 -0
  408. package/dist/richtext/links.js +64 -0
  409. package/dist/richtext/links.js.map +1 -0
  410. package/dist/richtext/menu.d.ts +11 -0
  411. package/dist/richtext/menu.d.ts.map +1 -0
  412. package/dist/richtext/menu.js +43 -0
  413. package/dist/richtext/menu.js.map +1 -0
  414. package/dist/richtext/node.d.ts +151 -0
  415. package/dist/richtext/node.d.ts.map +1 -0
  416. package/dist/richtext/node.js +255 -0
  417. package/dist/richtext/node.js.map +1 -0
  418. package/dist/richtext/runs.d.ts +92 -0
  419. package/dist/richtext/runs.d.ts.map +1 -0
  420. package/dist/richtext/runs.js +158 -0
  421. package/dist/richtext/runs.js.map +1 -0
  422. package/dist/table/hx.d.ts +24 -0
  423. package/dist/table/hx.d.ts.map +1 -0
  424. package/dist/table/hx.js +25 -0
  425. package/dist/table/hx.js.map +1 -0
  426. package/dist/table/index.d.ts +169 -0
  427. package/dist/table/index.d.ts.map +1 -0
  428. package/dist/table/index.js +890 -0
  429. package/dist/table/index.js.map +1 -0
  430. package/dist/table/rows.d.ts +136 -0
  431. package/dist/table/rows.d.ts.map +1 -0
  432. package/dist/table/rows.js +146 -0
  433. package/dist/table/rows.js.map +1 -0
  434. package/dist/terminal/backends.d.ts +105 -0
  435. package/dist/terminal/backends.d.ts.map +1 -0
  436. package/dist/terminal/backends.js +185 -0
  437. package/dist/terminal/backends.js.map +1 -0
  438. package/dist/terminal/hx.d.ts +24 -0
  439. package/dist/terminal/hx.d.ts.map +1 -0
  440. package/dist/terminal/hx.js +25 -0
  441. package/dist/terminal/hx.js.map +1 -0
  442. package/dist/terminal/index.d.ts +160 -0
  443. package/dist/terminal/index.d.ts.map +1 -0
  444. package/dist/terminal/index.js +344 -0
  445. package/dist/terminal/index.js.map +1 -0
  446. package/dist/terminal/title.d.ts +24 -0
  447. package/dist/terminal/title.d.ts.map +1 -0
  448. package/dist/terminal/title.js +129 -0
  449. package/dist/terminal/title.js.map +1 -0
  450. package/dist/terminal/vt/colors.d.ts +63 -0
  451. package/dist/terminal/vt/colors.d.ts.map +1 -0
  452. package/dist/terminal/vt/colors.js +203 -0
  453. package/dist/terminal/vt/colors.js.map +1 -0
  454. package/dist/terminal/vt/diff.d.ts +117 -0
  455. package/dist/terminal/vt/diff.d.ts.map +1 -0
  456. package/dist/terminal/vt/diff.js +358 -0
  457. package/dist/terminal/vt/diff.js.map +1 -0
  458. package/dist/terminal/vt/fonts.d.ts +92 -0
  459. package/dist/terminal/vt/fonts.d.ts.map +1 -0
  460. package/dist/terminal/vt/fonts.js +178 -0
  461. package/dist/terminal/vt/fonts.js.map +1 -0
  462. package/dist/terminal/vt/index.d.ts +78 -0
  463. package/dist/terminal/vt/index.d.ts.map +1 -0
  464. package/dist/terminal/vt/index.js +312 -0
  465. package/dist/terminal/vt/index.js.map +1 -0
  466. package/dist/terminal/vt/keys.d.ts +74 -0
  467. package/dist/terminal/vt/keys.d.ts.map +1 -0
  468. package/dist/terminal/vt/keys.js +309 -0
  469. package/dist/terminal/vt/keys.js.map +1 -0
  470. package/dist/terminal/vt/mouse.d.ts +44 -0
  471. package/dist/terminal/vt/mouse.d.ts.map +1 -0
  472. package/dist/terminal/vt/mouse.js +106 -0
  473. package/dist/terminal/vt/mouse.js.map +1 -0
  474. package/dist/terminal/vt/node.d.ts +246 -0
  475. package/dist/terminal/vt/node.d.ts.map +1 -0
  476. package/dist/terminal/vt/node.js +1068 -0
  477. package/dist/terminal/vt/node.js.map +1 -0
  478. package/dist/terminal/vt/pty.d.ts +81 -0
  479. package/dist/terminal/vt/pty.d.ts.map +1 -0
  480. package/dist/terminal/vt/pty.js +201 -0
  481. package/dist/terminal/vt/pty.js.map +1 -0
  482. package/dist/terminal/vt/renderer.d.ts +179 -0
  483. package/dist/terminal/vt/renderer.d.ts.map +1 -0
  484. package/dist/terminal/vt/renderer.js +357 -0
  485. package/dist/terminal/vt/renderer.js.map +1 -0
  486. package/dist/terminal/vt/timers.d.ts +6 -0
  487. package/dist/terminal/vt/timers.d.ts.map +1 -0
  488. package/dist/terminal/vt/timers.js +16 -0
  489. package/dist/terminal/vt/timers.js.map +1 -0
  490. package/dist/terminal/vt/xterm.d.ts +142 -0
  491. package/dist/terminal/vt/xterm.d.ts.map +1 -0
  492. package/dist/terminal/vt/xterm.js +32 -0
  493. package/dist/terminal/vt/xterm.js.map +1 -0
  494. package/dist/terminal-output/hx.d.ts +24 -0
  495. package/dist/terminal-output/hx.d.ts.map +1 -0
  496. package/dist/terminal-output/hx.js +25 -0
  497. package/dist/terminal-output/hx.js.map +1 -0
  498. package/dist/terminal-output/index.d.ts +92 -0
  499. package/dist/terminal-output/index.d.ts.map +1 -0
  500. package/dist/terminal-output/index.js +179 -0
  501. package/dist/terminal-output/index.js.map +1 -0
  502. package/dist/terminal-output/runs.d.ts +27 -0
  503. package/dist/terminal-output/runs.d.ts.map +1 -0
  504. package/dist/terminal-output/runs.js +66 -0
  505. package/dist/terminal-output/runs.js.map +1 -0
  506. package/dist/three/canvas.d.ts +46 -0
  507. package/dist/three/canvas.d.ts.map +1 -0
  508. package/dist/three/canvas.js +305 -0
  509. package/dist/three/canvas.js.map +1 -0
  510. package/dist/three/events.d.ts +64 -0
  511. package/dist/three/events.d.ts.map +1 -0
  512. package/dist/three/events.js +146 -0
  513. package/dist/three/events.js.map +1 -0
  514. package/dist/three/geometries.d.ts +89 -0
  515. package/dist/three/geometries.d.ts.map +1 -0
  516. package/dist/three/geometries.js +345 -0
  517. package/dist/three/geometries.js.map +1 -0
  518. package/dist/three/globals.d.ts +7 -0
  519. package/dist/three/globals.d.ts.map +1 -0
  520. package/dist/three/globals.js +20 -0
  521. package/dist/three/globals.js.map +1 -0
  522. package/dist/three/hx.d.ts +9 -0
  523. package/dist/three/hx.d.ts.map +1 -0
  524. package/dist/three/hx.js +10 -0
  525. package/dist/three/hx.js.map +1 -0
  526. package/dist/three/index.d.ts +22 -0
  527. package/dist/three/index.d.ts.map +1 -0
  528. package/dist/three/index.js +24 -0
  529. package/dist/three/index.js.map +1 -0
  530. package/dist/three/jsx-dev-runtime.d.ts +19 -0
  531. package/dist/three/jsx-dev-runtime.d.ts.map +1 -0
  532. package/dist/three/jsx-dev-runtime.js +2 -0
  533. package/dist/three/jsx-dev-runtime.js.map +1 -0
  534. package/dist/three/jsx-runtime.d.ts +19 -0
  535. package/dist/three/jsx-runtime.d.ts.map +1 -0
  536. package/dist/three/jsx-runtime.js +2 -0
  537. package/dist/three/jsx-runtime.js.map +1 -0
  538. package/dist/three/jsx.d.ts +198 -0
  539. package/dist/three/jsx.d.ts.map +1 -0
  540. package/dist/three/jsx.js +2 -0
  541. package/dist/three/jsx.js.map +1 -0
  542. package/dist/three/materials.d.ts +125 -0
  543. package/dist/three/materials.d.ts.map +1 -0
  544. package/dist/three/materials.js +229 -0
  545. package/dist/three/materials.js.map +1 -0
  546. package/dist/three/math.d.ts +146 -0
  547. package/dist/three/math.d.ts.map +1 -0
  548. package/dist/three/math.js +464 -0
  549. package/dist/three/math.js.map +1 -0
  550. package/dist/three/objects.d.ts +185 -0
  551. package/dist/three/objects.d.ts.map +1 -0
  552. package/dist/three/objects.js +309 -0
  553. package/dist/three/objects.js.map +1 -0
  554. package/dist/three/passes.d.ts +54 -0
  555. package/dist/three/passes.d.ts.map +1 -0
  556. package/dist/three/passes.js +78 -0
  557. package/dist/three/passes.js.map +1 -0
  558. package/dist/three/postprocess.d.ts +85 -0
  559. package/dist/three/postprocess.d.ts.map +1 -0
  560. package/dist/three/postprocess.js +503 -0
  561. package/dist/three/postprocess.js.map +1 -0
  562. package/dist/three/raycast.d.ts +24 -0
  563. package/dist/three/raycast.d.ts.map +1 -0
  564. package/dist/three/raycast.js +138 -0
  565. package/dist/three/raycast.js.map +1 -0
  566. package/dist/three/reconciler.d.ts +48 -0
  567. package/dist/three/reconciler.d.ts.map +1 -0
  568. package/dist/three/reconciler.js +416 -0
  569. package/dist/three/reconciler.js.map +1 -0
  570. package/dist/three/renderer-direct.d.ts +102 -0
  571. package/dist/three/renderer-direct.d.ts.map +1 -0
  572. package/dist/three/renderer-direct.js +782 -0
  573. package/dist/three/renderer-direct.js.map +1 -0
  574. package/dist/three/renderer-indirect.d.ts +68 -0
  575. package/dist/three/renderer-indirect.d.ts.map +1 -0
  576. package/dist/three/renderer-indirect.js +438 -0
  577. package/dist/three/renderer-indirect.js.map +1 -0
  578. package/dist/three/store.d.ts +81 -0
  579. package/dist/three/store.d.ts.map +1 -0
  580. package/dist/three/store.js +110 -0
  581. package/dist/three/store.js.map +1 -0
  582. package/dist/timeline/hx.d.ts +18 -0
  583. package/dist/timeline/hx.d.ts.map +1 -0
  584. package/dist/timeline/hx.js +10 -0
  585. package/dist/timeline/hx.js.map +1 -0
  586. package/dist/timeline/index.d.ts +152 -0
  587. package/dist/timeline/index.d.ts.map +1 -0
  588. package/dist/timeline/index.js +383 -0
  589. package/dist/timeline/index.js.map +1 -0
  590. package/dist/tray-host/hx.d.ts +24 -0
  591. package/dist/tray-host/hx.d.ts.map +1 -0
  592. package/dist/tray-host/hx.js +25 -0
  593. package/dist/tray-host/hx.js.map +1 -0
  594. package/dist/tray-host/index.d.ts +110 -0
  595. package/dist/tray-host/index.d.ts.map +1 -0
  596. package/dist/tray-host/index.js +191 -0
  597. package/dist/tray-host/index.js.map +1 -0
  598. package/dist/tray-host/manager.d.ts +137 -0
  599. package/dist/tray-host/manager.d.ts.map +1 -0
  600. package/dist/tray-host/manager.js +462 -0
  601. package/dist/tray-host/manager.js.map +1 -0
  602. package/dist/tray-host/notify.d.ts +22 -0
  603. package/dist/tray-host/notify.d.ts.map +1 -0
  604. package/dist/tray-host/notify.js +74 -0
  605. package/dist/tray-host/notify.js.map +1 -0
  606. package/dist/tray-host/protocol.d.ts +106 -0
  607. package/dist/tray-host/protocol.d.ts.map +1 -0
  608. package/dist/tray-host/protocol.js +191 -0
  609. package/dist/tray-host/protocol.js.map +1 -0
  610. package/dist/tree/hx.d.ts +24 -0
  611. package/dist/tree/hx.d.ts.map +1 -0
  612. package/dist/tree/hx.js +25 -0
  613. package/dist/tree/hx.js.map +1 -0
  614. package/dist/tree/index.d.ts +221 -0
  615. package/dist/tree/index.d.ts.map +1 -0
  616. package/dist/tree/index.js +751 -0
  617. package/dist/tree/index.js.map +1 -0
  618. package/dist/tree/internal.d.ts +18 -0
  619. package/dist/tree/internal.d.ts.map +1 -0
  620. package/dist/tree/internal.js +66 -0
  621. package/dist/tree/internal.js.map +1 -0
  622. package/dist/tree/rows.d.ts +177 -0
  623. package/dist/tree/rows.d.ts.map +1 -0
  624. package/dist/tree/rows.js +179 -0
  625. package/dist/tree/rows.js.map +1 -0
  626. package/package.json +166 -12
  627. package/src/ansi/cast.ts +159 -0
  628. package/src/ansi/index.ts +53 -0
  629. package/src/ansi/palette.ts +226 -0
  630. package/src/ansi/parse.ts +780 -0
  631. package/src/ansi/sgr.ts +380 -0
  632. package/src/ansi/utf8.ts +84 -0
  633. package/src/calendar/Calendar.ts +744 -0
  634. package/src/calendar/DatePicker.ts +368 -0
  635. package/src/calendar/dates.ts +307 -0
  636. package/src/calendar/index.ts +51 -0
  637. package/src/charts/components.ts +864 -0
  638. package/src/charts/data.ts +776 -0
  639. package/src/charts/hx.ts +39 -0
  640. package/src/charts/index.ts +99 -0
  641. package/src/charts/node.ts +932 -0
  642. package/src/charts/render.ts +982 -0
  643. package/src/charts/scale.ts +214 -0
  644. package/src/charts/spec.ts +122 -0
  645. package/src/charts/timers.ts +24 -0
  646. package/src/code/hx.ts +51 -0
  647. package/src/code/index.ts +174 -0
  648. package/src/code-editor/completion.ts +161 -0
  649. package/src/code-editor/doc.ts +198 -0
  650. package/src/code-editor/hx.ts +26 -0
  651. package/src/code-editor/index.ts +615 -0
  652. package/src/code-editor/node.ts +1926 -0
  653. package/src/code-language/hljs.ts +302 -0
  654. package/src/code-language/index.ts +51 -0
  655. package/src/code-language/languages/glsl.ts +120 -0
  656. package/src/code-language/languages/javascript.ts +419 -0
  657. package/src/code-language/languages/json.ts +72 -0
  658. package/src/code-language/languages/shell.ts +221 -0
  659. package/src/code-language/languages/sql.ts +165 -0
  660. package/src/code-language/lezer.ts +190 -0
  661. package/src/code-language/registry.ts +66 -0
  662. package/src/code-language/runs.ts +128 -0
  663. package/src/code-language/stream.ts +306 -0
  664. package/src/code-language/textmate.ts +134 -0
  665. package/src/code-language/theme.ts +124 -0
  666. package/src/code-language/timers.ts +36 -0
  667. package/src/code-language/types.ts +252 -0
  668. package/src/codeblock/index.ts +146 -0
  669. package/src/color-picker/ColorField.ts +333 -0
  670. package/src/color-picker/ColorPicker.ts +1069 -0
  671. package/src/color-picker/color.ts +399 -0
  672. package/src/color-picker/index.ts +50 -0
  673. package/src/desktop-calendar/eds.ts +484 -0
  674. package/src/desktop-calendar/ical.ts +119 -0
  675. package/src/desktop-calendar/index.ts +287 -0
  676. package/src/embed/client.ts +311 -0
  677. package/src/embed/host.ts +432 -0
  678. package/src/embed/index.ts +33 -0
  679. package/src/embed/timers.ts +32 -0
  680. package/src/flow/draw.ts +418 -0
  681. package/src/flow/index.ts +473 -0
  682. package/src/flow/model.ts +687 -0
  683. package/src/flow/node.ts +3694 -0
  684. package/src/flow/paths.ts +403 -0
  685. package/src/flow/types.ts +634 -0
  686. package/src/formula/hx.ts +51 -0
  687. package/src/formula/index.ts +243 -0
  688. package/src/formula/katex.ts +209 -0
  689. package/src/formula/layout.ts +876 -0
  690. package/src/formula/node.ts +467 -0
  691. package/src/html/controls.ts +244 -0
  692. package/src/html/css/cascade.ts +606 -0
  693. package/src/html/css/parse.ts +500 -0
  694. package/src/html/css/style.ts +1371 -0
  695. package/src/html/css/ua.ts +174 -0
  696. package/src/html/css/values.ts +358 -0
  697. package/src/html/dom.ts +410 -0
  698. package/src/html/hx.ts +55 -0
  699. package/src/html/index.ts +545 -0
  700. package/src/html/layout/block.ts +876 -0
  701. package/src/html/layout/boxes.ts +981 -0
  702. package/src/html/layout/flex.ts +297 -0
  703. package/src/html/layout/floats.ts +125 -0
  704. package/src/html/layout/inline.ts +870 -0
  705. package/src/html/layout/table.ts +380 -0
  706. package/src/html/node.ts +967 -0
  707. package/src/html/paint.ts +605 -0
  708. package/src/html/resources.ts +214 -0
  709. package/src/index.ts +638 -0
  710. package/src/internal/heights.ts +222 -0
  711. package/src/internal/hx.ts +53 -0
  712. package/src/internal/scroll.ts +288 -0
  713. package/src/internal/text.ts +44 -0
  714. package/src/internal/timers.ts +44 -0
  715. package/src/internal/widget.ts +92 -0
  716. package/src/markdown/ast.ts +163 -0
  717. package/src/markdown/hx.ts +51 -0
  718. package/src/markdown/index.ts +686 -0
  719. package/src/markdown/parse.ts +1037 -0
  720. package/src/markdown/spans.ts +143 -0
  721. package/src/media-player/backends.ts +155 -0
  722. package/src/media-player/control.ts +70 -0
  723. package/src/media-player/hx.ts +51 -0
  724. package/src/media-player/index.ts +378 -0
  725. package/src/media-player/mpv.ts +146 -0
  726. package/src/media-player/vlc.ts +97 -0
  727. package/src/richtext/index.ts +42 -0
  728. package/src/richtext/links.ts +78 -0
  729. package/src/richtext/menu.ts +49 -0
  730. package/src/richtext/node.ts +406 -0
  731. package/src/richtext/runs.ts +253 -0
  732. package/src/table/hx.ts +51 -0
  733. package/src/table/index.ts +1270 -0
  734. package/src/table/rows.ts +275 -0
  735. package/src/terminal/backends.ts +242 -0
  736. package/src/terminal/hx.ts +51 -0
  737. package/src/terminal/index.ts +574 -0
  738. package/src/terminal/title.ts +172 -0
  739. package/src/terminal/vt/colors.ts +247 -0
  740. package/src/terminal/vt/diff.ts +467 -0
  741. package/src/terminal/vt/fonts.ts +233 -0
  742. package/src/terminal/vt/index.ts +443 -0
  743. package/src/terminal/vt/keys.ts +369 -0
  744. package/src/terminal/vt/mouse.ts +144 -0
  745. package/src/terminal/vt/node.ts +1242 -0
  746. package/src/terminal/vt/pty.ts +334 -0
  747. package/src/terminal/vt/renderer.ts +555 -0
  748. package/src/terminal/vt/timers.ts +31 -0
  749. package/src/terminal/vt/xterm.ts +193 -0
  750. package/src/terminal-output/hx.ts +51 -0
  751. package/src/terminal-output/index.ts +340 -0
  752. package/src/terminal-output/runs.ts +79 -0
  753. package/src/three/canvas.ts +451 -0
  754. package/src/three/events.ts +197 -0
  755. package/src/three/geometries.ts +429 -0
  756. package/src/three/globals.ts +34 -0
  757. package/src/three/hx.ts +22 -0
  758. package/src/three/index.ts +98 -0
  759. package/src/three/jsx-dev-runtime.ts +27 -0
  760. package/src/three/jsx-runtime.ts +38 -0
  761. package/src/three/jsx.ts +275 -0
  762. package/src/three/materials.ts +270 -0
  763. package/src/three/math.ts +585 -0
  764. package/src/three/objects.ts +397 -0
  765. package/src/three/passes.ts +90 -0
  766. package/src/three/postprocess.ts +677 -0
  767. package/src/three/raycast.ts +189 -0
  768. package/src/three/react-reconciler.d.ts +50 -0
  769. package/src/three/reconciler.ts +624 -0
  770. package/src/three/renderer-direct.ts +1055 -0
  771. package/src/three/renderer-indirect.ts +570 -0
  772. package/src/three/store.ts +207 -0
  773. package/src/timeline/hx.ts +31 -0
  774. package/src/timeline/index.ts +603 -0
  775. package/src/tray-host/hx.ts +51 -0
  776. package/src/tray-host/index.ts +331 -0
  777. package/src/tray-host/manager.ts +639 -0
  778. package/src/tray-host/notify.ts +102 -0
  779. package/src/tray-host/protocol.ts +235 -0
  780. package/src/tree/hx.ts +51 -0
  781. package/src/tree/index.ts +1127 -0
  782. package/src/tree/internal.ts +87 -0
  783. package/src/tree/rows.ts +334 -0
  784. package/src/index.d.ts +0 -2
  785. package/src/index.js +0 -9
  786. package/src/sparkline/index.d.ts +0 -29
  787. package/src/sparkline/index.js +0 -50
  788. package/src/sparkline/node.js +0 -72
@@ -0,0 +1,580 @@
1
+ // The React layer: the shadcn-shaped composition over `<chartplot>`.
2
+ //
3
+ // The children of a chart wrapper are **config carriers, not renderers** —
4
+ // recharts' own model. `<LineSeries>`, `<XAxis>`, `<CartesianGrid>`,
5
+ // `<ChartTooltip>` and the rest render null; the wrapper walks its children
6
+ // with `React.Children`, folds their props into one `PlotSpec`, and renders
7
+ // the single element that paints everything. What stays real composition is
8
+ // what benefits from it: the legend row, and the hover machinery — a
9
+ // hit-transparent crosshair and marker dots inside the chart, and a value
10
+ // bubble whose home is a policy (`ChartTooltip mode`): a real anchored
11
+ // `<popup>` window by default, an in-chart box on request. See
12
+ // renderTooltipBubble for why.
13
+ //
14
+ // Two identity rules keep interaction cheap, and they are the point of
15
+ // this file's plumbing:
16
+ //
17
+ // - `spec` is memoized on a serialized key of everything JSON-able in the
18
+ // children, so re-renders (hover state!) hand the element the same
19
+ // object and the React commit contributes no damage of its own — what
20
+ // repaints on hover is only the overlays' damage strips, at the plot's
21
+ // usual pixel-bounded cost;
22
+ // - formatters live in ONE mutable object per chart whose identity never
23
+ // changes; paint reads the current fields. The trade, documented on
24
+ // `ChartFormatters`: changing a formatter's *meaning* alone does not
25
+ // repaint until something else does. Inline arrows stay free.
26
+ import React from 'react';
27
+ import { useTheme } from 'react-x11';
28
+ import { hx } from './hx.js';
29
+ import { ELEMENT } from './node.js';
30
+ import { isChartDataLike } from './data.js';
31
+ import { formatTimeTick } from './scale.js';
32
+ import { DEFAULT_PALETTE, SPEC_DEFAULTS } from './spec.js';
33
+ const h = React.createElement;
34
+ // --- container -------------------------------------------------------------
35
+ const ConfigContext = React.createContext({});
36
+ /**
37
+ * Carries the `ChartConfig` and the sizing box. Charts inside read their
38
+ * labels and colours from it by series key.
39
+ */
40
+ export function ChartContainer(props) {
41
+ return h(ConfigContext.Provider, { value: props.config ?? {} }, hx('box', {
42
+ style: [{ flexDirection: 'column' }, props.style],
43
+ 'data-testname': props['data-testname'],
44
+ }, props.children));
45
+ }
46
+ /* The series/axis/grid/tooltip/legend components render nothing: the chart
47
+ * wrapper introspects them by element type. Each keeps a display name so a
48
+ * child the wrapper does not recognise can be reported usefully. */
49
+ export function LineSeries(_props) {
50
+ return null;
51
+ }
52
+ export function AreaSeries(_props) {
53
+ return null;
54
+ }
55
+ export function BarSeries(_props) {
56
+ return null;
57
+ }
58
+ export function ScatterSeries(_props) {
59
+ return null;
60
+ }
61
+ export function XAxis(_props) {
62
+ return null;
63
+ }
64
+ export function YAxis(_props) {
65
+ return null;
66
+ }
67
+ export function CartesianGrid(_props) {
68
+ return null;
69
+ }
70
+ export function ChartTooltip(_props) {
71
+ return null;
72
+ }
73
+ export function ChartLegend(_props) {
74
+ return null;
75
+ }
76
+ // --- child introspection ---------------------------------------------------
77
+ const SERIES_TYPES = new Map([
78
+ [LineSeries, 'line'],
79
+ [AreaSeries, 'area'],
80
+ [BarSeries, 'bar'],
81
+ [ScatterSeries, 'scatter'],
82
+ ]);
83
+ function introspect(children) {
84
+ const out = {
85
+ series: [],
86
+ xAxis: null,
87
+ yAxis: null,
88
+ grid: null,
89
+ tooltip: null,
90
+ legend: null,
91
+ };
92
+ React.Children.forEach(children, (child) => {
93
+ if (!React.isValidElement(child))
94
+ return;
95
+ const type = child.type;
96
+ const seriesType = SERIES_TYPES.get(type);
97
+ if (seriesType) {
98
+ out.series.push({
99
+ type: seriesType,
100
+ props: child.props,
101
+ });
102
+ }
103
+ else if (type === XAxis)
104
+ out.xAxis = child.props;
105
+ else if (type === YAxis)
106
+ out.yAxis = child.props;
107
+ else if (type === CartesianGrid)
108
+ out.grid = child.props;
109
+ else if (type === ChartTooltip)
110
+ out.tooltip = child.props;
111
+ else if (type === ChartLegend)
112
+ out.legend = child.props;
113
+ // anything else is silently ignored, recharts-style: a chart's children
114
+ // are declarations, and there is nowhere sensible to render a stray box
115
+ });
116
+ return out;
117
+ }
118
+ function buildSpec(parts, config) {
119
+ const series = parts.series.map((s, i) => {
120
+ const conf = config[s.props.dataKey] ?? {};
121
+ return {
122
+ id: s.props.dataKey,
123
+ type: s.type,
124
+ color: s.props.color ??
125
+ conf.color ??
126
+ DEFAULT_PALETTE[i % DEFAULT_PALETTE.length],
127
+ label: s.props.label ?? conf.label ?? s.props.dataKey,
128
+ strokeWidth: s.props.strokeWidth ?? SPEC_DEFAULTS.strokeWidth,
129
+ fillOpacity: s.props.fillOpacity ?? SPEC_DEFAULTS.fillOpacity,
130
+ curve: s.props.curve ?? 'linear',
131
+ dot: s.props.dot === true
132
+ ? 3
133
+ : s.props.dot === false || s.props.dot === undefined
134
+ ? false
135
+ : s.props.dot,
136
+ stackId: s.props.stackId ?? null,
137
+ barRadius: s.props.radius ?? 0,
138
+ size: s.props.size ?? SPEC_DEFAULTS.scatterSize,
139
+ };
140
+ });
141
+ const x = {
142
+ key: parts.xAxis?.dataKey ?? null,
143
+ type: parts.xAxis?.type ?? 'auto',
144
+ ticks: parts.xAxis?.ticks ?? SPEC_DEFAULTS.ticks,
145
+ domain: parts.xAxis?.domain ?? ['auto', 'auto'],
146
+ hide: parts.xAxis?.hide ?? false,
147
+ width: 'auto',
148
+ height: parts.xAxis?.height ?? SPEC_DEFAULTS.xAxisHeight,
149
+ };
150
+ const y = {
151
+ key: null,
152
+ type: 'linear',
153
+ ticks: parts.yAxis?.ticks ?? SPEC_DEFAULTS.ticks,
154
+ domain: parts.yAxis?.domain ?? ['auto', 'auto'],
155
+ hide: parts.yAxis?.hide ?? false,
156
+ width: parts.yAxis?.width ?? 'auto',
157
+ height: 0,
158
+ };
159
+ const grid = parts.grid
160
+ ? {
161
+ horizontal: parts.grid.horizontal ?? true,
162
+ vertical: parts.grid.vertical ?? false,
163
+ }
164
+ : null;
165
+ return { series, x, y, grid };
166
+ }
167
+ /** Everything JSON-able that shapes the spec — the memo key. Functions and
168
+ * the data stay out; they have their own channels. */
169
+ function specKey(parts, config) {
170
+ return JSON.stringify([
171
+ parts.series.map((s) => [
172
+ s.type,
173
+ s.props.dataKey,
174
+ s.props.color,
175
+ s.props.label,
176
+ s.props.strokeWidth,
177
+ s.props.fillOpacity,
178
+ s.props.curve,
179
+ s.props.dot,
180
+ s.props.stackId,
181
+ s.props.radius,
182
+ s.props.size,
183
+ ]),
184
+ parts.xAxis && [
185
+ parts.xAxis.dataKey,
186
+ parts.xAxis.type,
187
+ parts.xAxis.ticks,
188
+ parts.xAxis.domain,
189
+ parts.xAxis.hide,
190
+ parts.xAxis.height,
191
+ ],
192
+ parts.yAxis && [
193
+ parts.yAxis.ticks,
194
+ parts.yAxis.domain,
195
+ parts.yAxis.hide,
196
+ parts.yAxis.width,
197
+ ],
198
+ parts.grid && [parts.grid.horizontal, parts.grid.vertical],
199
+ config,
200
+ ]);
201
+ }
202
+ /** How far past the snapped point the pointer travels before the bubble
203
+ * switches sides. The dead zone keeps the bubble still while the pointer
204
+ * sits on the point itself. */
205
+ const SIDE_HYSTERESIS = 8;
206
+ function makeCartesianChart(displayName) {
207
+ function Chart(props) {
208
+ const config = React.useContext(ConfigContext);
209
+ const theme = useTheme();
210
+ const parts = introspect(props.children);
211
+ const key = specKey(parts, config);
212
+ // `key` serializes everything buildSpec reads, so it is the memo's
213
+ // whole dependency: same key, same spec object, no damage upstream.
214
+ const spec = React.useMemo(() => buildSpec(parts, config),
215
+ // eslint-disable-next-line react-hooks/exhaustive-deps
216
+ [key]);
217
+ // ONE mutable formatter object per chart: identity-stable on purpose,
218
+ // so inline arrow formatters never damage the plot (see file header)
219
+ const formatters = React.useRef({}).current;
220
+ formatters.x = parts.xAxis?.tickFormatter;
221
+ formatters.y = parts.yAxis?.tickFormatter;
222
+ const nodeRef = React.useRef(null);
223
+ const [hover, setHover] = React.useState(null);
224
+ const sideRef = React.useRef('right');
225
+ const lastPointer = React.useRef(null);
226
+ // one callback ref feeds both the internal node ref and the public
227
+ // plotRef handle; memoized so React does not detach/attach per render
228
+ const plotRefProp = props.plotRef;
229
+ const setNode = React.useCallback((n) => {
230
+ nodeRef.current = n;
231
+ if (typeof plotRefProp === 'function')
232
+ plotRefProp(n);
233
+ else if (plotRefProp) {
234
+ plotRefProp.current = n;
235
+ }
236
+ }, [plotRefProp]);
237
+ const wantHover = parts.tooltip !== null;
238
+ // Re-runnable for a pointer that has not moved: streaming data slides
239
+ // the chart under a parked pointer, and a hover snapshot taken at the
240
+ // last mousemove would keep showing the point that was there before.
241
+ const takeHover = (x, y) => {
242
+ const node = nodeRef.current;
243
+ const hit = node?.hitAt(x);
244
+ if (!hit || !node) {
245
+ setHover(null);
246
+ return;
247
+ }
248
+ // bubble side: opposite the pointer, with a dead zone around the
249
+ // snap so sitting on a point does not flip it back and forth
250
+ if (x > hit.px + SIDE_HYSTERESIS)
251
+ sideRef.current = 'left';
252
+ else if (x < hit.px - SIDE_HYSTERESIS)
253
+ sideRef.current = 'right';
254
+ setHover({
255
+ hit,
256
+ originX: node.abs.x,
257
+ originY: node.abs.y,
258
+ width: node.abs.width,
259
+ height: node.abs.height,
260
+ pointerY: y,
261
+ side: sideRef.current,
262
+ });
263
+ };
264
+ // effects re-take the hover through this ref, so they always run the
265
+ // render's latest closure without re-subscribing per render
266
+ const takeHoverRef = React.useRef(takeHover);
267
+ takeHoverRef.current = takeHover;
268
+ const hoverActive = hover !== null;
269
+ // a live store shifts under the pointer between mouse events: while
270
+ // hovered, every store notification re-snaps from the parked position
271
+ const data = props.data;
272
+ React.useEffect(() => {
273
+ if (!wantHover || !hoverActive)
274
+ return;
275
+ if (!data || !isChartDataLike(data))
276
+ return;
277
+ return data.subscribe(() => {
278
+ const p = lastPointer.current;
279
+ if (p)
280
+ takeHoverRef.current(p.x, p.y);
281
+ });
282
+ }, [data, wantHover, hoverActive]);
283
+ // plain rows/columns move by prop identity instead — same re-snap
284
+ React.useEffect(() => {
285
+ const p = lastPointer.current;
286
+ if (p && hoverActive)
287
+ takeHoverRef.current(p.x, p.y);
288
+ // eslint-disable-next-line react-hooks/exhaustive-deps
289
+ }, [data]);
290
+ // The bubble hides while a button is down — the toolkit convention
291
+ // (Qt and GTK dismiss tooltips on any press), and what makes a press
292
+ // that doubles as a gesture (pan, click-to-flip) never fight the
293
+ // window manager over stacking: a click-to-raise WM raises the owner
294
+ // window above the override-redirect popup, and no WM restacks
295
+ // unmanaged windows back (react-x11#299 is the standing fix). The
296
+ // crosshair and markers are in-window and keep tracking through the
297
+ // drag; on release the popup re-mounts, and a freshly created window
298
+ // starts above its siblings.
299
+ const [pressed, setPressed] = React.useState(false);
300
+ // The handlers ride the plot *wrapper*, not the element: the hover
301
+ // overlays live between the two, and tracking must survive the pointer
302
+ // passing over its own crosshair. (They are also hit-transparent — see
303
+ // renderPlotOverlays — this is the second layer of the same defence.)
304
+ const onMouseMove = wantHover
305
+ ? (ev) => {
306
+ lastPointer.current = { x: ev.x, y: ev.y };
307
+ takeHover(ev.x, ev.y);
308
+ }
309
+ : undefined;
310
+ const onMouseLeave = wantHover
311
+ ? () => {
312
+ lastPointer.current = null;
313
+ setPressed(false);
314
+ setHover(null);
315
+ }
316
+ : undefined;
317
+ const onMouseDown = wantHover ? () => setPressed(true) : undefined;
318
+ const onMouseUp = wantHover ? () => setPressed(false) : undefined;
319
+ const plotChildren = [
320
+ h(ELEMENT, {
321
+ key: 'plot',
322
+ ref: setNode,
323
+ spec,
324
+ data: props.data,
325
+ formatters,
326
+ onFrameStats: props.onFrameStats,
327
+ // minHeight/minWidth 0: yoga's `min* : auto` content floor would
328
+ // otherwise hold the element at its intrinsic measure, and a chart
329
+ // plus its legend then OVERFLOWS a fixed-height container — the
330
+ // x-gutter's tick labels land on whatever flows below the chart
331
+ style: { flexGrow: 1, alignSelf: 'stretch', minHeight: 0, minWidth: 0 },
332
+ }),
333
+ ];
334
+ if (hover) {
335
+ plotChildren.push(...renderPlotOverlays(hover, parts.tooltip));
336
+ if (!pressed) {
337
+ const bubble = renderTooltipBubble(hover, parts.tooltip, formatters, theme, nodeRef, parts.xAxis?.type);
338
+ if (bubble)
339
+ plotChildren.push(bubble);
340
+ }
341
+ }
342
+ const legendRow = parts.legend
343
+ ? renderLegend(spec, parts.legend.verticalAlign ?? 'bottom')
344
+ : null;
345
+ return hx('box',
346
+ // flexGrow so a chart FILLS the container's styled height instead of
347
+ // sitting at the element's intrinsic size and overflowing it; with no
348
+ // height anywhere the intrinsic size still decides, as before.
349
+ // minHeight/minWidth 0 at every level of the column (here, the plot
350
+ // wrapper, the element): yoga's `min*: auto` content floor at ANY of
351
+ // them re-inflates the chart past a fixed container, and the gutter's
352
+ // tick labels then print over whatever flows after the chart.
353
+ {
354
+ style: [
355
+ { flexDirection: 'column', flexGrow: 1, minHeight: 0, minWidth: 0 },
356
+ props.style,
357
+ ],
358
+ 'data-testname': props['data-testname'],
359
+ }, parts.legend?.verticalAlign === 'top' ? legendRow : null, hx('box', {
360
+ style: {
361
+ flexGrow: 1,
362
+ flexDirection: 'column',
363
+ position: 'relative',
364
+ // the other half of the content-floor release: the wrapper
365
+ // itself must be allowed to shrink into the container's box
366
+ minHeight: 0,
367
+ minWidth: 0,
368
+ },
369
+ onMouseMove,
370
+ onMouseLeave,
371
+ onMouseDown,
372
+ onMouseUp,
373
+ }, ...plotChildren), parts.legend?.verticalAlign !== 'top' ? legendRow : null);
374
+ }
375
+ Chart.displayName = displayName;
376
+ return Chart;
377
+ }
378
+ /** The four chart types are one cartesian chart under four names, the way
379
+ * shadcn's all sit on one recharts: the series children say what is drawn,
380
+ * and mixing them — bars under a line — works in any of these. The names
381
+ * exist so a chart reads as what it is. */
382
+ export const LineChart = makeCartesianChart('LineChart');
383
+ export const AreaChart = makeCartesianChart('AreaChart');
384
+ export const BarChart = makeCartesianChart('BarChart');
385
+ export const ScatterChart = makeCartesianChart('ScatterChart');
386
+ // --- hover overlays --------------------------------------------------------
387
+ /**
388
+ * The crosshair and the point markers: part of the plot, always in-window,
389
+ * and **hit-transparent** — without `pointerEvents: 'none'` the pointer
390
+ * lands on its own crosshair, the wrapper's move events keep flowing but a
391
+ * box the hover conjured must never be the thing under the mouse.
392
+ */
393
+ function renderPlotOverlays(hover, tooltip) {
394
+ const { hit, originX, originY } = hover;
395
+ const out = [];
396
+ const plotTop = hit.plot.y - originY;
397
+ const crosshairX = hit.px - originX;
398
+ if (tooltip?.cursor !== false) {
399
+ out.push(hx('box', {
400
+ key: 'crosshair',
401
+ style: {
402
+ position: 'absolute',
403
+ pointerEvents: 'none',
404
+ left: Math.round(crosshairX),
405
+ top: Math.round(plotTop),
406
+ width: 1,
407
+ height: Math.round(hit.plot.height),
408
+ backgroundColor: '$border',
409
+ },
410
+ }));
411
+ }
412
+ for (const p of hit.points) {
413
+ out.push(hx('box', {
414
+ key: `marker-${p.id}`,
415
+ style: {
416
+ position: 'absolute',
417
+ pointerEvents: 'none',
418
+ left: Math.round(crosshairX - 3),
419
+ top: Math.round(p.py - originY - 3),
420
+ width: 7,
421
+ height: 7,
422
+ borderRadius: 4,
423
+ borderWidth: 1,
424
+ borderColor: '$background',
425
+ backgroundColor: p.color,
426
+ },
427
+ }));
428
+ }
429
+ return out;
430
+ }
431
+ /** Rough bubble height, for clamping before anything is laid out. */
432
+ function bubbleEstimate(points) {
433
+ return 34 + points * 18;
434
+ }
435
+ /**
436
+ * The value bubble, in whichever home `ChartTooltip mode` chose.
437
+ *
438
+ * The default is a `<popup>` hung off the data point through the anchor
439
+ * system — a real override-redirect window, so it stacks above content
440
+ * that flows after the chart (an in-window overlay paints in tree order
441
+ * and loses to any later sibling it leans over), follows screen-edge
442
+ * flips, and never takes focus. The bubble hangs on the side of the
443
+ * crosshair *away* from the pointer (with hysteresis), so the pointer
444
+ * cannot wander onto the tooltip window and flicker the hover.
445
+ *
446
+ * `mode="overlay"` keeps it as an absolutely-positioned, hit-transparent
447
+ * box clamped inside the chart: one window, one paint surface — and the
448
+ * documented trade that later siblings can overdraw whatever part of it
449
+ * would have left the chart's box.
450
+ */
451
+ function renderTooltipBubble(hover, tooltip, formatters, theme, anchorRef, xType) {
452
+ const { hit, originX, originY, width, height, side } = hover;
453
+ const crosshairX = hit.px - originX;
454
+ const data = { xValue: hit.xValue, points: hit.points };
455
+ const fmtLabel = tooltip?.labelFormatter ??
456
+ ((v) => {
457
+ if (typeof v !== 'number')
458
+ return String(v);
459
+ if (formatters.x)
460
+ return formatters.x(v);
461
+ // a time axis without a formatter of its own labels the header the
462
+ // way it labels its ticks — never as raw epoch milliseconds
463
+ if (xType === 'time')
464
+ return formatTimeTick(v, Math.max(1, hit.xSpan));
465
+ return String(v);
466
+ });
467
+ const fmtValue = tooltip?.formatter ??
468
+ ((v) => (formatters.y ? formatters.y(v) : formatValue(v)));
469
+ const content = tooltip?.content
470
+ ? [tooltip.content(data)]
471
+ : defaultTooltipContent(data, fmtLabel, fmtValue);
472
+ if (tooltip?.mode === 'overlay') {
473
+ const est = bubbleEstimate(hit.points.length);
474
+ const bubbleStyle = {
475
+ position: 'absolute',
476
+ pointerEvents: 'none',
477
+ top: Math.max(0, Math.min(Math.round(hover.pointerY - originY + 14), Math.round(height - est))),
478
+ flexDirection: 'column',
479
+ padding: 8,
480
+ gap: 4,
481
+ // Theme.radiusTooltip is not reachable as a style token (radius
482
+ // tokens resolve to numbers only), so it is read off the theme here.
483
+ borderRadius: theme.radiusTooltip,
484
+ borderWidth: 1,
485
+ borderColor: '$border',
486
+ backgroundColor: '$background',
487
+ };
488
+ if (side === 'left')
489
+ bubbleStyle.right = Math.round(width - crosshairX + 10);
490
+ else
491
+ bubbleStyle.left = Math.round(crosshairX + 10);
492
+ return hx('box', { key: 'tooltip', style: bubbleStyle }, ...content);
493
+ }
494
+ // the pointer's y, clamped into the plot band so tracking across the
495
+ // axis gutter does not drag the bubble out of the chart
496
+ const anchorY = Math.max(hit.plot.y - originY, Math.min(hover.pointerY - originY, hit.plot.y - originY + hit.plot.height));
497
+ return hx('popup', {
498
+ key: 'tooltip-popup',
499
+ // the palette does not cross into a separate window on its own; the
500
+ // re-declared theme is what makes the $tokens below resolve (the
501
+ // calendar's DatePicker sets the precedent)
502
+ theme,
503
+ width: 'auto',
504
+ height: 'auto',
505
+ anchor: {
506
+ // the ref-facing DrawnNode view and the retained node are the same
507
+ // object; the anchor system wants the former's type
508
+ to: anchorRef,
509
+ at: { x: crosshairX, y: anchorY },
510
+ placement: side,
511
+ align: 'start',
512
+ offset: 14,
513
+ },
514
+ transparent: true,
515
+ style: {
516
+ backgroundColor: theme.background,
517
+ '@supports transparency': {
518
+ backgroundColor: 'transparent',
519
+ },
520
+ },
521
+ }, hx('box', {
522
+ style: {
523
+ flexDirection: 'column',
524
+ padding: 8,
525
+ gap: 4,
526
+ borderRadius: theme.radiusTooltip,
527
+ borderWidth: 1,
528
+ borderColor: '$border',
529
+ backgroundColor: '$background',
530
+ },
531
+ }, ...content));
532
+ }
533
+ function formatValue(v) {
534
+ if (Number.isInteger(v))
535
+ return String(v);
536
+ return Math.abs(v) >= 100 ? v.toFixed(0) : v.toFixed(2);
537
+ }
538
+ function defaultTooltipContent(data, fmtLabel, fmtValue) {
539
+ const rows = [
540
+ hx('text', { key: 'label', style: { color: '$textMuted', fontSize: 12 } }, fmtLabel(data.xValue)),
541
+ ];
542
+ for (const p of data.points) {
543
+ rows.push(hx('box', {
544
+ key: p.id,
545
+ style: { flexDirection: 'row', alignItems: 'center', gap: 6 },
546
+ }, hx('box', {
547
+ style: {
548
+ width: 8,
549
+ height: 8,
550
+ borderRadius: 2,
551
+ backgroundColor: p.color,
552
+ },
553
+ }), hx('text', { style: { color: '$textMuted', fontSize: 12 } }, p.label), hx('box', { style: { flexGrow: 1, minWidth: 12 } }), hx('text', { style: { color: '$text', fontSize: 12 } }, fmtValue(p.value, p.id))));
554
+ }
555
+ return rows;
556
+ }
557
+ // --- legend ----------------------------------------------------------------
558
+ function renderLegend(spec, align) {
559
+ return hx('box', {
560
+ key: `legend-${align}`,
561
+ style: {
562
+ flexDirection: 'row',
563
+ justifyContent: 'center',
564
+ gap: 16,
565
+ paddingTop: align === 'bottom' ? 8 : 0,
566
+ paddingBottom: align === 'top' ? 8 : 0,
567
+ },
568
+ }, ...spec.series.map((s) => hx('box', {
569
+ key: s.id,
570
+ style: { flexDirection: 'row', alignItems: 'center', gap: 6 },
571
+ }, hx('box', {
572
+ style: {
573
+ width: 10,
574
+ height: 10,
575
+ borderRadius: 3,
576
+ backgroundColor: s.color,
577
+ },
578
+ }), hx('text', { style: { color: '$textMuted', fontSize: 12 } }, s.label))));
579
+ }
580
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/charts/components.ts"],"names":[],"mappings":"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"}