@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { KeyboardEvent } from 'react-x11';
2
+ /** How long a query stays open. Core's number, and it is a habit rather than
3
+ * a preference — the same pause has to end a query everywhere. */
4
+ export declare const TYPE_AHEAD_TIMEOUT = 700;
5
+ /**
6
+ * Type-ahead: typing letters jumps to the entry whose label starts with them.
7
+ * Returns the matching index, or -1.
8
+ */
9
+ export declare function useTypeAhead(timeout?: number): <T>(char: string, items: readonly T[], current: number | null, labelOf: (item: T) => unknown, selectable?: (item: T) => boolean) => number;
10
+ /**
11
+ * A printable character usable for type-ahead, or null.
12
+ *
13
+ * Space is excluded on purpose: it activates the focused row everywhere in
14
+ * this widget set, and a tree that jumped to an entry beginning with a space
15
+ * instead would be the one control that disagreed.
16
+ */
17
+ export declare function typeAheadChar(ev: KeyboardEvent): string | null;
18
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/tree/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;mEACmE;AACnE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,GAAE,MAA2B,GACnC,CAAC,CAAC,EACH,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAC7B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,KAC9B,MAAM,CAsCV;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAI9D"}
@@ -0,0 +1,66 @@
1
+ // The bit of react-x11 that `<Tree>` needs and react-x11 does not export.
2
+ //
3
+ // Everything else the widget stands on is public — `useTheme`,
4
+ // `useDirection`, `createStyles`, `<Icon>`, the `XK_*` keysyms, the host
5
+ // elements. Type-ahead is not: `src/components/typeahead.js` is shared
6
+ // between core's own `Select` and its menus and is not on the exports map.
7
+ // So it is vendored, the way `../calendar/internal.ts` vendors its three;
8
+ // it is small and pure, and if core ever exports it, delete this and import
9
+ // it instead.
10
+ //
11
+ // Matching core's behaviour matters more than the code being ours: a user who
12
+ // has learnt that typing "sr" in a `Select` jumps to "src" expects the same
13
+ // two keys to do the same thing in a tree, including the two rules that are
14
+ // easy to leave out — a growing query searches from where you are, and a
15
+ // repeated letter cycles rather than sticking.
16
+ import { useCallback, useRef } from 'react';
17
+ /** How long a query stays open. Core's number, and it is a habit rather than
18
+ * a preference — the same pause has to end a query everywhere. */
19
+ export const TYPE_AHEAD_TIMEOUT = 700;
20
+ /**
21
+ * Type-ahead: typing letters jumps to the entry whose label starts with them.
22
+ * Returns the matching index, or -1.
23
+ */
24
+ export function useTypeAhead(timeout = TYPE_AHEAD_TIMEOUT) {
25
+ const state = useRef({ text: '', at: 0 });
26
+ return useCallback((char, items, current, labelOf, selectable) => {
27
+ if (!char || char.length !== 1)
28
+ return -1;
29
+ const now = Date.now();
30
+ const s = state.current;
31
+ s.text = now - s.at > timeout ? char : s.text + char;
32
+ s.at = now;
33
+ const query = s.text.toLowerCase();
34
+ // "ccc" cycles the entries starting with c rather than refining a
35
+ // prefix nothing has.
36
+ const cycling = query.length > 1 && /^(.)\1+$/.test(query);
37
+ const needle = cycling ? query[0] : query;
38
+ // A growing query keeps you on the row it still matches; a fresh letter
39
+ // starts from the one after it.
40
+ const from = cycling || query.length === 1 ? (current ?? -1) + 1 : (current ?? 0);
41
+ const n = items.length;
42
+ for (let k = 0; k < n; k++) {
43
+ const i = (((from + k) % n) + n) % n;
44
+ const item = items[i];
45
+ if (selectable && !selectable(item))
46
+ continue;
47
+ const label = String(labelOf(item) ?? '').toLowerCase();
48
+ if (label.startsWith(needle))
49
+ return i;
50
+ }
51
+ return -1;
52
+ }, [timeout]);
53
+ }
54
+ /**
55
+ * A printable character usable for type-ahead, or null.
56
+ *
57
+ * Space is excluded on purpose: it activates the focused row everywhere in
58
+ * this widget set, and a tree that jumped to an entry beginning with a space
59
+ * instead would be the one control that disagreed.
60
+ */
61
+ export function typeAheadChar(ev) {
62
+ return ev.key && ev.key.length === 1 && (ev.codepoint ?? 0) > 32
63
+ ? ev.key
64
+ : null;
65
+ }
66
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/tree/internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ import type { ReactNode } from 'react';
2
+ /** What an item is keyed by. Numbers are allowed because a row often comes
3
+ * from a database and stringifying an id is a chance to lose one. */
4
+ export type TreeItemId = string | number;
5
+ /**
6
+ * The item shape `<Tree>` reads with no accessors configured.
7
+ *
8
+ * `children` being an array — **even an empty one** — is what makes an item a
9
+ * branch, which is how a directory shows a twisty before anything has read
10
+ * it. An item whose children are not known yet says so with `branch: true`
11
+ * and no `children` at all; see {@link TreeAccessors.isBranch}.
12
+ */
13
+ export interface TreeItem {
14
+ id: TreeItemId;
15
+ /** A string or a number is wrapped in a `<text>`; anything else is
16
+ * rendered as it stands. */
17
+ label?: ReactNode;
18
+ children?: readonly TreeItem[];
19
+ /** A branch whose children have not been loaded. Ignored when `children`
20
+ * is an array, which already answers the question. */
21
+ branch?: boolean;
22
+ disabled?: boolean;
23
+ }
24
+ /**
25
+ * How to read the app's own node type.
26
+ *
27
+ * The default answers describe {@link TreeItem}, so a tree of
28
+ * `{ id, label, children }` needs none of this. Anything else — a
29
+ * `{ path, entries }` from a file listing, an AST, a normalized store keyed by
30
+ * id — hands over the four or five functions instead of copying its data into
31
+ * a shape this component preferred.
32
+ *
33
+ * **Define them outside the component, or memoize them.** The flattening is
34
+ * keyed on their identity, because an `isBranch` that reads state has to be
35
+ * able to change what the tree shows; a fresh arrow per render therefore
36
+ * re-flattens the tree per render. On a small tree that costs nothing and on
37
+ * a large one it is the whole cost, which is exactly backwards from what an
38
+ * app would guess. `examples/tree.tsx` puts them in a `useMemo`.
39
+ */
40
+ export interface TreeAccessors<T> {
41
+ /** Defaults to `item.id`. */
42
+ getId?: (item: T) => TreeItemId;
43
+ /** Defaults to `item.label`, and then to the id, so a tree of bare ids
44
+ * still shows something. */
45
+ getLabel?: (item: T) => ReactNode;
46
+ /**
47
+ * The text type-ahead matches on. Defaults to the label when the label is
48
+ * a string, and to `''` when it is not.
49
+ *
50
+ * The seam exists because a rendered label is the one thing a component
51
+ * cannot read back: a row drawn as an icon plus a `<text>` is a React
52
+ * element, `String()` of it is `[object Object]`, and a tree whose keyboard
53
+ * search silently stopped working is a bug nobody reports.
54
+ */
55
+ getText?: (item: T) => string;
56
+ /** Defaults to `item.children`. `undefined` means "not loaded", which is
57
+ * not the same as `[]` — see {@link isBranch}. */
58
+ getChildren?: (item: T) => readonly T[] | undefined;
59
+ /**
60
+ * Is this a branch at all? Defaults to "its children are an array, or it
61
+ * said `branch: true`".
62
+ *
63
+ * The distinction matters for lazy loading: a directory nobody has read is
64
+ * a branch with no children, and it must draw a twisty anyway or there is
65
+ * nothing to click to find out what is in it.
66
+ */
67
+ isBranch?: (item: T) => boolean;
68
+ /** Defaults to `item.disabled`. A disabled row is skipped by the keyboard
69
+ * and does not select, but is still shown and still opens. */
70
+ isDisabled?: (item: T) => boolean;
71
+ }
72
+ /** The accessors with every default filled in — what the component and the
73
+ * functions below actually run on. */
74
+ export interface ResolvedAccessors<T> {
75
+ getId: (item: T) => TreeItemId;
76
+ getLabel: (item: T) => ReactNode;
77
+ getText: (item: T) => string;
78
+ getChildren: (item: T) => readonly T[] | undefined;
79
+ isBranch: (item: T) => boolean;
80
+ isDisabled: (item: T) => boolean;
81
+ }
82
+ export declare function resolveAccessors<T>(accessors: TreeAccessors<T> | undefined): ResolvedAccessors<T>;
83
+ /**
84
+ * One visible row.
85
+ *
86
+ * `parent` is the row object rather than the item, so walking to an ancestor
87
+ * — which is what Left does, and what the branch guides read — costs no
88
+ * lookup. That makes the array cyclic in the graph sense; nothing serializes
89
+ * it, and the alternative (an index into the same array) is the same cycle
90
+ * written less clearly.
91
+ */
92
+ export interface TreeRow<T> {
93
+ item: T;
94
+ id: TreeItemId;
95
+ /** 0 for a root. */
96
+ depth: number;
97
+ /** Can be opened — including a branch whose children are not loaded. */
98
+ branch: boolean;
99
+ /** Is open *now*. Always false for a leaf. */
100
+ open: boolean;
101
+ disabled: boolean;
102
+ /** Position among **all** visible rows. What virtualization counts in, and
103
+ * what `aria-posinset` would be if a tree were a flat list, which it is
104
+ * not — see `posInSet`. */
105
+ index: number;
106
+ parent: TreeRow<T> | null;
107
+ /** The last of its siblings — the row a `└─` guide belongs to. */
108
+ last: boolean;
109
+ /** 1-based position among its siblings, for `aria-posinset`. */
110
+ posInSet: number;
111
+ /** How many siblings it has, for `aria-setsize`. */
112
+ setSize: number;
113
+ }
114
+ /**
115
+ * The rows a tree can show right now: the roots, plus the children of every
116
+ * expanded branch, in the order they are drawn.
117
+ *
118
+ * Iterative rather than recursive. A generated tree — a dependency graph, a
119
+ * filesystem walked to the bottom — is deep enough often enough that a call
120
+ * per level is a stack overflow waiting for one unlucky user, and the
121
+ * explicit stack costs nothing to read.
122
+ */
123
+ export declare function visibleRows<T>(items: readonly T[], open: ReadonlySet<TreeItemId>, accessors: ResolvedAccessors<T>): TreeRow<T>[];
124
+ /**
125
+ * The item with this id, wherever it is — including inside branches nobody
126
+ * has opened.
127
+ *
128
+ * What `TreeHandle.setExpanded` needs: the change it reports carries the item,
129
+ * and the id it is given may well name something no row is showing. A lazy
130
+ * load finishing under a branch the user collapsed again is exactly that, and
131
+ * it is a legitimate thing to expand.
132
+ *
133
+ * Searches only what is loaded, which is all there is to search.
134
+ */
135
+ export declare function findItem<T>(items: readonly T[], id: TreeItemId, accessors: ResolvedAccessors<T>): T | undefined;
136
+ /**
137
+ * The branch edges to draw down a row's indent, outermost first.
138
+ *
139
+ * There is one entry per level of depth, and `true` means "a line passes
140
+ * through this column".
141
+ *
142
+ * Column `k` is where the line joining the children of the ancestor at depth
143
+ * `k` runs, so it passes this row when the row's own ancestor at depth `k+1`
144
+ * still has a sibling below it. The last column — `depth - 1` — is therefore
145
+ * the row's own, which is where a `├─` or `└─` connector goes, and it is the
146
+ * row itself that decides whether the line continues past it.
147
+ *
148
+ * The consequence worth stating, because it is the one an implementation gets
149
+ * backwards: a row deep inside the **last** child of a branch has a *blank*
150
+ * column above that branch, even though the branch's own parent has plenty of
151
+ * siblings left. The line stops at the last child; nothing below it is joined
152
+ * to anything.
153
+ *
154
+ * Computed on demand rather than stored on the row, because it is only ever
155
+ * asked for the handful of rows actually on screen while a row may be one of
156
+ * a hundred thousand.
157
+ */
158
+ export declare function branchEdges(row: TreeRow<unknown>): boolean[];
159
+ /** A run of rows that share a parent — what `layout="nested"` wraps in a
160
+ * subtree container. */
161
+ export interface TreeGroup<T> {
162
+ /** The row the group hangs off; `null` for the roots. */
163
+ parent: TreeRow<T> | null;
164
+ rows: Array<TreeRow<T> | TreeGroup<T>>;
165
+ }
166
+ /** Tell a group from a row without a `kind` field on either. */
167
+ export declare function isGroup<T>(node: TreeRow<T> | TreeGroup<T>): node is TreeGroup<T>;
168
+ /**
169
+ * The same rows, nested again: each expanded branch's children collected
170
+ * into a group that `renderSubtree` can wrap.
171
+ *
172
+ * Rebuilt from the flat list rather than from the items, so the two layouts
173
+ * cannot disagree about depth, order, or which row is last — the flat pass is
174
+ * the single answer and this is a regrouping of it.
175
+ */
176
+ export declare function groupRows<T>(rows: readonly TreeRow<T>[]): TreeGroup<T>;
177
+ //# sourceMappingURL=rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/tree/rows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ // The row model: what a tree of items looks like once it has been opened.
2
+ //
3
+ // Everything in this file is pure, and deliberately so. A tree's real
4
+ // complexity is not the painting — it is "which rows are on screen, in what
5
+ // order, at what depth, and which of them is the last of its siblings", and
6
+ // every one of those questions is answerable without a display. The component
7
+ // then only has to draw the answer.
8
+ //
9
+ // The flattening is also what makes virtualization possible at all: a
10
+ // window into a list is arithmetic, a window into a recursive structure is
11
+ // not. `<Tree layout="nested">` renders the same rows nested again (see
12
+ // `groupRows`), so the two layouts cannot disagree about the tree they are
13
+ // showing.
14
+ export function resolveAccessors(accessors) {
15
+ const getId = accessors?.getId ?? ((item) => item.id);
16
+ const getChildren = accessors?.getChildren ??
17
+ ((item) => item.children);
18
+ const getLabel = accessors?.getLabel ??
19
+ ((item) => item.label ?? getId(item));
20
+ return {
21
+ getId,
22
+ getLabel,
23
+ getText: accessors?.getText ??
24
+ ((item) => {
25
+ const label = getLabel(item);
26
+ return typeof label === 'string' || typeof label === 'number'
27
+ ? String(label)
28
+ : '';
29
+ }),
30
+ getChildren,
31
+ isBranch: accessors?.isBranch ??
32
+ ((item) => Array.isArray(getChildren(item)) ||
33
+ item.branch === true),
34
+ isDisabled: accessors?.isDisabled ??
35
+ ((item) => item.disabled === true),
36
+ };
37
+ }
38
+ /**
39
+ * The rows a tree can show right now: the roots, plus the children of every
40
+ * expanded branch, in the order they are drawn.
41
+ *
42
+ * Iterative rather than recursive. A generated tree — a dependency graph, a
43
+ * filesystem walked to the bottom — is deep enough often enough that a call
44
+ * per level is a stack overflow waiting for one unlucky user, and the
45
+ * explicit stack costs nothing to read.
46
+ */
47
+ export function visibleRows(items, open, accessors) {
48
+ const rows = [];
49
+ /** Siblings still to visit, innermost last — each with the parent they
50
+ * belong to and how far through them we are. */
51
+ const stack = [{ items, at: 0, parent: null }];
52
+ while (stack.length) {
53
+ const frame = stack[stack.length - 1];
54
+ if (frame.at >= frame.items.length) {
55
+ stack.pop();
56
+ continue;
57
+ }
58
+ const item = frame.items[frame.at];
59
+ const at = frame.at++;
60
+ const id = accessors.getId(item);
61
+ const branch = accessors.isBranch(item);
62
+ const isOpen = branch && open.has(id);
63
+ const row = {
64
+ item,
65
+ id,
66
+ depth: stack.length - 1,
67
+ branch,
68
+ open: isOpen,
69
+ disabled: accessors.isDisabled(item),
70
+ index: rows.length,
71
+ parent: frame.parent,
72
+ last: at === frame.items.length - 1,
73
+ posInSet: at + 1,
74
+ setSize: frame.items.length,
75
+ };
76
+ rows.push(row);
77
+ if (isOpen) {
78
+ const children = accessors.getChildren(item);
79
+ // An open branch with nothing under it yet is not a bug: it is a
80
+ // directory being read. It simply contributes no rows this frame.
81
+ if (children?.length)
82
+ stack.push({ items: children, at: 0, parent: row });
83
+ }
84
+ }
85
+ return rows;
86
+ }
87
+ /**
88
+ * The item with this id, wherever it is — including inside branches nobody
89
+ * has opened.
90
+ *
91
+ * What `TreeHandle.setExpanded` needs: the change it reports carries the item,
92
+ * and the id it is given may well name something no row is showing. A lazy
93
+ * load finishing under a branch the user collapsed again is exactly that, and
94
+ * it is a legitimate thing to expand.
95
+ *
96
+ * Searches only what is loaded, which is all there is to search.
97
+ */
98
+ export function findItem(items, id, accessors) {
99
+ const stack = [items];
100
+ while (stack.length) {
101
+ const level = stack.pop();
102
+ for (const item of level) {
103
+ if (accessors.getId(item) === id)
104
+ return item;
105
+ const children = accessors.getChildren(item);
106
+ if (children?.length)
107
+ stack.push(children);
108
+ }
109
+ }
110
+ return undefined;
111
+ }
112
+ /**
113
+ * The branch edges to draw down a row's indent, outermost first.
114
+ *
115
+ * There is one entry per level of depth, and `true` means "a line passes
116
+ * through this column".
117
+ *
118
+ * Column `k` is where the line joining the children of the ancestor at depth
119
+ * `k` runs, so it passes this row when the row's own ancestor at depth `k+1`
120
+ * still has a sibling below it. The last column — `depth - 1` — is therefore
121
+ * the row's own, which is where a `├─` or `└─` connector goes, and it is the
122
+ * row itself that decides whether the line continues past it.
123
+ *
124
+ * The consequence worth stating, because it is the one an implementation gets
125
+ * backwards: a row deep inside the **last** child of a branch has a *blank*
126
+ * column above that branch, even though the branch's own parent has plenty of
127
+ * siblings left. The line stops at the last child; nothing below it is joined
128
+ * to anything.
129
+ *
130
+ * Computed on demand rather than stored on the row, because it is only ever
131
+ * asked for the handful of rows actually on screen while a row may be one of
132
+ * a hundred thousand.
133
+ */
134
+ export function branchEdges(row) {
135
+ const edges = new Array(row.depth);
136
+ // Walk up from the row itself: at each column the question is about the
137
+ // ancestor one level *deeper* than the column, and the row is its own.
138
+ let below = row;
139
+ for (let level = row.depth - 1; level >= 0; level--) {
140
+ edges[level] = below ? !below.last : false;
141
+ below = below?.parent ?? null;
142
+ }
143
+ return edges;
144
+ }
145
+ /** Tell a group from a row without a `kind` field on either. */
146
+ export function isGroup(node) {
147
+ return Array.isArray(node.rows);
148
+ }
149
+ /**
150
+ * The same rows, nested again: each expanded branch's children collected
151
+ * into a group that `renderSubtree` can wrap.
152
+ *
153
+ * Rebuilt from the flat list rather than from the items, so the two layouts
154
+ * cannot disagree about depth, order, or which row is last — the flat pass is
155
+ * the single answer and this is a regrouping of it.
156
+ */
157
+ export function groupRows(rows) {
158
+ const root = { parent: null, rows: [] };
159
+ /** The open group per depth: `stack[d]` collects the rows at depth `d`. */
160
+ const stack = [root];
161
+ for (let i = 0; i < rows.length; i++) {
162
+ const row = rows[i];
163
+ // Rows arrive in draw order, so a shallower row closes every group
164
+ // deeper than it.
165
+ stack.length = row.depth + 1;
166
+ const group = stack[row.depth];
167
+ group.rows.push(row);
168
+ // A group is opened only when a deeper row actually follows. An expanded
169
+ // branch that is still loading has no children to hold, and an empty
170
+ // container would still paint whatever `renderSubtree` gives it.
171
+ if (row.open && rows[i + 1]?.depth === row.depth + 1) {
172
+ const child = { parent: row, rows: [] };
173
+ group.rows.push(child);
174
+ stack.push(child);
175
+ }
176
+ }
177
+ return root;
178
+ }
179
+ //# sourceMappingURL=rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../src/tree/rows.ts"],"names":[],"mappings":"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"}