@react-x11/components 0.1.0 → 0.2.0

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 (783) 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 +81 -0
  335. package/dist/internal/heights.d.ts.map +1 -0
  336. package/dist/internal/heights.js +193 -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/text.d.ts +6 -0
  343. package/dist/internal/text.d.ts.map +1 -0
  344. package/dist/internal/text.js +44 -0
  345. package/dist/internal/text.js.map +1 -0
  346. package/dist/internal/timers.d.ts +8 -0
  347. package/dist/internal/timers.d.ts.map +1 -0
  348. package/dist/internal/timers.js +22 -0
  349. package/dist/internal/timers.js.map +1 -0
  350. package/dist/internal/widget.d.ts +40 -0
  351. package/dist/internal/widget.d.ts.map +1 -0
  352. package/dist/internal/widget.js +44 -0
  353. package/dist/internal/widget.js.map +1 -0
  354. package/dist/markdown/ast.d.ts +126 -0
  355. package/dist/markdown/ast.d.ts.map +1 -0
  356. package/dist/markdown/ast.js +8 -0
  357. package/dist/markdown/ast.js.map +1 -0
  358. package/dist/markdown/hx.d.ts +24 -0
  359. package/dist/markdown/hx.d.ts.map +1 -0
  360. package/dist/markdown/hx.js +25 -0
  361. package/dist/markdown/hx.js.map +1 -0
  362. package/dist/markdown/index.d.ts +90 -0
  363. package/dist/markdown/index.d.ts.map +1 -0
  364. package/dist/markdown/index.js +413 -0
  365. package/dist/markdown/index.js.map +1 -0
  366. package/dist/markdown/parse.d.ts +8 -0
  367. package/dist/markdown/parse.d.ts.map +1 -0
  368. package/dist/markdown/parse.js +911 -0
  369. package/dist/markdown/parse.js.map +1 -0
  370. package/dist/markdown/spans.d.ts +20 -0
  371. package/dist/markdown/spans.d.ts.map +1 -0
  372. package/dist/markdown/spans.js +96 -0
  373. package/dist/markdown/spans.js.map +1 -0
  374. package/dist/media-player/backends.d.ts +64 -0
  375. package/dist/media-player/backends.d.ts.map +1 -0
  376. package/dist/media-player/backends.js +110 -0
  377. package/dist/media-player/backends.js.map +1 -0
  378. package/dist/media-player/control.d.ts +40 -0
  379. package/dist/media-player/control.d.ts.map +1 -0
  380. package/dist/media-player/control.js +44 -0
  381. package/dist/media-player/control.js.map +1 -0
  382. package/dist/media-player/hx.d.ts +24 -0
  383. package/dist/media-player/hx.d.ts.map +1 -0
  384. package/dist/media-player/hx.js +25 -0
  385. package/dist/media-player/hx.js.map +1 -0
  386. package/dist/media-player/index.d.ts +107 -0
  387. package/dist/media-player/index.d.ts.map +1 -0
  388. package/dist/media-player/index.js +219 -0
  389. package/dist/media-player/index.js.map +1 -0
  390. package/dist/media-player/mpv.d.ts +4 -0
  391. package/dist/media-player/mpv.d.ts.map +1 -0
  392. package/dist/media-player/mpv.js +120 -0
  393. package/dist/media-player/mpv.js.map +1 -0
  394. package/dist/media-player/vlc.d.ts +8 -0
  395. package/dist/media-player/vlc.d.ts.map +1 -0
  396. package/dist/media-player/vlc.js +83 -0
  397. package/dist/media-player/vlc.js.map +1 -0
  398. package/dist/richtext/index.d.ts +19 -0
  399. package/dist/richtext/index.d.ts.map +1 -0
  400. package/dist/richtext/index.js +4 -0
  401. package/dist/richtext/index.js.map +1 -0
  402. package/dist/richtext/links.d.ts +12 -0
  403. package/dist/richtext/links.d.ts.map +1 -0
  404. package/dist/richtext/links.js +64 -0
  405. package/dist/richtext/links.js.map +1 -0
  406. package/dist/richtext/menu.d.ts +11 -0
  407. package/dist/richtext/menu.d.ts.map +1 -0
  408. package/dist/richtext/menu.js +43 -0
  409. package/dist/richtext/menu.js.map +1 -0
  410. package/dist/richtext/node.d.ts +151 -0
  411. package/dist/richtext/node.d.ts.map +1 -0
  412. package/dist/richtext/node.js +255 -0
  413. package/dist/richtext/node.js.map +1 -0
  414. package/dist/richtext/runs.d.ts +92 -0
  415. package/dist/richtext/runs.d.ts.map +1 -0
  416. package/dist/richtext/runs.js +158 -0
  417. package/dist/richtext/runs.js.map +1 -0
  418. package/dist/table/hx.d.ts +24 -0
  419. package/dist/table/hx.d.ts.map +1 -0
  420. package/dist/table/hx.js +25 -0
  421. package/dist/table/hx.js.map +1 -0
  422. package/dist/table/index.d.ts +169 -0
  423. package/dist/table/index.d.ts.map +1 -0
  424. package/dist/table/index.js +844 -0
  425. package/dist/table/index.js.map +1 -0
  426. package/dist/table/rows.d.ts +136 -0
  427. package/dist/table/rows.d.ts.map +1 -0
  428. package/dist/table/rows.js +146 -0
  429. package/dist/table/rows.js.map +1 -0
  430. package/dist/terminal/backends.d.ts +105 -0
  431. package/dist/terminal/backends.d.ts.map +1 -0
  432. package/dist/terminal/backends.js +185 -0
  433. package/dist/terminal/backends.js.map +1 -0
  434. package/dist/terminal/hx.d.ts +24 -0
  435. package/dist/terminal/hx.d.ts.map +1 -0
  436. package/dist/terminal/hx.js +25 -0
  437. package/dist/terminal/hx.js.map +1 -0
  438. package/dist/terminal/index.d.ts +160 -0
  439. package/dist/terminal/index.d.ts.map +1 -0
  440. package/dist/terminal/index.js +344 -0
  441. package/dist/terminal/index.js.map +1 -0
  442. package/dist/terminal/title.d.ts +24 -0
  443. package/dist/terminal/title.d.ts.map +1 -0
  444. package/dist/terminal/title.js +129 -0
  445. package/dist/terminal/title.js.map +1 -0
  446. package/dist/terminal/vt/colors.d.ts +63 -0
  447. package/dist/terminal/vt/colors.d.ts.map +1 -0
  448. package/dist/terminal/vt/colors.js +203 -0
  449. package/dist/terminal/vt/colors.js.map +1 -0
  450. package/dist/terminal/vt/diff.d.ts +117 -0
  451. package/dist/terminal/vt/diff.d.ts.map +1 -0
  452. package/dist/terminal/vt/diff.js +358 -0
  453. package/dist/terminal/vt/diff.js.map +1 -0
  454. package/dist/terminal/vt/fonts.d.ts +92 -0
  455. package/dist/terminal/vt/fonts.d.ts.map +1 -0
  456. package/dist/terminal/vt/fonts.js +178 -0
  457. package/dist/terminal/vt/fonts.js.map +1 -0
  458. package/dist/terminal/vt/index.d.ts +78 -0
  459. package/dist/terminal/vt/index.d.ts.map +1 -0
  460. package/dist/terminal/vt/index.js +312 -0
  461. package/dist/terminal/vt/index.js.map +1 -0
  462. package/dist/terminal/vt/keys.d.ts +74 -0
  463. package/dist/terminal/vt/keys.d.ts.map +1 -0
  464. package/dist/terminal/vt/keys.js +309 -0
  465. package/dist/terminal/vt/keys.js.map +1 -0
  466. package/dist/terminal/vt/mouse.d.ts +44 -0
  467. package/dist/terminal/vt/mouse.d.ts.map +1 -0
  468. package/dist/terminal/vt/mouse.js +106 -0
  469. package/dist/terminal/vt/mouse.js.map +1 -0
  470. package/dist/terminal/vt/node.d.ts +246 -0
  471. package/dist/terminal/vt/node.d.ts.map +1 -0
  472. package/dist/terminal/vt/node.js +1068 -0
  473. package/dist/terminal/vt/node.js.map +1 -0
  474. package/dist/terminal/vt/pty.d.ts +81 -0
  475. package/dist/terminal/vt/pty.d.ts.map +1 -0
  476. package/dist/terminal/vt/pty.js +201 -0
  477. package/dist/terminal/vt/pty.js.map +1 -0
  478. package/dist/terminal/vt/renderer.d.ts +179 -0
  479. package/dist/terminal/vt/renderer.d.ts.map +1 -0
  480. package/dist/terminal/vt/renderer.js +357 -0
  481. package/dist/terminal/vt/renderer.js.map +1 -0
  482. package/dist/terminal/vt/timers.d.ts +6 -0
  483. package/dist/terminal/vt/timers.d.ts.map +1 -0
  484. package/dist/terminal/vt/timers.js +16 -0
  485. package/dist/terminal/vt/timers.js.map +1 -0
  486. package/dist/terminal/vt/xterm.d.ts +142 -0
  487. package/dist/terminal/vt/xterm.d.ts.map +1 -0
  488. package/dist/terminal/vt/xterm.js +32 -0
  489. package/dist/terminal/vt/xterm.js.map +1 -0
  490. package/dist/terminal-output/hx.d.ts +24 -0
  491. package/dist/terminal-output/hx.d.ts.map +1 -0
  492. package/dist/terminal-output/hx.js +25 -0
  493. package/dist/terminal-output/hx.js.map +1 -0
  494. package/dist/terminal-output/index.d.ts +92 -0
  495. package/dist/terminal-output/index.d.ts.map +1 -0
  496. package/dist/terminal-output/index.js +179 -0
  497. package/dist/terminal-output/index.js.map +1 -0
  498. package/dist/terminal-output/runs.d.ts +27 -0
  499. package/dist/terminal-output/runs.d.ts.map +1 -0
  500. package/dist/terminal-output/runs.js +66 -0
  501. package/dist/terminal-output/runs.js.map +1 -0
  502. package/dist/three/canvas.d.ts +46 -0
  503. package/dist/three/canvas.d.ts.map +1 -0
  504. package/dist/three/canvas.js +305 -0
  505. package/dist/three/canvas.js.map +1 -0
  506. package/dist/three/events.d.ts +64 -0
  507. package/dist/three/events.d.ts.map +1 -0
  508. package/dist/three/events.js +146 -0
  509. package/dist/three/events.js.map +1 -0
  510. package/dist/three/geometries.d.ts +89 -0
  511. package/dist/three/geometries.d.ts.map +1 -0
  512. package/dist/three/geometries.js +345 -0
  513. package/dist/three/geometries.js.map +1 -0
  514. package/dist/three/globals.d.ts +7 -0
  515. package/dist/three/globals.d.ts.map +1 -0
  516. package/dist/three/globals.js +20 -0
  517. package/dist/three/globals.js.map +1 -0
  518. package/dist/three/hx.d.ts +9 -0
  519. package/dist/three/hx.d.ts.map +1 -0
  520. package/dist/three/hx.js +10 -0
  521. package/dist/three/hx.js.map +1 -0
  522. package/dist/three/index.d.ts +22 -0
  523. package/dist/three/index.d.ts.map +1 -0
  524. package/dist/three/index.js +24 -0
  525. package/dist/three/index.js.map +1 -0
  526. package/dist/three/jsx-dev-runtime.d.ts +19 -0
  527. package/dist/three/jsx-dev-runtime.d.ts.map +1 -0
  528. package/dist/three/jsx-dev-runtime.js +2 -0
  529. package/dist/three/jsx-dev-runtime.js.map +1 -0
  530. package/dist/three/jsx-runtime.d.ts +19 -0
  531. package/dist/three/jsx-runtime.d.ts.map +1 -0
  532. package/dist/three/jsx-runtime.js +2 -0
  533. package/dist/three/jsx-runtime.js.map +1 -0
  534. package/dist/three/jsx.d.ts +198 -0
  535. package/dist/three/jsx.d.ts.map +1 -0
  536. package/dist/three/jsx.js +2 -0
  537. package/dist/three/jsx.js.map +1 -0
  538. package/dist/three/materials.d.ts +125 -0
  539. package/dist/three/materials.d.ts.map +1 -0
  540. package/dist/three/materials.js +229 -0
  541. package/dist/three/materials.js.map +1 -0
  542. package/dist/three/math.d.ts +146 -0
  543. package/dist/three/math.d.ts.map +1 -0
  544. package/dist/three/math.js +464 -0
  545. package/dist/three/math.js.map +1 -0
  546. package/dist/three/objects.d.ts +185 -0
  547. package/dist/three/objects.d.ts.map +1 -0
  548. package/dist/three/objects.js +309 -0
  549. package/dist/three/objects.js.map +1 -0
  550. package/dist/three/passes.d.ts +54 -0
  551. package/dist/three/passes.d.ts.map +1 -0
  552. package/dist/three/passes.js +78 -0
  553. package/dist/three/passes.js.map +1 -0
  554. package/dist/three/postprocess.d.ts +85 -0
  555. package/dist/three/postprocess.d.ts.map +1 -0
  556. package/dist/three/postprocess.js +503 -0
  557. package/dist/three/postprocess.js.map +1 -0
  558. package/dist/three/raycast.d.ts +24 -0
  559. package/dist/three/raycast.d.ts.map +1 -0
  560. package/dist/three/raycast.js +138 -0
  561. package/dist/three/raycast.js.map +1 -0
  562. package/dist/three/reconciler.d.ts +48 -0
  563. package/dist/three/reconciler.d.ts.map +1 -0
  564. package/dist/three/reconciler.js +416 -0
  565. package/dist/three/reconciler.js.map +1 -0
  566. package/dist/three/renderer-direct.d.ts +102 -0
  567. package/dist/three/renderer-direct.d.ts.map +1 -0
  568. package/dist/three/renderer-direct.js +782 -0
  569. package/dist/three/renderer-direct.js.map +1 -0
  570. package/dist/three/renderer-indirect.d.ts +68 -0
  571. package/dist/three/renderer-indirect.d.ts.map +1 -0
  572. package/dist/three/renderer-indirect.js +438 -0
  573. package/dist/three/renderer-indirect.js.map +1 -0
  574. package/dist/three/store.d.ts +81 -0
  575. package/dist/three/store.d.ts.map +1 -0
  576. package/dist/three/store.js +110 -0
  577. package/dist/three/store.js.map +1 -0
  578. package/dist/timeline/hx.d.ts +18 -0
  579. package/dist/timeline/hx.d.ts.map +1 -0
  580. package/dist/timeline/hx.js +10 -0
  581. package/dist/timeline/hx.js.map +1 -0
  582. package/dist/timeline/index.d.ts +152 -0
  583. package/dist/timeline/index.d.ts.map +1 -0
  584. package/dist/timeline/index.js +383 -0
  585. package/dist/timeline/index.js.map +1 -0
  586. package/dist/tray-host/hx.d.ts +24 -0
  587. package/dist/tray-host/hx.d.ts.map +1 -0
  588. package/dist/tray-host/hx.js +25 -0
  589. package/dist/tray-host/hx.js.map +1 -0
  590. package/dist/tray-host/index.d.ts +110 -0
  591. package/dist/tray-host/index.d.ts.map +1 -0
  592. package/dist/tray-host/index.js +191 -0
  593. package/dist/tray-host/index.js.map +1 -0
  594. package/dist/tray-host/manager.d.ts +137 -0
  595. package/dist/tray-host/manager.d.ts.map +1 -0
  596. package/dist/tray-host/manager.js +462 -0
  597. package/dist/tray-host/manager.js.map +1 -0
  598. package/dist/tray-host/notify.d.ts +22 -0
  599. package/dist/tray-host/notify.d.ts.map +1 -0
  600. package/dist/tray-host/notify.js +74 -0
  601. package/dist/tray-host/notify.js.map +1 -0
  602. package/dist/tray-host/protocol.d.ts +106 -0
  603. package/dist/tray-host/protocol.d.ts.map +1 -0
  604. package/dist/tray-host/protocol.js +191 -0
  605. package/dist/tray-host/protocol.js.map +1 -0
  606. package/dist/tree/hx.d.ts +24 -0
  607. package/dist/tree/hx.d.ts.map +1 -0
  608. package/dist/tree/hx.js +25 -0
  609. package/dist/tree/hx.js.map +1 -0
  610. package/dist/tree/index.d.ts +221 -0
  611. package/dist/tree/index.d.ts.map +1 -0
  612. package/dist/tree/index.js +716 -0
  613. package/dist/tree/index.js.map +1 -0
  614. package/dist/tree/internal.d.ts +18 -0
  615. package/dist/tree/internal.d.ts.map +1 -0
  616. package/dist/tree/internal.js +66 -0
  617. package/dist/tree/internal.js.map +1 -0
  618. package/dist/tree/rows.d.ts +177 -0
  619. package/dist/tree/rows.d.ts.map +1 -0
  620. package/dist/tree/rows.js +179 -0
  621. package/dist/tree/rows.js.map +1 -0
  622. package/package.json +166 -12
  623. package/src/ansi/cast.ts +159 -0
  624. package/src/ansi/index.ts +53 -0
  625. package/src/ansi/palette.ts +226 -0
  626. package/src/ansi/parse.ts +780 -0
  627. package/src/ansi/sgr.ts +380 -0
  628. package/src/ansi/utf8.ts +84 -0
  629. package/src/calendar/Calendar.ts +744 -0
  630. package/src/calendar/DatePicker.ts +368 -0
  631. package/src/calendar/dates.ts +307 -0
  632. package/src/calendar/index.ts +51 -0
  633. package/src/charts/components.ts +864 -0
  634. package/src/charts/data.ts +776 -0
  635. package/src/charts/hx.ts +39 -0
  636. package/src/charts/index.ts +99 -0
  637. package/src/charts/node.ts +932 -0
  638. package/src/charts/render.ts +982 -0
  639. package/src/charts/scale.ts +214 -0
  640. package/src/charts/spec.ts +122 -0
  641. package/src/charts/timers.ts +24 -0
  642. package/src/code/hx.ts +51 -0
  643. package/src/code/index.ts +174 -0
  644. package/src/code-editor/completion.ts +161 -0
  645. package/src/code-editor/doc.ts +198 -0
  646. package/src/code-editor/hx.ts +26 -0
  647. package/src/code-editor/index.ts +615 -0
  648. package/src/code-editor/node.ts +1926 -0
  649. package/src/code-language/hljs.ts +302 -0
  650. package/src/code-language/index.ts +51 -0
  651. package/src/code-language/languages/glsl.ts +120 -0
  652. package/src/code-language/languages/javascript.ts +419 -0
  653. package/src/code-language/languages/json.ts +72 -0
  654. package/src/code-language/languages/shell.ts +221 -0
  655. package/src/code-language/languages/sql.ts +165 -0
  656. package/src/code-language/lezer.ts +190 -0
  657. package/src/code-language/registry.ts +66 -0
  658. package/src/code-language/runs.ts +128 -0
  659. package/src/code-language/stream.ts +306 -0
  660. package/src/code-language/textmate.ts +134 -0
  661. package/src/code-language/theme.ts +124 -0
  662. package/src/code-language/timers.ts +36 -0
  663. package/src/code-language/types.ts +252 -0
  664. package/src/codeblock/index.ts +146 -0
  665. package/src/color-picker/ColorField.ts +333 -0
  666. package/src/color-picker/ColorPicker.ts +1069 -0
  667. package/src/color-picker/color.ts +399 -0
  668. package/src/color-picker/index.ts +50 -0
  669. package/src/desktop-calendar/eds.ts +484 -0
  670. package/src/desktop-calendar/ical.ts +119 -0
  671. package/src/desktop-calendar/index.ts +287 -0
  672. package/src/embed/client.ts +311 -0
  673. package/src/embed/host.ts +432 -0
  674. package/src/embed/index.ts +33 -0
  675. package/src/embed/timers.ts +32 -0
  676. package/src/flow/draw.ts +418 -0
  677. package/src/flow/index.ts +473 -0
  678. package/src/flow/model.ts +687 -0
  679. package/src/flow/node.ts +3694 -0
  680. package/src/flow/paths.ts +403 -0
  681. package/src/flow/types.ts +634 -0
  682. package/src/formula/hx.ts +51 -0
  683. package/src/formula/index.ts +243 -0
  684. package/src/formula/katex.ts +209 -0
  685. package/src/formula/layout.ts +876 -0
  686. package/src/formula/node.ts +467 -0
  687. package/src/html/controls.ts +244 -0
  688. package/src/html/css/cascade.ts +606 -0
  689. package/src/html/css/parse.ts +500 -0
  690. package/src/html/css/style.ts +1371 -0
  691. package/src/html/css/ua.ts +174 -0
  692. package/src/html/css/values.ts +358 -0
  693. package/src/html/dom.ts +410 -0
  694. package/src/html/hx.ts +55 -0
  695. package/src/html/index.ts +545 -0
  696. package/src/html/layout/block.ts +876 -0
  697. package/src/html/layout/boxes.ts +981 -0
  698. package/src/html/layout/flex.ts +297 -0
  699. package/src/html/layout/floats.ts +125 -0
  700. package/src/html/layout/inline.ts +870 -0
  701. package/src/html/layout/table.ts +380 -0
  702. package/src/html/node.ts +967 -0
  703. package/src/html/paint.ts +605 -0
  704. package/src/html/resources.ts +214 -0
  705. package/src/index.ts +638 -0
  706. package/src/internal/heights.ts +211 -0
  707. package/src/internal/hx.ts +53 -0
  708. package/src/internal/text.ts +44 -0
  709. package/src/internal/timers.ts +44 -0
  710. package/src/internal/widget.ts +92 -0
  711. package/src/markdown/ast.ts +163 -0
  712. package/src/markdown/hx.ts +51 -0
  713. package/src/markdown/index.ts +686 -0
  714. package/src/markdown/parse.ts +1037 -0
  715. package/src/markdown/spans.ts +143 -0
  716. package/src/media-player/backends.ts +155 -0
  717. package/src/media-player/control.ts +70 -0
  718. package/src/media-player/hx.ts +51 -0
  719. package/src/media-player/index.ts +378 -0
  720. package/src/media-player/mpv.ts +146 -0
  721. package/src/media-player/vlc.ts +97 -0
  722. package/src/richtext/index.ts +42 -0
  723. package/src/richtext/links.ts +78 -0
  724. package/src/richtext/menu.ts +49 -0
  725. package/src/richtext/node.ts +406 -0
  726. package/src/richtext/runs.ts +253 -0
  727. package/src/table/hx.ts +51 -0
  728. package/src/table/index.ts +1219 -0
  729. package/src/table/rows.ts +275 -0
  730. package/src/terminal/backends.ts +242 -0
  731. package/src/terminal/hx.ts +51 -0
  732. package/src/terminal/index.ts +574 -0
  733. package/src/terminal/title.ts +172 -0
  734. package/src/terminal/vt/colors.ts +247 -0
  735. package/src/terminal/vt/diff.ts +467 -0
  736. package/src/terminal/vt/fonts.ts +233 -0
  737. package/src/terminal/vt/index.ts +443 -0
  738. package/src/terminal/vt/keys.ts +369 -0
  739. package/src/terminal/vt/mouse.ts +144 -0
  740. package/src/terminal/vt/node.ts +1242 -0
  741. package/src/terminal/vt/pty.ts +334 -0
  742. package/src/terminal/vt/renderer.ts +555 -0
  743. package/src/terminal/vt/timers.ts +31 -0
  744. package/src/terminal/vt/xterm.ts +193 -0
  745. package/src/terminal-output/hx.ts +51 -0
  746. package/src/terminal-output/index.ts +340 -0
  747. package/src/terminal-output/runs.ts +79 -0
  748. package/src/three/canvas.ts +451 -0
  749. package/src/three/events.ts +197 -0
  750. package/src/three/geometries.ts +429 -0
  751. package/src/three/globals.ts +34 -0
  752. package/src/three/hx.ts +22 -0
  753. package/src/three/index.ts +98 -0
  754. package/src/three/jsx-dev-runtime.ts +27 -0
  755. package/src/three/jsx-runtime.ts +38 -0
  756. package/src/three/jsx.ts +275 -0
  757. package/src/three/materials.ts +270 -0
  758. package/src/three/math.ts +585 -0
  759. package/src/three/objects.ts +397 -0
  760. package/src/three/passes.ts +90 -0
  761. package/src/three/postprocess.ts +677 -0
  762. package/src/three/raycast.ts +189 -0
  763. package/src/three/react-reconciler.d.ts +50 -0
  764. package/src/three/reconciler.ts +624 -0
  765. package/src/three/renderer-direct.ts +1055 -0
  766. package/src/three/renderer-indirect.ts +570 -0
  767. package/src/three/store.ts +207 -0
  768. package/src/timeline/hx.ts +31 -0
  769. package/src/timeline/index.ts +603 -0
  770. package/src/tray-host/hx.ts +51 -0
  771. package/src/tray-host/index.ts +331 -0
  772. package/src/tray-host/manager.ts +639 -0
  773. package/src/tray-host/notify.ts +102 -0
  774. package/src/tray-host/protocol.ts +235 -0
  775. package/src/tree/hx.ts +51 -0
  776. package/src/tree/index.ts +1087 -0
  777. package/src/tree/internal.ts +87 -0
  778. package/src/tree/rows.ts +334 -0
  779. package/src/index.d.ts +0 -2
  780. package/src/index.js +0 -9
  781. package/src/sparkline/index.d.ts +0 -29
  782. package/src/sparkline/index.js +0 -50
  783. package/src/sparkline/node.js +0 -72
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-x11/components",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Components for react-x11 that do not belong in the core package",
5
5
  "keywords": [
6
6
  "react",
@@ -22,45 +22,199 @@
22
22
  "node": ">=20.19"
23
23
  },
