@rezi-ui/core 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/README.md +12 -0
  2. package/dist/abi.d.ts +72 -0
  3. package/dist/abi.d.ts.map +1 -0
  4. package/dist/abi.js +86 -0
  5. package/dist/abi.js.map +1 -0
  6. package/dist/app/__tests__/dirtyFlagPlan.test.d.ts +2 -0
  7. package/dist/app/__tests__/dirtyFlagPlan.test.d.ts.map +1 -0
  8. package/dist/app/__tests__/dirtyFlagPlan.test.js +207 -0
  9. package/dist/app/__tests__/dirtyFlagPlan.test.js.map +1 -0
  10. package/dist/app/__tests__/eventPump.test.d.ts +2 -0
  11. package/dist/app/__tests__/eventPump.test.d.ts.map +1 -0
  12. package/dist/app/__tests__/eventPump.test.js +48 -0
  13. package/dist/app/__tests__/eventPump.test.js.map +1 -0
  14. package/dist/app/__tests__/fatal.test.d.ts +2 -0
  15. package/dist/app/__tests__/fatal.test.d.ts.map +1 -0
  16. package/dist/app/__tests__/fatal.test.js +27 -0
  17. package/dist/app/__tests__/fatal.test.js.map +1 -0
  18. package/dist/app/__tests__/frameCoalescing.test.d.ts +2 -0
  19. package/dist/app/__tests__/frameCoalescing.test.d.ts.map +1 -0
  20. package/dist/app/__tests__/frameCoalescing.test.js +33 -0
  21. package/dist/app/__tests__/frameCoalescing.test.js.map +1 -0
  22. package/dist/app/__tests__/helpers.d.ts +39 -0
  23. package/dist/app/__tests__/helpers.d.ts.map +1 -0
  24. package/dist/app/__tests__/helpers.js +99 -0
  25. package/dist/app/__tests__/helpers.js.map +1 -0
  26. package/dist/app/__tests__/interactivePriority.test.d.ts +2 -0
  27. package/dist/app/__tests__/interactivePriority.test.d.ts.map +1 -0
  28. package/dist/app/__tests__/interactivePriority.test.js +61 -0
  29. package/dist/app/__tests__/interactivePriority.test.js.map +1 -0
  30. package/dist/app/__tests__/modes.test.d.ts +2 -0
  31. package/dist/app/__tests__/modes.test.d.ts.map +1 -0
  32. package/dist/app/__tests__/modes.test.js +48 -0
  33. package/dist/app/__tests__/modes.test.js.map +1 -0
  34. package/dist/app/__tests__/onEventHandlers.test.d.ts +2 -0
  35. package/dist/app/__tests__/onEventHandlers.test.d.ts.map +1 -0
  36. package/dist/app/__tests__/onEventHandlers.test.js +41 -0
  37. package/dist/app/__tests__/onEventHandlers.test.js.map +1 -0
  38. package/dist/app/__tests__/rawRender.test.d.ts +2 -0
  39. package/dist/app/__tests__/rawRender.test.d.ts.map +1 -0
  40. package/dist/app/__tests__/rawRender.test.js +102 -0
  41. package/dist/app/__tests__/rawRender.test.js.map +1 -0
  42. package/dist/app/__tests__/stateMachine.test.d.ts +2 -0
  43. package/dist/app/__tests__/stateMachine.test.d.ts.map +1 -0
  44. package/dist/app/__tests__/stateMachine.test.js +22 -0
  45. package/dist/app/__tests__/stateMachine.test.js.map +1 -0
  46. package/dist/app/__tests__/stop_during_frame_rejection.test.d.ts +2 -0
  47. package/dist/app/__tests__/stop_during_frame_rejection.test.d.ts.map +1 -0
  48. package/dist/app/__tests__/stop_during_frame_rejection.test.js +54 -0
  49. package/dist/app/__tests__/stop_during_frame_rejection.test.js.map +1 -0
  50. package/dist/app/__tests__/stubBackend.d.ts +23 -0
  51. package/dist/app/__tests__/stubBackend.d.ts.map +1 -0
  52. package/dist/app/__tests__/stubBackend.js +76 -0
  53. package/dist/app/__tests__/stubBackend.js.map +1 -0
  54. package/dist/app/__tests__/syncFrameAckFastPath.test.d.ts +2 -0
  55. package/dist/app/__tests__/syncFrameAckFastPath.test.d.ts.map +1 -0
  56. package/dist/app/__tests__/syncFrameAckFastPath.test.js +47 -0
  57. package/dist/app/__tests__/syncFrameAckFastPath.test.js.map +1 -0
  58. package/dist/app/__tests__/turnScheduler.test.d.ts +2 -0
  59. package/dist/app/__tests__/turnScheduler.test.d.ts.map +1 -0
  60. package/dist/app/__tests__/turnScheduler.test.js +20 -0
  61. package/dist/app/__tests__/turnScheduler.test.js.map +1 -0
  62. package/dist/app/__tests__/updates.test.d.ts +2 -0
  63. package/dist/app/__tests__/updates.test.d.ts.map +1 -0
  64. package/dist/app/__tests__/updates.test.js +81 -0
  65. package/dist/app/__tests__/updates.test.js.map +1 -0
  66. package/dist/app/__tests__/widgetRenderer.integration.test.d.ts +2 -0
  67. package/dist/app/__tests__/widgetRenderer.integration.test.d.ts.map +1 -0
  68. package/dist/app/__tests__/widgetRenderer.integration.test.js +305 -0
  69. package/dist/app/__tests__/widgetRenderer.integration.test.js.map +1 -0
  70. package/dist/app/createApp.d.ts +68 -0
  71. package/dist/app/createApp.d.ts.map +1 -0
  72. package/dist/app/createApp.js +908 -0
  73. package/dist/app/createApp.js.map +1 -0
  74. package/dist/app/rawRenderer.d.ts +58 -0
  75. package/dist/app/rawRenderer.d.ts.map +1 -0
  76. package/dist/app/rawRenderer.js +89 -0
  77. package/dist/app/rawRenderer.js.map +1 -0
  78. package/dist/app/stateMachine.d.ts +44 -0
  79. package/dist/app/stateMachine.d.ts.map +1 -0
  80. package/dist/app/stateMachine.js +76 -0
  81. package/dist/app/stateMachine.js.map +1 -0
  82. package/dist/app/turnScheduler.d.ts +43 -0
  83. package/dist/app/turnScheduler.d.ts.map +1 -0
  84. package/dist/app/turnScheduler.js +72 -0
  85. package/dist/app/turnScheduler.js.map +1 -0
  86. package/dist/app/updateQueue.d.ts +32 -0
  87. package/dist/app/updateQueue.d.ts.map +1 -0
  88. package/dist/app/updateQueue.js +37 -0
  89. package/dist/app/updateQueue.js.map +1 -0
  90. package/dist/app/widgetRenderer/codeEditorRouting.d.ts +8 -0
  91. package/dist/app/widgetRenderer/codeEditorRouting.d.ts.map +1 -0
  92. package/dist/app/widgetRenderer/codeEditorRouting.js +184 -0
  93. package/dist/app/widgetRenderer/codeEditorRouting.js.map +1 -0
  94. package/dist/app/widgetRenderer/commandPaletteRouting.d.ts +5 -0
  95. package/dist/app/widgetRenderer/commandPaletteRouting.d.ts.map +1 -0
  96. package/dist/app/widgetRenderer/commandPaletteRouting.js +143 -0
  97. package/dist/app/widgetRenderer/commandPaletteRouting.js.map +1 -0
  98. package/dist/app/widgetRenderer/fileNodeCache.d.ts +9 -0
  99. package/dist/app/widgetRenderer/fileNodeCache.d.ts.map +1 -0
  100. package/dist/app/widgetRenderer/fileNodeCache.js +34 -0
  101. package/dist/app/widgetRenderer/fileNodeCache.js.map +1 -0
  102. package/dist/app/widgetRenderer/filePickerRouting.d.ts +6 -0
  103. package/dist/app/widgetRenderer/filePickerRouting.d.ts.map +1 -0
  104. package/dist/app/widgetRenderer/filePickerRouting.js +145 -0
  105. package/dist/app/widgetRenderer/filePickerRouting.js.map +1 -0
  106. package/dist/app/widgetRenderer/renderCaches.d.ts +55 -0
  107. package/dist/app/widgetRenderer/renderCaches.d.ts.map +1 -0
  108. package/dist/app/widgetRenderer/renderCaches.js +202 -0
  109. package/dist/app/widgetRenderer/renderCaches.js.map +1 -0
  110. package/dist/app/widgetRenderer/submitFramePipeline.d.ts +18 -0
  111. package/dist/app/widgetRenderer/submitFramePipeline.d.ts.map +1 -0
  112. package/dist/app/widgetRenderer/submitFramePipeline.js +253 -0
  113. package/dist/app/widgetRenderer/submitFramePipeline.js.map +1 -0
  114. package/dist/app/widgetRenderer/toolApprovalRouting.d.ts +5 -0
  115. package/dist/app/widgetRenderer/toolApprovalRouting.d.ts.map +1 -0
  116. package/dist/app/widgetRenderer/toolApprovalRouting.js +56 -0
  117. package/dist/app/widgetRenderer/toolApprovalRouting.js.map +1 -0
  118. package/dist/app/widgetRenderer.d.ts +238 -0
  119. package/dist/app/widgetRenderer.d.ts.map +1 -0
  120. package/dist/app/widgetRenderer.js +1891 -0
  121. package/dist/app/widgetRenderer.js.map +1 -0
  122. package/dist/backend.d.ts +95 -0
  123. package/dist/backend.d.ts.map +1 -0
  124. package/dist/backend.js +10 -0
  125. package/dist/backend.js.map +1 -0
  126. package/dist/binary/__tests__/reader.test.d.ts +2 -0
  127. package/dist/binary/__tests__/reader.test.d.ts.map +1 -0
  128. package/dist/binary/__tests__/reader.test.js +35 -0
  129. package/dist/binary/__tests__/reader.test.js.map +1 -0
  130. package/dist/binary/__tests__/writer.test.d.ts +2 -0
  131. package/dist/binary/__tests__/writer.test.d.ts.map +1 -0
  132. package/dist/binary/__tests__/writer.test.js +36 -0
  133. package/dist/binary/__tests__/writer.test.js.map +1 -0
  134. package/dist/binary/parseError.d.ts +37 -0
  135. package/dist/binary/parseError.d.ts.map +1 -0
  136. package/dist/binary/parseError.js +33 -0
  137. package/dist/binary/parseError.js.map +1 -0
  138. package/dist/binary/reader.d.ts +52 -0
  139. package/dist/binary/reader.d.ts.map +1 -0
  140. package/dist/binary/reader.js +107 -0
  141. package/dist/binary/reader.js.map +1 -0
  142. package/dist/binary/writer.d.ts +59 -0
  143. package/dist/binary/writer.d.ts.map +1 -0
  144. package/dist/binary/writer.js +114 -0
  145. package/dist/binary/writer.js.map +1 -0
  146. package/dist/cursor/cursorState.d.ts +89 -0
  147. package/dist/cursor/cursorState.d.ts.map +1 -0
  148. package/dist/cursor/cursorState.js +82 -0
  149. package/dist/cursor/cursorState.js.map +1 -0
  150. package/dist/cursor/index.d.ts +9 -0
  151. package/dist/cursor/index.d.ts.map +1 -0
  152. package/dist/cursor/index.js +9 -0
  153. package/dist/cursor/index.js.map +1 -0
  154. package/dist/debug/__tests__/eventTrace.test.d.ts +7 -0
  155. package/dist/debug/__tests__/eventTrace.test.d.ts.map +1 -0
  156. package/dist/debug/__tests__/eventTrace.test.js +59 -0
  157. package/dist/debug/__tests__/eventTrace.test.js.map +1 -0
  158. package/dist/debug/__tests__/frameInspector.test.d.ts +8 -0
  159. package/dist/debug/__tests__/frameInspector.test.d.ts.map +1 -0
  160. package/dist/debug/__tests__/frameInspector.test.js +121 -0
  161. package/dist/debug/__tests__/frameInspector.test.js.map +1 -0
  162. package/dist/debug/__tests__/parsers.test.d.ts +8 -0
  163. package/dist/debug/__tests__/parsers.test.d.ts.map +1 -0
  164. package/dist/debug/__tests__/parsers.test.js +265 -0
  165. package/dist/debug/__tests__/parsers.test.js.map +1 -0
  166. package/dist/debug/__tests__/stateTimeline.test.d.ts +7 -0
  167. package/dist/debug/__tests__/stateTimeline.test.d.ts.map +1 -0
  168. package/dist/debug/__tests__/stateTimeline.test.js +55 -0
  169. package/dist/debug/__tests__/stateTimeline.test.js.map +1 -0
  170. package/dist/debug/__tests__/uiDebug.test.d.ts +2 -0
  171. package/dist/debug/__tests__/uiDebug.test.d.ts.map +1 -0
  172. package/dist/debug/__tests__/uiDebug.test.js +18 -0
  173. package/dist/debug/__tests__/uiDebug.test.js.map +1 -0
  174. package/dist/debug/constants.d.ts +84 -0
  175. package/dist/debug/constants.d.ts.map +1 -0
  176. package/dist/debug/constants.js +165 -0
  177. package/dist/debug/constants.js.map +1 -0
  178. package/dist/debug/debug.d.ts +14 -0
  179. package/dist/debug/debug.d.ts.map +1 -0
  180. package/dist/debug/debug.js +54 -0
  181. package/dist/debug/debug.js.map +1 -0
  182. package/dist/debug/debugController.d.ts +151 -0
  183. package/dist/debug/debugController.d.ts.map +1 -0
  184. package/dist/debug/debugController.js +232 -0
  185. package/dist/debug/debugController.js.map +1 -0
  186. package/dist/debug/errorAggregator.d.ts +89 -0
  187. package/dist/debug/errorAggregator.d.ts.map +1 -0
  188. package/dist/debug/errorAggregator.js +150 -0
  189. package/dist/debug/errorAggregator.js.map +1 -0
  190. package/dist/debug/eventTrace.d.ts +90 -0
  191. package/dist/debug/eventTrace.d.ts.map +1 -0
  192. package/dist/debug/eventTrace.js +153 -0
  193. package/dist/debug/eventTrace.js.map +1 -0
  194. package/dist/debug/frameInspector.d.ts +88 -0
  195. package/dist/debug/frameInspector.d.ts.map +1 -0
  196. package/dist/debug/frameInspector.js +140 -0
  197. package/dist/debug/frameInspector.js.map +1 -0
  198. package/dist/debug/index.d.ts +25 -0
  199. package/dist/debug/index.d.ts.map +1 -0
  200. package/dist/debug/index.js +58 -0
  201. package/dist/debug/index.js.map +1 -0
  202. package/dist/debug/parsers.d.ts +138 -0
  203. package/dist/debug/parsers.d.ts.map +1 -0
  204. package/dist/debug/parsers.js +397 -0
  205. package/dist/debug/parsers.js.map +1 -0
  206. package/dist/debug/stateTimeline.d.ts +73 -0
  207. package/dist/debug/stateTimeline.d.ts.map +1 -0
  208. package/dist/debug/stateTimeline.js +109 -0
  209. package/dist/debug/stateTimeline.js.map +1 -0
  210. package/dist/debug/types.d.ts +261 -0
  211. package/dist/debug/types.d.ts.map +1 -0
  212. package/dist/debug/types.js +13 -0
  213. package/dist/debug/types.js.map +1 -0
  214. package/dist/drawApi.d.ts +74 -0
  215. package/dist/drawApi.d.ts.map +1 -0
  216. package/dist/drawApi.js +6 -0
  217. package/dist/drawApi.js.map +1 -0
  218. package/dist/drawlist/__tests__/builder_v1_golden.test.d.ts +2 -0
  219. package/dist/drawlist/__tests__/builder_v1_golden.test.d.ts.map +1 -0
  220. package/dist/drawlist/__tests__/builder_v1_golden.test.js +132 -0
  221. package/dist/drawlist/__tests__/builder_v1_golden.test.js.map +1 -0
  222. package/dist/drawlist/__tests__/builder_v1_text_run.test.d.ts +2 -0
  223. package/dist/drawlist/__tests__/builder_v1_text_run.test.d.ts.map +1 -0
  224. package/dist/drawlist/__tests__/builder_v1_text_run.test.js +93 -0
  225. package/dist/drawlist/__tests__/builder_v1_text_run.test.js.map +1 -0
  226. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.d.ts +2 -0
  227. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.d.ts.map +1 -0
  228. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.js +116 -0
  229. package/dist/drawlist/__tests__/builder_v1_validate_caps.test.js.map +1 -0
  230. package/dist/drawlist/__tests__/builder_v2_cursor.test.d.ts +12 -0
  231. package/dist/drawlist/__tests__/builder_v2_cursor.test.d.ts.map +1 -0
  232. package/dist/drawlist/__tests__/builder_v2_cursor.test.js +201 -0
  233. package/dist/drawlist/__tests__/builder_v2_cursor.test.js.map +1 -0
  234. package/dist/drawlist/builder_v1.d.ts +69 -0
  235. package/dist/drawlist/builder_v1.d.ts.map +1 -0
  236. package/dist/drawlist/builder_v1.js +984 -0
  237. package/dist/drawlist/builder_v1.js.map +1 -0
  238. package/dist/drawlist/builder_v2.d.ts +57 -0
  239. package/dist/drawlist/builder_v2.d.ts.map +1 -0
  240. package/dist/drawlist/builder_v2.js +953 -0
  241. package/dist/drawlist/builder_v2.js.map +1 -0
  242. package/dist/drawlist/index.d.ts +13 -0
  243. package/dist/drawlist/index.d.ts.map +1 -0
  244. package/dist/drawlist/index.js +12 -0
  245. package/dist/drawlist/index.js.map +1 -0
  246. package/dist/drawlist/types.d.ts +138 -0
  247. package/dist/drawlist/types.d.ts.map +1 -0
  248. package/dist/drawlist/types.js +14 -0
  249. package/dist/drawlist/types.js.map +1 -0
  250. package/dist/events.d.ts +70 -0
  251. package/dist/events.d.ts.map +1 -0
  252. package/dist/events.js +7 -0
  253. package/dist/events.js.map +1 -0
  254. package/dist/focus/styles.d.ts +213 -0
  255. package/dist/focus/styles.d.ts.map +1 -0
  256. package/dist/focus/styles.js +267 -0
  257. package/dist/focus/styles.js.map +1 -0
  258. package/dist/forms/__tests__/useForm.test.d.ts +7 -0
  259. package/dist/forms/__tests__/useForm.test.d.ts.map +1 -0
  260. package/dist/forms/__tests__/useForm.test.js +371 -0
  261. package/dist/forms/__tests__/useForm.test.js.map +1 -0
  262. package/dist/forms/bind.d.ts +15 -0
  263. package/dist/forms/bind.d.ts.map +1 -0
  264. package/dist/forms/bind.js +40 -0
  265. package/dist/forms/bind.js.map +1 -0
  266. package/dist/forms/index.d.ts +10 -0
  267. package/dist/forms/index.d.ts.map +1 -0
  268. package/dist/forms/index.js +9 -0
  269. package/dist/forms/index.js.map +1 -0
  270. package/dist/forms/types.d.ts +101 -0
  271. package/dist/forms/types.d.ts.map +1 -0
  272. package/dist/forms/types.js +10 -0
  273. package/dist/forms/types.js.map +1 -0
  274. package/dist/forms/useForm.d.ts +54 -0
  275. package/dist/forms/useForm.d.ts.map +1 -0
  276. package/dist/forms/useForm.js +316 -0
  277. package/dist/forms/useForm.js.map +1 -0
  278. package/dist/forms/validation.d.ts +67 -0
  279. package/dist/forms/validation.d.ts.map +1 -0
  280. package/dist/forms/validation.js +135 -0
  281. package/dist/forms/validation.js.map +1 -0
  282. package/dist/icons/index.d.ts +5 -0
  283. package/dist/icons/index.d.ts.map +1 -0
  284. package/dist/icons/index.js +9 -0
  285. package/dist/icons/index.js.map +1 -0
  286. package/dist/icons/registry.d.ts +1452 -0
  287. package/dist/icons/registry.d.ts.map +1 -0
  288. package/dist/icons/registry.js +192 -0
  289. package/dist/icons/registry.js.map +1 -0
  290. package/dist/index.d.ts +197 -0
  291. package/dist/index.d.ts.map +1 -0
  292. package/dist/index.js +221 -0
  293. package/dist/index.js.map +1 -0
  294. package/dist/keybindings/__tests__/chordMatcher.test.d.ts +2 -0
  295. package/dist/keybindings/__tests__/chordMatcher.test.d.ts.map +1 -0
  296. package/dist/keybindings/__tests__/chordMatcher.test.js +238 -0
  297. package/dist/keybindings/__tests__/chordMatcher.test.js.map +1 -0
  298. package/dist/keybindings/__tests__/manager.test.d.ts +2 -0
  299. package/dist/keybindings/__tests__/manager.test.d.ts.map +1 -0
  300. package/dist/keybindings/__tests__/manager.test.js +377 -0
  301. package/dist/keybindings/__tests__/manager.test.js.map +1 -0
  302. package/dist/keybindings/__tests__/parser.test.d.ts +2 -0
  303. package/dist/keybindings/__tests__/parser.test.d.ts.map +1 -0
  304. package/dist/keybindings/__tests__/parser.test.js +386 -0
  305. package/dist/keybindings/__tests__/parser.test.js.map +1 -0
  306. package/dist/keybindings/chordMatcher.d.ts +75 -0
  307. package/dist/keybindings/chordMatcher.d.ts.map +1 -0
  308. package/dist/keybindings/chordMatcher.js +224 -0
  309. package/dist/keybindings/chordMatcher.js.map +1 -0
  310. package/dist/keybindings/index.d.ts +16 -0
  311. package/dist/keybindings/index.d.ts.map +1 -0
  312. package/dist/keybindings/index.js +31 -0
  313. package/dist/keybindings/index.js.map +1 -0
  314. package/dist/keybindings/keyCodes.d.ts +84 -0
  315. package/dist/keybindings/keyCodes.d.ts.map +1 -0
  316. package/dist/keybindings/keyCodes.js +182 -0
  317. package/dist/keybindings/keyCodes.js.map +1 -0
  318. package/dist/keybindings/manager.d.ts +168 -0
  319. package/dist/keybindings/manager.d.ts.map +1 -0
  320. package/dist/keybindings/manager.js +290 -0
  321. package/dist/keybindings/manager.js.map +1 -0
  322. package/dist/keybindings/parser.d.ts +71 -0
  323. package/dist/keybindings/parser.d.ts.map +1 -0
  324. package/dist/keybindings/parser.js +252 -0
  325. package/dist/keybindings/parser.js.map +1 -0
  326. package/dist/keybindings/types.d.ts +131 -0
  327. package/dist/keybindings/types.d.ts.map +1 -0
  328. package/dist/keybindings/types.js +11 -0
  329. package/dist/keybindings/types.js.map +1 -0
  330. package/dist/layout/__tests__/constraints.golden.test.d.ts +2 -0
  331. package/dist/layout/__tests__/constraints.golden.test.d.ts.map +1 -0
  332. package/dist/layout/__tests__/constraints.golden.test.js +86 -0
  333. package/dist/layout/__tests__/constraints.golden.test.js.map +1 -0
  334. package/dist/layout/__tests__/hitTest.golden.test.d.ts +2 -0
  335. package/dist/layout/__tests__/hitTest.golden.test.d.ts.map +1 -0
  336. package/dist/layout/__tests__/hitTest.golden.test.js +74 -0
  337. package/dist/layout/__tests__/hitTest.golden.test.js.map +1 -0
  338. package/dist/layout/__tests__/layout.edgecases.test.d.ts +2 -0
  339. package/dist/layout/__tests__/layout.edgecases.test.d.ts.map +1 -0
  340. package/dist/layout/__tests__/layout.edgecases.test.js +152 -0
  341. package/dist/layout/__tests__/layout.edgecases.test.js.map +1 -0
  342. package/dist/layout/__tests__/layout.golden.test.d.ts +2 -0
  343. package/dist/layout/__tests__/layout.golden.test.d.ts.map +1 -0
  344. package/dist/layout/__tests__/layout.golden.test.js +69 -0
  345. package/dist/layout/__tests__/layout.golden.test.js.map +1 -0
  346. package/dist/layout/__tests__/layout.perf.test.d.ts +8 -0
  347. package/dist/layout/__tests__/layout.perf.test.d.ts.map +1 -0
  348. package/dist/layout/__tests__/layout.perf.test.js +179 -0
  349. package/dist/layout/__tests__/layout.perf.test.js.map +1 -0
  350. package/dist/layout/__tests__/measure.validation.test.d.ts +2 -0
  351. package/dist/layout/__tests__/measure.validation.test.d.ts.map +1 -0
  352. package/dist/layout/__tests__/measure.validation.test.js +16 -0
  353. package/dist/layout/__tests__/measure.validation.test.js.map +1 -0
  354. package/dist/layout/__tests__/spacing.test.d.ts +2 -0
  355. package/dist/layout/__tests__/spacing.test.d.ts.map +1 -0
  356. package/dist/layout/__tests__/spacing.test.js +9 -0
  357. package/dist/layout/__tests__/spacing.test.js.map +1 -0
  358. package/dist/layout/__tests__/sweep.robustness.test.d.ts +11 -0
  359. package/dist/layout/__tests__/sweep.robustness.test.d.ts.map +1 -0
  360. package/dist/layout/__tests__/sweep.robustness.test.js +491 -0
  361. package/dist/layout/__tests__/sweep.robustness.test.js.map +1 -0
  362. package/dist/layout/__tests__/textMeasure.golden.test.d.ts +2 -0
  363. package/dist/layout/__tests__/textMeasure.golden.test.d.ts.map +1 -0
  364. package/dist/layout/__tests__/textMeasure.golden.test.js +32 -0
  365. package/dist/layout/__tests__/textMeasure.golden.test.js.map +1 -0
  366. package/dist/layout/constraints.d.ts +27 -0
  367. package/dist/layout/constraints.d.ts.map +1 -0
  368. package/dist/layout/constraints.js +57 -0
  369. package/dist/layout/constraints.js.map +1 -0
  370. package/dist/layout/engine/bounds.d.ts +7 -0
  371. package/dist/layout/engine/bounds.d.ts.map +1 -0
  372. package/dist/layout/engine/bounds.js +25 -0
  373. package/dist/layout/engine/bounds.js.map +1 -0
  374. package/dist/layout/engine/flex.d.ts +11 -0
  375. package/dist/layout/engine/flex.d.ts.map +1 -0
  376. package/dist/layout/engine/flex.js +162 -0
  377. package/dist/layout/engine/flex.js.map +1 -0
  378. package/dist/layout/engine/guards.d.ts +14 -0
  379. package/dist/layout/engine/guards.d.ts.map +1 -0
  380. package/dist/layout/engine/guards.js +36 -0
  381. package/dist/layout/engine/guards.js.map +1 -0
  382. package/dist/layout/engine/layoutEngine.d.ts +41 -0
  383. package/dist/layout/engine/layoutEngine.d.ts.map +1 -0
  384. package/dist/layout/engine/layoutEngine.js +344 -0
  385. package/dist/layout/engine/layoutEngine.js.map +1 -0
  386. package/dist/layout/engine/layoutTree.d.ts +6 -0
  387. package/dist/layout/engine/layoutTree.d.ts.map +1 -0
  388. package/dist/layout/engine/layoutTree.js +16 -0
  389. package/dist/layout/engine/layoutTree.js.map +1 -0
  390. package/dist/layout/engine/pool.d.ts +10 -0
  391. package/dist/layout/engine/pool.d.ts.map +1 -0
  392. package/dist/layout/engine/pool.js +33 -0
  393. package/dist/layout/engine/pool.js.map +1 -0
  394. package/dist/layout/engine/result.d.ts +3 -0
  395. package/dist/layout/engine/result.d.ts.map +1 -0
  396. package/dist/layout/engine/result.js +4 -0
  397. package/dist/layout/engine/result.js.map +1 -0
  398. package/dist/layout/engine/types.d.ts +12 -0
  399. package/dist/layout/engine/types.d.ts.map +1 -0
  400. package/dist/layout/engine/types.js +2 -0
  401. package/dist/layout/engine/types.js.map +1 -0
  402. package/dist/layout/hitTest.d.ts +25 -0
  403. package/dist/layout/hitTest.d.ts.map +1 -0
  404. package/dist/layout/hitTest.js +111 -0
  405. package/dist/layout/hitTest.js.map +1 -0
  406. package/dist/layout/kinds/box.d.ts +10 -0
  407. package/dist/layout/kinds/box.d.ts.map +1 -0
  408. package/dist/layout/kinds/box.js +140 -0
  409. package/dist/layout/kinds/box.js.map +1 -0
  410. package/dist/layout/kinds/collections.d.ts +7 -0
  411. package/dist/layout/kinds/collections.d.ts.map +1 -0
  412. package/dist/layout/kinds/collections.js +87 -0
  413. package/dist/layout/kinds/collections.js.map +1 -0
  414. package/dist/layout/kinds/leaf.d.ts +7 -0
  415. package/dist/layout/kinds/leaf.d.ts.map +1 -0
  416. package/dist/layout/kinds/leaf.js +390 -0
  417. package/dist/layout/kinds/leaf.js.map +1 -0
  418. package/dist/layout/kinds/overlays.d.ts +10 -0
  419. package/dist/layout/kinds/overlays.d.ts.map +1 -0
  420. package/dist/layout/kinds/overlays.js +302 -0
  421. package/dist/layout/kinds/overlays.js.map +1 -0
  422. package/dist/layout/kinds/splitPane.d.ts +9 -0
  423. package/dist/layout/kinds/splitPane.d.ts.map +1 -0
  424. package/dist/layout/kinds/splitPane.js +118 -0
  425. package/dist/layout/kinds/splitPane.js.map +1 -0
  426. package/dist/layout/kinds/stack.d.ts +10 -0
  427. package/dist/layout/kinds/stack.d.ts.map +1 -0
  428. package/dist/layout/kinds/stack.js +803 -0
  429. package/dist/layout/kinds/stack.js.map +1 -0
  430. package/dist/layout/layout.d.ts +11 -0
  431. package/dist/layout/layout.d.ts.map +1 -0
  432. package/dist/layout/layout.js +10 -0
  433. package/dist/layout/layout.js.map +1 -0
  434. package/dist/layout/positioning.d.ts +124 -0
  435. package/dist/layout/positioning.d.ts.map +1 -0
  436. package/dist/layout/positioning.js +234 -0
  437. package/dist/layout/positioning.js.map +1 -0
  438. package/dist/layout/spacing-scale.d.ts +59 -0
  439. package/dist/layout/spacing-scale.d.ts.map +1 -0
  440. package/dist/layout/spacing-scale.js +79 -0
  441. package/dist/layout/spacing-scale.js.map +1 -0
  442. package/dist/layout/spacing.d.ts +46 -0
  443. package/dist/layout/spacing.d.ts.map +1 -0
  444. package/dist/layout/spacing.js +57 -0
  445. package/dist/layout/spacing.js.map +1 -0
  446. package/dist/layout/textMeasure.d.ts +72 -0
  447. package/dist/layout/textMeasure.d.ts.map +1 -0
  448. package/dist/layout/textMeasure.js +363 -0
  449. package/dist/layout/textMeasure.js.map +1 -0
  450. package/dist/layout/types.d.ts +43 -0
  451. package/dist/layout/types.d.ts.map +1 -0
  452. package/dist/layout/types.js +10 -0
  453. package/dist/layout/types.js.map +1 -0
  454. package/dist/layout/unicode/props.d.ts +23 -0
  455. package/dist/layout/unicode/props.d.ts.map +1 -0
  456. package/dist/layout/unicode/props.js +80 -0
  457. package/dist/layout/unicode/props.js.map +1 -0
  458. package/dist/layout/unicode/tables_15_1_0.d.ts +11 -0
  459. package/dist/layout/unicode/tables_15_1_0.d.ts.map +1 -0
  460. package/dist/layout/unicode/tables_15_1_0.js +416 -0
  461. package/dist/layout/unicode/tables_15_1_0.js.map +1 -0
  462. package/dist/layout/validateProps.d.ts +101 -0
  463. package/dist/layout/validateProps.d.ts.map +1 -0
  464. package/dist/layout/validateProps.js +328 -0
  465. package/dist/layout/validateProps.js.map +1 -0
  466. package/dist/perf/index.d.ts +5 -0
  467. package/dist/perf/index.d.ts.map +1 -0
  468. package/dist/perf/index.js +5 -0
  469. package/dist/perf/index.js.map +1 -0
  470. package/dist/perf/perf.d.ts +71 -0
  471. package/dist/perf/perf.d.ts.map +1 -0
  472. package/dist/perf/perf.js +239 -0
  473. package/dist/perf/perf.js.map +1 -0
  474. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.d.ts +2 -0
  475. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.d.ts.map +1 -0
  476. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.js +35 -0
  477. package/dist/protocol/__tests__/zrev_v1_fuzz_lite.test.js.map +1 -0
  478. package/dist/protocol/__tests__/zrev_v1_invalid.test.d.ts +2 -0
  479. package/dist/protocol/__tests__/zrev_v1_invalid.test.d.ts.map +1 -0
  480. package/dist/protocol/__tests__/zrev_v1_invalid.test.js +128 -0
  481. package/dist/protocol/__tests__/zrev_v1_invalid.test.js.map +1 -0
  482. package/dist/protocol/__tests__/zrev_v1_valid.test.d.ts +2 -0
  483. package/dist/protocol/__tests__/zrev_v1_valid.test.d.ts.map +1 -0
  484. package/dist/protocol/__tests__/zrev_v1_valid.test.js +126 -0
  485. package/dist/protocol/__tests__/zrev_v1_valid.test.js.map +1 -0
  486. package/dist/protocol/types.d.ts +119 -0
  487. package/dist/protocol/types.d.ts.map +1 -0
  488. package/dist/protocol/types.js +14 -0
  489. package/dist/protocol/types.js.map +1 -0
  490. package/dist/protocol/zrev_v1.d.ts +52 -0
  491. package/dist/protocol/zrev_v1.d.ts.map +1 -0
  492. package/dist/protocol/zrev_v1.js +288 -0
  493. package/dist/protocol/zrev_v1.js.map +1 -0
  494. package/dist/renderer/__tests__/overlay.edge.test.d.ts +2 -0
  495. package/dist/renderer/__tests__/overlay.edge.test.d.ts.map +1 -0
  496. package/dist/renderer/__tests__/overlay.edge.test.js +101 -0
  497. package/dist/renderer/__tests__/overlay.edge.test.js.map +1 -0
  498. package/dist/renderer/__tests__/render.golden.test.d.ts +2 -0
  499. package/dist/renderer/__tests__/render.golden.test.d.ts.map +1 -0
  500. package/dist/renderer/__tests__/render.golden.test.js +220 -0
  501. package/dist/renderer/__tests__/render.golden.test.js.map +1 -0
  502. package/dist/renderer/boxGlyphs.d.ts +87 -0
  503. package/dist/renderer/boxGlyphs.d.ts.map +1 -0
  504. package/dist/renderer/boxGlyphs.js +143 -0
  505. package/dist/renderer/boxGlyphs.js.map +1 -0
  506. package/dist/renderer/renderToDrawlist/boxBorder.d.ts +42 -0
  507. package/dist/renderer/renderToDrawlist/boxBorder.d.ts.map +1 -0
  508. package/dist/renderer/renderToDrawlist/boxBorder.js +138 -0
  509. package/dist/renderer/renderToDrawlist/boxBorder.js.map +1 -0
  510. package/dist/renderer/renderToDrawlist/indices.d.ts +11 -0
  511. package/dist/renderer/renderToDrawlist/indices.d.ts.map +1 -0
  512. package/dist/renderer/renderToDrawlist/indices.js +50 -0
  513. package/dist/renderer/renderToDrawlist/indices.js.map +1 -0
  514. package/dist/renderer/renderToDrawlist/renderTree.d.ts +21 -0
  515. package/dist/renderer/renderToDrawlist/renderTree.d.ts.map +1 -0
  516. package/dist/renderer/renderToDrawlist/renderTree.js +117 -0
  517. package/dist/renderer/renderToDrawlist/renderTree.js.map +1 -0
  518. package/dist/renderer/renderToDrawlist/simpleVNode.d.ts +9 -0
  519. package/dist/renderer/renderToDrawlist/simpleVNode.d.ts.map +1 -0
  520. package/dist/renderer/renderToDrawlist/simpleVNode.js +634 -0
  521. package/dist/renderer/renderToDrawlist/simpleVNode.js.map +1 -0
  522. package/dist/renderer/renderToDrawlist/spacing.d.ts +34 -0
  523. package/dist/renderer/renderToDrawlist/spacing.d.ts.map +1 -0
  524. package/dist/renderer/renderToDrawlist/spacing.js +53 -0
  525. package/dist/renderer/renderToDrawlist/spacing.js.map +1 -0
  526. package/dist/renderer/renderToDrawlist/textStyle.d.ts +9 -0
  527. package/dist/renderer/renderToDrawlist/textStyle.d.ts.map +1 -0
  528. package/dist/renderer/renderToDrawlist/textStyle.js +58 -0
  529. package/dist/renderer/renderToDrawlist/textStyle.js.map +1 -0
  530. package/dist/renderer/renderToDrawlist/types.d.ts +96 -0
  531. package/dist/renderer/renderToDrawlist/types.d.ts.map +1 -0
  532. package/dist/renderer/renderToDrawlist/types.js +2 -0
  533. package/dist/renderer/renderToDrawlist/types.js.map +1 -0
  534. package/dist/renderer/renderToDrawlist/widgets/basic.d.ts +17 -0
  535. package/dist/renderer/renderToDrawlist/widgets/basic.d.ts.map +1 -0
  536. package/dist/renderer/renderToDrawlist/widgets/basic.js +1149 -0
  537. package/dist/renderer/renderToDrawlist/widgets/basic.js.map +1 -0
  538. package/dist/renderer/renderToDrawlist/widgets/collections.d.ts +10 -0
  539. package/dist/renderer/renderToDrawlist/widgets/collections.d.ts.map +1 -0
  540. package/dist/renderer/renderToDrawlist/widgets/collections.js +304 -0
  541. package/dist/renderer/renderToDrawlist/widgets/collections.js.map +1 -0
  542. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts +10 -0
  543. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts.map +1 -0
  544. package/dist/renderer/renderToDrawlist/widgets/containers.js +242 -0
  545. package/dist/renderer/renderToDrawlist/widgets/containers.js.map +1 -0
  546. package/dist/renderer/renderToDrawlist/widgets/editors.d.ts +17 -0
  547. package/dist/renderer/renderToDrawlist/widgets/editors.d.ts.map +1 -0
  548. package/dist/renderer/renderToDrawlist/widgets/editors.js +497 -0
  549. package/dist/renderer/renderToDrawlist/widgets/editors.js.map +1 -0
  550. package/dist/renderer/renderToDrawlist/widgets/files.d.ts +13 -0
  551. package/dist/renderer/renderToDrawlist/widgets/files.d.ts.map +1 -0
  552. package/dist/renderer/renderToDrawlist/widgets/files.js +288 -0
  553. package/dist/renderer/renderToDrawlist/widgets/files.js.map +1 -0
  554. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts +21 -0
  555. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts.map +1 -0
  556. package/dist/renderer/renderToDrawlist/widgets/overlays.js +358 -0
  557. package/dist/renderer/renderToDrawlist/widgets/overlays.js.map +1 -0
  558. package/dist/renderer/renderToDrawlist.d.ts +21 -0
  559. package/dist/renderer/renderToDrawlist.d.ts.map +1 -0
  560. package/dist/renderer/renderToDrawlist.js +53 -0
  561. package/dist/renderer/renderToDrawlist.js.map +1 -0
  562. package/dist/renderer/scrollbar.d.ts +129 -0
  563. package/dist/renderer/scrollbar.d.ts.map +1 -0
  564. package/dist/renderer/scrollbar.js +219 -0
  565. package/dist/renderer/scrollbar.js.map +1 -0
  566. package/dist/renderer/shadow.d.ts +74 -0
  567. package/dist/renderer/shadow.d.ts.map +1 -0
  568. package/dist/renderer/shadow.js +118 -0
  569. package/dist/renderer/shadow.js.map +1 -0
  570. package/dist/renderer/styles.d.ts +28 -0
  571. package/dist/renderer/styles.d.ts.map +1 -0
  572. package/dist/renderer/styles.js +42 -0
  573. package/dist/renderer/styles.js.map +1 -0
  574. package/dist/runtime/__tests__/duplicateIdFatal.test.d.ts +2 -0
  575. package/dist/runtime/__tests__/duplicateIdFatal.test.d.ts.map +1 -0
  576. package/dist/runtime/__tests__/duplicateIdFatal.test.js +45 -0
  577. package/dist/runtime/__tests__/duplicateIdFatal.test.js.map +1 -0
  578. package/dist/runtime/__tests__/duplicateKeyFatal.test.d.ts +2 -0
  579. package/dist/runtime/__tests__/duplicateKeyFatal.test.d.ts.map +1 -0
  580. package/dist/runtime/__tests__/duplicateKeyFatal.test.js +20 -0
  581. package/dist/runtime/__tests__/duplicateKeyFatal.test.js.map +1 -0
  582. package/dist/runtime/__tests__/focusList.golden.test.d.ts +2 -0
  583. package/dist/runtime/__tests__/focusList.golden.test.d.ts.map +1 -0
  584. package/dist/runtime/__tests__/focusList.golden.test.js +98 -0
  585. package/dist/runtime/__tests__/focusList.golden.test.js.map +1 -0
  586. package/dist/runtime/__tests__/focusZones.golden.test.d.ts +16 -0
  587. package/dist/runtime/__tests__/focusZones.golden.test.d.ts.map +1 -0
  588. package/dist/runtime/__tests__/focusZones.golden.test.js +594 -0
  589. package/dist/runtime/__tests__/focusZones.golden.test.js.map +1 -0
  590. package/dist/runtime/__tests__/inputRouting.golden.test.d.ts +2 -0
  591. package/dist/runtime/__tests__/inputRouting.golden.test.d.ts.map +1 -0
  592. package/dist/runtime/__tests__/inputRouting.golden.test.js +56 -0
  593. package/dist/runtime/__tests__/inputRouting.golden.test.js.map +1 -0
  594. package/dist/runtime/__tests__/keyRouting.golden.test.d.ts +2 -0
  595. package/dist/runtime/__tests__/keyRouting.golden.test.d.ts.map +1 -0
  596. package/dist/runtime/__tests__/keyRouting.golden.test.js +43 -0
  597. package/dist/runtime/__tests__/keyRouting.golden.test.js.map +1 -0
  598. package/dist/runtime/__tests__/localStateStore.test.d.ts +2 -0
  599. package/dist/runtime/__tests__/localStateStore.test.d.ts.map +1 -0
  600. package/dist/runtime/__tests__/localStateStore.test.js +25 -0
  601. package/dist/runtime/__tests__/localStateStore.test.js.map +1 -0
  602. package/dist/runtime/__tests__/mouseRouting.golden.test.d.ts +2 -0
  603. package/dist/runtime/__tests__/mouseRouting.golden.test.d.ts.map +1 -0
  604. package/dist/runtime/__tests__/mouseRouting.golden.test.js +47 -0
  605. package/dist/runtime/__tests__/mouseRouting.golden.test.js.map +1 -0
  606. package/dist/runtime/__tests__/reconcile.test.d.ts +2 -0
  607. package/dist/runtime/__tests__/reconcile.test.d.ts.map +1 -0
  608. package/dist/runtime/__tests__/reconcile.test.js +46 -0
  609. package/dist/runtime/__tests__/reconcile.test.js.map +1 -0
  610. package/dist/runtime/__tests__/widgetMeta.test.d.ts +2 -0
  611. package/dist/runtime/__tests__/widgetMeta.test.d.ts.map +1 -0
  612. package/dist/runtime/__tests__/widgetMeta.test.js +196 -0
  613. package/dist/runtime/__tests__/widgetMeta.test.js.map +1 -0
  614. package/dist/runtime/commit.d.ts +76 -0
  615. package/dist/runtime/commit.d.ts.map +1 -0
  616. package/dist/runtime/commit.js +366 -0
  617. package/dist/runtime/commit.js.map +1 -0
  618. package/dist/runtime/focus.d.ts +162 -0
  619. package/dist/runtime/focus.d.ts.map +1 -0
  620. package/dist/runtime/focus.js +488 -0
  621. package/dist/runtime/focus.js.map +1 -0
  622. package/dist/runtime/inputEditor.d.ts +49 -0
  623. package/dist/runtime/inputEditor.d.ts.map +1 -0
  624. package/dist/runtime/inputEditor.js +312 -0
  625. package/dist/runtime/inputEditor.js.map +1 -0
  626. package/dist/runtime/instance.d.ts +21 -0
  627. package/dist/runtime/instance.d.ts.map +1 -0
  628. package/dist/runtime/instance.js +27 -0
  629. package/dist/runtime/instance.js.map +1 -0
  630. package/dist/runtime/instances.d.ts +105 -0
  631. package/dist/runtime/instances.d.ts.map +1 -0
  632. package/dist/runtime/instances.js +248 -0
  633. package/dist/runtime/instances.js.map +1 -0
  634. package/dist/runtime/layers.d.ts +144 -0
  635. package/dist/runtime/layers.d.ts.map +1 -0
  636. package/dist/runtime/layers.js +264 -0
  637. package/dist/runtime/layers.js.map +1 -0
  638. package/dist/runtime/localState.d.ts +172 -0
  639. package/dist/runtime/localState.d.ts.map +1 -0
  640. package/dist/runtime/localState.js +182 -0
  641. package/dist/runtime/localState.js.map +1 -0
  642. package/dist/runtime/reconcile.d.ts +64 -0
  643. package/dist/runtime/reconcile.d.ts.map +1 -0
  644. package/dist/runtime/reconcile.js +223 -0
  645. package/dist/runtime/reconcile.js.map +1 -0
  646. package/dist/runtime/router/dropdown.d.ts +16 -0
  647. package/dist/runtime/router/dropdown.d.ts.map +1 -0
  648. package/dist/runtime/router/dropdown.js +108 -0
  649. package/dist/runtime/router/dropdown.js.map +1 -0
  650. package/dist/runtime/router/key.d.ts +10 -0
  651. package/dist/runtime/router/key.d.ts.map +1 -0
  652. package/dist/runtime/router/key.js +39 -0
  653. package/dist/runtime/router/key.js.map +1 -0
  654. package/dist/runtime/router/layer.d.ts +11 -0
  655. package/dist/runtime/router/layer.d.ts.map +1 -0
  656. package/dist/runtime/router/layer.js +45 -0
  657. package/dist/runtime/router/layer.js.map +1 -0
  658. package/dist/runtime/router/mouse.d.ts +9 -0
  659. package/dist/runtime/router/mouse.d.ts.map +1 -0
  660. package/dist/runtime/router/mouse.js +38 -0
  661. package/dist/runtime/router/mouse.js.map +1 -0
  662. package/dist/runtime/router/table.d.ts +15 -0
  663. package/dist/runtime/router/table.d.ts.map +1 -0
  664. package/dist/runtime/router/table.js +182 -0
  665. package/dist/runtime/router/table.js.map +1 -0
  666. package/dist/runtime/router/tree.d.ts +16 -0
  667. package/dist/runtime/router/tree.d.ts.map +1 -0
  668. package/dist/runtime/router/tree.js +211 -0
  669. package/dist/runtime/router/tree.js.map +1 -0
  670. package/dist/runtime/router/types.d.ts +194 -0
  671. package/dist/runtime/router/types.d.ts.map +1 -0
  672. package/dist/runtime/router/types.js +2 -0
  673. package/dist/runtime/router/types.js.map +1 -0
  674. package/dist/runtime/router/virtualList.d.ts +21 -0
  675. package/dist/runtime/router/virtualList.d.ts.map +1 -0
  676. package/dist/runtime/router/virtualList.js +167 -0
  677. package/dist/runtime/router/virtualList.js.map +1 -0
  678. package/dist/runtime/router/zones.d.ts +16 -0
  679. package/dist/runtime/router/zones.d.ts.map +1 -0
  680. package/dist/runtime/router/zones.js +118 -0
  681. package/dist/runtime/router/zones.js.map +1 -0
  682. package/dist/runtime/router.d.ts +18 -0
  683. package/dist/runtime/router.d.ts.map +1 -0
  684. package/dist/runtime/router.js +17 -0
  685. package/dist/runtime/router.js.map +1 -0
  686. package/dist/runtime/widgetMeta.d.ts +157 -0
  687. package/dist/runtime/widgetMeta.d.ts.map +1 -0
  688. package/dist/runtime/widgetMeta.js +618 -0
  689. package/dist/runtime/widgetMeta.js.map +1 -0
  690. package/dist/terminalCaps.d.ts +74 -0
  691. package/dist/terminalCaps.d.ts.map +1 -0
  692. package/dist/terminalCaps.js +61 -0
  693. package/dist/terminalCaps.js.map +1 -0
  694. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  695. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  696. package/dist/theme/__tests__/theme.test.js +28 -0
  697. package/dist/theme/__tests__/theme.test.js.map +1 -0
  698. package/dist/theme/defaultTheme.d.ts +9 -0
  699. package/dist/theme/defaultTheme.d.ts.map +1 -0
  700. package/dist/theme/defaultTheme.js +22 -0
  701. package/dist/theme/defaultTheme.js.map +1 -0
  702. package/dist/theme/index.d.ts +12 -0
  703. package/dist/theme/index.d.ts.map +1 -0
  704. package/dist/theme/index.js +16 -0
  705. package/dist/theme/index.js.map +1 -0
  706. package/dist/theme/interop.d.ts +13 -0
  707. package/dist/theme/interop.d.ts.map +1 -0
  708. package/dist/theme/interop.js +66 -0
  709. package/dist/theme/interop.js.map +1 -0
  710. package/dist/theme/presets.d.ts +81 -0
  711. package/dist/theme/presets.d.ts.map +1 -0
  712. package/dist/theme/presets.js +293 -0
  713. package/dist/theme/presets.js.map +1 -0
  714. package/dist/theme/resolve.d.ts +69 -0
  715. package/dist/theme/resolve.d.ts.map +1 -0
  716. package/dist/theme/resolve.js +159 -0
  717. package/dist/theme/resolve.js.map +1 -0
  718. package/dist/theme/theme.d.ts +33 -0
  719. package/dist/theme/theme.d.ts.map +1 -0
  720. package/dist/theme/theme.js +28 -0
  721. package/dist/theme/theme.js.map +1 -0
  722. package/dist/theme/tokens.d.ts +130 -0
  723. package/dist/theme/tokens.d.ts.map +1 -0
  724. package/dist/theme/tokens.js +50 -0
  725. package/dist/theme/tokens.js.map +1 -0
  726. package/dist/widgets/__tests__/basicWidgets.render.test.d.ts +2 -0
  727. package/dist/widgets/__tests__/basicWidgets.render.test.d.ts.map +1 -0
  728. package/dist/widgets/__tests__/basicWidgets.render.test.js +182 -0
  729. package/dist/widgets/__tests__/basicWidgets.render.test.js.map +1 -0
  730. package/dist/widgets/__tests__/basicWidgets.test.d.ts +2 -0
  731. package/dist/widgets/__tests__/basicWidgets.test.d.ts.map +1 -0
  732. package/dist/widgets/__tests__/basicWidgets.test.js +336 -0
  733. package/dist/widgets/__tests__/basicWidgets.test.js.map +1 -0
  734. package/dist/widgets/__tests__/collections.test.d.ts +2 -0
  735. package/dist/widgets/__tests__/collections.test.d.ts.map +1 -0
  736. package/dist/widgets/__tests__/collections.test.js +91 -0
  737. package/dist/widgets/__tests__/collections.test.js.map +1 -0
  738. package/dist/widgets/__tests__/commandPalette.test.d.ts +2 -0
  739. package/dist/widgets/__tests__/commandPalette.test.d.ts.map +1 -0
  740. package/dist/widgets/__tests__/commandPalette.test.js +13 -0
  741. package/dist/widgets/__tests__/commandPalette.test.js.map +1 -0
  742. package/dist/widgets/__tests__/composition.test.d.ts +14 -0
  743. package/dist/widgets/__tests__/composition.test.d.ts.map +1 -0
  744. package/dist/widgets/__tests__/composition.test.js +458 -0
  745. package/dist/widgets/__tests__/composition.test.js.map +1 -0
  746. package/dist/widgets/__tests__/conditionals.test.d.ts +2 -0
  747. package/dist/widgets/__tests__/conditionals.test.d.ts.map +1 -0
  748. package/dist/widgets/__tests__/conditionals.test.js +49 -0
  749. package/dist/widgets/__tests__/conditionals.test.js.map +1 -0
  750. package/dist/widgets/__tests__/containers.test.d.ts +2 -0
  751. package/dist/widgets/__tests__/containers.test.d.ts.map +1 -0
  752. package/dist/widgets/__tests__/containers.test.js +98 -0
  753. package/dist/widgets/__tests__/containers.test.js.map +1 -0
  754. package/dist/widgets/__tests__/dataVizWidgets.test.d.ts +2 -0
  755. package/dist/widgets/__tests__/dataVizWidgets.test.d.ts.map +1 -0
  756. package/dist/widgets/__tests__/dataVizWidgets.test.js +57 -0
  757. package/dist/widgets/__tests__/dataVizWidgets.test.js.map +1 -0
  758. package/dist/widgets/__tests__/dialogs.test.d.ts +2 -0
  759. package/dist/widgets/__tests__/dialogs.test.d.ts.map +1 -0
  760. package/dist/widgets/__tests__/dialogs.test.js +29 -0
  761. package/dist/widgets/__tests__/dialogs.test.js.map +1 -0
  762. package/dist/widgets/__tests__/editors.test.d.ts +2 -0
  763. package/dist/widgets/__tests__/editors.test.d.ts.map +1 -0
  764. package/dist/widgets/__tests__/editors.test.js +116 -0
  765. package/dist/widgets/__tests__/editors.test.js.map +1 -0
  766. package/dist/widgets/__tests__/filesWidgets.test.d.ts +2 -0
  767. package/dist/widgets/__tests__/filesWidgets.test.d.ts.map +1 -0
  768. package/dist/widgets/__tests__/filesWidgets.test.js +52 -0
  769. package/dist/widgets/__tests__/filesWidgets.test.js.map +1 -0
  770. package/dist/widgets/__tests__/formWidgets.test.d.ts +7 -0
  771. package/dist/widgets/__tests__/formWidgets.test.d.ts.map +1 -0
  772. package/dist/widgets/__tests__/formWidgets.test.js +241 -0
  773. package/dist/widgets/__tests__/formWidgets.test.js.map +1 -0
  774. package/dist/widgets/__tests__/infoWidgets.test.d.ts +2 -0
  775. package/dist/widgets/__tests__/infoWidgets.test.d.ts.map +1 -0
  776. package/dist/widgets/__tests__/infoWidgets.test.js +43 -0
  777. package/dist/widgets/__tests__/infoWidgets.test.js.map +1 -0
  778. package/dist/widgets/__tests__/layers.golden.test.d.ts +14 -0
  779. package/dist/widgets/__tests__/layers.golden.test.d.ts.map +1 -0
  780. package/dist/widgets/__tests__/layers.golden.test.js +728 -0
  781. package/dist/widgets/__tests__/layers.golden.test.js.map +1 -0
  782. package/dist/widgets/__tests__/overlays.test.d.ts +2 -0
  783. package/dist/widgets/__tests__/overlays.test.d.ts.map +1 -0
  784. package/dist/widgets/__tests__/overlays.test.js +99 -0
  785. package/dist/widgets/__tests__/overlays.test.js.map +1 -0
  786. package/dist/widgets/__tests__/renderer.regressions.test.d.ts +2 -0
  787. package/dist/widgets/__tests__/renderer.regressions.test.d.ts.map +1 -0
  788. package/dist/widgets/__tests__/renderer.regressions.test.js +132 -0
  789. package/dist/widgets/__tests__/renderer.regressions.test.js.map +1 -0
  790. package/dist/widgets/__tests__/styleUtils.test.d.ts +2 -0
  791. package/dist/widgets/__tests__/styleUtils.test.d.ts.map +1 -0
  792. package/dist/widgets/__tests__/styleUtils.test.js +22 -0
  793. package/dist/widgets/__tests__/styleUtils.test.js.map +1 -0
  794. package/dist/widgets/__tests__/styled.test.d.ts +2 -0
  795. package/dist/widgets/__tests__/styled.test.d.ts.map +1 -0
  796. package/dist/widgets/__tests__/styled.test.js +23 -0
  797. package/dist/widgets/__tests__/styled.test.js.map +1 -0
  798. package/dist/widgets/__tests__/table.golden.test.d.ts +10 -0
  799. package/dist/widgets/__tests__/table.golden.test.d.ts.map +1 -0
  800. package/dist/widgets/__tests__/table.golden.test.js +367 -0
  801. package/dist/widgets/__tests__/table.golden.test.js.map +1 -0
  802. package/dist/widgets/__tests__/tree.golden.test.d.ts +10 -0
  803. package/dist/widgets/__tests__/tree.golden.test.d.ts.map +1 -0
  804. package/dist/widgets/__tests__/tree.golden.test.js +501 -0
  805. package/dist/widgets/__tests__/tree.golden.test.js.map +1 -0
  806. package/dist/widgets/__tests__/virtualList.golden.test.d.ts +10 -0
  807. package/dist/widgets/__tests__/virtualList.golden.test.d.ts.map +1 -0
  808. package/dist/widgets/__tests__/virtualList.golden.test.js +349 -0
  809. package/dist/widgets/__tests__/virtualList.golden.test.js.map +1 -0
  810. package/dist/widgets/__tests__/widgetRenderSmoke.test.d.ts +2 -0
  811. package/dist/widgets/__tests__/widgetRenderSmoke.test.d.ts.map +1 -0
  812. package/dist/widgets/__tests__/widgetRenderSmoke.test.js +311 -0
  813. package/dist/widgets/__tests__/widgetRenderSmoke.test.js.map +1 -0
  814. package/dist/widgets/checkbox.d.ts +49 -0
  815. package/dist/widgets/checkbox.d.ts.map +1 -0
  816. package/dist/widgets/checkbox.js +66 -0
  817. package/dist/widgets/checkbox.js.map +1 -0
  818. package/dist/widgets/codeEditor.d.ts +150 -0
  819. package/dist/widgets/codeEditor.d.ts.map +1 -0
  820. package/dist/widgets/codeEditor.js +434 -0
  821. package/dist/widgets/codeEditor.js.map +1 -0
  822. package/dist/widgets/collections.d.ts +10 -0
  823. package/dist/widgets/collections.d.ts.map +1 -0
  824. package/dist/widgets/collections.js +49 -0
  825. package/dist/widgets/collections.js.map +1 -0
  826. package/dist/widgets/commandPalette.d.ts +117 -0
  827. package/dist/widgets/commandPalette.d.ts.map +1 -0
  828. package/dist/widgets/commandPalette.js +230 -0
  829. package/dist/widgets/commandPalette.js.map +1 -0
  830. package/dist/widgets/composition.d.ts +202 -0
  831. package/dist/widgets/composition.d.ts.map +1 -0
  832. package/dist/widgets/composition.js +135 -0
  833. package/dist/widgets/composition.js.map +1 -0
  834. package/dist/widgets/conditionals.d.ts +9 -0
  835. package/dist/widgets/conditionals.d.ts.map +1 -0
  836. package/dist/widgets/conditionals.js +27 -0
  837. package/dist/widgets/conditionals.js.map +1 -0
  838. package/dist/widgets/debugPanel.d.ts +96 -0
  839. package/dist/widgets/debugPanel.d.ts.map +1 -0
  840. package/dist/widgets/debugPanel.js +172 -0
  841. package/dist/widgets/debugPanel.js.map +1 -0
  842. package/dist/widgets/dialogs/alert.d.ts +7 -0
  843. package/dist/widgets/dialogs/alert.d.ts.map +1 -0
  844. package/dist/widgets/dialogs/alert.js +21 -0
  845. package/dist/widgets/dialogs/alert.js.map +1 -0
  846. package/dist/widgets/dialogs/confirm.d.ts +7 -0
  847. package/dist/widgets/dialogs/confirm.d.ts.map +1 -0
  848. package/dist/widgets/dialogs/confirm.js +27 -0
  849. package/dist/widgets/dialogs/confirm.js.map +1 -0
  850. package/dist/widgets/dialogs/index.d.ts +8 -0
  851. package/dist/widgets/dialogs/index.d.ts.map +1 -0
  852. package/dist/widgets/dialogs/index.js +7 -0
  853. package/dist/widgets/dialogs/index.js.map +1 -0
  854. package/dist/widgets/dialogs/prompt.d.ts +9 -0
  855. package/dist/widgets/dialogs/prompt.d.ts.map +1 -0
  856. package/dist/widgets/dialogs/prompt.js +40 -0
  857. package/dist/widgets/dialogs/prompt.js.map +1 -0
  858. package/dist/widgets/dialogs/types.d.ts +29 -0
  859. package/dist/widgets/dialogs/types.d.ts.map +1 -0
  860. package/dist/widgets/dialogs/types.js +5 -0
  861. package/dist/widgets/dialogs/types.js.map +1 -0
  862. package/dist/widgets/diffViewer.d.ts +101 -0
  863. package/dist/widgets/diffViewer.d.ts.map +1 -0
  864. package/dist/widgets/diffViewer.js +194 -0
  865. package/dist/widgets/diffViewer.js.map +1 -0
  866. package/dist/widgets/field.d.ts +52 -0
  867. package/dist/widgets/field.d.ts.map +1 -0
  868. package/dist/widgets/field.js +62 -0
  869. package/dist/widgets/field.js.map +1 -0
  870. package/dist/widgets/logsConsole.d.ts +101 -0
  871. package/dist/widgets/logsConsole.d.ts.map +1 -0
  872. package/dist/widgets/logsConsole.js +189 -0
  873. package/dist/widgets/logsConsole.js.map +1 -0
  874. package/dist/widgets/radioGroup.d.ts +79 -0
  875. package/dist/widgets/radioGroup.d.ts.map +1 -0
  876. package/dist/widgets/radioGroup.js +145 -0
  877. package/dist/widgets/radioGroup.js.map +1 -0
  878. package/dist/widgets/select.d.ts +61 -0
  879. package/dist/widgets/select.d.ts.map +1 -0
  880. package/dist/widgets/select.js +119 -0
  881. package/dist/widgets/select.js.map +1 -0
  882. package/dist/widgets/splitPane.d.ts +92 -0
  883. package/dist/widgets/splitPane.d.ts.map +1 -0
  884. package/dist/widgets/splitPane.js +265 -0
  885. package/dist/widgets/splitPane.js.map +1 -0
  886. package/dist/widgets/style.d.ts +34 -0
  887. package/dist/widgets/style.d.ts.map +1 -0
  888. package/dist/widgets/style.js +16 -0
  889. package/dist/widgets/style.js.map +1 -0
  890. package/dist/widgets/styleUtils.d.ts +39 -0
  891. package/dist/widgets/styleUtils.d.ts.map +1 -0
  892. package/dist/widgets/styleUtils.js +42 -0
  893. package/dist/widgets/styleUtils.js.map +1 -0
  894. package/dist/widgets/styled.d.ts +21 -0
  895. package/dist/widgets/styled.d.ts.map +1 -0
  896. package/dist/widgets/styled.js +30 -0
  897. package/dist/widgets/styled.js.map +1 -0
  898. package/dist/widgets/table.d.ts +157 -0
  899. package/dist/widgets/table.d.ts.map +1 -0
  900. package/dist/widgets/table.js +338 -0
  901. package/dist/widgets/table.js.map +1 -0
  902. package/dist/widgets/toast.d.ts +89 -0
  903. package/dist/widgets/toast.d.ts.map +1 -0
  904. package/dist/widgets/toast.js +145 -0
  905. package/dist/widgets/toast.js.map +1 -0
  906. package/dist/widgets/tree.d.ts +207 -0
  907. package/dist/widgets/tree.d.ts.map +1 -0
  908. package/dist/widgets/tree.js +393 -0
  909. package/dist/widgets/tree.js.map +1 -0
  910. package/dist/widgets/types.d.ts +1400 -0
  911. package/dist/widgets/types.d.ts.map +1 -0
  912. package/dist/widgets/types.js +20 -0
  913. package/dist/widgets/types.js.map +1 -0
  914. package/dist/widgets/ui.d.ts +734 -0
  915. package/dist/widgets/ui.d.ts.map +1 -0
  916. package/dist/widgets/ui.js +851 -0
  917. package/dist/widgets/ui.js.map +1 -0
  918. package/dist/widgets/virtualList.d.ts +93 -0
  919. package/dist/widgets/virtualList.d.ts.map +1 -0
  920. package/dist/widgets/virtualList.js +258 -0
  921. package/dist/widgets/virtualList.js.map +1 -0
  922. package/package.json +97 -0
