@opencode-ai/ui 0.0.0-dev-202609050337 → 0.0.0-dev-19145

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 (297) hide show
  1. package/dist/actions/button/button.d.ts +10 -0
  2. package/dist/actions/icon-button/icon-button.d.ts +11 -0
  3. package/dist/actions/split-button/split-button.d.ts +5 -0
  4. package/dist/components/card.d.ts +1 -1
  5. package/dist/components/list.d.ts +1 -1
  6. package/dist/components/scroll-view.d.ts +3 -3
  7. package/dist/context/i18n.d.ts +10 -7
  8. package/dist/context/marked-base.d.ts +3 -0
  9. package/dist/context/marked-parser.d.ts +1 -2
  10. package/dist/{components → data-display/accordion}/accordion.d.ts +6 -6
  11. package/dist/{v2/components/avatar-v2.d.ts → data-display/avatar/avatar.d.ts} +1 -1
  12. package/dist/data-display/badge/badge.d.ts +7 -0
  13. package/dist/{components → data-display/diff-changes}/diff-changes.d.ts +2 -1
  14. package/dist/data-display/keybind/keybind.d.ts +7 -0
  15. package/dist/{v2/components/line-comment-v2.d.ts → data-display/line-comment/line-comment.d.ts} +9 -9
  16. package/dist/{v2/components/project-avatar-v2.d.ts → data-display/project-avatar/project-avatar.d.ts} +1 -1
  17. package/dist/feedback/loader/loader.d.ts +3 -0
  18. package/dist/{components → feedback/progress-circle}/progress-circle.d.ts +2 -0
  19. package/dist/feedback/toast/toast.d.ts +57 -0
  20. package/dist/{components → forms/checkbox}/checkbox.d.ts +2 -2
  21. package/dist/{v2/components/field-v2.d.ts → forms/field/field.d.ts} +4 -10
  22. package/dist/forms/radio/radio.d.ts +16 -0
  23. package/dist/{v2/components/select-v2.d.ts → forms/select/select.d.ts} +4 -6
  24. package/dist/{components → forms/switch}/switch.d.ts +4 -2
  25. package/dist/{v2/components/text-input-v2.d.ts → forms/text-input/text-input.d.ts} +3 -3
  26. package/dist/forms/textarea/textarea.d.ts +7 -0
  27. package/dist/hooks/use-filtered-list.d.ts +9 -0
  28. package/dist/i18n/ar.d.ts +0 -2
  29. package/dist/i18n/bg.d.ts +0 -2
  30. package/dist/i18n/br.d.ts +0 -2
  31. package/dist/i18n/bs.d.ts +0 -2
  32. package/dist/i18n/da.d.ts +0 -2
  33. package/dist/i18n/de.d.ts +0 -2
  34. package/dist/i18n/en.d.ts +242 -1
  35. package/dist/i18n/es.d.ts +0 -2
  36. package/dist/i18n/fr.d.ts +0 -2
  37. package/dist/i18n/he.d.ts +197 -0
  38. package/dist/i18n/ja.d.ts +0 -2
  39. package/dist/i18n/km.d.ts +0 -2
  40. package/dist/i18n/ko.d.ts +0 -2
  41. package/dist/i18n/lo.d.ts +0 -2
  42. package/dist/i18n/mk.d.ts +0 -2
  43. package/dist/i18n/mn.d.ts +0 -2
  44. package/dist/i18n/my.d.ts +0 -2
  45. package/dist/i18n/pl.d.ts +0 -2
  46. package/dist/i18n/ru.d.ts +0 -2
  47. package/dist/i18n/sr.d.ts +0 -2
  48. package/dist/i18n/tg.d.ts +0 -2
  49. package/dist/i18n/th.d.ts +0 -2
  50. package/dist/i18n/tr.d.ts +0 -2
  51. package/dist/i18n/zh.d.ts +0 -2
  52. package/dist/i18n/zht.d.ts +0 -2
  53. package/dist/{components/icon.d.ts → icons/icon/additional-icons.d.ts} +8 -8
  54. package/dist/{v2/components → icons/icon}/icon.d.ts +44 -1
  55. package/dist/layout/divider/divider.d.ts +5 -0
  56. package/dist/navigation/menu/menu.d.ts +59 -0
  57. package/dist/{v2/components/segmented-control-v2.d.ts → navigation/segmented-control/segmented-control.d.ts} +5 -5
  58. package/dist/{components → navigation/tabs}/tabs.d.ts +15 -8
  59. package/dist/{v2/components/dialog-v2.d.ts → overlays/dialog/dialog.d.ts} +1 -2
  60. package/dist/overlays/tooltip/tooltip.d.ts +15 -0
  61. package/dist/{components → typography/text-shimmer}/text-shimmer.d.ts +1 -0
  62. package/dist/typography/wordmark/wordmark.d.ts +2 -0
  63. package/package.json +141 -35
  64. package/src/{v2/components/button-v2.css → actions/button/button.css} +29 -0
  65. package/src/{components → actions/button}/button.tsx +19 -11
  66. package/src/actions/icon-button/icon-button.tsx +32 -0
  67. package/src/{v2/components/split-button-v2.css → actions/split-button/split-button.css} +2 -6
  68. package/src/{v2/components/split-button-v2.tsx → actions/split-button/split-button.tsx} +4 -4
  69. package/src/components/animated-number.css +29 -11
  70. package/src/components/animated-number.tsx +2 -2
  71. package/src/components/card.css +2 -23
  72. package/src/components/card.tsx +4 -4
  73. package/src/components/collapsible.tsx +2 -2
  74. package/src/components/dock-surface.css +2 -9
  75. package/src/components/image-preview.tsx +3 -2
  76. package/src/components/list.css +5 -5
  77. package/src/components/list.tsx +7 -5
  78. package/src/components/popover.tsx +3 -2
  79. package/src/components/scroll-view.tsx +5 -20
  80. package/src/components/sticky-accordion-header.tsx +1 -1
  81. package/src/components/text-field.tsx +12 -4
  82. package/src/context/dialog.tsx +1 -0
  83. package/src/context/i18n.tsx +17 -14
  84. package/src/context/marked-base.tsx +27 -0
  85. package/src/context/marked-parser.tsx +3 -13
  86. package/src/{components → data-display/accordion}/accordion.css +5 -31
  87. package/src/{components → data-display/accordion}/accordion.tsx +14 -14
  88. package/src/{v2/components/avatar-v2.tsx → data-display/avatar/avatar.tsx} +1 -1
  89. package/src/{v2/components/badge-v2.css → data-display/badge/badge.css} +19 -0
  90. package/src/{v2/components/badge-v2.tsx → data-display/badge/badge.tsx} +6 -4
  91. package/src/{components → data-display/diff-changes}/diff-changes.css +22 -19
  92. package/src/{v2/components/diff-changes-v2.tsx → data-display/diff-changes/diff-changes.tsx} +7 -2
  93. package/src/{v2/components/keybind-v2.css → data-display/keybind/keybind.css} +1 -1
  94. package/src/{v2/components/keybind-v2.tsx → data-display/keybind/keybind.tsx} +3 -3
  95. package/src/{v2/components/line-comment-v2.css → data-display/line-comment/line-comment.css} +4 -4
  96. package/src/{v2/components/line-comment-v2.tsx → data-display/line-comment/line-comment.tsx} +17 -15
  97. package/src/{v2/components/project-avatar-v2.tsx → data-display/project-avatar/project-avatar.tsx} +1 -1
  98. package/src/{v2/components/loader-v2.tsx → feedback/loader/loader.tsx} +2 -2
  99. package/src/feedback/progress-circle/progress-circle.css +28 -0
  100. package/src/feedback/progress-circle/progress-circle.tsx +64 -0
  101. package/src/{v2/components/toast-v2.tsx → feedback/toast/toast.tsx} +60 -58
  102. package/src/{components → forms/checkbox}/checkbox.css +1 -7
  103. package/src/{components → forms/checkbox}/checkbox.tsx +13 -13
  104. package/src/{v2/components/field-v2.css → forms/field/field.css} +1 -1
  105. package/src/{v2/components/field-v2.tsx → forms/field/field.tsx} +9 -11
  106. package/src/{v2/components/radio-v2.tsx → forms/radio/radio.tsx} +30 -20
  107. package/src/{v2/components/select-v2.css → forms/select/select.css} +2 -8
  108. package/src/{v2/components/select-v2.tsx → forms/select/select.tsx} +40 -32
  109. package/src/{v2/components/switch-v2.css → forms/switch/switch.css} +110 -0
  110. package/src/forms/switch/switch.tsx +34 -0
  111. package/src/{v2/components/text-input-v2.css → forms/text-input/text-input.css} +3 -3
  112. package/src/{v2/components/text-input-v2.tsx → forms/text-input/text-input.tsx} +4 -4
  113. package/src/{v2/components/textarea-v2.tsx → forms/textarea/textarea.tsx} +3 -3
  114. package/src/hooks/create-auto-scroll.tsx +20 -0
  115. package/src/i18n/am.ts +7 -9
  116. package/src/i18n/ar.ts +7 -9
  117. package/src/i18n/az.ts +7 -9
  118. package/src/i18n/bg.ts +7 -9
  119. package/src/i18n/bn.ts +7 -9
  120. package/src/i18n/br.ts +7 -9
  121. package/src/i18n/bs.ts +7 -9
  122. package/src/i18n/ca.ts +7 -9
  123. package/src/i18n/cs.ts +7 -9
  124. package/src/i18n/da.ts +7 -9
  125. package/src/i18n/de.ts +1 -3
  126. package/src/i18n/dv.ts +7 -9
  127. package/src/i18n/dz.ts +5 -7
  128. package/src/i18n/el.ts +7 -9
  129. package/src/i18n/en.ts +59 -12
  130. package/src/i18n/es.ts +6 -8
  131. package/src/i18n/et.ts +7 -9
  132. package/src/i18n/fa.ts +7 -9
  133. package/src/i18n/fi.ts +7 -9
  134. package/src/i18n/fo.ts +7 -9
  135. package/src/i18n/fr.ts +6 -8
  136. package/src/i18n/he.ts +199 -0
  137. package/src/i18n/hi.ts +7 -9
  138. package/src/i18n/hr.ts +7 -9
  139. package/src/i18n/hu.ts +7 -9
  140. package/src/i18n/hy.ts +7 -9
  141. package/src/i18n/id.ts +7 -9
  142. package/src/i18n/is.ts +7 -9
  143. package/src/i18n/it.ts +7 -9
  144. package/src/i18n/ja.ts +7 -9
  145. package/src/i18n/ka.ts +7 -9
  146. package/src/i18n/km.ts +7 -9
  147. package/src/i18n/ko.ts +7 -9
  148. package/src/i18n/lo.ts +7 -9
  149. package/src/i18n/lt.ts +7 -9
  150. package/src/i18n/lv.ts +7 -9
  151. package/src/i18n/mk.ts +7 -9
  152. package/src/i18n/mn.ts +7 -9
  153. package/src/i18n/ms.ts +7 -9
  154. package/src/i18n/my.ts +7 -9
  155. package/src/i18n/ne.ts +7 -9
  156. package/src/i18n/nl.ts +7 -9
  157. package/src/i18n/no.ts +7 -9
  158. package/src/i18n/pa.ts +7 -9
  159. package/src/i18n/pl.ts +7 -9
  160. package/src/i18n/ro.ts +7 -9
  161. package/src/i18n/ru.ts +7 -9
  162. package/src/i18n/si.ts +7 -9
  163. package/src/i18n/sk.ts +7 -9
  164. package/src/i18n/sl.ts +7 -9
  165. package/src/i18n/sq.ts +7 -9
  166. package/src/i18n/sr.ts +7 -9
  167. package/src/i18n/sv.ts +7 -9
  168. package/src/i18n/tg.ts +7 -9
  169. package/src/i18n/th.ts +7 -9
  170. package/src/i18n/tk.ts +7 -9
  171. package/src/i18n/tr.ts +7 -9
  172. package/src/i18n/uk.ts +7 -9
  173. package/src/i18n/ur.ts +7 -9
  174. package/src/i18n/uz.ts +7 -9
  175. package/src/i18n/vi.ts +7 -9
  176. package/src/i18n/zh.ts +7 -9
  177. package/src/i18n/zht.ts +7 -9
  178. package/src/{components/icon.tsx → icons/icon/additional-icons.ts} +8 -74
  179. package/src/icons/icon/icon.css +3 -0
  180. package/src/{v2/components → icons/icon}/icon.tsx +80 -12
  181. package/src/{v2/components/divider-v2.tsx → layout/divider/divider.tsx} +3 -3
  182. package/src/{v2/components/menu-v2.css → navigation/menu/menu.css} +124 -2
  183. package/src/{v2/components/menu-v2.tsx → navigation/menu/menu.tsx} +96 -32
  184. package/src/{v2/components/segmented-control-v2.css → navigation/segmented-control/segmented-control.css} +1 -1
  185. package/src/{v2/components/segmented-control-v2.tsx → navigation/segmented-control/segmented-control.tsx} +9 -8
  186. package/src/{v2/components/tabs-v2.css → navigation/tabs/tabs-current.css} +25 -10
  187. package/src/{components → navigation/tabs}/tabs.css +53 -232
  188. package/src/navigation/tabs/tabs.tsx +194 -0
  189. package/src/{v2/components/dialog-v2.css → overlays/dialog/dialog.css} +3 -0
  190. package/src/{v2/components/dialog-v2.tsx → overlays/dialog/dialog.tsx} +11 -13
  191. package/src/{v2/components/tooltip-v2.css → overlays/tooltip/tooltip.css} +26 -0
  192. package/src/{v2/components/tooltip-v2.tsx → overlays/tooltip/tooltip.tsx} +24 -17
  193. package/src/styles/base.css +5 -0
  194. package/src/styles/index.css +4 -20
  195. package/src/styles/tailwind/colors.css +1 -0
  196. package/src/styles/tailwind/index.css +18 -1
  197. package/src/styles/theme.css +2 -2
  198. package/src/{v2/styles → styles/tokens}/colors.css +8 -8
  199. package/src/{v2/styles → styles/tokens}/theme.css +20 -16
  200. package/src/theme/context.tsx +19 -11
  201. package/src/theme/themes/oc-2.json +48 -19
  202. package/src/theme/v2/default-primitives.ts +8 -8
  203. package/src/theme/v2/foreground.ts +1 -0
  204. package/src/theme/v2/mapping.ts +5 -1
  205. package/src/{components → typography/text-shimmer}/text-shimmer.css +2 -1
  206. package/src/{components → typography/text-shimmer}/text-shimmer.tsx +1 -0
  207. package/src/{v2/components/wordmark-v2.tsx → typography/wordmark/wordmark.tsx} +2 -2
  208. package/dist/components/avatar.d.ts +0 -9
  209. package/dist/components/button.d.ts +0 -9
  210. package/dist/components/dialog.d.ts +0 -12
  211. package/dist/components/dropdown-menu.d.ts +0 -80
  212. package/dist/components/icon-button.d.ts +0 -10
  213. package/dist/components/keybind.d.ts +0 -6
  214. package/dist/components/radio-group.d.ts +0 -16
  215. package/dist/components/select.d.ts +0 -21
  216. package/dist/components/tag.d.ts +0 -5
  217. package/dist/components/toast.d.ts +0 -56
  218. package/dist/components/tooltip.d.ts +0 -17
  219. package/dist/v2/components/accordion-v2.d.ts +0 -26
  220. package/dist/v2/components/badge-v2.d.ts +0 -6
  221. package/dist/v2/components/button-v2.d.ts +0 -10
  222. package/dist/v2/components/checkbox-v2.d.ts +0 -10
  223. package/dist/v2/components/diff-changes-v2.d.ts +0 -11
  224. package/dist/v2/components/divider-v2.d.ts +0 -5
  225. package/dist/v2/components/icon-button-v2.d.ts +0 -11
  226. package/dist/v2/components/inline-input-v2.d.ts +0 -21
  227. package/dist/v2/components/keybind-v2.d.ts +0 -7
  228. package/dist/v2/components/loader-v2.d.ts +0 -3
  229. package/dist/v2/components/menu-v2.d.ts +0 -52
  230. package/dist/v2/components/progress-circle-v2.d.ts +0 -8
  231. package/dist/v2/components/radio-v2.d.ts +0 -16
  232. package/dist/v2/components/split-button-v2.d.ts +0 -5
  233. package/dist/v2/components/switch-v2.d.ts +0 -7
  234. package/dist/v2/components/tabs-v2.d.ts +0 -34
  235. package/dist/v2/components/text-shimmer-v2.d.ts +0 -9
  236. package/dist/v2/components/textarea-v2.d.ts +0 -7
  237. package/dist/v2/components/toast-v2.d.ts +0 -57
  238. package/dist/v2/components/tooltip-v2.d.ts +0 -13
  239. package/dist/v2/components/wordmark-v2.d.ts +0 -2
  240. package/src/components/avatar.css +0 -49
  241. package/src/components/avatar.tsx +0 -55
  242. package/src/components/button.css +0 -194
  243. package/src/components/dialog.css +0 -181
  244. package/src/components/dialog.tsx +0 -72
  245. package/src/components/diff-changes.tsx +0 -115
  246. package/src/components/dropdown-menu.css +0 -135
  247. package/src/components/dropdown-menu.tsx +0 -308
  248. package/src/components/icon-button.css +0 -181
  249. package/src/components/icon-button.tsx +0 -29
  250. package/src/components/icon.css +0 -39
  251. package/src/components/keybind.css +0 -18
  252. package/src/components/keybind.tsx +0 -20
  253. package/src/components/progress-circle.css +0 -16
  254. package/src/components/progress-circle.tsx +0 -64
  255. package/src/components/radio-group.css +0 -187
  256. package/src/components/radio-group.tsx +0 -83
  257. package/src/components/select.css +0 -201
  258. package/src/components/select.tsx +0 -174
  259. package/src/components/switch.css +0 -136
  260. package/src/components/switch.tsx +0 -29
  261. package/src/components/tabs.tsx +0 -126
  262. package/src/components/tag.css +0 -37
  263. package/src/components/tag.tsx +0 -22
  264. package/src/components/toast.css +0 -236
  265. package/src/components/toast.tsx +0 -185
  266. package/src/components/tooltip.css +0 -74
  267. package/src/components/tooltip.tsx +0 -163
  268. package/src/v2/components/accordion-v2.css +0 -139
  269. package/src/v2/components/accordion-v2.tsx +0 -86
  270. package/src/v2/components/button-v2.tsx +0 -35
  271. package/src/v2/components/checkbox-v2.css +0 -184
  272. package/src/v2/components/checkbox-v2.tsx +0 -65
  273. package/src/v2/components/diff-changes-v2.css +0 -26
  274. package/src/v2/components/icon-button-v2.tsx +0 -37
  275. package/src/v2/components/inline-input-v2.css +0 -225
  276. package/src/v2/components/inline-input-v2.tsx +0 -107
  277. package/src/v2/components/progress-circle-v2.css +0 -13
  278. package/src/v2/components/progress-circle-v2.tsx +0 -52
  279. package/src/v2/components/switch-v2.tsx +0 -28
  280. package/src/v2/components/tabs-v2.tsx +0 -149
  281. package/src/v2/components/text-shimmer-v2.css +0 -125
  282. package/src/v2/components/text-shimmer-v2.tsx +0 -63
  283. /package/dist/{components → forms/inline-input}/inline-input.d.ts +0 -0
  284. /package/dist/{v2/components → navigation}/tab-state-indicator.d.ts +0 -0
  285. /package/src/{v2/components/icon-button-v2.css → actions/icon-button/icon-button.css} +0 -0
  286. /package/src/{v2/components/avatar-v2.css → data-display/avatar/avatar.css} +0 -0
  287. /package/src/{v2/components/project-avatar-v2.css → data-display/project-avatar/project-avatar.css} +0 -0
  288. /package/src/{v2/components/loader-v2.css → feedback/loader/loader.css} +0 -0
  289. /package/src/{v2/components/toast-v2.css → feedback/toast/toast.css} +0 -0
  290. /package/src/{components → forms/inline-input}/inline-input.css +0 -0
  291. /package/src/{components → forms/inline-input}/inline-input.tsx +0 -0
  292. /package/src/{v2/components/radio-v2.css → forms/radio/radio.css} +0 -0
  293. /package/src/{v2/components/textarea-v2.css → forms/textarea/textarea.css} +0 -0
  294. /package/src/{v2/components/divider-v2.css → layout/divider/divider.css} +0 -0
  295. /package/src/{v2/components → navigation}/tab-state-indicator.tsx +0 -0
  296. /package/src/{v2/components/file-tree-v2.css → styles/file-tree.css} +0 -0
  297. /package/src/{v2/styles/tailwind.css → styles/tokens/index.css} +0 -0
