@rezi-ui/core 0.1.0-alpha.7 → 0.1.0-alpha.70

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 (1435) hide show
  1. package/README.md +3 -2
  2. package/dist/abi.d.ts +3 -3
  3. package/dist/abi.d.ts.map +1 -1
  4. package/dist/abi.js +2 -2
  5. package/dist/abi.js.map +1 -1
  6. package/dist/animation/easing.d.ts +7 -0
  7. package/dist/animation/easing.d.ts.map +1 -0
  8. package/dist/animation/easing.js +68 -0
  9. package/dist/animation/easing.js.map +1 -0
  10. package/dist/animation/interpolate.d.ts +15 -0
  11. package/dist/animation/interpolate.d.ts.map +1 -0
  12. package/dist/animation/interpolate.js +53 -0
  13. package/dist/animation/interpolate.js.map +1 -0
  14. package/dist/animation/spring.d.ts +18 -0
  15. package/dist/animation/spring.d.ts.map +1 -0
  16. package/dist/animation/spring.js +84 -0
  17. package/dist/animation/spring.js.map +1 -0
  18. package/dist/animation/timeline.d.ts +27 -0
  19. package/dist/animation/timeline.d.ts.map +1 -0
  20. package/dist/animation/timeline.js +88 -0
  21. package/dist/animation/timeline.js.map +1 -0
  22. package/dist/animation/types.d.ts +96 -0
  23. package/dist/animation/types.d.ts.map +1 -0
  24. package/dist/animation/types.js +8 -0
  25. package/dist/animation/types.js.map +1 -0
  26. package/dist/app/createApp/breadcrumbs.d.ts +38 -0
  27. package/dist/app/createApp/breadcrumbs.d.ts.map +1 -0
  28. package/dist/app/createApp/breadcrumbs.js +65 -0
  29. package/dist/app/createApp/breadcrumbs.js.map +1 -0
  30. package/dist/app/createApp/config.d.ts +25 -0
  31. package/dist/app/createApp/config.d.ts.map +1 -0
  32. package/dist/app/createApp/config.js +130 -0
  33. package/dist/app/createApp/config.js.map +1 -0
  34. package/dist/app/createApp/dirtyPlan.d.ts +21 -0
  35. package/dist/app/createApp/dirtyPlan.d.ts.map +1 -0
  36. package/dist/app/createApp/dirtyPlan.js +54 -0
  37. package/dist/app/createApp/dirtyPlan.js.map +1 -0
  38. package/dist/app/createApp/eventLoop.d.ts +95 -0
  39. package/dist/app/createApp/eventLoop.d.ts.map +1 -0
  40. package/dist/app/createApp/eventLoop.js +384 -0
  41. package/dist/app/createApp/eventLoop.js.map +1 -0
  42. package/dist/app/createApp/focusDispatcher.d.ts +14 -0
  43. package/dist/app/createApp/focusDispatcher.d.ts.map +1 -0
  44. package/dist/app/createApp/focusDispatcher.js +39 -0
  45. package/dist/app/createApp/focusDispatcher.js.map +1 -0
  46. package/dist/app/createApp/guards.d.ts +21 -0
  47. package/dist/app/createApp/guards.d.ts.map +1 -0
  48. package/dist/app/createApp/guards.js +54 -0
  49. package/dist/app/createApp/guards.js.map +1 -0
  50. package/dist/app/createApp/keybindings.d.ts +28 -0
  51. package/dist/app/createApp/keybindings.d.ts.map +1 -0
  52. package/dist/app/createApp/keybindings.js +113 -0
  53. package/dist/app/createApp/keybindings.js.map +1 -0
  54. package/dist/app/createApp/renderLoop.d.ts +64 -0
  55. package/dist/app/createApp/renderLoop.d.ts.map +1 -0
  56. package/dist/app/createApp/renderLoop.js +305 -0
  57. package/dist/app/createApp/renderLoop.js.map +1 -0
  58. package/dist/app/createApp/runSignals.d.ts +23 -0
  59. package/dist/app/createApp/runSignals.d.ts.map +1 -0
  60. package/dist/app/createApp/runSignals.js +71 -0
  61. package/dist/app/createApp/runSignals.js.map +1 -0
  62. package/dist/app/createApp/topLevelViewError.d.ts +15 -0
  63. package/dist/app/createApp/topLevelViewError.d.ts.map +1 -0
  64. package/dist/app/createApp/topLevelViewError.js +87 -0
  65. package/dist/app/createApp/topLevelViewError.js.map +1 -0
  66. package/dist/app/createApp.d.ts +23 -41
  67. package/dist/app/createApp.d.ts.map +1 -1
  68. package/dist/app/createApp.js +688 -707
  69. package/dist/app/createApp.js.map +1 -1
  70. package/dist/app/inspectorOverlayHelper.d.ts +65 -0
  71. package/dist/app/inspectorOverlayHelper.d.ts.map +1 -0
  72. package/dist/app/inspectorOverlayHelper.js +200 -0
  73. package/dist/app/inspectorOverlayHelper.js.map +1 -0
  74. package/dist/app/rawRenderer.d.ts +5 -4
  75. package/dist/app/rawRenderer.d.ts.map +1 -1
  76. package/dist/app/rawRenderer.js +44 -8
  77. package/dist/app/rawRenderer.js.map +1 -1
  78. package/dist/app/runtimeBreadcrumbs.d.ts +114 -0
  79. package/dist/app/runtimeBreadcrumbs.d.ts.map +1 -0
  80. package/dist/app/runtimeBreadcrumbs.js +69 -0
  81. package/dist/app/runtimeBreadcrumbs.js.map +1 -0
  82. package/dist/app/types.d.ts +64 -0
  83. package/dist/app/types.d.ts.map +1 -0
  84. package/dist/app/types.js +2 -0
  85. package/dist/app/types.js.map +1 -0
  86. package/dist/app/widgetRenderer/animationTracks.d.ts +96 -0
  87. package/dist/app/widgetRenderer/animationTracks.d.ts.map +1 -0
  88. package/dist/app/widgetRenderer/animationTracks.js +346 -0
  89. package/dist/app/widgetRenderer/animationTracks.js.map +1 -0
  90. package/dist/app/widgetRenderer/codeEditorRouting.d.ts.map +1 -1
  91. package/dist/app/widgetRenderer/codeEditorRouting.js +31 -25
  92. package/dist/app/widgetRenderer/codeEditorRouting.js.map +1 -1
  93. package/dist/app/widgetRenderer/commandPaletteRouting.d.ts +1 -1
  94. package/dist/app/widgetRenderer/commandPaletteRouting.d.ts.map +1 -1
  95. package/dist/app/widgetRenderer/commandPaletteRouting.js +14 -14
  96. package/dist/app/widgetRenderer/commandPaletteRouting.js.map +1 -1
  97. package/dist/app/widgetRenderer/constraintState.d.ts +98 -0
  98. package/dist/app/widgetRenderer/constraintState.d.ts.map +1 -0
  99. package/dist/app/widgetRenderer/constraintState.js +563 -0
  100. package/dist/app/widgetRenderer/constraintState.js.map +1 -0
  101. package/dist/app/widgetRenderer/cursorBreadcrumbs.d.ts +74 -0
  102. package/dist/app/widgetRenderer/cursorBreadcrumbs.d.ts.map +1 -0
  103. package/dist/app/widgetRenderer/cursorBreadcrumbs.js +273 -0
  104. package/dist/app/widgetRenderer/cursorBreadcrumbs.js.map +1 -0
  105. package/dist/app/widgetRenderer/damageTracking.d.ts +92 -0
  106. package/dist/app/widgetRenderer/damageTracking.d.ts.map +1 -0
  107. package/dist/app/widgetRenderer/damageTracking.js +513 -0
  108. package/dist/app/widgetRenderer/damageTracking.js.map +1 -0
  109. package/dist/app/widgetRenderer/devWarnings.d.ts +24 -0
  110. package/dist/app/widgetRenderer/devWarnings.d.ts.map +1 -0
  111. package/dist/app/widgetRenderer/devWarnings.js +86 -0
  112. package/dist/app/widgetRenderer/devWarnings.js.map +1 -0
  113. package/dist/app/widgetRenderer/fileNodeCache.d.ts +2 -0
  114. package/dist/app/widgetRenderer/fileNodeCache.d.ts.map +1 -1
  115. package/dist/app/widgetRenderer/fileNodeCache.js +31 -0
  116. package/dist/app/widgetRenderer/fileNodeCache.js.map +1 -1
  117. package/dist/app/widgetRenderer/filePickerRouting.d.ts +12 -1
  118. package/dist/app/widgetRenderer/filePickerRouting.d.ts.map +1 -1
  119. package/dist/app/widgetRenderer/filePickerRouting.js +82 -23
  120. package/dist/app/widgetRenderer/filePickerRouting.js.map +1 -1
  121. package/dist/app/widgetRenderer/focusState.d.ts +46 -0
  122. package/dist/app/widgetRenderer/focusState.d.ts.map +1 -0
  123. package/dist/app/widgetRenderer/focusState.js +122 -0
  124. package/dist/app/widgetRenderer/focusState.js.map +1 -0
  125. package/dist/app/widgetRenderer/inputEditing.d.ts +27 -0
  126. package/dist/app/widgetRenderer/inputEditing.d.ts.map +1 -0
  127. package/dist/app/widgetRenderer/inputEditing.js +146 -0
  128. package/dist/app/widgetRenderer/inputEditing.js.map +1 -0
  129. package/dist/app/widgetRenderer/keyboardRouting.d.ts +76 -0
  130. package/dist/app/widgetRenderer/keyboardRouting.d.ts.map +1 -0
  131. package/dist/app/widgetRenderer/keyboardRouting.js +603 -0
  132. package/dist/app/widgetRenderer/keyboardRouting.js.map +1 -0
  133. package/dist/app/widgetRenderer/mouseRouting.d.ts +256 -0
  134. package/dist/app/widgetRenderer/mouseRouting.d.ts.map +1 -0
  135. package/dist/app/widgetRenderer/mouseRouting.js +1273 -0
  136. package/dist/app/widgetRenderer/mouseRouting.js.map +1 -0
  137. package/dist/app/widgetRenderer/overlayShortcuts.d.ts +68 -0
  138. package/dist/app/widgetRenderer/overlayShortcuts.d.ts.map +1 -0
  139. package/dist/app/widgetRenderer/overlayShortcuts.js +167 -0
  140. package/dist/app/widgetRenderer/overlayShortcuts.js.map +1 -0
  141. package/dist/app/widgetRenderer/overlayState.d.ts +198 -0
  142. package/dist/app/widgetRenderer/overlayState.d.ts.map +1 -0
  143. package/dist/app/widgetRenderer/overlayState.js +590 -0
  144. package/dist/app/widgetRenderer/overlayState.js.map +1 -0
  145. package/dist/app/widgetRenderer/routeEngineEvent.d.ts +189 -0
  146. package/dist/app/widgetRenderer/routeEngineEvent.d.ts.map +1 -0
  147. package/dist/app/widgetRenderer/routeEngineEvent.js +575 -0
  148. package/dist/app/widgetRenderer/routeEngineEvent.js.map +1 -0
  149. package/dist/app/widgetRenderer/safeCallback.d.ts +2 -0
  150. package/dist/app/widgetRenderer/safeCallback.d.ts.map +1 -0
  151. package/dist/app/widgetRenderer/safeCallback.js +33 -0
  152. package/dist/app/widgetRenderer/safeCallback.js.map +1 -0
  153. package/dist/app/widgetRenderer/submitFramePipeline.d.ts +2 -2
  154. package/dist/app/widgetRenderer/submitFramePipeline.d.ts.map +1 -1
  155. package/dist/app/widgetRenderer/submitFramePipeline.js +496 -17
  156. package/dist/app/widgetRenderer/submitFramePipeline.js.map +1 -1
  157. package/dist/app/widgetRenderer/toolApprovalRouting.d.ts.map +1 -1
  158. package/dist/app/widgetRenderer/toolApprovalRouting.js +19 -15
  159. package/dist/app/widgetRenderer/toolApprovalRouting.js.map +1 -1
  160. package/dist/app/widgetRenderer.d.ts +216 -22
  161. package/dist/app/widgetRenderer.d.ts.map +1 -1
  162. package/dist/app/widgetRenderer.js +2139 -2373
  163. package/dist/app/widgetRenderer.js.map +1 -1
  164. package/dist/backend.d.ts +52 -2
  165. package/dist/backend.d.ts.map +1 -1
  166. package/dist/backend.js +31 -0
  167. package/dist/backend.js.map +1 -1
  168. package/dist/constraints/expr.d.ts +9 -0
  169. package/dist/constraints/expr.d.ts.map +1 -0
  170. package/dist/constraints/expr.js +134 -0
  171. package/dist/constraints/expr.js.map +1 -0
  172. package/dist/constraints/graph.d.ts +62 -0
  173. package/dist/constraints/graph.d.ts.map +1 -0
  174. package/dist/constraints/graph.js +359 -0
  175. package/dist/constraints/graph.js.map +1 -0
  176. package/dist/constraints/helpers.d.ts +191 -0
  177. package/dist/constraints/helpers.d.ts.map +1 -0
  178. package/dist/constraints/helpers.js +483 -0
  179. package/dist/constraints/helpers.js.map +1 -0
  180. package/dist/constraints/parser.d.ts +19 -0
  181. package/dist/constraints/parser.d.ts.map +1 -0
  182. package/dist/constraints/parser.js +522 -0
  183. package/dist/constraints/parser.js.map +1 -0
  184. package/dist/constraints/resolver.d.ts +70 -0
  185. package/dist/constraints/resolver.d.ts.map +1 -0
  186. package/dist/constraints/resolver.js +444 -0
  187. package/dist/constraints/resolver.js.map +1 -0
  188. package/dist/constraints/types.d.ts +65 -0
  189. package/dist/constraints/types.d.ts.map +1 -0
  190. package/dist/constraints/types.js +7 -0
  191. package/dist/constraints/types.js.map +1 -0
  192. package/dist/debug/constants.d.ts +16 -0
  193. package/dist/debug/constants.d.ts.map +1 -1
  194. package/dist/debug/constants.js +18 -0
  195. package/dist/debug/constants.js.map +1 -1
  196. package/dist/debug/debugController.d.ts +14 -1
  197. package/dist/debug/debugController.d.ts.map +1 -1
  198. package/dist/debug/debugController.js +247 -5
  199. package/dist/debug/debugController.js.map +1 -1
  200. package/dist/debug/describeThrown.d.ts +2 -0
  201. package/dist/debug/describeThrown.d.ts.map +1 -0
  202. package/dist/debug/describeThrown.js +11 -0
  203. package/dist/debug/describeThrown.js.map +1 -0
  204. package/dist/debug/index.d.ts +2 -2
  205. package/dist/debug/index.d.ts.map +1 -1
  206. package/dist/debug/index.js +1 -1
  207. package/dist/debug/index.js.map +1 -1
  208. package/dist/debug/types.d.ts +125 -0
  209. package/dist/debug/types.d.ts.map +1 -1
  210. package/dist/drawApi.d.ts +6 -6
  211. package/dist/drawApi.d.ts.map +1 -1
  212. package/dist/drawlist/builder.d.ts +5 -0
  213. package/dist/drawlist/builder.d.ts.map +1 -0
  214. package/dist/drawlist/builder.js +745 -0
  215. package/dist/drawlist/builder.js.map +1 -0
  216. package/dist/drawlist/builderBase.d.ts +132 -0
  217. package/dist/drawlist/builderBase.d.ts.map +1 -0
  218. package/dist/drawlist/builderBase.js +879 -0
  219. package/dist/drawlist/builderBase.js.map +1 -0
  220. package/dist/drawlist/index.d.ts +2 -3
  221. package/dist/drawlist/index.d.ts.map +1 -1
  222. package/dist/drawlist/index.js +1 -2
  223. package/dist/drawlist/index.js.map +1 -1
  224. package/dist/drawlist/textArena.d.ts +38 -0
  225. package/dist/drawlist/textArena.d.ts.map +1 -0
  226. package/dist/drawlist/textArena.js +101 -0
  227. package/dist/drawlist/textArena.js.map +1 -0
  228. package/dist/drawlist/types.d.ts +40 -103
  229. package/dist/drawlist/types.d.ts.map +1 -1
  230. package/dist/drawlist/types.js +0 -9
  231. package/dist/drawlist/types.js.map +1 -1
  232. package/dist/drawlist/writers.gen.d.ts +30 -0
  233. package/dist/drawlist/writers.gen.d.ts.map +1 -0
  234. package/dist/drawlist/writers.gen.js +240 -0
  235. package/dist/drawlist/writers.gen.js.map +1 -0
  236. package/dist/events.d.ts +2 -14
  237. package/dist/events.d.ts.map +1 -1
  238. package/dist/forms/bind.d.ts +6 -6
  239. package/dist/forms/bind.d.ts.map +1 -1
  240. package/dist/forms/bind.js +61 -5
  241. package/dist/forms/bind.js.map +1 -1
  242. package/dist/forms/index.d.ts +1 -1
  243. package/dist/forms/index.d.ts.map +1 -1
  244. package/dist/forms/index.js.map +1 -1
  245. package/dist/forms/internal/arrayState.d.ts +35 -0
  246. package/dist/forms/internal/arrayState.d.ts.map +1 -0
  247. package/dist/forms/internal/arrayState.js +238 -0
  248. package/dist/forms/internal/arrayState.js.map +1 -0
  249. package/dist/forms/internal/bindings.d.ts +46 -0
  250. package/dist/forms/internal/bindings.d.ts.map +1 -0
  251. package/dist/forms/internal/bindings.js +161 -0
  252. package/dist/forms/internal/bindings.js.map +1 -0
  253. package/dist/forms/internal/dev.d.ts +4 -0
  254. package/dist/forms/internal/dev.d.ts.map +1 -0
  255. package/dist/forms/internal/dev.js +21 -0
  256. package/dist/forms/internal/dev.js.map +1 -0
  257. package/dist/forms/internal/state.d.ts +52 -0
  258. package/dist/forms/internal/state.d.ts.map +1 -0
  259. package/dist/forms/internal/state.js +240 -0
  260. package/dist/forms/internal/state.js.map +1 -0
  261. package/dist/forms/internal/submit.d.ts +43 -0
  262. package/dist/forms/internal/submit.d.ts.map +1 -0
  263. package/dist/forms/internal/submit.js +165 -0
  264. package/dist/forms/internal/submit.js.map +1 -0
  265. package/dist/forms/internal/wizard.d.ts +53 -0
  266. package/dist/forms/internal/wizard.d.ts.map +1 -0
  267. package/dist/forms/internal/wizard.js +311 -0
  268. package/dist/forms/internal/wizard.js.map +1 -0
  269. package/dist/forms/types.d.ts +170 -15
  270. package/dist/forms/types.d.ts.map +1 -1
  271. package/dist/forms/useForm.d.ts +2 -40
  272. package/dist/forms/useForm.d.ts.map +1 -1
  273. package/dist/forms/useForm.js +136 -267
  274. package/dist/forms/useForm.js.map +1 -1
  275. package/dist/forms/validation.d.ts +3 -2
  276. package/dist/forms/validation.d.ts.map +1 -1
  277. package/dist/forms/validation.js +24 -8
  278. package/dist/forms/validation.js.map +1 -1
  279. package/dist/icons/index.d.ts +1 -0
  280. package/dist/icons/index.d.ts.map +1 -1
  281. package/dist/icons/index.js +1 -0
  282. package/dist/icons/index.js.map +1 -1
  283. package/dist/icons/resolveGlyph.d.ts +23 -0
  284. package/dist/icons/resolveGlyph.d.ts.map +1 -0
  285. package/dist/icons/resolveGlyph.js +92 -0
  286. package/dist/icons/resolveGlyph.js.map +1 -0
  287. package/dist/index.d.ts +61 -132
  288. package/dist/index.d.ts.map +1 -1
  289. package/dist/index.js +65 -26
  290. package/dist/index.js.map +1 -1
  291. package/dist/keybindings/index.d.ts +2 -2
  292. package/dist/keybindings/index.d.ts.map +1 -1
  293. package/dist/keybindings/index.js +1 -1
  294. package/dist/keybindings/index.js.map +1 -1
  295. package/dist/keybindings/manager.d.ts +32 -3
  296. package/dist/keybindings/manager.d.ts.map +1 -1
  297. package/dist/keybindings/manager.js +183 -25
  298. package/dist/keybindings/manager.js.map +1 -1
  299. package/dist/keybindings/parser.d.ts.map +1 -1
  300. package/dist/keybindings/parser.js +45 -5
  301. package/dist/keybindings/parser.js.map +1 -1
  302. package/dist/keybindings/types.d.ts +2 -0
  303. package/dist/keybindings/types.d.ts.map +1 -1
  304. package/dist/layout/constraints.d.ts +54 -5
  305. package/dist/layout/constraints.d.ts.map +1 -1
  306. package/dist/layout/constraints.js +194 -15
  307. package/dist/layout/constraints.js.map +1 -1
  308. package/dist/layout/dropdownGeometry.d.ts +15 -0
  309. package/dist/layout/dropdownGeometry.d.ts.map +1 -0
  310. package/dist/layout/dropdownGeometry.js +79 -0
  311. package/dist/layout/dropdownGeometry.js.map +1 -0
  312. package/dist/layout/engine/dirtySet.d.ts +9 -0
  313. package/dist/layout/engine/dirtySet.d.ts.map +1 -0
  314. package/dist/layout/engine/dirtySet.js +67 -0
  315. package/dist/layout/engine/dirtySet.js.map +1 -0
  316. package/dist/layout/engine/distributeInteger.d.ts +9 -0
  317. package/dist/layout/engine/distributeInteger.d.ts.map +1 -0
  318. package/dist/layout/engine/distributeInteger.js +62 -0
  319. package/dist/layout/engine/distributeInteger.js.map +1 -0
  320. package/dist/layout/engine/flex.d.ts +14 -0
  321. package/dist/layout/engine/flex.d.ts.map +1 -1
  322. package/dist/layout/engine/flex.js +144 -1
  323. package/dist/layout/engine/flex.js.map +1 -1
  324. package/dist/layout/engine/guards.d.ts +11 -5
  325. package/dist/layout/engine/guards.d.ts.map +1 -1
  326. package/dist/layout/engine/guards.js +29 -14
  327. package/dist/layout/engine/guards.js.map +1 -1
  328. package/dist/layout/engine/intrinsic.d.ts +8 -0
  329. package/dist/layout/engine/intrinsic.d.ts.map +1 -0
  330. package/dist/layout/engine/intrinsic.js +391 -0
  331. package/dist/layout/engine/intrinsic.js.map +1 -0
  332. package/dist/layout/engine/layoutEngine.d.ts +13 -2
  333. package/dist/layout/engine/layoutEngine.d.ts.map +1 -1
  334. package/dist/layout/engine/layoutEngine.js +653 -28
  335. package/dist/layout/engine/layoutEngine.js.map +1 -1
  336. package/dist/layout/engine/layoutTree.d.ts +1 -1
  337. package/dist/layout/engine/layoutTree.d.ts.map +1 -1
  338. package/dist/layout/engine/pool.d.ts.map +1 -1
  339. package/dist/layout/engine/pool.js +8 -2
  340. package/dist/layout/engine/pool.js.map +1 -1
  341. package/dist/layout/engine/types.d.ts +4 -1
  342. package/dist/layout/engine/types.d.ts.map +1 -1
  343. package/dist/layout/hitTest.d.ts +14 -4
  344. package/dist/layout/hitTest.d.ts.map +1 -1
  345. package/dist/layout/hitTest.js +210 -66
  346. package/dist/layout/hitTest.js.map +1 -1
  347. package/dist/layout/kinds/box.d.ts +3 -3
  348. package/dist/layout/kinds/box.d.ts.map +1 -1
  349. package/dist/layout/kinds/box.js +102 -5
  350. package/dist/layout/kinds/box.js.map +1 -1
  351. package/dist/layout/kinds/collections.d.ts +1 -1
  352. package/dist/layout/kinds/collections.d.ts.map +1 -1
  353. package/dist/layout/kinds/collections.js +58 -8
  354. package/dist/layout/kinds/collections.js.map +1 -1
  355. package/dist/layout/kinds/grid.d.ts +10 -0
  356. package/dist/layout/kinds/grid.d.ts.map +1 -0
  357. package/dist/layout/kinds/grid.js +564 -0
  358. package/dist/layout/kinds/grid.js.map +1 -0
  359. package/dist/layout/kinds/leaf.d.ts +1 -1
  360. package/dist/layout/kinds/leaf.d.ts.map +1 -1
  361. package/dist/layout/kinds/leaf.js +188 -46
  362. package/dist/layout/kinds/leaf.js.map +1 -1
  363. package/dist/layout/kinds/navigation.d.ts +10 -0
  364. package/dist/layout/kinds/navigation.d.ts.map +1 -0
  365. package/dist/layout/kinds/navigation.js +59 -0
  366. package/dist/layout/kinds/navigation.js.map +1 -0
  367. package/dist/layout/kinds/overlays.d.ts +2 -2
  368. package/dist/layout/kinds/overlays.d.ts.map +1 -1
  369. package/dist/layout/kinds/overlays.js +113 -30
  370. package/dist/layout/kinds/overlays.js.map +1 -1
  371. package/dist/layout/kinds/splitPane.d.ts +1 -1
  372. package/dist/layout/kinds/splitPane.d.ts.map +1 -1
  373. package/dist/layout/kinds/splitPane.js.map +1 -1
  374. package/dist/layout/kinds/stack.d.ts +2 -4
  375. package/dist/layout/kinds/stack.d.ts.map +1 -1
  376. package/dist/layout/kinds/stack.js +26 -796
  377. package/dist/layout/kinds/stack.js.map +1 -1
  378. package/dist/layout/kinds/stackParts/axis.d.ts +32 -0
  379. package/dist/layout/kinds/stackParts/axis.d.ts.map +1 -0
  380. package/dist/layout/kinds/stackParts/axis.js +61 -0
  381. package/dist/layout/kinds/stackParts/axis.js.map +1 -0
  382. package/dist/layout/kinds/stackParts/constraintPlan.d.ts +18 -0
  383. package/dist/layout/kinds/stackParts/constraintPlan.d.ts.map +1 -0
  384. package/dist/layout/kinds/stackParts/constraintPlan.js +434 -0
  385. package/dist/layout/kinds/stackParts/constraintPlan.js.map +1 -0
  386. package/dist/layout/kinds/stackParts/layout.d.ts +6 -0
  387. package/dist/layout/kinds/stackParts/layout.d.ts.map +1 -0
  388. package/dist/layout/kinds/stackParts/layout.js +376 -0
  389. package/dist/layout/kinds/stackParts/layout.js.map +1 -0
  390. package/dist/layout/kinds/stackParts/measure.d.ts +6 -0
  391. package/dist/layout/kinds/stackParts/measure.d.ts.map +1 -0
  392. package/dist/layout/kinds/stackParts/measure.js +212 -0
  393. package/dist/layout/kinds/stackParts/measure.js.map +1 -0
  394. package/dist/layout/kinds/stackParts/shared.d.ts +31 -0
  395. package/dist/layout/kinds/stackParts/shared.d.ts.map +1 -0
  396. package/dist/layout/kinds/stackParts/shared.js +94 -0
  397. package/dist/layout/kinds/stackParts/shared.js.map +1 -0
  398. package/dist/layout/kinds/stackParts/wrap.d.ts +26 -0
  399. package/dist/layout/kinds/stackParts/wrap.d.ts.map +1 -0
  400. package/dist/layout/kinds/stackParts/wrap.js +374 -0
  401. package/dist/layout/kinds/stackParts/wrap.js.map +1 -0
  402. package/dist/layout/responsive.d.ts +33 -0
  403. package/dist/layout/responsive.d.ts.map +1 -0
  404. package/dist/layout/responsive.js +145 -0
  405. package/dist/layout/responsive.js.map +1 -0
  406. package/dist/layout/spacing-scale.d.ts +4 -1
  407. package/dist/layout/spacing-scale.d.ts.map +1 -1
  408. package/dist/layout/spacing-scale.js +15 -8
  409. package/dist/layout/spacing-scale.js.map +1 -1
  410. package/dist/layout/textMeasure.d.ts +48 -2
  411. package/dist/layout/textMeasure.d.ts.map +1 -1
  412. package/dist/layout/textMeasure.js +313 -73
  413. package/dist/layout/textMeasure.js.map +1 -1
  414. package/dist/layout/types.d.ts +42 -7
  415. package/dist/layout/types.d.ts.map +1 -1
  416. package/dist/layout/types.js +0 -8
  417. package/dist/layout/types.js.map +1 -1
  418. package/dist/layout/validate/interactive.d.ts +106 -0
  419. package/dist/layout/validate/interactive.d.ts.map +1 -0
  420. package/dist/layout/validate/interactive.js +430 -0
  421. package/dist/layout/validate/interactive.js.map +1 -0
  422. package/dist/layout/validate/layoutConstraints.d.ts +51 -0
  423. package/dist/layout/validate/layoutConstraints.d.ts.map +1 -0
  424. package/dist/layout/validate/layoutConstraints.js +100 -0
  425. package/dist/layout/validate/layoutConstraints.js.map +1 -0
  426. package/dist/layout/validate/primitives.d.ts +31 -0
  427. package/dist/layout/validate/primitives.d.ts.map +1 -0
  428. package/dist/layout/validate/primitives.js +299 -0
  429. package/dist/layout/validate/primitives.js.map +1 -0
  430. package/dist/layout/validate/shared.d.ts +23 -0
  431. package/dist/layout/validate/shared.d.ts.map +1 -0
  432. package/dist/layout/validate/shared.js +32 -0
  433. package/dist/layout/validate/shared.js.map +1 -0
  434. package/dist/layout/validate/spacing.d.ts +21 -0
  435. package/dist/layout/validate/spacing.d.ts.map +1 -0
  436. package/dist/layout/validate/spacing.js +33 -0
  437. package/dist/layout/validate/spacing.js.map +1 -0
  438. package/dist/layout/validateProps.d.ts +7 -88
  439. package/dist/layout/validateProps.d.ts.map +1 -1
  440. package/dist/layout/validateProps.js +3 -329
  441. package/dist/layout/validateProps.js.map +1 -1
  442. package/dist/perf/frameAudit.d.ts +27 -0
  443. package/dist/perf/frameAudit.d.ts.map +1 -0
  444. package/dist/perf/frameAudit.js +152 -0
  445. package/dist/perf/frameAudit.js.map +1 -0
  446. package/dist/perf/perf.d.ts +3 -0
  447. package/dist/perf/perf.d.ts.map +1 -1
  448. package/dist/perf/perf.js +17 -7
  449. package/dist/perf/perf.js.map +1 -1
  450. package/dist/pipeline.d.ts +21 -0
  451. package/dist/pipeline.d.ts.map +1 -0
  452. package/dist/pipeline.js +25 -0
  453. package/dist/pipeline.js.map +1 -0
  454. package/dist/protocol/mouseKinds.d.ts +6 -0
  455. package/dist/protocol/mouseKinds.d.ts.map +1 -0
  456. package/dist/protocol/mouseKinds.js +6 -0
  457. package/dist/protocol/mouseKinds.js.map +1 -0
  458. package/dist/protocol/types.d.ts +1 -1
  459. package/dist/renderer/renderToDrawlist/boxBorder.d.ts +15 -8
  460. package/dist/renderer/renderToDrawlist/boxBorder.d.ts.map +1 -1
  461. package/dist/renderer/renderToDrawlist/boxBorder.js +84 -21
  462. package/dist/renderer/renderToDrawlist/boxBorder.js.map +1 -1
  463. package/dist/renderer/renderToDrawlist/damageBounds.d.ts +4 -0
  464. package/dist/renderer/renderToDrawlist/damageBounds.d.ts.map +1 -0
  465. package/dist/renderer/renderToDrawlist/damageBounds.js +28 -0
  466. package/dist/renderer/renderToDrawlist/damageBounds.js.map +1 -0
  467. package/dist/renderer/renderToDrawlist/renderPackets.d.ts +43 -0
  468. package/dist/renderer/renderToDrawlist/renderPackets.d.ts.map +1 -0
  469. package/dist/renderer/renderToDrawlist/renderPackets.js +574 -0
  470. package/dist/renderer/renderToDrawlist/renderPackets.js.map +1 -0
  471. package/dist/renderer/renderToDrawlist/renderTree.d.ts +6 -3
  472. package/dist/renderer/renderToDrawlist/renderTree.d.ts.map +1 -1
  473. package/dist/renderer/renderToDrawlist/renderTree.js +149 -11
  474. package/dist/renderer/renderToDrawlist/renderTree.js.map +1 -1
  475. package/dist/renderer/renderToDrawlist/simpleVNode.d.ts +7 -2
  476. package/dist/renderer/renderToDrawlist/simpleVNode.d.ts.map +1 -1
  477. package/dist/renderer/renderToDrawlist/simpleVNode.js +180 -97
  478. package/dist/renderer/renderToDrawlist/simpleVNode.js.map +1 -1
  479. package/dist/renderer/renderToDrawlist/spacing.d.ts +0 -2
  480. package/dist/renderer/renderToDrawlist/spacing.d.ts.map +1 -1
  481. package/dist/renderer/renderToDrawlist/spacing.js +12 -11
  482. package/dist/renderer/renderToDrawlist/spacing.js.map +1 -1
  483. package/dist/renderer/renderToDrawlist/textStyle.d.ts +7 -2
  484. package/dist/renderer/renderToDrawlist/textStyle.d.ts.map +1 -1
  485. package/dist/renderer/renderToDrawlist/textStyle.js +155 -44
  486. package/dist/renderer/renderToDrawlist/textStyle.js.map +1 -1
  487. package/dist/renderer/renderToDrawlist/themeTokens.d.ts +14 -0
  488. package/dist/renderer/renderToDrawlist/themeTokens.d.ts.map +1 -0
  489. package/dist/renderer/renderToDrawlist/themeTokens.js +34 -0
  490. package/dist/renderer/renderToDrawlist/themeTokens.js.map +1 -0
  491. package/dist/renderer/renderToDrawlist/types.d.ts +18 -4
  492. package/dist/renderer/renderToDrawlist/types.d.ts.map +1 -1
  493. package/dist/renderer/renderToDrawlist/widgets/basic.d.ts +4 -4
  494. package/dist/renderer/renderToDrawlist/widgets/basic.d.ts.map +1 -1
  495. package/dist/renderer/renderToDrawlist/widgets/basic.js +70 -1167
  496. package/dist/renderer/renderToDrawlist/widgets/basic.js.map +1 -1
  497. package/dist/renderer/renderToDrawlist/widgets/collections.d.ts +3 -2
  498. package/dist/renderer/renderToDrawlist/widgets/collections.d.ts.map +1 -1
  499. package/dist/renderer/renderToDrawlist/widgets/collections.js +403 -47
  500. package/dist/renderer/renderToDrawlist/widgets/collections.js.map +1 -1
  501. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts +3 -3
  502. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts.map +1 -1
  503. package/dist/renderer/renderToDrawlist/widgets/containers.js +460 -104
  504. package/dist/renderer/renderToDrawlist/widgets/containers.js.map +1 -1
  505. package/dist/renderer/renderToDrawlist/widgets/editors.d.ts +2 -2
  506. package/dist/renderer/renderToDrawlist/widgets/editors.d.ts.map +1 -1
  507. package/dist/renderer/renderToDrawlist/widgets/editors.js +400 -107
  508. package/dist/renderer/renderToDrawlist/widgets/editors.js.map +1 -1
  509. package/dist/renderer/renderToDrawlist/widgets/files.d.ts +3 -2
  510. package/dist/renderer/renderToDrawlist/widgets/files.d.ts.map +1 -1
  511. package/dist/renderer/renderToDrawlist/widgets/files.js +82 -24
  512. package/dist/renderer/renderToDrawlist/widgets/files.js.map +1 -1
  513. package/dist/renderer/renderToDrawlist/widgets/focusConfig.d.ts +15 -0
  514. package/dist/renderer/renderToDrawlist/widgets/focusConfig.d.ts.map +1 -0
  515. package/dist/renderer/renderToDrawlist/widgets/focusConfig.js +78 -0
  516. package/dist/renderer/renderToDrawlist/widgets/focusConfig.js.map +1 -0
  517. package/dist/renderer/renderToDrawlist/widgets/navigation.d.ts +10 -0
  518. package/dist/renderer/renderToDrawlist/widgets/navigation.d.ts.map +1 -0
  519. package/dist/renderer/renderToDrawlist/widgets/navigation.js +193 -0
  520. package/dist/renderer/renderToDrawlist/widgets/navigation.js.map +1 -0
  521. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts +3 -3
  522. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts.map +1 -1
  523. package/dist/renderer/renderToDrawlist/widgets/overlays.js +264 -90
  524. package/dist/renderer/renderToDrawlist/widgets/overlays.js.map +1 -1
  525. package/dist/renderer/renderToDrawlist/widgets/renderCanvasWidgets.d.ts +14 -0
  526. package/dist/renderer/renderToDrawlist/widgets/renderCanvasWidgets.d.ts.map +1 -0
  527. package/dist/renderer/renderToDrawlist/widgets/renderCanvasWidgets.js +318 -0
  528. package/dist/renderer/renderToDrawlist/widgets/renderCanvasWidgets.js.map +1 -0
  529. package/dist/renderer/renderToDrawlist/widgets/renderChartWidgets.d.ts +9 -0
  530. package/dist/renderer/renderToDrawlist/widgets/renderChartWidgets.d.ts.map +1 -0
  531. package/dist/renderer/renderToDrawlist/widgets/renderChartWidgets.js +519 -0
  532. package/dist/renderer/renderToDrawlist/widgets/renderChartWidgets.js.map +1 -0
  533. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.d.ts +18 -0
  534. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.d.ts.map +1 -0
  535. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.js +939 -0
  536. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.js.map +1 -0
  537. package/dist/renderer/renderToDrawlist/widgets/renderIndicatorWidgets.d.ts +9 -0
  538. package/dist/renderer/renderToDrawlist/widgets/renderIndicatorWidgets.d.ts.map +1 -0
  539. package/dist/renderer/renderToDrawlist/widgets/renderIndicatorWidgets.js +565 -0
  540. package/dist/renderer/renderToDrawlist/widgets/renderIndicatorWidgets.js.map +1 -0
  541. package/dist/renderer/renderToDrawlist/widgets/renderTextWidgets.d.ts +32 -0
  542. package/dist/renderer/renderToDrawlist/widgets/renderTextWidgets.d.ts.map +1 -0
  543. package/dist/renderer/renderToDrawlist/widgets/renderTextWidgets.js +956 -0
  544. package/dist/renderer/renderToDrawlist/widgets/renderTextWidgets.js.map +1 -0
  545. package/dist/renderer/renderToDrawlist.d.ts +1 -9
  546. package/dist/renderer/renderToDrawlist.d.ts.map +1 -1
  547. package/dist/renderer/renderToDrawlist.js +5 -19
  548. package/dist/renderer/renderToDrawlist.js.map +1 -1
  549. package/dist/renderer/shadow.d.ts +19 -5
  550. package/dist/renderer/shadow.d.ts.map +1 -1
  551. package/dist/renderer/shadow.js +53 -4
  552. package/dist/renderer/shadow.js.map +1 -1
  553. package/dist/renderer/styles.d.ts +3 -12
  554. package/dist/renderer/styles.d.ts.map +1 -1
  555. package/dist/renderer/styles.js +27 -18
  556. package/dist/renderer/styles.js.map +1 -1
  557. package/dist/repro/constants.d.ts +23 -0
  558. package/dist/repro/constants.d.ts.map +1 -0
  559. package/dist/repro/constants.js +23 -0
  560. package/dist/repro/constants.js.map +1 -0
  561. package/dist/repro/index.d.ts +10 -0
  562. package/dist/repro/index.d.ts.map +1 -0
  563. package/dist/repro/index.js +8 -0
  564. package/dist/repro/index.js.map +1 -0
  565. package/dist/repro/replay.d.ts +130 -0
  566. package/dist/repro/replay.d.ts.map +1 -0
  567. package/dist/repro/replay.js +627 -0
  568. package/dist/repro/replay.js.map +1 -0
  569. package/dist/repro/schema.d.ts +21 -0
  570. package/dist/repro/schema.d.ts.map +1 -0
  571. package/dist/repro/schema.js +750 -0
  572. package/dist/repro/schema.js.map +1 -0
  573. package/dist/repro/stable.d.ts +19 -0
  574. package/dist/repro/stable.d.ts.map +1 -0
  575. package/dist/repro/stable.js +53 -0
  576. package/dist/repro/stable.js.map +1 -0
  577. package/dist/repro/types.d.ts +141 -0
  578. package/dist/repro/types.d.ts.map +1 -0
  579. package/dist/repro/types.js +8 -0
  580. package/dist/repro/types.js.map +1 -0
  581. package/dist/router/helpers.d.ts +47 -0
  582. package/dist/router/helpers.d.ts.map +1 -0
  583. package/dist/router/helpers.js +108 -0
  584. package/dist/router/helpers.js.map +1 -0
  585. package/dist/router/index.d.ts +6 -0
  586. package/dist/router/index.d.ts.map +1 -0
  587. package/dist/router/index.js +5 -0
  588. package/dist/router/index.js.map +1 -0
  589. package/dist/router/integration.d.ts +31 -0
  590. package/dist/router/integration.d.ts.map +1 -0
  591. package/dist/router/integration.js +256 -0
  592. package/dist/router/integration.js.map +1 -0
  593. package/dist/router/keybindings.d.ts +25 -0
  594. package/dist/router/keybindings.d.ts.map +1 -0
  595. package/dist/router/keybindings.js +53 -0
  596. package/dist/router/keybindings.js.map +1 -0
  597. package/dist/router/router.d.ts +66 -0
  598. package/dist/router/router.d.ts.map +1 -0
  599. package/dist/router/router.js +249 -0
  600. package/dist/router/router.js.map +1 -0
  601. package/dist/router/types.d.ts +114 -0
  602. package/dist/router/types.d.ts.map +1 -0
  603. package/dist/router/types.js +2 -0
  604. package/dist/router/types.js.map +1 -0
  605. package/dist/runtime/commit/composite.d.ts +11 -0
  606. package/dist/runtime/commit/composite.d.ts.map +1 -0
  607. package/dist/runtime/commit/composite.js +238 -0
  608. package/dist/runtime/commit/composite.js.map +1 -0
  609. package/dist/runtime/commit/container.d.ts +7 -0
  610. package/dist/runtime/commit/container.d.ts.map +1 -0
  611. package/dist/runtime/commit/container.js +350 -0
  612. package/dist/runtime/commit/container.js.map +1 -0
  613. package/dist/runtime/commit/equality.d.ts +20 -0
  614. package/dist/runtime/commit/equality.d.ts.map +1 -0
  615. package/dist/runtime/commit/equality.js +436 -0
  616. package/dist/runtime/commit/equality.js.map +1 -0
  617. package/dist/runtime/commit/errorBoundary.d.ts +7 -0
  618. package/dist/runtime/commit/errorBoundary.d.ts.map +1 -0
  619. package/dist/runtime/commit/errorBoundary.js +53 -0
  620. package/dist/runtime/commit/errorBoundary.js.map +1 -0
  621. package/dist/runtime/commit/shared.d.ts +138 -0
  622. package/dist/runtime/commit/shared.d.ts.map +1 -0
  623. package/dist/runtime/commit/shared.js +11 -0
  624. package/dist/runtime/commit/shared.js.map +1 -0
  625. package/dist/runtime/commit/transitions.d.ts +9 -0
  626. package/dist/runtime/commit/transitions.d.ts.map +1 -0
  627. package/dist/runtime/commit/transitions.js +93 -0
  628. package/dist/runtime/commit/transitions.js.map +1 -0
  629. package/dist/runtime/commit/validation.d.ts +16 -0
  630. package/dist/runtime/commit/validation.d.ts.map +1 -0
  631. package/dist/runtime/commit/validation.js +157 -0
  632. package/dist/runtime/commit/validation.js.map +1 -0
  633. package/dist/runtime/commit.d.ts +7 -53
  634. package/dist/runtime/commit.d.ts.map +1 -1
  635. package/dist/runtime/commit.js +148 -548
  636. package/dist/runtime/commit.js.map +1 -1
  637. package/dist/runtime/focus.d.ts +6 -3
  638. package/dist/runtime/focus.d.ts.map +1 -1
  639. package/dist/runtime/focus.js +168 -121
  640. package/dist/runtime/focus.js.map +1 -1
  641. package/dist/runtime/idCodec.d.ts +26 -0
  642. package/dist/runtime/idCodec.d.ts.map +1 -0
  643. package/dist/runtime/idCodec.js +56 -0
  644. package/dist/runtime/idCodec.js.map +1 -0
  645. package/dist/runtime/inputEditor.d.ts +37 -3
  646. package/dist/runtime/inputEditor.d.ts.map +1 -1
  647. package/dist/runtime/inputEditor.js +497 -73
  648. package/dist/runtime/inputEditor.js.map +1 -1
  649. package/dist/runtime/instances.d.ts +51 -0
  650. package/dist/runtime/instances.d.ts.map +1 -1
  651. package/dist/runtime/instances.js +179 -13
  652. package/dist/runtime/instances.js.map +1 -1
  653. package/dist/runtime/layers.d.ts +3 -1
  654. package/dist/runtime/layers.d.ts.map +1 -1
  655. package/dist/runtime/layers.js +33 -8
  656. package/dist/runtime/layers.js.map +1 -1
  657. package/dist/runtime/localState.d.ts +19 -0
  658. package/dist/runtime/localState.d.ts.map +1 -1
  659. package/dist/runtime/localState.js +107 -5
  660. package/dist/runtime/localState.js.map +1 -1
  661. package/dist/runtime/reconcile.d.ts +6 -2
  662. package/dist/runtime/reconcile.d.ts.map +1 -1
  663. package/dist/runtime/reconcile.js +48 -73
  664. package/dist/runtime/reconcile.js.map +1 -1
  665. package/dist/runtime/renderPacket.d.ts +65 -0
  666. package/dist/runtime/renderPacket.d.ts.map +1 -0
  667. package/dist/runtime/renderPacket.js +2 -0
  668. package/dist/runtime/renderPacket.js.map +1 -0
  669. package/dist/runtime/router/dropdown.d.ts.map +1 -1
  670. package/dist/runtime/router/dropdown.js +49 -26
  671. package/dist/runtime/router/dropdown.js.map +1 -1
  672. package/dist/runtime/router/layer.d.ts +1 -1
  673. package/dist/runtime/router/layer.d.ts.map +1 -1
  674. package/dist/runtime/router/layer.js +33 -25
  675. package/dist/runtime/router/layer.js.map +1 -1
  676. package/dist/runtime/router/mouse.d.ts.map +1 -1
  677. package/dist/runtime/router/mouse.js +3 -5
  678. package/dist/runtime/router/mouse.js.map +1 -1
  679. package/dist/runtime/router/pagination.d.ts +19 -0
  680. package/dist/runtime/router/pagination.d.ts.map +1 -0
  681. package/dist/runtime/router/pagination.js +115 -0
  682. package/dist/runtime/router/pagination.js.map +1 -0
  683. package/dist/runtime/router/table.d.ts.map +1 -1
  684. package/dist/runtime/router/table.js +44 -25
  685. package/dist/runtime/router/table.js.map +1 -1
  686. package/dist/runtime/router/tabs.d.ts +20 -0
  687. package/dist/runtime/router/tabs.d.ts.map +1 -0
  688. package/dist/runtime/router/tabs.js +92 -0
  689. package/dist/runtime/router/tabs.js.map +1 -0
  690. package/dist/runtime/router/types.d.ts +38 -2
  691. package/dist/runtime/router/types.d.ts.map +1 -1
  692. package/dist/runtime/router/virtualList.d.ts.map +1 -1
  693. package/dist/runtime/router/virtualList.js +44 -31
  694. package/dist/runtime/router/virtualList.js.map +1 -1
  695. package/dist/runtime/router/wheel.d.ts +15 -0
  696. package/dist/runtime/router/wheel.d.ts.map +1 -0
  697. package/dist/runtime/router/wheel.js +16 -0
  698. package/dist/runtime/router/wheel.js.map +1 -0
  699. package/dist/runtime/router/zones.d.ts.map +1 -1
  700. package/dist/runtime/router/zones.js +70 -3
  701. package/dist/runtime/router/zones.js.map +1 -1
  702. package/dist/runtime/router.d.ts +3 -0
  703. package/dist/runtime/router.d.ts.map +1 -1
  704. package/dist/runtime/router.js +3 -0
  705. package/dist/runtime/router.js.map +1 -1
  706. package/dist/runtime/widgetMeta/collector.d.ts +77 -0
  707. package/dist/runtime/widgetMeta/collector.d.ts.map +1 -0
  708. package/dist/runtime/widgetMeta/collector.js +293 -0
  709. package/dist/runtime/widgetMeta/collector.js.map +1 -0
  710. package/dist/runtime/widgetMeta/focusContainers.d.ts +44 -0
  711. package/dist/runtime/widgetMeta/focusContainers.d.ts.map +1 -0
  712. package/dist/runtime/widgetMeta/focusContainers.js +190 -0
  713. package/dist/runtime/widgetMeta/focusContainers.js.map +1 -0
  714. package/dist/runtime/widgetMeta/focusInfo.d.ts +19 -0
  715. package/dist/runtime/widgetMeta/focusInfo.d.ts.map +1 -0
  716. package/dist/runtime/widgetMeta/focusInfo.js +172 -0
  717. package/dist/runtime/widgetMeta/focusInfo.js.map +1 -0
  718. package/dist/runtime/widgetMeta/helpers.d.ts +47 -0
  719. package/dist/runtime/widgetMeta/helpers.d.ts.map +1 -0
  720. package/dist/runtime/widgetMeta/helpers.js +182 -0
  721. package/dist/runtime/widgetMeta/helpers.js.map +1 -0
  722. package/dist/runtime/widgetMeta.d.ts +12 -155
  723. package/dist/runtime/widgetMeta.d.ts.map +1 -1
  724. package/dist/runtime/widgetMeta.js +6 -614
  725. package/dist/runtime/widgetMeta.js.map +1 -1
  726. package/dist/terminalCaps.d.ts +8 -2
  727. package/dist/terminalCaps.d.ts.map +1 -1
  728. package/dist/terminalCaps.js +5 -3
  729. package/dist/terminalCaps.js.map +1 -1
  730. package/dist/terminalProfile.d.ts +16 -0
  731. package/dist/terminalProfile.d.ts.map +1 -0
  732. package/dist/terminalProfile.js +36 -0
  733. package/dist/terminalProfile.js.map +1 -0
  734. package/dist/testing/assertions.d.ts +7 -0
  735. package/dist/testing/assertions.d.ts.map +1 -0
  736. package/dist/testing/assertions.js +187 -0
  737. package/dist/testing/assertions.js.map +1 -0
  738. package/dist/testing/events.d.ts +168 -0
  739. package/dist/testing/events.d.ts.map +1 -0
  740. package/dist/testing/events.js +446 -0
  741. package/dist/testing/events.js.map +1 -0
  742. package/dist/testing/index.d.ts +16 -0
  743. package/dist/testing/index.d.ts.map +1 -0
  744. package/dist/testing/index.js +14 -0
  745. package/dist/testing/index.js.map +1 -0
  746. package/dist/testing/referenceScenarios/inputIncompleteEscapeRecovery.d.ts +8 -0
  747. package/dist/testing/referenceScenarios/inputIncompleteEscapeRecovery.d.ts.map +1 -0
  748. package/dist/testing/referenceScenarios/inputIncompleteEscapeRecovery.js +79 -0
  749. package/dist/testing/referenceScenarios/inputIncompleteEscapeRecovery.js.map +1 -0
  750. package/dist/testing/referenceScenarios/inputIncompletePasteRecovery.d.ts +9 -0
  751. package/dist/testing/referenceScenarios/inputIncompletePasteRecovery.d.ts.map +1 -0
  752. package/dist/testing/referenceScenarios/inputIncompletePasteRecovery.js +96 -0
  753. package/dist/testing/referenceScenarios/inputIncompletePasteRecovery.js.map +1 -0
  754. package/dist/testing/referenceScenarios/inputModalBlocking.d.ts +9 -0
  755. package/dist/testing/referenceScenarios/inputModalBlocking.d.ts.map +1 -0
  756. package/dist/testing/referenceScenarios/inputModalBlocking.js +172 -0
  757. package/dist/testing/referenceScenarios/inputModalBlocking.js.map +1 -0
  758. package/dist/testing/referenceScenarios/inputMouseCapabilityFallback.d.ts +9 -0
  759. package/dist/testing/referenceScenarios/inputMouseCapabilityFallback.d.ts.map +1 -0
  760. package/dist/testing/referenceScenarios/inputMouseCapabilityFallback.js +102 -0
  761. package/dist/testing/referenceScenarios/inputMouseCapabilityFallback.js.map +1 -0
  762. package/dist/testing/referenceScenarios/selectKeyboardCycler.d.ts +8 -0
  763. package/dist/testing/referenceScenarios/selectKeyboardCycler.d.ts.map +1 -0
  764. package/dist/testing/referenceScenarios/selectKeyboardCycler.js +115 -0
  765. package/dist/testing/referenceScenarios/selectKeyboardCycler.js.map +1 -0
  766. package/dist/testing/referenceScenarios/textareaMultilineEditing.d.ts +8 -0
  767. package/dist/testing/referenceScenarios/textareaMultilineEditing.d.ts.map +1 -0
  768. package/dist/testing/referenceScenarios/textareaMultilineEditing.js +100 -0
  769. package/dist/testing/referenceScenarios/textareaMultilineEditing.js.map +1 -0
  770. package/dist/testing/referenceScenarios/virtualListResizeStorm.d.ts +8 -0
  771. package/dist/testing/referenceScenarios/virtualListResizeStorm.d.ts.map +1 -0
  772. package/dist/testing/referenceScenarios/virtualListResizeStorm.js +88 -0
  773. package/dist/testing/referenceScenarios/virtualListResizeStorm.js.map +1 -0
  774. package/dist/testing/renderer.d.ts +128 -0
  775. package/dist/testing/renderer.d.ts.map +1 -0
  776. package/dist/testing/renderer.js +455 -0
  777. package/dist/testing/renderer.js.map +1 -0
  778. package/dist/testing/replayScenario.d.ts +6 -0
  779. package/dist/testing/replayScenario.d.ts.map +1 -0
  780. package/dist/testing/replayScenario.js +399 -0
  781. package/dist/testing/replayScenario.js.map +1 -0
  782. package/dist/testing/scenario.d.ts +145 -0
  783. package/dist/testing/scenario.d.ts.map +1 -0
  784. package/dist/testing/scenario.js +57 -0
  785. package/dist/testing/scenario.js.map +1 -0
  786. package/dist/testing/semanticScenario.d.ts +6 -0
  787. package/dist/testing/semanticScenario.d.ts.map +1 -0
  788. package/dist/testing/semanticScenario.js +347 -0
  789. package/dist/testing/semanticScenario.js.map +1 -0
  790. package/dist/testing/snapshot.d.ts +73 -0
  791. package/dist/testing/snapshot.d.ts.map +1 -0
  792. package/dist/testing/snapshot.js +138 -0
  793. package/dist/testing/snapshot.js.map +1 -0
  794. package/dist/theme/blend.d.ts +6 -0
  795. package/dist/theme/blend.d.ts.map +1 -0
  796. package/dist/theme/blend.js +12 -0
  797. package/dist/theme/blend.js.map +1 -0
  798. package/dist/theme/contrast.d.ts +13 -0
  799. package/dist/theme/contrast.d.ts.map +1 -0
  800. package/dist/theme/contrast.js +31 -0
  801. package/dist/theme/contrast.js.map +1 -0
  802. package/dist/theme/defaultTheme.d.ts +7 -6
  803. package/dist/theme/defaultTheme.d.ts.map +1 -1
  804. package/dist/theme/defaultTheme.js +4 -19
  805. package/dist/theme/defaultTheme.js.map +1 -1
  806. package/dist/theme/extend.d.ts +15 -0
  807. package/dist/theme/extend.d.ts.map +1 -0
  808. package/dist/theme/extend.js +81 -0
  809. package/dist/theme/extend.js.map +1 -0
  810. package/dist/theme/extract.d.ts +4 -0
  811. package/dist/theme/extract.d.ts.map +1 -0
  812. package/dist/theme/extract.js +4 -0
  813. package/dist/theme/extract.js.map +1 -0
  814. package/dist/theme/heatmapPalettes.d.ts +9 -0
  815. package/dist/theme/heatmapPalettes.d.ts.map +1 -0
  816. package/dist/theme/heatmapPalettes.js +43 -0
  817. package/dist/theme/heatmapPalettes.js.map +1 -0
  818. package/dist/theme/index.d.ts +4 -6
  819. package/dist/theme/index.d.ts.map +1 -1
  820. package/dist/theme/index.js +4 -10
  821. package/dist/theme/index.js.map +1 -1
  822. package/dist/theme/interop.d.ts +3 -10
  823. package/dist/theme/interop.d.ts.map +1 -1
  824. package/dist/theme/interop.js +19 -56
  825. package/dist/theme/interop.js.map +1 -1
  826. package/dist/theme/presets.d.ts +18 -0
  827. package/dist/theme/presets.d.ts.map +1 -1
  828. package/dist/theme/presets.js +37 -1
  829. package/dist/theme/presets.js.map +1 -1
  830. package/dist/theme/resolve.d.ts +8 -56
  831. package/dist/theme/resolve.d.ts.map +1 -1
  832. package/dist/theme/resolve.js +193 -136
  833. package/dist/theme/resolve.js.map +1 -1
  834. package/dist/theme/theme.d.ts +9 -28
  835. package/dist/theme/theme.d.ts.map +1 -1
  836. package/dist/theme/theme.js +220 -11
  837. package/dist/theme/theme.js.map +1 -1
  838. package/dist/theme/tokens.d.ts +152 -29
  839. package/dist/theme/tokens.d.ts.map +1 -1
  840. package/dist/theme/tokens.js +83 -4
  841. package/dist/theme/tokens.js.map +1 -1
  842. package/dist/theme/types.d.ts +24 -0
  843. package/dist/theme/types.d.ts.map +1 -0
  844. package/dist/theme/types.js +2 -0
  845. package/dist/theme/types.js.map +1 -0
  846. package/dist/theme/validate.d.ts +15 -0
  847. package/dist/theme/validate.d.ts.map +1 -0
  848. package/dist/theme/validate.js +165 -0
  849. package/dist/theme/validate.js.map +1 -0
  850. package/dist/ui/capabilities.d.ts +70 -0
  851. package/dist/ui/capabilities.d.ts.map +1 -0
  852. package/dist/ui/capabilities.js +94 -0
  853. package/dist/ui/capabilities.js.map +1 -0
  854. package/dist/ui/designTokens.d.ts +114 -0
  855. package/dist/ui/designTokens.d.ts.map +1 -0
  856. package/dist/ui/designTokens.js +144 -0
  857. package/dist/ui/designTokens.js.map +1 -0
  858. package/dist/ui/index.d.ts +11 -0
  859. package/dist/ui/index.d.ts.map +1 -0
  860. package/dist/ui/index.js +14 -0
  861. package/dist/ui/index.js.map +1 -0
  862. package/dist/ui/recipes.d.ts +403 -0
  863. package/dist/ui/recipes.d.ts.map +1 -0
  864. package/dist/ui/recipes.js +960 -0
  865. package/dist/ui/recipes.js.map +1 -0
  866. package/dist/ui.d.ts +4 -0
  867. package/dist/ui.d.ts.map +1 -0
  868. package/dist/ui.js +3 -0
  869. package/dist/ui.js.map +1 -0
  870. package/dist/widgets/accordion.d.ts +23 -0
  871. package/dist/widgets/accordion.d.ts.map +1 -0
  872. package/dist/widgets/accordion.js +134 -0
  873. package/dist/widgets/accordion.js.map +1 -0
  874. package/dist/widgets/breadcrumb.d.ts +27 -0
  875. package/dist/widgets/breadcrumb.d.ts.map +1 -0
  876. package/dist/widgets/breadcrumb.js +110 -0
  877. package/dist/widgets/breadcrumb.js.map +1 -0
  878. package/dist/widgets/canvas.d.ts +26 -0
  879. package/dist/widgets/canvas.d.ts.map +1 -0
  880. package/dist/widgets/canvas.js +391 -0
  881. package/dist/widgets/canvas.js.map +1 -0
  882. package/dist/widgets/codeEditor.d.ts.map +1 -1
  883. package/dist/widgets/codeEditor.js +47 -36
  884. package/dist/widgets/codeEditor.js.map +1 -1
  885. package/dist/widgets/codeEditorSyntax.d.ts +11 -0
  886. package/dist/widgets/codeEditorSyntax.d.ts.map +1 -0
  887. package/dist/widgets/codeEditorSyntax.js +960 -0
  888. package/dist/widgets/codeEditorSyntax.js.map +1 -0
  889. package/dist/widgets/collections.d.ts +6 -0
  890. package/dist/widgets/collections.d.ts.map +1 -1
  891. package/dist/widgets/collections.js +38 -35
  892. package/dist/widgets/collections.js.map +1 -1
  893. package/dist/widgets/commandPalette.d.ts +6 -26
  894. package/dist/widgets/commandPalette.d.ts.map +1 -1
  895. package/dist/widgets/commandPalette.js +35 -21
  896. package/dist/widgets/commandPalette.js.map +1 -1
  897. package/dist/widgets/composition.d.ts +40 -1
  898. package/dist/widgets/composition.d.ts.map +1 -1
  899. package/dist/widgets/composition.js +14 -3
  900. package/dist/widgets/composition.js.map +1 -1
  901. package/dist/widgets/dialogs/confirm.d.ts.map +1 -1
  902. package/dist/widgets/dialogs/confirm.js +8 -7
  903. package/dist/widgets/dialogs/confirm.js.map +1 -1
  904. package/dist/widgets/dialogs/dialog.d.ts +7 -0
  905. package/dist/widgets/dialogs/dialog.d.ts.map +1 -0
  906. package/dist/widgets/dialogs/dialog.js +8 -0
  907. package/dist/widgets/dialogs/dialog.js.map +1 -0
  908. package/dist/widgets/dialogs/index.d.ts +2 -1
  909. package/dist/widgets/dialogs/index.d.ts.map +1 -1
  910. package/dist/widgets/dialogs/index.js +1 -0
  911. package/dist/widgets/dialogs/index.js.map +1 -1
  912. package/dist/widgets/dialogs/types.d.ts +1 -0
  913. package/dist/widgets/dialogs/types.d.ts.map +1 -1
  914. package/dist/widgets/diffViewer.d.ts +9 -38
  915. package/dist/widgets/diffViewer.d.ts.map +1 -1
  916. package/dist/widgets/diffViewer.js +11 -9
  917. package/dist/widgets/diffViewer.js.map +1 -1
  918. package/dist/widgets/factories/advanced.d.ts +20 -0
  919. package/dist/widgets/factories/advanced.d.ts.map +1 -0
  920. package/dist/widgets/factories/advanced.js +75 -0
  921. package/dist/widgets/factories/advanced.js.map +1 -0
  922. package/dist/widgets/factories/basic.d.ts +14 -0
  923. package/dist/widgets/factories/basic.d.ts.map +1 -0
  924. package/dist/widgets/factories/basic.js +44 -0
  925. package/dist/widgets/factories/basic.js.map +1 -0
  926. package/dist/widgets/factories/feedback.d.ts +20 -0
  927. package/dist/widgets/factories/feedback.d.ts.map +1 -0
  928. package/dist/widgets/factories/feedback.js +102 -0
  929. package/dist/widgets/factories/feedback.js.map +1 -0
  930. package/dist/widgets/factories/helpers.d.ts +41 -0
  931. package/dist/widgets/factories/helpers.d.ts.map +1 -0
  932. package/dist/widgets/factories/helpers.js +72 -0
  933. package/dist/widgets/factories/helpers.js.map +1 -0
  934. package/dist/widgets/factories/interactive.d.ts +15 -0
  935. package/dist/widgets/factories/interactive.d.ts.map +1 -0
  936. package/dist/widgets/factories/interactive.js +46 -0
  937. package/dist/widgets/factories/interactive.js.map +1 -0
  938. package/dist/widgets/factories/layoutShell.d.ts +22 -0
  939. package/dist/widgets/factories/layoutShell.d.ts.map +1 -0
  940. package/dist/widgets/factories/layoutShell.js +190 -0
  941. package/dist/widgets/factories/layoutShell.js.map +1 -0
  942. package/dist/widgets/factories/media.d.ts +14 -0
  943. package/dist/widgets/factories/media.d.ts.map +1 -0
  944. package/dist/widgets/factories/media.js +25 -0
  945. package/dist/widgets/factories/media.js.map +1 -0
  946. package/dist/widgets/factories/navigation.d.ts +10 -0
  947. package/dist/widgets/factories/navigation.d.ts.map +1 -0
  948. package/dist/widgets/factories/navigation.js +24 -0
  949. package/dist/widgets/factories/navigation.js.map +1 -0
  950. package/dist/widgets/field.d.ts +6 -5
  951. package/dist/widgets/field.d.ts.map +1 -1
  952. package/dist/widgets/field.js +8 -1
  953. package/dist/widgets/field.js.map +1 -1
  954. package/dist/widgets/filePicker.d.ts +5 -0
  955. package/dist/widgets/filePicker.d.ts.map +1 -0
  956. package/dist/widgets/filePicker.js +136 -0
  957. package/dist/widgets/filePicker.js.map +1 -0
  958. package/dist/widgets/heatmap.d.ts +13 -0
  959. package/dist/widgets/heatmap.d.ts.map +1 -0
  960. package/dist/widgets/heatmap.js +105 -0
  961. package/dist/widgets/heatmap.js.map +1 -0
  962. package/dist/widgets/hooks/animation.d.ts +113 -0
  963. package/dist/widgets/hooks/animation.d.ts.map +1 -0
  964. package/dist/widgets/hooks/animation.js +1108 -0
  965. package/dist/widgets/hooks/animation.js.map +1 -0
  966. package/dist/widgets/hooks/data.d.ts +218 -0
  967. package/dist/widgets/hooks/data.d.ts.map +1 -0
  968. package/dist/widgets/hooks/data.js +679 -0
  969. package/dist/widgets/hooks/data.js.map +1 -0
  970. package/dist/widgets/hooks/utility.d.ts +34 -0
  971. package/dist/widgets/hooks/utility.d.ts.map +1 -0
  972. package/dist/widgets/hooks/utility.js +36 -0
  973. package/dist/widgets/hooks/utility.js.map +1 -0
  974. package/dist/widgets/image.d.ts +25 -0
  975. package/dist/widgets/image.d.ts.map +1 -0
  976. package/dist/widgets/image.js +112 -0
  977. package/dist/widgets/image.js.map +1 -0
  978. package/dist/widgets/inspectorOverlay.d.ts +33 -0
  979. package/dist/widgets/inspectorOverlay.d.ts.map +1 -0
  980. package/dist/widgets/inspectorOverlay.js +147 -0
  981. package/dist/widgets/inspectorOverlay.js.map +1 -0
  982. package/dist/widgets/lineChart.d.ts +13 -0
  983. package/dist/widgets/lineChart.d.ts.map +1 -0
  984. package/dist/widgets/lineChart.js +73 -0
  985. package/dist/widgets/lineChart.js.map +1 -0
  986. package/dist/widgets/link.d.ts +4 -0
  987. package/dist/widgets/link.d.ts.map +1 -0
  988. package/dist/widgets/link.js +7 -0
  989. package/dist/widgets/link.js.map +1 -0
  990. package/dist/widgets/logsConsole.d.ts +2 -6
  991. package/dist/widgets/logsConsole.d.ts.map +1 -1
  992. package/dist/widgets/logsConsole.js +8 -6
  993. package/dist/widgets/logsConsole.js.map +1 -1
  994. package/dist/widgets/pagination.d.ts +35 -0
  995. package/dist/widgets/pagination.d.ts.map +1 -0
  996. package/dist/widgets/pagination.js +250 -0
  997. package/dist/widgets/pagination.js.map +1 -0
  998. package/dist/widgets/protocol.d.ts +39 -0
  999. package/dist/widgets/protocol.d.ts.map +1 -0
  1000. package/dist/widgets/protocol.js +160 -0
  1001. package/dist/widgets/protocol.js.map +1 -0
  1002. package/dist/widgets/scatter.d.ts +18 -0
  1003. package/dist/widgets/scatter.d.ts.map +1 -0
  1004. package/dist/widgets/scatter.js +75 -0
  1005. package/dist/widgets/scatter.js.map +1 -0
  1006. package/dist/widgets/select.d.ts.map +1 -1
  1007. package/dist/widgets/select.js +7 -3
  1008. package/dist/widgets/select.js.map +1 -1
  1009. package/dist/widgets/slider.d.ts +40 -0
  1010. package/dist/widgets/slider.d.ts.map +1 -0
  1011. package/dist/widgets/slider.js +111 -0
  1012. package/dist/widgets/slider.js.map +1 -0
  1013. package/dist/widgets/splitPane.d.ts +1 -5
  1014. package/dist/widgets/splitPane.d.ts.map +1 -1
  1015. package/dist/widgets/splitPane.js +28 -10
  1016. package/dist/widgets/splitPane.js.map +1 -1
  1017. package/dist/widgets/style.d.ts +20 -23
  1018. package/dist/widgets/style.d.ts.map +1 -1
  1019. package/dist/widgets/style.js +34 -10
  1020. package/dist/widgets/style.js.map +1 -1
  1021. package/dist/widgets/styleUtils.d.ts +19 -13
  1022. package/dist/widgets/styleUtils.d.ts.map +1 -1
  1023. package/dist/widgets/styleUtils.js +101 -13
  1024. package/dist/widgets/styleUtils.js.map +1 -1
  1025. package/dist/widgets/table.d.ts.map +1 -1
  1026. package/dist/widgets/table.js +43 -1
  1027. package/dist/widgets/table.js.map +1 -1
  1028. package/dist/widgets/tabs.d.ts +28 -0
  1029. package/dist/widgets/tabs.d.ts.map +1 -0
  1030. package/dist/widgets/tabs.js +146 -0
  1031. package/dist/widgets/tabs.js.map +1 -0
  1032. package/dist/widgets/toast.d.ts +2 -6
  1033. package/dist/widgets/toast.d.ts.map +1 -1
  1034. package/dist/widgets/toast.js +7 -5
  1035. package/dist/widgets/toast.js.map +1 -1
  1036. package/dist/widgets/tree.d.ts.map +1 -1
  1037. package/dist/widgets/types/advanced.d.ts +611 -0
  1038. package/dist/widgets/types/advanced.d.ts.map +1 -0
  1039. package/dist/widgets/types/advanced.js +2 -0
  1040. package/dist/widgets/types/advanced.js.map +1 -0
  1041. package/dist/widgets/types/base.d.ts +931 -0
  1042. package/dist/widgets/types/base.d.ts.map +1 -0
  1043. package/dist/widgets/types/base.js +2 -0
  1044. package/dist/widgets/types/base.js.map +1 -0
  1045. package/dist/widgets/types/forms.d.ts +136 -0
  1046. package/dist/widgets/types/forms.d.ts.map +1 -0
  1047. package/dist/widgets/types/forms.js +2 -0
  1048. package/dist/widgets/types/forms.js.map +1 -0
  1049. package/dist/widgets/types/navigation.d.ts +83 -0
  1050. package/dist/widgets/types/navigation.d.ts.map +1 -0
  1051. package/dist/widgets/types/navigation.js +2 -0
  1052. package/dist/widgets/types/navigation.js.map +1 -0
  1053. package/dist/widgets/types/overlaysShell.d.ts +223 -0
  1054. package/dist/widgets/types/overlaysShell.d.ts.map +1 -0
  1055. package/dist/widgets/types/overlaysShell.js +2 -0
  1056. package/dist/widgets/types/overlaysShell.js.map +1 -0
  1057. package/dist/widgets/types/table.d.ts +104 -0
  1058. package/dist/widgets/types/table.d.ts.map +1 -0
  1059. package/dist/widgets/types/table.js +2 -0
  1060. package/dist/widgets/types/table.js.map +1 -0
  1061. package/dist/widgets/types/tree.d.ts +64 -0
  1062. package/dist/widgets/types/tree.d.ts.map +1 -0
  1063. package/dist/widgets/types/tree.js +2 -0
  1064. package/dist/widgets/types/tree.js.map +1 -0
  1065. package/dist/widgets/types.d.ts +77 -1228
  1066. package/dist/widgets/types.d.ts.map +1 -1
  1067. package/dist/widgets/ui.d.ts +62 -702
  1068. package/dist/widgets/ui.d.ts.map +1 -1
  1069. package/dist/widgets/ui.js +62 -826
  1070. package/dist/widgets/ui.js.map +1 -1
  1071. package/dist/widgets/useModalStack.d.ts +21 -0
  1072. package/dist/widgets/useModalStack.d.ts.map +1 -0
  1073. package/dist/widgets/useModalStack.js +107 -0
  1074. package/dist/widgets/useModalStack.js.map +1 -0
  1075. package/dist/widgets/useTable.d.ts +30 -0
  1076. package/dist/widgets/useTable.d.ts.map +1 -0
  1077. package/dist/widgets/useTable.js +184 -0
  1078. package/dist/widgets/useTable.js.map +1 -0
  1079. package/dist/widgets/virtualList.d.ts +11 -4
  1080. package/dist/widgets/virtualList.d.ts.map +1 -1
  1081. package/dist/widgets/virtualList.js +71 -49
  1082. package/dist/widgets/virtualList.js.map +1 -1
  1083. package/package.json +34 -6
  1084. package/dist/app/__tests__/dirtyFlagPlan.test.d.ts +0 -2
  1085. package/dist/app/__tests__/dirtyFlagPlan.test.d.ts.map +0 -1
  1086. package/dist/app/__tests__/dirtyFlagPlan.test.js +0 -207
  1087. package/dist/app/__tests__/dirtyFlagPlan.test.js.map +0 -1
  1088. package/dist/app/__tests__/eventPump.test.d.ts +0 -2
  1089. package/dist/app/__tests__/eventPump.test.d.ts.map +0 -1
  1090. package/dist/app/__tests__/eventPump.test.js +0 -48
  1091. package/dist/app/__tests__/eventPump.test.js.map +0 -1
  1092. package/dist/app/__tests__/fatal.test.d.ts +0 -2
  1093. package/dist/app/__tests__/fatal.test.d.ts.map +0 -1
  1094. package/dist/app/__tests__/fatal.test.js +0 -27
  1095. package/dist/app/__tests__/fatal.test.js.map +0 -1
  1096. package/dist/app/__tests__/fileTreeExplorer.contextMenu.test.d.ts +0 -2
  1097. package/dist/app/__tests__/fileTreeExplorer.contextMenu.test.d.ts.map +0 -1
  1098. package/dist/app/__tests__/fileTreeExplorer.contextMenu.test.js +0 -69
  1099. package/dist/app/__tests__/fileTreeExplorer.contextMenu.test.js.map +0 -1
  1100. package/dist/app/__tests__/frameCoalescing.test.d.ts +0 -2
  1101. package/dist/app/__tests__/frameCoalescing.test.d.ts.map +0 -1
  1102. package/dist/app/__tests__/frameCoalescing.test.js +0 -33
  1103. package/dist/app/__tests__/frameCoalescing.test.js.map +0 -1
  1104. package/dist/app/__tests__/helpers.d.ts +0 -43
  1105. package/dist/app/__tests__/helpers.d.ts.map +0 -1
  1106. package/dist/app/__tests__/helpers.js +0 -111
  1107. package/dist/app/__tests__/helpers.js.map +0 -1
  1108. package/dist/app/__tests__/interactivePriority.test.d.ts +0 -2
  1109. package/dist/app/__tests__/interactivePriority.test.d.ts.map +0 -1
  1110. package/dist/app/__tests__/interactivePriority.test.js +0 -78
  1111. package/dist/app/__tests__/interactivePriority.test.js.map +0 -1
  1112. package/dist/app/__tests__/layerZIndexClamp.test.d.ts +0 -2
  1113. package/dist/app/__tests__/layerZIndexClamp.test.d.ts.map +0 -1
  1114. package/dist/app/__tests__/layerZIndexClamp.test.js +0 -63
  1115. package/dist/app/__tests__/layerZIndexClamp.test.js.map +0 -1
  1116. package/dist/app/__tests__/modes.test.d.ts +0 -2
  1117. package/dist/app/__tests__/modes.test.d.ts.map +0 -1
  1118. package/dist/app/__tests__/modes.test.js +0 -48
  1119. package/dist/app/__tests__/modes.test.js.map +0 -1
  1120. package/dist/app/__tests__/onEventHandlers.test.d.ts +0 -2
  1121. package/dist/app/__tests__/onEventHandlers.test.d.ts.map +0 -1
  1122. package/dist/app/__tests__/onEventHandlers.test.js +0 -41
  1123. package/dist/app/__tests__/onEventHandlers.test.js.map +0 -1
  1124. package/dist/app/__tests__/partialDrawlistEmission.test.d.ts +0 -2
  1125. package/dist/app/__tests__/partialDrawlistEmission.test.d.ts.map +0 -1
  1126. package/dist/app/__tests__/partialDrawlistEmission.test.js +0 -430
  1127. package/dist/app/__tests__/partialDrawlistEmission.test.js.map +0 -1
  1128. package/dist/app/__tests__/rawRender.test.d.ts +0 -2
  1129. package/dist/app/__tests__/rawRender.test.d.ts.map +0 -1
  1130. package/dist/app/__tests__/rawRender.test.js +0 -102
  1131. package/dist/app/__tests__/rawRender.test.js.map +0 -1
  1132. package/dist/app/__tests__/stateMachine.test.d.ts +0 -2
  1133. package/dist/app/__tests__/stateMachine.test.d.ts.map +0 -1
  1134. package/dist/app/__tests__/stateMachine.test.js +0 -22
  1135. package/dist/app/__tests__/stateMachine.test.js.map +0 -1
  1136. package/dist/app/__tests__/stop_during_frame_rejection.test.d.ts +0 -2
  1137. package/dist/app/__tests__/stop_during_frame_rejection.test.d.ts.map +0 -1
  1138. package/dist/app/__tests__/stop_during_frame_rejection.test.js +0 -54
  1139. package/dist/app/__tests__/stop_during_frame_rejection.test.js.map +0 -1
  1140. package/dist/app/__tests__/stubBackend.d.ts +0 -23
  1141. package/dist/app/__tests__/stubBackend.d.ts.map +0 -1
  1142. package/dist/app/__tests__/stubBackend.js +0 -76
  1143. package/dist/app/__tests__/stubBackend.js.map +0 -1
  1144. package/dist/app/__tests__/syncFrameAckFastPath.test.d.ts +0 -2
  1145. package/dist/app/__tests__/syncFrameAckFastPath.test.d.ts.map +0 -1
  1146. package/dist/app/__tests__/syncFrameAckFastPath.test.js +0 -47
  1147. package/dist/app/__tests__/syncFrameAckFastPath.test.js.map +0 -1
  1148. package/dist/app/__tests__/table.interactions.test.d.ts +0 -2
  1149. package/dist/app/__tests__/table.interactions.test.d.ts.map +0 -1
  1150. package/dist/app/__tests__/table.interactions.test.js +0 -179
  1151. package/dist/app/__tests__/table.interactions.test.js.map +0 -1
  1152. package/dist/app/__tests__/turnScheduler.test.d.ts +0 -2
  1153. package/dist/app/__tests__/turnScheduler.test.d.ts.map +0 -1
  1154. package/dist/app/__tests__/turnScheduler.test.js +0 -20
  1155. package/dist/app/__tests__/turnScheduler.test.js.map +0 -1
  1156. package/dist/app/__tests__/updates.test.d.ts +0 -2
  1157. package/dist/app/__tests__/updates.test.d.ts.map +0 -1
  1158. package/dist/app/__tests__/updates.test.js +0 -81
  1159. package/dist/app/__tests__/updates.test.js.map +0 -1
  1160. package/dist/app/__tests__/widgetRenderer.integration.test.d.ts +0 -2
  1161. package/dist/app/__tests__/widgetRenderer.integration.test.d.ts.map +0 -1
  1162. package/dist/app/__tests__/widgetRenderer.integration.test.js +0 -615
  1163. package/dist/app/__tests__/widgetRenderer.integration.test.js.map +0 -1
  1164. package/dist/binary/__tests__/reader.test.d.ts +0 -2
  1165. package/dist/binary/__tests__/reader.test.d.ts.map +0 -1
  1166. package/dist/binary/__tests__/reader.test.js +0 -35
  1167. package/dist/binary/__tests__/reader.test.js.map +0 -1
  1168. package/dist/binary/__tests__/writer.test.d.ts +0 -2
  1169. package/dist/binary/__tests__/writer.test.d.ts.map +0 -1
  1170. package/dist/binary/__tests__/writer.test.js +0 -36
  1171. package/dist/binary/__tests__/writer.test.js.map +0 -1
  1172. package/dist/debug/__tests__/eventTrace.test.d.ts +0 -7
  1173. package/dist/debug/__tests__/eventTrace.test.d.ts.map +0 -1
  1174. package/dist/debug/__tests__/eventTrace.test.js +0 -59
  1175. package/dist/debug/__tests__/eventTrace.test.js.map +0 -1
  1176. package/dist/debug/__tests__/frameInspector.test.d.ts +0 -8
  1177. package/dist/debug/__tests__/frameInspector.test.d.ts.map +0 -1
  1178. package/dist/debug/__tests__/frameInspector.test.js +0 -121
  1179. package/dist/debug/__tests__/frameInspector.test.js.map +0 -1
  1180. package/dist/debug/__tests__/parsers.test.d.ts +0 -8
  1181. package/dist/debug/__tests__/parsers.test.d.ts.map +0 -1
  1182. package/dist/debug/__tests__/parsers.test.js +0 -265
  1183. package/dist/debug/__tests__/parsers.test.js.map +0 -1
  1184. package/dist/debug/__tests__/stateTimeline.test.d.ts +0 -7
  1185. package/dist/debug/__tests__/stateTimeline.test.d.ts.map +0 -1
  1186. package/dist/debug/__tests__/stateTimeline.test.js +0 -55
  1187. package/dist/debug/__tests__/stateTimeline.test.js.map +0 -1
  1188. package/dist/debug/__tests__/uiDebug.test.d.ts +0 -2
  1189. package/dist/debug/__tests__/uiDebug.test.d.ts.map +0 -1
  1190. package/dist/debug/__tests__/uiDebug.test.js +0 -18
  1191. package/dist/debug/__tests__/uiDebug.test.js.map +0 -1
  1192. package/dist/drawlist/__tests__/builder_v1_golden.test.d.ts +0 -2
  1193. package/dist/drawlist/__tests__/builder_v1_golden.test.d.ts.map +0 -1
  1194. package/dist/drawlist/__tests__/builder_v1_golden.test.js +0 -132
  1195. package/dist/drawlist/__tests__/builder_v1_golden.test.js.map +0 -1
  1196. package/dist/drawlist/__tests__/builder_v1_text_run.test.d.ts +0 -2
  1197. package/dist/drawlist/__tests__/builder_v1_text_run.test.d.ts.map +0 -1
  1198. package/dist/drawlist/__tests__/builder_v1_text_run.test.js +0 -93
  1199. package/dist/drawlist/__tests__/builder_v1_text_run.test.js.map +0 -1
  1200. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.d.ts +0 -2
  1201. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.d.ts.map +0 -1
  1202. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.js +0 -116
  1203. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.js.map +0 -1
  1204. package/dist/drawlist/__tests__/builder_v2_cursor.test.d.ts +0 -12
  1205. package/dist/drawlist/__tests__/builder_v2_cursor.test.d.ts.map +0 -1
  1206. package/dist/drawlist/__tests__/builder_v2_cursor.test.js +0 -201
  1207. package/dist/drawlist/__tests__/builder_v2_cursor.test.js.map +0 -1
  1208. package/dist/drawlist/builder_v1.d.ts +0 -69
  1209. package/dist/drawlist/builder_v1.d.ts.map +0 -1
  1210. package/dist/drawlist/builder_v1.js +0 -984
  1211. package/dist/drawlist/builder_v1.js.map +0 -1
  1212. package/dist/drawlist/builder_v2.d.ts +0 -57
  1213. package/dist/drawlist/builder_v2.d.ts.map +0 -1
  1214. package/dist/drawlist/builder_v2.js +0 -953
  1215. package/dist/drawlist/builder_v2.js.map +0 -1
  1216. package/dist/forms/__tests__/useForm.test.d.ts +0 -7
  1217. package/dist/forms/__tests__/useForm.test.d.ts.map +0 -1
  1218. package/dist/forms/__tests__/useForm.test.js +0 -371
  1219. package/dist/forms/__tests__/useForm.test.js.map +0 -1
  1220. package/dist/keybindings/__tests__/chordMatcher.test.d.ts +0 -2
  1221. package/dist/keybindings/__tests__/chordMatcher.test.d.ts.map +0 -1
  1222. package/dist/keybindings/__tests__/chordMatcher.test.js +0 -238
  1223. package/dist/keybindings/__tests__/chordMatcher.test.js.map +0 -1
  1224. package/dist/keybindings/__tests__/manager.test.d.ts +0 -2
  1225. package/dist/keybindings/__tests__/manager.test.d.ts.map +0 -1
  1226. package/dist/keybindings/__tests__/manager.test.js +0 -377
  1227. package/dist/keybindings/__tests__/manager.test.js.map +0 -1
  1228. package/dist/keybindings/__tests__/parser.test.d.ts +0 -2
  1229. package/dist/keybindings/__tests__/parser.test.d.ts.map +0 -1
  1230. package/dist/keybindings/__tests__/parser.test.js +0 -386
  1231. package/dist/keybindings/__tests__/parser.test.js.map +0 -1
  1232. package/dist/layout/__tests__/constraints.golden.test.d.ts +0 -2
  1233. package/dist/layout/__tests__/constraints.golden.test.d.ts.map +0 -1
  1234. package/dist/layout/__tests__/constraints.golden.test.js +0 -86
  1235. package/dist/layout/__tests__/constraints.golden.test.js.map +0 -1
  1236. package/dist/layout/__tests__/hitTest.golden.test.d.ts +0 -2
  1237. package/dist/layout/__tests__/hitTest.golden.test.d.ts.map +0 -1
  1238. package/dist/layout/__tests__/hitTest.golden.test.js +0 -74
  1239. package/dist/layout/__tests__/hitTest.golden.test.js.map +0 -1
  1240. package/dist/layout/__tests__/layout.edgecases.test.d.ts +0 -2
  1241. package/dist/layout/__tests__/layout.edgecases.test.d.ts.map +0 -1
  1242. package/dist/layout/__tests__/layout.edgecases.test.js +0 -189
  1243. package/dist/layout/__tests__/layout.edgecases.test.js.map +0 -1
  1244. package/dist/layout/__tests__/layout.golden.test.d.ts +0 -2
  1245. package/dist/layout/__tests__/layout.golden.test.d.ts.map +0 -1
  1246. package/dist/layout/__tests__/layout.golden.test.js +0 -69
  1247. package/dist/layout/__tests__/layout.golden.test.js.map +0 -1
  1248. package/dist/layout/__tests__/layout.perf.test.d.ts +0 -8
  1249. package/dist/layout/__tests__/layout.perf.test.d.ts.map +0 -1
  1250. package/dist/layout/__tests__/layout.perf.test.js +0 -179
  1251. package/dist/layout/__tests__/layout.perf.test.js.map +0 -1
  1252. package/dist/layout/__tests__/measure.validation.test.d.ts +0 -2
  1253. package/dist/layout/__tests__/measure.validation.test.d.ts.map +0 -1
  1254. package/dist/layout/__tests__/measure.validation.test.js +0 -16
  1255. package/dist/layout/__tests__/measure.validation.test.js.map +0 -1
  1256. package/dist/layout/__tests__/panelGroupSizing.test.d.ts +0 -2
  1257. package/dist/layout/__tests__/panelGroupSizing.test.d.ts.map +0 -1
  1258. package/dist/layout/__tests__/panelGroupSizing.test.js +0 -118
  1259. package/dist/layout/__tests__/panelGroupSizing.test.js.map +0 -1
  1260. package/dist/layout/__tests__/spacing.test.d.ts +0 -2
  1261. package/dist/layout/__tests__/spacing.test.d.ts.map +0 -1
  1262. package/dist/layout/__tests__/spacing.test.js +0 -39
  1263. package/dist/layout/__tests__/spacing.test.js.map +0 -1
  1264. package/dist/layout/__tests__/splitPaneCollapse.test.d.ts +0 -2
  1265. package/dist/layout/__tests__/splitPaneCollapse.test.d.ts.map +0 -1
  1266. package/dist/layout/__tests__/splitPaneCollapse.test.js +0 -91
  1267. package/dist/layout/__tests__/splitPaneCollapse.test.js.map +0 -1
  1268. package/dist/layout/__tests__/sweep.robustness.test.d.ts +0 -11
  1269. package/dist/layout/__tests__/sweep.robustness.test.d.ts.map +0 -1
  1270. package/dist/layout/__tests__/sweep.robustness.test.js +0 -491
  1271. package/dist/layout/__tests__/sweep.robustness.test.js.map +0 -1
  1272. package/dist/layout/__tests__/textMeasure.golden.test.d.ts +0 -2
  1273. package/dist/layout/__tests__/textMeasure.golden.test.d.ts.map +0 -1
  1274. package/dist/layout/__tests__/textMeasure.golden.test.js +0 -32
  1275. package/dist/layout/__tests__/textMeasure.golden.test.js.map +0 -1
  1276. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.d.ts +0 -2
  1277. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.d.ts.map +0 -1
  1278. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.js +0 -35
  1279. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.js.map +0 -1
  1280. package/dist/protocol/__tests__/zrev_v1_invalid.test.d.ts +0 -2
  1281. package/dist/protocol/__tests__/zrev_v1_invalid.test.d.ts.map +0 -1
  1282. package/dist/protocol/__tests__/zrev_v1_invalid.test.js +0 -128
  1283. package/dist/protocol/__tests__/zrev_v1_invalid.test.js.map +0 -1
  1284. package/dist/protocol/__tests__/zrev_v1_valid.test.d.ts +0 -2
  1285. package/dist/protocol/__tests__/zrev_v1_valid.test.d.ts.map +0 -1
  1286. package/dist/protocol/__tests__/zrev_v1_valid.test.js +0 -126
  1287. package/dist/protocol/__tests__/zrev_v1_valid.test.js.map +0 -1
  1288. package/dist/renderer/__tests__/overlay.edge.test.d.ts +0 -2
  1289. package/dist/renderer/__tests__/overlay.edge.test.d.ts.map +0 -1
  1290. package/dist/renderer/__tests__/overlay.edge.test.js +0 -101
  1291. package/dist/renderer/__tests__/overlay.edge.test.js.map +0 -1
  1292. package/dist/renderer/__tests__/render.golden.test.d.ts +0 -2
  1293. package/dist/renderer/__tests__/render.golden.test.d.ts.map +0 -1
  1294. package/dist/renderer/__tests__/render.golden.test.js +0 -359
  1295. package/dist/renderer/__tests__/render.golden.test.js.map +0 -1
  1296. package/dist/renderer/__tests__/spinner.golden.test.d.ts +0 -2
  1297. package/dist/renderer/__tests__/spinner.golden.test.d.ts.map +0 -1
  1298. package/dist/renderer/__tests__/spinner.golden.test.js +0 -67
  1299. package/dist/renderer/__tests__/spinner.golden.test.js.map +0 -1
  1300. package/dist/runtime/__tests__/commit.fastReuse.regression.test.d.ts +0 -2
  1301. package/dist/runtime/__tests__/commit.fastReuse.regression.test.d.ts.map +0 -1
  1302. package/dist/runtime/__tests__/commit.fastReuse.regression.test.js +0 -63
  1303. package/dist/runtime/__tests__/commit.fastReuse.regression.test.js.map +0 -1
  1304. package/dist/runtime/__tests__/duplicateIdFatal.test.d.ts +0 -2
  1305. package/dist/runtime/__tests__/duplicateIdFatal.test.d.ts.map +0 -1
  1306. package/dist/runtime/__tests__/duplicateIdFatal.test.js +0 -45
  1307. package/dist/runtime/__tests__/duplicateIdFatal.test.js.map +0 -1
  1308. package/dist/runtime/__tests__/duplicateKeyFatal.test.d.ts +0 -2
  1309. package/dist/runtime/__tests__/duplicateKeyFatal.test.d.ts.map +0 -1
  1310. package/dist/runtime/__tests__/duplicateKeyFatal.test.js +0 -20
  1311. package/dist/runtime/__tests__/duplicateKeyFatal.test.js.map +0 -1
  1312. package/dist/runtime/__tests__/focusList.golden.test.d.ts +0 -2
  1313. package/dist/runtime/__tests__/focusList.golden.test.d.ts.map +0 -1
  1314. package/dist/runtime/__tests__/focusList.golden.test.js +0 -98
  1315. package/dist/runtime/__tests__/focusList.golden.test.js.map +0 -1
  1316. package/dist/runtime/__tests__/focusZones.golden.test.d.ts +0 -16
  1317. package/dist/runtime/__tests__/focusZones.golden.test.d.ts.map +0 -1
  1318. package/dist/runtime/__tests__/focusZones.golden.test.js +0 -594
  1319. package/dist/runtime/__tests__/focusZones.golden.test.js.map +0 -1
  1320. package/dist/runtime/__tests__/inputRouting.golden.test.d.ts +0 -2
  1321. package/dist/runtime/__tests__/inputRouting.golden.test.d.ts.map +0 -1
  1322. package/dist/runtime/__tests__/inputRouting.golden.test.js +0 -56
  1323. package/dist/runtime/__tests__/inputRouting.golden.test.js.map +0 -1
  1324. package/dist/runtime/__tests__/keyRouting.golden.test.d.ts +0 -2
  1325. package/dist/runtime/__tests__/keyRouting.golden.test.d.ts.map +0 -1
  1326. package/dist/runtime/__tests__/keyRouting.golden.test.js +0 -43
  1327. package/dist/runtime/__tests__/keyRouting.golden.test.js.map +0 -1
  1328. package/dist/runtime/__tests__/localStateStore.test.d.ts +0 -2
  1329. package/dist/runtime/__tests__/localStateStore.test.d.ts.map +0 -1
  1330. package/dist/runtime/__tests__/localStateStore.test.js +0 -25
  1331. package/dist/runtime/__tests__/localStateStore.test.js.map +0 -1
  1332. package/dist/runtime/__tests__/mouseRouting.golden.test.d.ts +0 -2
  1333. package/dist/runtime/__tests__/mouseRouting.golden.test.d.ts.map +0 -1
  1334. package/dist/runtime/__tests__/mouseRouting.golden.test.js +0 -47
  1335. package/dist/runtime/__tests__/mouseRouting.golden.test.js.map +0 -1
  1336. package/dist/runtime/__tests__/reconcile.test.d.ts +0 -2
  1337. package/dist/runtime/__tests__/reconcile.test.d.ts.map +0 -1
  1338. package/dist/runtime/__tests__/reconcile.test.js +0 -46
  1339. package/dist/runtime/__tests__/reconcile.test.js.map +0 -1
  1340. package/dist/runtime/__tests__/widgetMeta.test.d.ts +0 -2
  1341. package/dist/runtime/__tests__/widgetMeta.test.d.ts.map +0 -1
  1342. package/dist/runtime/__tests__/widgetMeta.test.js +0 -212
  1343. package/dist/runtime/__tests__/widgetMeta.test.js.map +0 -1
  1344. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1345. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1346. package/dist/theme/__tests__/theme.test.js +0 -28
  1347. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1348. package/dist/widgets/__tests__/basicWidgets.render.test.d.ts +0 -2
  1349. package/dist/widgets/__tests__/basicWidgets.render.test.d.ts.map +0 -1
  1350. package/dist/widgets/__tests__/basicWidgets.render.test.js +0 -182
  1351. package/dist/widgets/__tests__/basicWidgets.render.test.js.map +0 -1
  1352. package/dist/widgets/__tests__/basicWidgets.test.d.ts +0 -2
  1353. package/dist/widgets/__tests__/basicWidgets.test.d.ts.map +0 -1
  1354. package/dist/widgets/__tests__/basicWidgets.test.js +0 -336
  1355. package/dist/widgets/__tests__/basicWidgets.test.js.map +0 -1
  1356. package/dist/widgets/__tests__/collections.test.d.ts +0 -2
  1357. package/dist/widgets/__tests__/collections.test.d.ts.map +0 -1
  1358. package/dist/widgets/__tests__/collections.test.js +0 -91
  1359. package/dist/widgets/__tests__/collections.test.js.map +0 -1
  1360. package/dist/widgets/__tests__/commandPalette.test.d.ts +0 -2
  1361. package/dist/widgets/__tests__/commandPalette.test.d.ts.map +0 -1
  1362. package/dist/widgets/__tests__/commandPalette.test.js +0 -13
  1363. package/dist/widgets/__tests__/commandPalette.test.js.map +0 -1
  1364. package/dist/widgets/__tests__/composition.test.d.ts +0 -14
  1365. package/dist/widgets/__tests__/composition.test.d.ts.map +0 -1
  1366. package/dist/widgets/__tests__/composition.test.js +0 -458
  1367. package/dist/widgets/__tests__/composition.test.js.map +0 -1
  1368. package/dist/widgets/__tests__/conditionals.test.d.ts +0 -2
  1369. package/dist/widgets/__tests__/conditionals.test.d.ts.map +0 -1
  1370. package/dist/widgets/__tests__/conditionals.test.js +0 -49
  1371. package/dist/widgets/__tests__/conditionals.test.js.map +0 -1
  1372. package/dist/widgets/__tests__/containers.test.d.ts +0 -2
  1373. package/dist/widgets/__tests__/containers.test.d.ts.map +0 -1
  1374. package/dist/widgets/__tests__/containers.test.js +0 -96
  1375. package/dist/widgets/__tests__/containers.test.js.map +0 -1
  1376. package/dist/widgets/__tests__/dataVizWidgets.test.d.ts +0 -2
  1377. package/dist/widgets/__tests__/dataVizWidgets.test.d.ts.map +0 -1
  1378. package/dist/widgets/__tests__/dataVizWidgets.test.js +0 -57
  1379. package/dist/widgets/__tests__/dataVizWidgets.test.js.map +0 -1
  1380. package/dist/widgets/__tests__/dialogs.test.d.ts +0 -2
  1381. package/dist/widgets/__tests__/dialogs.test.d.ts.map +0 -1
  1382. package/dist/widgets/__tests__/dialogs.test.js +0 -29
  1383. package/dist/widgets/__tests__/dialogs.test.js.map +0 -1
  1384. package/dist/widgets/__tests__/editors.test.d.ts +0 -2
  1385. package/dist/widgets/__tests__/editors.test.d.ts.map +0 -1
  1386. package/dist/widgets/__tests__/editors.test.js +0 -116
  1387. package/dist/widgets/__tests__/editors.test.js.map +0 -1
  1388. package/dist/widgets/__tests__/filesWidgets.test.d.ts +0 -2
  1389. package/dist/widgets/__tests__/filesWidgets.test.d.ts.map +0 -1
  1390. package/dist/widgets/__tests__/filesWidgets.test.js +0 -52
  1391. package/dist/widgets/__tests__/filesWidgets.test.js.map +0 -1
  1392. package/dist/widgets/__tests__/formWidgets.test.d.ts +0 -7
  1393. package/dist/widgets/__tests__/formWidgets.test.d.ts.map +0 -1
  1394. package/dist/widgets/__tests__/formWidgets.test.js +0 -241
  1395. package/dist/widgets/__tests__/formWidgets.test.js.map +0 -1
  1396. package/dist/widgets/__tests__/infoWidgets.test.d.ts +0 -2
  1397. package/dist/widgets/__tests__/infoWidgets.test.d.ts.map +0 -1
  1398. package/dist/widgets/__tests__/infoWidgets.test.js +0 -43
  1399. package/dist/widgets/__tests__/infoWidgets.test.js.map +0 -1
  1400. package/dist/widgets/__tests__/layers.golden.test.d.ts +0 -14
  1401. package/dist/widgets/__tests__/layers.golden.test.d.ts.map +0 -1
  1402. package/dist/widgets/__tests__/layers.golden.test.js +0 -728
  1403. package/dist/widgets/__tests__/layers.golden.test.js.map +0 -1
  1404. package/dist/widgets/__tests__/overlays.test.d.ts +0 -2
  1405. package/dist/widgets/__tests__/overlays.test.d.ts.map +0 -1
  1406. package/dist/widgets/__tests__/overlays.test.js +0 -99
  1407. package/dist/widgets/__tests__/overlays.test.js.map +0 -1
  1408. package/dist/widgets/__tests__/renderer.regressions.test.d.ts +0 -2
  1409. package/dist/widgets/__tests__/renderer.regressions.test.d.ts.map +0 -1
  1410. package/dist/widgets/__tests__/renderer.regressions.test.js +0 -132
  1411. package/dist/widgets/__tests__/renderer.regressions.test.js.map +0 -1
  1412. package/dist/widgets/__tests__/styleUtils.test.d.ts +0 -2
  1413. package/dist/widgets/__tests__/styleUtils.test.d.ts.map +0 -1
  1414. package/dist/widgets/__tests__/styleUtils.test.js +0 -22
  1415. package/dist/widgets/__tests__/styleUtils.test.js.map +0 -1
  1416. package/dist/widgets/__tests__/styled.test.d.ts +0 -2
  1417. package/dist/widgets/__tests__/styled.test.d.ts.map +0 -1
  1418. package/dist/widgets/__tests__/styled.test.js +0 -23
  1419. package/dist/widgets/__tests__/styled.test.js.map +0 -1
  1420. package/dist/widgets/__tests__/table.golden.test.d.ts +0 -10
  1421. package/dist/widgets/__tests__/table.golden.test.d.ts.map +0 -1
  1422. package/dist/widgets/__tests__/table.golden.test.js +0 -368
  1423. package/dist/widgets/__tests__/table.golden.test.js.map +0 -1
  1424. package/dist/widgets/__tests__/tree.golden.test.d.ts +0 -10
  1425. package/dist/widgets/__tests__/tree.golden.test.d.ts.map +0 -1
  1426. package/dist/widgets/__tests__/tree.golden.test.js +0 -501
  1427. package/dist/widgets/__tests__/tree.golden.test.js.map +0 -1
  1428. package/dist/widgets/__tests__/virtualList.golden.test.d.ts +0 -10
  1429. package/dist/widgets/__tests__/virtualList.golden.test.d.ts.map +0 -1
  1430. package/dist/widgets/__tests__/virtualList.golden.test.js +0 -349
  1431. package/dist/widgets/__tests__/virtualList.golden.test.js.map +0 -1
  1432. package/dist/widgets/__tests__/widgetRenderSmoke.test.d.ts +0 -2
  1433. package/dist/widgets/__tests__/widgetRenderSmoke.test.d.ts.map +0 -1
  1434. package/dist/widgets/__tests__/widgetRenderSmoke.test.js +0 -311
  1435. package/dist/widgets/__tests__/widgetRenderSmoke.test.js.map +0 -1
