@rezi-ui/core 0.1.0-alpha.60 → 0.1.0-alpha.63

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 (345) hide show
  1. package/dist/app/createApp/breadcrumbs.d.ts +38 -0
  2. package/dist/app/createApp/breadcrumbs.d.ts.map +1 -0
  3. package/dist/app/createApp/breadcrumbs.js +65 -0
  4. package/dist/app/createApp/breadcrumbs.js.map +1 -0
  5. package/dist/app/createApp/config.d.ts +25 -0
  6. package/dist/app/createApp/config.d.ts.map +1 -0
  7. package/dist/app/createApp/config.js +130 -0
  8. package/dist/app/createApp/config.js.map +1 -0
  9. package/dist/app/createApp/eventLoop.d.ts +95 -0
  10. package/dist/app/createApp/eventLoop.d.ts.map +1 -0
  11. package/dist/app/createApp/eventLoop.js +384 -0
  12. package/dist/app/createApp/eventLoop.js.map +1 -0
  13. package/dist/app/createApp/guards.d.ts +21 -0
  14. package/dist/app/createApp/guards.d.ts.map +1 -0
  15. package/dist/app/createApp/guards.js +54 -0
  16. package/dist/app/createApp/guards.js.map +1 -0
  17. package/dist/app/createApp/keybindings.d.ts +28 -0
  18. package/dist/app/createApp/keybindings.d.ts.map +1 -0
  19. package/dist/app/createApp/keybindings.js +113 -0
  20. package/dist/app/createApp/keybindings.js.map +1 -0
  21. package/dist/app/createApp/renderLoop.d.ts +64 -0
  22. package/dist/app/createApp/renderLoop.d.ts.map +1 -0
  23. package/dist/app/createApp/renderLoop.js +305 -0
  24. package/dist/app/createApp/renderLoop.js.map +1 -0
  25. package/dist/app/createApp.d.ts +3 -39
  26. package/dist/app/createApp.d.ts.map +1 -1
  27. package/dist/app/createApp.js +403 -1205
  28. package/dist/app/createApp.js.map +1 -1
  29. package/dist/app/widgetRenderer/constraintState.d.ts +98 -0
  30. package/dist/app/widgetRenderer/constraintState.d.ts.map +1 -0
  31. package/dist/app/widgetRenderer/constraintState.js +563 -0
  32. package/dist/app/widgetRenderer/constraintState.js.map +1 -0
  33. package/dist/app/widgetRenderer/fileNodeCache.d.ts +2 -0
  34. package/dist/app/widgetRenderer/fileNodeCache.d.ts.map +1 -1
  35. package/dist/app/widgetRenderer/fileNodeCache.js +31 -0
  36. package/dist/app/widgetRenderer/fileNodeCache.js.map +1 -1
  37. package/dist/app/widgetRenderer/filePickerRouting.d.ts +12 -1
  38. package/dist/app/widgetRenderer/filePickerRouting.d.ts.map +1 -1
  39. package/dist/app/widgetRenderer/filePickerRouting.js +63 -14
  40. package/dist/app/widgetRenderer/filePickerRouting.js.map +1 -1
  41. package/dist/app/widgetRenderer/focusState.d.ts +46 -0
  42. package/dist/app/widgetRenderer/focusState.d.ts.map +1 -0
  43. package/dist/app/widgetRenderer/focusState.js +122 -0
  44. package/dist/app/widgetRenderer/focusState.js.map +1 -0
  45. package/dist/app/widgetRenderer/keyboardRouting.d.ts.map +1 -1
  46. package/dist/app/widgetRenderer/keyboardRouting.js.map +1 -1
  47. package/dist/app/widgetRenderer/mouseRouting.d.ts +5 -0
  48. package/dist/app/widgetRenderer/mouseRouting.d.ts.map +1 -1
  49. package/dist/app/widgetRenderer/mouseRouting.js +78 -8
  50. package/dist/app/widgetRenderer/mouseRouting.js.map +1 -1
  51. package/dist/app/widgetRenderer/overlayShortcuts.d.ts.map +1 -1
  52. package/dist/app/widgetRenderer/overlayShortcuts.js +14 -4
  53. package/dist/app/widgetRenderer/overlayShortcuts.js.map +1 -1
  54. package/dist/app/widgetRenderer/overlayState.d.ts +198 -0
  55. package/dist/app/widgetRenderer/overlayState.d.ts.map +1 -0
  56. package/dist/app/widgetRenderer/overlayState.js +590 -0
  57. package/dist/app/widgetRenderer/overlayState.js.map +1 -0
  58. package/dist/app/widgetRenderer/routeEngineEvent.d.ts +189 -0
  59. package/dist/app/widgetRenderer/routeEngineEvent.d.ts.map +1 -0
  60. package/dist/app/widgetRenderer/routeEngineEvent.js +527 -0
  61. package/dist/app/widgetRenderer/routeEngineEvent.js.map +1 -0
  62. package/dist/app/widgetRenderer.d.ts +2 -1
  63. package/dist/app/widgetRenderer.d.ts.map +1 -1
  64. package/dist/app/widgetRenderer.js +334 -1707
  65. package/dist/app/widgetRenderer.js.map +1 -1
  66. package/dist/forms/internal/arrayState.d.ts +35 -0
  67. package/dist/forms/internal/arrayState.d.ts.map +1 -0
  68. package/dist/forms/internal/arrayState.js +238 -0
  69. package/dist/forms/internal/arrayState.js.map +1 -0
  70. package/dist/forms/internal/bindings.d.ts +46 -0
  71. package/dist/forms/internal/bindings.d.ts.map +1 -0
  72. package/dist/forms/internal/bindings.js +161 -0
  73. package/dist/forms/internal/bindings.js.map +1 -0
  74. package/dist/forms/internal/dev.d.ts +4 -0
  75. package/dist/forms/internal/dev.d.ts.map +1 -0
  76. package/dist/forms/internal/dev.js +21 -0
  77. package/dist/forms/internal/dev.js.map +1 -0
  78. package/dist/forms/internal/state.d.ts +52 -0
  79. package/dist/forms/internal/state.d.ts.map +1 -0
  80. package/dist/forms/internal/state.js +240 -0
  81. package/dist/forms/internal/state.js.map +1 -0
  82. package/dist/forms/internal/submit.d.ts +43 -0
  83. package/dist/forms/internal/submit.d.ts.map +1 -0
  84. package/dist/forms/internal/submit.js +165 -0
  85. package/dist/forms/internal/submit.js.map +1 -0
  86. package/dist/forms/internal/wizard.d.ts +53 -0
  87. package/dist/forms/internal/wizard.d.ts.map +1 -0
  88. package/dist/forms/internal/wizard.js +311 -0
  89. package/dist/forms/internal/wizard.js.map +1 -0
  90. package/dist/forms/useForm.d.ts.map +1 -1
  91. package/dist/forms/useForm.js +90 -1117
  92. package/dist/forms/useForm.js.map +1 -1
  93. package/dist/index.d.ts +1 -1
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/index.js.map +1 -1
  97. package/dist/keybindings/manager.d.ts.map +1 -1
  98. package/dist/keybindings/manager.js.map +1 -1
  99. package/dist/keybindings/parser.d.ts.map +1 -1
  100. package/dist/keybindings/parser.js +10 -5
  101. package/dist/keybindings/parser.js.map +1 -1
  102. package/dist/layout/dropdownGeometry.d.ts +8 -0
  103. package/dist/layout/dropdownGeometry.d.ts.map +1 -1
  104. package/dist/layout/dropdownGeometry.js +40 -0
  105. package/dist/layout/dropdownGeometry.js.map +1 -1
  106. package/dist/layout/engine/layoutEngine.js +1 -1
  107. package/dist/layout/engine/layoutEngine.js.map +1 -1
  108. package/dist/layout/kinds/overlays.d.ts.map +1 -1
  109. package/dist/layout/kinds/stack.d.ts +1 -3
  110. package/dist/layout/kinds/stack.d.ts.map +1 -1
  111. package/dist/layout/kinds/stack.js +11 -1523
  112. package/dist/layout/kinds/stack.js.map +1 -1
  113. package/dist/layout/kinds/stackParts/axis.d.ts +32 -0
  114. package/dist/layout/kinds/stackParts/axis.d.ts.map +1 -0
  115. package/dist/layout/kinds/stackParts/axis.js +61 -0
  116. package/dist/layout/kinds/stackParts/axis.js.map +1 -0
  117. package/dist/layout/kinds/stackParts/constraintPlan.d.ts +18 -0
  118. package/dist/layout/kinds/stackParts/constraintPlan.d.ts.map +1 -0
  119. package/dist/layout/kinds/stackParts/constraintPlan.js +434 -0
  120. package/dist/layout/kinds/stackParts/constraintPlan.js.map +1 -0
  121. package/dist/layout/kinds/stackParts/layout.d.ts +6 -0
  122. package/dist/layout/kinds/stackParts/layout.d.ts.map +1 -0
  123. package/dist/layout/kinds/stackParts/layout.js +376 -0
  124. package/dist/layout/kinds/stackParts/layout.js.map +1 -0
  125. package/dist/layout/kinds/stackParts/measure.d.ts +6 -0
  126. package/dist/layout/kinds/stackParts/measure.d.ts.map +1 -0
  127. package/dist/layout/kinds/stackParts/measure.js +212 -0
  128. package/dist/layout/kinds/stackParts/measure.js.map +1 -0
  129. package/dist/layout/kinds/stackParts/shared.d.ts +31 -0
  130. package/dist/layout/kinds/stackParts/shared.d.ts.map +1 -0
  131. package/dist/layout/kinds/stackParts/shared.js +94 -0
  132. package/dist/layout/kinds/stackParts/shared.js.map +1 -0
  133. package/dist/layout/kinds/stackParts/wrap.d.ts +26 -0
  134. package/dist/layout/kinds/stackParts/wrap.d.ts.map +1 -0
  135. package/dist/layout/kinds/stackParts/wrap.js +374 -0
  136. package/dist/layout/kinds/stackParts/wrap.js.map +1 -0
  137. package/dist/layout/validate/interactive.d.ts +106 -0
  138. package/dist/layout/validate/interactive.d.ts.map +1 -0
  139. package/dist/layout/validate/interactive.js +430 -0
  140. package/dist/layout/validate/interactive.js.map +1 -0
  141. package/dist/layout/validate/layoutConstraints.d.ts +51 -0
  142. package/dist/layout/validate/layoutConstraints.d.ts.map +1 -0
  143. package/dist/layout/validate/layoutConstraints.js +100 -0
  144. package/dist/layout/validate/layoutConstraints.js.map +1 -0
  145. package/dist/layout/validate/primitives.d.ts +31 -0
  146. package/dist/layout/validate/primitives.d.ts.map +1 -0
  147. package/dist/layout/validate/primitives.js +299 -0
  148. package/dist/layout/validate/primitives.js.map +1 -0
  149. package/dist/layout/validate/shared.d.ts +23 -0
  150. package/dist/layout/validate/shared.d.ts.map +1 -0
  151. package/dist/layout/validate/shared.js +32 -0
  152. package/dist/layout/validate/shared.js.map +1 -0
  153. package/dist/layout/validate/spacing.d.ts +21 -0
  154. package/dist/layout/validate/spacing.d.ts.map +1 -0
  155. package/dist/layout/validate/spacing.js +33 -0
  156. package/dist/layout/validate/spacing.js.map +1 -0
  157. package/dist/layout/validateProps.d.ts +5 -159
  158. package/dist/layout/validateProps.d.ts.map +1 -1
  159. package/dist/layout/validateProps.js +1 -832
  160. package/dist/layout/validateProps.js.map +1 -1
  161. package/dist/pipeline.js +1 -1
  162. package/dist/pipeline.js.map +1 -1
  163. package/dist/renderer/renderToDrawlist/renderTree.d.ts +1 -1
  164. package/dist/renderer/renderToDrawlist/renderTree.d.ts.map +1 -1
  165. package/dist/renderer/renderToDrawlist/renderTree.js +3 -3
  166. package/dist/renderer/renderToDrawlist/renderTree.js.map +1 -1
  167. package/dist/renderer/renderToDrawlist/types.d.ts +2 -0
  168. package/dist/renderer/renderToDrawlist/types.d.ts.map +1 -1
  169. package/dist/renderer/renderToDrawlist/widgets/containers.d.ts.map +1 -1
  170. package/dist/renderer/renderToDrawlist/widgets/containers.js +1 -1
  171. package/dist/renderer/renderToDrawlist/widgets/containers.js.map +1 -1
  172. package/dist/renderer/renderToDrawlist/widgets/files.d.ts +2 -1
  173. package/dist/renderer/renderToDrawlist/widgets/files.d.ts.map +1 -1
  174. package/dist/renderer/renderToDrawlist/widgets/files.js +30 -3
  175. package/dist/renderer/renderToDrawlist/widgets/files.js.map +1 -1
  176. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts +1 -1
  177. package/dist/renderer/renderToDrawlist/widgets/overlays.d.ts.map +1 -1
  178. package/dist/renderer/renderToDrawlist/widgets/overlays.js +26 -6
  179. package/dist/renderer/renderToDrawlist/widgets/overlays.js.map +1 -1
  180. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.d.ts.map +1 -1
  181. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.js +52 -18
  182. package/dist/renderer/renderToDrawlist/widgets/renderFormWidgets.js.map +1 -1
  183. package/dist/renderer/renderToDrawlist.d.ts +0 -8
  184. package/dist/renderer/renderToDrawlist.d.ts.map +1 -1
  185. package/dist/renderer/renderToDrawlist.js +1 -9
  186. package/dist/renderer/renderToDrawlist.js.map +1 -1
  187. package/dist/runtime/commit/composite.d.ts +11 -0
  188. package/dist/runtime/commit/composite.d.ts.map +1 -0
  189. package/dist/runtime/commit/composite.js +238 -0
  190. package/dist/runtime/commit/composite.js.map +1 -0
  191. package/dist/runtime/commit/container.d.ts +7 -0
  192. package/dist/runtime/commit/container.d.ts.map +1 -0
  193. package/dist/runtime/commit/container.js +350 -0
  194. package/dist/runtime/commit/container.js.map +1 -0
  195. package/dist/runtime/commit/equality.d.ts +20 -0
  196. package/dist/runtime/commit/equality.d.ts.map +1 -0
  197. package/dist/runtime/commit/equality.js +436 -0
  198. package/dist/runtime/commit/equality.js.map +1 -0
  199. package/dist/runtime/commit/errorBoundary.d.ts +7 -0
  200. package/dist/runtime/commit/errorBoundary.d.ts.map +1 -0
  201. package/dist/runtime/commit/errorBoundary.js +53 -0
  202. package/dist/runtime/commit/errorBoundary.js.map +1 -0
  203. package/dist/runtime/commit/shared.d.ts +138 -0
  204. package/dist/runtime/commit/shared.d.ts.map +1 -0
  205. package/dist/runtime/commit/shared.js +11 -0
  206. package/dist/runtime/commit/shared.js.map +1 -0
  207. package/dist/runtime/commit/transitions.d.ts +9 -0
  208. package/dist/runtime/commit/transitions.d.ts.map +1 -0
  209. package/dist/runtime/commit/transitions.js +93 -0
  210. package/dist/runtime/commit/transitions.js.map +1 -0
  211. package/dist/runtime/commit/validation.d.ts +16 -0
  212. package/dist/runtime/commit/validation.d.ts.map +1 -0
  213. package/dist/runtime/commit/validation.js +157 -0
  214. package/dist/runtime/commit/validation.js.map +1 -0
  215. package/dist/runtime/commit.d.ts +7 -117
  216. package/dist/runtime/commit.d.ts.map +1 -1
  217. package/dist/runtime/commit.js +13 -1394
  218. package/dist/runtime/commit.js.map +1 -1
  219. package/dist/runtime/localState.d.ts +4 -0
  220. package/dist/runtime/localState.d.ts.map +1 -1
  221. package/dist/runtime/localState.js.map +1 -1
  222. package/dist/runtime/widgetMeta/collector.d.ts +77 -0
  223. package/dist/runtime/widgetMeta/collector.d.ts.map +1 -0
  224. package/dist/runtime/widgetMeta/collector.js +293 -0
  225. package/dist/runtime/widgetMeta/collector.js.map +1 -0
  226. package/dist/runtime/widgetMeta/focusContainers.d.ts +44 -0
  227. package/dist/runtime/widgetMeta/focusContainers.d.ts.map +1 -0
  228. package/dist/runtime/widgetMeta/focusContainers.js +190 -0
  229. package/dist/runtime/widgetMeta/focusContainers.js.map +1 -0
  230. package/dist/runtime/widgetMeta/focusInfo.d.ts +19 -0
  231. package/dist/runtime/widgetMeta/focusInfo.d.ts.map +1 -0
  232. package/dist/runtime/widgetMeta/focusInfo.js +172 -0
  233. package/dist/runtime/widgetMeta/focusInfo.js.map +1 -0
  234. package/dist/runtime/widgetMeta/helpers.d.ts +47 -0
  235. package/dist/runtime/widgetMeta/helpers.d.ts.map +1 -0
  236. package/dist/runtime/widgetMeta/helpers.js +182 -0
  237. package/dist/runtime/widgetMeta/helpers.js.map +1 -0
  238. package/dist/runtime/widgetMeta.d.ts +12 -175
  239. package/dist/runtime/widgetMeta.d.ts.map +1 -1
  240. package/dist/runtime/widgetMeta.js +6 -847
  241. package/dist/runtime/widgetMeta.js.map +1 -1
  242. package/dist/ui/capabilities.d.ts.map +1 -1
  243. package/dist/ui/designTokens.d.ts.map +1 -1
  244. package/dist/widgets/accordion.d.ts.map +1 -1
  245. package/dist/widgets/accordion.js +8 -13
  246. package/dist/widgets/accordion.js.map +1 -1
  247. package/dist/widgets/factories/advanced.d.ts +20 -0
  248. package/dist/widgets/factories/advanced.d.ts.map +1 -0
  249. package/dist/widgets/factories/advanced.js +75 -0
  250. package/dist/widgets/factories/advanced.js.map +1 -0
  251. package/dist/widgets/factories/basic.d.ts +14 -0
  252. package/dist/widgets/factories/basic.d.ts.map +1 -0
  253. package/dist/widgets/factories/basic.js +44 -0
  254. package/dist/widgets/factories/basic.js.map +1 -0
  255. package/dist/widgets/factories/feedback.d.ts +20 -0
  256. package/dist/widgets/factories/feedback.d.ts.map +1 -0
  257. package/dist/widgets/factories/feedback.js +102 -0
  258. package/dist/widgets/factories/feedback.js.map +1 -0
  259. package/dist/widgets/factories/helpers.d.ts +41 -0
  260. package/dist/widgets/factories/helpers.d.ts.map +1 -0
  261. package/dist/widgets/factories/helpers.js +72 -0
  262. package/dist/widgets/factories/helpers.js.map +1 -0
  263. package/dist/widgets/factories/interactive.d.ts +15 -0
  264. package/dist/widgets/factories/interactive.d.ts.map +1 -0
  265. package/dist/widgets/factories/interactive.js +46 -0
  266. package/dist/widgets/factories/interactive.js.map +1 -0
  267. package/dist/widgets/factories/layoutShell.d.ts +22 -0
  268. package/dist/widgets/factories/layoutShell.d.ts.map +1 -0
  269. package/dist/widgets/factories/layoutShell.js +190 -0
  270. package/dist/widgets/factories/layoutShell.js.map +1 -0
  271. package/dist/widgets/factories/media.d.ts +14 -0
  272. package/dist/widgets/factories/media.d.ts.map +1 -0
  273. package/dist/widgets/factories/media.js +25 -0
  274. package/dist/widgets/factories/media.js.map +1 -0
  275. package/dist/widgets/factories/navigation.d.ts +10 -0
  276. package/dist/widgets/factories/navigation.d.ts.map +1 -0
  277. package/dist/widgets/factories/navigation.js +24 -0
  278. package/dist/widgets/factories/navigation.js.map +1 -0
  279. package/dist/widgets/field.d.ts +6 -1
  280. package/dist/widgets/field.d.ts.map +1 -1
  281. package/dist/widgets/field.js +8 -2
  282. package/dist/widgets/field.js.map +1 -1
  283. package/dist/widgets/filePicker.d.ts +5 -0
  284. package/dist/widgets/filePicker.d.ts.map +1 -0
  285. package/dist/widgets/filePicker.js +136 -0
  286. package/dist/widgets/filePicker.js.map +1 -0
  287. package/dist/widgets/protocol.d.ts +0 -6
  288. package/dist/widgets/protocol.d.ts.map +1 -1
  289. package/dist/widgets/protocol.js +0 -6
  290. package/dist/widgets/protocol.js.map +1 -1
  291. package/dist/widgets/select.js +1 -1
  292. package/dist/widgets/select.js.map +1 -1
  293. package/dist/widgets/splitPane.d.ts.map +1 -1
  294. package/dist/widgets/splitPane.js.map +1 -1
  295. package/dist/widgets/table.d.ts.map +1 -1
  296. package/dist/widgets/table.js +43 -1
  297. package/dist/widgets/table.js.map +1 -1
  298. package/dist/widgets/tree.d.ts.map +1 -1
  299. package/dist/widgets/types/advanced.d.ts +611 -0
  300. package/dist/widgets/types/advanced.d.ts.map +1 -0
  301. package/dist/widgets/types/advanced.js +2 -0
  302. package/dist/widgets/types/advanced.js.map +1 -0
  303. package/dist/widgets/types/base.d.ts +933 -0
  304. package/dist/widgets/types/base.d.ts.map +1 -0
  305. package/dist/widgets/types/base.js +2 -0
  306. package/dist/widgets/types/base.js.map +1 -0
  307. package/dist/widgets/types/forms.d.ts +136 -0
  308. package/dist/widgets/types/forms.d.ts.map +1 -0
  309. package/dist/widgets/types/forms.js +2 -0
  310. package/dist/widgets/types/forms.js.map +1 -0
  311. package/dist/widgets/types/navigation.d.ts +83 -0
  312. package/dist/widgets/types/navigation.d.ts.map +1 -0
  313. package/dist/widgets/types/navigation.js +2 -0
  314. package/dist/widgets/types/navigation.js.map +1 -0
  315. package/dist/widgets/types/overlaysShell.d.ts +223 -0
  316. package/dist/widgets/types/overlaysShell.d.ts.map +1 -0
  317. package/dist/widgets/types/overlaysShell.js +2 -0
  318. package/dist/widgets/types/overlaysShell.js.map +1 -0
  319. package/dist/widgets/types/table.d.ts +104 -0
  320. package/dist/widgets/types/table.d.ts.map +1 -0
  321. package/dist/widgets/types/table.js +2 -0
  322. package/dist/widgets/types/table.js.map +1 -0
  323. package/dist/widgets/types/tree.d.ts +64 -0
  324. package/dist/widgets/types/tree.d.ts.map +1 -0
  325. package/dist/widgets/types/tree.js +2 -0
  326. package/dist/widgets/types/tree.js.map +1 -0
  327. package/dist/widgets/types.d.ts +14 -2123
  328. package/dist/widgets/types.d.ts.map +1 -1
  329. package/dist/widgets/ui.d.ts +37 -843
  330. package/dist/widgets/ui.d.ts.map +1 -1
  331. package/dist/widgets/ui.js +37 -1262
  332. package/dist/widgets/ui.js.map +1 -1
  333. package/package.json +2 -2
  334. package/dist/constraints/aggregation.d.ts +0 -17
  335. package/dist/constraints/aggregation.d.ts.map +0 -1
  336. package/dist/constraints/aggregation.js +0 -59
  337. package/dist/constraints/aggregation.js.map +0 -1
  338. package/dist/renderer/renderToDrawlist/overflowCulling.d.ts +0 -3
  339. package/dist/renderer/renderToDrawlist/overflowCulling.d.ts.map +0 -1
  340. package/dist/renderer/renderToDrawlist/overflowCulling.js +0 -81
  341. package/dist/renderer/renderToDrawlist/overflowCulling.js.map +0 -1
  342. package/dist/widgets/tests/protocol.test.d.ts +0 -2
  343. package/dist/widgets/tests/protocol.test.d.ts.map +0 -1
  344. package/dist/widgets/tests/protocol.test.js +0 -120
  345. package/dist/widgets/tests/protocol.test.js.map +0 -1