24
24
  "files": [
25
+ "dist",
25
26
  "src"
26
27
  ],
27
28
  "sideEffects": false,
28
- "types": "./src/index.d.ts",
29
+ "types": "./dist/index.d.ts",
29
30
  "exports": {
30
31
  ".": {
31
- "types": "./src/index.d.ts",
32
- "default": "./src/index.js"
32
+ "types": "./dist/index.d.ts",
33
+ "default": "./dist/index.js"
33
34
  },
34
- "./sparkline": {
35
- "types": "./src/sparkline/index.d.ts",
36
- "default": "./src/sparkline/index.js"
35
+ "./ansi": {
36
+ "types": "./dist/ansi/index.d.ts",
37
+ "default": "./dist/ansi/index.js"
38
+ },
39
+ "./calendar": {
40
+ "types": "./dist/calendar/index.d.ts",
41
+ "default": "./dist/calendar/index.js"
42
+ },
43
+ "./charts": {
44
+ "types": "./dist/charts/index.d.ts",
45
+ "default": "./dist/charts/index.js"
46
+ },
47
+ "./code": {
48
+ "types": "./dist/code/index.d.ts",
49
+ "default": "./dist/code/index.js"
50
+ },
51
+ "./code-editor": {
52
+ "types": "./dist/code-editor/index.d.ts",
53
+ "default": "./dist/code-editor/index.js"
54
+ },
55
+ "./code-language": {
56
+ "types": "./dist/code-language/index.d.ts",
57
+ "default": "./dist/code-language/index.js"
58
+ },
59
+ "./codeblock": {
60
+ "types": "./dist/codeblock/index.d.ts",
61
+ "default": "./dist/codeblock/index.js"
62
+ },
63
+ "./color-picker": {
64
+ "types": "./dist/color-picker/index.d.ts",
65
+ "default": "./dist/color-picker/index.js"
66
+ },
67
+ "./desktop-calendar": {
68
+ "types": "./dist/desktop-calendar/index.d.ts",
69
+ "default": "./dist/desktop-calendar/index.js"
70
+ },
71
+ "./embed": {
72
+ "types": "./dist/embed/index.d.ts",
73
+ "default": "./dist/embed/index.js"
74
+ },
75
+ "./flow": {
76
+ "types": "./dist/flow/index.d.ts",
77
+ "default": "./dist/flow/index.js"
78
+ },
79
+ "./formula": {
80
+ "types": "./dist/formula/index.d.ts",
81
+ "default": "./dist/formula/index.js"
82
+ },
83
+ "./html": {
84
+ "types": "./dist/html/index.d.ts",
85
+ "default": "./dist/html/index.js"
86
+ },
87
+ "./markdown": {
88
+ "types": "./dist/markdown/index.d.ts",
89
+ "default": "./dist/markdown/index.js"
90
+ },
91
+ "./media-player": {
92
+ "types": "./dist/media-player/index.d.ts",
93
+ "default": "./dist/media-player/index.js"
94
+ },
95
+ "./richtext": {
96
+ "types": "./dist/richtext/index.d.ts",
97
+ "default": "./dist/richtext/index.js"
98
+ },
99
+ "./table": {
100
+ "types": "./dist/table/index.d.ts",
101
+ "default": "./dist/table/index.js"
102
+ },
103
+ "./terminal": {
104
+ "types": "./dist/terminal/index.d.ts",
105
+ "default": "./dist/terminal/index.js"
106
+ },
107
+ "./terminal-output": {
108
+ "types": "./dist/terminal-output/index.d.ts",
109
+ "default": "./dist/terminal-output/index.js"
110
+ },
111
+ "./three": {
112
+ "types": "./dist/three/index.d.ts",
113
+ "default": "./dist/three/index.js"
114
+ },
115
+ "./three/jsx-runtime": {
116
+ "types": "./dist/three/jsx-runtime.d.ts",
117
+ "default": "./dist/three/jsx-runtime.js"
118
+ },
119
+ "./three/jsx-dev-runtime": {
120
+ "types": "./dist/three/jsx-dev-runtime.d.ts",
121
+ "default": "./dist/three/jsx-dev-runtime.js"
122
+ },
123
+ "./timeline": {
124
+ "types": "./dist/timeline/index.d.ts",
125
+ "default": "./dist/timeline/index.js"
126
+ },
127
+ "./tray-host": {
128
+ "types": "./dist/tray-host/index.d.ts",
129
+ "default": "./dist/tray-host/index.js"
130
+ },
131
+ "./tree": {
132
+ "types": "./dist/tree/index.d.ts",
133
+ "default": "./dist/tree/index.js"
37
134
  },
38
135
  "./package.json": "./package.json"
39
136
  },
40
137
  "scripts": {
41
- "test": "node --test",
138
+ "prebuild": "rm -rf dist",
139
+ "build": "tsc -p tsconfig.build.json",
140
+ "pretest": "npm run build",
141
+ "test": "tsx --test test/*.test.ts",
142
+ "pretypecheck": "npm run build",
42
143
  "typecheck": "tsc -p tsconfig.json",
43
144
  "lint": "eslint .",
44
145
  "format": "prettier --write .",
45
146
  "format:check": "prettier --check .",
46
- "check:package": "node scripts/check-package.mjs",
47
- "examples:sparkline": "tsx examples/sparkline.jsx"
147
+ "check:package": "tsx scripts/check-package.ts",
148
+ "docs": "npm --prefix website start",
149
+ "docs:build": "npm --prefix website run build",
150
+ "examples:calendar": "tsx examples/calendar.tsx",
151
+ "examples:charts": "tsx examples/charts.tsx",
152
+ "examples:code": "tsx examples/code.tsx",
153
+ "examples:color-picker": "tsx examples/color-picker.tsx",
154
+ "examples:code-editor": "tsx examples/code-editor.tsx",
155
+ "examples:flow": "tsx examples/flow.tsx",
156
+ "examples:flow-stress": "tsx examples/flow-stress.tsx",
157
+ "examples:formula": "tsx examples/formula.tsx",
158
+ "examples:html": "tsx examples/html.tsx",
159
+ "examples:markdown": "tsx examples/markdown.tsx",
160
+ "examples:media-player": "tsx examples/media-player.tsx",
161
+ "examples:table": "tsx examples/table.tsx",
162
+ "examples:terminal": "tsx examples/terminal.tsx",
163
+ "examples:terminal-output": "tsx examples/terminal-output.tsx",
164
+ "examples:terminal-vt": "tsx examples/terminal-vt.tsx",
165
+ "examples:terminal-ssh": "tsx examples/terminal-ssh.tsx",
166
+ "examples:three": "tsx examples/three.tsx",
167
+ "examples:three-effects": "tsx examples/three-effects.tsx",
168
+ "examples:timeline": "tsx examples/timeline.tsx",
169
+ "examples:tray-host": "tsx examples/tray-host.tsx",
170
+ "examples:tree": "tsx examples/tree.tsx",
171
+ "prepack": "npm run build"
172
+ },
173
+ "dependencies": {
174
+ "css-select": "^7.0.0",
175
+ "domhandler": "^6.0.0",
176
+ "domutils": "^4.0.0",
177
+ "htmlparser2": "^12.0.0",
178
+ "react-reconciler": "^0.33.0"
48
179
  },
49
180
  "peerDependencies": {
181
+ "@lezer/highlight": "^1.0.0",
182
+ "@lydell/node-pty": "^1.0.0",
183
+ "node-pty": "^1.0.0",
50
184
  "react": "^19.0.0",
51
185
  "react-x11": "^2.0.0"
52
186
  },
187
+ "peerDependenciesMeta": {
188
+ "@lezer/highlight": {
189
+ "optional": true
190
+ },
191
+ "@lydell/node-pty": {
192
+ "optional": true
193
+ },
194
+ "node-pty": {
195
+ "optional": true
196
+ }
197
+ },
53
198
  "devDependencies": {
54
199
  "@eslint/js": "^9.32.0",
200
+ "@lydell/node-pty": "^1.2.0-beta.15",
201
+ "@types/node": "^26.2.0",
55
202
  "@types/react": "^19.2.17",
56
203
  "esbuild": "^0.28.1",
57
204
  "eslint": "^9.32.0",
58
- "eslint-plugin-react": "^7.37.5",
59
205
  "globals": "^17.8.0",
60
206
  "prettier": "^3.6.0",
61
207
  "react": "^19.2.8",
62
- "react-x11": "github:sidorares/react-x11#master",
208
+ "react-x11": "^2.0.0",
63
209
  "tsx": "^4.23.1",
64
210
  "typescript": "^7.0.2"
211
+ },
212
+ "publishConfig": {
213
+ "access": "public"
214
+ },
215
+ "optionalDependencies": {
216
+ "@xterm/headless": "^6.0.0",
217
+ "ical.js": "^2.2.1",
218
+ "katex": "^0.18.4"
65
219
  }
66
220
  }
