tuiuiu.js 0.1.1 → 0.1.4-next.64ff654

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 (402) hide show
  1. package/README.md +67 -36
  2. package/dist/atoms/button.d.ts.map +1 -1
  3. package/dist/atoms/button.js +17 -9
  4. package/dist/atoms/button.js.map +1 -1
  5. package/dist/atoms/text-input.d.ts +2 -0
  6. package/dist/atoms/text-input.d.ts.map +1 -1
  7. package/dist/atoms/text-input.js +13 -7
  8. package/dist/atoms/text-input.js.map +1 -1
  9. package/dist/atoms/tooltip.d.ts.map +1 -1
  10. package/dist/atoms/tooltip.js +2 -1
  11. package/dist/atoms/tooltip.js.map +1 -1
  12. package/dist/cli/commands/help.d.ts +5 -0
  13. package/dist/cli/commands/help.d.ts.map +1 -0
  14. package/dist/cli/commands/help.js +31 -0
  15. package/dist/cli/commands/help.js.map +1 -0
  16. package/dist/cli/commands/mcp.d.ts +11 -0
  17. package/dist/cli/commands/mcp.d.ts.map +1 -0
  18. package/dist/cli/commands/mcp.js +21 -0
  19. package/dist/cli/commands/mcp.js.map +1 -0
  20. package/dist/cli/commands/storybook.d.ts +5 -0
  21. package/dist/cli/commands/storybook.d.ts.map +1 -0
  22. package/dist/cli/commands/storybook.js +9 -0
  23. package/dist/cli/commands/storybook.js.map +1 -0
  24. package/dist/cli/index.d.ts +14 -0
  25. package/dist/cli/index.d.ts.map +1 -0
  26. package/dist/cli/index.js +50 -0
  27. package/dist/cli/index.js.map +1 -0
  28. package/dist/core/error-boundary.d.ts.map +1 -1
  29. package/dist/core/error-boundary.js +2 -1
  30. package/dist/core/error-boundary.js.map +1 -1
  31. package/dist/core/hotkeys.d.ts +62 -0
  32. package/dist/core/hotkeys.d.ts.map +1 -0
  33. package/dist/core/hotkeys.js +0 -0
  34. package/dist/core/hotkeys.js.map +1 -0
  35. package/dist/core/index.d.ts +3 -1
  36. package/dist/core/index.d.ts.map +1 -1
  37. package/dist/core/index.js +9 -1
  38. package/dist/core/index.js.map +1 -1
  39. package/dist/core/screen.d.ts.map +1 -1
  40. package/dist/core/screen.js +2 -0
  41. package/dist/core/screen.js.map +1 -1
  42. package/dist/core/theme.d.ts +79 -0
  43. package/dist/core/theme.d.ts.map +1 -1
  44. package/dist/core/theme.js +358 -0
  45. package/dist/core/theme.js.map +1 -1
  46. package/dist/design-system/data-display/index.d.ts +9 -6
  47. package/dist/design-system/data-display/index.d.ts.map +1 -1
  48. package/dist/design-system/data-display/index.js +16 -7
  49. package/dist/design-system/data-display/index.js.map +1 -1
  50. package/dist/design-system/feedback/badge.d.ts +21 -4
  51. package/dist/design-system/feedback/badge.d.ts.map +1 -1
  52. package/dist/design-system/feedback/badge.js +15 -2
  53. package/dist/design-system/feedback/badge.js.map +1 -1
  54. package/dist/design-system/forms/index.d.ts +11 -8
  55. package/dist/design-system/forms/index.d.ts.map +1 -1
  56. package/dist/design-system/forms/index.js +19 -10
  57. package/dist/design-system/forms/index.js.map +1 -1
  58. package/dist/design-system/layout/index.d.ts +7 -4
  59. package/dist/design-system/layout/index.d.ts.map +1 -1
  60. package/dist/design-system/layout/index.js +18 -6
  61. package/dist/design-system/layout/index.js.map +1 -1
  62. package/dist/design-system/media/picture.d.ts.map +1 -1
  63. package/dist/design-system/media/picture.js +2 -1
  64. package/dist/design-system/media/picture.js.map +1 -1
  65. package/dist/design-system/overlays/index.d.ts +6 -3
  66. package/dist/design-system/overlays/index.d.ts.map +1 -1
  67. package/dist/design-system/overlays/index.js +9 -3
  68. package/dist/design-system/overlays/index.js.map +1 -1
  69. package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
  70. package/dist/design-system/visual/splash-screen.js +38 -18
  71. package/dist/design-system/visual/splash-screen.js.map +1 -1
  72. package/dist/hooks/index.d.ts +2 -0
  73. package/dist/hooks/index.d.ts.map +1 -1
  74. package/dist/hooks/index.js +2 -0
  75. package/dist/hooks/index.js.map +1 -1
  76. package/dist/hooks/use-hotkeys.d.ts +153 -0
  77. package/dist/hooks/use-hotkeys.d.ts.map +1 -0
  78. package/dist/hooks/use-hotkeys.js +379 -0
  79. package/dist/hooks/use-hotkeys.js.map +1 -0
  80. package/dist/hooks/use-input.d.ts +2 -10
  81. package/dist/hooks/use-input.d.ts.map +1 -1
  82. package/dist/hooks/use-input.js +2 -287
  83. package/dist/hooks/use-input.js.map +1 -1
  84. package/dist/hooks/use-mouse.d.ts +5 -0
  85. package/dist/hooks/use-mouse.d.ts.map +1 -1
  86. package/dist/hooks/use-mouse.js +29 -11
  87. package/dist/hooks/use-mouse.js.map +1 -1
  88. package/dist/index.d.ts +6 -4
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +15 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/mcp/docs-data.d.ts +31 -0
  93. package/dist/mcp/docs-data.d.ts.map +1 -0
  94. package/dist/mcp/docs-data.js +637 -0
  95. package/dist/mcp/docs-data.js.map +1 -0
  96. package/dist/mcp/index.d.ts +14 -0
  97. package/dist/mcp/index.d.ts.map +1 -0
  98. package/dist/mcp/index.js +12 -0
  99. package/dist/mcp/index.js.map +1 -0
  100. package/dist/mcp/server.d.ts +31 -0
  101. package/dist/mcp/server.d.ts.map +1 -0
  102. package/dist/mcp/server.js +597 -0
  103. package/dist/mcp/server.js.map +1 -0
  104. package/dist/mcp/types.d.ts +114 -0
  105. package/dist/mcp/types.d.ts.map +1 -0
  106. package/dist/mcp/types.js +16 -0
  107. package/dist/mcp/types.js.map +1 -0
  108. package/dist/molecules/autocomplete.d.ts.map +1 -1
  109. package/dist/molecules/autocomplete.js +2 -1
  110. package/dist/molecules/autocomplete.js.map +1 -1
  111. package/dist/molecules/calendar.d.ts.map +1 -1
  112. package/dist/molecules/calendar.js +5 -3
  113. package/dist/molecules/calendar.js.map +1 -1
  114. package/dist/molecules/data-viz/annotations.d.ts +75 -0
  115. package/dist/molecules/data-viz/annotations.d.ts.map +1 -0
  116. package/dist/molecules/data-viz/annotations.js +40 -0
  117. package/dist/molecules/data-viz/annotations.js.map +1 -0
  118. package/dist/molecules/data-viz/gantt-chart.d.ts +66 -0
  119. package/dist/molecules/data-viz/gantt-chart.d.ts.map +1 -0
  120. package/dist/molecules/data-viz/gantt-chart.js +134 -0
  121. package/dist/molecules/data-viz/gantt-chart.js.map +1 -0
  122. package/dist/molecules/data-viz/gauge.d.ts +2 -2
  123. package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
  124. package/dist/molecules/data-viz/gauge.js +24 -8
  125. package/dist/molecules/data-viz/gauge.js.map +1 -1
  126. package/dist/molecules/data-viz/heatmap.d.ts +8 -2
  127. package/dist/molecules/data-viz/heatmap.d.ts.map +1 -1
  128. package/dist/molecules/data-viz/heatmap.js +41 -9
  129. package/dist/molecules/data-viz/heatmap.js.map +1 -1
  130. package/dist/molecules/data-viz/hooks.d.ts +264 -0
  131. package/dist/molecules/data-viz/hooks.d.ts.map +1 -0
  132. package/dist/molecules/data-viz/hooks.js +373 -0
  133. package/dist/molecules/data-viz/hooks.js.map +1 -0
  134. package/dist/molecules/data-viz/index.d.ts +14 -0
  135. package/dist/molecules/data-viz/index.d.ts.map +1 -1
  136. package/dist/molecules/data-viz/index.js +14 -0
  137. package/dist/molecules/data-viz/index.js.map +1 -1
  138. package/dist/molecules/data-viz/legend.d.ts +82 -0
  139. package/dist/molecules/data-viz/legend.d.ts.map +1 -0
  140. package/dist/molecules/data-viz/legend.js +146 -0
  141. package/dist/molecules/data-viz/legend.js.map +1 -0
  142. package/dist/molecules/data-viz/line-chart.d.ts.map +1 -1
  143. package/dist/molecules/data-viz/line-chart.js +48 -12
  144. package/dist/molecules/data-viz/line-chart.js.map +1 -1
  145. package/dist/molecules/data-viz/radar-chart.d.ts +61 -0
  146. package/dist/molecules/data-viz/radar-chart.d.ts.map +1 -0
  147. package/dist/molecules/data-viz/radar-chart.js +86 -0
  148. package/dist/molecules/data-viz/radar-chart.js.map +1 -0
  149. package/dist/molecules/data-viz/scatter-plot.d.ts +97 -0
  150. package/dist/molecules/data-viz/scatter-plot.d.ts.map +1 -0
  151. package/dist/molecules/data-viz/scatter-plot.js +205 -0
  152. package/dist/molecules/data-viz/scatter-plot.js.map +1 -0
  153. package/dist/molecules/data-viz/time-heatmap.d.ts +48 -0
  154. package/dist/molecules/data-viz/time-heatmap.d.ts.map +1 -0
  155. package/dist/molecules/data-viz/time-heatmap.js +145 -0
  156. package/dist/molecules/data-viz/time-heatmap.js.map +1 -0
  157. package/dist/molecules/select.d.ts +2 -0
  158. package/dist/molecules/select.d.ts.map +1 -1
  159. package/dist/molecules/select.js +4 -3
  160. package/dist/molecules/select.js.map +1 -1
  161. package/dist/molecules/tabs.d.ts.map +1 -1
  162. package/dist/molecules/tabs.js +14 -2
  163. package/dist/molecules/tabs.js.map +1 -1
  164. package/dist/organisms/command-palette.d.ts.map +1 -1
  165. package/dist/organisms/command-palette.js +2 -1
  166. package/dist/organisms/command-palette.js.map +1 -1
  167. package/dist/storybook/app.d.ts.map +1 -1
  168. package/dist/storybook/app.js +53 -44
  169. package/dist/storybook/app.js.map +1 -1
  170. package/dist/storybook/components/compare-view.d.ts.map +1 -1
  171. package/dist/storybook/components/compare-view.js +19 -18
  172. package/dist/storybook/components/compare-view.js.map +1 -1
  173. package/dist/storybook/components/log-viewer.d.ts.map +1 -1
  174. package/dist/storybook/components/log-viewer.js +9 -8
  175. package/dist/storybook/components/log-viewer.js.map +1 -1
  176. package/dist/storybook/components/preview.d.ts.map +1 -1
  177. package/dist/storybook/components/preview.js +34 -33
  178. package/dist/storybook/components/preview.js.map +1 -1
  179. package/dist/storybook/components/sidebar.d.ts.map +1 -1
  180. package/dist/storybook/components/sidebar.js +21 -20
  181. package/dist/storybook/components/sidebar.js.map +1 -1
  182. package/dist/storybook/stories/apps/index.d.ts.map +1 -1
  183. package/dist/storybook/stories/apps/index.js +306 -209
  184. package/dist/storybook/stories/apps/index.js.map +1 -1
  185. package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
  186. package/dist/storybook/stories/atoms/index.js.map +1 -1
  187. package/dist/storybook/stories/molecules/index.d.ts +25 -0
  188. package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
  189. package/dist/storybook/stories/molecules/index.js +402 -20
  190. package/dist/storybook/stories/molecules/index.js.map +1 -1
  191. package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
  192. package/dist/storybook/stories/organisms/index.js +1 -1
  193. package/dist/storybook/stories/organisms/index.js.map +1 -1
  194. package/dist/utils/index.d.ts +2 -0
  195. package/dist/utils/index.d.ts.map +1 -1
  196. package/dist/utils/index.js +2 -0
  197. package/dist/utils/index.js.map +1 -1
  198. package/dist/utils/system-data.d.ts +73 -0
  199. package/dist/utils/system-data.d.ts.map +1 -0
  200. package/dist/utils/system-data.js +367 -0
  201. package/dist/utils/system-data.js.map +1 -0
  202. package/dist/version.d.ts +43 -0
  203. package/dist/version.d.ts.map +1 -0
  204. package/dist/version.js +82 -0
  205. package/dist/version.js.map +1 -0
  206. package/package.json +22 -22
  207. package/dist/components/canvas.d.ts +0 -322
  208. package/dist/components/canvas.d.ts.map +0 -1
  209. package/dist/components/canvas.js +0 -833
  210. package/dist/components/canvas.js.map +0 -1
  211. package/dist/components/code-block.d.ts +0 -75
  212. package/dist/components/code-block.d.ts.map +0 -1
  213. package/dist/components/code-block.js +0 -322
  214. package/dist/components/code-block.js.map +0 -1
  215. package/dist/components/components.d.ts +0 -122
  216. package/dist/components/components.d.ts.map +0 -1
  217. package/dist/components/components.js +0 -151
  218. package/dist/components/components.js.map +0 -1
  219. package/dist/components/data-viz/bar-chart.d.ts +0 -167
  220. package/dist/components/data-viz/bar-chart.d.ts.map +0 -1
  221. package/dist/components/data-viz/bar-chart.js +0 -375
  222. package/dist/components/data-viz/bar-chart.js.map +0 -1
  223. package/dist/components/data-viz/gauge.d.ts +0 -163
  224. package/dist/components/data-viz/gauge.d.ts.map +0 -1
  225. package/dist/components/data-viz/gauge.js +0 -451
  226. package/dist/components/data-viz/gauge.js.map +0 -1
  227. package/dist/components/data-viz/heatmap.d.ts +0 -154
  228. package/dist/components/data-viz/heatmap.d.ts.map +0 -1
  229. package/dist/components/data-viz/heatmap.js +0 -458
  230. package/dist/components/data-viz/heatmap.js.map +0 -1
  231. package/dist/components/data-viz/index.d.ts +0 -16
  232. package/dist/components/data-viz/index.d.ts.map +0 -1
  233. package/dist/components/data-viz/index.js +0 -16
  234. package/dist/components/data-viz/index.js.map +0 -1
  235. package/dist/components/data-viz/line-chart.d.ts +0 -157
  236. package/dist/components/data-viz/line-chart.d.ts.map +0 -1
  237. package/dist/components/data-viz/line-chart.js +0 -578
  238. package/dist/components/data-viz/line-chart.js.map +0 -1
  239. package/dist/components/data-viz/sparkline.d.ts +0 -156
  240. package/dist/components/data-viz/sparkline.d.ts.map +0 -1
  241. package/dist/components/data-viz/sparkline.js +0 -325
  242. package/dist/components/data-viz/sparkline.js.map +0 -1
  243. package/dist/components/grid.d.ts +0 -234
  244. package/dist/components/grid.d.ts.map +0 -1
  245. package/dist/components/grid.js +0 -719
  246. package/dist/components/grid.js.map +0 -1
  247. package/dist/components/index.d.ts +0 -33
  248. package/dist/components/index.d.ts.map +0 -1
  249. package/dist/components/index.js +0 -69
  250. package/dist/components/index.js.map +0 -1
  251. package/dist/components/markdown.d.ts +0 -52
  252. package/dist/components/markdown.d.ts.map +0 -1
  253. package/dist/components/markdown.js +0 -341
  254. package/dist/components/markdown.js.map +0 -1
  255. package/dist/components/modal.d.ts +0 -237
  256. package/dist/components/modal.d.ts.map +0 -1
  257. package/dist/components/modal.js +0 -396
  258. package/dist/components/modal.js.map +0 -1
  259. package/dist/components/progress-bar.d.ts +0 -89
  260. package/dist/components/progress-bar.d.ts.map +0 -1
  261. package/dist/components/progress-bar.js +0 -288
  262. package/dist/components/progress-bar.js.map +0 -1
  263. package/dist/components/select.d.ts +0 -114
  264. package/dist/components/select.d.ts.map +0 -1
  265. package/dist/components/select.js +0 -415
  266. package/dist/components/select.js.map +0 -1
  267. package/dist/components/spinner.d.ts +0 -71
  268. package/dist/components/spinner.d.ts.map +0 -1
  269. package/dist/components/spinner.js +0 -300
  270. package/dist/components/spinner.js.map +0 -1
  271. package/dist/components/split-panel.d.ts +0 -175
  272. package/dist/components/split-panel.d.ts.map +0 -1
  273. package/dist/components/split-panel.js +0 -322
  274. package/dist/components/split-panel.js.map +0 -1
  275. package/dist/components/table.d.ts +0 -103
  276. package/dist/components/table.d.ts.map +0 -1
  277. package/dist/components/table.js +0 -359
  278. package/dist/components/table.js.map +0 -1
  279. package/dist/components/text-input.d.ts +0 -79
  280. package/dist/components/text-input.d.ts.map +0 -1
  281. package/dist/components/text-input.js +0 -332
  282. package/dist/components/text-input.js.map +0 -1
  283. package/dist/design-system/data-display/calendar.d.ts +0 -141
  284. package/dist/design-system/data-display/calendar.d.ts.map +0 -1
  285. package/dist/design-system/data-display/calendar.js +0 -524
  286. package/dist/design-system/data-display/calendar.js.map +0 -1
  287. package/dist/design-system/data-display/code-block.d.ts +0 -75
  288. package/dist/design-system/data-display/code-block.d.ts.map +0 -1
  289. package/dist/design-system/data-display/code-block.js +0 -311
  290. package/dist/design-system/data-display/code-block.js.map +0 -1
  291. package/dist/design-system/data-display/data-table.d.ts +0 -173
  292. package/dist/design-system/data-display/data-table.d.ts.map +0 -1
  293. package/dist/design-system/data-display/data-table.js +0 -428
  294. package/dist/design-system/data-display/data-table.js.map +0 -1
  295. package/dist/design-system/data-display/markdown.d.ts +0 -52
  296. package/dist/design-system/data-display/markdown.d.ts.map +0 -1
  297. package/dist/design-system/data-display/markdown.js +0 -341
  298. package/dist/design-system/data-display/markdown.js.map +0 -1
  299. package/dist/design-system/data-display/table.d.ts +0 -103
  300. package/dist/design-system/data-display/table.d.ts.map +0 -1
  301. package/dist/design-system/data-display/table.js +0 -342
  302. package/dist/design-system/data-display/table.js.map +0 -1
  303. package/dist/design-system/data-display/tree.d.ts +0 -166
  304. package/dist/design-system/data-display/tree.d.ts.map +0 -1
  305. package/dist/design-system/data-display/tree.js +0 -428
  306. package/dist/design-system/data-display/tree.js.map +0 -1
  307. package/dist/design-system/forms/autocomplete.d.ts +0 -163
  308. package/dist/design-system/forms/autocomplete.d.ts.map +0 -1
  309. package/dist/design-system/forms/autocomplete.js +0 -455
  310. package/dist/design-system/forms/autocomplete.js.map +0 -1
  311. package/dist/design-system/forms/button.d.ts +0 -106
  312. package/dist/design-system/forms/button.d.ts.map +0 -1
  313. package/dist/design-system/forms/button.js +0 -170
  314. package/dist/design-system/forms/button.js.map +0 -1
  315. package/dist/design-system/forms/multi-select.d.ts +0 -102
  316. package/dist/design-system/forms/multi-select.d.ts.map +0 -1
  317. package/dist/design-system/forms/multi-select.js +0 -309
  318. package/dist/design-system/forms/multi-select.js.map +0 -1
  319. package/dist/design-system/forms/radio-group.d.ts +0 -88
  320. package/dist/design-system/forms/radio-group.d.ts.map +0 -1
  321. package/dist/design-system/forms/radio-group.js +0 -145
  322. package/dist/design-system/forms/radio-group.js.map +0 -1
  323. package/dist/design-system/forms/select.d.ts +0 -116
  324. package/dist/design-system/forms/select.d.ts.map +0 -1
  325. package/dist/design-system/forms/select.js +0 -441
  326. package/dist/design-system/forms/select.js.map +0 -1
  327. package/dist/design-system/forms/slider.d.ts +0 -134
  328. package/dist/design-system/forms/slider.d.ts.map +0 -1
  329. package/dist/design-system/forms/slider.js +0 -314
  330. package/dist/design-system/forms/slider.js.map +0 -1
  331. package/dist/design-system/forms/switch.d.ts +0 -99
  332. package/dist/design-system/forms/switch.d.ts.map +0 -1
  333. package/dist/design-system/forms/switch.js +0 -173
  334. package/dist/design-system/forms/switch.js.map +0 -1
  335. package/dist/design-system/forms/text-input.d.ts +0 -79
  336. package/dist/design-system/forms/text-input.d.ts.map +0 -1
  337. package/dist/design-system/forms/text-input.js +0 -344
  338. package/dist/design-system/forms/text-input.js.map +0 -1
  339. package/dist/design-system/layout/collapsible.d.ts +0 -166
  340. package/dist/design-system/layout/collapsible.d.ts.map +0 -1
  341. package/dist/design-system/layout/collapsible.js +0 -286
  342. package/dist/design-system/layout/collapsible.js.map +0 -1
  343. package/dist/design-system/layout/scroll-area.d.ts +0 -188
  344. package/dist/design-system/layout/scroll-area.d.ts.map +0 -1
  345. package/dist/design-system/layout/scroll-area.js +0 -348
  346. package/dist/design-system/layout/scroll-area.js.map +0 -1
  347. package/dist/design-system/layout/split-panel.d.ts +0 -183
  348. package/dist/design-system/layout/split-panel.d.ts.map +0 -1
  349. package/dist/design-system/layout/split-panel.js +0 -323
  350. package/dist/design-system/layout/split-panel.js.map +0 -1
  351. package/dist/design-system/layout/tabs.d.ts +0 -129
  352. package/dist/design-system/layout/tabs.d.ts.map +0 -1
  353. package/dist/design-system/layout/tabs.js +0 -373
  354. package/dist/design-system/layout/tabs.js.map +0 -1
  355. package/dist/design-system/overlays/command-palette.d.ts +0 -217
  356. package/dist/design-system/overlays/command-palette.d.ts.map +0 -1
  357. package/dist/design-system/overlays/command-palette.js +0 -443
  358. package/dist/design-system/overlays/command-palette.js.map +0 -1
  359. package/dist/design-system/overlays/modal.d.ts +0 -251
  360. package/dist/design-system/overlays/modal.d.ts.map +0 -1
  361. package/dist/design-system/overlays/modal.js +0 -461
  362. package/dist/design-system/overlays/modal.js.map +0 -1
  363. package/dist/design-system/overlays/overlay-stack.d.ts +0 -200
  364. package/dist/design-system/overlays/overlay-stack.d.ts.map +0 -1
  365. package/dist/design-system/overlays/overlay-stack.js +0 -341
  366. package/dist/design-system/overlays/overlay-stack.js.map +0 -1
  367. package/dist/design-system/primitives/box.d.ts +0 -16
  368. package/dist/design-system/primitives/box.d.ts.map +0 -1
  369. package/dist/design-system/primitives/box.js +0 -23
  370. package/dist/design-system/primitives/box.js.map +0 -1
  371. package/dist/design-system/primitives/divider.d.ts +0 -52
  372. package/dist/design-system/primitives/divider.d.ts.map +0 -1
  373. package/dist/design-system/primitives/divider.js +0 -72
  374. package/dist/design-system/primitives/divider.js.map +0 -1
  375. package/dist/design-system/primitives/helpers.d.ts +0 -10
  376. package/dist/design-system/primitives/helpers.d.ts.map +0 -1
  377. package/dist/design-system/primitives/helpers.js +0 -27
  378. package/dist/design-system/primitives/helpers.js.map +0 -1
  379. package/dist/design-system/primitives/index.d.ts +0 -11
  380. package/dist/design-system/primitives/index.d.ts.map +0 -1
  381. package/dist/design-system/primitives/index.js +0 -14
  382. package/dist/design-system/primitives/index.js.map +0 -1
  383. package/dist/design-system/primitives/slot.d.ts +0 -35
  384. package/dist/design-system/primitives/slot.d.ts.map +0 -1
  385. package/dist/design-system/primitives/slot.js +0 -17
  386. package/dist/design-system/primitives/slot.js.map +0 -1
  387. package/dist/design-system/primitives/spacer.d.ts +0 -34
  388. package/dist/design-system/primitives/spacer.d.ts.map +0 -1
  389. package/dist/design-system/primitives/spacer.js +0 -53
  390. package/dist/design-system/primitives/spacer.js.map +0 -1
  391. package/dist/design-system/primitives/text.d.ts +0 -12
  392. package/dist/design-system/primitives/text.d.ts.map +0 -1
  393. package/dist/design-system/primitives/text.js +0 -25
  394. package/dist/design-system/primitives/text.js.map +0 -1
  395. package/dist/design-system/primitives/utilities.d.ts +0 -70
  396. package/dist/design-system/primitives/utilities.d.ts.map +0 -1
  397. package/dist/design-system/primitives/utilities.js +0 -56
  398. package/dist/design-system/primitives/utilities.js.map +0 -1
  399. package/dist/storybook/cli.d.ts +0 -10
  400. package/dist/storybook/cli.d.ts.map +0 -1
  401. package/dist/storybook/cli.js +0 -14
  402. package/dist/storybook/cli.js.map +0 -1