@@ -0,0 +1,10 @@
1
+ import { Root } from "@kobalte/core/button";
2
+ import { type ComponentProps } from "solid-js";
3
+ import { type IconProps } from "@opencode-ai/ui/icon";
4
+ import "./button.css";
5
+ export interface ButtonProps extends ComponentProps<typeof Root>, Pick<ComponentProps<"button">, "class" | "classList" | "children"> {
6
+ size?: "small" | "normal" | "large";
7
+ variant?: "neutral" | "danger" | "warning" | "outline" | "contrast" | "ghost" | "ghost-muted" | "ghost-faint" | "loading";
8
+ icon?: IconProps["name"];
9
+ }
10
+ export declare function Button(props: ButtonProps): import("solid-js").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { Root } from "@kobalte/core/button";
2
+ import { type ComponentProps } from "solid-js";
3
+ import { JSX } from "solid-js";
4
+ import "./icon-button.css";
5
+ export interface IconButtonProps extends ComponentProps<typeof Root>, Pick<ComponentProps<"button">, "class" | "classList"> {
6
+ icon?: JSX.Element;
7
+ size?: "small" | "normal" | "large";
8
+ variant?: "neutral" | "contrast" | "ghost" | "ghost-muted";
9
+ state?: "rest" | "hover" | "pressed";
10
+ }
11
+ export declare function IconButton(props: ComponentProps<"button"> & IconButtonProps): JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { type ComponentProps, type ParentProps } from "solid-js";
2
+ import "./split-button.css";
3
+ export declare function SplitButton(props: ParentProps<ComponentProps<"div">>): import("solid-js").JSX.Element;
4
+ export declare function SplitButtonAction(props: ComponentProps<"button">): import("solid-js").JSX.Element;
5
+ export declare function SplitButtonMenuTrigger(props: ComponentProps<"button">): import("solid-js").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps } from "solid-js";
2
- import { type IconProps } from "./icon";
2
+ import { type IconProps } from "@opencode-ai/ui/icon";
3
3
  type Variant = "normal" | "error" | "warning" | "success" | "info";