@@ -0,0 +1,159 @@
1
+ // asciinema recordings, read.
2
+ //
3
+ // A cast is the standard interchange format for "I ran this in a pty and kept
4
+ // it", so a static renderer that cannot open one is a static renderer that
5
+ // asks every user to write the same twenty lines. Both published versions are
6
+ // read: v2 is JSON Lines (a header object, then `[time, kind, data]` events),
7
+ // v1 is one JSON document with relative delays.
8
+ //
9
+ // **This is a reader, not a player.** `castOutput(cast, { until })` gives the
10
+ // bytes up to a moment and `parseAnsi` turns those into a document; scheduling
11
+ // the moments is the app's, because a component with a timer inside it never
12
+ // settles in a screenshot test. See the PRD.
13
+
14
+ /** The recording's own metadata: the grid it was made at, and its title. */
15
+ export interface AnsiCastHeader {
16
+ version: number;
17
+ width: number;
18
+ height: number;
19
+ title?: string;
20
+ /** Unix seconds, when the recording says. */
21
+ timestamp?: number;
22
+ env?: Readonly<Record<string, string>>;
23
+ }
24
+
25
+ /** One recorded event. `'o'` is output — the only kind that has pixels. */
26
+ export interface AnsiCastEvent {
27
+ /** Seconds from the start of the recording. Absolute, v1's deltas
28
+ * included: a reader should not have to know which version it opened. */
29
+ readonly time: number;
30
+ readonly kind: 'o' | 'i' | 'r' | 'm' | string;
31
+ readonly data: string;
32
+ }
33
+
34
+ export interface AnsiCast {
35
+ readonly header: AnsiCastHeader;
36
+ readonly events: readonly AnsiCastEvent[];
37
+ }
38
+
39
+ /** What `parseCast` refuses. Its own type so an app can tell "not a cast"
40
+ * from a read error, which is the only distinction a caller acts on. */
41
+ export class CastFormatError extends Error {
42
+ constructor(message: string) {
43
+ super(`@react-x11/components: ${message}`);
44
+ this.name = 'CastFormatError';
45
+ }
46
+ }
47
+
48
+ function headerOf(value: unknown): AnsiCastHeader {
49
+ const raw = (value ?? {}) as Record<string, unknown>;
50
+ const num = (v: unknown, dflt: number): number =>
51
+ typeof v === 'number' && Number.isFinite(v) ? v : dflt;
52
+ const header: AnsiCastHeader = {
53
+ version: num(raw.version, 2),
54
+ width: Math.max(1, num(raw.width, 80)),
55
+ height: Math.max(1, num(raw.height, 24)),
56
+ };
57
+ if (typeof raw.title === 'string') header.title = raw.title;
58
+ if (typeof raw.timestamp === 'number') header.timestamp = raw.timestamp;
59
+ if (raw.env && typeof raw.env === 'object') {
60
+ header.env = raw.env as Record<string, string>;
61
+ }
62
+ return header;
63
+ }
64
+
65
+ /**
66
+ * Read a recording.
67
+ *
68
+ * A malformed *event* line is skipped rather than fatal — a recording still
69
+ * being written has a partial last line, and refusing the whole file over it
70
+ * is the wrong trade. A missing or unreadable *header* throws, because
71
+ * without one there is no recording to read.
72
+ */
73
+ export function parseCast(text: string): AnsiCast {
74
+ const trimmed = text.trim();
75
+ if (!trimmed) throw new CastFormatError('the recording is empty');
76
+
77
+ // v1 is one JSON document, so it is exactly the case where parsing the
78
+ // whole file succeeds. A v2 file is several JSON values and does not.
79
+ let whole: unknown;
80
+ try {
81
+ whole = JSON.parse(trimmed);
82
+ } catch {
83
+ whole = undefined;
84
+ }
85
+ if (whole && typeof whole === 'object') {
86
+ const raw = whole as Record<string, unknown>;
87
+ if (Array.isArray(raw.stdout)) {
88
+ const header = headerOf(raw);
89
+ const events: AnsiCastEvent[] = [];
90
+ let time = 0;
91
+ for (const entry of raw.stdout) {
92
+ if (!Array.isArray(entry) || entry.length < 2) continue;
93
+ const [delay, data] = entry as [unknown, unknown];
94
+ if (typeof delay !== 'number' || typeof data !== 'string') continue;
95
+ // v1 records the gap since the previous event; every consumer wants
96
+ // the moment, so the conversion happens here rather than in each one.
97
+ time += delay;
98
+ events.push({ time, kind: 'o', data });
99
+ }
100
+ return { header: { ...header, version: 1 }, events };
101
+ }
102
+ // A v2 file whose recording is empty: a header and nothing after it.
103
+ return { header: headerOf(raw), events: [] };
104
+ }
105
+
106
+ const lines = trimmed.split('\n');
107
+ let header: AnsiCastHeader | null = null;
108
+ const events: AnsiCastEvent[] = [];
109
+ for (const line of lines) {
110
+ const source = line.trim();
111
+ if (!source) continue;
112
+ let value: unknown;
113
+ try {
114
+ value = JSON.parse(source);
115
+ } catch {
116
+ continue;
117
+ }
118
+ if (!header) {
119
+ if (Array.isArray(value)) {
120
+ throw new CastFormatError(
121
+ 'the recording starts with an event rather than a header — ' +
122
+ 'this does not look like an asciinema cast',
123
+ );
124
+ }
125
+ header = headerOf(value);
126
+ continue;
127
+ }
128
+ if (!Array.isArray(value) || value.length < 3) continue;
129
+ const [time, kind, data] = value as [unknown, unknown, unknown];
130
+ if (typeof time !== 'number' || typeof data !== 'string') continue;
131
+ events.push({ time, kind: typeof kind === 'string' ? kind : 'o', data });
132
+ }
133
+ if (!header) {
134
+ throw new CastFormatError('the recording has no header line');
135
+ }
136
+ return { header, events };
137
+ }
138
+
139
+ /**
140
+ * The recorded output, concatenated — what a terminal received.
141
+ *
142
+ * `until` is a moment in seconds: pass it to render the session as it looked
143
+ * then, which with a slider in the app is a scrubber and without one is a
144
+ * still. Input, resize and marker events are left out, because only output
145
+ * has pixels.
146
+ */
147
+ export function castOutput(
148
+ cast: AnsiCast,
149
+ options: { until?: number } = {},
150
+ ): string {
151
+ const until = options.until ?? Infinity;
152
+ let out = '';
153
+ for (const event of cast.events) {
154
+ if (event.kind !== 'o') continue;
155
+ if (event.time > until) break;
156
+ out += event.data;
157
+ }
158
+ return out;
159
+ }
@@ -0,0 +1,53 @@
1
+ // A captured terminal session, as a document — the parser under
2
+ // `<TerminalOutput>`, and useful on its own.
3
+ //
4
+ // ```ts
5
+ // import { parseAnsi } from '@react-x11/components/ansi';
6
+ //
7
+ // const doc = parseAnsi(await readFile('build.log'));
8
+ // doc.lines.map((line) => line.text); // the text, escapes resolved away
9
+ // doc.needsScreen; // did these bytes want a grid?
10
+ // doc.dropped; // what could not be honoured
11
+ // ```
12
+ //
13
+ // **A shared module, not a component.** Nothing here registers an element,
14
+ // renders anything, or does any work at import time; there is no optional
15
+ // dependency and no `@xterm/headless`. It has a subpath of its own because
16
+ // "turn a log into styled text" is a thing to want without a terminal
17
+ // anywhere near it — colouring a build log inside a `<Markdown>` document,
18
+ // say, or stripping escapes before a diff.
19
+ //
20
+ // `docs/prd-terminal-output.md` is the design record: why a log is a document
21
+ // rather than a grid, and what that model can and cannot represent.
22
+ export { parseAnsi, stripAnsi, AnsiState } from './parse.js';
23
+ export type {
24
+ AnsiDocument,
25
+ AnsiInput,
26
+ AnsiLine,
27
+ AnsiSpan,
28
+ ParseAnsiOptions,
29
+ } from './parse.js';
30
+
31
+ export { PLAIN, Style, ansiColor, rgbColor, param, ABSENT } from './sgr.js';
32
+ export type { AnsiAttrs, AnsiColor, AnsiUnderline } from './sgr.js';
33
+
34
+ export {
35
+ ANSI_16,
36
+ ansiPalette,
37
+ cssColor,
38
+ mixRgb,
39
+ parseCssColor,
40
+ resolveAnsiColors,
41
+ } from './palette.js';
42
+ export type {
43
+ AnsiColorAttrs,
44
+ AnsiPalette,
45
+ AnsiPaletteOptions,
46
+ ResolvedAnsiColors,
47
+ Rgb,
48
+ } from './palette.js';
49
+
50
+ export { CastFormatError, castOutput, parseCast } from './cast.js';
51
+ export type { AnsiCast, AnsiCastEvent, AnsiCastHeader } from './cast.js';
52
+
53
+ export { Utf8Decoder } from './utf8.js';
@@ -0,0 +1,226 @@
1
+ // The palette, and what a span's two colours resolve to. Pure — no theme, no
2
+ // element, no React — so every rule below is asserted directly.
3
+ //
4
+ // This is the second half of the "colour is intent, not pixels" split the
5
+ // parser makes: `./sgr.ts` records that a program asked for ANSI 2, and this
6
+ // is where a palette decides which pixels that is. Keeping them apart is what
7
+ // lets one parsed capture render against a light theme and a dark one.
8
+ //
9
+ // **`../terminal/vt/colors.ts` is the other copy of the ANSI table**, and the
10
+ // two are deliberately not shared today: that one is a component's internals,
11
+ // and a shared module may not reach into a component. The phase-2 promotion in
12
+ // `docs/prd-terminal-output.md` moves the cell grid out to a shared module,
13
+ // and the merge direction is *this* file — the grid renderer depends on the
14
+ // ANSI colour model, never the reverse.
15
+ import type { AnsiColor } from './sgr.js';
16
+
17
+ /** A colour as a packed `0xRRGGBB`, the way the arithmetic below wants it. */
18
+ export type Rgb = number;
19
+
20
+ /**
21
+ * The standard 16 — xterm's own defaults, which is what an application's
22
+ * colour choices were made against.
23
+ */
24
+ export const ANSI_16: readonly Rgb[] = [
25
+ 0x000000, 0xcd0000, 0x00cd00, 0xcdcd00, 0x0000ee, 0xcd00cd, 0x00cdcd,
26
+ 0xe5e5e5, 0x7f7f7f, 0xff0000, 0x00ff00, 0xffff00, 0x5c5cff, 0xff00ff,
27
+ 0x00ffff, 0xffffff,
28
+ ];
29
+
30
+ export interface AnsiPalette {
31
+ /** 256 entries: the 16 ANSI, the 6×6×6 cube, the 24 greys. */
32
+ readonly colors: Int32Array;
33
+ readonly foreground: Rgb;
34
+ readonly background: Rgb;
35
+ /** Bold promotes ANSI 0–7 to 8–15, which is how most colour schemes were
36
+ * designed to be read. */
37
+ readonly brightBold: boolean;
38
+ }
39
+
40
+ export interface AnsiPaletteOptions {
41
+ /** The default ink. A CSS colour; anything unparseable keeps the default
42
+ * rather than painting something arbitrary. */
43
+ foreground?: string;
44
+ background?: string;
45
+ /** ANSI 0–15, sparse — an entry left out keeps the standard colour. */
46
+ palette?: readonly (string | undefined)[];
47
+ /** Default true. */
48
+ brightBold?: boolean;
49
+ }
50
+
51
+ /** The names a terminal colour prop plausibly carries. Not CSS's whole list. */
52
+ const NAMED: Readonly<Record<string, Rgb>> = {
53
+ black: 0x000000,
54
+ white: 0xffffff,
55
+ red: 0xff0000,
56
+ green: 0x008000,
57
+ blue: 0x0000ff,
58
+ yellow: 0xffff00,
59
+ cyan: 0x00ffff,
60
+ magenta: 0xff00ff,
61
+ gray: 0x808080,
62
+ grey: 0x808080,
63
+ };
64
+
65
+ /**
66
+ * `#rgb`, `#rrggbb`, `rgb(…)` and the handful of names above.
67
+ *
68
+ * `null` for anything else, and every caller keeps its default rather than
69
+ * guessing — a theme token that did not resolve should look like the theme,
70
+ * not like black.
71
+ */
72
+ export function parseCssColor(value: string | undefined): Rgb | null {
73
+ if (!value) return null;
74
+ const text = value.trim().toLowerCase();
75
+ if (text.startsWith('#')) {
76
+ const hex = text.slice(1);
77
+ if (hex.length === 3 || hex.length === 4) {
78
+ const r = Number.parseInt(hex[0]! + hex[0]!, 16);
79
+ const g = Number.parseInt(hex[1]! + hex[1]!, 16);
80
+ const b = Number.parseInt(hex[2]! + hex[2]!, 16);
81
+ if (Number.isNaN(r + g + b)) return null;
82
+ return (r << 16) | (g << 8) | b;
83
+ }
84
+ if (hex.length === 6 || hex.length === 8) {
85
+ const n = Number.parseInt(hex.slice(0, 6), 16);
86
+ return Number.isNaN(n) ? null : n;
87
+ }
88
+ return null;
89
+ }
90
+ const fn = /^rgba?\(([^)]+)\)$/.exec(text);
91
+ if (fn) {
92
+ const parts = fn[1]!.split(/[\s,/]+/).filter(Boolean);
93
+ if (parts.length < 3) return null;
94
+ const channel = (part: string): number => {
95
+ const n = part.endsWith('%')
96
+ ? (Number.parseFloat(part) * 255) / 100
97
+ : Number.parseFloat(part);
98
+ return Number.isFinite(n)
99
+ ? Math.max(0, Math.min(255, Math.round(n)))
100
+ : -1;
101
+ };
102
+ const r = channel(parts[0]!);
103
+ const g = channel(parts[1]!);
104
+ const b = channel(parts[2]!);
105
+ if (r < 0 || g < 0 || b < 0) return null;
106
+ return (r << 16) | (g << 8) | b;
107
+ }
108
+ return NAMED[text] ?? null;
109
+ }
110
+
111
+ /** `#rrggbb`, which is what a `<richtext>` run takes. */
112
+ export function cssColor(rgb: Rgb): string {
113
+ return `#${(rgb & 0xffffff).toString(16).padStart(6, '0')}`;
114
+ }
115
+
116
+ /** Mix towards `b`, `t` in 0..1 — what `dim` uses. */
117
+ export function mixRgb(a: Rgb, b: Rgb, t: number): Rgb {
118
+ const lerp = (shift: number): number => {
119
+ const av = (a >> shift) & 0xff;
120
+ const bv = (b >> shift) & 0xff;
121
+ return Math.round(av + (bv - av) * t);
122
+ };
123
+ return (lerp(16) << 16) | (lerp(8) << 8) | lerp(0);
124
+ }
125
+
126
+ /**
127
+ * The 256-colour palette.
128
+ *
129
+ * 0–15 come from `palette` where it has an entry and from the standard set
130
+ * where it does not; 16–231 are the 6×6×6 cube and 232–255 the 24 greys, both
131
+ * fixed by the protocol rather than by taste.
132
+ */
133
+ export function ansiPalette(options: AnsiPaletteOptions = {}): AnsiPalette {
134
+ const colors = new Int32Array(256);
135
+ for (let i = 0; i < 16; i++) {
136
+ colors[i] = parseCssColor(options.palette?.[i]) ?? ANSI_16[i]!;
137
+ }
138
+ const cube = [0, 95, 135, 175, 215, 255];
139
+ for (let i = 0; i < 216; i++) {
140
+ const r = cube[Math.floor(i / 36) % 6]!;
141
+ const g = cube[Math.floor(i / 6) % 6]!;
142
+ const b = cube[i % 6]!;
143
+ colors[16 + i] = (r << 16) | (g << 8) | b;
144
+ }
145
+ for (let i = 0; i < 24; i++) {
146
+ const v = 8 + i * 10;
147
+ colors[232 + i] = (v << 16) | (v << 8) | v;
148
+ }
149
+ return {
150
+ colors,
151
+ foreground: parseCssColor(options.foreground) ?? 0xe6e6e6,
152
+ background: parseCssColor(options.background) ?? 0x101014,
153
+ brightBold: options.brightBold ?? true,
154
+ };
155
+ }
156
+
157
+ /** What a span is actually painted in. */
158
+ export interface ResolvedAnsiColors {
159
+ fg: string;
160
+ /**
161
+ * Absent means "whatever is behind" — the page, the block's own fill.
162
+ *
163
+ * The distinction is the whole reason a log can sit inside a document: text
164
+ * in the default background must not paint a rectangle, or every line
165
+ * becomes an opaque strip and the block stops being part of the page.
166
+ */
167
+ bg?: string;
168
+ }
169
+
170
+ /** The attribute slice the resolution reads — the six fields of an
171
+ * `AnsiAttrs` that can change a colour, and nothing else. */
172
+ export interface AnsiColorAttrs {
173
+ readonly fg?: AnsiColor;
174
+ readonly bg?: AnsiColor;
175
+ readonly bold?: boolean;
176
+ readonly dim?: boolean;
177
+ readonly inverse?: boolean;
178
+ readonly conceal?: boolean;
179
+ }
180
+
181
+ function rgbOf(color: AnsiColor, palette: AnsiPalette): Rgb {
182
+ return color.kind === 'rgb'
183
+ ? color.value & 0xffffff
184
+ : palette.colors[Math.max(0, Math.min(255, color.index))]!;
185
+ }
186
+
187
+ /**
188
+ * A span's two colours, after every transform that can change them.
189
+ *
190
+ * The order is the one every terminal agrees on, and it is the same order
191
+ * `../terminal/vt/colors.ts` applies to a live cell — bright-bold, dim,
192
+ * inverse, conceal — so a capture and the program that produced it look the
193
+ * same in one window.
194
+ */
195
+ export function resolveAnsiColors(
196
+ attrs: AnsiColorAttrs,
197
+ palette: AnsiPalette,
198
+ ): ResolvedAnsiColors {
199
+ const fgColor = attrs.fg;
200
+ const bgColor = attrs.bg;
201
+ let fg = fgColor ? rgbOf(fgColor, palette) : palette.foreground;
202
+ let bg = bgColor ? rgbOf(bgColor, palette) : palette.background;
203
+ /** Nothing has claimed the background yet, so the surface keeps it. */
204
+ let bare = bgColor === undefined;
205
+
206
+ if (
207
+ attrs.bold &&
208
+ palette.brightBold &&
209
+ fgColor?.kind === 'ansi' &&
210
+ fgColor.index < 8
211
+ ) {
212
+ fg = palette.colors[fgColor.index + 8]!;
213
+ }
214
+ if (attrs.dim) fg = mixRgb(fg, bg, 0.5);
215
+ if (attrs.inverse) {
216
+ const swap = fg;
217
+ fg = bg;
218
+ bg = swap;
219
+ // An inverted run paints its background even when neither colour was set:
220
+ // that is the entire visible effect of SGR 7.
221
+ bare = false;
222
+ }
223
+ if (attrs.conceal) fg = bg;
224
+
225
+ return bare ? { fg: cssColor(fg) } : { fg: cssColor(fg), bg: cssColor(bg) };
226
+ }