@@ -0,0 +1,182 @@
1
+ import { getWidgetProtocol, kindIsFocusable, kindIsPressable } from "../../widgets/protocol.js";
2
+ /** Extract interactive widget ID from a node with a valid `id` prop. */
3
+ export function readInteractiveId(v) {
4
+ const proto = getWidgetProtocol(v.kind);
5
+ if (!proto.requiresId && !proto.focusable && !proto.pressable)
6
+ return null;
7
+ const id = v.props.id;
8
+ if (typeof id !== "string" || id.length === 0)
9
+ return null;
10
+ return id;
11
+ }
12
+ export function isFocusableInteractive(v) {
13
+ const focusable = v.props.focusable;
14
+ if (focusable === false)
15
+ return false;
16
+ // Note: Some interactive widgets require an id for routing (e.g. SplitPane dividers),
17
+ // but are explicitly NOT focusable (PLAN.md).
18
+ return kindIsFocusable(v.kind);
19
+ }
20
+ export function isEnabledInteractive(v) {
21
+ const id = readInteractiveId(v);
22
+ if (id === null)
23
+ return null;
24
+ const proto = getWidgetProtocol(v.kind);
25
+ if (proto.disableable) {
26
+ const disabled = v.props.disabled;
27
+ if (disabled === true)
28
+ return null;
29
+ }
30
+ if (proto.openGated) {
31
+ const open = v.props.open;
32
+ if (open !== true)
33
+ return null;
34
+ }
35
+ return id;
36
+ }
37
+ export function readNonEmptyString(v) {
38
+ if (typeof v !== "string")
39
+ return null;
40
+ const trimmed = v.trim();
41
+ return trimmed.length > 0 ? trimmed : null;
42
+ }
43
+ /**
44
+ * Collect focusable ids from a committed runtime tree.
45
+ *
46
+ * - Order: depth-first preorder
47
+ * - Children: left-to-right
48
+ * - Focusable set: enabled focusable interactive widgets
49
+ */
50
+ export function collectFocusableIds(tree) {
51
+ const out = [];
52
+ const stack = [tree];
53
+ while (stack.length > 0) {
54
+ const node = stack.pop();
55
+ if (!node)
56
+ continue;
57
+ const id = isFocusableInteractive(node.vnode) ? isEnabledInteractive(node.vnode) : null;
58
+ if (id !== null)
59
+ out.push(id);
60
+ for (let i = node.children.length - 1; i >= 0; i--) {
61
+ const c = node.children[i];
62
+ if (c)
63
+ stack.push(c);
64
+ }
65
+ }
66
+ return Object.freeze(out);
67
+ }
68
+ /**
69
+ * Collect a deterministic enabled map (interactive id -> enabled) from a committed runtime tree.
70
+ *
71
+ * Interactive widgets are always included when their `id` is a non-empty string;
72
+ * enabled is `true` iff `disabled !== true`.
73
+ */
74
+ export function collectEnabledMap(tree) {
75
+ const m = new Map();
76
+ const stack = [tree];
77
+ while (stack.length > 0) {
78
+ const node = stack.pop();
79
+ if (!node)
80
+ continue;
81
+ const id = readInteractiveId(node.vnode);
82
+ if (id !== null && !m.has(id)) {
83
+ let enabled = true;
84
+ const proto = getWidgetProtocol(node.vnode.kind);
85
+ if (proto.disableable) {
86
+ const disabled = node.vnode.props.disabled;
87
+ enabled = disabled !== true;
88
+ }
89
+ if (proto.openGated) {
90
+ const open = node.vnode.props.open;
91
+ enabled = open === true;
92
+ }
93
+ m.set(id, enabled);
94
+ }
95
+ for (let i = node.children.length - 1; i >= 0; i--) {
96
+ const c = node.children[i];
97
+ if (c)
98
+ stack.push(c);
99
+ }
100
+ }
101
+ return m;
102
+ }
103
+ /**
104
+ * Collect ids that can produce a "press" action (Buttons).
105
+ *
106
+ * Includes Buttons with a non-empty string id, regardless of disabled state.
107
+ */
108
+ export function collectPressableIds(tree) {
109
+ const s = new Set();
110
+ const stack = [tree];
111
+ while (stack.length > 0) {
112
+ const node = stack.pop();
113
+ if (!node)
114
+ continue;
115
+ if (kindIsPressable(node.vnode.kind)) {
116
+ const id = node.vnode.props.id;
117
+ if (typeof id === "string" && id.length > 0)
118
+ s.add(id);
119
+ }
120
+ for (let i = node.children.length - 1; i >= 0; i--) {
121
+ const c = node.children[i];
122
+ if (c)
123
+ stack.push(c);
124
+ }
125
+ }
126
+ return s;
127
+ }
128
+ /**
129
+ * Collect a deterministic map of Input id -> { instanceId, value, disabled } from a committed runtime tree.
130
+ *
131
+ * Inputs are included when their `id` is a non-empty string and `value` is a string.
132
+ */
133
+ export function collectInputMetaById(tree) {
134
+ const m = new Map();
135
+ const stack = [tree];
136
+ while (stack.length > 0) {
137
+ const node = stack.pop();
138
+ if (!node)
139
+ continue;
140
+ if (node.vnode.kind === "input") {
141
+ const props = node.vnode.props;
142
+ const id = typeof props.id === "string" && props.id.length > 0 ? props.id : null;
143
+ const value = typeof props.value === "string" ? props.value : null;
144
+ if (id !== null && value !== null && !m.has(id)) {
145
+ const disabled = props.disabled === true;
146
+ const readOnly = props.readOnly === true;
147
+ const multiline = props.multiline === true;
148
+ const rowsRaw = typeof props.rows === "number" && Number.isFinite(props.rows) ? props.rows : 3;
149
+ const rows = multiline ? Math.max(1, Math.trunc(rowsRaw)) : 1;
150
+ const wordWrap = multiline ? props.wordWrap !== false : false;
151
+ const onInput = typeof props.onInput === "function"
152
+ ? props.onInput
153
+ : undefined;
154
+ const onBlur = typeof props.onBlur === "function" ? props.onBlur : undefined;
155
+ const metaBase = {
156
+ instanceId: node.instanceId,
157
+ value,
158
+ disabled,
159
+ readOnly,
160
+ multiline,
161
+ rows,
162
+ wordWrap,
163
+ };
164
+ const meta = onInput || onBlur
165
+ ? Object.freeze({
166
+ ...metaBase,
167
+ ...(onInput ? { onInput } : {}),
168
+ ...(onBlur ? { onBlur } : {}),
169
+ })
170
+ : Object.freeze(metaBase);
171
+ m.set(id, meta);
172
+ }
173
+ }
174
+ for (let i = node.children.length - 1; i >= 0; i--) {
175
+ const c = node.children[i];
176
+ if (c)
177
+ stack.push(c);
178
+ }
179
+ }
180
+ return m;
181
+ }
182
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/runtime/widgetMeta/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,177 +1,14 @@
1
1
  /**
2
- * packages/core/src/runtime/widgetMeta.ts — Widget metadata collection.
3
- *
4
- * Why: Extracts structured metadata from the committed runtime tree for use in
5
- * focus management, event routing, and input handling. These functions provide
6
- * deterministic traversal-order collections of widget properties.
7
- *
8
- * Collections:
9
- * - focusableIds: enabled focusable widgets in traversal order
10
- * - enabledMap: all interactive widgets mapped to enabled state
11
- * - pressableIds: Buttons that can produce "press" actions
12
- * - inputMetaById: Input widget metadata (value, cursor, etc.)
13
- * - focusZones: zone metadata with their contained focusable ids
14
- * - focusTraps: trap metadata with their contained focusable ids
15
- *
16
- * @see docs/guide/runtime-and-layout.md
17
- */
18
- import type { FocusZoneNavigation } from "../widgets/types.js";
19
- import type { RuntimeInstance } from "./commit.js";
20
- import type { InstanceId } from "./instance.js";
21
- /**
22
- * Collect focusable ids from a committed runtime tree.
23
- *
24
- * - Order: depth-first preorder
25
- * - Children: left-to-right
26
- * - Focusable set: enabled focusable interactive widgets
27
- */
28
- export declare function collectFocusableIds(tree: RuntimeInstance): readonly string[];
29
- /**
30
- * Collect a deterministic enabled map (interactive id -> enabled) from a committed runtime tree.
31
- *
32
- * Interactive widgets are always included when their `id` is a non-empty string;
33
- * enabled is `true` iff `disabled !== true`.
34
- */
35
- export declare function collectEnabledMap(tree: RuntimeInstance): ReadonlyMap<string, boolean>;
36
- /** Metadata for an Input widget instance. */
37
- export type InputMeta = Readonly<{
38
- instanceId: InstanceId;
39
- value: string;
40
- disabled: boolean;
41
- readOnly: boolean;
42
- multiline: boolean;
43
- rows: number;
44
- wordWrap: boolean;
45
- onInput?: (value: string, cursor: number) => void;
46
- onBlur?: () => void;
47
- }>;
48
- /** Structured accessibility/focus semantics for a focusable widget. */
49
- export type FocusInfo = Readonly<{
50
- id: string | null;
51
- kind: RuntimeInstance["vnode"]["kind"] | null;
52
- accessibleLabel: string | null;
53
- visibleLabel: string | null;
54
- required: boolean;
55
- errors: readonly string[];
56
- announcement: string | null;
57
- }>;
58
- /**
59
- * Collect ids that can produce a "press" action (Buttons).
60
- *
61
- * Includes Buttons with a non-empty string id, regardless of disabled state.
62
- */
63
- export declare function collectPressableIds(tree: RuntimeInstance): ReadonlySet<string>;
64
- /**
65
- * Collect a deterministic map of Input id -> { instanceId, value, disabled } from a committed runtime tree.
66
- *
67
- * Inputs are included when their `id` is a non-empty string and `value` is a string.
68
- */
69
- export declare function collectInputMetaById(tree: RuntimeInstance): ReadonlyMap<string, InputMeta>;
70
- /** Collected focus zone metadata. */
71
- export type CollectedZone = Readonly<{
72
- id: string;
73
- tabIndex: number;
74
- navigation: FocusZoneNavigation;
75
- columns: number;
76
- wrapAround: boolean;
77
- focusableIds: readonly string[];
78
- parentZoneId?: string;
79
- onEnter?: () => void;
80
- onExit?: () => void;
81
- }>;
82
- /** Collected focus trap metadata. */
83
- export type CollectedTrap = Readonly<{
84
- id: string;
85
- kind?: "focusTrap" | "modal";
86
- active: boolean;
87
- returnFocusTo: string | null;
88
- initialFocus: string | null;
89
- focusableIds: readonly string[];
90
- }>;
91
- /**
92
- * Collect all focus zones from a committed runtime tree.
93
- *
94
- * - Order: depth-first preorder
95
- * - Each zone contains only the focusable ids directly within it (not in nested zones/traps)
96
- */
97
- export declare function collectFocusZones(tree: RuntimeInstance): ReadonlyMap<string, CollectedZone>;
98
- /**
99
- * Collect all focus traps from a committed runtime tree.
100
- *
101
- * - Order: depth-first preorder
102
- * - Each trap contains only the focusable ids directly within it (not in nested zones/traps)
103
- */
104
- export declare function collectFocusTraps(tree: RuntimeInstance): ReadonlyMap<string, CollectedTrap>;
105
- /**
106
- * All widget metadata collected in a single tree traversal.
107
- *
108
- * Replaces 6+ separate O(n) traversals with one O(n) pass.
109
- */
110
- export type CollectedWidgetMetadata = Readonly<{
111
- focusableIds: readonly string[];
112
- focusInfoById: ReadonlyMap<string, FocusInfo>;
113
- enabledById: ReadonlyMap<string, boolean>;
114
- pressableIds: ReadonlySet<string>;
115
- inputById: ReadonlyMap<string, InputMeta>;
116
- zones: ReadonlyMap<string, CollectedZone>;
117
- traps: ReadonlyMap<string, CollectedTrap>;
118
- /**
119
- * True when the tree contains widget kinds that require the routing-rebuild pass.
120
- * Allows renderer fast-paths to skip an extra traversal for static/non-interactive trees.
121
- */
122
- hasRoutingWidgets: boolean;
123
- }>;
124
- /**
125
- * Reusable metadata collector that pools internal data structures.
126
- *
127
- * Instead of allocating new Maps/Sets/arrays on every frame, this class
128
- * clears and reuses its internal collections, reducing GC pressure.
129
- *
130
- * Usage:
131
- * const collector = createWidgetMetadataCollector();
132
- * // Each frame:
133
- * const metadata = collector.collect(committedRoot);
134
- */
135
- export declare class WidgetMetadataCollector {
136
- private readonly _focusableIds;
137
- private readonly _focusInfoById;
138
- private readonly _enabledById;
139
- private readonly _pressableIds;
140
- private readonly _inputById;
141
- private readonly _focusContainerKindsById;
142
- private readonly _zoneDataById;
143
- private readonly _trapDataById;
144
- private readonly _zoneFocusables;
145
- private readonly _trapFocusables;
146
- private readonly _containerStack;
147
- private readonly _fieldStack;
148
- private readonly _stack;
149
- private readonly _zones;
150
- private readonly _traps;
151
- /**
152
- * Collect all widget metadata in a single tree traversal.
153
- *
154
- * Internal collections are cleared and reused to avoid allocations.
155
- */
156
- collect(tree: RuntimeInstance): CollectedWidgetMetadata;
157
- }
158
- /** Create a reusable widget metadata collector. */
159
- export declare function createWidgetMetadataCollector(): WidgetMetadataCollector;
160
- /**
161
- * Collect all widget metadata in a single tree traversal.
162
- *
163
- * This replaces:
164
- * - collectFocusableIds()
165
- * - collectEnabledMap()
166
- * - collectPressableIds()
167
- * - collectInputMetaById()
168
- * - collectFocusZones()
169
- * - collectFocusTraps()
170
- *
171
- * Performance: O(n) where n = number of nodes in the tree.
172
- *
173
- * Note: This function allocates new collections each call. For hot paths,
174
- * use createWidgetMetadataCollector() to reuse collections across frames.
175
- */
176
- export declare function collectAllWidgetMetadata(tree: RuntimeInstance): CollectedWidgetMetadata;
2
+ * packages/core/src/runtime/widgetMeta.ts — Public widget metadata API.
3
+ *
4
+ * Why: Keep the stable widget metadata entrypoint small while delegating
5
+ * concern-specific logic to internal modules under `runtime/widgetMeta/`.
6
+ */
7
+ export type { CollectedWidgetMetadata } from "./widgetMeta/collector.js";
8
+ export { WidgetMetadataCollector, collectAllWidgetMetadata, createWidgetMetadataCollector, } from "./widgetMeta/collector.js";
9
+ export type { CollectedTrap, CollectedZone } from "./widgetMeta/focusContainers.js";
10
+ export { collectFocusTraps, collectFocusZones } from "./widgetMeta/focusContainers.js";
11
+ export type { FocusInfo } from "./widgetMeta/focusInfo.js";
12
+ export type { InputMeta } from "./widgetMeta/helpers.js";
13
+ export { collectEnabledMap, collectFocusableIds, collectInputMetaById, collectPressableIds, } from "./widgetMeta/helpers.js";
177
14
  //# sourceMappingURL=widgetMeta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgetMeta.d.ts","sourceRoot":"","sources":["../../src/runtime/widgetMeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA4DhD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,MAAM,EAAE,CAkB5E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BrF;AAED,6CAA6C;AAC7C,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC/B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC,CAAC;AAsNH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAoB9E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAgE1F;AAED,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,mBAAmB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,CAAC,CAAC;AA0DH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CA0F3F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAuD3F;AAMD;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC,CAAC;AAeH;;;;;;;;;;GAUG;AACH,qBAAa,uBAAuB;IAElC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAG3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyC;IAClF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO1B;IACJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0D;IACxF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAG/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAGlD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAG9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAE3D;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,uBAAuB;CAgSxD;AAED,mDAAmD;AACnD,wBAAgB,6BAA6B,IAAI,uBAAuB,CAEvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,uBAAuB,CAIvF"}
1
+ {"version":3,"file":"widgetMeta.d.ts","sourceRoot":"","sources":["../../src/runtime/widgetMeta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACvF,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}