@opencode/ui 0.0.0-reserved → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/LICENSE +21 -0
  2. package/dist/actions/button/button.d.ts +10 -0
  3. package/dist/actions/icon-button/icon-button.d.ts +11 -0
  4. package/dist/actions/split-button/split-button.d.ts +5 -0
  5. package/dist/components/animated-number.d.ts +4 -0
  6. package/dist/components/app-icon.d.ts +6 -0
  7. package/dist/components/app-icons/types.d.ts +2 -0
  8. package/dist/components/card.d.ts +22 -0
  9. package/dist/components/collapsible.d.ts +17 -0
  10. package/dist/components/context-menu.d.ts +80 -0
  11. package/dist/components/dock-surface.d.ts +7 -0
  12. package/dist/components/favicon.d.ts +1 -0
  13. package/dist/components/file-icon.d.ts +12 -0
  14. package/dist/components/file-icons/types.d.ts +2 -0
  15. package/dist/components/font.d.ts +1 -0
  16. package/dist/components/hover-card.d.ts +9 -0
  17. package/dist/components/image-preview.d.ts +5 -0
  18. package/dist/components/list.d.ts +45 -0
  19. package/dist/components/logo.d.ts +8 -0
  20. package/dist/components/motion-spring.d.ts +4 -0
  21. package/dist/components/popover.d.ts +14 -0
  22. package/dist/components/progress.d.ts +7 -0
  23. package/dist/components/provider-icon.d.ts +5 -0
  24. package/dist/components/provider-icons/types.d.ts +2 -0
  25. package/dist/components/resize-handle.d.ts +14 -0
  26. package/dist/components/scroll-view.d.ts +42 -0
  27. package/dist/components/spinner.d.ts +6 -0
  28. package/dist/components/sticky-accordion-header.d.ts +5 -0
  29. package/dist/components/text-field.d.ts +13 -0
  30. package/dist/components/text-reveal.d.ts +13 -0
  31. package/dist/components/text-strikethrough.d.ts +11 -0
  32. package/dist/components/typewriter.d.ts +6 -0
  33. package/dist/context/dialog.d.ts +18 -0
  34. package/dist/context/file.d.ts +5 -0
  35. package/dist/context/helper.d.ts +14 -0
  36. package/dist/context/i18n.d.ts +24 -0
  37. package/dist/context/index.d.ts +4 -0
  38. package/dist/context/marked-base.d.ts +3 -0
  39. package/dist/context/marked-parser.d.ts +1 -0
  40. package/dist/context/marked-theme-register.d.ts +1 -0
  41. package/dist/context/marked-theme.d.ts +2 -0
  42. package/dist/context/marked.d.ts +2 -0
  43. package/dist/context/worker-pool.d.ts +9 -0
  44. package/dist/data-display/accordion/accordion.d.ts +24 -0
  45. package/dist/data-display/avatar/avatar.d.ts +11 -0
  46. package/dist/data-display/badge/badge.d.ts +7 -0
  47. package/dist/data-display/diff-changes/diff-changes.d.ts +12 -0
  48. package/dist/data-display/keybind/keybind.d.ts +7 -0
  49. package/dist/data-display/line-comment/line-comment.d.ts +32 -0
  50. package/dist/data-display/project-avatar/project-avatar.d.ts +12 -0
  51. package/dist/feedback/loader/loader.d.ts +3 -0
  52. package/dist/feedback/progress-circle/progress-circle.d.ts +9 -0
  53. package/dist/feedback/toast/toast.d.ts +57 -0
  54. package/dist/forms/checkbox/checkbox.d.ts +8 -0
  55. package/dist/forms/field/field.d.ts +22 -0
  56. package/dist/forms/inline-input/inline-input.d.ts +5 -0
  57. package/dist/forms/radio/radio.d.ts +16 -0
  58. package/dist/forms/select/select.d.ts +23 -0
  59. package/dist/forms/switch/switch.d.ts +9 -0
  60. package/dist/forms/text-input/text-input.d.ts +24 -0
  61. package/dist/forms/textarea/textarea.d.ts +7 -0
  62. package/dist/hooks/create-auto-scroll.d.ts +17 -0
  63. package/dist/hooks/index.d.ts +2 -0
  64. package/dist/hooks/use-filtered-list.d.ts +48 -0
  65. package/dist/i18n/am.d.ts +1 -0
  66. package/dist/i18n/ar.d.ts +209 -0
  67. package/dist/i18n/az.d.ts +1 -0
  68. package/dist/i18n/bg.d.ts +193 -0
  69. package/dist/i18n/bn.d.ts +1 -0
  70. package/dist/i18n/br.d.ts +197 -0
  71. package/dist/i18n/bs.d.ts +197 -0
  72. package/dist/i18n/ca.d.ts +1 -0
  73. package/dist/i18n/cs.d.ts +1 -0
  74. package/dist/i18n/da.d.ts +193 -0
  75. package/dist/i18n/de.d.ts +193 -0
  76. package/dist/i18n/dv.d.ts +1 -0
  77. package/dist/i18n/dz.d.ts +1 -0
  78. package/dist/i18n/el.d.ts +1 -0
  79. package/dist/i18n/en.d.ts +251 -0
  80. package/dist/i18n/es.d.ts +197 -0
  81. package/dist/i18n/et.d.ts +1 -0
  82. package/dist/i18n/fa.d.ts +1 -0
  83. package/dist/i18n/fi.d.ts +1 -0
  84. package/dist/i18n/fo.d.ts +1 -0
  85. package/dist/i18n/fr.d.ts +197 -0
  86. package/dist/i18n/he.d.ts +197 -0
  87. package/dist/i18n/hi.d.ts +1 -0
  88. package/dist/i18n/hr.d.ts +1 -0
  89. package/dist/i18n/hu.d.ts +1 -0
  90. package/dist/i18n/hy.d.ts +1 -0
  91. package/dist/i18n/id.d.ts +1 -0
  92. package/dist/i18n/is.d.ts +1 -0
  93. package/dist/i18n/it.d.ts +1 -0
  94. package/dist/i18n/ja.d.ts +193 -0
  95. package/dist/i18n/ka.d.ts +1 -0
  96. package/dist/i18n/km.d.ts +193 -0
  97. package/dist/i18n/ko.d.ts +193 -0
  98. package/dist/i18n/lo.d.ts +193 -0
  99. package/dist/i18n/lt.d.ts +1 -0
  100. package/dist/i18n/lv.d.ts +1 -0
  101. package/dist/i18n/mk.d.ts +193 -0
  102. package/dist/i18n/mn.d.ts +193 -0
  103. package/dist/i18n/ms.d.ts +1 -0
  104. package/dist/i18n/my.d.ts +193 -0
  105. package/dist/i18n/ne.d.ts +1 -0
  106. package/dist/i18n/nl.d.ts +1 -0
  107. package/dist/i18n/no.d.ts +4 -0
  108. package/dist/i18n/pa.d.ts +1 -0
  109. package/dist/i18n/pl.d.ts +201 -0
  110. package/dist/i18n/ro.d.ts +1 -0
  111. package/dist/i18n/ru.d.ts +201 -0
  112. package/dist/i18n/si.d.ts +1 -0
  113. package/dist/i18n/sk.d.ts +1 -0
  114. package/dist/i18n/sl.d.ts +1 -0
  115. package/dist/i18n/sq.d.ts +1 -0
  116. package/dist/i18n/sr.d.ts +197 -0
  117. package/dist/i18n/sv.d.ts +1 -0
  118. package/dist/i18n/tg.d.ts +193 -0
  119. package/dist/i18n/th.d.ts +193 -0
  120. package/dist/i18n/tk.d.ts +1 -0
  121. package/dist/i18n/tr.d.ts +193 -0
  122. package/dist/i18n/uk.d.ts +1 -0
  123. package/dist/i18n/ur.d.ts +1 -0
  124. package/dist/i18n/uz.d.ts +1 -0
  125. package/dist/i18n/vi.d.ts +1 -0
  126. package/dist/i18n/zh.d.ts +193 -0
  127. package/dist/i18n/zht.d.ts +193 -0
  128. package/dist/icons/icon/additional-icons.d.ts +105 -0
  129. package/dist/icons/icon/icon.d.ts +228 -0
  130. package/dist/layout/divider/divider.d.ts +5 -0
  131. package/dist/navigation/menu/menu.d.ts +59 -0
  132. package/dist/navigation/segmented-control/segmented-control.d.ts +21 -0
  133. package/dist/navigation/tab-state-indicator.d.ts +2 -0
  134. package/dist/navigation/tabs/tabs.d.ts +39 -0
  135. package/dist/overlays/dialog/dialog.d.ts +26 -0
  136. package/dist/overlays/tooltip/tooltip.d.ts +15 -0
  137. package/dist/storybook/fixtures.d.ts +19 -0
  138. package/dist/storybook/scaffold.d.ts +16 -0
  139. package/dist/theme/color.d.ts +30 -0
  140. package/dist/theme/context.d.ts +21 -0
  141. package/dist/theme/default-themes.d.ts +39 -0
  142. package/dist/theme/index.d.ts +7 -0
  143. package/dist/theme/loader.d.ts +6 -0
  144. package/dist/theme/resolve.d.ts +7 -0
  145. package/dist/theme/types.d.ts +56 -0
  146. package/dist/theme/v2/avatar.d.ts +5 -0
  147. package/dist/theme/v2/default-primitives.d.ts +3 -0
  148. package/dist/theme/v2/foreground.d.ts +2 -0
  149. package/dist/theme/v2/mapping.d.ts +3 -0
  150. package/dist/theme/v2/resolve.d.ts +9 -0
  151. package/dist/typography/text-shimmer/text-shimmer.d.ts +9 -0
  152. package/dist/typography/wordmark/wordmark.d.ts +5 -0
  153. package/package.json +252 -6
  154. package/src/actions/button/button.css +294 -0
  155. package/src/actions/button/button.tsx +42 -0
  156. package/src/actions/icon-button/icon-button.css +124 -0
  157. package/src/actions/icon-button/icon-button.tsx +32 -0
  158. package/src/actions/split-button/split-button.css +95 -0
  159. package/src/actions/split-button/split-button.tsx +48 -0
  160. package/src/actions/submit.css +74 -0
  161. package/src/assets/audio/alert-01.aac +0 -0
  162. package/src/assets/audio/alert-01.mp3 +0 -0
  163. package/src/assets/audio/alert-02.aac +0 -0
  164. package/src/assets/audio/alert-02.mp3 +0 -0
  165. package/src/assets/audio/alert-03.aac +0 -0
  166. package/src/assets/audio/alert-03.mp3 +0 -0
  167. package/src/assets/audio/alert-04.aac +0 -0
  168. package/src/assets/audio/alert-04.mp3 +0 -0
  169. package/src/assets/audio/alert-05.aac +0 -0
  170. package/src/assets/audio/alert-05.mp3 +0 -0
  171. package/src/assets/audio/alert-06.aac +0 -0
  172. package/src/assets/audio/alert-06.mp3 +0 -0
  173. package/src/assets/audio/alert-07.aac +0 -0
  174. package/src/assets/audio/alert-07.mp3 +0 -0
  175. package/src/assets/audio/alert-08.aac +0 -0
  176. package/src/assets/audio/alert-08.mp3 +0 -0
  177. package/src/assets/audio/alert-09.aac +0 -0
  178. package/src/assets/audio/alert-09.mp3 +0 -0
  179. package/src/assets/audio/alert-10.aac +0 -0
  180. package/src/assets/audio/alert-10.mp3 +0 -0
  181. package/src/assets/audio/bip-bop-01.aac +0 -0
  182. package/src/assets/audio/bip-bop-01.mp3 +0 -0
  183. package/src/assets/audio/bip-bop-02.aac +0 -0
  184. package/src/assets/audio/bip-bop-02.mp3 +0 -0
  185. package/src/assets/audio/bip-bop-03.aac +0 -0
  186. package/src/assets/audio/bip-bop-03.mp3 +0 -0
  187. package/src/assets/audio/bip-bop-04.aac +0 -0
  188. package/src/assets/audio/bip-bop-04.mp3 +0 -0
  189. package/src/assets/audio/bip-bop-05.aac +0 -0
  190. package/src/assets/audio/bip-bop-05.mp3 +0 -0
  191. package/src/assets/audio/bip-bop-06.aac +0 -0
  192. package/src/assets/audio/bip-bop-06.mp3 +0 -0
  193. package/src/assets/audio/bip-bop-07.aac +0 -0
  194. package/src/assets/audio/bip-bop-07.mp3 +0 -0
  195. package/src/assets/audio/bip-bop-08.aac +0 -0
  196. package/src/assets/audio/bip-bop-08.mp3 +0 -0
  197. package/src/assets/audio/bip-bop-09.aac +0 -0
  198. package/src/assets/audio/bip-bop-09.mp3 +0 -0
  199. package/src/assets/audio/bip-bop-10.aac +0 -0
  200. package/src/assets/audio/bip-bop-10.mp3 +0 -0
  201. package/src/assets/audio/nope-01.aac +0 -0
  202. package/src/assets/audio/nope-01.mp3 +0 -0
  203. package/src/assets/audio/nope-02.aac +0 -0
  204. package/src/assets/audio/nope-02.mp3 +0 -0
  205. package/src/assets/audio/nope-03.aac +0 -0
  206. package/src/assets/audio/nope-03.mp3 +0 -0
  207. package/src/assets/audio/nope-04.aac +0 -0
  208. package/src/assets/audio/nope-04.mp3 +0 -0
  209. package/src/assets/audio/nope-05.aac +0 -0
  210. package/src/assets/audio/nope-05.mp3 +0 -0
  211. package/src/assets/audio/nope-06.aac +0 -0
  212. package/src/assets/audio/nope-06.mp3 +0 -0
  213. package/src/assets/audio/nope-07.aac +0 -0
  214. package/src/assets/audio/nope-07.mp3 +0 -0
  215. package/src/assets/audio/nope-08.aac +0 -0
  216. package/src/assets/audio/nope-08.mp3 +0 -0
  217. package/src/assets/audio/nope-09.aac +0 -0
  218. package/src/assets/audio/nope-09.mp3 +0 -0
  219. package/src/assets/audio/nope-10.aac +0 -0
  220. package/src/assets/audio/nope-10.mp3 +0 -0
  221. package/src/assets/audio/nope-11.aac +0 -0
  222. package/src/assets/audio/nope-11.mp3 +0 -0
  223. package/src/assets/audio/nope-12.aac +0 -0
  224. package/src/assets/audio/nope-12.mp3 +0 -0
  225. package/src/assets/audio/staplebops-01.aac +0 -0
  226. package/src/assets/audio/staplebops-01.mp3 +0 -0
  227. package/src/assets/audio/staplebops-02.aac +0 -0
  228. package/src/assets/audio/staplebops-02.mp3 +0 -0
  229. package/src/assets/audio/staplebops-03.aac +0 -0
  230. package/src/assets/audio/staplebops-03.mp3 +0 -0
  231. package/src/assets/audio/staplebops-04.aac +0 -0
  232. package/src/assets/audio/staplebops-04.mp3 +0 -0
  233. package/src/assets/audio/staplebops-05.aac +0 -0
  234. package/src/assets/audio/staplebops-05.mp3 +0 -0
  235. package/src/assets/audio/staplebops-06.aac +0 -0
  236. package/src/assets/audio/staplebops-06.mp3 +0 -0
  237. package/src/assets/audio/staplebops-07.aac +0 -0
  238. package/src/assets/audio/staplebops-07.mp3 +0 -0
  239. package/src/assets/audio/yup-01.aac +0 -0
  240. package/src/assets/audio/yup-01.mp3 +0 -0
  241. package/src/assets/audio/yup-02.aac +0 -0
  242. package/src/assets/audio/yup-02.mp3 +0 -0
  243. package/src/assets/audio/yup-03.aac +0 -0
  244. package/src/assets/audio/yup-03.mp3 +0 -0
  245. package/src/assets/audio/yup-04.aac +0 -0
  246. package/src/assets/audio/yup-04.mp3 +0 -0
  247. package/src/assets/audio/yup-05.aac +0 -0
  248. package/src/assets/audio/yup-05.mp3 +0 -0
  249. package/src/assets/audio/yup-06.aac +0 -0
  250. package/src/assets/audio/yup-06.mp3 +0 -0
  251. package/src/assets/fonts/Inter.ttf +0 -0
  252. package/src/assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2 +0 -0
  253. package/src/assets/icons/app/android-studio.svg +369 -0
  254. package/src/assets/icons/app/antigravity.svg +97 -0
  255. package/src/assets/icons/app/cursor.svg +16 -0
  256. package/src/assets/icons/app/file-explorer.svg +20 -0
  257. package/src/assets/icons/app/finder.png +0 -0
  258. package/src/assets/icons/app/ghostty.svg +13 -0
  259. package/src/assets/icons/app/iterm2.svg +13 -0
  260. package/src/assets/icons/app/powershell.svg +14 -0
  261. package/src/assets/icons/app/sublimetext.svg +17 -0
  262. package/src/assets/icons/app/terminal.png +0 -0
  263. package/src/assets/icons/app/textmate.png +0 -0
  264. package/src/assets/icons/app/vscode.svg +39 -0
  265. package/src/assets/icons/app/warp.png +0 -0
  266. package/src/assets/icons/app/xcode.png +0 -0
  267. package/src/assets/icons/app/zed-dark.svg +15 -0
  268. package/src/assets/icons/app/zed.svg +15 -0
  269. package/src/components/animated-number.css +93 -0
  270. package/src/components/animated-number.tsx +109 -0
  271. package/src/components/app-icon.css +5 -0
  272. package/src/components/app-icon.tsx +85 -0
  273. package/src/components/app-icons/sprite.svg +114 -0
  274. package/src/components/app-icons/types.ts +21 -0
  275. package/src/components/card.css +94 -0
  276. package/src/components/card.tsx +123 -0
  277. package/src/components/collapsible.css +154 -0
  278. package/src/components/collapsible.tsx +48 -0
  279. package/src/components/context-menu.css +134 -0
  280. package/src/components/context-menu.tsx +308 -0
  281. package/src/components/dock-surface.css +30 -0
  282. package/src/components/dock-surface.tsx +54 -0
  283. package/src/components/favicon.tsx +13 -0
  284. package/src/components/file-icon.css +26 -0
  285. package/src/components/file-icon.tsx +588 -0
  286. package/src/components/file-icons/sprite.svg +11707 -0
  287. package/src/components/file-icons/types.ts +1095 -0
  288. package/src/components/font.tsx +1 -0
  289. package/src/components/hover-card.css +61 -0
  290. package/src/components/hover-card.tsx +32 -0
  291. package/src/components/image-preview.css +63 -0
  292. package/src/components/image-preview.tsx +33 -0
  293. package/src/components/list.css +331 -0
  294. package/src/components/list.tsx +396 -0
  295. package/src/components/logo.css +4 -0
  296. package/src/components/logo.tsx +62 -0
  297. package/src/components/motion-spring.tsx +58 -0
  298. package/src/components/popover.css +98 -0
  299. package/src/components/popover.tsx +154 -0
  300. package/src/components/progress.css +63 -0
  301. package/src/components/progress.tsx +39 -0
  302. package/src/components/provider-icon.css +5 -0
  303. package/src/components/provider-icon.tsx +25 -0
  304. package/src/components/provider-icons/sprite.svg +1110 -0
  305. package/src/components/provider-icons/types.ts +105 -0
  306. package/src/components/resize-handle.css +70 -0
  307. package/src/components/resize-handle.tsx +102 -0
  308. package/src/components/scroll-view.css +99 -0
  309. package/src/components/scroll-view.tsx +453 -0
  310. package/src/components/spinner.css +6 -0
  311. package/src/components/spinner.tsx +52 -0
  312. package/src/components/sticky-accordion-header.css +6 -0
  313. package/src/components/sticky-accordion-header.tsx +18 -0
  314. package/src/components/text-field.css +134 -0
  315. package/src/components/text-field.tsx +136 -0
  316. package/src/components/text-reveal.css +150 -0
  317. package/src/components/text-reveal.tsx +143 -0
  318. package/src/components/text-strikethrough.css +27 -0
  319. package/src/components/text-strikethrough.tsx +84 -0
  320. package/src/components/typewriter.css +14 -0
  321. package/src/components/typewriter.tsx +55 -0
  322. package/src/context/dialog.tsx +198 -0
  323. package/src/context/file.tsx +10 -0
  324. package/src/context/helper.tsx +38 -0
  325. package/src/context/i18n.tsx +77 -0
  326. package/src/context/index.ts +4 -0
  327. package/src/context/marked-base.tsx +55 -0
  328. package/src/context/marked-parser.tsx +58 -0
  329. package/src/context/marked-theme-register.tsx +10 -0
  330. package/src/context/marked-theme.tsx +372 -0
  331. package/src/context/marked.tsx +28 -0
  332. package/src/context/worker-pool.tsx +20 -0
  333. package/src/custom-elements.d.ts +17 -0
  334. package/src/data-display/accordion/accordion.css +121 -0
  335. package/src/data-display/accordion/accordion.tsx +92 -0
  336. package/src/data-display/avatar/avatar.css +70 -0
  337. package/src/data-display/avatar/avatar.tsx +59 -0
  338. package/src/data-display/badge/badge.css +52 -0
  339. package/src/data-display/badge/badge.tsx +25 -0
  340. package/src/data-display/diff-changes/diff-changes.css +47 -0
  341. package/src/data-display/diff-changes/diff-changes.tsx +33 -0
  342. package/src/data-display/keybind/keybind.css +76 -0
  343. package/src/data-display/keybind/keybind.tsx +30 -0
  344. package/src/data-display/line-comment/line-comment.css +258 -0
  345. package/src/data-display/line-comment/line-comment.tsx +308 -0
  346. package/src/data-display/project-avatar/project-avatar.css +132 -0
  347. package/src/data-display/project-avatar/project-avatar.tsx +66 -0
  348. package/src/feedback/loader/loader.css +32 -0
  349. package/src/feedback/loader/loader.tsx +31 -0
  350. package/src/feedback/progress-circle/progress-circle.css +28 -0
  351. package/src/feedback/progress-circle/progress-circle.tsx +64 -0
  352. package/src/feedback/toast/toast.css +225 -0
  353. package/src/feedback/toast/toast.tsx +283 -0
  354. package/src/forms/checkbox/checkbox.css +125 -0
  355. package/src/forms/checkbox/checkbox.tsx +43 -0
  356. package/src/forms/field/field.css +94 -0
  357. package/src/forms/field/field.tsx +263 -0
  358. package/src/forms/inline-input/inline-input.css +17 -0
  359. package/src/forms/inline-input/inline-input.tsx +22 -0
  360. package/src/forms/radio/radio.css +202 -0
  361. package/src/forms/radio/radio.tsx +82 -0
  362. package/src/forms/select/select.css +290 -0
  363. package/src/forms/select/select.tsx +219 -0
  364. package/src/forms/switch/switch.css +272 -0
  365. package/src/forms/switch/switch.tsx +34 -0
  366. package/src/forms/text-input/text-input.css +181 -0
  367. package/src/forms/text-input/text-input.tsx +99 -0
  368. package/src/forms/textarea/textarea.css +78 -0
  369. package/src/forms/textarea/textarea.tsx +31 -0
  370. package/src/hooks/create-auto-scroll.tsx +257 -0
  371. package/src/hooks/index.ts +2 -0
  372. package/src/hooks/use-filtered-list.tsx +134 -0
  373. package/src/i18n/am.ts +194 -0
  374. package/src/i18n/ar.ts +231 -0
  375. package/src/i18n/az.ts +195 -0
  376. package/src/i18n/bg.ts +195 -0
  377. package/src/i18n/bn.ts +197 -0
  378. package/src/i18n/br.ts +219 -0
  379. package/src/i18n/bs.ts +223 -0
  380. package/src/i18n/ca.ts +199 -0
  381. package/src/i18n/cs.ts +203 -0
  382. package/src/i18n/da.ts +214 -0
  383. package/src/i18n/de.ts +219 -0
  384. package/src/i18n/dv.ts +196 -0
  385. package/src/i18n/dz.ts +197 -0
  386. package/src/i18n/el.ts +195 -0
  387. package/src/i18n/en.ts +276 -0
  388. package/src/i18n/es.ts +219 -0
  389. package/src/i18n/et.ts +195 -0
  390. package/src/i18n/fa.ts +195 -0
  391. package/src/i18n/fi.ts +195 -0
  392. package/src/i18n/fo.ts +195 -0
  393. package/src/i18n/fr.ts +221 -0
  394. package/src/i18n/he.ts +199 -0
  395. package/src/i18n/hi.ts +197 -0
  396. package/src/i18n/hr.ts +200 -0
  397. package/src/i18n/hu.ts +197 -0
  398. package/src/i18n/hy.ts +195 -0
  399. package/src/i18n/id.ts +217 -0
  400. package/src/i18n/is.ts +195 -0
  401. package/src/i18n/it.ts +200 -0
  402. package/src/i18n/ja.ts +214 -0
  403. package/src/i18n/ka.ts +195 -0
  404. package/src/i18n/km.ts +196 -0
  405. package/src/i18n/ko.ts +216 -0
  406. package/src/i18n/lo.ts +195 -0
  407. package/src/i18n/lt.ts +203 -0
  408. package/src/i18n/lv.ts +199 -0
  409. package/src/i18n/mk.ts +195 -0
  410. package/src/i18n/mn.ts +195 -0
  411. package/src/i18n/ms.ts +195 -0
  412. package/src/i18n/my.ts +196 -0
  413. package/src/i18n/ne.ts +197 -0
  414. package/src/i18n/nl.ts +195 -0
  415. package/src/i18n/no.ts +219 -0
  416. package/src/i18n/pa.ts +196 -0
  417. package/src/i18n/pl.ts +223 -0
  418. package/src/i18n/ro.ts +199 -0
  419. package/src/i18n/ru.ts +222 -0
  420. package/src/i18n/si.ts +195 -0
  421. package/src/i18n/sk.ts +203 -0
  422. package/src/i18n/sl.ts +204 -0
  423. package/src/i18n/sq.ts +195 -0
  424. package/src/i18n/sr.ts +200 -0
  425. package/src/i18n/sv.ts +195 -0
  426. package/src/i18n/tg.ts +195 -0
  427. package/src/i18n/th.ts +215 -0
  428. package/src/i18n/tk.ts +195 -0
  429. package/src/i18n/tr.ts +221 -0
  430. package/src/i18n/uk.ts +226 -0
  431. package/src/i18n/ur.ts +196 -0
  432. package/src/i18n/uz.ts +198 -0
  433. package/src/i18n/vi.ts +195 -0
  434. package/src/i18n/zh.ts +217 -0
  435. package/src/i18n/zht.ts +217 -0
  436. package/src/icons/icon/additional-icons.ts +115 -0
  437. package/src/icons/icon/icon.css +3 -0
  438. package/src/icons/icon/icon.tsx +305 -0
  439. package/src/layout/divider/divider.css +11 -0
  440. package/src/layout/divider/divider.tsx +20 -0
  441. package/src/navigation/menu/menu.css +311 -0
  442. package/src/navigation/menu/menu.tsx +289 -0
  443. package/src/navigation/segmented-control/segmented-control.css +80 -0
  444. package/src/navigation/segmented-control/segmented-control.tsx +209 -0
  445. package/src/navigation/tab-state-indicator.tsx +37 -0
  446. package/src/navigation/tabs/tabs-current.css +239 -0
  447. package/src/navigation/tabs/tabs.css +710 -0
  448. package/src/navigation/tabs/tabs.tsx +194 -0
  449. package/src/overlays/dialog/dialog.css +180 -0
  450. package/src/overlays/dialog/dialog.tsx +115 -0
  451. package/src/overlays/tooltip/tooltip.css +102 -0
  452. package/src/overlays/tooltip/tooltip.tsx +154 -0
  453. package/src/storybook/fixtures.ts +51 -0
  454. package/src/storybook/scaffold.tsx +62 -0
  455. package/src/styles/animations.css +141 -0
  456. package/src/styles/base.css +409 -0
  457. package/src/styles/colors.css +772 -0
  458. package/src/styles/file-tree.css +202 -0
  459. package/src/styles/index.css +37 -0
  460. package/src/styles/tailwind/colors.css +288 -0
  461. package/src/styles/tailwind/index.css +95 -0
  462. package/src/styles/tailwind/utilities.css +131 -0
  463. package/src/styles/theme.css +631 -0
  464. package/src/styles/tokens/colors.css +172 -0
  465. package/src/styles/tokens/index.css +2 -0
  466. package/src/styles/tokens/theme.css +510 -0
  467. package/src/styles/utilities.css +118 -0
  468. package/src/theme/color.ts +299 -0
  469. package/src/theme/context.tsx +381 -0
  470. package/src/theme/default-themes.ts +116 -0
  471. package/src/theme/index.ts +78 -0
  472. package/src/theme/loader.ts +112 -0
  473. package/src/theme/resolve.ts +540 -0
  474. package/src/theme/themes/amoled.json +49 -0
  475. package/src/theme/themes/aura.json +51 -0
  476. package/src/theme/themes/ayu.json +51 -0
  477. package/src/theme/themes/carbonfox.json +53 -0
  478. package/src/theme/themes/catppuccin-frappe.json +85 -0
  479. package/src/theme/themes/catppuccin-macchiato.json +85 -0
  480. package/src/theme/themes/catppuccin.json +45 -0
  481. package/src/theme/themes/cobalt2.json +87 -0
  482. package/src/theme/themes/cursor.json +91 -0
  483. package/src/theme/themes/dracula.json +49 -0
  484. package/src/theme/themes/everforest.json +89 -0
  485. package/src/theme/themes/flexoki.json +86 -0
  486. package/src/theme/themes/github.json +85 -0
  487. package/src/theme/themes/gruvbox.json +45 -0
  488. package/src/theme/themes/kanagawa.json +89 -0
  489. package/src/theme/themes/lucent-orng.json +87 -0
  490. package/src/theme/themes/material.json +87 -0
  491. package/src/theme/themes/matrix.json +113 -0
  492. package/src/theme/themes/mercury.json +86 -0
  493. package/src/theme/themes/monokai.json +49 -0
  494. package/src/theme/themes/nightowl.json +46 -0
  495. package/src/theme/themes/nord.json +46 -0
  496. package/src/theme/themes/oc-2.json +507 -0
  497. package/src/theme/themes/one-dark.json +89 -0
  498. package/src/theme/themes/onedarkpro.json +45 -0
  499. package/src/theme/themes/opencode.json +89 -0
  500. package/src/theme/themes/orng.json +87 -0
  501. package/src/theme/themes/osaka-jade.json +88 -0
  502. package/src/theme/themes/palenight.json +85 -0
  503. package/src/theme/themes/rosepine.json +85 -0
  504. package/src/theme/themes/shadesofpurple.json +51 -0
  505. package/src/theme/themes/solarized.json +49 -0
  506. package/src/theme/themes/synthwave84.json +87 -0
  507. package/src/theme/themes/tokyonight.json +47 -0
  508. package/src/theme/themes/vercel.json +90 -0
  509. package/src/theme/themes/vesper.json +51 -0
  510. package/src/theme/themes/zenburn.json +87 -0
  511. package/src/theme/types.ts +75 -0
  512. package/src/theme/v2/avatar.ts +48 -0
  513. package/src/theme/v2/default-primitives.ts +114 -0
  514. package/src/theme/v2/foreground.ts +61 -0
  515. package/src/theme/v2/mapping.ts +176 -0
  516. package/src/theme/v2/resolve.ts +153 -0
  517. package/src/typography/text-shimmer/text-shimmer.css +120 -0
  518. package/src/typography/text-shimmer/text-shimmer.tsx +63 -0
  519. package/src/typography/wordmark/wordmark.tsx +39 -0
  520. package/README.md +0 -5
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 opencode
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,10 @@
1
+ import { Root } from "@kobalte/core/button";
2
+ import { type ComponentProps } from "solid-js";
3
+ import { type IconProps } from "@opencode/ui/icon";
4
+ import "./button.css";
5
+ export interface ButtonProps extends ComponentProps<typeof Root>, Pick<ComponentProps<"button">, "class" | "classList" | "children"> {
6
+ size?: "small" | "normal" | "large";
7
+ variant?: "neutral" | "danger" | "warning" | "outline" | "contrast" | "submit" | "ghost" | "ghost-muted" | "ghost-faint" | "loading";
8
+ icon?: IconProps["name"];
9
+ }
10
+ export declare function Button(props: ButtonProps): import("solid-js").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { Root } from "@kobalte/core/button";
2
+ import { type ComponentProps } from "solid-js";
3
+ import { JSX } from "solid-js";
4
+ import "./icon-button.css";
5
+ export interface IconButtonProps extends ComponentProps<typeof Root>, Pick<ComponentProps<"button">, "class" | "classList"> {
6
+ icon?: JSX.Element;
7
+ size?: "small" | "normal" | "large";
8
+ variant?: "neutral" | "contrast" | "submit" | "ghost" | "ghost-muted";
9
+ state?: "rest" | "hover" | "pressed";
10
+ }
11
+ export declare function IconButton(props: ComponentProps<"button"> & IconButtonProps): JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { type ComponentProps, type ParentProps } from "solid-js";
2
+ import "./split-button.css";
3
+ export declare function SplitButton(props: ParentProps<ComponentProps<"div">>): import("solid-js").JSX.Element;
4
+ export declare function SplitButtonAction(props: ComponentProps<"button">): import("solid-js").JSX.Element;
5
+ export declare function SplitButtonMenuTrigger(props: ComponentProps<"button">): import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare function AnimatedNumber(props: {
2
+ value: number;
3
+ class?: string;
4
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { Component, ComponentProps } from "solid-js";
2
+ import type { IconName } from "./app-icons/types";
3
+ export type AppIconProps = Omit<ComponentProps<"img">, "src"> & {
4
+ id: IconName;
5
+ };
6
+ export declare const AppIcon: Component<AppIconProps>;
@@ -0,0 +1,2 @@
1
+ export declare const iconNames: readonly ["vscode", "cursor", "zed", "file-explorer", "finder", "terminal", "iterm2", "ghostty", "warp", "xcode", "android-studio", "antigravity", "textmate", "powershell", "sublime-text"];
2
+ export type IconName = (typeof iconNames)[number];
@@ -0,0 +1,22 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import { type IconProps } from "@opencode/ui/icon";
3
+ type Variant = "normal" | "error" | "warning" | "success" | "info";
4
+ export interface CardProps extends ComponentProps<"div"> {
5
+ variant?: Variant;
6
+ }
7
+ export interface CardTitleProps extends ComponentProps<"div"> {
8
+ variant?: Variant;
9
+ /**
10
+ * Optional title icon.
11
+ *
12
+ * - `undefined`: picks a default icon based on `variant` (error/warning/success/info)
13
+ * - `false`/`null`: disables the icon
14
+ * - `Icon` name: forces a specific icon
15
+ */
16
+ icon?: IconProps["name"] | false | null;
17
+ }
18
+ export declare function Card(props: CardProps): import("solid-js").JSX.Element;
19
+ export declare function CardTitle(props: CardTitleProps): import("solid-js").JSX.Element;
20
+ export declare function CardDescription(props: ComponentProps<"div">): import("solid-js").JSX.Element;
21
+ export declare function CardActions(props: ComponentProps<"div">): import("solid-js").JSX.Element;
22
+ export {};
@@ -0,0 +1,17 @@
1
+ import { Collapsible as Kobalte, CollapsibleRootProps } from "@kobalte/core/collapsible";
2
+ import { ComponentProps, ParentProps } from "solid-js";
3
+ export interface CollapsibleProps extends ParentProps<CollapsibleRootProps> {
4
+ class?: string;
5
+ classList?: ComponentProps<"div">["classList"];
6
+ variant?: "normal" | "ghost";
7
+ }
8
+ declare function CollapsibleRoot(props: CollapsibleProps): import("solid-js").JSX.Element;
9
+ declare function CollapsibleTrigger(props: ComponentProps<typeof Kobalte.Trigger>): import("solid-js").JSX.Element;
10
+ declare function CollapsibleContent(props: ComponentProps<typeof Kobalte.Content>): import("solid-js").JSX.Element;
11
+ declare function CollapsibleArrow(props?: ComponentProps<"div">): import("solid-js").JSX.Element;
12
+ export declare const Collapsible: typeof CollapsibleRoot & {
13
+ Arrow: typeof CollapsibleArrow;
14
+ Trigger: typeof CollapsibleTrigger;
15
+ Content: typeof CollapsibleContent;
16
+ };
17
+ export {};
@@ -0,0 +1,80 @@
1
+ import { ContextMenu as Kobalte } from "@kobalte/core/context-menu";
2
+ import type { ComponentProps, ParentProps } from "solid-js";
3
+ export interface ContextMenuProps extends ComponentProps<typeof Kobalte> {
4
+ }
5
+ export interface ContextMenuTriggerProps extends ComponentProps<typeof Kobalte.Trigger> {
6
+ }
7
+ export interface ContextMenuIconProps extends ComponentProps<typeof Kobalte.Icon> {
8
+ }
9
+ export interface ContextMenuPortalProps extends ComponentProps<typeof Kobalte.Portal> {
10
+ }
11
+ export interface ContextMenuContentProps extends ComponentProps<typeof Kobalte.Content> {
12
+ }
13
+ export interface ContextMenuArrowProps extends ComponentProps<typeof Kobalte.Arrow> {
14
+ }
15
+ export interface ContextMenuSeparatorProps extends ComponentProps<typeof Kobalte.Separator> {
16
+ }
17
+ export interface ContextMenuGroupProps extends ComponentProps<typeof Kobalte.Group> {
18
+ }
19
+ export interface ContextMenuGroupLabelProps extends ComponentProps<typeof Kobalte.GroupLabel> {
20
+ }
21
+ export interface ContextMenuItemProps extends ComponentProps<typeof Kobalte.Item> {
22
+ }
23
+ export interface ContextMenuItemLabelProps extends ComponentProps<typeof Kobalte.ItemLabel> {
24
+ }
25
+ export interface ContextMenuItemDescriptionProps extends ComponentProps<typeof Kobalte.ItemDescription> {
26
+ }
27
+ export interface ContextMenuItemIndicatorProps extends ComponentProps<typeof Kobalte.ItemIndicator> {
28
+ }
29
+ export interface ContextMenuRadioGroupProps extends ComponentProps<typeof Kobalte.RadioGroup> {
30
+ }
31
+ export interface ContextMenuRadioItemProps extends ComponentProps<typeof Kobalte.RadioItem> {
32
+ }
33
+ export interface ContextMenuCheckboxItemProps extends ComponentProps<typeof Kobalte.CheckboxItem> {
34
+ }
35
+ export interface ContextMenuSubProps extends ComponentProps<typeof Kobalte.Sub> {
36
+ }
37
+ export interface ContextMenuSubTriggerProps extends ComponentProps<typeof Kobalte.SubTrigger> {
38
+ }
39
+ export interface ContextMenuSubContentProps extends ComponentProps<typeof Kobalte.SubContent> {
40
+ }
41
+ declare function ContextMenuRoot(props: ContextMenuProps): import("solid-js").JSX.Element;
42
+ declare function ContextMenuTrigger(props: ParentProps<ContextMenuTriggerProps>): import("solid-js").JSX.Element;
43
+ declare function ContextMenuIcon(props: ParentProps<ContextMenuIconProps>): import("solid-js").JSX.Element;
44
+ declare function ContextMenuPortal(props: ContextMenuPortalProps): import("solid-js").JSX.Element;
45
+ declare function ContextMenuContent(props: ParentProps<ContextMenuContentProps>): import("solid-js").JSX.Element;
46
+ declare function ContextMenuArrow(props: ContextMenuArrowProps): import("solid-js").JSX.Element;
47
+ declare function ContextMenuSeparator(props: ContextMenuSeparatorProps): import("solid-js").JSX.Element;
48
+ declare function ContextMenuGroup(props: ParentProps<ContextMenuGroupProps>): import("solid-js").JSX.Element;
49
+ declare function ContextMenuGroupLabel(props: ParentProps<ContextMenuGroupLabelProps>): import("solid-js").JSX.Element;
50
+ declare function ContextMenuItem(props: ParentProps<ContextMenuItemProps>): import("solid-js").JSX.Element;
51
+ declare function ContextMenuItemLabel(props: ParentProps<ContextMenuItemLabelProps>): import("solid-js").JSX.Element;
52
+ declare function ContextMenuItemDescription(props: ParentProps<ContextMenuItemDescriptionProps>): import("solid-js").JSX.Element;
53
+ declare function ContextMenuItemIndicator(props: ParentProps<ContextMenuItemIndicatorProps>): import("solid-js").JSX.Element;
54
+ declare function ContextMenuRadioGroup(props: ParentProps<ContextMenuRadioGroupProps>): import("solid-js").JSX.Element;
55
+ declare function ContextMenuRadioItem(props: ParentProps<ContextMenuRadioItemProps>): import("solid-js").JSX.Element;
56
+ declare function ContextMenuCheckboxItem(props: ParentProps<ContextMenuCheckboxItemProps>): import("solid-js").JSX.Element;
57
+ declare function ContextMenuSub(props: ContextMenuSubProps): import("solid-js").JSX.Element;
58
+ declare function ContextMenuSubTrigger(props: ParentProps<ContextMenuSubTriggerProps>): import("solid-js").JSX.Element;
59
+ declare function ContextMenuSubContent(props: ParentProps<ContextMenuSubContentProps>): import("solid-js").JSX.Element;
60
+ export declare const ContextMenu: typeof ContextMenuRoot & {
61
+ Trigger: typeof ContextMenuTrigger;
62
+ Icon: typeof ContextMenuIcon;
63
+ Portal: typeof ContextMenuPortal;
64
+ Content: typeof ContextMenuContent;
65
+ Arrow: typeof ContextMenuArrow;
66
+ Separator: typeof ContextMenuSeparator;
67
+ Group: typeof ContextMenuGroup;
68
+ GroupLabel: typeof ContextMenuGroupLabel;
69
+ Item: typeof ContextMenuItem;
70
+ ItemLabel: typeof ContextMenuItemLabel;
71
+ ItemDescription: typeof ContextMenuItemDescription;
72
+ ItemIndicator: typeof ContextMenuItemIndicator;
73
+ RadioGroup: typeof ContextMenuRadioGroup;
74
+ RadioItem: typeof ContextMenuRadioItem;
75
+ CheckboxItem: typeof ContextMenuCheckboxItem;
76
+ Sub: typeof ContextMenuSub;
77
+ SubTrigger: typeof ContextMenuSubTrigger;
78
+ SubContent: typeof ContextMenuSubContent;
79
+ };
80
+ export {};
@@ -0,0 +1,7 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ export interface DockTrayProps extends ComponentProps<"div"> {
3
+ attach?: "none" | "top";
4
+ }
5
+ export declare function DockShell(props: ComponentProps<"div">): import("solid-js").JSX.Element;
6
+ export declare function DockShellForm(props: ComponentProps<"form">): import("solid-js").JSX.Element;
7
+ export declare function DockTray(props: DockTrayProps): import("solid-js").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const Favicon: () => import("solid-js").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import type { Component, JSX } from "solid-js";
2
+ import type { IconName } from "./file-icons/types";
3
+ export type FileIconProps = JSX.GSVGAttributes<SVGSVGElement> & {
4
+ node: {
5
+ path: string;
6
+ type: "file" | "directory";
7
+ };
8
+ expanded?: boolean;
9
+ mono?: boolean;
10
+ };
11
+ export declare const FileIcon: Component<FileIconProps>;
12
+ export declare function chooseIconName(path: string, type: "directory" | "file", expanded: boolean): IconName;
@@ -0,0 +1,2 @@
1
+ export declare const iconNames: readonly ["Zip", "Zig", "Zeabur_light", "Zeabur", "Yarn", "Yang", "Yaml", "Xml", "Xmake", "Xaml", "Wxt", "Wrangler", "Word", "Wolframlanguage", "Windicss", "Werf", "Wepy", "Webpack", "Webhint", "Webassembly", "Watchman", "Wally", "Wallaby", "Wakatime_light", "Wakatime", "VuexStore", "Vue", "VueConfig", "Vscode", "Vlang", "Vitest", "Vite", "Visualstudio", "Virtual", "Vim", "Video", "Vfl", "Verilog", "Verified", "Verdaccio", "Vercel_light", "Vercel", "Velocity", "Velite", "Vedic", "Varnish", "VanillaExtract", "Vala", "Vagrant", "Uv", "Url", "Unocss", "Unity", "Uml_light", "Uml", "Umi", "Typst", "Typescript", "TypescriptDef", "Twine", "Twig", "Turborepo_light", "Turborepo", "Tune", "Tsil", "Tsdoc", "Tsconfig", "Trigger", "Tree", "Travis", "Toml_light", "Toml", "Todo", "Tobimake", "Tobi", "Tldraw_light", "Tldraw", "Tilt", "Textlint", "Tex", "TestTs", "TestJsx", "TestJs", "Terraform", "Template", "Templ", "Teal", "Tcl", "Taze", "Tauri", "Taskfile", "Tailwindcss", "Table", "Systemd_light", "Systemd", "Syncpack", "Swift", "Swc", "Sway", "Swagger", "Svgr", "Svgo", "Svg", "Svelte", "Supabase", "Subtitles", "Sublime", "Stylus", "Stylelint_light", "Stylelint", "Stylable", "Stryker", "Storybook", "Stitches_light", "Stitches", "Stencil", "Steadybit", "Stan", "Stackblitz", "Spwn", "Sonarcloud", "Solidity", "Snyk", "Snowpack_light", "Snowpack", "Snapcraft", "Snakemake", "Sml", "Smarty", "Slug", "Slint", "Slim", "Sketch", "Siyuan", "Simulink", "Silverstripe", "Shader", "Settings", "Serverless", "Sequelize", "Sentry", "Semgrep", "SemanticRelease_light", "SemanticRelease", "Search", "Screwdriver", "Scons_light", "Scons", "Scheme", "Scala", "Sbt", "Sass", "Sas", "San", "Salesforce", "Rust", "Ruff", "Ruby", "Rubocop_light", "Rubocop", "Rspec", "Routing", "Rome", "Rollup", "Rojo", "Rocket", "Robots", "Robot", "Roblox", "Roadmap", "Riot", "Restql", "Rescript", "RescriptInterface", "Replit", "Renovate", "Remix_light", "Remix", "Remark", "Regedit", "ReduxStore", "ReduxSelector", "ReduxReducer", "ReduxAction", "Red", "Reason", "Readme", "React_ts", "React", "Rc", "Rbxmk", "Razor", "Raml", "Racket", "R", "Qwik", "Quokka", "Quasar", "Quarto", "Qsharp", "Pytorch", "Python", "PythonMisc", "Purescript", "Puppeteer", "Puppet", "Pug", "Protractor", "Proto", "Prompt", "Prolog", "Processing", "Prisma", "Prettier", "PreCommit", "Powershell", "Powerpoint", "Posthtml", "Postcss", "Poetry", "Pnpm_light", "Pnpm", "Pm2Ecosystem", "Plop", "Playwright", "Plastic", "Pkl", "Pipeline", "Pinejs", "Phpunit", "Phpstan", "Php_elephant_pink", "Php_elephant", "Php", "PhpCsFixer", "Perl", "Percy", "Pdm", "Pdf", "Payload_light", "Payload", "Pawn", "Pascal", "Parcel", "Panda", "Palette", "Packship", "Oxlint", "Otne", "Openapi_light", "Openapi", "Opam", "Opa", "Odin", "Ocaml", "ObjectiveCpp", "ObjectiveC", "Nx", "Nuxt", "Nunjucks", "Nuget", "Npm", "Nodemon", "Nodejs_alt", "Nodejs", "Nix", "Nim", "NgrxState", "NgrxSelectors", "NgrxReducer", "NgrxEntity", "NgrxEffects", "NgrxActions", "Nginx", "Next_light", "Next", "Netlify_light", "Netlify", "Nest", "Ndst", "NanoStaged_light", "NanoStaged", "Mxml", "Moonscript", "Moon", "Mojo", "Modernizr", "Mocha", "Mjml", "Mint", "Minecraft", "MinecraftFabric", "Meson", "Mermaid", "Merlin", "Mercurial", "Mdx", "Mdsvex", "Maven", "Matlab", "Mathematica", "Markojs", "Markdownlint", "Markdown", "Markdoc", "MarkdocConfig", "Makefile", "Lyric", "Luau", "Lua", "Lottie", "Lolcode", "Log", "Lock", "Livescript", "Lisp", "Liquid", "Lintstaged", "Lilypond", "Lighthouse", "Lib", "Liara", "Less", "Lerna", "Lefthook", "Lbx", "Latexmk", "Laravel", "Label", "Kusto", "Kubernetes", "Kotlin", "Knip", "Kl", "Kivy", "Keystatic", "Key", "Kcl", "Karma", "Just", "Jupyter", "Julia", "Jsr_light", "Jsr", "Json", "Jsconfig", "Jinja_light", "Jinja", "Jest", "Jenkins", "Javascript", "JavascriptMap", "Javaclass", "Java", "Jar", "Istanbul", "Ionic", "Installation", "Imba", "Image", "IfanrCloud", "Idris", "I18n", "Husky", "Hurl", "Huff_light", "Huff", "Http", "Html", "Hpp", "Hosts_light", "Hosts", "Horusec", "Hjson", "Histoire", "Hex", "Heroku", "Helm", "Hcl_light", "Hcl", "Haxe", "Haskell", "Harmonix", "Hardhat", "Handlebars", "Haml", "Hadolint", "Hack", "H", "Gulp", "Grunt", "Groovy", "Gridsome", "Graphql", "Graphcool", "Grain", "GrafanaAlloy", "Gradle", "Godot", "GodotAssets", "Go_gopher", "Go", "GoMod", "Gnuplot", "Gleam", "Gitpod", "Gitlab", "GithubSponsors", "GithubActionsWorkflow", "Git", "Gemini", "GeminiAi", "Gemfile", "Gcp", "Gatsby", "Garden", "Gamemaker", "Fusebox", "Fsharp", "Freemarker", "Foxpro", "Fortran", "Forth", "Font", "Folder", "FolderZeabur", "FolderZeaburOpen", "FolderYarn", "FolderYarnOpen", "FolderWordpress", "FolderWordpressOpen", "FolderWindows", "FolderWindowsOpen", "FolderWebpack", "FolderWebpackOpen", "FolderWakatime", "FolderWakatimeOpen", "FolderVuexStore", "FolderVuexStoreOpen", "FolderVuepress", "FolderVuepressOpen", "FolderVue", "FolderVueOpen", "FolderVueDirectives", "FolderVueDirectivesOpen", "FolderVscode", "FolderVscodeOpen", "FolderVm", "FolderVmOpen", "FolderViews", "FolderViewsOpen", "FolderVideo", "FolderVideoOpen", "FolderVerdaccio", "FolderVerdaccioOpen", "FolderVercel", "FolderVercelOpen", "FolderUtils", "FolderUtilsOpen", "FolderUpload", "FolderUploadOpen", "FolderUpdate", "FolderUpdateOpen", "FolderUnity", "FolderUnityOpen", "FolderUi", "FolderUiOpen", "FolderTypescript", "FolderTypescriptOpen", "FolderTurborepo", "FolderTurborepoOpen", "FolderTrigger", "FolderTriggerOpen", "FolderTrash", "FolderTrashOpen", "FolderTools", "FolderToolsOpen", "FolderTheme", "FolderThemeOpen", "FolderTest", "FolderTestOpen", "FolderTerraform", "FolderTerraformOpen", "FolderTemplate", "FolderTemplateOpen", "FolderTemp", "FolderTempOpen", "FolderTelevision", "FolderTelevisionOpen", "FolderTasks", "FolderTasksOpen", "FolderTaskfile", "FolderTaskfileOpen", "FolderTarget", "FolderTargetOpen", "FolderSyntax", "FolderSyntaxOpen", "FolderSvg", "FolderSvgOpen", "FolderSvelte", "FolderSvelteOpen", "FolderSupabase", "FolderSupabaseOpen", "FolderSublime", "FolderSublimeOpen", "FolderStylus", "FolderStylusOpen", "FolderStorybook", "FolderStorybookOpen", "FolderStore", "FolderStoreOpen", "FolderStencil", "FolderStencilOpen", "FolderStack", "FolderStackOpen", "FolderSrc", "FolderSrcTauri", "FolderSrcTauriOpen", "FolderSrcOpen", "FolderSnippet", "FolderSnippetOpen", "FolderSnapcraft", "FolderSnapcraftOpen", "FolderShared", "FolderSharedOpen", "FolderShader", "FolderShaderOpen", "FolderServerless", "FolderServerlessOpen", "FolderServer", "FolderServerOpen", "FolderSeeders", "FolderSeedersOpen", "FolderSecure", "FolderSecureOpen", "FolderScripts", "FolderScriptsOpen", "FolderScons", "FolderSconsOpen", "FolderScala", "FolderScalaOpen", "FolderSass", "FolderSassOpen", "FolderSandbox", "FolderSandboxOpen", "FolderRust", "FolderRustOpen", "FolderRules", "FolderRulesOpen", "FolderRoutes", "FolderRoutesOpen", "FolderRobot", "FolderRobotOpen", "FolderReview", "FolderReviewOpen", "FolderResource", "FolderResourceOpen", "FolderResolver", "FolderResolverOpen", "FolderRepository", "FolderRepositoryOpen", "FolderReduxReducer", "FolderReduxReducerOpen", "FolderReactComponents", "FolderReactComponentsOpen", "FolderQueue", "FolderQueueOpen", "FolderQuasar", "FolderQuasarOpen", "FolderPytorch", "FolderPytorchOpen", "FolderPython", "FolderPythonOpen", "FolderPublic", "FolderPublicOpen", "FolderProto", "FolderProtoOpen", "FolderPrompts", "FolderPromptsOpen", "FolderProject", "FolderProjectOpen", "FolderPrivate", "FolderPrivateOpen", "FolderPrisma", "FolderPrismaOpen", "FolderPowershell", "FolderPowershellOpen", "FolderPolicy", "FolderPolicyOpen", "FolderPlugin", "FolderPluginOpen", "FolderPlastic", "FolderPlasticOpen", "FolderPipe", "FolderPipeOpen", "FolderPhpmailer", "FolderPhpmailerOpen", "FolderPhp", "FolderPhpOpen", "FolderPdm", "FolderPdmOpen", "FolderPdf", "FolderPdfOpen", "FolderPackages", "FolderPackagesOpen", "FolderOther", "FolderOtherOpen", "FolderOrganism", "FolderOrganismOpen", "FolderOpen", "FolderObsidian", "FolderObsidianOpen", "FolderNuxt", "FolderNuxtOpen", "FolderNode", "FolderNodeOpen", "FolderNgrxStore", "FolderNgrxStoreOpen", "FolderNext", "FolderNextOpen", "FolderNetlify", "FolderNetlifyOpen", "FolderMoon", "FolderMoonOpen", "FolderMolecule", "FolderMoleculeOpen", "FolderMojo", "FolderMojoOpen", "FolderMock", "FolderMockOpen", "FolderMobile", "FolderMobileOpen", "FolderMjml", "FolderMjmlOpen", "FolderMiddleware", "FolderMiddlewareOpen", "FolderMeta", "FolderMetaOpen", "FolderMessages", "FolderMessagesOpen", "FolderMercurial", "FolderMercurialOpen", "FolderMarkdown", "FolderMarkdownOpen", "FolderMappings", "FolderMappingsOpen", "FolderMail", "FolderMailOpen", "FolderMacos", "FolderMacosOpen", "FolderLuau", "FolderLuauOpen", "FolderLua", "FolderLuaOpen", "FolderLottie", "FolderLottieOpen", "FolderLog", "FolderLogOpen", "FolderLiquibase", "FolderLiquibaseOpen", "FolderLinux", "FolderLinuxOpen", "FolderLink", "FolderLinkOpen", "FolderLib", "FolderLibOpen", "FolderLess", "FolderLessOpen", "FolderLefthook", "FolderLefthookOpen", "FolderLayout", "FolderLayoutOpen", "FolderKusto", "FolderKustoOpen", "FolderKubernetes", "FolderKubernetesOpen", "FolderKeys", "FolderKeysOpen", "FolderJupyter", "FolderJupyterOpen", "FolderJson", "FolderJsonOpen", "FolderJob", "FolderJobOpen", "FolderJinja_light", "FolderJinja", "FolderJinjaOpen_light", "FolderJinjaOpen", "FolderJavascript", "FolderJavascriptOpen", "FolderJava", "FolderJavaOpen", "FolderIos", "FolderIosOpen", "FolderInterface", "FolderInterfaceOpen", "FolderInterceptor", "FolderInterceptorOpen", "FolderIntellij_light", "FolderIntellij", "FolderIntellijOpen_light", "FolderIntellijOpen", "FolderInclude", "FolderIncludeOpen", "FolderImport", "FolderImportOpen", "FolderImages", "FolderImagesOpen", "FolderI18n", "FolderI18nOpen", "FolderHusky", "FolderHuskyOpen", "FolderHook", "FolderHookOpen", "FolderHome", "FolderHomeOpen", "FolderHelper", "FolderHelperOpen", "FolderHelm", "FolderHelmOpen", "FolderGulp", "FolderGulpOpen", "FolderGuard", "FolderGuardOpen", "FolderGraphql", "FolderGraphqlOpen", "FolderGradle", "FolderGradleOpen", "FolderGodot", "FolderGodotOpen", "FolderGlobal", "FolderGlobalOpen", "FolderGitlab", "FolderGitlabOpen", "FolderGithub", "FolderGithubOpen", "FolderGitea", "FolderGiteaOpen", "FolderGit", "FolderGitOpen", "FolderGhWorkflows", "FolderGhWorkflowsOpen", "FolderGenerator", "FolderGeneratorOpen", "FolderGamemaker", "FolderGamemakerOpen", "FolderFunctions", "FolderFunctionsOpen", "FolderForgejo", "FolderForgejoOpen", "FolderFont", "FolderFontOpen", "FolderFlutter", "FolderFlutterOpen", "FolderFlow", "FolderFlowOpen", "FolderFirestore", "FolderFirestoreOpen", "FolderFirebase", "FolderFirebaseOpen", "FolderFavicon", "FolderFaviconOpen", "FolderFastlane", "FolderFastlaneOpen", "FolderExport", "FolderExportOpen", "FolderExpo", "FolderExpoOpen", "FolderExamples", "FolderExamplesOpen", "FolderEvent", "FolderEventOpen", "FolderError", "FolderErrorOpen", "FolderEnvironment", "FolderEnvironmentOpen", "FolderEnum", "FolderEnumOpen", "FolderElement", "FolderElementOpen", "FolderDump", "FolderDumpOpen", "FolderDrizzle", "FolderDrizzleOpen", "FolderDownload", "FolderDownloadOpen", "FolderDocs", "FolderDocsOpen", "FolderDocker", "FolderDockerOpen", "FolderDist", "FolderDistOpen", "FolderDirective", "FolderDirectiveOpen", "FolderDesktop", "FolderDesktopOpen", "FolderDelta", "FolderDeltaOpen", "FolderDecorators", "FolderDecoratorsOpen", "FolderDebug", "FolderDebugOpen", "FolderDatabase", "FolderDatabaseOpen", "FolderDart", "FolderDartOpen", "FolderCypress", "FolderCypressOpen", "FolderCustom", "FolderCustomOpen", "FolderCursor_light", "FolderCursor", "FolderCursorOpen_light", "FolderCursorOpen", "FolderCss", "FolderCssOpen", "FolderCoverage", "FolderCoverageOpen", "FolderCore", "FolderCoreOpen", "FolderController", "FolderControllerOpen", "FolderContract", "FolderContractOpen", "FolderContext", "FolderContextOpen", "FolderContent", "FolderContentOpen", "FolderContainer", "FolderContainerOpen", "FolderConstant", "FolderConstantOpen", "FolderConsole", "FolderConsoleOpen", "FolderConnection", "FolderConnectionOpen", "FolderConfig", "FolderConfigOpen", "FolderComponents", "FolderComponentsOpen", "FolderCommand", "FolderCommandOpen", "FolderCobol", "FolderCobolOpen", "FolderCluster", "FolderClusterOpen", "FolderCloudflare", "FolderCloudflareOpen", "FolderCloudFunctions", "FolderCloudFunctionsOpen", "FolderCline", "FolderClineOpen", "FolderClient", "FolderClientOpen", "FolderClaude", "FolderClaudeOpen", "FolderClass", "FolderClassOpen", "FolderCircleci", "FolderCircleciOpen", "FolderCi", "FolderCiOpen", "FolderChangesets", "FolderChangesetsOpen", "FolderCart", "FolderCartOpen", "FolderBuildkite", "FolderBuildkiteOpen", "FolderBower", "FolderBowerOpen", "FolderBloc", "FolderBlocOpen", "FolderBlender", "FolderBlenderOpen", "FolderBicep", "FolderBicepOpen", "FolderBibliography", "FolderBibliographyOpen", "FolderBenchmark", "FolderBenchmarkOpen", "FolderBatch", "FolderBatchOpen", "FolderBase", "FolderBaseOpen", "FolderBackup", "FolderBackupOpen", "FolderAzurePipelines", "FolderAzurePipelinesOpen", "FolderAws", "FolderAwsOpen", "FolderAurelia", "FolderAureliaOpen", "FolderAudio", "FolderAudioOpen", "FolderAttachment", "FolderAttachmentOpen", "FolderAtom", "FolderAtomOpen", "FolderAstro", "FolderAstroOpen", "FolderArchive", "FolderArchiveOpen", "FolderApp", "FolderAppOpen", "FolderApollo", "FolderApolloOpen", "FolderApi", "FolderApiOpen", "FolderAnsible", "FolderAnsibleOpen", "FolderAnimation", "FolderAnimationOpen", "FolderAngular", "FolderAngularOpen", "FolderAndroid", "FolderAndroidOpen", "FolderAdmin", "FolderAdminOpen", "Flow", "Flash", "Firebase", "Figma", "Favicon", "Fastlane", "Exe", "Excalidraw", "Eslint", "Esbuild", "Erlang", "Epub", "Ember", "Email", "Elm", "Elixir", "Ejs", "Editorconfig", "Edge", "Dune", "Duc", "Drone_light", "Drone", "Drizzle", "Drawio", "Dotjs", "Document", "DoctexInstaller", "Docker", "Dll", "Django", "Disc", "Dinophp", "Diff", "Dhall", "DependenciesUpdate", "Dependabot", "Deno_light", "Deno", "Denizenscript", "Deepsource", "Database", "Dart_generated", "Dart", "D", "Cypress", "Cursor_light", "Cursor", "Cuda", "Cucumber", "Css", "CssMap", "Csharp", "Crystal_light", "Crystal", "Credits", "Craco", "Cpp", "Copilot_light", "Copilot", "Controller", "Contributing", "Context", "Contentlayer", "Console", "Conduct", "Concourse", "Commitlint", "Commitizen", "Command", "Coloredpetrinets", "Coldfusion", "Coffee", "CoderabbitAi", "Codeowners", "Codecov", "CodeClimate_light", "CodeClimate", "Coconut", "Cobol", "Coala", "Cmake", "Cloudfoundry", "Clojure", "Cline", "Claude", "Clangd", "Citation", "Circleci_light", "Circleci", "Chrome", "Chess_light", "Chess", "Changelog", "Certificate", "Cds", "Cbx", "Capnp", "Capacitor", "Cake", "Cairo", "Cadence", "Caddy", "Cabal", "C3", "C", "Bun_light", "Bun", "Buildkite", "Bucklescript", "Buck", "Bruno", "Browserlist_light", "Browserlist", "Brainfuck", "Bower", "Blitz", "Blink_light", "Blink", "Blender", "Bithound", "Bitbucket", "Biome", "Bicep", "BibtexStyle", "Bibliography", "BenchTs", "BenchJsx", "BenchJs", "Beancount", "Bbx", "Bazel", "Ballerina", "Babel", "Azure", "AzurePipelines", "Autoit", "Autohotkey", "Auto_light", "Auto", "Authors", "Aurelia", "Audio", "Astyle", "Astro", "AstroConfig", "Assembly", "Asciidoc", "Arduino", "Architecture", "Appveyor", "AppsScript", "Applescript", "Apollo", "Apiblueprint", "Antlr", "Angular", "Android", "Amplify", "Advpl", "Adonis", "AdobeSwc", "AdobePhotoshop_light", "AdobePhotoshop", "AdobeIllustrator_light", "AdobeIllustrator", "Ada", "Actionscript", "Abc", "Abap", "3d"];
2
+ export type IconName = (typeof iconNames)[number];
@@ -0,0 +1 @@
1
+ export declare const Font: () => null;
@@ -0,0 +1,9 @@
1
+ import { HoverCard as Kobalte } from "@kobalte/core/hover-card";
2
+ import { ComponentProps, JSXElement, ParentProps } from "solid-js";
3
+ export interface HoverCardProps extends ParentProps, Omit<ComponentProps<typeof Kobalte>, "children"> {
4
+ trigger: JSXElement;
5
+ mount?: HTMLElement;
6
+ class?: ComponentProps<"div">["class"];
7
+ classList?: ComponentProps<"div">["classList"];
8
+ }
9
+ export declare function HoverCard(props: HoverCardProps): import("solid-js").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export interface ImagePreviewProps {
2
+ src: string;
3
+ alt?: string;
4
+ }
5
+ export declare function ImagePreview(props: ImagePreviewProps): import("solid-js").JSX.Element;
@@ -0,0 +1,45 @@
1
+ import { type FilteredListProps } from "@opencode/ui/hooks";
2
+ import { type JSX } from "solid-js";
3
+ import { type IconProps } from "@opencode/ui/icon";
4
+ export interface ListSearchProps {
5
+ placeholder?: string;
6
+ autofocus?: boolean;
7
+ hideIcon?: boolean;
8
+ class?: string;
9
+ action?: JSX.Element;
10
+ }
11
+ export interface ListAddProps {
12
+ class?: string;
13
+ render: () => JSX.Element;
14
+ }
15
+ export interface ListAddProps {
16
+ class?: string;
17
+ render: () => JSX.Element;
18
+ }
19
+ export interface ListProps<T> extends FilteredListProps<T> {
20
+ class?: string;
21
+ children: (item: T) => JSX.Element;
22
+ emptyMessage?: string;
23
+ loadingMessage?: string;
24
+ onKeyEvent?: (event: KeyboardEvent, item: T | undefined) => void;
25
+ onMove?: (item: T | undefined) => void;
26
+ onFilter?: (value: string) => void;
27
+ activeIcon?: IconProps["name"];
28
+ filter?: string;
29
+ search?: ListSearchProps | boolean;
30
+ itemWrapper?: (item: T, node: JSX.Element) => JSX.Element;
31
+ divider?: boolean;
32
+ add?: ListAddProps;
33
+ groupHeader?: (group: {
34
+ category: string;
35
+ items: T[];
36
+ }) => JSX.Element;
37
+ }
38
+ export interface ListRef {
39
+ onKeyDown: (e: KeyboardEvent) => void;
40
+ setScrollRef: (el: HTMLDivElement | undefined) => void;
41
+ setFilter: (value: string) => void;
42
+ }
43
+ export declare function List<T>(props: ListProps<T> & {
44
+ ref?: (ref: ListRef) => void;
45
+ }): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ export declare const Mark: (props: {
3
+ class?: string;
4
+ }) => import("solid-js").JSX.Element;
5
+ export declare const Splash: (props: Pick<ComponentProps<"svg">, "ref" | "class">) => import("solid-js").JSX.Element;
6
+ export declare const Logo: (props: {
7
+ class?: string;
8
+ }) => import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import type { SpringOptions } from "motion";
2
+ type Opt = Partial<Pick<SpringOptions, "visualDuration" | "bounce" | "stiffness" | "damping" | "mass" | "velocity">>;
3
+ export declare function useSpring(target: () => number, options?: Opt | (() => Opt), snapKey?: () => unknown): import("solid-js").Accessor<number>;
4
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Popover as Kobalte } from "@kobalte/core/popover";
2
+ import { ComponentProps, JSXElement, ParentProps, ValidComponent } from "solid-js";
3
+ export interface PopoverProps<T extends ValidComponent = "div"> extends ParentProps, Omit<ComponentProps<typeof Kobalte>, "children"> {
4
+ trigger?: JSXElement;
5
+ triggerAs?: T;
6
+ triggerProps?: ComponentProps<T>;
7
+ title?: JSXElement;
8
+ description?: JSXElement;
9
+ class?: ComponentProps<"div">["class"];
10
+ classList?: ComponentProps<"div">["classList"];
11
+ style?: ComponentProps<"div">["style"];
12
+ portal?: boolean;
13
+ }
14
+ export declare function Popover<T extends ValidComponent = "div">(props: PopoverProps<T>): import("solid-js").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Progress as Kobalte } from "@kobalte/core/progress";
2
+ import type { ComponentProps, ParentProps } from "solid-js";
3
+ export interface ProgressProps extends ParentProps<ComponentProps<typeof Kobalte>> {
4
+ hideLabel?: boolean;
5
+ showValueLabel?: boolean;
6
+ }
7
+ export declare function Progress(props: ProgressProps): import("solid-js").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { Component, JSX } from "solid-js";
2
+ export type ProviderIconProps = JSX.SVGElementTags["svg"] & {
3
+ id: string;
4
+ };
5
+ export declare const ProviderIcon: Component<ProviderIconProps>;
@@ -0,0 +1,2 @@
1
+ export declare const iconNames: readonly ["zhipuai", "zhipuai-coding-plan", "zenmux", "zai", "zai-coding-plan", "xiaomi", "xai", "wandb", "vultr", "vivgrid", "vercel", "venice", "v0", "upstage", "togetherai", "synthetic", "submodel", "stepfun", "stackit", "siliconflow", "siliconflow-cn", "scaleway", "sap-ai-core", "requesty", "qiniu-ai", "qihang-ai", "privatemode-ai", "poe", "perplexity", "ovhcloud", "openrouter", "llmgateway", "opencode", "opencode-go", "openai", "ollama-cloud", "nvidia", "novita-ai", "nova", "nebius", "nano-gpt", "morph", "moonshotai", "moonshotai-cn", "modelscope", "moark", "mistral", "minimax", "minimax-coding-plan", "minimax-cn", "minimax-cn-coding-plan", "meganova", "lucidquery", "lmstudio", "llama", "kuae-cloud-coding-plan", "kimi-for-coding", "kilo", "jiekou", "io-net", "inference", "inception", "iflowcn", "huggingface", "helicone", "groq", "google", "google-vertex", "google-vertex-anthropic", "gitlab", "github-models", "github-copilot", "friendli", "firmware", "fireworks-ai", "fastrouter", "evroc", "digitalocean", "deepseek", "deepinfra", "cortecs", "cohere", "cloudflare-workers-ai", "cloudflare-ai-gateway", "cloudferro-sherlock", "chutes", "cerebras", "berget", "baseten", "bailing", "azure", "azure-cognitive-services", "anthropic", "amazon-bedrock", "alibaba", "alibaba-cn", "aihubmix", "abacus", "302ai"];
2
+ export type IconName = (typeof iconNames)[number];
@@ -0,0 +1,14 @@
1
+ import { type JSX } from "solid-js";
2
+ export interface ResizeHandleProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize"> {
3
+ direction: "horizontal" | "vertical";
4
+ edge?: "start" | "end";
5
+ size: number;
6
+ min: number;
7
+ max: number;
8
+ onResize: (size: number) => void;
9
+ onCollapse?: () => void;
10
+ /** Called while dragging when size crosses `collapseThreshold`. */
11
+ onCollapseChange?: (collapsed: boolean) => void;
12
+ collapseThreshold?: number;
13
+ }
14
+ export declare function ResizeHandle(props: ResizeHandleProps): JSX.Element;
@@ -0,0 +1,42 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ export type ScrollViewThumbVisibility = "hover" | "scroll";
3
+ export interface ScrollViewProps extends ComponentProps<"div"> {
4
+ viewportRef?: (el: HTMLDivElement) => void;
5
+ orientation?: "vertical" | "horizontal" | "both";
6
+ /**
7
+ * `hover`: show while hovered or scrolling. `scroll`: show only while scrolling.
8
+ *
9
+ * In most cases, scrolling a container = hovering over it, so this change has no effect.
10
+ * This is a special case to account for the home page scroll, where scrolling a container != hovering over it
11
+ * */
12
+ thumbVisibility?: ScrollViewThumbVisibility;
13
+ /** Mount the thumb into an external track. Scroll metrics still come from this ScrollView. */
14
+ thumbContainer?: HTMLElement;
15
+ /** Element whose hover reveals the thumb. Defaults to the ScrollView root when unset. */
16
+ thumbHoverTarget?: HTMLElement;
17
+ }
18
+ export declare const scrollKey: (event: Pick<KeyboardEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey">) => "end" | "home" | "page-down" | "page-up" | "up" | "down" | undefined;
19
+ export declare function canScrollKey(element: HTMLElement, key: NonNullable<ReturnType<typeof scrollKey>>): boolean;
20
+ export declare function scrollKeyOwner(root: HTMLElement, target: EventTarget | null, key: NonNullable<ReturnType<typeof scrollKey>>): HTMLElement;
21
+ export declare function isScrollKeyTarget(target: EventTarget | null, key: NonNullable<ReturnType<typeof scrollKey>>): boolean;
22
+ export declare function scrollTopFromThumbPointer(input: {
23
+ pointer: number;
24
+ viewportTop: number;
25
+ grabOffset: number;
26
+ clientHeight: number;
27
+ scrollHeight: number;
28
+ thumbHeight: number;
29
+ /** Viewport height used for max scroll. Defaults to `clientHeight` (track == viewport). */
30
+ scrollClientHeight?: number;
31
+ }): number;
32
+ export declare function scrollOffsetFromThumbPointer(input: {
33
+ pointer: number;
34
+ viewportStart: number;
35
+ grabOffset: number;
36
+ clientSize: number;
37
+ scrollSize: number;
38
+ thumbSize: number;
39
+ scrollClientSize?: number;
40
+ reverse?: boolean;
41
+ }): number;
42
+ export declare function ScrollView(props: ScrollViewProps): import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from "solid-js";
2
+ export declare function Spinner(props: {
3
+ class?: string;
4
+ classList?: ComponentProps<"div">["classList"];
5
+ style?: ComponentProps<"div">["style"];
6
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { ParentProps } from "solid-js";
2
+ export declare function StickyAccordionHeader(props: ParentProps<{
3
+ class?: string;
4
+ classList?: Record<string, boolean | undefined>;
5
+ }>): import("solid-js").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { TextField as Kobalte } from "@kobalte/core/text-field";
2
+ import type { ComponentProps } from "solid-js";
3
+ export interface TextFieldProps extends ComponentProps<typeof Kobalte.Input>, Partial<Pick<ComponentProps<typeof Kobalte>, "name" | "defaultValue" | "value" | "onChange" | "onKeyDown" | "validationState" | "required" | "disabled" | "readOnly">> {
4
+ label?: string;
5
+ hideLabel?: boolean;
6
+ description?: string;
7
+ error?: string;
8
+ variant?: "normal" | "ghost";
9
+ copyable?: boolean;
10
+ copyKind?: "clipboard" | "link";
11
+ multiline?: boolean;
12
+ }
13
+ export declare function TextField(props: TextFieldProps): import("solid-js").JSX.Element;
@@ -0,0 +1,13 @@
1
+ export declare function TextReveal(props: {
2
+ text?: string;
3
+ class?: string;
4
+ duration?: number | string;
5
+ /** Gradient edge softness as a percentage of the mask (0 = hard wipe, 17 = soft). */
6
+ edge?: number;
7
+ /** Optional small vertical travel for entering text (px). Default 0. */
8
+ travel?: number | string;
9
+ spring?: string;
10
+ springSoft?: string;
11
+ growOnly?: boolean;
12
+ truncate?: boolean;
13
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type { JSX } from "solid-js";
2
+ export declare function TextStrikethrough(props: {
3
+ /** Whether the strikethrough is active (line drawn across). */
4
+ active: boolean;
5
+ /** The text to display. Rendered twice internally (base + decoration overlay). */
6
+ text: string;
7
+ /** Spring visual duration in seconds. Default 0.35. */
8
+ visualDuration?: number;
9
+ class?: string;
10
+ style?: JSX.CSSProperties;
11
+ }): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { type ValidComponent } from "solid-js";
2
+ export declare const Typewriter: <T extends ValidComponent = "p">(props: {
3
+ text?: string;
4
+ class?: string;
5
+ as?: T;
6
+ }) => import("solid-js").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { type Owner, type ParentProps, type JSX } from "solid-js";
2
+ type DialogElement = () => JSX.Element;
3
+ type Active = {
4
+ id: string;
5
+ node: JSX.Element;
6
+ dispose: () => void;
7
+ owner: Owner;
8
+ onClose?: () => void;
9
+ setClosing: (closing: boolean) => void;
10
+ };
11
+ export declare function DialogProvider(props: ParentProps): JSX.Element;
12
+ export declare function useDialog(): {
13
+ readonly active: Active | undefined;
14
+ show(element: DialogElement, onClose?: () => void): Promise<void>;
15
+ push(element: DialogElement, onClose?: () => void): Promise<void>;
16
+ close(): void;
17
+ };
18
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { ValidComponent } from "solid-js";
2
+ export declare const FileComponentProvider: (props: import("solid-js").ParentProps<{
3
+ component: ValidComponent;
4
+ }>) => import("solid-js").JSX.Element;
5
+ export declare const useFileComponent: () => NonNullable<ValidComponent>;
@@ -0,0 +1,14 @@
1
+ import { type ParentProps } from "solid-js";
2
+ export declare function createSimpleContext<T, Props extends Record<string, any>>(input: {
3
+ name: string;
4
+ init: ((input: Props) => T) | (() => T);
5
+ } & (T extends {
6
+ ready: unknown;
7
+ } ? {
8
+ gate: boolean;
9
+ } : {
10
+ gate?: boolean;
11
+ })): {
12
+ provider: (props: ParentProps<Props>) => import("solid-js").JSX.Element;
13
+ use(): NonNullable<T>;
14
+ };
@@ -0,0 +1,24 @@
1
+ import { type Accessor, type ParentProps } from "solid-js";
2
+ import type { Key, LocaleKey, PluralCategory, PluralKey, PluralLookupKey } from "../i18n/en";
3
+ export type UiI18nKey = Key;
4
+ export type UiI18nPluralKey = PluralKey;
5
+ export type UiPluralCategory = PluralCategory;
6
+ export type UiI18nPluralLookupKey = PluralLookupKey;
7
+ export type UiI18nLocaleKey = LocaleKey;
8
+ type UiTranslationKey<Value extends string> = Value extends UiI18nPluralLookupKey ? never : Value;
9
+ export type UiI18nParams = Record<string, string | number | boolean>;
10
+ export type UiTranslate = <Value extends string>(key: UiTranslationKey<Value>, params?: UiI18nParams) => string;
11
+ export type UiI18n = {
12
+ locale: Accessor<string>;
13
+ layoutLocale?: Accessor<string>;
14
+ t: UiTranslate;
15
+ plural: (key: UiI18nPluralKey, count: number, params?: UiI18nParams) => string;
16
+ pluralForm?: (key: UiI18nPluralKey, category: UiPluralCategory, params?: UiI18nParams) => string;
17
+ };
18
+ export declare function pluralCategory(locale: string, count: number): UiPluralCategory;
19
+ export declare function pluralKey(key: UiI18nPluralKey, category: UiPluralCategory): UiI18nPluralLookupKey;
20
+ declare function UiI18nProvider(props: ParentProps<{
21
+ value: UiI18n;
22
+ }>): import("solid-js").JSX.Element;
23
+ export { UiI18nProvider as I18nProvider };
24
+ export declare function useI18n(): UiI18n;
@@ -0,0 +1,4 @@
1
+ export * from "./helper";
2
+ export * from "./file";
3
+ export * from "./dialog";
4
+ export * from "./i18n";
@@ -0,0 +1,3 @@
1
+ import { Marked } from "marked";
2
+ export declare function createMarkdownBase(): Marked<string, string>;
3
+ export declare function parseSmallMarkdown(text: string): string | undefined;
@@ -0,0 +1 @@
1
+ export declare function createMarkdownParser(highlight: (code: string, language: string) => string | Promise<string>): import("marked").Marked<string, string>;
@@ -0,0 +1 @@
1
+ export declare function registerOpenCodeTheme(): void;
@@ -0,0 +1,2 @@
1
+ import type { ThemeRegistrationResolved } from "@pierre/diffs";
2
+ export declare const OpenCodeTheme: ThemeRegistrationResolved;