4
4
  export interface CardProps extends ComponentProps<"div"> {
5
5
  variant?: Variant;
@@ -1,6 +1,6 @@
1
1
  import { type FilteredListProps } from "@opencode-ai/ui/hooks";
2
2
  import { type JSX } from "solid-js";
3
- import { type IconProps } from "./icon";
3
+ import { type IconProps } from "@opencode-ai/ui/icon";
4
4
  export interface ListSearchProps {
5
5
  placeholder?: string;
6
6
  autofocus?: boolean;
@@ -1,4 +1,4 @@
1
- import { type Accessor, type ComponentProps } from "solid-js";
1
+ import { type ComponentProps } from "solid-js";
2
2
  export type ScrollViewThumbVisibility = "hover" | "scroll";
3
3
  export interface ScrollViewProps extends ComponentProps<"div"> {
4
4
  viewportRef?: (el: HTMLDivElement) => void;
@@ -11,9 +11,9 @@ export interface ScrollViewProps extends ComponentProps<"div"> {
11
11
  * */
12
12
  thumbVisibility?: ScrollViewThumbVisibility;
13
13
  /** Mount the thumb into an external track. Scroll metrics still come from this ScrollView. */
14
- thumbContainer?: HTMLElement | Accessor<HTMLElement | undefined>;
14
+ thumbContainer?: HTMLElement;
15
15
  /** Element whose hover reveals the thumb. Defaults to the ScrollView root when unset. */
16
- thumbHoverTarget?: HTMLElement | Accessor<HTMLElement | undefined>;
16
+ thumbHoverTarget?: HTMLElement;
17
17
  }
18
18
  export declare const scrollKey: (event: Pick<KeyboardEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey">) => "end" | "home" | "page-down" | "page-up" | "up" | "down" | undefined;
19
19
  export declare function canScrollKey(element: HTMLElement, key: NonNullable<ReturnType<typeof scrollKey>>): boolean;
@@ -1,16 +1,19 @@
1
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 declare const UI_PLURAL_KEYS: readonly ["ui.sessionTurn.diffs.changed", "ui.messagePart.context.read", "ui.messagePart.context.search", "ui.messagePart.context.list"];
5
- export type UiI18nPluralKey = (typeof UI_PLURAL_KEYS)[number];
6
- export type UiPluralCategory = "zero" | "one" | "two" | "few" | "many" | "other";
7
- export type UiI18nPluralLookupKey = `${UiI18nPluralKey}.${UiPluralCategory}`;
2
+ import type { Key, LocaleKey, PluralCategory, PluralKey, PluralLookupKey } from "../i18n/en";
3
+ export type UiI18nKey = Key;
4
+ export type UiI18nPluralKey = PluralKey;
5
+ export type UiPluralCategory = PluralCategory;
6
+ export type UiI18nPluralLookupKey = PluralLookupKey;
7
+ export type UiI18nLocaleKey = LocaleKey;
8
+ type UiTranslationKey<Value extends string> = Value extends UiI18nPluralLookupKey ? never : Value;
8
9
  export type UiI18nParams = Record<string, string | number | boolean>;
10
+ export type UiTranslate = <Value extends string>(key: UiTranslationKey<Value>, params?: UiI18nParams) => string;
9
11
  export type UiI18n = {
10
12
  locale: Accessor<string>;
11
13
  layoutLocale?: Accessor<string>;
12
- t: (key: UiI18nKey, params?: UiI18nParams) => string;
14
+ t: UiTranslate;
13
15
  plural: (key: UiI18nPluralKey, count: number, params?: UiI18nParams) => string;
16
+ pluralForm?: (key: UiI18nPluralKey, category: UiPluralCategory, params?: UiI18nParams) => string;
14
17
  };
15
18
  export declare function pluralCategory(locale: string, count: number): UiPluralCategory;
16
19
  export declare function pluralKey(key: UiI18nPluralKey, category: UiPluralCategory): UiI18nPluralLookupKey;
@@ -0,0 +1,3 @@
1
+ import { Marked } from "marked";
2
+ export declare function createMarkdownBase(): Marked<string, string>;
3
+ export declare function parseSmallMarkdown(text: string): string | undefined;
@@ -1,2 +1 @@
1
- import { Marked } from "marked";
2
- export declare function createMarkdownParser(highlight: (code: string, language: string) => string | Promise<string>): Marked<string, string>;
1
+ export declare function createMarkdownParser(highlight: (code: string, language: string) => string | Promise<string>): import("marked").Marked<string, string>;
@@ -1,14 +1,14 @@
1
- import { Accordion as Kobalte } from "@kobalte/core/accordion";
1
+ import { Content, Header, Item, Root, Trigger } from "@kobalte/core/accordion";
2
2
  import type { ComponentProps, ParentProps } from "solid-js";
3
- export interface AccordionProps extends ComponentProps<typeof Kobalte> {
3
+ export interface AccordionProps extends ComponentProps<typeof Root> {
4
4
  }
5
- export interface AccordionItemProps extends ComponentProps<typeof Kobalte.Item> {
5
+ export interface AccordionItemProps extends ComponentProps<typeof Item> {
6
6
  }
7
- export interface AccordionHeaderProps extends ComponentProps<typeof Kobalte.Header> {
7
+ export interface AccordionHeaderProps extends ComponentProps<typeof Header> {
8
8
  }
9
- export interface AccordionTriggerProps extends ComponentProps<typeof Kobalte.Trigger> {
9
+ export interface AccordionTriggerProps extends ComponentProps<typeof Trigger> {
10
10
  }
11
- export interface AccordionContentProps extends ComponentProps<typeof Kobalte.Content> {
11
+ export interface AccordionContentProps extends ComponentProps<typeof Content> {
12
12
  }
13
13
  declare function AccordionRoot(props: AccordionProps): import("solid-js").JSX.Element;
14
14
  declare function AccordionItem(props: AccordionItemProps): import("solid-js").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps } from "solid-js";
2
- import "./avatar-v2.css";
2
+ import "./avatar.css";
3
3
  export interface AvatarProps extends ComponentProps<"div"> {
4
4
  fallback: string;
5
5
  src?: string;
@@ -0,0 +1,7 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import "./badge.css";
3
+ export interface BadgeProps extends ComponentProps<"span"> {
4
+ appearance?: "standard" | "compact";
5
+ variant?: "neutral" | "accent";
6
+ }
7
+ export declare function Badge(props: BadgeProps): import("solid-js").JSX.Element;
@@ -1,5 +1,7 @@
1
+ import "./diff-changes.css";
1
2
  export declare function DiffChanges(props: {
2
3
  class?: string;
4
+ appearance?: "standard" | "compact";
3
5
  changes: {
4
6
  additions: number;
5
7
  deletions: number;
@@ -7,5 +9,4 @@ export declare function DiffChanges(props: {
7
9
  additions: number;
8
10
  deletions: number;
9
11
  }[];
10
- variant?: "default" | "bars";
11
12
  }): import("solid-js").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import "./keybind.css";
3
+ export interface KeybindProps extends ComponentProps<"div"> {
4
+ keys: string[];
5
+ variant?: "neutral" | "ghost";
6
+ }
7
+ export declare function Keybind(props: KeybindProps): import("solid-js").JSX.Element;
@@ -1,20 +1,20 @@
1
1
  import { type ComponentProps, type JSX } from "solid-js";
2
- import "./line-comment-v2.css";
2
+ import "./line-comment.css";
3
3
  /** Horizontal “more” glyph for the display-card overflow control (Figma outline-dots). */
4
- export declare function LineCommentV2OverflowIcon(props: ComponentProps<"svg">): JSX.Element;
5
- export interface LineCommentV2Props extends ComponentProps<"div"> {
4
+ export declare function LineCommentOverflowIcon(props: ComponentProps<"svg">): JSX.Element;
5
+ export interface LineCommentProps extends ComponentProps<"div"> {
6
6
  /** Main comment body (text or rich content). */
7
7
  comment: JSX.Element;
8
8
  /** Line / selection context (e.g. “Comment on line 40”). */
9
9
  selection: JSX.Element;
10
- /** Typically an overflow menu trigger; use `LineCommentV2OverflowIcon` inside `line-comment-v2-overflow`. */
10
+ /** Typically an overflow menu trigger; use `LineCommentOverflowIcon` inside `line-comment-v2-overflow`. */
11
11
  actions?: JSX.Element;
12
12
  }
13
- export declare function LineCommentV2(props: LineCommentV2Props): JSX.Element;
14
- export type LineCommentEditorV2Mention = {
13
+ export declare function LineComment(props: LineCommentProps): JSX.Element;
14
+ export type LineCommentEditorMention = {
15
15
  items: (query: string) => string[] | Promise<string[]>;
16
16
  };
17
- export interface LineCommentEditorV2Props extends Omit<ComponentProps<"div">, "children" | "onInput" | "onSubmit"> {
17
+ export interface LineCommentEditorProps extends Omit<ComponentProps<"div">, "children" | "onInput" | "onSubmit"> {
18
18
  /** Visible field label above the textarea (default: “Comment”). */
19
19
  heading?: JSX.Element | string;
20
20
  value: string;
@@ -27,6 +27,6 @@ export interface LineCommentEditorV2Props extends Omit<ComponentProps<"div">, "c
27
27
  cancelLabel?: string;
28
28
  submitLabel?: string;
29
29
  autofocus?: boolean;
30
- mention?: LineCommentEditorV2Mention;
30
+ mention?: LineCommentEditorMention;
31
31
  }
32
- export declare function LineCommentEditorV2(props: LineCommentEditorV2Props): JSX.Element;
32
+ export declare function LineCommentEditor(props: LineCommentEditorProps): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps } from "solid-js";
2
- import "./project-avatar-v2.css";
2
+ import "./project-avatar.css";
3
3
  export declare const PROJECT_AVATAR_VARIANTS: readonly ["orange", "yellow", "cyan", "green", "red", "pink", "blue", "purple", "gray"];
4
4
  export type ProjectAvatarVariant = (typeof PROJECT_AVATAR_VARIANTS)[number];
5
5
  export type ProjectAvatarStyle = ProjectAvatarVariant | "outline";
@@ -0,0 +1,3 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import "./loader.css";
3
+ export declare function Loader(props: ComponentProps<"svg">): import("solid-js").JSX.Element;
@@ -1,6 +1,8 @@
1
1
  import { type ComponentProps } from "solid-js";
2
+ import "./progress-circle.css";
2
3
  export interface ProgressCircleProps extends Pick<ComponentProps<"svg">, "class" | "classList" | "style"> {
3
4
  percentage: number;
5
+ appearance?: "compact" | "indicator";
4
6
  size?: number;
5
7
  strokeWidth?: number;
6
8
  }
@@ -0,0 +1,57 @@
1
+ import { type ToasterProps } from "solid-sonner";
2
+ import type { ComponentProps, JSX } from "solid-js";
3
+ import "../../actions/button/button.css";
4
+ import "./toast.css";
5
+ export interface ToastRegionProps extends ToasterProps {
6
+ }
7
+ declare function ToastRegion(props: ToastRegionProps): JSX.Element;
8
+ export interface ToastRootComponentProps {
9
+ toastId: number;
10
+ children?: JSX.Element;
11
+ }
12
+ declare function ToastRoot(props: ToastRootComponentProps): JSX.Element;
13
+ declare function ToastIcon(props: ComponentProps<"div">): JSX.Element;
14
+ declare function ToastContent(props: ComponentProps<"div">): JSX.Element;
15
+ declare function ToastTitle(props: ComponentProps<"div">): JSX.Element;
16
+ declare function ToastDescription(props: ComponentProps<"div">): JSX.Element;
17
+ declare function ToastActions(props: ComponentProps<"div">): JSX.Element;
18
+ declare function ToastCloseButton(props: ComponentProps<"button">): JSX.Element;
19
+ export declare const Toast: typeof ToastRoot & {
20
+ Region: typeof ToastRegion;
21
+ Icon: typeof ToastIcon;
22
+ Content: typeof ToastContent;
23
+ Title: typeof ToastTitle;
24
+ Description: typeof ToastDescription;
25
+ Actions: typeof ToastActions;
26
+ CloseButton: typeof ToastCloseButton;
27
+ };
28
+ export declare const toaster: {
29
+ show(render: (props: {
30
+ toastId: number;
31
+ }) => JSX.Element, options?: {
32
+ duration?: number;
33
+ persistent?: boolean;
34
+ }): number;
35
+ dismiss(toastId?: number): string | number | undefined;
36
+ };
37
+ export interface ToastAction {
38
+ label: string;
39
+ variant?: "primary" | "secondary";
40
+ onClick: "dismiss" | (() => void);
41
+ }
42
+ export interface ToastOptions {
43
+ title?: string;
44
+ description?: string;
45
+ icon?: JSX.Element;
46
+ variant?: "default" | "success" | "error" | "loading";
47
+ duration?: number;
48
+ persistent?: boolean;
49
+ actions?: ToastAction[];
50
+ }
51
+ export declare function showToast(options: ToastOptions | string): number;
52
+ export interface ToastPromiseOptions<T, U = unknown> {
53
+ loading?: JSX.Element;
54
+ success?: (data: T) => JSX.Element;
55
+ error?: (error: U) => JSX.Element;
56
+ }
57
+ export {};
@@ -1,6 +1,6 @@
1
- import { Checkbox as Kobalte } from "@kobalte/core/checkbox";
1
+ import { Root } from "@kobalte/core/checkbox";
2
2
  import type { ComponentProps, JSX, ParentProps } from "solid-js";
3
- export interface CheckboxProps extends ParentProps<ComponentProps<typeof Kobalte>> {
3
+ export interface CheckboxProps extends ParentProps<ComponentProps<typeof Root>> {
4
4
  hideLabel?: boolean;
5
5
  description?: string;
6
6
  icon?: JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import { type ComponentProps, type ParentProps } from "solid-js";
2
- import "./field-v2.css";
3
- export interface FieldV2Props extends ComponentProps<"div"> {
2
+ import "./field.css";
3
+ export interface FieldProps extends ComponentProps<"div"> {
4
4
  invalid?: boolean;
5
5
  }
6
- declare function FieldV2Root(props: ParentProps<FieldV2Props>): import("solid-js").JSX.Element;
6
+ declare function FieldRoot(props: ParentProps<FieldProps>): import("solid-js").JSX.Element;
7
7
  export interface FieldLabelProps extends ComponentProps<"label"> {
8
8
  /** When set, shows the info icon with a tooltip containing this text. */
9
9
  tooltip?: string;
@@ -13,13 +13,7 @@ declare function FieldPrefix(props: ParentProps<ComponentProps<"div">>): import(
13
13
  declare function FieldSuffix(props: ParentProps<ComponentProps<"div">>): import("solid-js").JSX.Element;
14
14
  /** Optional layout wrapper around the control. */
15
15
  declare function FieldControl(props: ParentProps<ComponentProps<"div">>): import("solid-js").JSX.Element;
16
- export declare const FieldV2: typeof FieldV2Root & {
17
- Label: typeof FieldLabel;
18
- Prefix: typeof FieldPrefix;
19
- Suffix: typeof FieldSuffix;
20
- Control: typeof FieldControl;
21
- };
22
- export declare const Field: typeof FieldV2Root & {
16
+ export declare const Field: typeof FieldRoot & {
23
17
  Label: typeof FieldLabel;
24
18
  Prefix: typeof FieldPrefix;
25
19
  Suffix: typeof FieldSuffix;
@@ -0,0 +1,16 @@
1
+ import { Item, Root } from "@kobalte/core/radio-group";
2
+ import { type JSX } from "solid-js";
3
+ import type { ComponentProps, ParentProps } from "solid-js";
4
+ import "./radio.css";
5
+ export interface RadioGroupProps extends ParentProps<ComponentProps<typeof Root>> {
6
+ label?: JSX.Element;
7
+ description?: JSX.Element;
8
+ hideLabel?: boolean;
9
+ }
10
+ export declare function RadioGroup(props: RadioGroupProps): JSX.Element;
11
+ export interface RadioItemProps extends ComponentProps<typeof Item> {
12
+ label: JSX.Element;
13
+ description?: JSX.Element;
14
+ hideLabel?: boolean;
15
+ }
16
+ export declare function RadioItem(props: RadioItemProps): JSX.Element;
@@ -1,7 +1,7 @@
1
- import { Select as Kobalte } from "@kobalte/core/select";
1
+ import { Root } from "@kobalte/core/select";
2
2
  import { type ComponentProps, type JSX } from "solid-js";
3
- import "./select-v2.css";
4
- export type SelectV2Props<T> = Omit<ComponentProps<typeof Kobalte<T, {
3
+ import "./select.css";
4
+ export type SelectProps<T> = Omit<ComponentProps<typeof Root<T, {
5
5
  category: string;
6
6
  options: T[];
7
7
  }>>, "value" | "onSelect" | "children" | "options" | "itemComponent" | "sectionComponent" | "defaultValue" | "multiple"> & {
@@ -14,11 +14,9 @@ export type SelectV2Props<T> = Omit<ComponentProps<typeof Kobalte<T, {
14
14
  groupBy?: (x: T) => string;
15
15
  onSelect?: (value: T | null) => void;
16
16
  onHighlight?: (value: T | undefined) => void | (() => void);
17
- /** `base` / `large` match text-input-v2; `inline` is a compact settings-row trigger. */
18
- appearance?: "base" | "large" | "inline";
19
17
  invalid?: boolean;
20
18
  numeric?: boolean;
21
19
  children?: (item: T) => JSX.Element;
22
20
  valueClass?: string;
23
21
  };
24
- export declare function SelectV2<T>(props: SelectV2Props<T>): JSX.Element;
22
+ export declare function Select<T>(props: SelectProps<T>): JSX.Element;
@@ -1,6 +1,8 @@
1
- import { Switch as Kobalte } from "@kobalte/core/switch";
1
+ import { Root } from "@kobalte/core/switch";
2
2
  import type { ComponentProps, ParentProps } from "solid-js";
3
- export interface SwitchProps extends ParentProps<ComponentProps<typeof Kobalte>> {
3
+ import "./switch.css";
4
+ export interface SwitchProps extends ParentProps<ComponentProps<typeof Root>> {
5
+ appearance?: "standard" | "compact";
4
6
  hideLabel?: boolean;
5
7
  description?: string;
6
8
  }
@@ -1,6 +1,6 @@
1
1
  import { type ComponentProps, type JSX } from "solid-js";
2
- import "./text-input-v2.css";
3
- export interface TextInputV2Props extends Omit<ComponentProps<"input">, "type"> {
2
+ import "./text-input.css";
3
+ export interface TextInputProps extends Omit<ComponentProps<"input">, "type"> {
4
4
  /** Icon or adornment shown before the field value. */
5
5
  leadingIcon?: JSX.Element;
6
6
  /** Show the trailing copy action. */
@@ -21,4 +21,4 @@ export interface TextInputV2Props extends Omit<ComponentProps<"input">, "type">
21
21
  appearance?: "base" | "large";
22
22
  type?: ComponentProps<"input">["type"];
23
23
  }
24
- export declare function TextInputV2(props: TextInputV2Props): JSX.Element;
24
+ export declare function TextInput(props: TextInputProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import "./textarea.css";
3
+ export interface TextareaProps extends ComponentProps<"textarea"> {
4
+ /** Error styling for the field and value text. */
5
+ invalid?: boolean;
6
+ }
7
+ export declare function Textarea(props: TextareaProps): import("solid-js").JSX.Element;
@@ -20,6 +20,9 @@ export declare function useFilteredList<T>(props: FilteredListProps<T>): {
20
20
  grouped: import("solid-js").InitializedResource<{
21
21
  category: string;
22
22
  items: [T, ...T[]];
23
+ }[] | {
24
+ category: string;
25
+ items: [T, ...T[]];
23
26
  }[]>;
24
27
  filter: () => string;
25
28
  flat: import("solid-js").Accessor<T[]>;
@@ -27,9 +30,15 @@ export declare function useFilteredList<T>(props: FilteredListProps<T>): {
27
30
  refetch: (info?: unknown) => {
28
31
  category: string;
29
32
  items: [T, ...T[]];
33
+ }[] | {
34
+ category: string;
35
+ items: [T, ...T[]];
30
36
  }[] | Promise<{
31
37
  category: string;
32
38
  items: [T, ...T[]];
39
+ }[] | {
40
+ category: string;
41
+ items: [T, ...T[]];
33
42
  }[]> | null | undefined;
34
43
  clear: () => void;
35
44
  onKeyDown: (event: KeyboardEvent) => void;
package/dist/i18n/ar.d.ts CHANGED
@@ -152,8 +152,6 @@ export declare const dict: {
152
152
  "ui.tool.websearch.provider": string;
153
153
  "ui.tool.shell": string;
154
154
  "ui.tool.patch": string;
155
- "ui.tool.todos": string;
156
- "ui.tool.todos.read": string;
157
155
  "ui.tool.questions": string;
158
156
  "ui.tool.questions.numbered": string;
159
157
  "ui.tool.agent": string;
package/dist/i18n/bg.d.ts CHANGED
@@ -141,8 +141,6 @@ export declare const dict: {
141
141
  "ui.tool.websearch.provider": string;
142
142
  "ui.tool.shell": string;
143
143
  "ui.tool.patch": string;
144
- "ui.tool.todos": string;
145
- "ui.tool.todos.read": string;
146
144
  "ui.tool.questions": string;
147
145
  "ui.tool.questions.numbered": string;
148
146
  "ui.tool.agent": string;
package/dist/i18n/br.d.ts CHANGED
@@ -140,8 +140,6 @@ export declare const dict: {
140
140
  "ui.tool.websearch.provider": string;
141
141
  "ui.tool.shell": string;
142
142
  "ui.tool.patch": string;
143
- "ui.tool.todos": string;
144
- "ui.tool.todos.read": string;
145
143
  "ui.tool.questions": string;
146
144
  "ui.tool.questions.numbered": string;
147
145
  "ui.tool.agent": string;
package/dist/i18n/bs.d.ts CHANGED
@@ -140,8 +140,6 @@ export declare const dict: {
140
140
  "ui.tool.websearch.provider": string;
141
141
  "ui.tool.shell": string;
142
142
  "ui.tool.patch": string;
143
- "ui.tool.todos": string;
144
- "ui.tool.todos.read": string;
145
143
  "ui.tool.questions": string;
146
144
  "ui.tool.questions.numbered": string;
147
145
  "ui.tool.agent": string;
package/dist/i18n/da.d.ts CHANGED
@@ -118,8 +118,6 @@ export declare const dict: {
118
118
  "ui.tool.websearch.provider": string;
119
119
  "ui.tool.shell": string;
120
120
  "ui.tool.patch": string;
121
- "ui.tool.todos": string;
122
- "ui.tool.todos.read": string;
123
121
  "ui.tool.questions": string;
124
122
  "ui.tool.questions.numbered": string;
125
123
  "ui.tool.agent": string;
package/dist/i18n/de.d.ts CHANGED
@@ -118,8 +118,6 @@ export declare const dict: {
118
118
  "ui.tool.websearch.provider": string;
119
119
  "ui.tool.shell": string;
120
120
  "ui.tool.patch": string;
121
- "ui.tool.todos": string;
122
- "ui.tool.todos.read": string;
123
121
  "ui.tool.questions": string;
124
122
  "ui.tool.questions.numbered": string;
125
123
  "ui.tool.agent": string;