@@ -1,1192 +1,95 @@
1
- import { getIconChar, getSpinnerFrame } from "../../../icons/index.js";
2
- import { measureTextCells, truncateMiddle, truncateWithEllipsis, } from "../../../layout/textMeasure.js";
3
- import { resolveColor } from "../../../theme/theme.js";
4
- import { asTextStyle, getButtonLabelStyle } from "../../styles.js";
5
- import { renderBoxBorder } from "../boxBorder.js";
1
+ import { kbdRecipe } from "../../../ui/recipes.js";
6
2
  import { isVisibleRect } from "../indices.js";
7
3
  import { mergeTextStyle, shouldFillForStyleOverride } from "../textStyle.js";
8
- const REPEAT_CACHE_MAX_ENTRIES = 2048;
9
- const repeatCache = new Map();
10
- function repeatCached(glyph, count) {
11
- if (count <= 0)
12
- return "";
13
- if (count === 1)
14
- return glyph;
15
- if (count > 256)
16
- return glyph.repeat(count);
17
- const key = `${glyph}\u0000${String(count)}`;
18
- const cached = repeatCache.get(key);
19
- if (cached !== undefined)
20
- return cached;
21
- const value = glyph.repeat(count);
22
- if (repeatCache.size >= REPEAT_CACHE_MAX_ENTRIES) {
23
- const oldest = repeatCache.keys().next();
24
- if (!oldest.done)
25
- repeatCache.delete(oldest.value);
26
- }
27
- repeatCache.set(key, value);
28
- return value;
29
- }
30
- const SPARKLINE_LEVELS = Object.freeze(["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]);
31
- function isRecord(v) {
32
- return typeof v === "object" && v !== null;
33
- }
34
- /** Check if a string contains only printable ASCII (0x20..0x7E). */
35
- function isAsciiText(text) {
36
- for (let i = 0; i < text.length; i++) {
37
- const c = text.charCodeAt(i);
38
- if (c < 0x20 || c > 0x7e)
39
- return false;
40
- }
41
- return true;
42
- }
43
- function clamp01(value) {
44
- if (!Number.isFinite(value))
45
- return 0;
46
- if (value <= 0)
47
- return 0;
48
- if (value >= 1)
49
- return 1;
50
- return value;
51
- }
52
- function readNumber(v) {
53
- if (typeof v !== "number" || !Number.isFinite(v))
54
- return undefined;
55
- return v;
56
- }
57
- function readNonNegativeInt(v) {
58
- const n = readNumber(v);
59
- if (n === undefined || n < 0)
60
- return undefined;
61
- return Math.trunc(n);
62
- }
63
- function readPositiveInt(v) {
64
- const n = readNonNegativeInt(v);
65
- if (n === undefined || n <= 0)
66
- return undefined;
67
- return n;
68
- }
69
- function readString(v) {
70
- return typeof v === "string" ? v : undefined;
71
- }
72
- function readTextOverflow(v) {
73
- switch (v) {
74
- case "ellipsis":
75
- case "middle":
76
- return v;
77
- default:
78
- return "clip";
79
- }
80
- }
81
- function textVariantToStyle(variant) {
82
- switch (variant) {
83
- case "heading":
84
- case "label":
85
- return { bold: true };
86
- case "caption":
87
- return { dim: true };
88
- case "code":
89
- return { inverse: true };
90
- default:
91
- return undefined;
92
- }
93
- }
94
- function truncateToWidth(text, width) {
95
- if (width <= 0 || text.length === 0)
96
- return "";
97
- return measureTextCells(text) > width ? truncateWithEllipsis(text, width) : text;
98
- }
99
- function clipSegmentsToWidth(segments, maxWidth) {
100
- if (maxWidth <= 0 || segments.length === 0)
101
- return [];
102
- let remaining = maxWidth;
103
- const out = [];
104
- for (const segment of segments) {
105
- if (remaining <= 0)
106
- break;
107
- if (segment.text.length === 0)
108
- continue;
109
- const segmentWidth = measureTextCells(segment.text);
110
- if (segmentWidth <= remaining) {
111
- out.push(segment);
112
- remaining -= segmentWidth;
113
- continue;
114
- }
115
- const clipped = truncateToWidth(segment.text, remaining);
116
- if (clipped.length > 0)
117
- out.push({ text: clipped, style: segment.style });
118
- break;
119
- }
120
- return out;
121
- }
122
- function drawSegments(builder, x, y, maxWidth, segments) {
123
- const clipped = clipSegmentsToWidth(segments, maxWidth);
124
- if (clipped.length === 0)
125
- return;
126
- if (clipped.length === 1) {
127
- const first = clipped[0];
128
- if (!first)
129
- return;
130
- builder.drawText(x, y, first.text, first.style);
131
- return;
132
- }
133
- const blobIndex = builder.addTextRunBlob(clipped.map((segment) => ({
134
- text: segment.text,
135
- style: segment.style,
136
- })));
137
- if (blobIndex !== null) {
138
- builder.drawTextRun(x, y, blobIndex);
139
- return;
140
- }
141
- let cursorX = x;
142
- for (const segment of clipped) {
143
- builder.drawText(cursorX, y, segment.text, segment.style);
144
- cursorX += measureTextCells(segment.text);
145
- }
146
- }
147
- function variantToThemeColor(theme, variant, fallback) {
148
- switch (variant) {
149
- case "success":
150
- return theme.colors.success;
151
- case "warning":
152
- return theme.colors.warning;
153
- case "error":
154
- return theme.colors.danger;
155
- case "info":
156
- return theme.colors.info;
157
- case "default":
158
- return theme.colors[fallback] ?? theme.colors.primary;
159
- default:
160
- return theme.colors[fallback] ?? theme.colors.primary;
161
- }
162
- }
163
- function statusToThemeColor(theme, status) {
164
- switch (status) {
165
- case "online":
166
- return theme.colors.success;
167
- case "offline":
168
- return theme.colors.danger;
169
- case "away":
170
- return theme.colors.warning;
171
- case "busy":
172
- return theme.colors.danger;
173
- default:
174
- return theme.colors.muted;
175
- }
176
- }
177
- function calloutVariantToColor(theme, variant) {
178
- switch (variant) {
179
- case "success":
180
- return theme.colors.success;
181
- case "warning":
182
- return theme.colors.warning;
183
- case "error":
184
- return theme.colors.danger;
185
- default:
186
- return theme.colors.info;
187
- }
188
- }
189
- function calloutVariantIcon(variant) {
190
- switch (variant) {
191
- case "success":
192
- return "✓";
193
- case "warning":
194
- return "⚠";
195
- case "error":
196
- return "✗";
197
- default:
198
- return "ℹ";
199
- }
200
- }
201
- function readSpinnerVariant(v) {
202
- switch (v) {
203
- case "dots":
204
- case "line":
205
- case "circle":
206
- case "bounce":
207
- case "pulse":
208
- case "arrows":
209
- case "dots2":
210
- return v;
211
- default:
212
- return "dots";
213
- }
214
- }
215
- function resolveIconGlyph(iconPath, useFallback) {
216
- if (iconPath.length === 0)
217
- return "";
218
- const preferred = getIconChar(iconPath, useFallback);
219
- if (preferred.length > 0)
220
- return preferred;
221
- const fallback = getIconChar(iconPath, true);
222
- if (fallback.length > 0)
223
- return fallback;
224
- return iconPath;
225
- }
4
+ import { getColorTokens, readWidgetSize, readWidgetTone, readWidgetVariant, } from "../themeTokens.js";
5
+ import { renderCanvasWidgets } from "./renderCanvasWidgets.js";
6
+ import { renderChartWidgets } from "./renderChartWidgets.js";
7
+ import { renderFormWidgets } from "./renderFormWidgets.js";
8
+ import { renderIndicatorWidgets } from "./renderIndicatorWidgets.js";
9
+ import { renderTextWidgets } from "./renderTextWidgets.js";
226
10
  function maybeFillOwnBackground(builder, rect, ownStyle, style) {
227
11
  if (shouldFillForStyleOverride(ownStyle)) {
228
12
  builder.fillRect(rect.x, rect.y, rect.w, rect.h, style);
229
13
  }
230
14
  }
231
- function resolveGaugeColor(theme, value, thresholds) {
232
- if (Array.isArray(thresholds)) {
233
- let bestThreshold;
234
- let bestVariant;
235
- for (const raw of thresholds) {
236
- if (!isRecord(raw))
237
- continue;
238
- const entry = raw;
239
- const threshold = readNumber(entry.value);
240
- if (threshold === undefined)
241
- continue;
242
- if (value < threshold)
243
- continue;
244
- if (bestThreshold === undefined || threshold >= bestThreshold) {
245
- bestThreshold = threshold;
246
- bestVariant = entry.variant;
247
- }
248
- }
249
- if (bestThreshold !== undefined) {
250
- return variantToThemeColor(theme, bestVariant, "primary");
251
- }
252
- }
253
- if (value >= 0.9)
254
- return theme.colors.danger;
255
- if (value >= 0.75)
256
- return theme.colors.warning;
257
- if (value >= 0.5)
258
- return theme.colors.info;
259
- return theme.colors.success;
15
+ function readZLayer(v) {
16
+ if (v === -1 || v === 1)
17
+ return v;
18
+ return 0;
260
19
  }
261
- function sparklineForData(data, width, min, max) {
262
- if (width <= 0 || data.length === 0)
263
- return "";
264
- const range = max - min;
265
- const out = [];
266
- for (let i = 0; i < width; i++) {
267
- const index = Math.min(data.length - 1, Math.floor((i * data.length) / width));
268
- const value = data[index] ?? min;
269
- const normalized = range <= 0 ? 0.5 : clamp01((value - min) / range);
270
- const levelIndex = Math.round(normalized * (SPARKLINE_LEVELS.length - 1));
271
- const glyph = SPARKLINE_LEVELS[levelIndex] ?? SPARKLINE_LEVELS[0] ?? "▁";
272
- out.push(glyph);
20
+ export function renderBasicWidget(builder, focusState, pressedId, rect, theme, tick, parentStyle, node, layoutNode, nodeStack, styleStack, layoutStack, clipStack, currentClip, cursorInfo, focusAnnouncement, terminalProfile) {
21
+ const kind = node.vnode.kind;
22
+ if (kind !== "spacer" && !isVisibleRect(rect)) {
23
+ return null;
273
24
  }
274
- return out.join("");
275
- }
276
- function firstChar(text) {
277
- if (text.length === 0)
278
- return "";
279
- return text.slice(0, 1);
280
- }
281
- function readActionLabel(action) {
282
- if (!isRecord(action))
283
- return undefined;
284
- const actionNode = action;
285
- const kind = actionNode.kind;
286
- const props = isRecord(actionNode.props)
287
- ? actionNode.props
288
- : undefined;
289
25
  switch (kind) {
290
- case "text": {
291
- const text = readString(actionNode.text);
292
- return text;
293
- }
294
- case "button": {
295
- const label = props ? readString(props.label) : undefined;
296
- if (!label)
297
- return undefined;
298
- return `[${label}]`;
299
- }
26
+ case "text":
27
+ case "richText":
300
28
  case "badge":
301
29
  case "tag":
302
- return props ? readString(props.text) : undefined;
303
- case "icon": {
304
- const iconPath = props ? readString(props.icon) : undefined;
305
- if (!iconPath)
306
- return undefined;
307
- return resolveIconGlyph(iconPath, false);
308
- }
309
- default:
310
- return undefined;
311
- }
312
- }
313
- export function renderBasicWidget(builder, focusState, rect, theme, tick, parentStyle, node, layoutNode, nodeStack, styleStack, layoutStack, clipStack, currentClip, cursorInfo) {
314
- const vnode = node.vnode;
315
- let resolvedCursor = null;
316
- switch (vnode.kind) {
317
- case "text": {
318
- if (!isVisibleRect(rect))
319
- break;
320
- const props = vnode.props;
321
- const variantStyle = textVariantToStyle(props.variant);
322
- const ownStyle = asTextStyle(props.style);
323
- const style = variantStyle === undefined && ownStyle === undefined
324
- ? parentStyle
325
- : mergeTextStyle(mergeTextStyle(parentStyle, variantStyle), ownStyle);
326
- const textOverflow = readTextOverflow(props.textOverflow);
327
- const maxWidth = readNonNegativeInt(props.maxWidth);
328
- const overflowW = maxWidth === undefined ? rect.w : Math.min(rect.w, maxWidth);
329
- if (overflowW <= 0)
330
- break;
331
- const text = vnode.text;
332
- // Avoid measuring in the common ASCII case.
333
- const fits = (isAsciiText(text) && text.length <= overflowW) || measureTextCells(text) <= overflowW;
334
- if (fits) {
335
- builder.drawText(rect.x, rect.y, text, style);
336
- break;
337
- }
338
- let displayText = text;
339
- let useClip = false;
340
- switch (textOverflow) {
341
- case "ellipsis":
342
- displayText = truncateWithEllipsis(text, overflowW);
343
- break;
344
- case "middle":
345
- displayText = truncateMiddle(text, overflowW);
346
- break;
347
- case "clip":
348
- useClip = true;
349
- break;
350
- }
351
- if (useClip) {
352
- builder.pushClip(rect.x, rect.y, overflowW, rect.h);
353
- builder.drawText(rect.x, rect.y, displayText, style);
354
- builder.popClip();
355
- }
356
- else {
357
- builder.drawText(rect.x, rect.y, displayText, style);
358
- }
359
- break;
360
- }
361
- case "divider": {
362
- if (!isVisibleRect(rect))
363
- break;
364
- const props = vnode.props;
365
- const direction = props.direction === "vertical" ? "vertical" : "horizontal";
366
- const rawChar = typeof props.char === "string" && props.char.length > 0 ? props.char : undefined;
367
- const glyph = (() => {
368
- const fallback = direction === "horizontal" ? "─" : "│";
369
- if (!rawChar)
370
- return fallback;
371
- const cp = rawChar.codePointAt(0);
372
- return cp === undefined ? fallback : String.fromCodePoint(cp);
373
- })();
374
- const label = typeof props.label === "string" ? props.label : undefined;
375
- const color = typeof props.color === "string" ? props.color : undefined;
376
- const style = color
377
- ? mergeTextStyle(parentStyle, { fg: resolveColor(theme, color) })
378
- : parentStyle;
379
- if (direction === "horizontal") {
380
- const w = rect.w;
381
- if (w <= 0)
382
- break;
383
- if (label && label.length > 0) {
384
- const labelText = ` ${label} `;
385
- const labelWidth = measureTextCells(labelText);
386
- if (labelWidth >= w) {
387
- builder.drawText(rect.x, rect.y, truncateWithEllipsis(labelText, w), style);
388
- break;
30
+ case "spinner":
31
+ case "icon":
32
+ case "kbd":
33
+ case "status":
34
+ case "link":
35
+ case "focusAnnouncer": {
36
+ let textParentStyle = parentStyle;
37
+ if (kind === "kbd") {
38
+ const colorTokens = getColorTokens(theme);
39
+ if (colorTokens !== null) {
40
+ const props = node.vnode.props;
41
+ const dsVariant = readWidgetVariant(props.dsVariant) ?? "outline";
42
+ const dsTone = readWidgetTone(props.dsTone) ?? "default";
43
+ const dsSize = readWidgetSize(props.dsSize) ?? "md";
44
+ const recipeResult = kbdRecipe(colorTokens, {
45
+ variant: dsVariant,
46
+ tone: dsTone,
47
+ size: dsSize,
48
+ });
49
+ if (recipeResult.bg.bg !== undefined) {
50
+ builder.fillRect(rect.x, rect.y, rect.w, rect.h, mergeTextStyle(parentStyle, recipeResult.bg));
389
51
  }
390
- const remaining = w - labelWidth;
391
- const left = Math.floor(remaining / 2);
392
- const right = remaining - left;
393
- builder.drawText(rect.x, rect.y, `${repeatCached(glyph, left)}${labelText}${repeatCached(glyph, right)}`, style);
394
- break;
52
+ textParentStyle = mergeTextStyle(textParentStyle, recipeResult.key);
395
53
  }
396
- builder.drawText(rect.x, rect.y, repeatCached(glyph, w), style);
397
- break;
398
54
  }
399
- for (let i = 0; i < rect.h; i++) {
400
- builder.drawText(rect.x, rect.y + i, glyph, style);
401
- }
402
- break;
55
+ return (renderTextWidgets(builder, focusState, rect, theme, tick, textParentStyle, node, cursorInfo, focusAnnouncement, maybeFillOwnBackground) ?? null);
403
56
  }
404
- case "button": {
405
- if (!isVisibleRect(rect))
406
- break;
407
- const props = vnode.props;
408
- const id = typeof props.id === "string" ? props.id : null;
409
- const label = typeof props.label === "string" ? props.label : "";
410
- const disabled = props.disabled === true;
411
- const focused = id !== null && focusState.focusedId === id;
412
- const px = typeof props.px === "number" && Number.isFinite(props.px) && props.px >= 0
413
- ? Math.trunc(props.px)
414
- : 1;
415
- const availableLabelW = Math.max(0, rect.w - px * 2);
416
- const displayLabel = availableLabelW <= 0
417
- ? ""
418
- : measureTextCells(label) > availableLabelW
419
- ? truncateWithEllipsis(label, availableLabelW)
420
- : label;
421
- const ownStyle = asTextStyle(props.style);
422
- if (displayLabel.length > 0) {
423
- builder.drawText(rect.x + px, rect.y, displayLabel, mergeTextStyle(mergeTextStyle(parentStyle, ownStyle), getButtonLabelStyle({ focused, disabled })));
424
- }
425
- break;
426
- }
427
- case "input": {
428
- if (!isVisibleRect(rect))
429
- break;
430
- const props = vnode.props;
431
- const id = typeof props.id === "string" ? props.id : null;
432
- const value = typeof props.value === "string" ? props.value : "";
433
- const disabled = props.disabled === true;
434
- const focused = id !== null && focusState.focusedId === id;
435
- const ownStyle = asTextStyle(props.style);
436
- const style = mergeTextStyle(mergeTextStyle(parentStyle, ownStyle), getButtonLabelStyle({ focused, disabled }));
437
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
438
- builder.drawText(rect.x + 1, rect.y, value, style);
439
- builder.popClip();
440
- // v2 cursor: resolve cursor position for focused enabled input
441
- if (focused && !disabled && cursorInfo) {
442
- // Cursor offset is stored as grapheme index; convert to cell position
443
- const graphemeOffset = cursorInfo.cursorByInstanceId.get(node.instanceId);
444
- const cursorX = graphemeOffset !== undefined
445
- ? measureTextCells(value.slice(0, graphemeOffset))
446
- : measureTextCells(value);
447
- resolvedCursor = {
448
- x: rect.x + 1 + cursorX,
449
- y: rect.y,
450
- shape: cursorInfo.shape,
451
- blink: cursorInfo.blink,
452
- };
453
- }
454
- break;
455
- }
456
- case "spacer":
457
- break;
57
+ case "button":
58
+ case "input":
59
+ case "select":
60
+ case "checkbox":
61
+ case "radioGroup":
62
+ case "slider":
458
63
  case "field": {
459
- if (!isVisibleRect(rect))
460
- break;
461
- const props = vnode.props;
462
- const label = typeof props.label === "string" ? props.label : "";
463
- const required = props.required === true;
464
- const error = typeof props.error === "string" ? props.error : undefined;
465
- const hint = typeof props.hint === "string" ? props.hint : undefined;
466
- const labelText = required ? `${label} *` : label;
467
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
468
- builder.drawText(rect.x, rect.y, truncateToWidth(labelText, rect.w), parentStyle);
469
- if (rect.h >= 2) {
470
- const footerY = rect.y + rect.h - 1;
471
- const footer = error ?? hint;
472
- if (footer) {
473
- const footerStyle = mergeTextStyle(parentStyle, error ? { fg: theme.colors.danger } : { fg: theme.colors.muted });
474
- builder.drawText(rect.x, footerY, truncateToWidth(footer, rect.w), footerStyle);
475
- }
476
- }
477
- builder.popClip();
478
- const childCount = Math.min(node.children.length, layoutNode.children.length);
479
- for (let i = childCount - 1; i >= 0; i--) {
480
- const c = node.children[i];
481
- const lc = layoutNode.children[i];
482
- if (c && lc) {
483
- nodeStack.push(c);
484
- styleStack.push(parentStyle);
485
- layoutStack.push(lc);
486
- clipStack.push(currentClip);
487
- }
488
- }
489
- break;
490
- }
491
- case "select": {
492
- if (!isVisibleRect(rect))
493
- break;
494
- const props = vnode.props;
495
- const id = typeof props.id === "string" ? props.id : null;
496
- const focused = id !== null && focusState.focusedId === id;
497
- const disabled = props.disabled === true;
498
- const value = typeof props.value === "string" ? props.value : "";
499
- const placeholder = typeof props.placeholder === "string" ? props.placeholder : "Select…";
500
- const options = Array.isArray(props.options)
501
- ? props.options
502
- : [];
503
- let label = "";
504
- for (const opt of options) {
505
- if (opt && opt.value === value) {
506
- label = opt.label;
507
- break;
508
- }
509
- }
510
- if (label.length === 0)
511
- label = placeholder;
512
- const focusStyle = focused ? { underline: true, bold: true } : undefined;
513
- const style = mergeTextStyle(parentStyle, disabled ? { fg: theme.colors.muted, ...focusStyle } : focusStyle);
514
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
515
- const text = ` ${label} ▼`;
516
- builder.drawText(rect.x, rect.y, text, style);
517
- builder.popClip();
518
- break;
519
- }
520
- case "checkbox": {
521
- if (!isVisibleRect(rect))
522
- break;
523
- const props = vnode.props;
524
- const id = typeof props.id === "string" ? props.id : null;
525
- const focused = id !== null && focusState.focusedId === id;
526
- const disabled = props.disabled === true;
527
- const checked = props.checked === true;
528
- const label = typeof props.label === "string" ? props.label : "";
529
- const box = checked ? "[x]" : "[ ]";
530
- const text = label.length > 0 ? `${box} ${label}` : box;
531
- const focusStyle = focused ? { underline: true, bold: true } : undefined;
532
- const style = mergeTextStyle(parentStyle, disabled ? { fg: theme.colors.muted, ...focusStyle } : focusStyle);
533
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
534
- builder.drawText(rect.x, rect.y, text, style);
535
- builder.popClip();
536
- break;
537
- }
538
- case "radioGroup": {
539
- if (!isVisibleRect(rect))
540
- break;
541
- const props = vnode.props;
542
- const id = typeof props.id === "string" ? props.id : null;
543
- const focused = id !== null && focusState.focusedId === id;
544
- const disabled = props.disabled === true;
545
- const value = typeof props.value === "string" ? props.value : "";
546
- const direction = props.direction === "horizontal" ? "horizontal" : "vertical";
547
- const options = Array.isArray(props.options)
548
- ? props.options
549
- : [];
550
- const focusStyle = focused ? { underline: true, bold: true } : undefined;
551
- const style = mergeTextStyle(parentStyle, disabled ? { fg: theme.colors.muted, ...focusStyle } : focusStyle);
552
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
553
- let cx = rect.x;
554
- let cy = rect.y;
555
- for (const opt of options) {
556
- const mark = opt.value === value ? "(o)" : "( )";
557
- const chunk = `${mark} ${opt.label}`;
558
- builder.drawText(cx, cy, chunk, style);
559
- if (direction === "horizontal") {
560
- cx += measureTextCells(chunk) + 2;
561
- }
562
- else {
563
- cy += 1;
564
- }
565
- if (cy >= rect.y + rect.h)
566
- break;
567
- }
568
- builder.popClip();
569
- break;
570
- }
571
- case "richText": {
572
- if (!isVisibleRect(rect))
573
- break;
574
- const props = vnode.props;
575
- const spans = Array.isArray(props.spans)
576
- ? props.spans
577
- : [];
578
- if (spans.length === 0)
579
- break;
580
- const segments = [];
581
- for (const span of spans) {
582
- const text = readString(span.text) ?? "";
583
- if (text.length === 0)
584
- continue;
585
- segments.push({
586
- text,
587
- style: mergeTextStyle(parentStyle, asTextStyle(span.style)),
588
- });
589
- }
590
- if (segments.length === 0)
591
- break;
592
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
593
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
594
- builder.popClip();
595
- break;
596
- }
597
- case "badge": {
598
- if (!isVisibleRect(rect))
599
- break;
600
- const props = vnode.props;
601
- const text = readString(props.text) ?? "";
602
- const ownStyle = asTextStyle(props.style);
603
- const color = variantToThemeColor(theme, props.variant, "primary");
604
- const style = mergeTextStyle(mergeTextStyle(parentStyle, { fg: theme.colors.bg, bg: color, bold: true }), ownStyle);
605
- const content = ` ${text} `;
606
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
607
- const display = truncateToWidth(content, rect.w);
608
- if (display.length > 0) {
609
- const fillW = Math.min(rect.w, measureTextCells(display));
610
- if (fillW > 0)
611
- builder.fillRect(rect.x, rect.y, fillW, 1, style);
612
- builder.drawText(rect.x, rect.y, display, style);
613
- }
614
- builder.popClip();
615
- break;
616
- }
617
- case "spinner": {
618
- if (!isVisibleRect(rect))
619
- break;
620
- const props = vnode.props;
621
- const variant = readSpinnerVariant(props.variant);
622
- const label = readString(props.label);
623
- const ownStyle = asTextStyle(props.style);
624
- const style = mergeTextStyle(parentStyle, ownStyle);
625
- maybeFillOwnBackground(builder, rect, ownStyle, style);
626
- const frame = getSpinnerFrame(variant, tick);
627
- const frameStyle = mergeTextStyle(style, { fg: theme.colors.primary, bold: true });
628
- const segments = [{ text: frame, style: frameStyle }];
629
- if (label && label.length > 0) {
630
- segments.push({ text: ` ${label}`, style });
631
- }
632
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
633
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
634
- builder.popClip();
635
- break;
636
- }
637
- case "icon": {
638
- if (!isVisibleRect(rect))
639
- break;
640
- const props = vnode.props;
641
- const iconPath = readString(props.icon) ?? "";
642
- const ownStyle = asTextStyle(props.style);
643
- const style = mergeTextStyle(parentStyle, ownStyle);
644
- maybeFillOwnBackground(builder, rect, ownStyle, style);
645
- const glyph = resolveIconGlyph(iconPath, props.fallback === true);
646
- const display = truncateToWidth(glyph, rect.w);
647
- if (display.length === 0)
648
- break;
649
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
650
- builder.drawText(rect.x, rect.y, display, style);
651
- builder.popClip();
652
- break;
653
- }
654
- case "kbd": {
655
- if (!isVisibleRect(rect))
656
- break;
657
- const props = vnode.props;
658
- const keysProp = props.keys;
659
- const separator = readString(props.separator) ?? "+";
660
- const ownStyle = asTextStyle(props.style);
661
- const style = mergeTextStyle(parentStyle, ownStyle);
662
- maybeFillOwnBackground(builder, rect, ownStyle, style);
663
- const keyStyle = mergeTextStyle(style, { bold: true });
664
- const mutedStyle = mergeTextStyle(keyStyle, { fg: theme.colors.muted });
665
- const segments = [];
666
- if (typeof keysProp === "string") {
667
- segments.push({ text: "[", style: mutedStyle });
668
- segments.push({ text: keysProp, style: keyStyle });
669
- segments.push({ text: "]", style: mutedStyle });
670
- }
671
- else if (Array.isArray(keysProp)) {
672
- for (let i = 0; i < keysProp.length; i++) {
673
- const key = keysProp[i];
674
- if (typeof key !== "string")
675
- continue;
676
- if (i > 0)
677
- segments.push({ text: separator, style: mutedStyle });
678
- segments.push({ text: "[", style: mutedStyle });
679
- segments.push({ text: key, style: keyStyle });
680
- segments.push({ text: "]", style: mutedStyle });
681
- }
682
- }
683
- if (segments.length === 0)
684
- break;
685
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
686
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
687
- builder.popClip();
688
- break;
689
- }
690
- case "status": {
691
- if (!isVisibleRect(rect))
692
- break;
693
- const props = vnode.props;
694
- const label = readString(props.label);
695
- const showLabel = props.showLabel === true || (props.showLabel !== false && label !== undefined);
696
- const ownStyle = asTextStyle(props.style);
697
- const style = mergeTextStyle(parentStyle, ownStyle);
698
- maybeFillOwnBackground(builder, rect, ownStyle, style);
699
- const dotStyle = mergeTextStyle(style, {
700
- fg: statusToThemeColor(theme, props.status),
701
- bold: true,
702
- });
703
- const segments = [{ text: "●", style: dotStyle }];
704
- if (showLabel && label && label.length > 0) {
705
- segments.push({ text: ` ${label}`, style });
706
- }
707
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
708
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
709
- builder.popClip();
710
- break;
711
- }
712
- case "tag": {
713
- if (!isVisibleRect(rect))
714
- break;
715
- const props = vnode.props;
716
- const text = readString(props.text) ?? "";
717
- const removable = props.removable === true;
718
- const ownStyle = asTextStyle(props.style);
719
- const variantColor = variantToThemeColor(theme, props.variant, "secondary");
720
- const style = mergeTextStyle(mergeTextStyle(parentStyle, { fg: theme.colors.bg, bg: variantColor, bold: true }), ownStyle);
721
- maybeFillOwnBackground(builder, rect, ownStyle, style);
722
- const content = ` ${text}${removable ? " ×" : ""} `;
723
- const display = truncateToWidth(content, rect.w);
724
- if (display.length === 0)
725
- break;
726
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
727
- const fillW = Math.min(rect.w, measureTextCells(display));
728
- if (fillW > 0)
729
- builder.fillRect(rect.x, rect.y, fillW, 1, style);
730
- builder.drawText(rect.x, rect.y, display, style);
731
- builder.popClip();
732
- break;
733
- }
734
- case "skeleton": {
735
- if (!isVisibleRect(rect))
736
- break;
737
- const props = vnode.props;
738
- const targetW = readNonNegativeInt(props.width) ?? rect.w;
739
- const targetH = readPositiveInt(props.height) ?? 1;
740
- const drawW = Math.max(0, Math.min(rect.w, targetW));
741
- const drawH = Math.max(0, Math.min(rect.h, targetH));
742
- if (drawW <= 0 || drawH <= 0)
743
- break;
744
- const ownStyle = asTextStyle(props.style);
745
- const style = mergeTextStyle(parentStyle, ownStyle);
746
- maybeFillOwnBackground(builder, rect, ownStyle, style);
747
- const skeletonStyle = mergeTextStyle(style, { fg: theme.colors.muted, dim: true });
748
- const variant = props.variant === "circle" ? "circle" : props.variant === "rect" ? "rect" : "text";
749
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
750
- if (variant === "circle") {
751
- const circleText = truncateToWidth("(░░)", drawW);
752
- const y = rect.y + Math.floor((drawH - 1) / 2);
753
- builder.drawText(rect.x, y, circleText, skeletonStyle);
754
- }
755
- else {
756
- for (let row = 0; row < drawH; row++) {
757
- const glyph = row % 2 === 0 ? "░" : "▒";
758
- builder.drawText(rect.x, rect.y + row, repeatCached(glyph, drawW), skeletonStyle);
759
- }
760
- }
761
- builder.popClip();
762
- break;
763
- }
764
- case "progress": {
765
- if (!isVisibleRect(rect))
766
- break;
767
- const props = vnode.props;
768
- const value = clamp01(readNumber(props.value) ?? 0);
769
- const label = readString(props.label) ?? "";
770
- const showPercent = props.showPercent === true;
771
- const ownStyle = asTextStyle(props.style);
772
- const style = mergeTextStyle(parentStyle, ownStyle);
773
- maybeFillOwnBackground(builder, rect, ownStyle, style);
774
- const variant = props.variant === "blocks" ? "blocks" : props.variant === "minimal" ? "minimal" : "bar";
775
- const labelText = label.length > 0 ? `${label} ` : "";
776
- const percentText = showPercent ? ` ${Math.round(value * 100)}%` : "";
777
- const explicitWidth = readPositiveInt(props.width);
778
- const dynamicWidth = rect.w - measureTextCells(labelText) - measureTextCells(percentText);
779
- let barWidth = explicitWidth ?? Math.max(1, dynamicWidth);
780
- if (variant !== "minimal")
781
- barWidth = Math.max(3, barWidth);
782
- const fillGlyph = variant === "minimal" ? "━" : variant === "blocks" ? "▓" : "█";
783
- const emptyGlyph = variant === "minimal" ? "╌" : "░";
784
- const fillStyle = mergeTextStyle(style, { fg: theme.colors.primary, bold: true });
785
- const trackStyle = mergeTextStyle(mergeTextStyle(style, { fg: theme.colors.muted }), asTextStyle(props.trackStyle));
786
- const segments = [];
787
- if (labelText.length > 0)
788
- segments.push({ text: labelText, style });
789
- if (variant === "minimal") {
790
- const cells = Math.max(1, barWidth);
791
- const filled = Math.max(0, Math.min(cells, Math.round(cells * value)));
792
- const empty = Math.max(0, cells - filled);
793
- if (filled > 0)
794
- segments.push({ text: repeatCached(fillGlyph, filled), style: fillStyle });
795
- if (empty > 0)
796
- segments.push({ text: repeatCached(emptyGlyph, empty), style: trackStyle });
797
- }
798
- else {
799
- const inner = Math.max(1, barWidth - 2);
800
- const filled = Math.max(0, Math.min(inner, Math.round(inner * value)));
801
- const empty = Math.max(0, inner - filled);
802
- segments.push({ text: "[", style });
803
- if (filled > 0)
804
- segments.push({ text: repeatCached(fillGlyph, filled), style: fillStyle });
805
- if (empty > 0)
806
- segments.push({ text: repeatCached(emptyGlyph, empty), style: trackStyle });
807
- segments.push({ text: "]", style });
808
- }
809
- if (percentText.length > 0)
810
- segments.push({ text: percentText, style });
811
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
812
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
813
- builder.popClip();
814
- break;
815
- }
816
- case "gauge": {
817
- if (!isVisibleRect(rect))
818
- break;
819
- const props = vnode.props;
820
- const value = clamp01(readNumber(props.value) ?? 0);
821
- const label = readString(props.label) ?? "";
822
- const ownStyle = asTextStyle(props.style);
823
- const style = mergeTextStyle(parentStyle, ownStyle);
824
- maybeFillOwnBackground(builder, rect, ownStyle, style);
825
- const gaugeColor = resolveGaugeColor(theme, value, props.thresholds);
826
- const fillStyle = mergeTextStyle(style, { fg: gaugeColor, bold: true });
827
- const trackStyle = mergeTextStyle(style, { fg: theme.colors.muted });
828
- const variant = props.variant === "compact" ? "compact" : "linear";
829
- const percentText = `${Math.round(value * 100)}%`;
830
- const labelText = label.length > 0 ? `${label} ` : "";
831
- const segments = [];
832
- if (labelText.length > 0)
833
- segments.push({ text: labelText, style });
834
- if (variant === "compact") {
835
- const compactSuffix = ` ${percentText}`;
836
- const meterWidth = Math.max(1, rect.w - measureTextCells(labelText) - measureTextCells(compactSuffix));
837
- const filled = Math.max(0, Math.min(meterWidth, Math.round(meterWidth * value)));
838
- const empty = Math.max(0, meterWidth - filled);
839
- if (filled > 0)
840
- segments.push({ text: repeatCached("▓", filled), style: fillStyle });
841
- if (empty > 0)
842
- segments.push({ text: repeatCached("░", empty), style: trackStyle });
843
- segments.push({ text: compactSuffix, style });
844
- }
845
- else {
846
- const linearSuffix = ` ${percentText}`;
847
- const barWidth = Math.max(3, rect.w - measureTextCells(labelText) - measureTextCells(linearSuffix));
848
- const inner = Math.max(1, barWidth - 2);
849
- const filled = Math.max(0, Math.min(inner, Math.round(inner * value)));
850
- const empty = Math.max(0, inner - filled);
851
- segments.push({ text: "[", style });
852
- if (filled > 0)
853
- segments.push({ text: repeatCached("▓", filled), style: fillStyle });
854
- if (empty > 0)
855
- segments.push({ text: repeatCached("░", empty), style: trackStyle });
856
- segments.push({ text: "]", style });
857
- segments.push({ text: linearSuffix, style });
858
- }
859
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
860
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
861
- builder.popClip();
862
- break;
863
- }
864
- case "empty": {
865
- if (!isVisibleRect(rect))
866
- break;
867
- const props = vnode.props;
868
- const title = readString(props.title) ?? "";
869
- const description = readString(props.description);
870
- const iconPath = readString(props.icon);
871
- const actionLabel = readActionLabel(props.action);
872
- const ownStyle = asTextStyle(props.style);
873
- const style = mergeTextStyle(parentStyle, ownStyle);
874
- maybeFillOwnBackground(builder, rect, ownStyle, style);
875
- const lines = [];
876
- if (iconPath && iconPath.length > 0) {
877
- const icon = resolveIconGlyph(iconPath, false);
878
- if (icon.length > 0) {
879
- lines.push({
880
- text: icon,
881
- style: mergeTextStyle(style, { fg: theme.colors.muted }),
882
- });
883
- }
884
- }
885
- if (title.length > 0) {
886
- lines.push({ text: title, style: mergeTextStyle(style, { bold: true }) });
887
- }
888
- if (description && description.length > 0) {
889
- lines.push({
890
- text: description,
891
- style: mergeTextStyle(style, { fg: theme.colors.muted }),
892
- });
893
- }
894
- if (actionLabel && actionLabel.length > 0) {
895
- lines.push({
896
- text: actionLabel,
897
- style: mergeTextStyle(style, { fg: theme.colors.info, underline: true }),
898
- });
899
- }
900
- if (lines.length === 0)
901
- break;
902
- const startY = rect.y + Math.max(0, Math.floor((rect.h - lines.length) / 2));
903
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
904
- for (let i = 0; i < lines.length; i++) {
905
- const line = lines[i];
906
- if (!line)
907
- continue;
908
- const y = startY + i;
909
- if (y < rect.y || y >= rect.y + rect.h)
910
- continue;
911
- const text = truncateToWidth(line.text, rect.w);
912
- if (text.length === 0)
913
- continue;
914
- const textWidth = measureTextCells(text);
915
- const x = rect.x + Math.max(0, Math.floor((rect.w - textWidth) / 2));
916
- builder.drawText(x, y, text, line.style);
917
- }
918
- builder.popClip();
919
- break;
920
- }
921
- case "errorDisplay": {
922
- if (!isVisibleRect(rect))
923
- break;
924
- const props = vnode.props;
925
- const title = readString(props.title) ?? "Error";
926
- const message = readString(props.message) ?? "";
927
- const stack = readString(props.stack);
928
- const showStack = props.showStack === true;
929
- const showRetry = typeof props.onRetry === "function";
930
- const ownStyle = asTextStyle(props.style);
931
- const style = mergeTextStyle(parentStyle, ownStyle);
932
- maybeFillOwnBackground(builder, rect, ownStyle, style);
933
- const titleStyle = mergeTextStyle(style, { fg: theme.colors.danger, bold: true });
934
- const stackStyle = mergeTextStyle(style, { fg: theme.colors.muted, dim: true });
935
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
936
- let y = rect.y;
937
- if (y < rect.y + rect.h) {
938
- builder.drawText(rect.x, y, truncateToWidth(`✗ ${title}`, rect.w), titleStyle);
939
- y += 1;
940
- }
941
- for (const line of message.split("\n")) {
942
- if (y >= rect.y + rect.h)
943
- break;
944
- builder.drawText(rect.x, y, truncateToWidth(line, rect.w), style);
945
- y += 1;
946
- }
947
- if (showStack && stack && stack.length > 0) {
948
- for (const line of stack.split("\n")) {
949
- if (y >= rect.y + rect.h)
950
- break;
951
- builder.drawText(rect.x, y, truncateToWidth(line, rect.w), stackStyle);
952
- y += 1;
953
- }
954
- }
955
- if (showRetry && y < rect.y + rect.h) {
956
- builder.drawText(rect.x, y, truncateToWidth("[Retry]", rect.w), mergeTextStyle(style, { fg: theme.colors.info, underline: true }));
957
- }
958
- builder.popClip();
959
- break;
64
+ return (renderFormWidgets(builder, focusState, pressedId, rect, theme, parentStyle, node, layoutNode, nodeStack, styleStack, layoutStack, clipStack, currentClip, cursorInfo, maybeFillOwnBackground) ?? null);
960
65
  }
66
+ case "divider":
67
+ case "progress":
68
+ case "gauge":
69
+ case "skeleton":
70
+ case "spacer":
71
+ case "empty":
72
+ case "errorDisplay":
961
73
  case "callout": {
962
- if (!isVisibleRect(rect))
963
- break;
964
- const props = vnode.props;
965
- const variant = props.variant;
966
- const title = readString(props.title);
967
- const message = readString(props.message) ?? "";
968
- const ownStyle = asTextStyle(props.style);
969
- const style = mergeTextStyle(parentStyle, ownStyle);
970
- maybeFillOwnBackground(builder, rect, ownStyle, style);
971
- const accentColor = calloutVariantToColor(theme, variant);
972
- const borderStyle = mergeTextStyle(style, { fg: theme.colors.border });
973
- if (rect.w >= 2 && rect.h >= 2) {
974
- renderBoxBorder(builder, rect, "single", undefined, "left", borderStyle);
975
- }
976
- const inset = rect.w >= 2 && rect.h >= 2 ? 1 : 0;
977
- const innerX = rect.x + inset;
978
- const innerY = rect.y + inset;
979
- const innerW = Math.max(0, rect.w - inset * 2);
980
- const innerH = Math.max(0, rect.h - inset * 2);
981
- if (innerW <= 0 || innerH <= 0)
982
- break;
983
- const accentStyle = mergeTextStyle(style, { fg: accentColor, bold: true });
984
- const titleStyle = mergeTextStyle(style, { fg: accentColor, bold: true });
985
- const iconOverride = readString(props.icon);
986
- const iconGlyph = iconOverride && iconOverride.length > 0
987
- ? resolveIconGlyph(iconOverride, false)
988
- : calloutVariantIcon(variant);
989
- builder.pushClip(innerX, innerY, innerW, innerH);
990
- for (let row = 0; row < innerH; row++) {
991
- builder.drawText(innerX, innerY + row, "│", accentStyle);
992
- }
993
- const contentX = innerX + (innerW >= 3 ? 2 : 1);
994
- const contentW = Math.max(0, innerW - (contentX - innerX));
995
- if (contentW > 0) {
996
- let y = innerY;
997
- if (title && title.length > 0) {
998
- const header = [];
999
- if (iconGlyph.length > 0)
1000
- header.push({ text: `${iconGlyph} `, style: accentStyle });
1001
- header.push({ text: title, style: titleStyle });
1002
- drawSegments(builder, contentX, y, contentW, header);
1003
- y += 1;
1004
- }
1005
- if (y < innerY + innerH) {
1006
- const firstLinePrefix = title && title.length > 0 ? "" : iconGlyph.length > 0 ? `${iconGlyph} ` : "";
1007
- const lines = message.split("\n");
1008
- for (let i = 0; i < lines.length; i++) {
1009
- if (y >= innerY + innerH)
1010
- break;
1011
- const line = i === 0 ? `${firstLinePrefix}${lines[i] ?? ""}` : (lines[i] ?? "");
1012
- builder.drawText(contentX, y, truncateToWidth(line, contentW), style);
1013
- y += 1;
1014
- }
1015
- }
1016
- }
1017
- builder.popClip();
1018
- break;
1019
- }
1020
- case "sparkline": {
1021
- if (!isVisibleRect(rect))
1022
- break;
1023
- const props = vnode.props;
1024
- const rawData = Array.isArray(props.data) ? props.data : [];
1025
- const data = [];
1026
- for (const value of rawData) {
1027
- const n = readNumber(value);
1028
- if (n !== undefined)
1029
- data.push(n);
1030
- }
1031
- if (data.length === 0)
1032
- break;
1033
- const ownStyle = asTextStyle(props.style);
1034
- const style = mergeTextStyle(parentStyle, ownStyle);
1035
- maybeFillOwnBackground(builder, rect, ownStyle, style);
1036
- const width = Math.max(1, Math.min(rect.w, readPositiveInt(props.width) ?? data.length));
1037
- const autoMin = Math.min(...data);
1038
- const autoMax = Math.max(...data);
1039
- const min = readNumber(props.min) ?? autoMin;
1040
- const max = readNumber(props.max) ?? autoMax;
1041
- const line = sparklineForData(data, width, min, max);
1042
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
1043
- builder.drawText(rect.x, rect.y, truncateToWidth(line, rect.w), mergeTextStyle(style, { fg: theme.colors.info }));
1044
- builder.popClip();
1045
- break;
1046
- }
1047
- case "barChart": {
1048
- if (!isVisibleRect(rect))
1049
- break;
1050
- const props = vnode.props;
1051
- const rawData = Array.isArray(props.data) ? props.data : [];
1052
- const data = rawData.filter((item) => isRecord(item));
1053
- if (data.length === 0)
1054
- break;
1055
- const orientation = props.orientation === "vertical" ? "vertical" : "horizontal";
1056
- const showValues = props.showValues !== false;
1057
- const showLabels = props.showLabels !== false;
1058
- const ownStyle = asTextStyle(props.style);
1059
- const style = mergeTextStyle(parentStyle, ownStyle);
1060
- maybeFillOwnBackground(builder, rect, ownStyle, style);
1061
- const values = data.map((item) => Math.max(0, readNumber(item.value) ?? 0));
1062
- const maxValue = Math.max(1, ...values);
1063
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
1064
- if (orientation === "horizontal") {
1065
- const maxBarLength = readPositiveInt(props.maxBarLength);
1066
- for (let row = 0; row < rect.h && row < data.length; row++) {
1067
- const item = data[row];
1068
- if (!item)
1069
- continue;
1070
- const label = showLabels ? (readString(item.label) ?? "") : "";
1071
- const value = Math.max(0, readNumber(item.value) ?? 0);
1072
- const valueText = showValues ? ` ${String(value)}` : "";
1073
- const labelText = label.length > 0 ? `${label} ` : "";
1074
- let barWidth = rect.w - measureTextCells(labelText) - measureTextCells(valueText);
1075
- if (maxBarLength !== undefined)
1076
- barWidth = Math.min(barWidth, maxBarLength);
1077
- barWidth = Math.max(1, barWidth);
1078
- const filled = Math.max(0, Math.min(barWidth, Math.round((value / maxValue) * barWidth)));
1079
- const empty = Math.max(0, barWidth - filled);
1080
- const barStyle = mergeTextStyle(style, {
1081
- fg: variantToThemeColor(theme, item.variant, "primary"),
1082
- bold: true,
1083
- });
1084
- const trackStyle = mergeTextStyle(style, { fg: theme.colors.muted });
1085
- const segments = [];
1086
- if (labelText.length > 0)
1087
- segments.push({ text: labelText, style });
1088
- if (filled > 0)
1089
- segments.push({ text: repeatCached("█", filled), style: barStyle });
1090
- if (empty > 0)
1091
- segments.push({ text: repeatCached("░", empty), style: trackStyle });
1092
- if (valueText.length > 0)
1093
- segments.push({ text: valueText, style });
1094
- drawSegments(builder, rect.x, rect.y + row, rect.w, segments);
1095
- }
1096
- }
1097
- else {
1098
- const labelRows = showLabels ? 1 : 0;
1099
- const valueRows = showValues ? 1 : 0;
1100
- const maxBarLength = readPositiveInt(props.maxBarLength);
1101
- const chartHeight = Math.max(0, Math.min(rect.h - labelRows - valueRows, maxBarLength ?? Number.POSITIVE_INFINITY));
1102
- const columns = Math.max(1, Math.min(rect.w, data.length));
1103
- for (let col = 0; col < columns; col++) {
1104
- const sourceIndex = Math.min(data.length - 1, Math.floor((col * data.length) / columns));
1105
- const item = data[sourceIndex];
1106
- if (!item)
1107
- continue;
1108
- const value = Math.max(0, readNumber(item.value) ?? 0);
1109
- const filled = chartHeight <= 0
1110
- ? 0
1111
- : Math.max(0, Math.min(chartHeight, Math.round((value / maxValue) * chartHeight)));
1112
- const barStyle = mergeTextStyle(style, {
1113
- fg: variantToThemeColor(theme, item.variant, "primary"),
1114
- bold: true,
1115
- });
1116
- const trackStyle = mergeTextStyle(style, { fg: theme.colors.muted });
1117
- for (let y = 0; y < chartHeight; y++) {
1118
- const cellY = rect.y + chartHeight - 1 - y;
1119
- const filledCell = y < filled;
1120
- builder.drawText(rect.x + col, cellY, filledCell ? "█" : "░", filledCell ? barStyle : trackStyle);
1121
- }
1122
- }
1123
- if (showLabels && chartHeight < rect.h) {
1124
- let labels = "";
1125
- for (let col = 0; col < columns; col++) {
1126
- const sourceIndex = Math.min(data.length - 1, Math.floor((col * data.length) / columns));
1127
- const item = data[sourceIndex];
1128
- const label = item ? (readString(item.label) ?? "") : "";
1129
- labels += firstChar(label) || " ";
1130
- }
1131
- builder.drawText(rect.x, rect.y + chartHeight, truncateToWidth(labels, rect.w), style);
1132
- }
1133
- if (showValues && chartHeight + labelRows < rect.h) {
1134
- const valueLine = data
1135
- .map((item) => String(Math.max(0, readNumber(item.value) ?? 0)))
1136
- .join(" ");
1137
- const y = rect.y + chartHeight + labelRows;
1138
- builder.drawText(rect.x, y, truncateToWidth(valueLine, rect.w), mergeTextStyle(style, { fg: theme.colors.muted }));
1139
- }
1140
- }
1141
- builder.popClip();
1142
- break;
1143
- }
74
+ renderIndicatorWidgets(builder, rect, theme, parentStyle, node, maybeFillOwnBackground);
75
+ return null;
76
+ }
77
+ case "canvas":
78
+ case "image": {
79
+ renderCanvasWidgets(builder, rect, theme, parentStyle, node, terminalProfile, readZLayer);
80
+ return null;
81
+ }
82
+ case "lineChart":
83
+ case "scatter":
84
+ case "heatmap":
85
+ case "sparkline":
86
+ case "barChart":
1144
87
  case "miniChart": {
1145
- if (!isVisibleRect(rect))
1146
- break;
1147
- const props = vnode.props;
1148
- const rawValues = Array.isArray(props.values) ? props.values : [];
1149
- const values = rawValues.filter((item) => isRecord(item));
1150
- if (values.length === 0)
1151
- break;
1152
- const variant = props.variant === "pills" ? "pills" : "bars";
1153
- const ownStyle = asTextStyle(props.style);
1154
- const style = mergeTextStyle(parentStyle, ownStyle);
1155
- maybeFillOwnBackground(builder, rect, ownStyle, style);
1156
- const fillGlyph = variant === "pills" ? "●" : "▓";
1157
- const emptyGlyph = variant === "pills" ? "○" : "░";
1158
- const fillStyle = mergeTextStyle(style, { fg: theme.colors.primary, bold: true });
1159
- const trackStyle = mergeTextStyle(style, { fg: theme.colors.muted });
1160
- const segments = [];
1161
- for (let i = 0; i < values.length; i++) {
1162
- const item = values[i];
1163
- if (!item)
1164
- continue;
1165
- if (i > 0)
1166
- segments.push({ text: " ", style });
1167
- const label = readString(item.label) ?? "";
1168
- const value = Math.max(0, readNumber(item.value) ?? 0);
1169
- const max = Math.max(1, readNumber(item.max) ?? Math.max(value, 1));
1170
- const ratio = clamp01(value / max);
1171
- const cells = 5;
1172
- const filled = Math.max(0, Math.min(cells, Math.round(cells * ratio)));
1173
- const empty = Math.max(0, cells - filled);
1174
- if (label.length > 0)
1175
- segments.push({ text: `${label}:`, style });
1176
- if (filled > 0)
1177
- segments.push({ text: repeatCached(fillGlyph, filled), style: fillStyle });
1178
- if (empty > 0)
1179
- segments.push({ text: repeatCached(emptyGlyph, empty), style: trackStyle });
1180
- segments.push({ text: ` ${Math.round(ratio * 100)}%`, style });
1181
- }
1182
- builder.pushClip(rect.x, rect.y, rect.w, rect.h);
1183
- drawSegments(builder, rect.x, rect.y, rect.w, segments);
1184
- builder.popClip();
1185
- break;
88
+ renderChartWidgets(builder, rect, theme, parentStyle, node, maybeFillOwnBackground);
89
+ return null;
1186
90
  }
1187
91
  default:
1188
- break;
92
+ return null;
1189
93
  }
1190
- return resolvedCursor;
1191
94
  }
1192
95
  //# sourceMappingURL=basic.js.map