@@ -0,0 +1,219 @@
1
+ /**
2
+ * packages/core/src/renderer/scrollbar.ts — Scrollbar glyph system.
3
+ *
4
+ * Why: Provides customizable scrollbar rendering with multiple variants
5
+ * and configurable track/thumb characters for terminal UI.
6
+ *
7
+ * Scrollbar variants:
8
+ * - minimal: Simple thin scrollbar (│ with ┃ thumb)
9
+ * - classic: Traditional full-width scrollbar (░ with █ thumb)
10
+ * - modern: Unicode block-based scrollbar (▕ with ▐ thumb)
11
+ * - dots: Braille-based scrollbar (⡇ with ⣿ thumb)
12
+ *
13
+ * @see docs/guide/runtime-and-layout.md
14
+ */
15
+ /**
16
+ * Minimal scrollbar glyphs (thin line style).
17
+ */
18
+ export const SCROLLBAR_MINIMAL = {
19
+ track: "│",
20
+ thumb: "┃",
21
+ arrowUp: "▲",
22
+ arrowDown: "▼",
23
+ arrowLeft: "◀",
24
+ arrowRight: "▶",
25
+ };
26
+ /**
27
+ * Classic scrollbar glyphs (full-width block style).
28
+ */
29
+ export const SCROLLBAR_CLASSIC = {
30
+ track: "░",
31
+ thumb: "█",
32
+ arrowUp: "▲",
33
+ arrowDown: "▼",
34
+ arrowLeft: "◄",
35
+ arrowRight: "►",
36
+ };
37
+ /**
38
+ * Modern scrollbar glyphs (half-block style).
39
+ */
40
+ export const SCROLLBAR_MODERN = {
41
+ track: "▕",
42
+ thumb: "▐",
43
+ arrowUp: "△",
44
+ arrowDown: "▽",
45
+ arrowLeft: "◁",
46
+ arrowRight: "▷",
47
+ };
48
+ /**
49
+ * Dots scrollbar glyphs (braille style).
50
+ */
51
+ export const SCROLLBAR_DOTS = {
52
+ track: "⡇",
53
+ thumb: "⣿",
54
+ arrowUp: "⡀",
55
+ arrowDown: "⠁",
56
+ arrowLeft: "⠈",
57
+ arrowRight: "⠁",
58
+ };
59
+ /**
60
+ * Thin scrollbar glyphs (minimal space).
61
+ */
62
+ export const SCROLLBAR_THIN = {
63
+ track: "▏",
64
+ thumb: "▎",
65
+ arrowUp: "▴",
66
+ arrowDown: "▾",
67
+ arrowLeft: "◂",
68
+ arrowRight: "▸",
69
+ };
70
+ /**
71
+ * Get scrollbar glyph set by variant name.
72
+ */
73
+ export function getScrollbarGlyphs(variant) {
74
+ switch (variant) {
75
+ case "minimal":
76
+ return SCROLLBAR_MINIMAL;
77
+ case "classic":
78
+ return SCROLLBAR_CLASSIC;
79
+ case "modern":
80
+ return SCROLLBAR_MODERN;
81
+ case "dots":
82
+ return SCROLLBAR_DOTS;
83
+ case "thin":
84
+ return SCROLLBAR_THIN;
85
+ }
86
+ }
87
+ /**
88
+ * Calculate thumb position and size for a scrollbar.
89
+ *
90
+ * @param trackSize - Total size of the scrollbar track in cells
91
+ * @param state - Current scrollbar state
92
+ * @param config - Scrollbar configuration
93
+ * @returns Thumb start position and size
94
+ */
95
+ export function calculateThumb(trackSize, state, config) {
96
+ const minThumbSize = config?.minThumbSize ?? 1;
97
+ const showArrows = config?.showArrows ?? false;
98
+ // Adjust track size for arrows
99
+ const effectiveTrackSize = showArrows ? trackSize - 2 : trackSize;
100
+ if (effectiveTrackSize <= minThumbSize || state.viewportRatio >= 1) {
101
+ // Content fits, no scrolling needed
102
+ return { start: 0, size: effectiveTrackSize };
103
+ }
104
+ // Calculate thumb size proportional to viewport
105
+ const rawThumbSize = Math.floor(effectiveTrackSize * state.viewportRatio);
106
+ const thumbSize = Math.max(minThumbSize, rawThumbSize);
107
+ // Calculate available scroll range
108
+ const scrollableTrack = effectiveTrackSize - thumbSize;
109
+ const thumbStart = Math.floor(scrollableTrack * state.position);
110
+ // Add offset for top arrow
111
+ const offset = showArrows ? 1 : 0;
112
+ return {
113
+ start: offset + thumbStart,
114
+ size: thumbSize,
115
+ };
116
+ }
117
+ /**
118
+ * Render a vertical scrollbar to a character array.
119
+ *
120
+ * @param height - Height of the scrollbar in cells
121
+ * @param state - Current scrollbar state
122
+ * @param config - Scrollbar configuration
123
+ * @returns Array of characters for each cell
124
+ */
125
+ export function renderVerticalScrollbar(height, state, config) {
126
+ const glyphs = config?.glyphs ?? SCROLLBAR_MINIMAL;
127
+ const showArrows = config?.showArrows ?? false;
128
+ const result = [];
129
+ if (height <= 0)
130
+ return result;
131
+ const { start, size } = calculateThumb(height, state, config);
132
+ for (let i = 0; i < height; i++) {
133
+ if (showArrows && i === 0 && glyphs.arrowUp) {
134
+ result.push(glyphs.arrowUp);
135
+ }
136
+ else if (showArrows && i === height - 1 && glyphs.arrowDown) {
137
+ result.push(glyphs.arrowDown);
138
+ }
139
+ else if (i >= start && i < start + size) {
140
+ result.push(glyphs.thumb);
141
+ }
142
+ else {
143
+ result.push(glyphs.track);
144
+ }
145
+ }
146
+ return result;
147
+ }
148
+ /**
149
+ * Render a horizontal scrollbar to a character array.
150
+ *
151
+ * @param width - Width of the scrollbar in cells
152
+ * @param state - Current scrollbar state
153
+ * @param config - Scrollbar configuration
154
+ * @returns Array of characters for each cell
155
+ */
156
+ export function renderHorizontalScrollbar(width, state, config) {
157
+ const glyphs = config?.glyphs ?? SCROLLBAR_MINIMAL;
158
+ const showArrows = config?.showArrows ?? false;
159
+ const result = [];
160
+ if (width <= 0)
161
+ return result;
162
+ const { start, size } = calculateThumb(width, state, config);
163
+ for (let i = 0; i < width; i++) {
164
+ if (showArrows && i === 0 && glyphs.arrowLeft) {
165
+ result.push(glyphs.arrowLeft);
166
+ }
167
+ else if (showArrows && i === width - 1 && glyphs.arrowRight) {
168
+ result.push(glyphs.arrowRight);
169
+ }
170
+ else if (i >= start && i < start + size) {
171
+ result.push(glyphs.thumb);
172
+ }
173
+ else {
174
+ result.push(glyphs.track);
175
+ }
176
+ }
177
+ return result;
178
+ }
179
+ /**
180
+ * Default scrollbar configurations per variant.
181
+ */
182
+ export const SCROLLBAR_CONFIGS = {
183
+ minimal: {
184
+ width: 1,
185
+ height: 1,
186
+ showArrows: false,
187
+ minThumbSize: 1,
188
+ glyphs: SCROLLBAR_MINIMAL,
189
+ },
190
+ classic: {
191
+ width: 1,
192
+ height: 1,
193
+ showArrows: true,
194
+ minThumbSize: 2,
195
+ glyphs: SCROLLBAR_CLASSIC,
196
+ },
197
+ modern: {
198
+ width: 1,
199
+ height: 1,
200
+ showArrows: false,
201
+ minThumbSize: 1,
202
+ glyphs: SCROLLBAR_MODERN,
203
+ },
204
+ dots: {
205
+ width: 1,
206
+ height: 1,
207
+ showArrows: false,
208
+ minThumbSize: 1,
209
+ glyphs: SCROLLBAR_DOTS,
210
+ },
211
+ thin: {
212
+ width: 1,
213
+ height: 1,
214
+ showArrows: false,
215
+ minThumbSize: 1,
216
+ glyphs: SCROLLBAR_THIN,
217
+ },
218
+ };
219
+ //# sourceMappingURL=scrollbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollbar.js","sourceRoot":"","sources":["../../src/renderer/scrollbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * packages/core/src/renderer/shadow.ts — Shadow rendering for depth effects.
3
+ *
4
+ * Why: Creates visual depth for elevated surfaces (modals, dropdowns, cards)
5
+ * using half-block/shade characters.
6
+ *
7
+ * Shadow is rendered BEFORE the box content so it appears behind.
8
+ *
9
+ * @see docs/guide/runtime-and-layout.md
10
+ */
11
+ import type { DrawlistBuilderV1 } from "../index.js";
12
+ import type { Rect } from "../layout/types.js";
13
+ import type { Rgb } from "../widgets/style.js";
14
+ import type { ResolvedTextStyle } from "./renderToDrawlist/textStyle.js";
15
+ /** Shadow characters for different densities. */
16
+ export declare const SHADOW_LIGHT = "\u2591";
17
+ export declare const SHADOW_MEDIUM = "\u2592";
18
+ export declare const SHADOW_DENSE = "\u2593";
19
+ /** Shadow density options. */
20
+ export type ShadowDensity = "light" | "medium" | "dense";
21
+ /**
22
+ * Shadow configuration.
23
+ */
24
+ export type ShadowConfig = Readonly<{
25
+ /** Horizontal offset in cells (typically 1-2). */
26
+ offsetX: number;
27
+ /** Vertical offset in cells (typically 1). */
28
+ offsetY: number;
29
+ /** Shadow color. */
30
+ color: Rgb;
31
+ /** Shadow character density. */
32
+ density: ShadowDensity;
33
+ }>;
34
+ /**
35
+ * Default shadow configuration.
36
+ */
37
+ export declare const DEFAULT_SHADOW: ShadowConfig;
38
+ /**
39
+ * Create a shadow config with custom options.
40
+ */
41
+ export declare function createShadowConfig(options?: Partial<ShadowConfig>): ShadowConfig;
42
+ /**
43
+ * Render a shadow behind a rectangle.
44
+ *
45
+ * Call this BEFORE rendering the box content to ensure the shadow
46
+ * appears behind the box.
47
+ *
48
+ * The shadow is drawn to the right and below the box, creating
49
+ * a drop shadow effect.
50
+ *
51
+ * @param builder - Drawlist builder
52
+ * @param rect - The rectangle to cast shadow from
53
+ * @param config - Shadow configuration
54
+ * @param baseStyle - Base style to get background color from
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * // Render shadow first
59
+ * renderShadow(builder, { x: 5, y: 2, w: 20, h: 10 }, DEFAULT_SHADOW, baseStyle);
60
+ *
61
+ * // Then render the box on top
62
+ * renderBoxBorder(builder, rect, "rounded", ...);
63
+ * ```
64
+ */
65
+ export declare function renderShadow(builder: DrawlistBuilderV1, rect: Rect, config: ShadowConfig, baseStyle: ResolvedTextStyle): void;
66
+ /**
67
+ * Calculate the total bounds including shadow.
68
+ *
69
+ * @param rect - Original rectangle
70
+ * @param config - Shadow configuration
71
+ * @returns Rectangle including shadow area
72
+ */
73
+ export declare function getRectWithShadow(rect: Rect, config: ShadowConfig): Rect;
74
+ //# sourceMappingURL=shadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../src/renderer/shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,iDAAiD;AACjD,eAAO,MAAM,YAAY,WAAM,CAAC;AAChC,eAAO,MAAM,aAAa,WAAM,CAAC;AACjC,eAAO,MAAM,YAAY,WAAM,CAAC;AAEhC,8BAA8B;AAC9B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,gCAAgC;IAChC,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAK3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAOpF;AAgBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,iBAAiB,GAC3B,IAAI,CAmCN;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAOxE"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * packages/core/src/renderer/shadow.ts — Shadow rendering for depth effects.
3
+ *
4
+ * Why: Creates visual depth for elevated surfaces (modals, dropdowns, cards)
5
+ * using half-block/shade characters.
6
+ *
7
+ * Shadow is rendered BEFORE the box content so it appears behind.
8
+ *
9
+ * @see docs/guide/runtime-and-layout.md
10
+ */
11
+ /** Shadow characters for different densities. */
12
+ export const SHADOW_LIGHT = "░";
13
+ export const SHADOW_MEDIUM = "▒";
14
+ export const SHADOW_DENSE = "▓";
15
+ /**
16
+ * Default shadow configuration.
17
+ */
18
+ export const DEFAULT_SHADOW = Object.freeze({
19
+ offsetX: 1,
20
+ offsetY: 1,
21
+ color: Object.freeze({ r: 0, g: 0, b: 0 }),
22
+ density: "medium",
23
+ });
24
+ /**
25
+ * Create a shadow config with custom options.
26
+ */
27
+ export function createShadowConfig(options = {}) {
28
+ return Object.freeze({
29
+ offsetX: options.offsetX ?? DEFAULT_SHADOW.offsetX,
30
+ offsetY: options.offsetY ?? DEFAULT_SHADOW.offsetY,
31
+ color: options.color ?? DEFAULT_SHADOW.color,
32
+ density: options.density ?? DEFAULT_SHADOW.density,
33
+ });
34
+ }
35
+ /**
36
+ * Get the shadow character for a given density.
37
+ */
38
+ function getShadowChar(density) {
39
+ switch (density) {
40
+ case "light":
41
+ return SHADOW_LIGHT;
42
+ case "dense":
43
+ return SHADOW_DENSE;
44
+ default:
45
+ return SHADOW_MEDIUM;
46
+ }
47
+ }
48
+ /**
49
+ * Render a shadow behind a rectangle.
50
+ *
51
+ * Call this BEFORE rendering the box content to ensure the shadow
52
+ * appears behind the box.
53
+ *
54
+ * The shadow is drawn to the right and below the box, creating
55
+ * a drop shadow effect.
56
+ *
57
+ * @param builder - Drawlist builder
58
+ * @param rect - The rectangle to cast shadow from
59
+ * @param config - Shadow configuration
60
+ * @param baseStyle - Base style to get background color from
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * // Render shadow first
65
+ * renderShadow(builder, { x: 5, y: 2, w: 20, h: 10 }, DEFAULT_SHADOW, baseStyle);
66
+ *
67
+ * // Then render the box on top
68
+ * renderBoxBorder(builder, rect, "rounded", ...);
69
+ * ```
70
+ */
71
+ export function renderShadow(builder, rect, config, baseStyle) {
72
+ const { offsetX, offsetY, color, density } = config;
73
+ if (offsetX <= 0 && offsetY <= 0)
74
+ return;
75
+ if (rect.w <= 0 || rect.h <= 0)
76
+ return;
77
+ const shadowChar = getShadowChar(density);
78
+ const style = {
79
+ fg: color,
80
+ bg: baseStyle.bg,
81
+ };
82
+ // Right edge shadow (vertical strip)
83
+ if (offsetX > 0) {
84
+ const shadowX = rect.x + rect.w;
85
+ const startY = rect.y + offsetY;
86
+ const endY = rect.y + rect.h;
87
+ const shadowStr = shadowChar.repeat(offsetX);
88
+ for (let y = startY; y < endY; y++) {
89
+ builder.drawText(shadowX, y, shadowStr, style);
90
+ }
91
+ }
92
+ // Bottom edge shadow (horizontal strip including corner)
93
+ if (offsetY > 0) {
94
+ const startX = rect.x + offsetX;
95
+ const shadowY = rect.y + rect.h;
96
+ const shadowWidth = rect.w + (offsetX > 0 ? offsetX : 0) - offsetX;
97
+ const shadowStr = shadowChar.repeat(Math.max(0, shadowWidth + offsetX));
98
+ for (let dy = 0; dy < offsetY; dy++) {
99
+ builder.drawText(startX, shadowY + dy, shadowStr, style);
100
+ }
101
+ }
102
+ }
103
+ /**
104
+ * Calculate the total bounds including shadow.
105
+ *
106
+ * @param rect - Original rectangle
107
+ * @param config - Shadow configuration
108
+ * @returns Rectangle including shadow area
109
+ */
110
+ export function getRectWithShadow(rect, config) {
111
+ return {
112
+ x: rect.x,
113
+ y: rect.y,
114
+ w: rect.w + config.offsetX,
115
+ h: rect.h + config.offsetY,
116
+ };
117
+ }
118
+ //# sourceMappingURL=shadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/renderer/shadow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * packages/core/src/renderer/styles.ts — Renderer style utilities.
3
+ *
4
+ * Why: Provides style computation for widget rendering, including focus
5
+ * and disabled visual states. Deterministic style mapping ensures
6
+ * consistent visual output across renders.
7
+ *
8
+ * @see docs/styling/style-props.md
9
+ * @see docs/styling/focus-styles.md
10
+ */
11
+ import type { TextStyle } from "../index.js";
12
+ /**
13
+ * Coerce unknown value to TextStyle if object-shaped.
14
+ * Relies on drawlist builder for validation.
15
+ */
16
+ export declare function asTextStyle(v: unknown): TextStyle | undefined;
17
+ /** Visual state for button/input styling. */
18
+ export type ButtonVisualState = Readonly<{
19
+ focused: boolean;
20
+ disabled: boolean;
21
+ }>;
22
+ /**
23
+ * Compute text style for button/input label based on visual state.
24
+ * - Focused: underline + bold for clear indication while maintaining readability
25
+ * - Disabled: gray foreground
26
+ */
27
+ export declare function getButtonLabelStyle(state: ButtonVisualState): TextStyle | undefined;
28
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/renderer/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,aAAa,CAAC;AASlD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAK7D;AAED,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAElF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAOnF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * packages/core/src/renderer/styles.ts — Renderer style utilities.
3
+ *
4
+ * Why: Provides style computation for widget rendering, including focus
5
+ * and disabled visual states. Deterministic style mapping ensures
6
+ * consistent visual output across renders.
7
+ *
8
+ * @see docs/styling/style-props.md
9
+ * @see docs/styling/focus-styles.md
10
+ */
11
+ /** Disabled widget foreground color (gray). */
12
+ const DISABLED_FG = Object.freeze({ r: 128, g: 128, b: 128 });
13
+ function isObject(v) {
14
+ return typeof v === "object" && v !== null;
15
+ }
16
+ /**
17
+ * Coerce unknown value to TextStyle if object-shaped.
18
+ * Relies on drawlist builder for validation.
19
+ */
20
+ export function asTextStyle(v) {
21
+ /* Renderer is not responsible for validating user-provided style objects.
22
+ * Accept object-shaped values and rely on the drawlist builder's deterministic encoding. */
23
+ if (!isObject(v))
24
+ return undefined;
25
+ return v;
26
+ }
27
+ /**
28
+ * Compute text style for button/input label based on visual state.
29
+ * - Focused: underline + bold for clear indication while maintaining readability
30
+ * - Disabled: gray foreground
31
+ */
32
+ export function getButtonLabelStyle(state) {
33
+ // Deterministic mapping:
34
+ // - Focused: underline + bold (more readable than inverse)
35
+ // - Disabled: deterministic fg color override (engine v1 has no "dim" attr)
36
+ if (state.disabled)
37
+ return { fg: DISABLED_FG };
38
+ if (state.focused)
39
+ return { underline: true, bold: true };
40
+ return undefined;
41
+ }
42
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/renderer/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,+CAA+C;AAC/C,MAAM,WAAW,GAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAEnE,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC;gGAC4F;IAC5F,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,CAAc,CAAC;AACxB,CAAC;AAKD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IAC1D,yBAAyB;IACzB,2DAA2D;IAC3D,4EAA4E;IAC5E,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=duplicateIdFatal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicateIdFatal.test.d.ts","sourceRoot":"","sources":["../../../src/runtime/__tests__/duplicateIdFatal.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { assert, test } from "@rezi-ui/testkit";
2
+ import { commitVNodeTree } from "../commit.js";
3
+ import { createInstanceIdAllocator } from "../instance.js";
4
+ function button(id) {
5
+ return { kind: "button", props: { id, label: "x" } };
6
+ }
7
+ function box(children) {
8
+ return { kind: "box", props: {}, children };
9
+ }
10
+ function column(children) {
11
+ return { kind: "column", props: {}, children };
12
+ }
13
+ function filePicker(id) {
14
+ const props = {
15
+ id,
16
+ rootPath: "/",
17
+ data: Object.freeze({ name: "a.txt", path: "/a.txt", type: "file" }),
18
+ expandedPaths: Object.freeze([]),
19
+ onSelect: () => { },
20
+ onToggle: () => { },
21
+ onOpen: () => { },
22
+ };
23
+ return { kind: "filePicker", props };
24
+ }
25
+ test("duplicate Button ids anywhere in the tree trigger deterministic fatal ZRUI_DUPLICATE_ID (#66)", () => {
26
+ const allocator = createInstanceIdAllocator(1);
27
+ const tree = column([button("dup"), box([button("dup")])]);
28
+ const res = commitVNodeTree(null, tree, { allocator });
29
+ assert.equal(res.ok, false);
30
+ if (res.ok)
31
+ return;
32
+ assert.equal(res.fatal.code, "ZRUI_DUPLICATE_ID");
33
+ assert.equal(res.fatal.detail, 'duplicate interactive id "dup" on instanceId=4 (already used by instanceId=2)');
34
+ });
35
+ test("duplicate advanced widget ids trigger deterministic fatal ZRUI_DUPLICATE_ID (#136)", () => {
36
+ const allocator = createInstanceIdAllocator(1);
37
+ const tree = column([filePicker("dup"), box([filePicker("dup")])]);
38
+ const res = commitVNodeTree(null, tree, { allocator });
39
+ assert.equal(res.ok, false);
40
+ if (res.ok)
41
+ return;
42
+ assert.equal(res.fatal.code, "ZRUI_DUPLICATE_ID");
43
+ assert.equal(res.fatal.detail, 'duplicate interactive id "dup" on instanceId=4 (already used by instanceId=2)');
44
+ });
45
+ //# sourceMappingURL=duplicateIdFatal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicateIdFatal.test.js","sourceRoot":"","sources":["../../../src/runtime/__tests__/duplicateIdFatal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,QAA0B;IACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,MAAM,CAAC,QAA0B;IACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,MAAM,KAAK,GAAoB;QAC7B,EAAE;QACF,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACpE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,IAAI,CAAC,+FAA+F,EAAE,GAAG,EAAE;IACzG,MAAM,SAAS,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO;IAEnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CACV,GAAG,CAAC,KAAK,CAAC,MAAM,EAChB,+EAA+E,CAChF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;IAC9F,MAAM,SAAS,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO;IAEnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CACV,GAAG,CAAC,KAAK,CAAC,MAAM,EAChB,+EAA+E,CAChF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=duplicateKeyFatal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicateKeyFatal.test.d.ts","sourceRoot":"","sources":["../../../src/runtime/__tests__/duplicateKeyFatal.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { assert, test } from "@rezi-ui/testkit";
2
+ import { createInstanceIdAllocator } from "../instance.js";
3
+ import { reconcileChildren } from "../reconcile.js";
4
+ function textVNode(text, key) {
5
+ return { kind: "text", text, props: { key } };
6
+ }
7
+ function spacerVNode(key) {
8
+ return { kind: "spacer", props: { key } };
9
+ }
10
+ test("duplicate sibling keys trigger deterministic fatal ZRUI_DUPLICATE_KEY (#65)", () => {
11
+ const allocator = createInstanceIdAllocator(1);
12
+ const nextChildren = [textVNode("a", "dup"), spacerVNode("dup")];
13
+ const res = reconcileChildren(42, [], nextChildren, allocator);
14
+ assert.equal(res.ok, false);
15
+ if (res.ok)
16
+ return;
17
+ assert.equal(res.fatal.code, "ZRUI_DUPLICATE_KEY");
18
+ assert.equal(res.fatal.detail, 'duplicate sibling key "dup" under parent instanceId=42 (child indices 0 and 1)');
19
+ });
20
+ //# sourceMappingURL=duplicateKeyFatal.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicateKeyFatal.test.js","sourceRoot":"","sources":["../../../src/runtime/__tests__/duplicateKeyFatal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,SAAS,SAAS,CAAC,IAAY,EAAE,GAAW;IAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,IAAI,CAAC,6EAA6E,EAAE,GAAG,EAAE;IACvF,MAAM,SAAS,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO;IAEnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CACV,GAAG,CAAC,KAAK,CAAC,MAAM,EAChB,gFAAgF,CACjF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=focusList.golden.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusList.golden.test.d.ts","sourceRoot":"","sources":["../../../src/runtime/__tests__/focusList.golden.test.ts"],"names":[],"mappings":""}