@opencode-ai/ui 0.0.0 → 1.17.12

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 (470) hide show
  1. package/LICENSE +21 -0
  2. package/dist/components/accordion.d.ts +24 -0
  3. package/dist/components/animated-number.d.ts +4 -0
  4. package/dist/components/app-icon.d.ts +6 -0
  5. package/dist/components/app-icons/types.d.ts +2 -0
  6. package/dist/components/avatar.d.ts +9 -0
  7. package/dist/components/button.d.ts +9 -0
  8. package/dist/components/card.d.ts +22 -0
  9. package/dist/components/checkbox.d.ts +8 -0
  10. package/dist/components/collapsible.d.ts +17 -0
  11. package/dist/components/context-menu.d.ts +80 -0
  12. package/dist/components/dialog.d.ts +12 -0
  13. package/dist/components/diff-changes.d.ts +11 -0
  14. package/dist/components/dock-surface.d.ts +7 -0
  15. package/dist/components/dropdown-menu.d.ts +80 -0
  16. package/dist/components/favicon.d.ts +1 -0
  17. package/dist/components/file-icon.d.ts +12 -0
  18. package/dist/components/file-icons/types.d.ts +2 -0
  19. package/dist/components/font.d.ts +1 -0
  20. package/dist/components/hover-card.d.ts +9 -0
  21. package/dist/components/icon-button.d.ts +10 -0
  22. package/dist/components/icon.d.ts +104 -0
  23. package/dist/components/image-preview.d.ts +5 -0
  24. package/dist/components/inline-input.d.ts +5 -0
  25. package/dist/components/keybind.d.ts +6 -0
  26. package/dist/components/list.d.ts +45 -0
  27. package/dist/components/logo.d.ts +8 -0
  28. package/dist/components/motion-spring.d.ts +4 -0
  29. package/dist/components/popover.d.ts +14 -0
  30. package/dist/components/progress-circle.d.ts +7 -0
  31. package/dist/components/progress.d.ts +7 -0
  32. package/dist/components/provider-icon.d.ts +5 -0
  33. package/dist/components/provider-icons/types.d.ts +2 -0
  34. package/dist/components/radio-group.d.ts +16 -0
  35. package/dist/components/resize-handle.d.ts +12 -0
  36. package/dist/components/scroll-view.d.ts +15 -0
  37. package/dist/components/select.d.ts +21 -0
  38. package/dist/components/spinner.d.ts +6 -0
  39. package/dist/components/sticky-accordion-header.d.ts +5 -0
  40. package/dist/components/switch.d.ts +7 -0
  41. package/dist/components/tabs.d.ts +32 -0
  42. package/dist/components/tag.d.ts +5 -0
  43. package/dist/components/text-field.d.ts +13 -0
  44. package/dist/components/text-reveal.d.ts +13 -0
  45. package/dist/components/text-shimmer.d.ts +8 -0
  46. package/dist/components/text-strikethrough.d.ts +11 -0
  47. package/dist/components/toast.d.ts +56 -0
  48. package/dist/components/tooltip.d.ts +17 -0
  49. package/dist/components/typewriter.d.ts +6 -0
  50. package/dist/context/dialog.d.ts +18 -0
  51. package/dist/context/file.d.ts +5 -0
  52. package/dist/context/helper.d.ts +14 -0
  53. package/dist/context/i18n.d.ts +12 -0
  54. package/dist/context/index.d.ts +4 -0
  55. package/dist/context/marked.d.ts +9 -0
  56. package/dist/context/worker-pool.d.ts +9 -0
  57. package/dist/hooks/create-auto-scroll.d.ts +17 -0
  58. package/dist/hooks/index.d.ts +2 -0
  59. package/dist/hooks/use-filtered-list.d.ts +39 -0
  60. package/dist/i18n/ar.d.ts +148 -0
  61. package/dist/i18n/br.d.ts +148 -0
  62. package/dist/i18n/bs.d.ts +148 -0
  63. package/dist/i18n/da.d.ts +148 -0
  64. package/dist/i18n/de.d.ts +148 -0
  65. package/dist/i18n/en.d.ts +1 -0
  66. package/dist/i18n/es.d.ts +148 -0
  67. package/dist/i18n/fr.d.ts +148 -0
  68. package/dist/i18n/ja.d.ts +148 -0
  69. package/dist/i18n/ko.d.ts +148 -0
  70. package/dist/i18n/no.d.ts +4 -0
  71. package/dist/i18n/pl.d.ts +148 -0
  72. package/dist/i18n/ru.d.ts +148 -0
  73. package/dist/i18n/th.d.ts +148 -0
  74. package/dist/i18n/tr.d.ts +148 -0
  75. package/dist/i18n/uk.d.ts +1 -0
  76. package/dist/i18n/zh.d.ts +148 -0
  77. package/dist/i18n/zht.d.ts +148 -0
  78. package/dist/storybook/fixtures.d.ts +19 -0
  79. package/dist/storybook/scaffold.d.ts +16 -0
  80. package/dist/theme/color.d.ts +30 -0
  81. package/dist/theme/context.d.ts +21 -0
  82. package/dist/theme/default-themes.d.ts +39 -0
  83. package/dist/theme/index.d.ts +7 -0
  84. package/dist/theme/loader.d.ts +6 -0
  85. package/dist/theme/resolve.d.ts +7 -0
  86. package/dist/theme/types.d.ts +56 -0
  87. package/dist/theme/v2/avatar.d.ts +5 -0
  88. package/dist/theme/v2/default-primitives.d.ts +3 -0
  89. package/dist/theme/v2/foreground.d.ts +2 -0
  90. package/dist/theme/v2/mapping.d.ts +3 -0
  91. package/dist/theme/v2/resolve.d.ts +9 -0
  92. package/dist/v2/components/accordion-v2.d.ts +26 -0
  93. package/dist/v2/components/avatar-v2.d.ts +11 -0
  94. package/dist/v2/components/badge-v2.d.ts +5 -0
  95. package/dist/v2/components/button-v2.d.ts +10 -0
  96. package/dist/v2/components/checkbox-v2.d.ts +10 -0
  97. package/dist/v2/components/dialog-v2.d.ts +26 -0
  98. package/dist/v2/components/diff-changes-v2.d.ts +11 -0
  99. package/dist/v2/components/divider-v2.d.ts +5 -0
  100. package/dist/v2/components/field-v2.d.ts +28 -0
  101. package/dist/v2/components/icon-button-v2.d.ts +11 -0
  102. package/dist/v2/components/icon.d.ts +105 -0
  103. package/dist/v2/components/inline-input-v2.d.ts +21 -0
  104. package/dist/v2/components/keybind-v2.d.ts +7 -0
  105. package/dist/v2/components/line-comment-v2.d.ts +28 -0
  106. package/dist/v2/components/menu-v2.d.ts +52 -0
  107. package/dist/v2/components/progress-circle-v2.d.ts +8 -0
  108. package/dist/v2/components/project-avatar-v2.d.ts +11 -0
  109. package/dist/v2/components/radio-v2.d.ts +16 -0
  110. package/dist/v2/components/segmented-control-v2.d.ts +21 -0
  111. package/dist/v2/components/select-v2.d.ts +24 -0
  112. package/dist/v2/components/switch-v2.d.ts +7 -0
  113. package/dist/v2/components/tab-state-indicator.d.ts +2 -0
  114. package/dist/v2/components/tabs-v2.d.ts +34 -0
  115. package/dist/v2/components/text-input-v2.d.ts +17 -0
  116. package/dist/v2/components/text-shimmer-v2.d.ts +9 -0
  117. package/dist/v2/components/textarea-v2.d.ts +7 -0
  118. package/dist/v2/components/toast-v2.d.ts +48 -0
  119. package/dist/v2/components/tooltip-v2.d.ts +13 -0
  120. package/dist/v2/components/wordmark-v2.d.ts +2 -0
  121. package/package.json +148 -6
  122. package/src/assets/audio/alert-01.aac +0 -0
  123. package/src/assets/audio/alert-01.mp3 +0 -0
  124. package/src/assets/audio/alert-02.aac +0 -0
  125. package/src/assets/audio/alert-02.mp3 +0 -0
  126. package/src/assets/audio/alert-03.aac +0 -0
  127. package/src/assets/audio/alert-03.mp3 +0 -0
  128. package/src/assets/audio/alert-04.aac +0 -0
  129. package/src/assets/audio/alert-04.mp3 +0 -0
  130. package/src/assets/audio/alert-05.aac +0 -0
  131. package/src/assets/audio/alert-05.mp3 +0 -0
  132. package/src/assets/audio/alert-06.aac +0 -0
  133. package/src/assets/audio/alert-06.mp3 +0 -0
  134. package/src/assets/audio/alert-07.aac +0 -0
  135. package/src/assets/audio/alert-07.mp3 +0 -0
  136. package/src/assets/audio/alert-08.aac +0 -0
  137. package/src/assets/audio/alert-08.mp3 +0 -0
  138. package/src/assets/audio/alert-09.aac +0 -0
  139. package/src/assets/audio/alert-09.mp3 +0 -0
  140. package/src/assets/audio/alert-10.aac +0 -0
  141. package/src/assets/audio/alert-10.mp3 +0 -0
  142. package/src/assets/audio/bip-bop-01.aac +0 -0
  143. package/src/assets/audio/bip-bop-01.mp3 +0 -0
  144. package/src/assets/audio/bip-bop-02.aac +0 -0
  145. package/src/assets/audio/bip-bop-02.mp3 +0 -0
  146. package/src/assets/audio/bip-bop-03.aac +0 -0
  147. package/src/assets/audio/bip-bop-03.mp3 +0 -0
  148. package/src/assets/audio/bip-bop-04.aac +0 -0
  149. package/src/assets/audio/bip-bop-04.mp3 +0 -0
  150. package/src/assets/audio/bip-bop-05.aac +0 -0
  151. package/src/assets/audio/bip-bop-05.mp3 +0 -0
  152. package/src/assets/audio/bip-bop-06.aac +0 -0
  153. package/src/assets/audio/bip-bop-06.mp3 +0 -0
  154. package/src/assets/audio/bip-bop-07.aac +0 -0
  155. package/src/assets/audio/bip-bop-07.mp3 +0 -0
  156. package/src/assets/audio/bip-bop-08.aac +0 -0
  157. package/src/assets/audio/bip-bop-08.mp3 +0 -0
  158. package/src/assets/audio/bip-bop-09.aac +0 -0
  159. package/src/assets/audio/bip-bop-09.mp3 +0 -0
  160. package/src/assets/audio/bip-bop-10.aac +0 -0
  161. package/src/assets/audio/bip-bop-10.mp3 +0 -0
  162. package/src/assets/audio/nope-01.aac +0 -0
  163. package/src/assets/audio/nope-01.mp3 +0 -0
  164. package/src/assets/audio/nope-02.aac +0 -0
  165. package/src/assets/audio/nope-02.mp3 +0 -0
  166. package/src/assets/audio/nope-03.aac +0 -0
  167. package/src/assets/audio/nope-03.mp3 +0 -0
  168. package/src/assets/audio/nope-04.aac +0 -0
  169. package/src/assets/audio/nope-04.mp3 +0 -0
  170. package/src/assets/audio/nope-05.aac +0 -0
  171. package/src/assets/audio/nope-05.mp3 +0 -0
  172. package/src/assets/audio/nope-06.aac +0 -0
  173. package/src/assets/audio/nope-06.mp3 +0 -0
  174. package/src/assets/audio/nope-07.aac +0 -0
  175. package/src/assets/audio/nope-07.mp3 +0 -0
  176. package/src/assets/audio/nope-08.aac +0 -0
  177. package/src/assets/audio/nope-08.mp3 +0 -0
  178. package/src/assets/audio/nope-09.aac +0 -0
  179. package/src/assets/audio/nope-09.mp3 +0 -0
  180. package/src/assets/audio/nope-10.aac +0 -0
  181. package/src/assets/audio/nope-10.mp3 +0 -0
  182. package/src/assets/audio/nope-11.aac +0 -0
  183. package/src/assets/audio/nope-11.mp3 +0 -0
  184. package/src/assets/audio/nope-12.aac +0 -0
  185. package/src/assets/audio/nope-12.mp3 +0 -0
  186. package/src/assets/audio/staplebops-01.aac +0 -0
  187. package/src/assets/audio/staplebops-01.mp3 +0 -0
  188. package/src/assets/audio/staplebops-02.aac +0 -0
  189. package/src/assets/audio/staplebops-02.mp3 +0 -0
  190. package/src/assets/audio/staplebops-03.aac +0 -0
  191. package/src/assets/audio/staplebops-03.mp3 +0 -0
  192. package/src/assets/audio/staplebops-04.aac +0 -0
  193. package/src/assets/audio/staplebops-04.mp3 +0 -0
  194. package/src/assets/audio/staplebops-05.aac +0 -0
  195. package/src/assets/audio/staplebops-05.mp3 +0 -0
  196. package/src/assets/audio/staplebops-06.aac +0 -0
  197. package/src/assets/audio/staplebops-06.mp3 +0 -0
  198. package/src/assets/audio/staplebops-07.aac +0 -0
  199. package/src/assets/audio/staplebops-07.mp3 +0 -0
  200. package/src/assets/audio/yup-01.aac +0 -0
  201. package/src/assets/audio/yup-01.mp3 +0 -0
  202. package/src/assets/audio/yup-02.aac +0 -0
  203. package/src/assets/audio/yup-02.mp3 +0 -0
  204. package/src/assets/audio/yup-03.aac +0 -0
  205. package/src/assets/audio/yup-03.mp3 +0 -0
  206. package/src/assets/audio/yup-04.aac +0 -0
  207. package/src/assets/audio/yup-04.mp3 +0 -0
  208. package/src/assets/audio/yup-05.aac +0 -0
  209. package/src/assets/audio/yup-05.mp3 +0 -0
  210. package/src/assets/audio/yup-06.aac +0 -0
  211. package/src/assets/audio/yup-06.mp3 +0 -0
  212. package/src/assets/fonts/Inter.ttf +0 -0
  213. package/src/assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2 +0 -0
  214. package/src/assets/icons/app/android-studio.svg +369 -0
  215. package/src/assets/icons/app/antigravity.svg +97 -0
  216. package/src/assets/icons/app/cursor.svg +16 -0
  217. package/src/assets/icons/app/file-explorer.svg +20 -0
  218. package/src/assets/icons/app/finder.png +0 -0
  219. package/src/assets/icons/app/ghostty.svg +13 -0
  220. package/src/assets/icons/app/iterm2.svg +13 -0
  221. package/src/assets/icons/app/powershell.svg +14 -0
  222. package/src/assets/icons/app/sublimetext.svg +17 -0
  223. package/src/assets/icons/app/terminal.png +0 -0
  224. package/src/assets/icons/app/textmate.png +0 -0
  225. package/src/assets/icons/app/vscode.svg +39 -0
  226. package/src/assets/icons/app/warp.png +0 -0
  227. package/src/assets/icons/app/xcode.png +0 -0
  228. package/src/assets/icons/app/zed-dark.svg +15 -0
  229. package/src/assets/icons/app/zed.svg +15 -0
  230. package/src/components/accordion.css +147 -0
  231. package/src/components/accordion.tsx +92 -0
  232. package/src/components/animated-number.css +75 -0
  233. package/src/components/animated-number.tsx +109 -0
  234. package/src/components/app-icon.css +5 -0
  235. package/src/components/app-icon.tsx +85 -0
  236. package/src/components/app-icons/sprite.svg +114 -0
  237. package/src/components/app-icons/types.ts +21 -0
  238. package/src/components/avatar.css +49 -0
  239. package/src/components/avatar.tsx +55 -0
  240. package/src/components/button.css +194 -0
  241. package/src/components/button.tsx +33 -0
  242. package/src/components/card.css +115 -0
  243. package/src/components/card.tsx +123 -0
  244. package/src/components/checkbox.css +131 -0
  245. package/src/components/checkbox.tsx +43 -0
  246. package/src/components/collapsible.css +148 -0
  247. package/src/components/collapsible.tsx +48 -0
  248. package/src/components/context-menu.css +134 -0
  249. package/src/components/context-menu.tsx +308 -0
  250. package/src/components/dialog.css +181 -0
  251. package/src/components/dialog.tsx +72 -0
  252. package/src/components/diff-changes.css +42 -0
  253. package/src/components/diff-changes.tsx +115 -0
  254. package/src/components/dock-surface.css +23 -0
  255. package/src/components/dock-surface.tsx +54 -0
  256. package/src/components/dropdown-menu.css +135 -0
  257. package/src/components/dropdown-menu.tsx +308 -0
  258. package/src/components/favicon.tsx +13 -0
  259. package/src/components/file-icon.css +26 -0
  260. package/src/components/file-icon.tsx +588 -0
  261. package/src/components/file-icons/sprite.svg +11707 -0
  262. package/src/components/file-icons/types.ts +1095 -0
  263. package/src/components/font.tsx +1 -0
  264. package/src/components/hover-card.css +61 -0
  265. package/src/components/hover-card.tsx +32 -0
  266. package/src/components/icon-button.css +181 -0
  267. package/src/components/icon-button.tsx +29 -0
  268. package/src/components/icon.css +34 -0
  269. package/src/components/icon.tsx +169 -0
  270. package/src/components/image-preview.css +63 -0
  271. package/src/components/image-preview.tsx +32 -0
  272. package/src/components/inline-input.css +17 -0
  273. package/src/components/inline-input.tsx +22 -0
  274. package/src/components/keybind.css +18 -0
  275. package/src/components/keybind.tsx +20 -0
  276. package/src/components/list.css +331 -0
  277. package/src/components/list.tsx +394 -0
  278. package/src/components/logo.css +4 -0
  279. package/src/components/logo.tsx +62 -0
  280. package/src/components/motion-spring.tsx +58 -0
  281. package/src/components/popover.css +98 -0
  282. package/src/components/popover.tsx +153 -0
  283. package/src/components/progress-circle.css +16 -0
  284. package/src/components/progress-circle.tsx +64 -0
  285. package/src/components/progress.css +63 -0
  286. package/src/components/progress.tsx +39 -0
  287. package/src/components/provider-icon.css +5 -0
  288. package/src/components/provider-icon.tsx +25 -0
  289. package/src/components/provider-icons/sprite.svg +1135 -0
  290. package/src/components/provider-icons/types.ts +105 -0
  291. package/src/components/radio-group.css +187 -0
  292. package/src/components/radio-group.tsx +83 -0
  293. package/src/components/resize-handle.css +58 -0
  294. package/src/components/resize-handle.tsx +82 -0
  295. package/src/components/scroll-view.css +66 -0
  296. package/src/components/scroll-view.tsx +250 -0
  297. package/src/components/select.css +199 -0
  298. package/src/components/select.tsx +174 -0
  299. package/src/components/spinner.css +6 -0
  300. package/src/components/spinner.tsx +52 -0
  301. package/src/components/sticky-accordion-header.css +6 -0
  302. package/src/components/sticky-accordion-header.tsx +18 -0
  303. package/src/components/switch.css +132 -0
  304. package/src/components/switch.tsx +29 -0
  305. package/src/components/tabs.css +635 -0
  306. package/src/components/tabs.tsx +125 -0
  307. package/src/components/tag.css +37 -0
  308. package/src/components/tag.tsx +22 -0
  309. package/src/components/text-field.css +134 -0
  310. package/src/components/text-field.tsx +128 -0
  311. package/src/components/text-reveal.css +150 -0
  312. package/src/components/text-reveal.tsx +143 -0
  313. package/src/components/text-shimmer.css +119 -0
  314. package/src/components/text-shimmer.tsx +62 -0
  315. package/src/components/text-strikethrough.css +27 -0
  316. package/src/components/text-strikethrough.tsx +84 -0
  317. package/src/components/toast.css +236 -0
  318. package/src/components/toast.tsx +185 -0
  319. package/src/components/tooltip.css +74 -0
  320. package/src/components/tooltip.tsx +163 -0
  321. package/src/components/typewriter.css +14 -0
  322. package/src/components/typewriter.tsx +55 -0
  323. package/src/context/dialog.tsx +197 -0
  324. package/src/context/file.tsx +10 -0
  325. package/src/context/helper.tsx +38 -0
  326. package/src/context/i18n.tsx +38 -0
  327. package/src/context/index.ts +4 -0
  328. package/src/context/marked.tsx +522 -0
  329. package/src/context/worker-pool.tsx +20 -0
  330. package/src/custom-elements.d.ts +17 -0
  331. package/src/hooks/create-auto-scroll.tsx +237 -0
  332. package/src/hooks/index.ts +2 -0
  333. package/src/hooks/use-filtered-list.tsx +134 -0
  334. package/src/i18n/ar.ts +168 -0
  335. package/src/i18n/br.ts +168 -0
  336. package/src/i18n/bs.ts +172 -0
  337. package/src/i18n/da.ts +167 -0
  338. package/src/i18n/de.ts +173 -0
  339. package/src/i18n/en.ts +176 -0
  340. package/src/i18n/es.ts +168 -0
  341. package/src/i18n/fr.ts +168 -0
  342. package/src/i18n/ja.ts +167 -0
  343. package/src/i18n/ko.ts +168 -0
  344. package/src/i18n/no.ts +171 -0
  345. package/src/i18n/pl.ts +167 -0
  346. package/src/i18n/ru.ts +167 -0
  347. package/src/i18n/th.ts +169 -0
  348. package/src/i18n/tr.ts +174 -0
  349. package/src/i18n/uk.ts +167 -0
  350. package/src/i18n/zh.ts +171 -0
  351. package/src/i18n/zht.ts +171 -0
  352. package/src/storybook/fixtures.ts +51 -0
  353. package/src/storybook/scaffold.tsx +62 -0
  354. package/src/styles/animations.css +141 -0
  355. package/src/styles/base.css +404 -0
  356. package/src/styles/colors.css +772 -0
  357. package/src/styles/index.css +53 -0
  358. package/src/styles/tailwind/colors.css +286 -0
  359. package/src/styles/tailwind/index.css +78 -0
  360. package/src/styles/tailwind/utilities.css +131 -0
  361. package/src/styles/theme.css +609 -0
  362. package/src/styles/utilities.css +118 -0
  363. package/src/theme/color.ts +299 -0
  364. package/src/theme/context.tsx +370 -0
  365. package/src/theme/default-themes.ts +116 -0
  366. package/src/theme/index.ts +78 -0
  367. package/src/theme/loader.ts +112 -0
  368. package/src/theme/resolve.ts +540 -0
  369. package/src/theme/themes/amoled.json +49 -0
  370. package/src/theme/themes/aura.json +51 -0
  371. package/src/theme/themes/ayu.json +51 -0
  372. package/src/theme/themes/carbonfox.json +53 -0
  373. package/src/theme/themes/catppuccin-frappe.json +85 -0
  374. package/src/theme/themes/catppuccin-macchiato.json +85 -0
  375. package/src/theme/themes/catppuccin.json +45 -0
  376. package/src/theme/themes/cobalt2.json +87 -0
  377. package/src/theme/themes/cursor.json +91 -0
  378. package/src/theme/themes/dracula.json +49 -0
  379. package/src/theme/themes/everforest.json +89 -0
  380. package/src/theme/themes/flexoki.json +86 -0
  381. package/src/theme/themes/github.json +85 -0
  382. package/src/theme/themes/gruvbox.json +45 -0
  383. package/src/theme/themes/kanagawa.json +89 -0
  384. package/src/theme/themes/lucent-orng.json +87 -0
  385. package/src/theme/themes/material.json +87 -0
  386. package/src/theme/themes/matrix.json +113 -0
  387. package/src/theme/themes/mercury.json +86 -0
  388. package/src/theme/themes/monokai.json +49 -0
  389. package/src/theme/themes/nightowl.json +46 -0
  390. package/src/theme/themes/nord.json +46 -0
  391. package/src/theme/themes/oc-2.json +474 -0
  392. package/src/theme/themes/one-dark.json +89 -0
  393. package/src/theme/themes/onedarkpro.json +45 -0
  394. package/src/theme/themes/opencode.json +89 -0
  395. package/src/theme/themes/orng.json +87 -0
  396. package/src/theme/themes/osaka-jade.json +88 -0
  397. package/src/theme/themes/palenight.json +85 -0
  398. package/src/theme/themes/rosepine.json +85 -0
  399. package/src/theme/themes/shadesofpurple.json +51 -0
  400. package/src/theme/themes/solarized.json +49 -0
  401. package/src/theme/themes/synthwave84.json +87 -0
  402. package/src/theme/themes/tokyonight.json +47 -0
  403. package/src/theme/themes/vercel.json +90 -0
  404. package/src/theme/themes/vesper.json +51 -0
  405. package/src/theme/themes/zenburn.json +87 -0
  406. package/src/theme/types.ts +75 -0
  407. package/src/theme/v2/avatar.ts +48 -0
  408. package/src/theme/v2/default-primitives.ts +114 -0
  409. package/src/theme/v2/foreground.ts +60 -0
  410. package/src/theme/v2/mapping.ts +140 -0
  411. package/src/theme/v2/resolve.ts +153 -0
  412. package/src/v2/components/accordion-v2.css +139 -0
  413. package/src/v2/components/accordion-v2.tsx +86 -0
  414. package/src/v2/components/avatar-v2.css +70 -0
  415. package/src/v2/components/avatar-v2.tsx +59 -0
  416. package/src/v2/components/badge-v2.css +27 -0
  417. package/src/v2/components/badge-v2.tsx +20 -0
  418. package/src/v2/components/button-v2.css +230 -0
  419. package/src/v2/components/button-v2.tsx +35 -0
  420. package/src/v2/components/checkbox-v2.css +184 -0
  421. package/src/v2/components/checkbox-v2.tsx +65 -0
  422. package/src/v2/components/dialog-v2.css +177 -0
  423. package/src/v2/components/dialog-v2.tsx +114 -0
  424. package/src/v2/components/diff-changes-v2.css +24 -0
  425. package/src/v2/components/diff-changes-v2.tsx +28 -0
  426. package/src/v2/components/divider-v2.css +11 -0
  427. package/src/v2/components/divider-v2.tsx +20 -0
  428. package/src/v2/components/field-v2.css +94 -0
  429. package/src/v2/components/field-v2.tsx +265 -0
  430. package/src/v2/components/icon-button-v2.css +155 -0
  431. package/src/v2/components/icon-button-v2.tsx +37 -0
  432. package/src/v2/components/icon.tsx +157 -0
  433. package/src/v2/components/inline-input-v2.css +218 -0
  434. package/src/v2/components/inline-input-v2.tsx +90 -0
  435. package/src/v2/components/keybind-v2.css +76 -0
  436. package/src/v2/components/keybind-v2.tsx +30 -0
  437. package/src/v2/components/line-comment-v2.css +204 -0
  438. package/src/v2/components/line-comment-v2.tsx +155 -0
  439. package/src/v2/components/menu-v2.css +190 -0
  440. package/src/v2/components/menu-v2.tsx +225 -0
  441. package/src/v2/components/progress-circle-v2.css +13 -0
  442. package/src/v2/components/progress-circle-v2.tsx +52 -0
  443. package/src/v2/components/project-avatar-v2.css +125 -0
  444. package/src/v2/components/project-avatar-v2.tsx +64 -0
  445. package/src/v2/components/radio-v2.css +202 -0
  446. package/src/v2/components/radio-v2.tsx +72 -0
  447. package/src/v2/components/segmented-control-v2.css +80 -0
  448. package/src/v2/components/segmented-control-v2.tsx +208 -0
  449. package/src/v2/components/select-v2.css +285 -0
  450. package/src/v2/components/select-v2.tsx +208 -0
  451. package/src/v2/components/switch-v2.css +154 -0
  452. package/src/v2/components/switch-v2.tsx +28 -0
  453. package/src/v2/components/tab-state-indicator.tsx +37 -0
  454. package/src/v2/components/tabs-v2.css +225 -0
  455. package/src/v2/components/tabs-v2.tsx +147 -0
  456. package/src/v2/components/text-input-v2.css +145 -0
  457. package/src/v2/components/text-input-v2.tsx +67 -0
  458. package/src/v2/components/text-shimmer-v2.css +125 -0
  459. package/src/v2/components/text-shimmer-v2.tsx +63 -0
  460. package/src/v2/components/textarea-v2.css +78 -0
  461. package/src/v2/components/textarea-v2.tsx +31 -0
  462. package/src/v2/components/toast-v2.css +215 -0
  463. package/src/v2/components/toast-v2.tsx +144 -0
  464. package/src/v2/components/tooltip-v2.css +64 -0
  465. package/src/v2/components/tooltip-v2.tsx +147 -0
  466. package/src/v2/components/wordmark-v2.tsx +92 -0
  467. package/src/v2/styles/colors.css +172 -0
  468. package/src/v2/styles/tailwind.css +2 -0
  469. package/src/v2/styles/theme.css +457 -0
  470. package/README.md +0 -3