@@ -1,286 +0,0 @@
1
- /**
2
- * Collapsible - Expandable/collapsible sections
3
- *
4
- * Features:
5
- * - Expandable content sections
6
- * - Title with toggle indicator
7
- * - Keyboard toggle (space/enter)
8
- * - Custom icons
9
- * - Nested collapsibles
10
- */
11
- import { Box, Text } from '../../primitives/nodes.js';
12
- import { createSignal } from '../../primitives/signal.js';
13
- import { useInput } from '../../hooks/index.js';
14
- import { getChars, getRenderMode } from '../../core/capabilities.js';
15
- // =============================================================================
16
- // State Factory
17
- // =============================================================================
18
- /**
19
- * Create a Collapsible state manager
20
- */
21
- export function createCollapsible(options = {}) {
22
- const { initialExpanded = false, onToggle } = options;
23
- const [expanded, setExpandedSignal] = createSignal(initialExpanded);
24
- const toggle = () => {
25
- setExpandedSignal((v) => {
26
- const newValue = !v;
27
- onToggle?.(newValue);
28
- return newValue;
29
- });
30
- };
31
- const expand = () => {
32
- if (!expanded()) {
33
- setExpandedSignal(true);
34
- onToggle?.(true);
35
- }
36
- };
37
- const collapse = () => {
38
- if (expanded()) {
39
- setExpandedSignal(false);
40
- onToggle?.(false);
41
- }
42
- };
43
- const setExpanded = (value) => {
44
- if (expanded() !== value) {
45
- setExpandedSignal(value);
46
- onToggle?.(value);
47
- }
48
- };
49
- return { expanded, toggle, expand, collapse, setExpanded };
50
- }
51
- /**
52
- * Collapsible - Expandable content section
53
- *
54
- * @example
55
- * Collapsible({
56
- * title: 'Advanced Options',
57
- * children: Box({}, Text({}, 'Hidden content here'))
58
- * })
59
- *
60
- * @example
61
- * // With custom icons
62
- * Collapsible({
63
- * title: 'Details',
64
- * collapsedIcon: '📁',
65
- * expandedIcon: '📂',
66
- * children: detailsContent
67
- * })
68
- */
69
- export function Collapsible(props) {
70
- const { title, collapsedIcon, expandedIcon, titleColor = 'white', indent = 2, disabled = false, isActive = true, children, state: externalState, } = props;
71
- const state = externalState || createCollapsible(props);
72
- const chars = getChars();
73
- const isAscii = getRenderMode() === 'ascii';
74
- // Setup keyboard handling
75
- useInput((input, key) => {
76
- if (disabled)
77
- return;
78
- if (input === ' ' || key.return) {
79
- state.toggle();
80
- }
81
- else if (key.leftArrow || input === 'h') {
82
- state.collapse();
83
- }
84
- else if (key.rightArrow || input === 'l') {
85
- state.expand();
86
- }
87
- }, { isActive });
88
- const isExpanded = state.expanded();
89
- // Determine icon
90
- let icon;
91
- if (isExpanded) {
92
- icon = expandedIcon ?? (isAscii ? 'v' : chars.expand.expanded);
93
- }
94
- else {
95
- icon = collapsedIcon ?? (isAscii ? '>' : chars.expand.collapsed);
96
- }
97
- // Header
98
- const header = Box({ flexDirection: 'row', gap: 1 }, Text({ color: titleColor, dim: disabled }, icon), Text({ color: titleColor, bold: true, dim: disabled }, title || 'Untitled'));
99
- // Content (only shown when expanded)
100
- const content = isExpanded
101
- ? Box({ marginLeft: indent, marginTop: 1 }, ...(Array.isArray(children) ? children : [children]))
102
- : null;
103
- return Box({ flexDirection: 'column' }, header, content);
104
- }
105
- /**
106
- * Create an Accordion state manager
107
- */
108
- export function createAccordion(options) {
109
- const { sections, initialExpanded, multiple = false, onChange } = options;
110
- const [expanded, setExpanded] = createSignal(new Set(initialExpanded ? [initialExpanded] : []));
111
- const [focusIndex, setFocusIndex] = createSignal(0);
112
- const toggle = (key) => {
113
- setExpanded((exp) => {
114
- const newExp = new Set(exp);
115
- if (newExp.has(key)) {
116
- newExp.delete(key);
117
- }
118
- else {
119
- if (!multiple) {
120
- newExp.clear();
121
- }
122
- newExp.add(key);
123
- }
124
- onChange?.([...newExp]);
125
- return newExp;
126
- });
127
- };
128
- const expand = (key) => {
129
- setExpanded((exp) => {
130
- const newExp = multiple ? new Set(exp) : new Set();
131
- newExp.add(key);
132
- onChange?.([...newExp]);
133
- return newExp;
134
- });
135
- };
136
- const collapse = (key) => {
137
- setExpanded((exp) => {
138
- const newExp = new Set(exp);
139
- newExp.delete(key);
140
- onChange?.([...newExp]);
141
- return newExp;
142
- });
143
- };
144
- const expandAll = () => {
145
- if (multiple) {
146
- const allKeys = sections.filter((s) => !s.disabled).map((s) => s.key);
147
- setExpanded(new Set(allKeys));
148
- onChange?.(allKeys);
149
- }
150
- };
151
- const collapseAll = () => {
152
- setExpanded(new Set());
153
- onChange?.([]);
154
- };
155
- const movePrev = () => {
156
- setFocusIndex((i) => {
157
- let newIndex = i - 1;
158
- while (newIndex >= 0 && sections[newIndex]?.disabled) {
159
- newIndex--;
160
- }
161
- return newIndex >= 0 ? newIndex : i;
162
- });
163
- };
164
- const moveNext = () => {
165
- setFocusIndex((i) => {
166
- let newIndex = i + 1;
167
- while (newIndex < sections.length && sections[newIndex]?.disabled) {
168
- newIndex++;
169
- }
170
- return newIndex < sections.length ? newIndex : i;
171
- });
172
- };
173
- const toggleFocused = () => {
174
- const section = sections[focusIndex()];
175
- if (section && !section.disabled) {
176
- toggle(section.key);
177
- }
178
- };
179
- return {
180
- expanded,
181
- focusIndex,
182
- toggle,
183
- expand,
184
- collapse,
185
- expandAll,
186
- collapseAll,
187
- movePrev,
188
- moveNext,
189
- toggleFocused,
190
- };
191
- }
192
- /**
193
- * Accordion - Multiple collapsible sections
194
- *
195
- * @example
196
- * Accordion({
197
- * sections: [
198
- * { key: 'general', title: 'General', content: generalContent },
199
- * { key: 'advanced', title: 'Advanced', content: advancedContent },
200
- * ],
201
- * })
202
- */
203
- export function Accordion(props) {
204
- const { sections, gap = 0, titleColor = 'white', activeColor = 'cyan', isActive = true, state: externalState, } = props;
205
- const state = externalState || createAccordion(props);
206
- const chars = getChars();
207
- const isAscii = getRenderMode() === 'ascii';
208
- // Setup keyboard handling
209
- useInput((input, key) => {
210
- if (key.upArrow || input === 'k')
211
- state.movePrev();
212
- else if (key.downArrow || input === 'j')
213
- state.moveNext();
214
- else if (input === ' ' || key.return)
215
- state.toggleFocused();
216
- else if (input === 'e')
217
- state.expandAll();
218
- else if (input === 'c')
219
- state.collapseAll();
220
- }, { isActive });
221
- const expandedSet = state.expanded();
222
- const focusIdx = state.focusIndex();
223
- const sectionNodes = sections.map((section, i) => {
224
- const isExpanded = expandedSet.has(section.key);
225
- const isFocused = i === focusIdx;
226
- const icon = isExpanded
227
- ? (isAscii ? 'v' : chars.expand.expanded)
228
- : (isAscii ? '>' : chars.expand.collapsed);
229
- const headerColor = isFocused
230
- ? activeColor
231
- : section.disabled
232
- ? 'gray'
233
- : titleColor;
234
- // Header
235
- const header = Box({ flexDirection: 'row', gap: 1 }, Text({ color: headerColor }, section.icon ?? icon), Text({ color: headerColor, bold: isFocused, dim: section.disabled }, section.title));
236
- // Content
237
- const content = isExpanded
238
- ? Box({ marginLeft: 2, marginTop: 1 }, typeof section.content === 'function' ? section.content() : section.content)
239
- : null;
240
- return Box({ flexDirection: 'column' }, header, content);
241
- });
242
- return Box({ flexDirection: 'column', gap }, ...sectionNodes);
243
- }
244
- /**
245
- * Details - Simple expandable section (like HTML <details>)
246
- *
247
- * @example
248
- * Details({
249
- * summary: 'Click to see more',
250
- * children: Text({}, 'Hidden details here')
251
- * })
252
- */
253
- export function Details(props) {
254
- const { summary, children, open = false, icon } = props;
255
- return Collapsible({
256
- title: summary,
257
- initialExpanded: open,
258
- collapsedIcon: icon,
259
- expandedIcon: icon,
260
- children: Array.isArray(children) ? Box({}, ...children) : children,
261
- });
262
- }
263
- /**
264
- * ExpandableText - Long text with show more/less
265
- */
266
- export function ExpandableText(props) {
267
- const { text, maxLines = 3, showMoreLabel = 'Show more', showLessLabel = 'Show less', color = 'white', } = props;
268
- const [expanded, setExpanded] = createSignal(false);
269
- const lines = text.split('\n');
270
- const needsTruncation = lines.length > maxLines;
271
- useInput((input, key) => {
272
- if (input === ' ' || key.return) {
273
- setExpanded((v) => !v);
274
- }
275
- }, { isActive: needsTruncation });
276
- if (!needsTruncation) {
277
- return Text({ color }, text);
278
- }
279
- const isExpanded = expanded();
280
- const displayText = isExpanded
281
- ? text
282
- : lines.slice(0, maxLines).join('\n');
283
- const toggleLabel = isExpanded ? showLessLabel : showMoreLabel;
284
- return Box({ flexDirection: 'column' }, Text({ color }, displayText), Text({ color: 'cyan', dim: !isExpanded }, `[${toggleLabel}]`));
285
- }
286
- //# sourceMappingURL=collapsible.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapsible.js","sourceRoot":"","sources":["../../../src/design-system/layout/collapsible.ts"],"names":[],"mappings":"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"}
@@ -1,188 +0,0 @@
1
- /**
2
- * ScrollArea - Scrollable content with scrollbar
3
- *
4
- * Features:
5
- * - Vertical scrolling
6
- * - Scrollbar indicator
7
- * - Keyboard scrolling (arrows, page up/down)
8
- * - Scroll position tracking
9
- * - Auto-scroll to bottom (optional)
10
- */
11
- import type { VNode, ColorValue } from '../../utils/types.js';
12
- export interface ScrollAreaOptions {
13
- /** Visible height (lines) */
14
- height: number;
15
- /** Content to scroll */
16
- content: string[] | VNode[];
17
- /** Initial scroll position */
18
- initialScrollTop?: number;
19
- /** Auto-scroll to bottom on content change */
20
- autoScroll?: boolean;
21
- /** Show scrollbar */
22
- showScrollbar?: boolean;
23
- /** Scrollbar color */
24
- scrollbarColor?: ColorValue;
25
- /** Track color */
26
- trackColor?: ColorValue;
27
- /** Enable wrapping at width */
28
- wrapWidth?: number;
29
- /** Scroll step size */
30
- scrollStep?: number;
31
- /** Page scroll size (default: height - 1) */
32
- pageSize?: number;
33
- /** Callbacks */
34
- onScroll?: (scrollTop: number) => void;
35
- /** Is active */
36
- isActive?: boolean;
37
- }
38
- export interface ScrollAreaState {
39
- scrollTop: () => number;
40
- maxScroll: () => number;
41
- visibleItems: () => (string | VNode)[];
42
- scrollTo: (position: number) => void;
43
- scrollBy: (delta: number) => void;
44
- scrollToTop: () => void;
45
- scrollToBottom: () => void;
46
- pageUp: () => void;
47
- pageDown: () => void;
48
- }
49
- /**
50
- * Create a ScrollArea state manager
51
- */
52
- export declare function createScrollArea(options: ScrollAreaOptions): ScrollAreaState;
53
- export interface ScrollAreaProps extends ScrollAreaOptions {
54
- /** Pre-created state */
55
- state?: ScrollAreaState;
56
- /** Width of content area */
57
- width?: number;
58
- }
59
- /**
60
- * ScrollArea - Scrollable content with scrollbar
61
- *
62
- * @example
63
- * // Basic scroll area
64
- * ScrollArea({
65
- * height: 10,
66
- * content: longText.split('\n'),
67
- * })
68
- *
69
- * @example
70
- * // With auto-scroll and custom scrollbar
71
- * ScrollArea({
72
- * height: 20,
73
- * content: logLines,
74
- * autoScroll: true,
75
- * scrollbarColor: 'cyan',
76
- * })
77
- */
78
- export declare function ScrollArea(props: ScrollAreaProps): VNode;
79
- export interface VirtualListItem<T = unknown> {
80
- key: string;
81
- data: T;
82
- }
83
- export interface VirtualListOptions<T = unknown> {
84
- /** List items */
85
- items: VirtualListItem<T>[];
86
- /** Visible height (items) */
87
- height: number;
88
- /** Render function for each item */
89
- renderItem: (item: VirtualListItem<T>, index: number, isSelected: boolean) => VNode;
90
- /** Initial selected index */
91
- initialSelected?: number;
92
- /** Selection color */
93
- selectionColor?: ColorValue;
94
- /** Show scrollbar */
95
- showScrollbar?: boolean;
96
- /** Callbacks */
97
- onSelect?: (item: VirtualListItem<T>, index: number) => void;
98
- onActivate?: (item: VirtualListItem<T>, index: number) => void;
99
- /** Is active */
100
- isActive?: boolean;
101
- }
102
- export interface VirtualListState<T = unknown> {
103
- selectedIndex: () => number;
104
- scrollTop: () => number;
105
- visibleItems: () => {
106
- item: VirtualListItem<T>;
107
- index: number;
108
- }[];
109
- selectIndex: (index: number) => void;
110
- selectPrev: () => void;
111
- selectNext: () => void;
112
- selectFirst: () => void;
113
- selectLast: () => void;
114
- pageUp: () => void;
115
- pageDown: () => void;
116
- activate: () => void;
117
- }
118
- /**
119
- * Create a VirtualList state manager
120
- */
121
- export declare function createVirtualList<T = unknown>(options: VirtualListOptions<T>): VirtualListState<T>;
122
- export interface VirtualListProps<T = unknown> extends VirtualListOptions<T> {
123
- /** Pre-created state */
124
- state?: VirtualListState<T>;
125
- /** Width */
126
- width?: number;
127
- }
128
- /**
129
- * VirtualList - Virtualized list for large datasets
130
- *
131
- * @example
132
- * VirtualList({
133
- * items: files.map((f, i) => ({ key: f.name, data: f })),
134
- * height: 20,
135
- * renderItem: (item, index, selected) =>
136
- * Text({ color: selected ? 'cyan' : 'white' }, item.data.name),
137
- * onActivate: (item) => openFile(item.data),
138
- * })
139
- */
140
- export declare function VirtualList<T = unknown>(props: VirtualListProps<T>): VNode;
141
- export interface ScrollableTextProps {
142
- /** Text content */
143
- text: string;
144
- /** Visible height */
145
- height: number;
146
- /** Width (for wrapping) */
147
- width?: number;
148
- /** Text color */
149
- color?: ColorValue;
150
- /** Show scrollbar */
151
- showScrollbar?: boolean;
152
- /** Is active */
153
- isActive?: boolean;
154
- }
155
- /**
156
- * ScrollableText - Simple scrollable text
157
- */
158
- export declare function ScrollableText(props: ScrollableTextProps): VNode;
159
- export interface LogViewerOptions {
160
- /** Log lines */
161
- lines: string[];
162
- /** Visible height */
163
- height: number;
164
- /** Auto-scroll to bottom */
165
- autoScroll?: boolean;
166
- /** Show line numbers */
167
- showLineNumbers?: boolean;
168
- /** Highlight pattern (regex) */
169
- highlightPattern?: RegExp;
170
- /** Highlight color */
171
- highlightColor?: ColorValue;
172
- /** Is active */
173
- isActive?: boolean;
174
- }
175
- /**
176
- * LogViewer - Auto-scrolling log viewer
177
- *
178
- * @example
179
- * LogViewer({
180
- * lines: logBuffer,
181
- * height: 20,
182
- * autoScroll: true,
183
- * highlightPattern: /error|warning/i,
184
- * highlightColor: 'red',
185
- * })
186
- */
187
- export declare function LogViewer(props: LogViewerOptions): VNode;
188
- //# sourceMappingURL=scroll-area.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../src/design-system/layout/scroll-area.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAS9D,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB;IACtB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,kBAAkB;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAmD5E;AAMD,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,wBAAwB;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CA0FxD;AAMD,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,iBAAiB;IACjB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC;IACpF,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,qBAAqB;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM;QAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAC3C,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,gBAAgB,CAAC,CAAC,CAAC,CA0DrB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC1E,wBAAwB;IACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAwF1E;AAMD,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,qBAAqB;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAmBhE;AAMD,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CA2FxD"}