@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/src/i18n/el.ts ADDED
@@ -0,0 +1,195 @@
1
+ export const dict: Record<string, string> = {
2
+ "ui.sessionReview.title": "Αλλαγές συνεδρίας",
3
+ "ui.sessionReview.title.git": "Git αλλαγές",
4
+ "ui.sessionReview.title.branch": "Αλλαγές κλάδου",
5
+ "ui.sessionReview.title.lastTurn": "Αλλαγές τελευταίας στροφής",
6
+ "ui.sessionReview.diffStyle.unified": "Ενοποιημένο",
7
+ "ui.sessionReview.diffStyle.split": "Διαίρεση",
8
+ "ui.sessionReview.expandAll": "Ανάπτυξη όλων",
9
+ "ui.sessionReview.collapseAll": "Σύμπτυξη όλων",
10
+ "ui.sessionReview.change.added": "Προστέθηκε",
11
+ "ui.sessionReview.change.removed": "Καταργήθηκε",
12
+ "ui.sessionReview.change.modified": "Τροποποιήθηκε",
13
+ "ui.sessionReview.image.loading": "Φόρτωση…",
14
+ "ui.sessionReview.image.placeholder": "Εικόνα",
15
+ "ui.sessionReview.largeDiff.title": "Η διαφορά είναι πολύ μεγάλη για απόδοση",
16
+ "ui.sessionReview.largeDiff.meta": "Όριο: {{limit}} αλλαγμένες γραμμές. Τρέχουσα: {{current}} αλλαγμένες γραμμές.",
17
+ "ui.sessionReview.largeDiff.renderAnyway": "Απόδοση ούτως ή άλλως",
18
+ "ui.sessionReviewV2.expandMode": "Ανάπτυξη ή σύμπτυξη διαφοράς",
19
+ "ui.sessionReviewV2.filterFiles": "Αρχεία φίλτρου",
20
+ "ui.sessionReviewV2.toggleSidebar": "Εναλλαγή δέντρου αρχείου",
21
+ "ui.sessionReviewV2.showAllLines": "Εμφάνιση όλων των γραμμών",
22
+ "ui.sessionReviewV2.hideNonDiffLines": "Απόκρυψη γραμμών χωρίς διαφορές",
23
+ "ui.sessionReviewV2.unifiedDiff": "Ενοποιημένη διαφορά",
24
+ "ui.sessionReviewV2.splitDiff": "Διαίρεση διαφορών",
25
+ "ui.sessionReviewV2.previousFile": "Προηγούμενο αρχείο",
26
+ "ui.sessionReviewV2.nextFile": "Επόμενο αρχείο",
27
+ "ui.sessionReviewV2.diffView": "Διαφορική προβολή",
28
+ "ui.sessionReviewV2.empty.noGit.title": "Δεν παρακολουθούνται αλλαγές",
29
+ "ui.sessionReviewV2.empty.noGit.description": "Παρακολούθηση, έλεγχος και αναίρεση αλλαγών σε αυτό το έργο",
30
+ "ui.sessionReviewV2.empty.noGit.action": "Δημιουργία αποθετηρίου Git",
31
+ "ui.sessionReviewV2.empty.noGit.actionLoading": "Δημιουργία αποθετηρίου Git…",
32
+ "ui.sessionReviewV2.empty.changes.title": "Καμία αλλαγή αρχείου ακόμα",
33
+ "ui.sessionReviewV2.empty.changes.description": "Οι αλλαγές του έργου θα εμφανιστούν εδώ",
34
+ "ui.sessionReview.openFile": "Άνοιγμα αρχείου",
35
+ "ui.sessionReview.selection.line": "γραμμή {{line}}",
36
+ "ui.sessionReview.selection.lines": "γραμμές {{start}}-{{end}}",
37
+ "ui.fileMedia.kind.image": "εικόνα",
38
+ "ui.fileMedia.kind.audio": "ήχος",
39
+ "ui.fileMedia.state.removed": "Καταργήθηκε {{kind}} αρχείο.",
40
+ "ui.fileMedia.state.loading": "Φόρτωση {{kind}}…",
41
+ "ui.fileMedia.state.error": "Δεν είναι δυνατή η φόρτωση του {{kind}}.",
42
+ "ui.fileMedia.state.unavailable": "{{kind}} μη διαθέσιμη προεπισκόπηση.",
43
+ "ui.fileMedia.binary.title": "Δυαδικό αρχείο",
44
+ "ui.fileMedia.binary.description.path": "{{path}} είναι δυαδικό.",
45
+ "ui.fileMedia.binary.description.default": "Δυαδικό περιεχόμενο",
46
+ "ui.lineComment.label.prefix": "Σχόλιο ",
47
+ "ui.lineComment.label.suffix": "",
48
+ "ui.lineComment.editorLabel.prefix": "Σχολιασμός ",
49
+ "ui.lineComment.editorLabel.suffix": "",
50
+ "ui.lineComment.placeholder": "Προσθήκη σχολίου",
51
+ "ui.lineComment.contextPlaceholder": "Προσθήκη περιβάλλοντος για αυτήν την αλλαγή",
52
+ "ui.lineComment.submit": "Σχόλιο",
53
+ "ui.lineComment.cancel": "Ακύρωση",
54
+ "ui.sessionTurn.steps.show": "Εμφάνιση βημάτων",
55
+ "ui.sessionTurn.steps.hide": "Απόκρυψη βημάτων",
56
+ "ui.sessionTurn.summary.response": "Απάντηση",
57
+ "ui.sessionTurn.diff.showMore": "Εμφάνιση περισσότερων αλλαγών ({{count}})",
58
+ "ui.sessionTurn.diffs.changed.one": "{{count}} Αλλαγμένο αρχείο",
59
+ "ui.sessionTurn.diffs.changed.other": "{{count}} Αλλαγμένα αρχεία",
60
+ "ui.sessionTurn.diffs.showAll": "Εμφάνιση όλων",
61
+ "ui.sessionTurn.diffs.showLess": "Εμφάνιση λιγότερων",
62
+ "ui.sessionTurn.diffs.more": "+{{count}} ακόμη αρχεία",
63
+ "ui.sessionTurn.retry.retrying": "επαναπροσπαθώ",
64
+ "ui.sessionTurn.retry.inSeconds": "σε {{seconds}}s",
65
+ "ui.sessionTurn.retry.attempt": "προσπάθεια #{{attempt}}",
66
+ "ui.sessionTurn.retry.attemptLine": "{{line}} - προσπάθεια #{{attempt}}",
67
+ "ui.sessionTurn.retry.geminiHot": "Το Gemini είναι υπερφορτωμένο αυτήν τη στιγμή",
68
+ "ui.sessionTurn.error.freeUsageExceeded": "Υπέρβαση της δωρεάν χρήσης",
69
+ "ui.sessionTurn.error.addCredits": "Προσθήκη πιστώσεων",
70
+ "dialog.usageExceeded.freeTier.title": "Συμπληρώθηκε το δωρεάν όριο",
71
+ "dialog.usageExceeded.freeTier.description":
72
+ "Εγγραφείτε στο OpenCode Μετάβαση για αξιόπιστη πρόσβαση στα καλύτερα μοντέλα ανοιχτού κώδικα, ξεκινώντας από 5 $/μήνα.",
73
+ "dialog.usageExceeded.freeTier.actionLabel": "Εγγραφή",
74
+ "dialog.usageExceeded.accountRateLimit.title": "Συμπληρώθηκε το όριο μετάβασης",
75
+ "dialog.usageExceeded.accountRateLimit.description":
76
+ "Συμπληρώθηκε το όριο χρήσης. Για να συνεχίσετε να χρησιμοποιείτε αυτό το μοντέλο τώρα, ενεργοποιήστε τη χρήση από το διαθέσιμο υπόλοιπό σας",
77
+ "dialog.usageExceeded.accountRateLimit.actionLabel": "Άνοιγμα ρυθμίσεων",
78
+ "ui.sessionTurn.status.delegating": "Ανάθεση εργασίας",
79
+ "ui.sessionTurn.status.planning": "Σχεδιασμός επόμενων βημάτων",
80
+ "ui.sessionTurn.status.gatheringContext": "Εξερεύνηση",
81
+ "ui.sessionTurn.status.gatheredContext": "Εξερευνήθηκε",
82
+ "ui.sessionTurn.status.searchingCodebase": "Αναζήτηση της βάσης κωδικών",
83
+ "ui.sessionTurn.status.searchingWeb": "Αναζήτηση στον Ιστό",
84
+ "ui.sessionTurn.status.makingEdits": "Πραγματοποίηση επεξεργασιών",
85
+ "ui.sessionTurn.status.runningCommands": "Εκτελούνται εντολές",
86
+ "ui.sessionTurn.status.thinking": "Σκέφτομαι",
87
+ "ui.sessionTurn.status.thinkingWithTopic": "Σκέψη - {{topic}}",
88
+ "ui.sessionTurn.status.gatheringThoughts": "Συγκέντρωση σκέψεων",
89
+ "ui.sessionTurn.status.consideringNextSteps": "Σκεφτόμαστε τα επόμενα βήματα",
90
+ "ui.messagePart.diagnostic.error": "Σφάλμα",
91
+ "ui.messagePart.title.edit": "Επεξεργασία",
92
+ "ui.messagePart.title.write": "Εγγραφή",
93
+ "ui.messagePart.option.typeOwnAnswer": "Πληκτρολογήστε τη δική σας απάντηση",
94
+ "ui.messagePart.review.title": "Ελέγξτε τις απαντήσεις σας",
95
+ "ui.messagePart.questions.dismissed": "Οι ερωτήσεις απορρίφθηκαν",
96
+ "ui.messagePart.compaction": "Σύνοψη συνεδρίας",
97
+ "ui.messagePart.context.read.one": "{{count}} ανάγνωση",
98
+ "ui.messagePart.context.read.other": "{{count}} διαβάζει",
99
+ "ui.messagePart.context.search.one": "{{count}} αναζήτηση",
100
+ "ui.messagePart.context.search.other": "{{count}} αναζητήσεις",
101
+ "ui.messagePart.context.list.one": "{{count}} λίστα",
102
+ "ui.messagePart.context.list.other": "{{count}} λίστες",
103
+ "ui.list.loading": "Φόρτωση",
104
+ "ui.list.empty": "Δεν υπάρχουν αποτελέσματα",
105
+ "ui.list.clearFilter": "Διαγραφή φίλτρου",
106
+ "ui.list.emptyWithFilter.prefix": "Δεν υπάρχουν αποτελέσματα για",
107
+ "ui.list.emptyWithFilter.suffix": "",
108
+ "ui.fileSearch.placeholder": "Εύρεση",
109
+ "ui.fileSearch.previousMatch": "Προηγούμενη αντιστοίχιση",
110
+ "ui.fileSearch.nextMatch": "Επόμενος αγώνας",
111
+ "ui.fileSearch.close": "Κλείσιμο αναζήτησης",
112
+ "ui.messageNav.newMessage": "Νέο μήνυμα",
113
+ "ui.promptInput.noMatchingItems": "Δεν ταιριάζουν στοιχεία",
114
+ "ui.promptInput.commands": "Εντολές",
115
+ "ui.promptInput.dropFiles": "Αποθέστε αρχεία για επισύναψη",
116
+ "ui.promptInput.removeAttachment": "Κατάργηση συνημμένου",
117
+ "ui.promptInput.label": "Προτροπή",
118
+ "ui.promptInput.placeholder.shell": "Εισαγωγή εντολής κελύφους…",
119
+ "ui.promptInput.placeholder.normal": "Ρωτήστε οτιδήποτε, {{slash}} για εντολές, {{at}} για περιβάλλον…",
120
+ "ui.promptInput.add": "Προσθήκη εικόνων και αρχείων",
121
+ "ui.promptInput.attachments": "Εικόνες και αρχεία",
122
+ "ui.promptInput.context": "Πλαίσιο",
123
+ "ui.promptInput.shell": "εντολή Shell",
124
+ "ui.promptInput.chooseAgent": "Επιλογή πράκτορα",
125
+ "ui.promptInput.chooseModel": "Επιλογή μοντέλου",
126
+ "ui.promptInput.chooseVariant": "Επιλογή παραλλαγής μοντέλου",
127
+ "ui.promptInput.send": "Αποστολή",
128
+ "ui.promptInput.stop": "Διακοπή",
129
+ "ui.tabs.close": "Κλείσιμο καρτέλας",
130
+ "ui.textField.copyToClipboard": "Αντιγραφή στο πρόχειρο",
131
+ "ui.textField.copyLink": "Αντιγραφή συνδέσμου",
132
+ "ui.textField.copied": "Αντιγράφηκε",
133
+ "ui.imagePreview.alt": "Προεπισκόπηση εικόνας",
134
+ "ui.scrollView.ariaLabel": "περιεχόμενο με δυνατότητα κύλισης",
135
+ "ui.tool.read": "Διαβάστε",
136
+ "ui.tool.loaded": "Φορτώθηκε",
137
+ "ui.tool.list": "Λίστα",
138
+ "ui.tool.glob": "Glob",
139
+ "ui.tool.grep": "Grep",
140
+ "ui.tool.task": "Εργασία",
141
+ "ui.tool.webfetch": "Webfetch",
142
+ "ui.tool.websearch": "Αναζήτηση Ιστού",
143
+ "ui.tool.websearch.provider": "{{provider}} Αναζήτηση στον Ιστό",
144
+ "ui.tool.shell": "Shell",
145
+ "ui.tool.patch": "Patch",
146
+ "ui.tool.questions": "Ερωτήσεις",
147
+ "ui.tool.questions.numbered": "Ερωτήσεις {{number}}",
148
+ "ui.tool.agent": "Πράκτορας {{type}}",
149
+ "ui.tool.agent.default": "Πράκτορας",
150
+ "ui.tool.skill": "Ικανότητα",
151
+ "ui.basicTool.called": "Καλήθηκε `{{tool}}`",
152
+ "ui.toolErrorCard.failed": "Απέτυχε",
153
+ "ui.toolErrorCard.copyError": "Σφάλμα αντιγραφής",
154
+ "ui.common.file.one": "αρχείο",
155
+ "ui.common.file.other": "αρχεία",
156
+ "ui.common.question.one": "ερώτηση",
157
+ "ui.common.question.other": "ερωτήσεις",
158
+ "ui.common.add": "Προσθήκη",
159
+ "ui.common.clear": "Διαγραφή",
160
+ "ui.common.file": "Αρχείο",
161
+ "ui.common.back": "Πίσω",
162
+ "ui.common.cancel": "Ακύρωση",
163
+ "ui.common.confirm": "Επιβεβαίωση",
164
+ "ui.common.dismiss": "Παράβλεψη",
165
+ "ui.common.close": "Κλείσιμο",
166
+ "ui.common.next": "Επόμενο",
167
+ "ui.common.submit": "Υποβολή",
168
+ "ui.common.showMore": "Εμφάνιση περισσότερων",
169
+ "ui.permission.deny": "Απόρριψη",
170
+ "ui.permission.allowAlways": "Να επιτρέπεται πάντα",
171
+ "ui.permission.allowOnce": "Να επιτρέπεται μία φορά",
172
+ "ui.message.expand": "Ανάπτυξη μηνύματος",
173
+ "ui.message.collapse": "Σύμπτυξη μηνύματος",
174
+ "ui.message.copy": "Αντιγραφή",
175
+ "ui.message.copyMessage": "Αντιγραφή μηνύματος",
176
+ "ui.message.forkMessage": "Διακλάδωση σε νέα συνεδρία",
177
+ "ui.message.revertMessage": "Επαναφορά μηνύματος",
178
+ "ui.message.copyResponse": "Απάντηση αντιγραφής",
179
+ "ui.message.copied": "Αντιγράφηκε",
180
+ "ui.message.duration.seconds": "{{count}}δ",
181
+ "ui.message.duration.minutesSeconds": "{{minutes}}λ {{seconds}}δ",
182
+ "ui.message.interrupted": "Διακοπή",
183
+ "ui.message.queued": "Σε αναμονή",
184
+ "ui.message.attachment.alt": "συνημμένο",
185
+ "ui.patch.action.deleted": "Διαγράφηκε",
186
+ "ui.patch.action.created": "Δημιουργήθηκε",
187
+ "ui.patch.action.moved": "Μετακινήθηκε",
188
+ "ui.patch.action.patched": "Επιδιορθώθηκε",
189
+ "ui.question.subtitle.answered": "{{count}} απάντησε",
190
+ "ui.question.answer.none": "(καμία απάντηση)",
191
+ "ui.question.review.notAnswered": "(δεν απαντήθηκε)",
192
+ "ui.question.multiHint": "Επιλογή όλων των απαντήσεων που ισχύουν",
193
+ "ui.question.singleHint": "Επιλέξτε μία απάντηση",
194
+ "ui.question.custom.placeholder": "Πληκτρολογήστε την απάντησή σας…",
195
+ }
package/src/i18n/en.ts ADDED
@@ -0,0 +1,276 @@
1
+ const source = {
2
+ "ui.sessionReview.title": "Session changes",
3
+ "ui.sessionReview.title.git": "Git changes",
4
+ "ui.sessionReview.title.branch": "Branch changes",
5
+ "ui.sessionReview.title.lastTurn": "Last turn changes",
6
+ "ui.sessionReview.diffStyle.unified": "Unified",
7
+ "ui.sessionReview.diffStyle.split": "Split",
8
+ "ui.sessionReview.expandAll": "Expand all",
9
+ "ui.sessionReview.collapseAll": "Collapse all",
10
+ "ui.sessionReview.change.added": "Added",
11
+ "ui.sessionReview.change.removed": "Removed",
12
+ "ui.sessionReview.change.modified": "Modified",
13
+ "ui.sessionReview.image.loading": "Loading…",
14
+ "ui.sessionReview.image.placeholder": "Image",
15
+ "ui.sessionReview.largeDiff.title": "Diff too large to render",
16
+ "ui.sessionReview.largeDiff.meta": "Limit: {{limit}} changed lines. Current: {{current}} changed lines.",
17
+ "ui.sessionReview.largeDiff.renderAnyway": "Render anyway",
18
+ "ui.sessionReviewV2.expandMode": "Expand or collapse diff",
19
+ "ui.sessionReviewV2.filterFiles": "Filter files",
20
+ "ui.sessionReviewV2.toggleSidebar": "Toggle file tree",
21
+ "ui.sessionReviewV2.showAllLines": "Show all lines",
22
+ "ui.sessionReviewV2.hideNonDiffLines": "Hide non-diff lines",
23
+ "ui.sessionReviewV2.unifiedDiff": "Unified diff",
24
+ "ui.sessionReviewV2.splitDiff": "Split diff",
25
+ "ui.sessionReviewV2.previousFile": "Previous file",
26
+ "ui.sessionReviewV2.nextFile": "Next file",
27
+ "ui.sessionReviewV2.diffView": "Diff view",
28
+ "ui.sessionReviewV2.empty.noGit.title": "No tracked changes",
29
+ "ui.sessionReviewV2.empty.noGit.description": "Track, review, and undo changes in this project",
30
+ "ui.sessionReviewV2.empty.noGit.action": "Create Git repository",
31
+ "ui.sessionReviewV2.empty.noGit.actionLoading": "Creating Git repository…",
32
+ "ui.sessionReviewV2.empty.changes.title": "No file changes yet",
33
+ "ui.sessionReviewV2.empty.changes.description": "Project changes will appear here",
34
+
35
+ "ui.sessionReview.openFile": "Open file",
36
+ "ui.sessionReview.selection.line": "line {{line}}",
37
+ "ui.sessionReview.selection.lines": "lines {{start}}-{{end}}",
38
+
39
+ "ui.fileMedia.kind.image": "image",
40
+ "ui.fileMedia.kind.audio": "audio",
41
+ "ui.fileMedia.state.removed": "Removed {{kind}} file.",
42
+ "ui.fileMedia.state.loading": "Loading {{kind}}…",
43
+ "ui.fileMedia.state.error": "Unable to load {{kind}}.",
44
+ "ui.fileMedia.state.unavailable": "{{kind}} preview unavailable.",
45
+ "ui.fileMedia.binary.title": "Binary file",
46
+ "ui.fileMedia.binary.description.path": "{{path}} is binary.",
47
+ "ui.fileMedia.binary.description.default": "Binary content",
48
+
49
+ "ui.lineComment.label.prefix": "Comment on ",
50
+ "ui.lineComment.label.suffix": "",
51
+ "ui.lineComment.editorLabel.prefix": "Commenting on ",
52
+ "ui.lineComment.editorLabel.suffix": "",
53
+ "ui.lineComment.placeholder": "Add comment",
54
+ "ui.lineComment.contextPlaceholder": "Add context for this change",
55
+ "ui.lineComment.submit": "Comment",
56
+ "ui.lineComment.cancel": "Cancel",
57
+
58
+ "ui.sessionTurn.steps.show": "Show steps",
59
+ "ui.sessionTurn.steps.hide": "Hide steps",
60
+ "ui.sessionTurn.summary.response": "Response",
61
+ "ui.sessionTurn.diff.showMore": "Show more changes ({{count}})",
62
+ "ui.sessionTurn.diffs.changed.one": "{{count}} Changed file",
63
+ "ui.sessionTurn.diffs.changed.other": "{{count}} Changed files",
64
+ "ui.sessionTurn.diffs.showAll": "Show all",
65
+ "ui.sessionTurn.diffs.showLess": "Show less",
66
+ "ui.sessionTurn.diffs.more": "+{{count}} more files",
67
+
68
+ "ui.sessionTurn.retry.retrying": "retrying",
69
+ "ui.sessionTurn.retry.inSeconds": "in {{seconds}}s",
70
+ "ui.sessionTurn.retry.attempt": "attempt #{{attempt}}",
71
+ "ui.sessionTurn.retry.attemptLine": "{{line}} - attempt #{{attempt}}",
72
+ "ui.sessionTurn.retry.attemptLabel": "Attempt {{attempt}}",
73
+ "ui.sessionTurn.retry.attemptRetrying": "Attempt {{attempt}} - {{line}}",
74
+ "ui.sessionTurn.retry.geminiHot": "gemini is way too hot right now",
75
+ "ui.sessionTurn.error.freeUsageExceeded": "Free usage exceeded",
76
+ "ui.sessionTurn.error.addCredits": "Add credits",
77
+
78
+ "dialog.usageExceeded.freeTier.title": "Free limit reached",
79
+ "dialog.usageExceeded.freeTier.description":
80
+ "Subscribe to OpenCode Go for reliable access to the best open-source models, starting at $5/month.",
81
+ "dialog.usageExceeded.freeTier.actionLabel": "Subscribe",
82
+ "dialog.usageExceeded.accountRateLimit.title": "Go limit reached",
83
+ "dialog.usageExceeded.accountRateLimit.description":
84
+ "Usage limit reached. To continue using this model now, enable usage from your available balance",
85
+ "dialog.usageExceeded.accountRateLimit.actionLabel": "Open settings",
86
+
87
+ "ui.sessionTurn.status.delegating": "Delegating work",
88
+ "ui.sessionTurn.status.planning": "Planning next steps",
89
+ "ui.sessionTurn.status.gatheringContext": "Exploring",
90
+ "ui.sessionTurn.status.gatheredContext": "Explored",
91
+ "ui.sessionTurn.status.searchingCodebase": "Searching the codebase",
92
+ "ui.sessionTurn.status.searchingWeb": "Searching the web",
93
+ "ui.sessionTurn.status.makingEdits": "Making edits",
94
+ "ui.sessionTurn.status.runningCommands": "Running commands",
95
+ "ui.sessionTurn.status.thinking": "Thinking",
96
+ "ui.sessionTurn.status.thinkingWithTopic": "Thinking - {{topic}}",
97
+ "ui.sessionTurn.status.gatheringThoughts": "Gathering thoughts",
98
+ "ui.sessionTurn.status.consideringNextSteps": "Considering next steps",
99
+
100
+ "ui.messagePart.diagnostic.error": "Error",
101
+ "ui.messagePart.title.edit": "Edit",
102
+ "ui.messagePart.title.write": "Write",
103
+ "ui.messagePart.option.typeOwnAnswer": "Type your own answer",
104
+ "ui.messagePart.review.title": "Review your answers",
105
+ "ui.messagePart.questions.dismissed": "Questions dismissed",
106
+ "ui.messagePart.compaction": "Session compacted",
107
+ "ui.messagePart.compaction.started": "Session compaction started",
108
+ "ui.messagePart.compaction.running": "Compacting",
109
+ "ui.messagePart.compaction.failed": "Session compaction failed",
110
+ "ui.messagePart.compaction.cancelled": "Session compaction cancelled",
111
+ "ui.messagePart.compaction.interrupted": "Session compaction interrupted",
112
+ "ui.messagePart.providerCompaction": "Session compacted by provider",
113
+ "ui.messagePart.compaction.usage": "{{input}} in · {{output}} out",
114
+ "ui.messagePart.context.details": "Details",
115
+ "ui.messagePart.context.read.one": "{{count}} read",
116
+ "ui.messagePart.context.read.other": "{{count}} reads",
117
+ "ui.messagePart.context.search.one": "{{count}} search",
118
+ "ui.messagePart.context.search.other": "{{count}} searches",
119
+ "ui.messagePart.context.list.one": "{{count}} list",
120
+ "ui.messagePart.context.list.other": "{{count}} lists",
121
+ "ui.messagePart.context.notice.one": "{{count}} Notice",
122
+ "ui.messagePart.context.notice.other": "{{count}} Notices",
123
+ "ui.messagePart.context.thought.one": "Thought",
124
+ "ui.messagePart.context.thought.other": "Thoughts",
125
+ "ui.messagePart.context.match.one": "({{count}} match)",
126
+ "ui.messagePart.context.match.other": "({{count}} matches)",
127
+ "ui.messagePart.tools.used.one": "Used {{count}} {{tools}}",
128
+ "ui.messagePart.tools.used.other": "Used {{count}} {{tools}}",
129
+
130
+ "ui.list.loading": "Loading",
131
+ "ui.list.empty": "No results",
132
+ "ui.list.clearFilter": "Clear filter",
133
+ "ui.list.emptyWithFilter.prefix": "No results for",
134
+ "ui.list.emptyWithFilter.suffix": "",
135
+
136
+ "ui.fileSearch.placeholder": "Find",
137
+ "ui.fileSearch.previousMatch": "Previous match",
138
+ "ui.fileSearch.nextMatch": "Next match",
139
+ "ui.fileSearch.close": "Close search",
140
+
141
+ "ui.messageNav.newMessage": "New message",
142
+
143
+ "ui.promptInput.noMatchingItems": "No matching items",
144
+ "ui.promptInput.commands": "Commands",
145
+ "ui.promptInput.dropFiles": "Drop files to add",
146
+ "ui.promptInput.dropFiles.image": "Drop images or files to add",
147
+ "ui.promptInput.dropFiles.pdf": "Drop PDFs or files to add",
148
+ "ui.promptInput.dropFiles.imagePdf": "Drop images, PDFs, or files to add",
149
+ "ui.promptInput.removeAttachment": "Remove attachment",
150
+ "ui.promptInput.label": "Prompt",
151
+ "ui.promptInput.placeholder.shell": "Enter shell command…",
152
+ "ui.promptInput.placeholder.normal": "Ask anything, {{slash}} for commands, {{at}} for context…",
153
+ "ui.promptInput.placeholder.followUp": "Add follow-up, {{slash}} for commands, {{at}} for context…",
154
+ "ui.promptInput.add": "Add images and files",
155
+ "ui.promptInput.attachments": "Images and files",
156
+ "ui.promptInput.context": "Context",
157
+ "ui.promptInput.shell": "Shell command",
158
+ "ui.promptInput.chooseAgent": "Choose agent",
159
+ "ui.promptInput.chooseModel": "Choose model",
160
+ "ui.promptInput.chooseVariant": "Choose model variant",
161
+ "ui.promptInput.send": "Send",
162
+ "ui.promptInput.stop": "Stop",
163
+ "ui.promptInput.exitShell": "Exit",
164
+ "ui.promptInput.steer": "Steer",
165
+ "ui.promptInput.queue": "Queue",
166
+ "ui.promptInput.steerHint": "Send without interrupting",
167
+
168
+ "ui.tabs.close": "Close tab",
169
+
170
+ "ui.textField.copyToClipboard": "Copy to clipboard",
171
+ "ui.textField.copyLink": "Copy link",
172
+ "ui.textField.copied": "Copied",
173
+
174
+ "ui.imagePreview.alt": "Image preview",
175
+ "ui.scrollView.ariaLabel": "scrollable content",
176
+
177
+ "ui.tool.read": "Read",
178
+ "ui.tool.loaded": "Loaded",
179
+ "ui.tool.loadedFile": "Loaded {{path}}",
180
+ "ui.tool.loadedSkill": "Loaded {{name}} skill",
181
+ "ui.tool.loadedSkills.one": "Loaded {{name}} skill",
182
+ "ui.tool.loadedSkills.other": "Loaded {{name}} skills",
183
+ "ui.tool.list": "List",
184
+ "ui.tool.glob": "Glob",
185
+ "ui.tool.grep": "Grep",
186
+ "ui.tool.task": "Task",
187
+ "ui.tool.browser": "Browser",
188
+ "ui.tool.webfetch": "Webfetch",
189
+ "ui.tool.websearch": "Web Search",
190
+ "ui.tool.websearch.provider": "{{provider}} Web Search",
191
+ "ui.tool.shell": "Shell",
192
+ "ui.tool.shell.writingCommand": "Writing command…",
193
+ "ui.tool.shell.exit": "Command exited with code {{code}}",
194
+ "ui.tool.shell.timeout": "Command timed out",
195
+ "ui.tool.shell.cancelled": "Command cancelled",
196
+ "ui.tool.execute": "Execute",
197
+ "ui.tool.patch": "Patch",
198
+ "ui.tool.questions": "Questions",
199
+ "ui.tool.questions.numbered": "Questions {{number}}",
200
+ "ui.tool.agent": "{{type}} Agent",
201
+ "ui.tool.agent.default": "Agent",
202
+ "ui.tool.agent.delegating": "Delegating agent…",
203
+ "ui.tool.skill": "Skill",
204
+
205
+ "ui.basicTool.called": "Called `{{tool}}`",
206
+ "ui.toolErrorCard.failed": "Failed",
207
+ "ui.toolErrorCard.copyError": "Copy error",
208
+
209
+ "ui.common.file.one": "file",
210
+ "ui.common.file.other": "files",
211
+ "ui.common.question.one": "question",
212
+ "ui.common.question.other": "questions",
213
+
214
+ "ui.common.add": "Add",
215
+ "ui.common.clear": "Clear",
216
+ "ui.common.file": "File",
217
+ "ui.common.back": "Back",
218
+ "ui.common.cancel": "Cancel",
219
+ "ui.common.confirm": "Confirm",
220
+ "ui.common.dismiss": "Dismiss",
221
+ "ui.common.close": "Close",
222
+ "ui.common.next": "Next",
223
+ "ui.common.submit": "Submit",
224
+ "ui.common.showMore": "Show more",
225
+ "ui.common.moreCount.one": "+{{count}} more",
226
+ "ui.common.moreCount.other": "+{{count}} more",
227
+
228
+ "ui.permission.deny": "Deny",
229
+ "ui.permission.allowAlways": "Allow always",
230
+ "ui.permission.allowOnce": "Allow once",
231
+
232
+ "ui.message.expand": "Expand message",
233
+ "ui.message.collapse": "Collapse message",
234
+ "ui.message.copy": "Copy",
235
+ "ui.message.copyMessage": "Copy message",
236
+ "ui.message.forkMessage": "Fork to new session",
237
+ "ui.message.revertMessage": "Revert message",
238
+ "ui.message.copyResponse": "Copy response",
239
+ "ui.message.copied": "Copied",
240
+ "ui.message.thought": "Thought",
241
+ "ui.message.duration.seconds": "{{count}}s",
242
+ "ui.message.duration.minutesSeconds": "{{minutes}}m {{seconds}}s",
243
+ "ui.message.interrupted": "Interrupted",
244
+ "ui.sessionTimeline.notice.model": "Model",
245
+ "ui.sessionTimeline.notice.modelSwitched": "Switched to {{model}}",
246
+ "ui.sessionTimeline.notice.agentChanged": "Agent changed",
247
+ "ui.sessionTimeline.notice.movedTo": "Moved to",
248
+ "ui.sessionTimeline.notice.movedTooltip": "Session working directory changed",
249
+ "ui.sessionTimeline.notice.failed": "{{actor}} failed",
250
+ "ui.sessionTimeline.notice.cancelled": "{{actor}} cancelled",
251
+ "ui.sessionTimeline.notice.finished": "{{actor}} finished",
252
+ "ui.sessionTimeline.notice.instructionsUpdated": "Instructions updated",
253
+ "ui.message.queued": "Queued",
254
+ "ui.message.attachment.alt": "attachment",
255
+
256
+ "ui.patch.action.deleted": "Deleted",
257
+ "ui.patch.action.created": "Created",
258
+ "ui.patch.action.moved": "Moved",
259
+ "ui.patch.action.patched": "Patched",
260
+
261
+ "ui.question.subtitle.answered": "{{count}} answered",
262
+ "ui.question.answer.none": "(no answer)",
263
+ "ui.question.review.notAnswered": "(not answered)",
264
+ "ui.question.multiHint": "Select all answers that apply",
265
+ "ui.question.singleHint": "Select one answer",
266
+ "ui.question.custom.placeholder": "Type your answer…",
267
+ } satisfies Record<string, string>
268
+
269
+ export type Key = keyof typeof source
270
+ export type PluralCategory = "zero" | "one" | "two" | "few" | "many" | "other"
271
+ export type PluralKey = {
272
+ [Entry in Key]: Entry extends `${infer Base}.other` ? (`${Base}.one` extends Key ? Base : never) : never
273
+ }[Key]
274
+ export type PluralLookupKey = `${PluralKey}.${PluralCategory}`
275
+ export type LocaleKey = Key | PluralLookupKey
276
+ export const dict: typeof source & Record<string, string> = source