@@ -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 { type ComponentProps } from "solid-js";
2
+ export interface ProgressCircleProps extends Pick<ComponentProps<"svg">, "class" | "classList" | "style"> {
3
+ percentage: number;
4
+ size?: number;
5
+ strokeWidth?: number;
6
+ }
7
+ export declare function ProgressCircle(props: ProgressCircleProps): 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,16 @@
1
+ import { SegmentedControl as Kobalte } from "@kobalte/core/segmented-control";
2
+ import type { ComponentProps, JSX } from "solid-js";
3
+ export type RadioGroupProps<T> = Omit<ComponentProps<typeof Kobalte>, "value" | "defaultValue" | "onChange" | "children"> & {
4
+ options: T[];
5
+ current?: T;
6
+ defaultValue?: T;
7
+ value?: (x: T) => string;
8
+ label?: (x: T) => JSX.Element | string;
9
+ onSelect?: (value: T | undefined) => void;
10
+ class?: ComponentProps<"div">["class"];
11
+ classList?: ComponentProps<"div">["classList"];
12
+ size?: "small" | "medium";
13
+ fill?: boolean;
14
+ pad?: "none" | "normal";
15
+ };
16
+ export declare function RadioGroup<T>(props: RadioGroupProps<T>): JSX.Element;
@@ -0,0 +1,12 @@
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
+ collapseThreshold?: number;
11
+ }
12
+ export declare function ResizeHandle(props: ResizeHandleProps): JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ export interface ScrollViewProps extends ComponentProps<"div"> {
3
+ viewportRef?: (el: HTMLDivElement) => void;
4
+ orientation?: "vertical" | "horizontal";
5
+ }
6
+ export declare const scrollKey: (event: Pick<KeyboardEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey">) => "end" | "home" | "page-down" | "page-up" | "up" | "down" | undefined;
7
+ export declare function scrollTopFromThumbPointer(input: {
8
+ pointer: number;
9
+ viewportTop: number;
10
+ grabOffset: number;
11
+ clientHeight: number;
12
+ scrollHeight: number;
13
+ thumbHeight: number;
14
+ }): number;
15
+ export declare function ScrollView(props: ScrollViewProps): import("solid-js").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { Select as Kobalte } from "@kobalte/core/select";
2
+ import { type ComponentProps, type JSX } from "solid-js";
3
+ import { ButtonProps } from "./button";
4
+ export type SelectProps<T> = Omit<ComponentProps<typeof Kobalte<T>>, "value" | "onSelect" | "children"> & {
5
+ placeholder?: string;
6
+ options: T[];
7
+ current?: T;
8
+ value?: (x: T) => string;
9
+ label?: (x: T) => string;
10
+ groupBy?: (x: T) => string;
11
+ valueClass?: ComponentProps<"div">["class"];
12
+ onSelect?: (value: T | undefined) => void;
13
+ onHighlight?: (value: T | undefined) => (() => void) | void;
14
+ class?: ComponentProps<"div">["class"];
15
+ classList?: ComponentProps<"div">["classList"];
16
+ children?: (item: T | undefined) => JSX.Element;
17
+ triggerStyle?: JSX.CSSProperties;
18
+ triggerVariant?: "settings";
19
+ triggerProps?: Record<string, string | number | boolean | undefined>;
20
+ };
21
+ export declare function Select<T>(props: SelectProps<T> & Omit<ButtonProps, "children">): 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,7 @@
1
+ import { Switch as Kobalte } from "@kobalte/core/switch";
2
+ import type { ComponentProps, ParentProps } from "solid-js";
3
+ export interface SwitchProps extends ParentProps<ComponentProps<typeof Kobalte>> {
4
+ hideLabel?: boolean;
5
+ description?: string;
6
+ }
7
+ export declare function Switch(props: SwitchProps): import("solid-js").JSX.Element;
@@ -0,0 +1,32 @@
1
+ import { Tabs as Kobalte } from "@kobalte/core/tabs";
2
+ import { type JSX } from "solid-js";
3
+ import type { ComponentProps, ParentProps, Component } from "solid-js";
4
+ export interface TabsProps extends ComponentProps<typeof Kobalte> {
5
+ variant?: "normal" | "alt" | "pill" | "settings";
6
+ orientation?: "horizontal" | "vertical";
7
+ }
8
+ export interface TabsListProps extends ComponentProps<typeof Kobalte.List> {
9
+ }
10
+ export interface TabsTriggerProps extends ComponentProps<typeof Kobalte.Trigger> {
11
+ classes?: {
12
+ button?: string;
13
+ };
14
+ hideCloseButton?: boolean;
15
+ closeButton?: JSX.Element;
16
+ onMiddleClick?: () => void;
17
+ }
18
+ export interface TabsContentProps extends ComponentProps<typeof Kobalte.Content> {
19
+ }
20
+ declare function TabsRoot(props: TabsProps): JSX.Element;
21
+ declare function TabsList(props: TabsListProps): JSX.Element;
22
+ declare function TabsTrigger(props: ParentProps<TabsTriggerProps>): JSX.Element;
23
+ declare function TabsContent(props: ParentProps<TabsContentProps>): JSX.Element;
24
+ export declare const Tabs: typeof TabsRoot & {
25
+ List: typeof TabsList;
26
+ Trigger: typeof TabsTrigger;
27
+ Content: typeof TabsContent;
28
+ SectionTitle: Component<{
29
+ children?: JSX.Element;
30
+ }>;
31
+ };
32
+ export {};
@@ -0,0 +1,5 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ export interface TagProps extends ComponentProps<"span"> {
3
+ size?: "normal" | "large";
4
+ }
5
+ export declare function Tag(props: TagProps): 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,8 @@
1
+ import { type ValidComponent } from "solid-js";
2
+ export declare const TextShimmer: <T extends ValidComponent = "span">(props: {
3
+ text: string;
4
+ class?: string;
5
+ as?: T;
6
+ active?: boolean;
7
+ offset?: number;
8
+ }) => 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,56 @@
1
+ import { Toast as Kobalte, toaster } from "@kobalte/core/toast";
2
+ import type { ToastRootProps, ToastCloseButtonProps, ToastTitleProps, ToastDescriptionProps } from "@kobalte/core/toast";
3
+ import type { ComponentProps, JSX } from "solid-js";
4
+ import { type IconProps } from "./icon";
5
+ export interface ToastRegionProps extends ComponentProps<typeof Kobalte.Region> {
6
+ }
7
+ declare function ToastRegion(props: ToastRegionProps): JSX.Element;
8
+ export interface ToastRootComponentProps extends ToastRootProps {
9
+ class?: string;
10
+ classList?: ComponentProps<"li">["classList"];
11
+ children?: JSX.Element;
12
+ }
13
+ declare function ToastRoot(props: ToastRootComponentProps): JSX.Element;
14
+ declare function ToastIcon(props: {
15
+ name: IconProps["name"];
16
+ }): JSX.Element;
17
+ declare function ToastContent(props: ComponentProps<"div">): JSX.Element;
18
+ declare function ToastTitle(props: ToastTitleProps & ComponentProps<"div">): JSX.Element;
19
+ declare function ToastDescription(props: ToastDescriptionProps & ComponentProps<"div">): JSX.Element;
20
+ declare function ToastActions(props: ComponentProps<"div">): JSX.Element;
21
+ declare function ToastCloseButton(props: ToastCloseButtonProps & ComponentProps<"button">): JSX.Element;
22
+ declare function ToastProgressTrack(props: ComponentProps<typeof Kobalte.ProgressTrack>): JSX.Element;
23
+ declare function ToastProgressFill(props: ComponentProps<typeof Kobalte.ProgressFill>): JSX.Element;
24
+ export declare const Toast: typeof ToastRoot & {
25
+ Region: typeof ToastRegion;
26
+ Icon: typeof ToastIcon;
27
+ Content: typeof ToastContent;
28
+ Title: typeof ToastTitle;
29
+ Description: typeof ToastDescription;
30
+ Actions: typeof ToastActions;
31
+ CloseButton: typeof ToastCloseButton;
32
+ ProgressTrack: typeof ToastProgressTrack;
33
+ ProgressFill: typeof ToastProgressFill;
34
+ };
35
+ export { toaster };
36
+ export type ToastVariant = "default" | "success" | "error" | "loading";
37
+ export interface ToastAction {
38
+ label: string;
39
+ onClick: "dismiss" | (() => void);
40
+ }
41
+ export interface ToastOptions {
42
+ title?: string;
43
+ description?: string;
44
+ icon?: IconProps["name"];
45
+ variant?: ToastVariant;
46
+ duration?: number;
47
+ persistent?: boolean;
48
+ actions?: ToastAction[];
49
+ }
50
+ export declare function showToast(options: ToastOptions | string): number;
51
+ export interface ToastPromiseOptions<T, U = unknown> {
52
+ loading?: JSX.Element;
53
+ success?: (data: T) => JSX.Element;
54
+ error?: (error: U) => JSX.Element;
55
+ }
56
+ export declare function showPromiseToast<T, U = unknown>(promise: Promise<T> | (() => Promise<T>), options: ToastPromiseOptions<T, U>): number;
@@ -0,0 +1,17 @@
1
+ import { Tooltip as KobalteTooltip } from "@kobalte/core/tooltip";
2
+ import { type JSX } from "solid-js";
3
+ import type { ComponentProps } from "solid-js";
4
+ export interface TooltipProps extends ComponentProps<typeof KobalteTooltip> {
5
+ value: JSX.Element;
6
+ class?: string;
7
+ contentClass?: string;
8
+ contentStyle?: JSX.CSSProperties;
9
+ inactive?: boolean;
10
+ forceOpen?: boolean;
11
+ }
12
+ export interface TooltipKeybindProps extends Omit<TooltipProps, "value"> {
13
+ title: string;
14
+ keybind: string;
15
+ }
16
+ export declare function TooltipKeybind(props: TooltipKeybindProps): JSX.Element;
17
+ export declare function Tooltip(props: TooltipProps): 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,12 @@
1
+ import { type Accessor, type ParentProps } from "solid-js";
2
+ import { dict as en } from "../i18n/en";
3
+ export type UiI18nKey = keyof typeof en;
4
+ export type UiI18nParams = Record<string, string | number | boolean>;
5
+ export type UiI18n = {
6
+ locale: Accessor<string>;
7
+ t: (key: UiI18nKey, params?: UiI18nParams) => string;
8
+ };
9
+ export declare function I18nProvider(props: ParentProps<{
10
+ value: UiI18n;
11
+ }>): import("solid-js").JSX.Element;
12
+ 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,9 @@
1
+ import { marked } from "marked";
2
+ import { ThemeRegistrationResolved } from "@pierre/diffs";
3
+ export declare const OpenCodeTheme: ThemeRegistrationResolved;
4
+ export type NativeMarkdownParser = (markdown: string) => Promise<string>;
5
+ export declare const useMarked: () => NonNullable<typeof marked | {
6
+ parse(markdown: string): Promise<string>;
7
+ }>, MarkedProvider: (props: import("solid-js").ParentProps<{
8
+ nativeParser?: NativeMarkdownParser;
9
+ }>) => import("solid-js").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { WorkerPoolManager } from "@pierre/diffs/worker";
2
+ export type WorkerPools = {
3
+ unified: WorkerPoolManager | undefined;
4
+ split: WorkerPoolManager | undefined;
5
+ };
6
+ export declare const WorkerPoolProvider: (props: import("solid-js").ParentProps<{
7
+ pools: WorkerPools;
8
+ }>) => import("solid-js").JSX.Element;
9
+ export declare function useWorkerPool(diffStyle: "unified" | "split" | undefined): WorkerPoolManager | undefined;
@@ -0,0 +1,17 @@
1
+ export interface AutoScrollOptions {
2
+ working: () => boolean;
3
+ onUserInteracted?: () => void;
4
+ overflowAnchor?: "none" | "auto" | "dynamic";
5
+ bottomThreshold?: number;
6
+ }
7
+ export declare function createAutoScroll(options: AutoScrollOptions): {
8
+ scrollRef: (el: HTMLElement | undefined) => void;
9
+ contentRef: (el: HTMLElement | undefined) => void;
10
+ handleScroll: () => void;
11
+ handleInteraction: () => void;
12
+ pause: () => void;
13
+ resume: () => void;
14
+ scrollToBottom: () => void;
15
+ forceScrollToBottom: () => void;
16
+ userScrolled: () => boolean;
17
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./use-filtered-list";
2
+ export * from "./create-auto-scroll";
@@ -0,0 +1,39 @@
1
+ export interface FilteredListProps<T> {
2
+ items: T[] | ((filter: string) => T[] | Promise<T[]>);
3
+ key: (item: T) => string;
4
+ filterKeys?: string[];
5
+ current?: T;
6
+ groupBy?: (x: T) => string;
7
+ sortBy?: (a: T, b: T) => number;
8
+ sortGroupsBy?: (a: {
9
+ category: string;
10
+ items: T[];
11
+ }, b: {
12
+ category: string;
13
+ items: T[];
14
+ }) => number;
15
+ skipFilter?: (item: T) => boolean;
16
+ onSelect?: (value: T | undefined, index: number) => void;
17
+ noInitialSelection?: boolean;
18
+ }
19
+ export declare function useFilteredList<T>(props: FilteredListProps<T>): {
20
+ grouped: import("solid-js").InitializedResource<{
21
+ category: string;
22
+ items: [T, ...T[]];
23
+ }[]>;
24
+ filter: () => string;
25
+ flat: import("solid-js").Accessor<T[]>;
26
+ reset: () => void;
27
+ refetch: (info?: unknown) => {
28
+ category: string;
29
+ items: [T, ...T[]];
30
+ }[] | Promise<{
31
+ category: string;
32
+ items: [T, ...T[]];
33
+ }[]> | null | undefined;
34
+ clear: () => void;
35
+ onKeyDown: (event: KeyboardEvent) => void;
36
+ onInput: (value: string) => void;
37
+ active: import("solid-js").Accessor<string | null>;
38
+ setActive: import("solid-js").Setter<string | null>;
39
+ };
@@ -0,0 +1,148 @@
1
+ export declare const dict: {
2
+ "ui.sessionReview.title": string;
3
+ "ui.sessionReview.title.lastTurn": string;
4
+ "ui.sessionReview.diffStyle.unified": string;
5
+ "ui.sessionReview.diffStyle.split": string;
6
+ "ui.sessionReview.openFile": string;
7
+ "ui.sessionReview.selection.line": string;
8
+ "ui.sessionReview.selection.lines": string;
9
+ "ui.sessionReview.expandAll": string;
10
+ "ui.sessionReview.collapseAll": string;
11
+ "ui.sessionReview.change.added": string;
12
+ "ui.sessionReview.change.removed": string;
13
+ "ui.sessionReview.change.modified": string;
14
+ "ui.sessionReview.image.loading": string;
15
+ "ui.sessionReview.image.placeholder": string;
16
+ "ui.sessionReview.largeDiff.title": string;
17
+ "ui.sessionReview.largeDiff.meta": string;
18
+ "ui.sessionReview.largeDiff.renderAnyway": string;
19
+ "ui.fileMedia.kind.image": string;
20
+ "ui.fileMedia.kind.audio": string;
21
+ "ui.fileMedia.state.removed": string;
22
+ "ui.fileMedia.state.loading": string;
23
+ "ui.fileMedia.state.error": string;
24
+ "ui.fileMedia.state.unavailable": string;
25
+ "ui.fileMedia.binary.title": string;
26
+ "ui.fileMedia.binary.description.path": string;
27
+ "ui.fileMedia.binary.description.default": string;
28
+ "ui.lineComment.label.prefix": string;
29
+ "ui.lineComment.label.suffix": string;
30
+ "ui.lineComment.editorLabel.prefix": string;
31
+ "ui.lineComment.editorLabel.suffix": string;
32
+ "ui.lineComment.placeholder": string;
33
+ "ui.lineComment.submit": string;
34
+ "ui.sessionTurn.steps.show": string;
35
+ "ui.sessionTurn.steps.hide": string;
36
+ "ui.sessionTurn.summary.response": string;
37
+ "ui.sessionTurn.diff.showMore": string;
38
+ "ui.sessionTurn.retry.retrying": string;
39
+ "ui.sessionTurn.retry.inSeconds": string;
40
+ "ui.sessionTurn.retry.attempt": string;
41
+ "ui.sessionTurn.retry.attemptLine": string;
42
+ "ui.sessionTurn.retry.geminiHot": string;
43
+ "ui.sessionTurn.error.freeUsageExceeded": string;
44
+ "ui.sessionTurn.error.addCredits": string;
45
+ "dialog.usageExceeded.freeTier.title": string;
46
+ "dialog.usageExceeded.freeTier.description": string;
47
+ "dialog.usageExceeded.freeTier.actionLabel": string;
48
+ "dialog.usageExceeded.accountRateLimit.title": string;
49
+ "dialog.usageExceeded.accountRateLimit.description": string;
50
+ "dialog.usageExceeded.accountRateLimit.actionLabel": string;
51
+ "ui.sessionTurn.status.delegating": string;
52
+ "ui.sessionTurn.status.planning": string;
53
+ "ui.sessionTurn.status.gatheringContext": string;
54
+ "ui.sessionTurn.status.gatheredContext": string;
55
+ "ui.sessionTurn.status.searchingCodebase": string;
56
+ "ui.sessionTurn.status.searchingWeb": string;
57
+ "ui.sessionTurn.status.makingEdits": string;
58
+ "ui.sessionTurn.status.runningCommands": string;
59
+ "ui.sessionTurn.status.thinking": string;
60
+ "ui.sessionTurn.status.thinkingWithTopic": string;
61
+ "ui.sessionTurn.status.gatheringThoughts": string;
62
+ "ui.sessionTurn.status.consideringNextSteps": string;
63
+ "ui.messagePart.questions.dismissed": string;
64
+ "ui.messagePart.compaction": string;
65
+ "ui.messagePart.context.read.one": string;
66
+ "ui.messagePart.context.read.other": string;
67
+ "ui.messagePart.context.search.one": string;
68
+ "ui.messagePart.context.search.other": string;
69
+ "ui.messagePart.context.list.one": string;
70
+ "ui.messagePart.context.list.other": string;
71
+ "ui.messagePart.diagnostic.error": string;
72
+ "ui.messagePart.title.edit": string;
73
+ "ui.messagePart.title.write": string;
74
+ "ui.messagePart.option.typeOwnAnswer": string;
75
+ "ui.messagePart.review.title": string;
76
+ "ui.list.loading": string;
77
+ "ui.list.empty": string;
78
+ "ui.list.clearFilter": string;
79
+ "ui.list.emptyWithFilter.prefix": string;
80
+ "ui.list.emptyWithFilter.suffix": string;
81
+ "ui.messageNav.newMessage": string;
82
+ "ui.textField.copyToClipboard": string;
83
+ "ui.textField.copyLink": string;
84
+ "ui.textField.copied": string;
85
+ "ui.imagePreview.alt": string;
86
+ "ui.scrollView.ariaLabel": string;
87
+ "ui.tool.read": string;
88
+ "ui.tool.loaded": string;
89
+ "ui.tool.list": string;
90
+ "ui.tool.glob": string;
91
+ "ui.tool.grep": string;
92
+ "ui.tool.webfetch": string;
93
+ "ui.tool.websearch": string;
94
+ "ui.tool.shell": string;
95
+ "ui.tool.patch": string;
96
+ "ui.tool.todos": string;
97
+ "ui.tool.todos.read": string;
98
+ "ui.tool.questions": string;
99
+ "ui.tool.agent": string;
100
+ "ui.tool.agent.default": string;
101
+ "ui.common.file.one": string;
102
+ "ui.common.file.other": string;
103
+ "ui.common.question.one": string;
104
+ "ui.common.question.other": string;
105
+ "ui.common.add": string;
106
+ "ui.common.back": string;
107
+ "ui.common.cancel": string;
108
+ "ui.common.confirm": string;
109
+ "ui.common.dismiss": string;
110
+ "ui.common.close": string;
111
+ "ui.common.next": string;
112
+ "ui.common.submit": string;
113
+ "ui.permission.deny": string;
114
+ "ui.permission.allowAlways": string;
115
+ "ui.permission.allowOnce": string;
116
+ "ui.message.expand": string;
117
+ "ui.message.collapse": string;
118
+ "ui.message.copy": string;
119
+ "ui.message.copyMessage": string;
120
+ "ui.message.forkMessage": string;
121
+ "ui.message.revertMessage": string;
122
+ "ui.message.copyResponse": string;
123
+ "ui.message.copied": string;
124
+ "ui.message.interrupted": string;
125
+ "ui.message.queued": string;
126
+ "ui.message.attachment.alt": string;
127
+ "ui.patch.action.deleted": string;
128
+ "ui.patch.action.created": string;
129
+ "ui.patch.action.moved": string;
130
+ "ui.patch.action.patched": string;
131
+ "ui.question.subtitle.answered": string;
132
+ "ui.question.answer.none": string;
133
+ "ui.question.review.notAnswered": string;
134
+ "ui.question.multiHint": string;
135
+ "ui.question.singleHint": string;
136
+ "ui.question.custom.placeholder": string;
137
+ "ui.fileSearch.placeholder": string;
138
+ "ui.fileSearch.previousMatch": string;
139
+ "ui.fileSearch.nextMatch": string;
140
+ "ui.fileSearch.close": string;
141
+ "ui.tool.task": string;
142
+ "ui.tool.skill": string;
143
+ "ui.basicTool.called": string;
144
+ "ui.toolErrorCard.failed": string;
145
+ "ui.toolErrorCard.copyError": string;
146
+ "ui.message.duration.seconds": string;
147
+ "ui.message.duration.minutesSeconds": string;
148
+ };