@rezi-ui/core 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/README.md +12 -0
  2. package/dist/abi.d.ts +72 -0
  3. package/dist/abi.d.ts.map +1 -0
  4. package/dist/abi.js +86 -0
  5. package/dist/abi.js.map +1 -0
  6. package/dist/app/__tests__/dirtyFlagPlan.test.d.ts +2 -0
  7. package/dist/app/__tests__/dirtyFlagPlan.test.d.ts.map +1 -0
  8. package/dist/app/__tests__/dirtyFlagPlan.test.js +207 -0
  9. package/dist/app/__tests__/dirtyFlagPlan.test.js.map +1 -0
  10. package/dist/app/__tests__/eventPump.test.d.ts +2 -0
  11. package/dist/app/__tests__/eventPump.test.d.ts.map +1 -0
  12. package/dist/app/__tests__/eventPump.test.js +48 -0
  13. package/dist/app/__tests__/eventPump.test.js.map +1 -0
  14. package/dist/app/__tests__/fatal.test.d.ts +2 -0
  15. package/dist/app/__tests__/fatal.test.d.ts.map +1 -0
  16. package/dist/app/__tests__/fatal.test.js +27 -0
  17. package/dist/app/__tests__/fatal.test.js.map +1 -0
  18. package/dist/app/__tests__/frameCoalescing.test.d.ts +2 -0
  19. package/dist/app/__tests__/frameCoalescing.test.d.ts.map +1 -0
  20. package/dist/app/__tests__/frameCoalescing.test.js +33 -0
  21. package/dist/app/__tests__/frameCoalescing.test.js.map +1 -0
  22. package/dist/app/__tests__/helpers.d.ts +39 -0
  23. package/dist/app/__tests__/helpers.d.ts.map +1 -0
  24. package/dist/app/__tests__/helpers.js +99 -0
  25. package/dist/app/__tests__/helpers.js.map +1 -0
  26. package/dist/app/__tests__/interactivePriority.test.d.ts +2 -0
  27. package/dist/app/__tests__/interactivePriority.test.d.ts.map +1 -0
  28. package/dist/app/__tests__/interactivePriority.test.js +61 -0
  29. package/dist/app/__tests__/interactivePriority.test.js.map +1 -0
  30. package/dist/app/__tests__/modes.test.d.ts +2 -0
  31. package/dist/app/__tests__/modes.test.d.ts.map +1 -0
  32. package/dist/app/__tests__/modes.test.js +48 -0
  33. package/dist/app/__tests__/modes.test.js.map +1 -0
  34. package/dist/app/__tests__/onEventHandlers.test.d.ts +2 -0
  35. package/dist/app/__tests__/onEventHandlers.test.d.ts.map +1 -0
  36. package/dist/app/__tests__/onEventHandlers.test.js +41 -0
  37. package/dist/app/__tests__/onEventHandlers.test.js.map +1 -0
  38. package/dist/app/__tests__/rawRender.test.d.ts +2 -0
  39. package/dist/app/__tests__/rawRender.test.d.ts.map +1 -0
  40. package/dist/app/__tests__/rawRender.test.js +102 -0
  41. package/dist/app/__tests__/rawRender.test.js.map +1 -0
  42. package/dist/app/__tests__/stateMachine.test.d.ts +2 -0
  43. package/dist/app/__tests__/stateMachine.test.d.ts.map +1 -0
  44. package/dist/app/__tests__/stateMachine.test.js +22 -0
  45. package/dist/app/__tests__/stateMachine.test.js.map +1 -0
  46. package/dist/app/__tests__/stop_during_frame_rejection.test.d.ts +2 -0
  47. package/dist/app/__tests__/stop_during_frame_rejection.test.d.ts.map +1 -0
  48. package/dist/app/__tests__/stop_during_frame_rejection.test.js +54 -0
  49. package/dist/app/__tests__/stop_during_frame_rejection.test.js.map +1 -0
  50. package/dist/app/__tests__/stubBackend.d.ts +23 -0
  51. package/dist/app/__tests__/stubBackend.d.ts.map +1 -0
  52. package/dist/app/__tests__/stubBackend.js +76 -0
  53. package/dist/app/__tests__/stubBackend.js.map +1 -0
  54. package/dist/app/__tests__/syncFrameAckFastPath.test.d.ts +2 -0
  55. package/dist/app/__tests__/syncFrameAckFastPath.test.d.ts.map +1 -0
  56. package/dist/app/__tests__/syncFrameAckFastPath.test.js +47 -0
  57. package/dist/app/__tests__/syncFrameAckFastPath.test.js.map +1 -0
  58. package/dist/app/__tests__/turnScheduler.test.d.ts +2 -0
  59. package/dist/app/__tests__/turnScheduler.test.d.ts.map +1 -0
  60. package/dist/app/__tests__/turnScheduler.test.js +20 -0
  61. package/dist/app/__tests__/turnScheduler.test.js.map +1 -0
  62. package/dist/app/__tests__/updates.test.d.ts +2 -0
  63. package/dist/app/__tests__/updates.test.d.ts.map +1 -0
  64. package/dist/app/__tests__/updates.test.js +81 -0
  65. package/dist/app/__tests__/updates.test.js.map +1 -0
  66. package/dist/app/__tests__/widgetRenderer.integration.test.d.ts +2 -0
  67. package/dist/app/__tests__/widgetRenderer.integration.test.d.ts.map +1 -0
  68. package/dist/app/__tests__/widgetRenderer.integration.test.js +305 -0
  69. package/dist/app/__tests__/widgetRenderer.integration.test.js.map +1 -0
  70. package/dist/app/createApp.d.ts +68 -0
  71. package/dist/app/createApp.d.ts.map +1 -0
  72. package/dist/app/createApp.js +908 -0
  73. package/dist/app/createApp.js.map +1 -0
  74. package/dist/app/rawRenderer.d.ts +58 -0
  75. package/dist/app/rawRenderer.d.ts.map +1 -0
  76. package/dist/app/rawRenderer.js +89 -0
  77. package/dist/app/rawRenderer.js.map +1 -0
  78. package/dist/app/stateMachine.d.ts +44 -0
  79. package/dist/app/stateMachine.d.ts.map +1 -0
  80. package/dist/app/stateMachine.js +76 -0
  81. package/dist/app/stateMachine.js.map +1 -0
  82. package/dist/app/turnScheduler.d.ts +43 -0
  83. package/dist/app/turnScheduler.d.ts.map +1 -0
  84. package/dist/app/turnScheduler.js +72 -0
  85. package/dist/app/turnScheduler.js.map +1 -0
  86. package/dist/app/updateQueue.d.ts +32 -0
  87. package/dist/app/updateQueue.d.ts.map +1 -0
  88. package/dist/app/updateQueue.js +37 -0
  89. package/dist/app/updateQueue.js.map +1 -0
  90. package/dist/app/widgetRenderer/codeEditorRouting.d.ts +8 -0
  91. package/dist/app/widgetRenderer/codeEditorRouting.d.ts.map +1 -0
  92. package/dist/app/widgetRenderer/codeEditorRouting.js +184 -0
  93. package/dist/app/widgetRenderer/codeEditorRouting.js.map +1 -0
  94. package/dist/app/widgetRenderer/commandPaletteRouting.d.ts +5 -0
  95. package/dist/app/widgetRenderer/commandPaletteRouting.d.ts.map +1 -0
  96. package/dist/app/widgetRenderer/commandPaletteRouting.js +143 -0
  97. package/dist/app/widgetRenderer/commandPaletteRouting.js.map +1 -0
  98. package/dist/app/widgetRenderer/fileNodeCache.d.ts +9 -0
  99. package/dist/app/widgetRenderer/fileNodeCache.d.ts.map +1 -0
  100. package/dist/app/widgetRenderer/fileNodeCache.js +34 -0
  101. package/dist/app/widgetRenderer/fileNodeCache.js.map +1 -0
  102. package/dist/app/widgetRenderer/filePickerRouting.d.ts +6 -0
  103. package/dist/app/widgetRenderer/filePickerRouting.d.ts.map +1 -0
  104. package/dist/app/widgetRenderer/filePickerRouting.js +145 -0
  105. package/dist/app/widgetRenderer/filePickerRouting.js.map +1 -0
  106. package/dist/app/widgetRenderer/renderCaches.d.ts +55 -0
  107. package/dist/app/widgetRenderer/renderCaches.d.ts.map +1 -0
  108. package/dist/app/widgetRenderer/renderCaches.js +202 -0
  109. package/dist/app/widgetRenderer/renderCaches.js.map +1 -0
  110. package/dist/app/widgetRenderer/submitFramePipeline.d.ts +18 -0
  111. package/dist/app/widgetRenderer/submitFramePipeline.d.ts.map +1 -0
  112. package/dist/app/widgetRenderer/submitFramePipeline.js +253 -0
  113. package/dist/app/widgetRenderer/submitFramePipeline.js.map +1 -0
  114. package/dist/app/widgetRenderer/toolApprovalRouting.d.ts +5 -0
  115. package/dist/app/widgetRenderer/toolApprovalRouting.d.ts.map +1 -0
  116. package/dist/app/widgetRenderer/toolApprovalRouting.js +56 -0
  117. package/dist/app/widgetRenderer/toolApprovalRouting.js.map +1 -0
  118. package/dist/app/widgetRenderer.d.ts +238 -0
  119. package/dist/app/widgetRenderer.d.ts.map +1 -0
  120. package/dist/app/widgetRenderer.js +1891 -0
  121. package/dist/app/widgetRenderer.js.map +1 -0
  122. package/dist/backend.d.ts +95 -0
  123. package/dist/backend.d.ts.map +1 -0
  124. package/dist/backend.js +10 -0
  125. package/dist/backend.js.map +1 -0
  126. package/dist/binary/__tests__/reader.test.d.ts +2 -0
  127. package/dist/binary/__tests__/reader.test.d.ts.map +1 -0
  128. package/dist/binary/__tests__/reader.test.js +35 -0
  129. package/dist/binary/__tests__/reader.test.js.map +1 -0
  130. package/dist/binary/__tests__/writer.test.d.ts +2 -0
  131. package/dist/binary/__tests__/writer.test.d.ts.map +1 -0
  132. package/dist/binary/__tests__/writer.test.js +36 -0
  133. package/dist/binary/__tests__/writer.test.js.map +1 -0
  134. package/dist/binary/parseError.d.ts +37 -0
  135. package/dist/binary/parseError.d.ts.map +1 -0
  136. package/dist/binary/parseError.js +33 -0
  137. package/dist/binary/parseError.js.map +1 -0
  138. package/dist/binary/reader.d.ts +52 -0
  139. package/dist/binary/reader.d.ts.map +1 -0
  140. package/dist/binary/reader.js +107 -0
  141. package/dist/binary/reader.js.map +1 -0
  142. package/dist/binary/writer.d.ts +59 -0
  143. package/dist/binary/writer.d.ts.map +1 -0
  144. package/dist/binary/writer.js +114 -0
  145. package/dist/binary/writer.js.map +1 -0
  146. package/dist/cursor/cursorState.d.ts +89 -0
  147. package/dist/cursor/cursorState.d.ts.map +1 -0
  148. package/dist/cursor/cursorState.js +82 -0
  149. package/dist/cursor/cursorState.js.map +1 -0
  150. package/dist/cursor/index.d.ts +9 -0
  151. package/dist/cursor/index.d.ts.map +1 -0
  152. package/dist/cursor/index.js +9 -0
  153. package/dist/cursor/index.js.map +1 -0
  154. package/dist/debug/__tests__/eventTrace.test.d.ts +7 -0
  155. package/dist/debug/__tests__/eventTrace.test.d.ts.map +1 -0
  156. package/dist/debug/__tests__/eventTrace.test.js +59 -0
  157. package/dist/debug/__tests__/eventTrace.test.js.map +1 -0
  158. package/dist/debug/__tests__/frameInspector.test.d.ts +8 -0
  159. package/dist/debug/__tests__/frameInspector.test.d.ts.map +1 -0
  160. package/dist/debug/__tests__/frameInspector.test.js +121 -0
  161. package/dist/debug/__tests__/frameInspector.test.js.map +1 -0
  162. package/dist/debug/__tests__/parsers.test.d.ts +8 -0
  163. package/dist/debug/__tests__/parsers.test.d.ts.map +1 -0
  164. package/dist/debug/__tests__/parsers.test.js +265 -0
  165. package/dist/debug/__tests__/parsers.test.js.map +1 -0
  166. package/dist/debug/__tests__/stateTimeline.test.d.ts +7 -0
  167. package/dist/debug/__tests__/stateTimeline.test.d.ts.map +1 -0
  168. package/dist/debug/__tests__/stateTimeline.test.js +55 -0
  169. package/dist/debug/__tests__/stateTimeline.test.js.map +1 -0
  170. package/dist/debug/__tests__/uiDebug.test.d.ts +2 -0
  171. package/dist/debug/__tests__/uiDebug.test.d.ts.map +1 -0
  172. package/dist/debug/__tests__/uiDebug.test.js +18 -0
  173. package/dist/debug/__tests__/uiDebug.test.js.map +1 -0
  174. package/dist/debug/constants.d.ts +84 -0
  175. package/dist/debug/constants.d.ts.map +1 -0
  176. package/dist/debug/constants.js +165 -0
  177. package/dist/debug/constants.js.map +1 -0
  178. package/dist/debug/debug.d.ts +14 -0
  179. package/dist/debug/debug.d.ts.map +1 -0
  180. package/dist/debug/debug.js +54 -0
  181. package/dist/debug/debug.js.map +1 -0
  182. package/dist/debug/debugController.d.ts +151 -0
  183. package/dist/debug/debugController.d.ts.map +1 -0
  184. package/dist/debug/debugController.js +232 -0
  185. package/dist/debug/debugController.js.map +1 -0
  186. package/dist/debug/errorAggregator.d.ts +89 -0
  187. package/dist/debug/errorAggregator.d.ts.map +1 -0
  188. package/dist/debug/errorAggregator.js +150 -0
  189. package/dist/debug/errorAggregator.js.map +1 -0
  190. package/dist/debug/eventTrace.d.ts +90 -0
  191. package/dist/debug/eventTrace.d.ts.map +1 -0
  192. package/dist/debug/eventTrace.js +153 -0
  193. package/dist/debug/eventTrace.js.map +1 -0
  194. package/dist/debug/frameInspector.d.ts +88 -0
  195. package/dist/debug/frameInspector.d.ts.map +1 -0
  196. package/dist/debug/frameInspector.js +140 -0
  197. package/dist/debug/frameInspector.js.map +1 -0
  198. package/dist/debug/index.d.ts +25 -0
  199. package/dist/debug/index.d.ts.map +1 -0
  200. package/dist/debug/index.js +58 -0
  201. package/dist/debug/index.js.map +1 -0
  202. package/dist/debug/parsers.d.ts +138 -0
  203. package/dist/debug/parsers.d.ts.map +1 -0
  204. package/dist/debug/parsers.js +397 -0
  205. package/dist/debug/parsers.js.map +1 -0
  206. package/dist/debug/stateTimeline.d.ts +73 -0
  207. package/dist/debug/stateTimeline.d.ts.map +1 -0
  208. package/dist/debug/stateTimeline.js +109 -0
  209. package/dist/debug/stateTimeline.js.map +1 -0
  210. package/dist/debug/types.d.ts +261 -0
  211. package/dist/debug/types.d.ts.map +1 -0
  212. package/dist/debug/types.js +13 -0
  213. package/dist/debug/types.js.map +1 -0
  214. package/dist/drawApi.d.ts +74 -0
  215. package/dist/drawApi.d.ts.map +1 -0
  216. package/dist/drawApi.js +6 -0
  217. package/dist/drawApi.js.map +1 -0
  218. package/dist/drawlist/__tests__/builder_v1_golden.test.d.ts +2 -0
  219. package/dist/drawlist/__tests__/builder_v1_golden.test.d.ts.map +1 -0
  220. package/dist/drawlist/__tests__/builder_v1_golden.test.js +132 -0
  221. package/dist/drawlist/__tests__/builder_v1_golden.test.js.map +1 -0
  222. package/dist/drawlist/__tests__/builder_v1_text_run.test.d.ts +2 -0
  223. package/dist/drawlist/__tests__/builder_v1_text_run.test.d.ts.map +1 -0
  224. package/dist/drawlist/__tests__/builder_v1_text_run.test.js +93 -0
  225. package/dist/drawlist/__tests__/builder_v1_text_run.test.js.map +1 -0
  226. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.d.ts +2 -0
  227. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.d.ts.map +1 -0
  228. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.js +116 -0
  229. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.js.map +1 -0
  230. package/dist/drawlist/__tests__/builder_v2_cursor.test.d.ts +12 -0
  231. package/dist/drawlist/__tests__/builder_v2_cursor.test.d.ts.map +1 -0
  232. package/dist/drawlist/__tests__/builder_v2_cursor.test.js +201 -0
  233. package/dist/drawlist/__tests__/builder_v2_cursor.test.js.map +1 -0
  234. package/dist/drawlist/builder_v1.d.ts +69 -0
  235. package/dist/drawlist/builder_v1.d.ts.map +1 -0
  236. package/dist/drawlist/builder_v1.js +984 -0
  237. package/dist/drawlist/builder_v1.js.map +1 -0
  238. package/dist/drawlist/builder_v2.d.ts +57 -0
  239. package/dist/drawlist/builder_v2.d.ts.map +1 -0
  240. package/dist/drawlist/builder_v2.js +953 -0
  241. package/dist/drawlist/builder_v2.js.map +1 -0
  242. package/dist/drawlist/index.d.ts +13 -0
  243. package/dist/drawlist/index.d.ts.map +1 -0
  244. package/dist/drawlist/index.js +12 -0
  245. package/dist/drawlist/index.js.map +1 -0
  246. package/dist/drawlist/types.d.ts +138 -0
  247. package/dist/drawlist/types.d.ts.map +1 -0
  248. package/dist/drawlist/types.js +14 -0
  249. package/dist/drawlist/types.js.map +1 -0
  250. package/dist/events.d.ts +70 -0
  251. package/dist/events.d.ts.map +1 -0
  252. package/dist/events.js +7 -0
  253. package/dist/events.js.map +1 -0
  254. package/dist/focus/styles.d.ts +213 -0
  255. package/dist/focus/styles.d.ts.map +1 -0
  256. package/dist/focus/styles.js +267 -0
  257. package/dist/focus/styles.js.map +1 -0
  258. package/dist/forms/__tests__/useForm.test.d.ts +7 -0
  259. package/dist/forms/__tests__/useForm.test.d.ts.map +1 -0
  260. package/dist/forms/__tests__/useForm.test.js +371 -0
  261. package/dist/forms/__tests__/useForm.test.js.map +1 -0
  262. package/dist/forms/bind.d.ts +15 -0
  263. package/dist/forms/bind.d.ts.map +1 -0
  264. package/dist/forms/bind.js +40 -0
  265. package/dist/forms/bind.js.map +1 -0
  266. package/dist/forms/index.d.ts +10 -0
  267. package/dist/forms/index.d.ts.map +1 -0
  268. package/dist/forms/index.js +9 -0
  269. package/dist/forms/index.js.map +1 -0
  270. package/dist/forms/types.d.ts +101 -0
  271. package/dist/forms/types.d.ts.map +1 -0
  272. package/dist/forms/types.js +10 -0
  273. package/dist/forms/types.js.map +1 -0
  274. package/dist/forms/useForm.d.ts +54 -0
  275. package/dist/forms/useForm.d.ts.map +1 -0
  276. package/dist/forms/useForm.js +316 -0
  277. package/dist/forms/useForm.js.map +1 -0
  278. package/dist/forms/validation.d.ts +67 -0
  279. package/dist/forms/validation.d.ts.map +1 -0
  280. package/dist/forms/validation.js +135 -0
  281. package/dist/forms/validation.js.map +1 -0
  282. package/dist/icons/index.d.ts +5 -0
  283. package/dist/icons/index.d.ts.map +1 -0
  284. package/dist/icons/index.js +9 -0
  285. package/dist/icons/index.js.map +1 -0
  286. package/dist/icons/registry.d.ts +1452 -0
  287. package/dist/icons/registry.d.ts.map +1 -0
  288. package/dist/icons/registry.js +192 -0
  289. package/dist/icons/registry.js.map +1 -0
  290. package/dist/index.d.ts +197 -0
  291. package/dist/index.d.ts.map +1 -0
  292. package/dist/index.js +221 -0
  293. package/dist/index.js.map +1 -0
  294. package/dist/keybindings/__tests__/chordMatcher.test.d.ts +2 -0
  295. package/dist/keybindings/__tests__/chordMatcher.test.d.ts.map +1 -0
  296. package/dist/keybindings/__tests__/chordMatcher.test.js +238 -0
  297. package/dist/keybindings/__tests__/chordMatcher.test.js.map +1 -0
  298. package/dist/keybindings/__tests__/manager.test.d.ts +2 -0
  299. package/dist/keybindings/__tests__/manager.test.d.ts.map +1 -0
  300. package/dist/keybindings/__tests__/manager.test.js +377 -0
  301. package/dist/keybindings/__tests__/manager.test.js.map +1 -0
  302. package/dist/keybindings/__tests__/parser.test.d.ts +2 -0
  303. package/dist/keybindings/__tests__/parser.test.d.ts.map +1 -0
  304. package/dist/keybindings/__tests__/parser.test.js +386 -0
  305. package/dist/keybindings/__tests__/parser.test.js.map +1 -0
  306. package/dist/keybindings/chordMatcher.d.ts +75 -0
  307. package/dist/keybindings/chordMatcher.d.ts.map +1 -0
  308. package/dist/keybindings/chordMatcher.js +224 -0
  309. package/dist/keybindings/chordMatcher.js.map +1 -0
  310. package/dist/keybindings/index.d.ts +16 -0
  311. package/dist/keybindings/index.d.ts.map +1 -0
  312. package/dist/keybindings/index.js +31 -0
  313. package/dist/keybindings/index.js.map +1 -0
  314. package/dist/keybindings/keyCodes.d.ts +84 -0
  315. package/dist/keybindings/keyCodes.d.ts.map +1 -0
  316. package/dist/keybindings/keyCodes.js +182 -0
  317. package/dist/keybindings/keyCodes.js.map +1 -0
  318. package/dist/keybindings/manager.d.ts +168 -0
  319. package/dist/keybindings/manager.d.ts.map +1 -0
  320. package/dist/keybindings/manager.js +290 -0
  321. package/dist/keybindings/manager.js.map +1 -0
  322. package/dist/keybindings/parser.d.ts +71 -0
  323. package/dist/keybindings/parser.d.ts.map +1 -0
  324. package/dist/keybindings/parser.js +252 -0
  325. package/dist/keybindings/parser.js.map +1 -0
  326. package/dist/keybindings/types.d.ts +131 -0
  327. package/dist/keybindings/types.d.ts.map +1 -0
  328. package/dist/keybindings/types.js +11 -0
  329. package/dist/keybindings/types.js.map +1 -0
  330. package/dist/layout/__tests__/constraints.golden.test.d.ts +2 -0
  331. package/dist/layout/__tests__/constraints.golden.test.d.ts.map +1 -0
  332. package/dist/layout/__tests__/constraints.golden.test.js +86 -0
  333. package/dist/layout/__tests__/constraints.golden.test.js.map +1 -0
  334. package/dist/layout/__tests__/hitTest.golden.test.d.ts +2 -0
  335. package/dist/layout/__tests__/hitTest.golden.test.d.ts.map +1 -0
  336. package/dist/layout/__tests__/hitTest.golden.test.js +74 -0
  337. package/dist/layout/__tests__/hitTest.golden.test.js.map +1 -0
  338. package/dist/layout/__tests__/layout.edgecases.test.d.ts +2 -0
  339. package/dist/layout/__tests__/layout.edgecases.test.d.ts.map +1 -0
  340. package/dist/layout/__tests__/layout.edgecases.test.js +152 -0
  341. package/dist/layout/__tests__/layout.edgecases.test.js.map +1 -0
  342. package/dist/layout/__tests__/layout.golden.test.d.ts +2 -0
  343. package/dist/layout/__tests__/layout.golden.test.d.ts.map +1 -0
  344. package/dist/layout/__tests__/layout.golden.test.js +69 -0
  345. package/dist/layout/__tests__/layout.golden.test.js.map +1 -0
  346. package/dist/layout/__tests__/layout.perf.test.d.ts +8 -0
  347. package/dist/layout/__tests__/layout.perf.test.d.ts.map +1 -0
  348. package/dist/layout/__tests__/layout.perf.test.js +179 -0
  349. package/dist/layout/__tests__/layout.perf.test.js.map +1 -0
  350. package/dist/layout/__tests__/measure.validation.test.d.ts +2 -0
  351. package/dist/layout/__tests__/measure.validation.test.d.ts.map +1 -0
  352. package/dist/layout/__tests__/measure.validation.test.js +16 -0
  353. package/dist/layout/__tests__/measure.validation.test.js.map +1 -0
  354. package/dist/layout/__tests__/spacing.test.d.ts +2 -0
  355. package/dist/layout/__tests__/spacing.test.d.ts.map +1 -0
  356. package/dist/layout/__tests__/spacing.test.js +9 -0
  357. package/dist/layout/__tests__/spacing.test.js.map +1 -0
  358. package/dist/layout/__tests__/sweep.robustness.test.d.ts +11 -0
  359. package/dist/layout/__tests__/sweep.robustness.test.d.ts.map +1 -0
  360. package/dist/layout/__tests__/sweep.robustness.test.js +491 -0
  361. package/dist/layout/__tests__/sweep.robustness.test.js.map +1 -0
  362. package/dist/layout/__tests__/textMeasure.golden.test.d.ts +2 -0
  363. package/dist/layout/__tests__/textMeasure.golden.test.d.ts.map +1 -0
  364. package/dist/layout/__tests__/textMeasure.golden.test.js +32 -0
  365. package/dist/layout/__tests__/textMeasure.golden.test.js.map +1 -0
  366. package/dist/layout/constraints.d.ts +27 -0
  367. package/dist/layout/constraints.d.ts.map +1 -0
  368. package/dist/layout/constraints.js +57 -0
  369. package/dist/layout/constraints.js.map +1 -0
  370. package/dist/layout/engine/bounds.d.ts +7 -0
  371. package/dist/layout/engine/bounds.d.ts.map +1 -0
  372. package/dist/layout/engine/bounds.js +25 -0
  373. package/dist/layout/engine/bounds.js.map +1 -0
  374. package/dist/layout/engine/flex.d.ts +11 -0
  375. package/dist/layout/engine/flex.d.ts.map +1 -0
  376. package/dist/layout/engine/flex.js +162 -0
  377. package/dist/layout/engine/flex.js.map +1 -0
  378. package/dist/layout/engine/guards.d.ts +14 -0
  379. package/dist/layout/engine/guards.d.ts.map +1 -0
  380. package/dist/layout/engine/guards.js +36 -0
  381. package/dist/layout/engine/guards.js.map +1 -0
  382. package/dist/layout/engine/layoutEngine.d.ts +41 -0
  383. package/dist/layout/engine/layoutEngine.d.ts.map +1 -0
  384. package/dist/layout/engine/layoutEngine.js +344 -0
  385. package/dist/layout/engine/layoutEngine.js.map +1 -0
  386. package/dist/layout/engine/layoutTree.d.ts +6 -0
  387. package/dist/layout/engine/layoutTree.d.ts.map +1 -0
  388. package/dist/layout/engine/layoutTree.js +16 -0
  389. package/dist/layout/engine/layoutTree.js.map +1 -0
  390. package/dist/layout/engine/pool.d.ts +10 -0
  391. package/dist/layout/engine/pool.d.ts.map +1 -0
  392. package/dist/layout/engine/pool.js +33 -0
  393. package/dist/layout/engine/pool.js.map +1 -0
  394. package/dist/layout/engine/result.d.ts +3 -0
  395. package/dist/layout/engine/result.d.ts.map +1 -0
  396. package/dist/layout/engine/result.js +4 -0
  397. package/dist/layout/engine/result.js.map +1 -0
  398. package/dist/layout/engine/types.d.ts +12 -0
  399. package/dist/layout/engine/types.d.ts.map +1 -0
  400. package/dist/layout/engine/types.js +2 -0
  401. package/dist/layout/engine/types.js.map +1 -0
  402. package/dist/layout/hitTest.d.ts +25 -0
  403. package/dist/layout/hitTest.d.ts.map +1 -0
  404. package/dist/layout/hitTest.js +111 -0
  405. package/dist/layout/hitTest.js.map +1 -0
  406. package/dist/layout/kinds/box.d.ts +10 -0
  407. package/dist/layout/kinds/box.d.ts.map +1 -0
  408. package/dist/layout/kinds/box.js +140 -0
  409. package/dist/layout/kinds/box.js.map +1 -0
  410. package/dist/layout/kinds/collections.d.ts +7 -0
  411. package/dist/layout/kinds/collections.d.ts.map +1 -0
  412. package/dist/layout/kinds/collections.js +87 -0
  413. package/dist/layout/kinds/collections.js.map +1 -0
  414. package/dist/layout/kinds/leaf.d.ts +7 -0
  415. package/dist/layout/kinds/leaf.d.ts.map +1 -0
  416. package/dist/layout/kinds/leaf.js +390 -0
  417. package/dist/layout/kinds/leaf.js.map +1 -0
  418. package/dist/layout/kinds/overlays.d.ts +10 -0
  419. package/dist/layout/kinds/overlays.d.ts.map +1 -0
  420. package/dist/layout/kinds/overlays.js +302 -0
  421. package/dist/layout/kinds/overlays.js.map +1 -0
  422. package/dist/layout/kinds/splitPane.d.ts +9 -0
  423. package/dist/layout/kinds/splitPane.d.ts.map +1 -0
  424. package/dist/layout/kinds/splitPane.js +118 -0
  425. package/dist/layout/kinds/splitPane.js.map +1 -0
  426. package/dist/layout/kinds/stack.d.ts +10 -0
  427. package/dist/layout/kinds/stack.d.ts.map +1 -0
  428. package/dist/layout/kinds/stack.js +803 -0
  429. package/dist/layout/kinds/stack.js.map +1 -0
  430. package/dist/layout/layout.d.ts +11 -0
  431. package/dist/layout/layout.d.ts.map +1 -0
  432. package/dist/layout/layout.js +10 -0
  433. package/dist/layout/layout.js.map +1 -0
  434. package/dist/layout/positioning.d.ts +124 -0
  435. package/dist/layout/positioning.d.ts.map +1 -0
  436. package/dist/layout/positioning.js +234 -0
  437. package/dist/layout/positioning.js.map +1 -0
  438. package/dist/layout/spacing-scale.d.ts +59 -0
  439. package/dist/layout/spacing-scale.d.ts.map +1 -0
  440. package/dist/layout/spacing-scale.js +79 -0
  441. package/dist/layout/spacing-scale.js.map +1 -0
  442. package/dist/layout/spacing.d.ts +46 -0
  443. package/dist/layout/spacing.d.ts.map +1 -0
  444. package/dist/layout/spacing.js +57 -0
  445. package/dist/layout/spacing.js.map +1 -0
  446. package/dist/layout/textMeasure.d.ts +72 -0
  447. package/dist/layout/textMeasure.d.ts.map +1 -0
  448. package/dist/layout/textMeasure.js +363 -0
  449. package/dist/layout/textMeasure.js.map +1 -0
  450. package/dist/layout/types.d.ts +43 -0
  451. package/dist/layout/types.d.ts.map +1 -0
  452. package/dist/layout/types.js +10 -0
  453. package/dist/layout/types.js.map +1 -0
  454. package/dist/layout/unicode/props.d.ts +23 -0
  455. package/dist/layout/unicode/props.d.ts.map +1 -0
  456. package/dist/layout/unicode/props.js +80 -0
  457. package/dist/layout/unicode/props.js.map +1 -0
  458. package/dist/layout/unicode/tables_15_1_0.d.ts +11 -0
  459. package/dist/layout/unicode/tables_15_1_0.d.ts.map +1 -0
  460. package/dist/layout/unicode/tables_15_1_0.js +416 -0
  461. package/dist/layout/unicode/tables_15_1_0.js.map +1 -0
  462. package/dist/layout/validateProps.d.ts +101 -0
  463. package/dist/layout/validateProps.d.ts.map +1 -0
  464. package/dist/layout/validateProps.js +328 -0
  465. package/dist/layout/validateProps.js.map +1 -0
  466. package/dist/perf/index.d.ts +5 -0
  467. package/dist/perf/index.d.ts.map +1 -0
  468. package/dist/perf/index.js +5 -0
  469. package/dist/perf/index.js.map +1 -0
  470. package/dist/perf/perf.d.ts +71 -0
  471. package/dist/perf/perf.d.ts.map +1 -0
  472. package/dist/perf/perf.js +239 -0
  473. package/dist/perf/perf.js.map +1 -0
  474. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.d.ts +2 -0
  475. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.d.ts.map +1 -0
  476. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.js +35 -0
  477. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.js.map +1 -0
  478. package/dist/protocol/__tests__/zrev_v1_invalid.test.d.ts +2 -0
  479. package/dist/protocol/__tests__/zrev_v1_invalid.test.d.ts.map +1 -0
  480. package/dist/protocol/__tests__/zrev_v1_invalid.test.js +128 -0
  481. package/dist/protocol/__tests__/zrev_v1_invalid.test.js.map +1 -0
  482. package/dist/protocol/__tests__/zrev_v1_valid.test.d.ts +2 -0
  483. package/dist/protocol/__tests__/zrev_v1_valid.test.d.ts.map +1 -0
  484. package/dist/protocol/__tests__/zrev_v1_valid.test.js +126 -0
  485. package/dist/protocol/__tests__/zrev_v1_valid.test.js.map +1 -0
  486. package/dist/protocol/types.d.ts +119 -0
  487. package/dist/protocol/types.d.ts.map +1 -0
  488. package/dist/protocol/types.js +14 -0
  489. package/dist/protocol/types.js.map +1 -0
  490. package/dist/protocol/zrev_v1.d.ts +52 -0
  491. package/dist/protocol/zrev_v1.d.ts.map +1 -0
  492. package/dist/protocol/zrev_v1.js +288 -0
  493. package/dist/protocol/zrev_v1.js.map +1 -0
  494. package/dist/renderer/__tests__/overlay.edge.test.d.ts +2 -0
  495. package/dist/renderer/__tests__/overlay.edge.test.d.ts.map +1 -0
  496. package/dist/renderer/__tests__/overlay.edge.test.js +101 -0
  497. package/dist/renderer/__tests__/overlay.edge.test.js.map +1 -0
  498. package/dist/renderer/__tests__/render.golden.test.d.ts +2 -0
  499. package/dist/renderer/__tests__/render.golden.test.d.ts.map +1 -0
  500. package/dist/renderer/__tests__/render.golden.test.js +220 -0
  501. package/dist/renderer/__tests__/render.golden.test.js.map +1 -0
  502. package/dist/renderer/boxGlyphs.d.ts +87 -0
  503. package/dist/renderer/boxGlyphs.d.ts.map +1 -0
  504. package/dist/renderer/boxGlyphs.js +143 -0
  505. package/dist/renderer/boxGlyphs.js.map +1 -0
  506. package/dist/renderer/renderToDrawlist/boxBorder.d.ts +42 -0
  507. package/dist/renderer/renderToDrawlist/boxBorder.d.ts.map +1 -0
  508. package/dist/renderer/renderToDrawlist/boxBorder.js +138 -0
  509. package/dist/renderer/renderToDrawlist/boxBorder.js.map +1 -0
  510. package/dist/renderer/renderToDrawlist/indices.d.ts +11 -0
  511. package/dist/renderer/renderToDrawlist/indices.d.ts.map +1 -0
  512. package/dist/renderer/renderToDrawlist/indices.js +50 -0
  513. package/dist/renderer/renderToDrawlist/indices.js.map +1 -0
  514. package/dist/renderer/renderToDrawlist/renderTree.d.ts +21 -0
  515. package/dist/renderer/renderToDrawlist/renderTree.d.ts.map +1 -0
  516. package/dist/renderer/renderToDrawlist/renderTree.js +117 -0
  517. package/dist/renderer/renderToDrawlist/renderTree.js.map +1 -0
  518. package/dist/renderer/renderToDrawlist/simpleVNode.d.ts +9 -0
  519. package/dist/renderer/renderToDrawlist/simpleVNode.d.ts.map +1 -0
  520. package/dist/renderer/renderToDrawlist/simpleVNode.js +634 -0
  521. package/dist/renderer/renderToDrawlist/simpleVNode.js.map +1 -0
  522. package/dist/renderer/renderToDrawlist/spacing.d.ts +34 -0
  523. package/dist/renderer/renderToDrawlist/spacing.d.ts.map +1 -0
  524. package/dist/renderer/renderToDrawlist/spacing.js +53 -0
  525. package/dist/renderer/renderToDrawlist/spacing.js.map +1 -0
  526. package/dist/renderer/renderToDrawlist/textStyle.d.ts +9 -0
  527. package/dist/renderer/renderToDrawlist/textStyle.d.ts.map +1 -0
  528. package/dist/renderer/renderToDrawlist/textStyle.js +58 -0
  529. package/dist/renderer/renderToDrawlist/textStyle.js.map +1 -0
  530. package/dist/renderer/renderToDrawlist/types.d.ts +96 -0
  531. package/dist/renderer/renderToDrawlist/types.d.ts.map +1 -0
  532. package/dist/renderer/renderToDrawlist/types.js +2 -0
  533. package/dist/renderer/renderToDrawlist/types.js.map +1 -0
  534. package/dist/renderer/renderToDrawlist/widgets/basic.d.ts +17 -0
  535. package/dist/renderer/renderToDrawlist/widgets/basic.d.ts.map +1 -0
  536. package/dist/renderer/renderToDrawlist/widgets/basic.js +1149 -0
  537. package/dist/renderer/renderToDrawlist/widgets/basic.js.map +1 -0
  538. package/dist/renderer/renderToDrawlist/widgets/collections.d.ts +10 -0
  539. package/dist/renderer/renderToDrawlist/widgets/collections.d.ts.map +1 -0
  540. package/dist/renderer/renderToDrawlist/widgets/collections.js +304 -0
  541. package/dist/renderer/renderToDrawlist/widgets/collections.js.map +1 -0
  542. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts +10 -0
  543. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts.map +1 -0
  544. package/dist/renderer/renderToDrawlist/widgets/containers.js +242 -0
  545. package/dist/renderer/renderToDrawlist/widgets/containers.js.map +1 -0
  546. package/dist/renderer/renderToDrawlist/widgets/editors.d.ts +17 -0
  547. package/dist/renderer/renderToDrawlist/widgets/editors.d.ts.map +1 -0
  548. package/dist/renderer/renderToDrawlist/widgets/editors.js +497 -0
  549. package/dist/renderer/renderToDrawlist/widgets/editors.js.map +1 -0
  550. package/dist/renderer/renderToDrawlist/widgets/files.d.ts +13 -0
  551. package/dist/renderer/renderToDrawlist/widgets/files.d.ts.map +1 -0
  552. package/dist/renderer/renderToDrawlist/widgets/files.js +288 -0
  553. package/dist/renderer/renderToDrawlist/widgets/files.js.map +1 -0
  554. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts +21 -0
  555. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts.map +1 -0
  556. package/dist/renderer/renderToDrawlist/widgets/overlays.js +358 -0
  557. package/dist/renderer/renderToDrawlist/widgets/overlays.js.map +1 -0
  558. package/dist/renderer/renderToDrawlist.d.ts +21 -0
  559. package/dist/renderer/renderToDrawlist.d.ts.map +1 -0
  560. package/dist/renderer/renderToDrawlist.js +53 -0
  561. package/dist/renderer/renderToDrawlist.js.map +1 -0
  562. package/dist/renderer/scrollbar.d.ts +129 -0
  563. package/dist/renderer/scrollbar.d.ts.map +1 -0
  564. package/dist/renderer/scrollbar.js +219 -0
  565. package/dist/renderer/scrollbar.js.map +1 -0
  566. package/dist/renderer/shadow.d.ts +74 -0
  567. package/dist/renderer/shadow.d.ts.map +1 -0
  568. package/dist/renderer/shadow.js +118 -0
  569. package/dist/renderer/shadow.js.map +1 -0
  570. package/dist/renderer/styles.d.ts +28 -0
  571. package/dist/renderer/styles.d.ts.map +1 -0
  572. package/dist/renderer/styles.js +42 -0
  573. package/dist/renderer/styles.js.map +1 -0
  574. package/dist/runtime/__tests__/duplicateIdFatal.test.d.ts +2 -0
  575. package/dist/runtime/__tests__/duplicateIdFatal.test.d.ts.map +1 -0
  576. package/dist/runtime/__tests__/duplicateIdFatal.test.js +45 -0
  577. package/dist/runtime/__tests__/duplicateIdFatal.test.js.map +1 -0
  578. package/dist/runtime/__tests__/duplicateKeyFatal.test.d.ts +2 -0
  579. package/dist/runtime/__tests__/duplicateKeyFatal.test.d.ts.map +1 -0
  580. package/dist/runtime/__tests__/duplicateKeyFatal.test.js +20 -0
  581. package/dist/runtime/__tests__/duplicateKeyFatal.test.js.map +1 -0
  582. package/dist/runtime/__tests__/focusList.golden.test.d.ts +2 -0
  583. package/dist/runtime/__tests__/focusList.golden.test.d.ts.map +1 -0
  584. package/dist/runtime/__tests__/focusList.golden.test.js +98 -0
  585. package/dist/runtime/__tests__/focusList.golden.test.js.map +1 -0
  586. package/dist/runtime/__tests__/focusZones.golden.test.d.ts +16 -0
  587. package/dist/runtime/__tests__/focusZones.golden.test.d.ts.map +1 -0
  588. package/dist/runtime/__tests__/focusZones.golden.test.js +594 -0
  589. package/dist/runtime/__tests__/focusZones.golden.test.js.map +1 -0
  590. package/dist/runtime/__tests__/inputRouting.golden.test.d.ts +2 -0
  591. package/dist/runtime/__tests__/inputRouting.golden.test.d.ts.map +1 -0
  592. package/dist/runtime/__tests__/inputRouting.golden.test.js +56 -0
  593. package/dist/runtime/__tests__/inputRouting.golden.test.js.map +1 -0
  594. package/dist/runtime/__tests__/keyRouting.golden.test.d.ts +2 -0
  595. package/dist/runtime/__tests__/keyRouting.golden.test.d.ts.map +1 -0
  596. package/dist/runtime/__tests__/keyRouting.golden.test.js +43 -0
  597. package/dist/runtime/__tests__/keyRouting.golden.test.js.map +1 -0
  598. package/dist/runtime/__tests__/localStateStore.test.d.ts +2 -0
  599. package/dist/runtime/__tests__/localStateStore.test.d.ts.map +1 -0
  600. package/dist/runtime/__tests__/localStateStore.test.js +25 -0
  601. package/dist/runtime/__tests__/localStateStore.test.js.map +1 -0
  602. package/dist/runtime/__tests__/mouseRouting.golden.test.d.ts +2 -0
  603. package/dist/runtime/__tests__/mouseRouting.golden.test.d.ts.map +1 -0
  604. package/dist/runtime/__tests__/mouseRouting.golden.test.js +47 -0
  605. package/dist/runtime/__tests__/mouseRouting.golden.test.js.map +1 -0
  606. package/dist/runtime/__tests__/reconcile.test.d.ts +2 -0
  607. package/dist/runtime/__tests__/reconcile.test.d.ts.map +1 -0
  608. package/dist/runtime/__tests__/reconcile.test.js +46 -0
  609. package/dist/runtime/__tests__/reconcile.test.js.map +1 -0
  610. package/dist/runtime/__tests__/widgetMeta.test.d.ts +2 -0
  611. package/dist/runtime/__tests__/widgetMeta.test.d.ts.map +1 -0
  612. package/dist/runtime/__tests__/widgetMeta.test.js +196 -0
  613. package/dist/runtime/__tests__/widgetMeta.test.js.map +1 -0
  614. package/dist/runtime/commit.d.ts +76 -0
  615. package/dist/runtime/commit.d.ts.map +1 -0
  616. package/dist/runtime/commit.js +366 -0
  617. package/dist/runtime/commit.js.map +1 -0
  618. package/dist/runtime/focus.d.ts +162 -0
  619. package/dist/runtime/focus.d.ts.map +1 -0
  620. package/dist/runtime/focus.js +488 -0
  621. package/dist/runtime/focus.js.map +1 -0
  622. package/dist/runtime/inputEditor.d.ts +49 -0
  623. package/dist/runtime/inputEditor.d.ts.map +1 -0
  624. package/dist/runtime/inputEditor.js +312 -0
  625. package/dist/runtime/inputEditor.js.map +1 -0
  626. package/dist/runtime/instance.d.ts +21 -0
  627. package/dist/runtime/instance.d.ts.map +1 -0
  628. package/dist/runtime/instance.js +27 -0
  629. package/dist/runtime/instance.js.map +1 -0
  630. package/dist/runtime/instances.d.ts +105 -0
  631. package/dist/runtime/instances.d.ts.map +1 -0
  632. package/dist/runtime/instances.js +248 -0
  633. package/dist/runtime/instances.js.map +1 -0
  634. package/dist/runtime/layers.d.ts +144 -0
  635. package/dist/runtime/layers.d.ts.map +1 -0
  636. package/dist/runtime/layers.js +264 -0
  637. package/dist/runtime/layers.js.map +1 -0
  638. package/dist/runtime/localState.d.ts +172 -0
  639. package/dist/runtime/localState.d.ts.map +1 -0
  640. package/dist/runtime/localState.js +182 -0
  641. package/dist/runtime/localState.js.map +1 -0
  642. package/dist/runtime/reconcile.d.ts +64 -0
  643. package/dist/runtime/reconcile.d.ts.map +1 -0
  644. package/dist/runtime/reconcile.js +223 -0
  645. package/dist/runtime/reconcile.js.map +1 -0
  646. package/dist/runtime/router/dropdown.d.ts +16 -0
  647. package/dist/runtime/router/dropdown.d.ts.map +1 -0
  648. package/dist/runtime/router/dropdown.js +108 -0
  649. package/dist/runtime/router/dropdown.js.map +1 -0
  650. package/dist/runtime/router/key.d.ts +10 -0
  651. package/dist/runtime/router/key.d.ts.map +1 -0
  652. package/dist/runtime/router/key.js +39 -0
  653. package/dist/runtime/router/key.js.map +1 -0
  654. package/dist/runtime/router/layer.d.ts +11 -0
  655. package/dist/runtime/router/layer.d.ts.map +1 -0
  656. package/dist/runtime/router/layer.js +45 -0
  657. package/dist/runtime/router/layer.js.map +1 -0
  658. package/dist/runtime/router/mouse.d.ts +9 -0
  659. package/dist/runtime/router/mouse.d.ts.map +1 -0
  660. package/dist/runtime/router/mouse.js +38 -0
  661. package/dist/runtime/router/mouse.js.map +1 -0
  662. package/dist/runtime/router/table.d.ts +15 -0
  663. package/dist/runtime/router/table.d.ts.map +1 -0
  664. package/dist/runtime/router/table.js +182 -0
  665. package/dist/runtime/router/table.js.map +1 -0
  666. package/dist/runtime/router/tree.d.ts +16 -0
  667. package/dist/runtime/router/tree.d.ts.map +1 -0
  668. package/dist/runtime/router/tree.js +211 -0
  669. package/dist/runtime/router/tree.js.map +1 -0
  670. package/dist/runtime/router/types.d.ts +194 -0
  671. package/dist/runtime/router/types.d.ts.map +1 -0
  672. package/dist/runtime/router/types.js +2 -0
  673. package/dist/runtime/router/types.js.map +1 -0
  674. package/dist/runtime/router/virtualList.d.ts +21 -0
  675. package/dist/runtime/router/virtualList.d.ts.map +1 -0
  676. package/dist/runtime/router/virtualList.js +167 -0
  677. package/dist/runtime/router/virtualList.js.map +1 -0
  678. package/dist/runtime/router/zones.d.ts +16 -0
  679. package/dist/runtime/router/zones.d.ts.map +1 -0
  680. package/dist/runtime/router/zones.js +118 -0
  681. package/dist/runtime/router/zones.js.map +1 -0
  682. package/dist/runtime/router.d.ts +18 -0
  683. package/dist/runtime/router.d.ts.map +1 -0
  684. package/dist/runtime/router.js +17 -0
  685. package/dist/runtime/router.js.map +1 -0
  686. package/dist/runtime/widgetMeta.d.ts +157 -0
  687. package/dist/runtime/widgetMeta.d.ts.map +1 -0
  688. package/dist/runtime/widgetMeta.js +618 -0
  689. package/dist/runtime/widgetMeta.js.map +1 -0
  690. package/dist/terminalCaps.d.ts +74 -0
  691. package/dist/terminalCaps.d.ts.map +1 -0
  692. package/dist/terminalCaps.js +61 -0
  693. package/dist/terminalCaps.js.map +1 -0
  694. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  695. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  696. package/dist/theme/__tests__/theme.test.js +28 -0
  697. package/dist/theme/__tests__/theme.test.js.map +1 -0
  698. package/dist/theme/defaultTheme.d.ts +9 -0
  699. package/dist/theme/defaultTheme.d.ts.map +1 -0
  700. package/dist/theme/defaultTheme.js +22 -0
  701. package/dist/theme/defaultTheme.js.map +1 -0
  702. package/dist/theme/index.d.ts +12 -0
  703. package/dist/theme/index.d.ts.map +1 -0
  704. package/dist/theme/index.js +16 -0
  705. package/dist/theme/index.js.map +1 -0
  706. package/dist/theme/interop.d.ts +13 -0
  707. package/dist/theme/interop.d.ts.map +1 -0
  708. package/dist/theme/interop.js +66 -0
  709. package/dist/theme/interop.js.map +1 -0
  710. package/dist/theme/presets.d.ts +81 -0
  711. package/dist/theme/presets.d.ts.map +1 -0
  712. package/dist/theme/presets.js +293 -0
  713. package/dist/theme/presets.js.map +1 -0
  714. package/dist/theme/resolve.d.ts +69 -0
  715. package/dist/theme/resolve.d.ts.map +1 -0
  716. package/dist/theme/resolve.js +159 -0
  717. package/dist/theme/resolve.js.map +1 -0
  718. package/dist/theme/theme.d.ts +33 -0
  719. package/dist/theme/theme.d.ts.map +1 -0
  720. package/dist/theme/theme.js +28 -0
  721. package/dist/theme/theme.js.map +1 -0
  722. package/dist/theme/tokens.d.ts +130 -0
  723. package/dist/theme/tokens.d.ts.map +1 -0
  724. package/dist/theme/tokens.js +50 -0
  725. package/dist/theme/tokens.js.map +1 -0
  726. package/dist/widgets/__tests__/basicWidgets.render.test.d.ts +2 -0
  727. package/dist/widgets/__tests__/basicWidgets.render.test.d.ts.map +1 -0
  728. package/dist/widgets/__tests__/basicWidgets.render.test.js +182 -0
  729. package/dist/widgets/__tests__/basicWidgets.render.test.js.map +1 -0
  730. package/dist/widgets/__tests__/basicWidgets.test.d.ts +2 -0
  731. package/dist/widgets/__tests__/basicWidgets.test.d.ts.map +1 -0
  732. package/dist/widgets/__tests__/basicWidgets.test.js +336 -0
  733. package/dist/widgets/__tests__/basicWidgets.test.js.map +1 -0
  734. package/dist/widgets/__tests__/collections.test.d.ts +2 -0
  735. package/dist/widgets/__tests__/collections.test.d.ts.map +1 -0
  736. package/dist/widgets/__tests__/collections.test.js +91 -0
  737. package/dist/widgets/__tests__/collections.test.js.map +1 -0
  738. package/dist/widgets/__tests__/commandPalette.test.d.ts +2 -0
  739. package/dist/widgets/__tests__/commandPalette.test.d.ts.map +1 -0
  740. package/dist/widgets/__tests__/commandPalette.test.js +13 -0
  741. package/dist/widgets/__tests__/commandPalette.test.js.map +1 -0
  742. package/dist/widgets/__tests__/composition.test.d.ts +14 -0
  743. package/dist/widgets/__tests__/composition.test.d.ts.map +1 -0
  744. package/dist/widgets/__tests__/composition.test.js +458 -0
  745. package/dist/widgets/__tests__/composition.test.js.map +1 -0
  746. package/dist/widgets/__tests__/conditionals.test.d.ts +2 -0
  747. package/dist/widgets/__tests__/conditionals.test.d.ts.map +1 -0
  748. package/dist/widgets/__tests__/conditionals.test.js +49 -0
  749. package/dist/widgets/__tests__/conditionals.test.js.map +1 -0
  750. package/dist/widgets/__tests__/containers.test.d.ts +2 -0
  751. package/dist/widgets/__tests__/containers.test.d.ts.map +1 -0
  752. package/dist/widgets/__tests__/containers.test.js +98 -0
  753. package/dist/widgets/__tests__/containers.test.js.map +1 -0
  754. package/dist/widgets/__tests__/dataVizWidgets.test.d.ts +2 -0
  755. package/dist/widgets/__tests__/dataVizWidgets.test.d.ts.map +1 -0
  756. package/dist/widgets/__tests__/dataVizWidgets.test.js +57 -0
  757. package/dist/widgets/__tests__/dataVizWidgets.test.js.map +1 -0
  758. package/dist/widgets/__tests__/dialogs.test.d.ts +2 -0
  759. package/dist/widgets/__tests__/dialogs.test.d.ts.map +1 -0
  760. package/dist/widgets/__tests__/dialogs.test.js +29 -0
  761. package/dist/widgets/__tests__/dialogs.test.js.map +1 -0
  762. package/dist/widgets/__tests__/editors.test.d.ts +2 -0
  763. package/dist/widgets/__tests__/editors.test.d.ts.map +1 -0
  764. package/dist/widgets/__tests__/editors.test.js +116 -0
  765. package/dist/widgets/__tests__/editors.test.js.map +1 -0
  766. package/dist/widgets/__tests__/filesWidgets.test.d.ts +2 -0
  767. package/dist/widgets/__tests__/filesWidgets.test.d.ts.map +1 -0
  768. package/dist/widgets/__tests__/filesWidgets.test.js +52 -0
  769. package/dist/widgets/__tests__/filesWidgets.test.js.map +1 -0
  770. package/dist/widgets/__tests__/formWidgets.test.d.ts +7 -0
  771. package/dist/widgets/__tests__/formWidgets.test.d.ts.map +1 -0
  772. package/dist/widgets/__tests__/formWidgets.test.js +241 -0
  773. package/dist/widgets/__tests__/formWidgets.test.js.map +1 -0
  774. package/dist/widgets/__tests__/infoWidgets.test.d.ts +2 -0
  775. package/dist/widgets/__tests__/infoWidgets.test.d.ts.map +1 -0
  776. package/dist/widgets/__tests__/infoWidgets.test.js +43 -0
  777. package/dist/widgets/__tests__/infoWidgets.test.js.map +1 -0
  778. package/dist/widgets/__tests__/layers.golden.test.d.ts +14 -0
  779. package/dist/widgets/__tests__/layers.golden.test.d.ts.map +1 -0
  780. package/dist/widgets/__tests__/layers.golden.test.js +728 -0
  781. package/dist/widgets/__tests__/layers.golden.test.js.map +1 -0
  782. package/dist/widgets/__tests__/overlays.test.d.ts +2 -0
  783. package/dist/widgets/__tests__/overlays.test.d.ts.map +1 -0
  784. package/dist/widgets/__tests__/overlays.test.js +99 -0
  785. package/dist/widgets/__tests__/overlays.test.js.map +1 -0
  786. package/dist/widgets/__tests__/renderer.regressions.test.d.ts +2 -0
  787. package/dist/widgets/__tests__/renderer.regressions.test.d.ts.map +1 -0
  788. package/dist/widgets/__tests__/renderer.regressions.test.js +132 -0
  789. package/dist/widgets/__tests__/renderer.regressions.test.js.map +1 -0
  790. package/dist/widgets/__tests__/styleUtils.test.d.ts +2 -0
  791. package/dist/widgets/__tests__/styleUtils.test.d.ts.map +1 -0
  792. package/dist/widgets/__tests__/styleUtils.test.js +22 -0
  793. package/dist/widgets/__tests__/styleUtils.test.js.map +1 -0
  794. package/dist/widgets/__tests__/styled.test.d.ts +2 -0
  795. package/dist/widgets/__tests__/styled.test.d.ts.map +1 -0
  796. package/dist/widgets/__tests__/styled.test.js +23 -0
  797. package/dist/widgets/__tests__/styled.test.js.map +1 -0
  798. package/dist/widgets/__tests__/table.golden.test.d.ts +10 -0
  799. package/dist/widgets/__tests__/table.golden.test.d.ts.map +1 -0
  800. package/dist/widgets/__tests__/table.golden.test.js +367 -0
  801. package/dist/widgets/__tests__/table.golden.test.js.map +1 -0
  802. package/dist/widgets/__tests__/tree.golden.test.d.ts +10 -0
  803. package/dist/widgets/__tests__/tree.golden.test.d.ts.map +1 -0
  804. package/dist/widgets/__tests__/tree.golden.test.js +501 -0
  805. package/dist/widgets/__tests__/tree.golden.test.js.map +1 -0
  806. package/dist/widgets/__tests__/virtualList.golden.test.d.ts +10 -0
  807. package/dist/widgets/__tests__/virtualList.golden.test.d.ts.map +1 -0
  808. package/dist/widgets/__tests__/virtualList.golden.test.js +349 -0
  809. package/dist/widgets/__tests__/virtualList.golden.test.js.map +1 -0
  810. package/dist/widgets/__tests__/widgetRenderSmoke.test.d.ts +2 -0
  811. package/dist/widgets/__tests__/widgetRenderSmoke.test.d.ts.map +1 -0
  812. package/dist/widgets/__tests__/widgetRenderSmoke.test.js +311 -0
  813. package/dist/widgets/__tests__/widgetRenderSmoke.test.js.map +1 -0
  814. package/dist/widgets/checkbox.d.ts +49 -0
  815. package/dist/widgets/checkbox.d.ts.map +1 -0
  816. package/dist/widgets/checkbox.js +66 -0
  817. package/dist/widgets/checkbox.js.map +1 -0
  818. package/dist/widgets/codeEditor.d.ts +150 -0
  819. package/dist/widgets/codeEditor.d.ts.map +1 -0
  820. package/dist/widgets/codeEditor.js +434 -0
  821. package/dist/widgets/codeEditor.js.map +1 -0
  822. package/dist/widgets/collections.d.ts +10 -0
  823. package/dist/widgets/collections.d.ts.map +1 -0
  824. package/dist/widgets/collections.js +49 -0
  825. package/dist/widgets/collections.js.map +1 -0
  826. package/dist/widgets/commandPalette.d.ts +117 -0
  827. package/dist/widgets/commandPalette.d.ts.map +1 -0
  828. package/dist/widgets/commandPalette.js +230 -0
  829. package/dist/widgets/commandPalette.js.map +1 -0
  830. package/dist/widgets/composition.d.ts +202 -0
  831. package/dist/widgets/composition.d.ts.map +1 -0
  832. package/dist/widgets/composition.js +135 -0
  833. package/dist/widgets/composition.js.map +1 -0
  834. package/dist/widgets/conditionals.d.ts +9 -0
  835. package/dist/widgets/conditionals.d.ts.map +1 -0
  836. package/dist/widgets/conditionals.js +27 -0
  837. package/dist/widgets/conditionals.js.map +1 -0
  838. package/dist/widgets/debugPanel.d.ts +96 -0
  839. package/dist/widgets/debugPanel.d.ts.map +1 -0
  840. package/dist/widgets/debugPanel.js +172 -0
  841. package/dist/widgets/debugPanel.js.map +1 -0
  842. package/dist/widgets/dialogs/alert.d.ts +7 -0
  843. package/dist/widgets/dialogs/alert.d.ts.map +1 -0
  844. package/dist/widgets/dialogs/alert.js +21 -0
  845. package/dist/widgets/dialogs/alert.js.map +1 -0
  846. package/dist/widgets/dialogs/confirm.d.ts +7 -0
  847. package/dist/widgets/dialogs/confirm.d.ts.map +1 -0
  848. package/dist/widgets/dialogs/confirm.js +27 -0
  849. package/dist/widgets/dialogs/confirm.js.map +1 -0
  850. package/dist/widgets/dialogs/index.d.ts +8 -0
  851. package/dist/widgets/dialogs/index.d.ts.map +1 -0
  852. package/dist/widgets/dialogs/index.js +7 -0
  853. package/dist/widgets/dialogs/index.js.map +1 -0
  854. package/dist/widgets/dialogs/prompt.d.ts +9 -0
  855. package/dist/widgets/dialogs/prompt.d.ts.map +1 -0
  856. package/dist/widgets/dialogs/prompt.js +40 -0
  857. package/dist/widgets/dialogs/prompt.js.map +1 -0
  858. package/dist/widgets/dialogs/types.d.ts +29 -0
  859. package/dist/widgets/dialogs/types.d.ts.map +1 -0
  860. package/dist/widgets/dialogs/types.js +5 -0
  861. package/dist/widgets/dialogs/types.js.map +1 -0
  862. package/dist/widgets/diffViewer.d.ts +101 -0
  863. package/dist/widgets/diffViewer.d.ts.map +1 -0
  864. package/dist/widgets/diffViewer.js +194 -0
  865. package/dist/widgets/diffViewer.js.map +1 -0
  866. package/dist/widgets/field.d.ts +52 -0
  867. package/dist/widgets/field.d.ts.map +1 -0
  868. package/dist/widgets/field.js +62 -0
  869. package/dist/widgets/field.js.map +1 -0
  870. package/dist/widgets/logsConsole.d.ts +101 -0
  871. package/dist/widgets/logsConsole.d.ts.map +1 -0
  872. package/dist/widgets/logsConsole.js +189 -0
  873. package/dist/widgets/logsConsole.js.map +1 -0
  874. package/dist/widgets/radioGroup.d.ts +79 -0
  875. package/dist/widgets/radioGroup.d.ts.map +1 -0
  876. package/dist/widgets/radioGroup.js +145 -0
  877. package/dist/widgets/radioGroup.js.map +1 -0
  878. package/dist/widgets/select.d.ts +61 -0
  879. package/dist/widgets/select.d.ts.map +1 -0
  880. package/dist/widgets/select.js +119 -0
  881. package/dist/widgets/select.js.map +1 -0
  882. package/dist/widgets/splitPane.d.ts +92 -0
  883. package/dist/widgets/splitPane.d.ts.map +1 -0
  884. package/dist/widgets/splitPane.js +265 -0
  885. package/dist/widgets/splitPane.js.map +1 -0
  886. package/dist/widgets/style.d.ts +34 -0
  887. package/dist/widgets/style.d.ts.map +1 -0
  888. package/dist/widgets/style.js +16 -0
  889. package/dist/widgets/style.js.map +1 -0
  890. package/dist/widgets/styleUtils.d.ts +39 -0
  891. package/dist/widgets/styleUtils.d.ts.map +1 -0
  892. package/dist/widgets/styleUtils.js +42 -0
  893. package/dist/widgets/styleUtils.js.map +1 -0
  894. package/dist/widgets/styled.d.ts +21 -0
  895. package/dist/widgets/styled.d.ts.map +1 -0
  896. package/dist/widgets/styled.js +30 -0
  897. package/dist/widgets/styled.js.map +1 -0
  898. package/dist/widgets/table.d.ts +157 -0
  899. package/dist/widgets/table.d.ts.map +1 -0
  900. package/dist/widgets/table.js +338 -0
  901. package/dist/widgets/table.js.map +1 -0
  902. package/dist/widgets/toast.d.ts +89 -0
  903. package/dist/widgets/toast.d.ts.map +1 -0
  904. package/dist/widgets/toast.js +145 -0
  905. package/dist/widgets/toast.js.map +1 -0
  906. package/dist/widgets/tree.d.ts +207 -0
  907. package/dist/widgets/tree.d.ts.map +1 -0
  908. package/dist/widgets/tree.js +393 -0
  909. package/dist/widgets/tree.js.map +1 -0
  910. package/dist/widgets/types.d.ts +1400 -0
  911. package/dist/widgets/types.d.ts.map +1 -0
  912. package/dist/widgets/types.js +20 -0
  913. package/dist/widgets/types.js.map +1 -0
  914. package/dist/widgets/ui.d.ts +734 -0
  915. package/dist/widgets/ui.d.ts.map +1 -0
  916. package/dist/widgets/ui.js +851 -0
  917. package/dist/widgets/ui.js.map +1 -0
  918. package/dist/widgets/virtualList.d.ts +93 -0
  919. package/dist/widgets/virtualList.d.ts.map +1 -0
  920. package/dist/widgets/virtualList.js +258 -0
  921. package/dist/widgets/virtualList.js.map +1 -0
  922. package/package.json +97 -0
