@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 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/widgets/factories/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ButtonProps, CheckboxProps, FieldProps, FocusAnnouncerProps, FocusTrapProps, FocusZoneProps, InputProps, RadioGroupProps, SelectProps, SliderProps, TextareaProps, VNode, VirtualListProps } from "../types.js";
2
+ import { type UiChild } from "./helpers.js";
3
+ export declare function button(props: ButtonProps): VNode;
4
+ export declare function input(props: InputProps): VNode;
5
+ export declare function textarea(props: TextareaProps): VNode;
6
+ export declare function focusAnnouncer(props?: FocusAnnouncerProps): VNode;
7
+ export declare function focusZone(props: FocusZoneProps, children?: readonly UiChild[]): VNode;
8
+ export declare function focusTrap(props: FocusTrapProps, children?: readonly UiChild[]): VNode;
9
+ export declare function virtualList<T>(props: VirtualListProps<T>): VNode;
10
+ export declare function field(props: FieldProps): VNode;
11
+ export declare function select(props: SelectProps): VNode;
12
+ export declare function slider(props: SliderProps): VNode;
13
+ export declare function checkbox(props: CheckboxProps): VNode;
14
+ export declare function radioGroup(props: RadioGroupProps): VNode;
15
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/widgets/factories/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EACL,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,OAAO,EAAuC,MAAM,cAAc,CAAC;AAEjF,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAEhD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAE9C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAUpD;AAED,wBAAgB,cAAc,CAAC,KAAK,GAAE,mBAAwB,GAAG,KAAK,CAErE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,GAAE,SAAS,OAAO,EAAO,GAAG,KAAK,CAEzF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,GAAE,SAAS,OAAO,EAAO,GAAG,KAAK,CAEzF;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAEhE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAE9C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAEhD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAEhD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAEpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAExD"}
@@ -0,0 +1,46 @@
1
+ import { filterChildren, resolveButtonIntent } from "./helpers.js";
2
+ export function button(props) {
3
+ return { kind: "button", props: resolveButtonIntent(props) };
4
+ }
5
+ export function input(props) {
6
+ return { kind: "input", props };
7
+ }
8
+ export function textarea(props) {
9
+ return {
10
+ kind: "input",
11
+ props: {
12
+ ...props,
13
+ multiline: true,
14
+ rows: props.rows ?? 3,
15
+ wordWrap: props.wordWrap ?? true,
16
+ },
17
+ };
18
+ }
19
+ export function focusAnnouncer(props = {}) {
20
+ return { kind: "focusAnnouncer", props };
21
+ }
22
+ export function focusZone(props, children = []) {
23
+ return { kind: "focusZone", props, children: filterChildren(children) };
24
+ }
25
+ export function focusTrap(props, children = []) {
26
+ return { kind: "focusTrap", props, children: filterChildren(children) };
27
+ }
28
+ export function virtualList(props) {
29
+ return { kind: "virtualList", props: props };
30
+ }
31
+ export function field(props) {
32
+ return { kind: "field", props, children: Object.freeze([props.children]) };
33
+ }
34
+ export function select(props) {
35
+ return { kind: "select", props };
36
+ }
37
+ export function slider(props) {
38
+ return { kind: "slider", props };
39
+ }
40
+ export function checkbox(props) {
41
+ return { kind: "checkbox", props };
42
+ }
43
+ export function radioGroup(props) {
44
+ return { kind: "radioGroup", props };
45
+ }
46
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/widgets/factories/interactive.ts"],"names":[],"mappings":"AAeA,OAAO,EAAgB,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEjF,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,GAAG,KAAK;YACR,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;SACjC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAA6B,EAAE;IAC5D,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB,EAAE,WAA+B,EAAE;IAChF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB,EAAE,WAA+B,EAAE;IAChF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,KAA0B;IACvD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAkC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { AppShellOptions, CardOptions, HeaderOptions, LayersProps, MasterDetailOptions, PageOptions, SidebarOptions, StatusBarOptions, ToolbarOptions, VNode } from "../types.js";
2
+ import { type ActionsOptions, type CenterOptions, type FormOptions, type PanelOptions, type UiChild } from "./helpers.js";
3
+ export declare function layers(children: readonly UiChild[]): VNode;
4
+ export declare function layers(props: LayersProps, children?: readonly UiChild[]): VNode;
5
+ export declare function panel(title: string, children: readonly UiChild[]): VNode;
6
+ export declare function panel(options: PanelOptions, children: readonly UiChild[]): VNode;
7
+ export declare function form(children: readonly UiChild[]): VNode;
8
+ export declare function form(options: FormOptions, children: readonly UiChild[]): VNode;
9
+ export declare function actions(children: readonly UiChild[]): VNode;
10
+ export declare function actions(options: ActionsOptions, children: readonly UiChild[]): VNode;
11
+ export declare function center(child: VNode, options?: CenterOptions): VNode;
12
+ export declare function page(options: PageOptions): VNode;
13
+ export declare function appShell(options: AppShellOptions): VNode;
14
+ export declare function card(options: CardOptions, children: readonly UiChild[]): VNode;
15
+ export declare function card(title: string, children: readonly UiChild[]): VNode;
16
+ export declare function toolbar(children: readonly UiChild[]): VNode;
17
+ export declare function toolbar(options: ToolbarOptions, children: readonly UiChild[]): VNode;
18
+ export declare function statusBar(options: StatusBarOptions): VNode;
19
+ export declare function header(options: HeaderOptions): VNode;
20
+ export declare function sidebar(options: SidebarOptions): VNode;
21
+ export declare function masterDetail(options: MasterDetailOptions): VNode;
22
+ //# sourceMappingURL=layoutShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutShell.d.ts","sourceRoot":"","sources":["../../../src/widgets/factories/layoutShell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,KAAK,EACN,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,OAAO,EAGb,MAAM,cAAc,CAAC;AAGtB,wBAAgB,MAAM,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAC5D,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAWjF,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAC1E,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AA0BlF,wBAAgB,IAAI,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAC1D,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAmBhF,wBAAgB,OAAO,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAC7D,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAoBtF,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,aAAkB,GAAG,KAAK,CAavE;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,CAchD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,KAAK,CAqBxD;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAChF,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAqCzE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAC7D,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,KAAK,CAAC;AAqBtF,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAW1D;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,CAkBpD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,KAAK,CA6BtD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,KAAK,CAahE"}
@@ -0,0 +1,190 @@
1
+ import { box, column, row, spacer, text } from "./basic.js";
2
+ import { filterChildren, isUiChildren, } from "./helpers.js";
3
+ import { button } from "./interactive.js";
4
+ export function layers(propsOrChildren, children = []) {
5
+ if (isUiChildren(propsOrChildren)) {
6
+ return { kind: "layers", props: {}, children: filterChildren(propsOrChildren) };
7
+ }
8
+ return { kind: "layers", props: propsOrChildren, children: filterChildren(children) };
9
+ }
10
+ export function panel(titleOrOptions, children = []) {
11
+ const options = typeof titleOrOptions === "string" ? { title: titleOrOptions } : titleOrOptions;
12
+ const resolvedChildren = filterChildren(children);
13
+ const inner = resolvedChildren.length <= 1
14
+ ? resolvedChildren
15
+ : [column({ gap: options.gap ?? 1 }, resolvedChildren)];
16
+ return box({
17
+ ...(options.id === undefined ? {} : { id: options.id }),
18
+ ...(options.key === undefined ? {} : { key: options.key }),
19
+ preset: "card",
20
+ ...(options.title === undefined ? {} : { title: options.title }),
21
+ border: options.variant ?? "rounded",
22
+ p: options.p ?? 1,
23
+ ...(options.style === undefined ? {} : { style: options.style }),
24
+ }, inner);
25
+ }
26
+ export function form(optionsOrChildren, children = []) {
27
+ if (isUiChildren(optionsOrChildren)) {
28
+ return column({ gap: 1 }, optionsOrChildren);
29
+ }
30
+ const options = optionsOrChildren;
31
+ return column({
32
+ ...(options.id === undefined ? {} : { id: options.id }),
33
+ ...(options.key === undefined ? {} : { key: options.key }),
34
+ gap: options.gap ?? 1,
35
+ }, children);
36
+ }
37
+ export function actions(optionsOrChildren, children = []) {
38
+ if (isUiChildren(optionsOrChildren)) {
39
+ return row({ justify: "end", gap: 1 }, optionsOrChildren);
40
+ }
41
+ const options = optionsOrChildren;
42
+ return row({
43
+ ...(options.id === undefined ? {} : { id: options.id }),
44
+ ...(options.key === undefined ? {} : { key: options.key }),
45
+ justify: "end",
46
+ gap: options.gap ?? 1,
47
+ }, children);
48
+ }
49
+ export function center(child, options = {}) {
50
+ return column({
51
+ ...(options.id === undefined ? {} : { id: options.id }),
52
+ ...(options.key === undefined ? {} : { key: options.key }),
53
+ width: "full",
54
+ height: "full",
55
+ align: "center",
56
+ justify: "center",
57
+ ...(options.p === undefined ? {} : { p: options.p }),
58
+ }, [child]);
59
+ }
60
+ export function page(options) {
61
+ const { id, key, header, body, footer, gap, p, width, height, ...layoutConstraints } = options;
62
+ return column({
63
+ ...(id === undefined ? {} : { id }),
64
+ ...(key === undefined ? {} : { key }),
65
+ width: width ?? "full",
66
+ height: height ?? "full",
67
+ ...layoutConstraints,
68
+ gap: gap ?? 1,
69
+ p: p ?? 1,
70
+ }, [header ?? null, box({ border: "none", flex: 1 }, [body]), footer ?? null]);
71
+ }
72
+ export function appShell(options) {
73
+ const { id, key, header, sidebar, body, footer, gap, p, ...layoutConstraints } = options;
74
+ const headerNode = header ? box({ border: "rounded", px: 1, py: 0 }, [header]) : null;
75
+ const bodyNode = sidebar
76
+ ? row({ gap: 1, items: "stretch" }, [
77
+ box({ border: "rounded", width: sidebar.width ?? 25, p: 1 }, [sidebar.content]),
78
+ box({ flex: 1 }, [body]),
79
+ ])
80
+ : body;
81
+ const footerNode = footer ? row({ gap: 1, items: "center", wrap: true }, [footer]) : null;
82
+ return page({
83
+ ...(id === undefined ? {} : { id }),
84
+ ...(key === undefined ? {} : { key }),
85
+ header: headerNode,
86
+ body: bodyNode,
87
+ footer: footerNode,
88
+ gap: gap ?? 1,
89
+ p: p ?? 1,
90
+ ...layoutConstraints,
91
+ });
92
+ }
93
+ export function card(optionsOrTitle, children = []) {
94
+ const options = typeof optionsOrTitle === "string" ? { title: optionsOrTitle } : optionsOrTitle;
95
+ const bodyChildren = filterChildren(children);
96
+ const headerActions = options.actions ?? [];
97
+ const cardChildren = [];
98
+ if (options.title !== undefined || headerActions.length > 0) {
99
+ cardChildren.push(row({ gap: 1, items: "center", wrap: true }, [
100
+ ...(options.title === undefined ? [] : [text(options.title, { variant: "heading" })]),
101
+ ...(headerActions.length === 0 ? [] : [spacer({ flex: 1 }), ...headerActions]),
102
+ ]));
103
+ }
104
+ if (options.subtitle !== undefined) {
105
+ cardChildren.push(text(options.subtitle, { dim: true }));
106
+ }
107
+ cardChildren.push(...bodyChildren);
108
+ return box({
109
+ ...(options.id === undefined ? {} : { id: options.id }),
110
+ ...(options.key === undefined ? {} : { key: options.key }),
111
+ preset: "card",
112
+ border: options.border ?? "rounded",
113
+ p: options.p ?? 1,
114
+ ...(options.style === undefined ? {} : { style: options.style }),
115
+ }, [column({ gap: options.gap ?? 1 }, cardChildren)]);
116
+ }
117
+ export function toolbar(optionsOrChildren, children = []) {
118
+ if (isUiChildren(optionsOrChildren)) {
119
+ return row({ gap: 1, items: "center", wrap: true }, optionsOrChildren);
120
+ }
121
+ const options = optionsOrChildren;
122
+ return row({
123
+ ...(options.id === undefined ? {} : { id: options.id }),
124
+ ...(options.key === undefined ? {} : { key: options.key }),
125
+ gap: options.gap ?? 1,
126
+ items: "center",
127
+ wrap: true,
128
+ }, children);
129
+ }
130
+ export function statusBar(options) {
131
+ return row({
132
+ ...(options.id === undefined ? {} : { id: options.id }),
133
+ ...(options.key === undefined ? {} : { key: options.key }),
134
+ width: "full",
135
+ items: "center",
136
+ ...(options.style === undefined ? {} : { style: options.style }),
137
+ }, [...(options.left ?? []), spacer({ flex: 1 }), ...(options.right ?? [])]);
138
+ }
139
+ export function header(options) {
140
+ return box({
141
+ ...(options.id === undefined ? {} : { id: options.id }),
142
+ ...(options.key === undefined ? {} : { key: options.key }),
143
+ border: "rounded",
144
+ px: 1,
145
+ py: 0,
146
+ }, [
147
+ row({ gap: 1, items: "center", wrap: true }, [
148
+ text(options.title, { variant: "heading" }),
149
+ options.subtitle ? text(options.subtitle, { dim: true }) : null,
150
+ spacer({ flex: 1 }),
151
+ ...(options.actions ?? []),
152
+ ]),
153
+ ]);
154
+ }
155
+ export function sidebar(options) {
156
+ const idPrefix = options.id ?? "sidebar";
157
+ const buttonNodes = options.items.map((item) => button({
158
+ id: `${idPrefix}-${item.id}`,
159
+ label: item.icon ? `${item.icon} ${item.label}` : item.label,
160
+ onPress: () => {
161
+ options.onSelect?.(item.id);
162
+ },
163
+ dsVariant: options.selected === item.id ? "soft" : "ghost",
164
+ dsTone: options.selected === item.id ? "primary" : "default",
165
+ }));
166
+ return box({
167
+ ...(options.id === undefined ? {} : { id: options.id }),
168
+ ...(options.key === undefined ? {} : { key: options.key }),
169
+ border: "rounded",
170
+ width: options.width ?? 25,
171
+ p: 1,
172
+ }, [
173
+ column({ gap: 1 }, [
174
+ options.title ? text(options.title, { variant: "heading" }) : null,
175
+ column({ gap: 0 }, buttonNodes),
176
+ ]),
177
+ ]);
178
+ }
179
+ export function masterDetail(options) {
180
+ return row({
181
+ ...(options.id === undefined ? {} : { id: options.id }),
182
+ ...(options.key === undefined ? {} : { key: options.key }),
183
+ gap: options.gap ?? 1,
184
+ items: "stretch",
185
+ }, [
186
+ box({ width: options.masterWidth ?? 30 }, [options.master]),
187
+ box({ flex: 1 }, [options.detail]),
188
+ ]);
189
+ }
190
+ //# sourceMappingURL=layoutShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutShell.js","sourceRoot":"","sources":["../../../src/widgets/factories/layoutShell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { BarChartItem, BarChartProps, CanvasProps, HeatmapProps, ImageProps, LineChartProps, MiniChartProps, ScatterProps, SparklineProps, VNode } from "../types.js";
2
+ export declare function canvas(props: CanvasProps): VNode;
3
+ export declare function image(props: ImageProps): VNode;
4
+ export declare function lineChart(props: LineChartProps): VNode;
5
+ export declare function scatter(props: ScatterProps): VNode;
6
+ export declare function heatmap(props: HeatmapProps): VNode;
7
+ export declare function sparkline(data: readonly number[], props?: Omit<SparklineProps, "data">): VNode;
8
+ export declare function barChart(data: readonly BarChartItem[], props?: Omit<BarChartProps, "data">): VNode;
9
+ export declare function miniChart(values: readonly {
10
+ label: string;
11
+ value: number;
12
+ max?: number;
13
+ }[], props?: Omit<MiniChartProps, "values">): VNode;
14
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/widgets/factories/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,KAAK,EACN,MAAM,aAAa,CAAC;AAErB,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAEhD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAE9C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAEtD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAElD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAElD;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,GAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAM,GACvC,KAAK,CAEP;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,KAAK,GAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAM,GACtC,KAAK,CAEP;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EACjE,KAAK,GAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAM,GACzC,KAAK,CAEP"}
@@ -0,0 +1,25 @@
1
+ export function canvas(props) {
2
+ return { kind: "canvas", props };
3
+ }
4
+ export function image(props) {
5
+ return { kind: "image", props };
6
+ }
7
+ export function lineChart(props) {
8
+ return { kind: "lineChart", props };
9
+ }
10
+ export function scatter(props) {
11
+ return { kind: "scatter", props };
12
+ }
13
+ export function heatmap(props) {
14
+ return { kind: "heatmap", props };
15
+ }
16
+ export function sparkline(data, props = {}) {
17
+ return { kind: "sparkline", props: { data, ...props } };
18
+ }
19
+ export function barChart(data, props = {}) {
20
+ return { kind: "barChart", props: { data, ...props } };
21
+ }
22
+ export function miniChart(values, props = {}) {
23
+ return { kind: "miniChart", props: { values, ...props } };
24
+ }
25
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/widgets/factories/media.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAuB,EACvB,QAAsC,EAAE;IAExC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAA6B,EAC7B,QAAqC,EAAE;IAEvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,MAAiE,EACjE,QAAwC,EAAE;IAE1C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type RouterBreadcrumbProps, type RouterTabsProps } from "../../router/helpers.js";
2
+ import type { RouteDefinition, RouterApi } from "../../router/types.js";
3
+ import type { AccordionProps, BreadcrumbProps, PaginationProps, TabsProps, VNode } from "../types.js";
4
+ export declare function tabs(props: TabsProps): VNode;
5
+ export declare function routerBreadcrumb<S>(router: RouterApi, routes: readonly RouteDefinition<S>[], props?: RouterBreadcrumbProps): VNode;
6
+ export declare function routerTabs<S>(router: RouterApi, routes: readonly RouteDefinition<S>[], props?: RouterTabsProps): VNode;
7
+ export declare function accordion(props: AccordionProps): VNode;
8
+ export declare function breadcrumb(props: BreadcrumbProps): VNode;
9
+ export declare function pagination(props: PaginationProps): VNode;
10
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/widgets/factories/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKxE,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,SAAS,EACT,KAAK,EACN,MAAM,aAAa,CAAC;AAErB,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAE5C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,EACrC,KAAK,GAAE,qBAA0B,GAChC,KAAK,CAEP;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,EACrC,KAAK,GAAE,eAAoB,GAC1B,KAAK,CAEP;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAEtD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAExD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAExD"}
@@ -0,0 +1,24 @@
1
+ import { routerBreadcrumb as buildRouterBreadcrumb, routerTabs as buildRouterTabs, } from "../../router/helpers.js";
2
+ import { createAccordionWidgetVNode } from "../accordion.js";
3
+ import { createBreadcrumbWidgetVNode } from "../breadcrumb.js";
4
+ import { createPaginationWidgetVNode } from "../pagination.js";
5
+ import { createTabsWidgetVNode } from "../tabs.js";
6
+ export function tabs(props) {
7
+ return createTabsWidgetVNode(props);
8
+ }
9
+ export function routerBreadcrumb(router, routes, props = {}) {
10
+ return buildRouterBreadcrumb(router, routes, props);
11
+ }
12
+ export function routerTabs(router, routes, props = {}) {
13
+ return buildRouterTabs(router, routes, props);
14
+ }
15
+ export function accordion(props) {
16
+ return createAccordionWidgetVNode(props);
17
+ }
18
+ export function breadcrumb(props) {
19
+ return createBreadcrumbWidgetVNode(props);
20
+ }
21
+ export function pagination(props) {
22
+ return createPaginationWidgetVNode(props);
23
+ }
24
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/widgets/factories/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,IAAI,qBAAqB,EACzC,UAAU,IAAI,eAAe,GAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AASnD,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAiB,EACjB,MAAqC,EACrC,QAA+B,EAAE;IAEjC,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,MAAiB,EACjB,MAAqC,EACrC,QAAyB,EAAE;IAE3B,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC"}
@@ -16,7 +16,7 @@ export declare const FIELD_LABEL_STYLE: Readonly<{
16
16
  }>;