@@ -0,0 +1,207 @@
1
+ /**
2
+ * packages/core/src/widgets/tree.ts — Tree widget core algorithms.
3
+ *
4
+ * Why: Implements the core logic for tree widgets including node flattening,
5
+ * NodeState computation, tree line rendering, and lazy loading state.
6
+ *
7
+ * Algorithms:
8
+ * - Node flattening: DFS traversal respecting expanded state
9
+ * - NodeState: computed state for each visible node
10
+ * - Tree lines: ├── └── │ characters for visual hierarchy
11
+ * - Lazy loading: async children loading with loading state
12
+ *
13
+ * @see docs/widgets/tree.md
14
+ */
15
+ import type { NodeState } from "./types.js";
16
+ /** A flattened node with depth and sibling information. */
17
+ export type FlattenedNode<T> = Readonly<{
18
+ /** The original node data. */
19
+ node: T;
20
+ /** Depth in the tree (0 = root). */
21
+ depth: number;
22
+ /** Index in siblings array. */
23
+ siblingIndex: number;
24
+ /** Total siblings count. */
25
+ siblingCount: number;
26
+ /** Key of the node. */
27
+ key: string;
28
+ /** Key of parent node (null for roots). */
29
+ parentKey: string | null;
30
+ /** Whether this node has children. */
31
+ hasChildren: boolean;
32
+ /** Ancestor expanded states for tree line rendering. */
33
+ ancestorIsLast: readonly boolean[];
34
+ }>;
35
+ /**
36
+ * Flatten a tree into a list of visible nodes.
37
+ *
38
+ * Only includes nodes whose ancestors are all expanded.
39
+ * Order is depth-first pre-order traversal.
40
+ *
41
+ * @param data - Root node(s)
42
+ * @param getKey - Function to get node key
43
+ * @param getChildren - Function to get node children
44
+ * @param hasChildrenFn - Function to check if node has children
45
+ * @param expanded - Set of expanded node keys
46
+ * @returns Array of flattened nodes
47
+ */
48
+ export declare function flattenTree<T>(data: T | readonly T[], getKey: (node: T) => string, getChildren: ((node: T) => readonly T[] | undefined) | undefined, hasChildrenFn: ((node: T) => boolean) | undefined, expanded: readonly string[], expandedSet?: ReadonlySet<string>): readonly FlattenedNode<T>[];
49
+ /**
50
+ * Compute NodeState for a flattened node.
51
+ *
52
+ * @param flatNode - The flattened node
53
+ * @param expanded - Set of expanded node keys
54
+ * @param selected - Currently selected node key
55
+ * @param focused - Currently focused node key
56
+ * @param loading - Set of loading node keys
57
+ * @returns NodeState for the node
58
+ */
59
+ export declare function computeNodeState<T>(flatNode: FlattenedNode<T>, expanded: readonly string[], selected: string | undefined, focused: string | undefined, loading: ReadonlySet<string>, expandedSet?: ReadonlySet<string>): NodeState;
60
+ /** Tree line character set. */
61
+ export declare const TREE_CHARS: Readonly<{
62
+ /**
63
+ * NOTE: Keep these ASCII.
64
+ *
65
+ * Some terminals/fonts render box-drawing characters with fallback glyphs or
66
+ * ambiguous widths, which can produce "blocky" artifacts and break the visual
67
+ * structure. ASCII is the most compatible and still reads well.
68
+ */
69
+ vertical: "|";
70
+ branch: "+--";
71
+ lastBranch: "\\--";
72
+ horizontal: "--";
73
+ space: " ";
74
+ }>;
75
+ /**
76
+ * Generate tree line prefix for a node.
77
+ *
78
+ * @param flatNode - The flattened node
79
+ * @param showLines - Whether to show tree lines
80
+ * @param indentSize - Characters per indent level
81
+ * @returns String prefix for the node
82
+ */
83
+ export declare function getTreeLinePrefix<T>(flatNode: FlattenedNode<T>, showLines: boolean, indentSize: number): string;
84
+ /**
85
+ * Find the index of a node in the flattened list by key.
86
+ *
87
+ * @param flatNodes - Flattened node list
88
+ * @param key - Node key to find
89
+ * @returns Index or -1 if not found
90
+ */
91
+ export declare function findNodeIndex<T>(flatNodes: readonly FlattenedNode<T>[], key: string): number;
92
+ /**
93
+ * Find the parent node in the flattened list.
94
+ *
95
+ * @param flatNodes - Flattened node list
96
+ * @param currentIndex - Current node index
97
+ * @returns Parent node index or -1 if at root
98
+ */
99
+ export declare function findParentIndex<T>(flatNodes: readonly FlattenedNode<T>[], currentIndex: number): number;
100
+ /**
101
+ * Find the first child node in the flattened list.
102
+ *
103
+ * @param flatNodes - Flattened node list
104
+ * @param currentIndex - Current node index
105
+ * @returns First child index or -1 if no children visible
106
+ */
107
+ export declare function findFirstChildIndex<T>(flatNodes: readonly FlattenedNode<T>[], currentIndex: number): number;
108
+ /**
109
+ * Add a key to the expanded set.
110
+ *
111
+ * @param expanded - Current expanded keys
112
+ * @param key - Key to add
113
+ * @returns New expanded set
114
+ */
115
+ export declare function expandNode(expanded: readonly string[], key: string): readonly string[];
116
+ /**
117
+ * Remove a key from the expanded set.
118
+ *
119
+ * @param expanded - Current expanded keys
120
+ * @param key - Key to remove
121
+ * @returns New expanded set
122
+ */
123
+ export declare function collapseNode(expanded: readonly string[], key: string): readonly string[];
124
+ /**
125
+ * Toggle a node's expanded state.
126
+ *
127
+ * @param expanded - Current expanded keys
128
+ * @param key - Key to toggle
129
+ * @returns New expanded set and whether it's now expanded
130
+ */
131
+ export declare function toggleExpanded(expanded: readonly string[], key: string): {
132
+ expanded: readonly string[];
133
+ isExpanded: boolean;
134
+ };
135
+ /**
136
+ * Expand all siblings of a node (nodes at the same depth with same parent).
137
+ *
138
+ * @param flatNodes - Flattened node list
139
+ * @param currentIndex - Current node index
140
+ * @param expanded - Current expanded keys
141
+ * @returns New expanded set with all siblings expanded
142
+ */
143
+ export declare function expandAllSiblings<T>(flatNodes: readonly FlattenedNode<T>[], currentIndex: number, expanded: readonly string[]): readonly string[];
144
+ /**
145
+ * Create a loading state tracker.
146
+ */
147
+ export type LoadingState = Readonly<{
148
+ /** Set of node keys currently loading. */
149
+ loading: ReadonlySet<string>;
150
+ /** Add a key to loading state. */
151
+ startLoading: (key: string) => LoadingState;
152
+ /** Remove a key from loading state. */
153
+ finishLoading: (key: string) => LoadingState;
154
+ /** Check if a key is loading. */
155
+ isLoading: (key: string) => boolean;
156
+ }>;
157
+ /**
158
+ * Create a new loading state.
159
+ *
160
+ * @param initial - Initial loading keys
161
+ * @returns LoadingState object
162
+ */
163
+ export declare function createLoadingState(initial?: readonly string[]): LoadingState;
164
+ /** Expand/collapse indicator characters. */
165
+ export declare const EXPAND_INDICATORS: Readonly<{
166
+ /** Expanded indicator ▼ */
167
+ expanded: "▼";
168
+ /** Collapsed indicator ▶ */
169
+ collapsed: "▶";
170
+ /** Leaf (no children) indicator */
171
+ leaf: " ";
172
+ /** Loading indicator */
173
+ loading: "◌";
174
+ }>;
175
+ /**
176
+ * Get expand/collapse indicator for a node.
177
+ *
178
+ * @param hasChildren - Whether node has children
179
+ * @param isExpanded - Whether node is expanded
180
+ * @param isLoading - Whether node is loading
181
+ * @returns Indicator character
182
+ */
183
+ export declare function getExpandIndicator(hasChildren: boolean, isExpanded: boolean, isLoading: boolean): string;
184
+ /**
185
+ * Count total visible nodes for virtualization.
186
+ *
187
+ * @param flatNodes - Flattened node list
188
+ * @returns Total count
189
+ */
190
+ export declare function getTotalVisibleNodes<T>(flatNodes: readonly FlattenedNode<T>[]): number;
191
+ /**
192
+ * Find the next sibling node.
193
+ *
194
+ * @param flatNodes - Flattened node list
195
+ * @param currentIndex - Current node index
196
+ * @returns Next sibling index or -1 if none
197
+ */
198
+ export declare function findNextSiblingIndex<T>(flatNodes: readonly FlattenedNode<T>[], currentIndex: number): number;
199
+ /**
200
+ * Find the previous sibling node.
201
+ *
202
+ * @param flatNodes - Flattened node list
203
+ * @param currentIndex - Current node index
204
+ * @returns Previous sibling index or -1 if none
205
+ */
206
+ export declare function findPrevSiblingIndex<T>(flatNodes: readonly FlattenedNode<T>[], currentIndex: number): number;
207
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/widgets/tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,393 @@
1
+ /**
2
+ * packages/core/src/widgets/tree.ts — Tree widget core algorithms.
3
+ *
4
+ * Why: Implements the core logic for tree widgets including node flattening,
5
+ * NodeState computation, tree line rendering, and lazy loading state.
6
+ *
7
+ * Algorithms:
8
+ * - Node flattening: DFS traversal respecting expanded state
9
+ * - NodeState: computed state for each visible node
10
+ * - Tree lines: ├── └── │ characters for visual hierarchy
11
+ * - Lazy loading: async children loading with loading state
12
+ *
13
+ * @see docs/widgets/tree.md
14
+ */
15
+ /* ========== Node Flattening ========== */
16
+ /**
17
+ * Flatten a tree into a list of visible nodes.
18
+ *
19
+ * Only includes nodes whose ancestors are all expanded.
20
+ * Order is depth-first pre-order traversal.
21
+ *
22
+ * @param data - Root node(s)
23
+ * @param getKey - Function to get node key
24
+ * @param getChildren - Function to get node children
25
+ * @param hasChildrenFn - Function to check if node has children
26
+ * @param expanded - Set of expanded node keys
27
+ * @returns Array of flattened nodes
28
+ */
29
+ export function flattenTree(data, getKey, getChildren, hasChildrenFn, expanded, expandedSet) {
30
+ const result = [];
31
+ const expandedLookup = expandedSet ?? new Set(expanded);
32
+ // Normalize to array of roots
33
+ const roots = Array.isArray(data) ? data : [data];
34
+ function traverse(nodes, depth, parentKey, ancestorIsLast) {
35
+ const siblingCount = nodes.length;
36
+ for (let i = 0; i < siblingCount; i++) {
37
+ const node = nodes[i];
38
+ if (node === undefined)
39
+ continue;
40
+ const key = getKey(node);
41
+ const children = getChildren?.(node);
42
+ const hasChildren = hasChildrenFn ? hasChildrenFn(node) : (children?.length ?? 0) > 0;
43
+ const isLast = i === siblingCount - 1;
44
+ const flatNode = Object.freeze({
45
+ node,
46
+ depth,
47
+ siblingIndex: i,
48
+ siblingCount,
49
+ key,
50
+ parentKey,
51
+ hasChildren,
52
+ ancestorIsLast: Object.freeze([...ancestorIsLast, isLast]),
53
+ });
54
+ result.push(flatNode);
55
+ // Recurse into children if expanded
56
+ if (hasChildren && expandedLookup.has(key) && children && children.length > 0) {
57
+ traverse(children, depth + 1, key, flatNode.ancestorIsLast);
58
+ }
59
+ }
60
+ }
61
+ traverse(roots, 0, null, []);
62
+ return Object.freeze(result);
63
+ }
64
+ /* ========== NodeState Computation ========== */
65
+ /**
66
+ * Compute NodeState for a flattened node.
67
+ *
68
+ * @param flatNode - The flattened node
69
+ * @param expanded - Set of expanded node keys
70
+ * @param selected - Currently selected node key
71
+ * @param focused - Currently focused node key
72
+ * @param loading - Set of loading node keys
73
+ * @returns NodeState for the node
74
+ */
75
+ export function computeNodeState(flatNode, expanded, selected, focused, loading, expandedSet) {
76
+ const expandedLookup = expandedSet ?? new Set(expanded);
77
+ return Object.freeze({
78
+ expanded: expandedLookup.has(flatNode.key),
79
+ selected: flatNode.key === selected,
80
+ focused: flatNode.key === focused,
81
+ loading: loading.has(flatNode.key),
82
+ depth: flatNode.depth,
83
+ isFirst: flatNode.siblingIndex === 0,
84
+ isLast: flatNode.siblingIndex === flatNode.siblingCount - 1,
85
+ hasChildren: flatNode.hasChildren,
86
+ });
87
+ }
88
+ /* ========== Tree Line Characters ========== */
89
+ /** Tree line character set. */
90
+ export const TREE_CHARS = Object.freeze({
91
+ /**
92
+ * NOTE: Keep these ASCII.
93
+ *
94
+ * Some terminals/fonts render box-drawing characters with fallback glyphs or
95
+ * ambiguous widths, which can produce "blocky" artifacts and break the visual
96
+ * structure. ASCII is the most compatible and still reads well.
97
+ */
98
+ vertical: "|",
99
+ branch: "+--",
100
+ lastBranch: "\\--",
101
+ horizontal: "--",
102
+ space: " ",
103
+ });
104
+ /**
105
+ * Generate tree line prefix for a node.
106
+ *
107
+ * @param flatNode - The flattened node
108
+ * @param showLines - Whether to show tree lines
109
+ * @param indentSize - Characters per indent level
110
+ * @returns String prefix for the node
111
+ */
112
+ export function getTreeLinePrefix(flatNode, showLines, indentSize) {
113
+ if (flatNode.depth === 0) {
114
+ return "";
115
+ }
116
+ if (!showLines) {
117
+ // Simple indentation without lines
118
+ return " ".repeat(flatNode.depth * indentSize);
119
+ }
120
+ // Build tree line prefix
121
+ const parts = [];
122
+ // Add ancestor lines (excluding the last which is for current node)
123
+ for (let i = 0; i < flatNode.depth - 1; i++) {
124
+ const isLast = flatNode.ancestorIsLast[i];
125
+ if (isLast) {
126
+ // Ancestor was last child, no continuing line
127
+ parts.push(TREE_CHARS.space);
128
+ }
129
+ else {
130
+ // Ancestor has siblings below, show continuing line
131
+ parts.push(`${TREE_CHARS.vertical} `);
132
+ }
133
+ }
134
+ // Add branch for current node
135
+ const isLast = flatNode.siblingIndex === flatNode.siblingCount - 1;
136
+ parts.push(isLast ? TREE_CHARS.lastBranch : TREE_CHARS.branch);
137
+ return parts.join("");
138
+ }
139
+ /* ========== Navigation ========== */
140
+ /**
141
+ * Find the index of a node in the flattened list by key.
142
+ *
143
+ * @param flatNodes - Flattened node list
144
+ * @param key - Node key to find
145
+ * @returns Index or -1 if not found
146
+ */
147
+ export function findNodeIndex(flatNodes, key) {
148
+ for (let i = 0; i < flatNodes.length; i++) {
149
+ const node = flatNodes[i];
150
+ if (node?.key === key) {
151
+ return i;
152
+ }
153
+ }
154
+ return -1;
155
+ }
156
+ /**
157
+ * Find the parent node in the flattened list.
158
+ *
159
+ * @param flatNodes - Flattened node list
160
+ * @param currentIndex - Current node index
161
+ * @returns Parent node index or -1 if at root
162
+ */
163
+ export function findParentIndex(flatNodes, currentIndex) {
164
+ const current = flatNodes[currentIndex];
165
+ if (!current || current.parentKey === null) {
166
+ return -1;
167
+ }
168
+ return findNodeIndex(flatNodes, current.parentKey);
169
+ }
170
+ /**
171
+ * Find the first child node in the flattened list.
172
+ *
173
+ * @param flatNodes - Flattened node list
174
+ * @param currentIndex - Current node index
175
+ * @returns First child index or -1 if no children visible
176
+ */
177
+ export function findFirstChildIndex(flatNodes, currentIndex) {
178
+ const current = flatNodes[currentIndex];
179
+ if (!current)
180
+ return -1;
181
+ const nextIndex = currentIndex + 1;
182
+ const next = flatNodes[nextIndex];
183
+ // Check if next node is a child (depth is current + 1 and has current as parent)
184
+ if (next && next.parentKey === current.key && next.depth === current.depth + 1) {
185
+ return nextIndex;
186
+ }
187
+ return -1;
188
+ }
189
+ /* ========== Expand/Collapse Operations ========== */
190
+ /**
191
+ * Add a key to the expanded set.
192
+ *
193
+ * @param expanded - Current expanded keys
194
+ * @param key - Key to add
195
+ * @returns New expanded set
196
+ */
197
+ export function expandNode(expanded, key) {
198
+ if (expanded.includes(key)) {
199
+ return expanded;
200
+ }
201
+ return Object.freeze([...expanded, key]);
202
+ }
203
+ /**
204
+ * Remove a key from the expanded set.
205
+ *
206
+ * @param expanded - Current expanded keys
207
+ * @param key - Key to remove
208
+ * @returns New expanded set
209
+ */
210
+ export function collapseNode(expanded, key) {
211
+ const index = expanded.indexOf(key);
212
+ if (index === -1) {
213
+ return expanded;
214
+ }
215
+ const result = expanded.filter((k) => k !== key);
216
+ return Object.freeze(result);
217
+ }
218
+ /**
219
+ * Toggle a node's expanded state.
220
+ *
221
+ * @param expanded - Current expanded keys
222
+ * @param key - Key to toggle
223
+ * @returns New expanded set and whether it's now expanded
224
+ */
225
+ export function toggleExpanded(expanded, key) {
226
+ const isCurrentlyExpanded = expanded.includes(key);
227
+ if (isCurrentlyExpanded) {
228
+ return {
229
+ expanded: collapseNode(expanded, key),
230
+ isExpanded: false,
231
+ };
232
+ }
233
+ return {
234
+ expanded: expandNode(expanded, key),
235
+ isExpanded: true,
236
+ };
237
+ }
238
+ /**
239
+ * Expand all siblings of a node (nodes at the same depth with same parent).
240
+ *
241
+ * @param flatNodes - Flattened node list
242
+ * @param currentIndex - Current node index
243
+ * @param expanded - Current expanded keys
244
+ * @returns New expanded set with all siblings expanded
245
+ */
246
+ export function expandAllSiblings(flatNodes, currentIndex, expanded) {
247
+ const current = flatNodes[currentIndex];
248
+ if (!current)
249
+ return expanded;
250
+ const siblingKeys = [];
251
+ // Find all siblings (same parentKey and depth)
252
+ for (let i = 0; i < flatNodes.length; i++) {
253
+ const node = flatNodes[i];
254
+ if (node &&
255
+ node.parentKey === current.parentKey &&
256
+ node.depth === current.depth &&
257
+ node.hasChildren) {
258
+ siblingKeys.push(node.key);
259
+ }
260
+ }
261
+ // Add all siblings to expanded set
262
+ const expandedSet = new Set(expanded);
263
+ const originalSize = expandedSet.size;
264
+ for (const key of siblingKeys) {
265
+ expandedSet.add(key);
266
+ }
267
+ // Return same reference if nothing changed
268
+ if (expandedSet.size === originalSize) {
269
+ return expanded;
270
+ }
271
+ return Object.freeze([...expandedSet]);
272
+ }
273
+ /**
274
+ * Create a new loading state.
275
+ *
276
+ * @param initial - Initial loading keys
277
+ * @returns LoadingState object
278
+ */
279
+ export function createLoadingState(initial = []) {
280
+ const loading = new Set(initial);
281
+ const state = Object.freeze({
282
+ loading: loading,
283
+ startLoading: (key) => {
284
+ if (loading.has(key)) {
285
+ return state;
286
+ }
287
+ return createLoadingState([...loading, key]);
288
+ },
289
+ finishLoading: (key) => {
290
+ if (!loading.has(key)) {
291
+ return state;
292
+ }
293
+ return createLoadingState([...loading].filter((k) => k !== key));
294
+ },
295
+ isLoading: (key) => loading.has(key),
296
+ });
297
+ return state;
298
+ }
299
+ /* ========== Expand/Collapse Indicators ========== */
300
+ /** Expand/collapse indicator characters. */
301
+ export const EXPAND_INDICATORS = Object.freeze({
302
+ /** Expanded indicator ▼ */
303
+ expanded: "▼",
304
+ /** Collapsed indicator ▶ */
305
+ collapsed: "▶",
306
+ /** Leaf (no children) indicator */
307
+ leaf: " ",
308
+ /** Loading indicator */
309
+ loading: "◌",
310
+ });
311
+ /**
312
+ * Get expand/collapse indicator for a node.
313
+ *
314
+ * @param hasChildren - Whether node has children
315
+ * @param isExpanded - Whether node is expanded
316
+ * @param isLoading - Whether node is loading
317
+ * @returns Indicator character
318
+ */
319
+ export function getExpandIndicator(hasChildren, isExpanded, isLoading) {
320
+ if (isLoading) {
321
+ return EXPAND_INDICATORS.loading;
322
+ }
323
+ if (!hasChildren) {
324
+ return EXPAND_INDICATORS.leaf;
325
+ }
326
+ return isExpanded ? EXPAND_INDICATORS.expanded : EXPAND_INDICATORS.collapsed;
327
+ }
328
+ /* ========== Total Visible Nodes ========== */
329
+ /**
330
+ * Count total visible nodes for virtualization.
331
+ *
332
+ * @param flatNodes - Flattened node list
333
+ * @returns Total count
334
+ */
335
+ export function getTotalVisibleNodes(flatNodes) {
336
+ return flatNodes.length;
337
+ }
338
+ /* ========== Navigate to Sibling ========== */
339
+ /**
340
+ * Find the next sibling node.
341
+ *
342
+ * @param flatNodes - Flattened node list
343
+ * @param currentIndex - Current node index
344
+ * @returns Next sibling index or -1 if none
345
+ */
346
+ export function findNextSiblingIndex(flatNodes, currentIndex) {
347
+ const current = flatNodes[currentIndex];
348
+ if (!current)
349
+ return -1;
350
+ // Scan forward for a sibling (same parent and depth)
351
+ for (let i = currentIndex + 1; i < flatNodes.length; i++) {
352
+ const node = flatNodes[i];
353
+ if (!node)
354
+ continue;
355
+ // Stop if we go back up to a shallower depth
356
+ if (node.depth < current.depth) {
357
+ break;
358
+ }
359
+ // Found sibling
360
+ if (node.depth === current.depth && node.parentKey === current.parentKey) {
361
+ return i;
362
+ }
363
+ }
364
+ return -1;
365
+ }
366
+ /**
367
+ * Find the previous sibling node.
368
+ *
369
+ * @param flatNodes - Flattened node list
370
+ * @param currentIndex - Current node index
371
+ * @returns Previous sibling index or -1 if none
372
+ */
373
+ export function findPrevSiblingIndex(flatNodes, currentIndex) {
374
+ const current = flatNodes[currentIndex];
375
+ if (!current)
376
+ return -1;
377
+ // Scan backward for a sibling (same parent and depth)
378
+ for (let i = currentIndex - 1; i >= 0; i--) {
379
+ const node = flatNodes[i];
380
+ if (!node)
381
+ continue;
382
+ // Found sibling
383
+ if (node.depth === current.depth && node.parentKey === current.parentKey) {
384
+ return i;
385
+ }
386
+ // Stop if we encounter a node at a shallower depth
387
+ if (node.depth < current.depth) {
388
+ break;
389
+ }
390
+ }
391
+ return -1;
392
+ }
393
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/widgets/tree.ts"],"names":[],"mappings":"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"}