17
17
  /** Default styles for field error. */
18
18
  export declare const FIELD_ERROR_STYLE: Readonly<{
19
- fg: number;
19
+ bold: true;
20
20
  }>;
21
21
  /** Default styles for field hint. */
22
22
  export declare const FIELD_HINT_STYLE: Readonly<{
@@ -37,6 +37,11 @@ export declare function buildFieldLabel(label: string, required?: boolean): stri
37
37
  * @returns True if error should be displayed
38
38
  */
39
39
  export declare function shouldShowError(error: string | undefined): boolean;
40
+ /**
41
+ * Resolve the footer text shown below a field.
42
+ * Non-empty errors take precedence; otherwise the hint is shown.
43
+ */
44
+ export declare function getFieldFooterText(error: string | undefined, hint: string | undefined): string | undefined;
40
45
  /**
41
46
  * Create a VNode for a field wrapper.
42
47
  * This creates the structure: column(label, children, error?, hint?)
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/widgets/field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEpD,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,sCAAsC;AACtC,eAAO,MAAM,iBAAiB;;EAE5B,CAAC;AAEH,sCAAsC;AACtC,eAAO,MAAM,iBAAiB;;EAE5B,CAAC;AAEH,qCAAqC;AACrC,eAAO,MAAM,gBAAgB;;EAE3B,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CASzD"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/widgets/field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEpD,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,sCAAsC;AACtC,eAAO,MAAM,iBAAiB;;EAE5B,CAAC;AAEH,sCAAsC;AACtC,eAAO,MAAM,iBAAiB;;EAE5B,CAAC;AAEH,qCAAqC;AACrC,eAAO,MAAM,gBAAgB;;EAE3B,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CASzD"}
@@ -7,7 +7,6 @@
7
7
  *
8
8
  * @see docs/widgets/field.md (GitHub issue #119)
9
9
  */
10
- import { rgb } from "./style.js";
11
10
  /** Character used to indicate required fields. */
12
11
  export const REQUIRED_INDICATOR = "*";
13
12
  /** Default styles for field label. */
@@ -16,7 +15,7 @@ export const FIELD_LABEL_STYLE = Object.freeze({
16
15
  });
17
16
  /** Default styles for field error. */
18
17
  export const FIELD_ERROR_STYLE = Object.freeze({
19
- fg: rgb(255, 0, 0),
18
+ bold: true,
20
19
  });
21
20
  /** Default styles for field hint. */
22
21
  export const FIELD_HINT_STYLE = Object.freeze({
@@ -44,6 +43,13 @@ export function buildFieldLabel(label, required) {
44
43
  export function shouldShowError(error) {
45
44
  return error !== undefined && error !== "";
46
45
  }
46
+ /**
47
+ * Resolve the footer text shown below a field.
48
+ * Non-empty errors take precedence; otherwise the hint is shown.
49
+ */
50
+ export function getFieldFooterText(error, hint) {
51
+ return shouldShowError(error) ? error : hint;
52
+ }
47
53
  /**
48
54
  * Create a VNode for a field wrapper.
49
55
  * This creates the structure: column(label, children, error?, hint?)
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/widgets/field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;CACnB,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAAkB;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,KAAK,IAAI,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,gDAAgD;IAChD,MAAM,QAAQ,GAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/widgets/field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,QAAkB;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,KAAK,IAAI,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAyB,EACzB,IAAwB;IAExB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,gDAAgD;IAChD,MAAM,QAAQ,GAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;KAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { FlattenedNode } from "./tree.js";
2
+ import type { FileNode } from "./types.js";
3
+ export declare function normalizeFilePickerFilter(filter: string | undefined): string | null;
4
+ export declare function flattenVisibleFilePickerNodes(data: FileNode | readonly FileNode[], expanded: readonly string[], filter: string | undefined, showHidden: boolean | undefined, expandedSet?: ReadonlySet<string>): readonly FlattenedNode<FileNode>[];
5
+ //# sourceMappingURL=filePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filePicker.d.ts","sourceRoot":"","sources":["../../src/widgets/filePicker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAY3C,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAInF;AAgKD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,QAAQ,GAAG,SAAS,QAAQ,EAAE,EACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAChC,SAAS,aAAa,CAAC,QAAQ,CAAC,EAAE,CAapC"}
@@ -0,0 +1,136 @@
1
+ const PATH_SEPARATOR = "/";
2
+ const EMPTY_BOOL_ARRAY = Object.freeze([]);
3
+ const EMPTY_VISIBLE_FILE_PICKER_NODES = Object.freeze([]);
4
+ export function normalizeFilePickerFilter(filter) {
5
+ if (typeof filter !== "string")
6
+ return null;
7
+ const trimmed = filter.trim();
8
+ return trimmed.length > 0 ? trimmed : null;
9
+ }
10
+ function trimLeadingPathSeparators(path) {
11
+ let start = 0;
12
+ while (start < path.length && path[start] === PATH_SEPARATOR) {
13
+ start++;
14
+ }
15
+ return start === 0 ? path : path.slice(start);
16
+ }
17
+ function escapeRegExpChar(ch) {
18
+ switch (ch) {
19
+ case "\\":
20
+ case "^":
21
+ case "$":
22
+ case ".":
23
+ case "+":
24
+ case "(":
25
+ case ")":
26
+ case "|":
27
+ case "{":
28
+ case "}":
29
+ case "[":
30
+ case "]":
31
+ return `\\${ch}`;
32
+ default:
33
+ return ch;
34
+ }
35
+ }
36
+ function compileFilePickerGlob(pattern) {
37
+ let source = "^";
38
+ for (let i = 0; i < pattern.length; i++) {
39
+ const ch = pattern[i];
40
+ if (ch === undefined)
41
+ continue;
42
+ if (ch === "*") {
43
+ let starCount = 1;
44
+ while (pattern[i + 1] === "*") {
45
+ starCount++;
46
+ i++;
47
+ }
48
+ source += starCount > 1 ? ".*" : "[^/]*";
49
+ continue;
50
+ }
51
+ if (ch === "?") {
52
+ source += "[^/]";
53
+ continue;
54
+ }
55
+ source += escapeRegExpChar(ch);
56
+ }
57
+ source += "$";
58
+ return new RegExp(source);
59
+ }
60
+ function createFilePickerFilterMatcher(filter) {
61
+ const normalizedFilter = normalizeFilePickerFilter(filter);
62
+ if (normalizedFilter === null)
63
+ return null;
64
+ const pattern = compileFilePickerGlob(normalizedFilter);
65
+ return (node) => {
66
+ const rawPath = node.path;
67
+ const relativePath = trimLeadingPathSeparators(rawPath);
68
+ return pattern.test(node.name) || pattern.test(relativePath) || pattern.test(rawPath);
69
+ };
70
+ }
71
+ function isHiddenFileNode(node) {
72
+ return node.name.startsWith(".");
73
+ }
74
+ function buildVisibleFilePickerTree(nodes, matcher, includeHidden) {
75
+ const visible = [];
76
+ for (let i = 0; i < nodes.length; i++) {
77
+ const node = nodes[i];
78
+ if (node === undefined)
79
+ continue;
80
+ if (!includeHidden && isHiddenFileNode(node))
81
+ continue;
82
+ const visibleChildren = node.children && node.children.length > 0
83
+ ? buildVisibleFilePickerTree(node.children, matcher, includeHidden)
84
+ : EMPTY_VISIBLE_FILE_PICKER_NODES;
85
+ const hasChildren = node.type === "directory" && (matcher === null || visibleChildren.length > 0);
86
+ const matchesSelf = matcher === null || matcher(node);
87
+ const keep = matcher === null
88
+ ? true
89
+ : node.type === "directory"
90
+ ? matchesSelf || visibleChildren.length > 0
91
+ : matchesSelf;
92
+ if (!keep)
93
+ continue;
94
+ visible.push(Object.freeze({
95
+ node,
96
+ hasChildren,
97
+ children: visibleChildren,
98
+ }));
99
+ }
100
+ return visible.length === 0 ? EMPTY_VISIBLE_FILE_PICKER_NODES : Object.freeze(visible);
101
+ }
102
+ function appendVisibleFilePickerNodes(entries, depth, parentKey, ancestorIsLast, expandedLookup, result) {
103
+ const siblingCount = entries.length;
104
+ for (let i = 0; i < siblingCount; i++) {
105
+ const entry = entries[i];
106
+ if (!entry)
107
+ continue;
108
+ const key = entry.node.path;
109
+ const hasChildren = entry.hasChildren;
110
+ const isLast = i === siblingCount - 1;
111
+ const nextAncestorIsLast = Object.freeze([...ancestorIsLast, isLast]);
112
+ const flatNode = Object.freeze({
113
+ node: entry.node,
114
+ depth,
115
+ siblingIndex: i,
116
+ siblingCount,
117
+ key,
118
+ parentKey,
119
+ hasChildren,
120
+ ancestorIsLast: nextAncestorIsLast,
121
+ });
122
+ result.push(flatNode);
123
+ if (entry.children.length > 0 && expandedLookup.has(key)) {
124
+ appendVisibleFilePickerNodes(entry.children, depth + 1, key, nextAncestorIsLast, expandedLookup, result);
125
+ }
126
+ }
127
+ }
128
+ export function flattenVisibleFilePickerNodes(data, expanded, filter, showHidden, expandedSet) {
129
+ const roots = Array.isArray(data) ? data : [data];
130
+ const visibleRoots = buildVisibleFilePickerTree(roots, createFilePickerFilterMatcher(filter), showHidden === true);
131
+ const expandedLookup = expandedSet ?? new Set(expanded);
132
+ const result = [];
133
+ appendVisibleFilePickerNodes(visibleRoots, 0, null, EMPTY_BOOL_ARRAY, expandedLookup, result);
134
+ return Object.freeze(result);
135
+ }
136
+ //# sourceMappingURL=filePicker.js.map