@opencode-ai/ui 0.0.0-dev-17604 → 0.0.0-dev-202608181420
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.
- package/dist/components/icon.d.ts +0 -6
- package/dist/components/scroll-view.d.ts +3 -3
- package/dist/context/i18n.d.ts +7 -10
- package/dist/i18n/ar.d.ts +2 -0
- package/dist/i18n/bg.d.ts +2 -0
- package/dist/i18n/br.d.ts +2 -0
- package/dist/i18n/bs.d.ts +2 -0
- package/dist/i18n/da.d.ts +2 -0
- package/dist/i18n/de.d.ts +2 -0
- package/dist/i18n/en.d.ts +1 -205
- package/dist/i18n/es.d.ts +2 -0
- package/dist/i18n/fr.d.ts +2 -0
- package/dist/i18n/ja.d.ts +2 -0
- package/dist/i18n/km.d.ts +2 -0
- package/dist/i18n/ko.d.ts +2 -0
- package/dist/i18n/lo.d.ts +2 -0
- package/dist/i18n/mk.d.ts +2 -0
- package/dist/i18n/mn.d.ts +2 -0
- package/dist/i18n/my.d.ts +2 -0
- package/dist/i18n/pl.d.ts +2 -0
- package/dist/i18n/ru.d.ts +2 -0
- package/dist/i18n/sr.d.ts +2 -0
- package/dist/i18n/tg.d.ts +2 -0
- package/dist/i18n/th.d.ts +2 -0
- package/dist/i18n/tr.d.ts +2 -0
- package/dist/i18n/zh.d.ts +2 -0
- package/dist/i18n/zht.d.ts +2 -0
- package/dist/v2/components/icon.d.ts +0 -12
- package/package.json +6 -2
- package/src/components/accordion.css +24 -0
- package/src/components/animated-number.css +11 -29
- package/src/components/animated-number.tsx +2 -2
- package/src/components/card.css +21 -0
- package/src/components/card.tsx +3 -3
- package/src/components/icon.tsx +0 -6
- package/src/components/list.tsx +2 -4
- package/src/components/provider-icon.tsx +1 -1
- package/src/components/scroll-view.tsx +20 -5
- package/src/components/tabs.css +18 -16
- package/src/components/text-shimmer.css +1 -2
- package/src/components/toast.tsx +14 -16
- package/src/context/i18n.tsx +14 -17
- package/src/hooks/create-auto-scroll.tsx +0 -20
- package/src/i18n/am.ts +2 -0
- package/src/i18n/ar.ts +2 -0
- package/src/i18n/az.ts +2 -0
- package/src/i18n/bg.ts +2 -0
- package/src/i18n/bn.ts +2 -0
- package/src/i18n/br.ts +2 -0
- package/src/i18n/bs.ts +2 -0
- package/src/i18n/ca.ts +2 -0
- package/src/i18n/cs.ts +2 -0
- package/src/i18n/da.ts +2 -0
- package/src/i18n/de.ts +2 -0
- package/src/i18n/dv.ts +2 -0
- package/src/i18n/dz.ts +2 -0
- package/src/i18n/el.ts +2 -0
- package/src/i18n/en.ts +4 -14
- package/src/i18n/es.ts +2 -0
- package/src/i18n/et.ts +2 -0
- package/src/i18n/fa.ts +2 -0
- package/src/i18n/fi.ts +2 -0
- package/src/i18n/fo.ts +2 -0
- package/src/i18n/fr.ts +2 -0
- package/src/i18n/hi.ts +2 -0
- package/src/i18n/hr.ts +2 -0
- package/src/i18n/hu.ts +2 -0
- package/src/i18n/hy.ts +2 -0
- package/src/i18n/id.ts +2 -0
- package/src/i18n/is.ts +2 -0
- package/src/i18n/it.ts +2 -0
- package/src/i18n/ja.ts +2 -0
- package/src/i18n/ka.ts +2 -0
- package/src/i18n/km.ts +2 -0
- package/src/i18n/ko.ts +2 -0
- package/src/i18n/lo.ts +2 -0
- package/src/i18n/lt.ts +2 -0
- package/src/i18n/lv.ts +2 -0
- package/src/i18n/mk.ts +2 -0
- package/src/i18n/mn.ts +2 -0
- package/src/i18n/ms.ts +2 -0
- package/src/i18n/my.ts +2 -0
- package/src/i18n/ne.ts +2 -0
- package/src/i18n/nl.ts +2 -0
- package/src/i18n/no.ts +2 -0
- package/src/i18n/pa.ts +2 -0
- package/src/i18n/pl.ts +2 -0
- package/src/i18n/ro.ts +2 -0
- package/src/i18n/ru.ts +2 -0
- package/src/i18n/si.ts +2 -0
- package/src/i18n/sk.ts +2 -0
- package/src/i18n/sl.ts +2 -0
- package/src/i18n/sq.ts +2 -0
- package/src/i18n/sr.ts +2 -0
- package/src/i18n/sv.ts +2 -0
- package/src/i18n/tg.ts +2 -0
- package/src/i18n/th.ts +2 -0
- package/src/i18n/tk.ts +2 -0
- package/src/i18n/tr.ts +2 -0
- package/src/i18n/uk.ts +2 -0
- package/src/i18n/ur.ts +2 -0
- package/src/i18n/uz.ts +2 -0
- package/src/i18n/vi.ts +2 -0
- package/src/i18n/zh.ts +2 -0
- package/src/i18n/zht.ts +2 -0
- package/src/theme/context.tsx +11 -19
- package/src/theme/themes/oc-2.json +1 -1
- package/src/v2/components/dialog-v2.css +0 -3
- package/src/v2/components/dialog-v2.tsx +2 -2
- package/src/v2/components/icon.tsx +0 -13
- package/src/v2/components/keybind-v2.css +1 -1
- package/src/v2/components/line-comment-v2.tsx +0 -2
- package/src/v2/components/tabs-v2.css +4 -12
- package/src/v2/components/text-shimmer-v2.css +1 -2
- package/src/v2/components/toast-v2.tsx +0 -2
- package/src/v2/components/tooltip-v2.tsx +2 -3
- package/src/v2/styles/theme.css +12 -0
- package/dist/i18n/he.d.ts +0 -197
- package/src/i18n/he.ts +0 -199
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
[data-slot="animated-number-digit"] {
|
|
20
|
-
display: inline-
|
|
20
|
+
display: inline-block;
|
|
21
21
|
width: 1ch;
|
|
22
22
|
height: 1em;
|
|
23
23
|
line-height: 1em;
|
|
@@ -41,12 +41,19 @@
|
|
|
41
41
|
mask-repeat: no-repeat;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
[data-slot="animated-number-static"],
|
|
45
44
|
[data-slot="animated-number-strip"] {
|
|
46
|
-
|
|
45
|
+
display: inline-flex;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
transform: translateY(calc(var(--animated-number-offset, 10) * -1em));
|
|
48
|
+
transition-property: transform;
|
|
49
|
+
transition-duration: var(--animated-number-duration, 560ms);
|
|
50
|
+
transition-timing-function: var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
[data-slot="animated-number-strip"][data-animating="false"] {
|
|
54
|
+
transition-duration: 0ms;
|
|
47
55
|
}
|
|
48
56
|
|
|
49
|
-
[data-slot="animated-number-static"],
|
|
50
57
|
[data-slot="animated-number-cell"] {
|
|
51
58
|
display: inline-flex;
|
|
52
59
|
align-items: center;
|
|
@@ -55,24 +62,6 @@
|
|
|
55
62
|
height: 1em;
|
|
56
63
|
line-height: 1em;
|
|
57
64
|
}
|
|
58
|
-
|
|
59
|
-
[data-slot="animated-number-digit"][data-animating="true"] [data-slot="animated-number-static"] {
|
|
60
|
-
visibility: hidden;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
[data-slot="animated-number-strip"] {
|
|
64
|
-
display: inline-flex;
|
|
65
|
-
flex-direction: column;
|
|
66
|
-
margin-top: calc(var(--animated-number-offset, 10) * -1em);
|
|
67
|
-
transition-property: margin-top;
|
|
68
|
-
transition-duration: var(--animated-number-duration, 560ms);
|
|
69
|
-
transition-timing-function: var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
[data-slot="animated-number-digit"][data-animating="false"] [data-slot="animated-number-strip"] {
|
|
73
|
-
transition-duration: 0ms;
|
|
74
|
-
visibility: hidden;
|
|
75
|
-
}
|
|
76
65
|
}
|
|
77
66
|
|
|
78
67
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -82,12 +71,5 @@
|
|
|
82
71
|
|
|
83
72
|
[data-component="animated-number"] [data-slot="animated-number-strip"] {
|
|
84
73
|
transition-duration: 0ms;
|
|
85
|
-
visibility: hidden;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
[data-component="animated-number"]
|
|
89
|
-
[data-slot="animated-number-digit"][data-animating]
|
|
90
|
-
[data-slot="animated-number-static"] {
|
|
91
|
-
visibility: visible;
|
|
92
74
|
}
|
|
93
75
|
}
|
|
@@ -43,10 +43,10 @@ function Digit(props: { value: number; direction: 1 | -1 }) {
|
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
return (
|
|
46
|
-
<span data-slot="animated-number-digit"
|
|
47
|
-
<span data-slot="animated-number-static">{props.value}</span>
|
|
46
|
+
<span data-slot="animated-number-digit">
|
|
48
47
|
<span
|
|
49
48
|
data-slot="animated-number-strip"
|
|
49
|
+
data-animating={animating() ? "true" : "false"}
|
|
50
50
|
onTransitionEnd={() => {
|
|
51
51
|
setState("animating", false)
|
|
52
52
|
setState("step", (value) => normalize(value) + 10)
|
package/src/components/card.css
CHANGED
|
@@ -92,3 +92,24 @@
|
|
|
92
92
|
padding-left: var(--card-indent);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
+
|
|
96
|
+
body:not([data-new-layout]) [data-component="card"] {
|
|
97
|
+
color: var(--text-strong);
|
|
98
|
+
--card-accent: var(--icon-active);
|
|
99
|
+
|
|
100
|
+
:where([data-card="title"], [data-slot="card-title"]) {
|
|
101
|
+
color: var(--text-strong);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:where([data-slot="card-title-icon"][data-placeholder]) [data-component="icon"] {
|
|
105
|
+
color: var(--text-weak);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
:where([data-card="description"], [data-slot="card-description"]) {
|
|
109
|
+
color: var(--text-base);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&[data-variant="error"] {
|
|
113
|
+
--card-accent: var(--icon-critical-base) !important;
|
|
114
|
+
}
|
|
115
|
+
}
|
package/src/components/card.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ComponentProps,
|
|
1
|
+
import { type ComponentProps, splitProps } from "solid-js"
|
|
2
2
|
import { Icon, type IconProps } from "./icon"
|
|
3
3
|
|
|
4
4
|
type Variant = "normal" | "error" | "warning" | "success" | "info"
|
|
@@ -80,11 +80,11 @@ export function CardTitle(props: CardTitleProps) {
|
|
|
80
80
|
[split.class ?? ""]: !!split.class,
|
|
81
81
|
}}
|
|
82
82
|
>
|
|
83
|
-
|
|
83
|
+
{show() ? (
|
|
84
84
|
<span data-slot="card-title-icon" data-placeholder={placeholder() || undefined}>
|
|
85
85
|
<Icon name={name() ?? "dash"} size="small" />
|
|
86
86
|
</span>
|
|
87
|
-
|
|
87
|
+
) : null}
|
|
88
88
|
{split.children}
|
|
89
89
|
</div>
|
|
90
90
|
)
|
package/src/components/icon.tsx
CHANGED
|
@@ -10,7 +10,6 @@ const icons = {
|
|
|
10
10
|
prompt: `<path d="M14.5841 12.0807H17.9193V2.91406H5.6276V6.2474M14.5859 6.2474H2.08594V15.4141H5.0026V17.4974L8.7526 15.4141H14.5859V6.2474Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
11
11
|
brain: `<path d="M13.332 8.7487C11.4911 8.7487 9.9987 7.25631 9.9987 5.41536M6.66536 11.2487C8.50631 11.2487 9.9987 12.7411 9.9987 14.582M9.9987 2.78209L9.9987 17.0658M16.004 15.0475C17.1255 14.5876 17.9154 13.4849 17.9154 12.1978C17.9154 11.3363 17.5615 10.5575 16.9913 9.9987C17.5615 9.43991 17.9154 8.66108 17.9154 7.79962C17.9154 6.21199 16.7136 4.90504 15.1702 4.73878C14.7858 3.21216 13.4039 2.08203 11.758 2.08203C11.1171 2.08203 10.5162 2.25337 9.9987 2.55275C9.48117 2.25337 8.88032 2.08203 8.23944 2.08203C6.59353 2.08203 5.21157 3.21216 4.82722 4.73878C3.28377 4.90504 2.08203 6.21199 2.08203 7.79962C2.08203 8.66108 2.43585 9.43991 3.00609 9.9987C2.43585 10.5575 2.08203 11.3363 2.08203 12.1978C2.08203 13.4849 2.87191 14.5876 3.99339 15.0475C4.46688 16.7033 5.9917 17.9154 7.79962 17.9154C8.61335 17.9154 9.36972 17.6698 9.9987 17.2488C10.6277 17.6698 11.384 17.9154 12.1978 17.9154C14.0057 17.9154 15.5305 16.7033 16.004 15.0475Z" stroke="currentColor"/>`,
|
|
12
12
|
fork: `<path d="M2.91602 7.91406L2.91602 2.91406H7.91602M12.0827 2.91406H17.0827L17.0827 7.91406M9.99935 9.9974L9.99935 17.0807M9.99935 9.9974L3.33268 3.33073M9.99935 9.9974L16.666 3.33073" stroke="currentColor" stroke-linecap="square"/>`,
|
|
13
|
-
"workspace-isolated": `<g transform="translate(2 2)"><path d="M10.5 10.5V5.5H5.5V10.5H10.5Z" fill="currentColor"/><rect x="2.5" y="2.5" width="11" height="11" stroke="currentColor"/></g>`,
|
|
14
13
|
"bullet-list": `<path d="M9.58329 13.7497H17.0833M9.58329 6.24967H17.0833M6.24996 6.24967C6.24996 7.17015 5.50377 7.91634 4.58329 7.91634C3.66282 7.91634 2.91663 7.17015 2.91663 6.24967C2.91663 5.3292 3.66282 4.58301 4.58329 4.58301C5.50377 4.58301 6.24996 5.3292 6.24996 6.24967ZM6.24996 13.7497C6.24996 14.6701 5.50377 15.4163 4.58329 15.4163C3.66282 15.4163 2.91663 14.6701 2.91663 13.7497C2.91663 12.8292 3.66282 12.083 4.58329 12.083C5.50377 12.083 6.24996 12.8292 6.24996 13.7497Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
15
14
|
"check-small": `<path d="M6.5 11.4412L8.97059 13.5L13.5 6.5" stroke="currentColor" stroke-linecap="square"/>`,
|
|
16
15
|
"chevron-down": `<path d="M6.6665 8.33325L9.99984 11.6666L13.3332 8.33325" stroke="currentColor" stroke-linecap="square"/>`,
|
|
@@ -104,11 +103,6 @@ const icons = {
|
|
|
104
103
|
link: `<path d="M2.08334 12.0833L1.72979 11.7298L1.37624 12.0833L1.72979 12.4369L2.08334 12.0833ZM7.91668 17.9167L7.56312 18.2702L7.91668 18.6238L8.27023 18.2702L7.91668 17.9167ZM17.9167 7.91666L18.2702 8.27022L18.6238 7.91666L18.2702 7.56311L17.9167 7.91666ZM12.0833 2.08333L12.4369 1.72977L12.0833 1.37622L11.7298 1.72977L12.0833 2.08333ZM8.39646 5.06311L8.0429 5.41666L8.75001 6.12377L9.10356 5.77021L8.75001 5.41666L8.39646 5.06311ZM5.77023 9.10355L6.12378 8.74999L5.41668 8.04289L5.06312 8.39644L5.41668 8.74999L5.77023 9.10355ZM14.2298 10.8964L13.8762 11.25L14.5833 11.9571L14.9369 11.6035L14.5833 11.25L14.2298 10.8964ZM11.6036 14.9369L11.9571 14.5833L11.25 13.8762L10.8965 14.2298L11.25 14.5833L11.6036 14.9369ZM7.14646 12.1464L6.7929 12.5L7.50001 13.2071L7.85356 12.8535L7.50001 12.5L7.14646 12.1464ZM12.8536 7.85355L13.2071 7.49999L12.5 6.79289L12.1465 7.14644L12.5 7.49999L12.8536 7.85355ZM2.08334 12.0833L1.72979 12.4369L7.56312 18.2702L7.91668 17.9167L8.27023 17.5631L2.4369 11.7298L2.08334 12.0833ZM17.9167 7.91666L18.2702 7.56311L12.4369 1.72977L12.0833 2.08333L11.7298 2.43688L17.5631 8.27022L17.9167 7.91666ZM12.0833 2.08333L11.7298 1.72977L8.39646 5.06311L8.75001 5.41666L9.10356 5.77021L12.4369 2.43688L12.0833 2.08333ZM5.41668 8.74999L5.06312 8.39644L1.72979 11.7298L2.08334 12.0833L2.4369 12.4369L5.77023 9.10355L5.41668 8.74999ZM14.5833 11.25L14.9369 11.6035L18.2702 8.27022L17.9167 7.91666L17.5631 7.56311L14.2298 10.8964L14.5833 11.25ZM7.91668 17.9167L8.27023 18.2702L11.6036 14.9369L11.25 14.5833L10.8965 14.2298L7.56312 17.5631L7.91668 17.9167ZM7.50001 12.5L7.85356 12.8535L12.8536 7.85355L12.5 7.49999L12.1465 7.14644L7.14646 12.1464L7.50001 12.5Z" fill="currentColor"/>`,
|
|
105
104
|
providers: `<path d="M10.0001 4.37562V2.875M13 4.37793V2.87793M7.00014 4.37793V2.875M10 17.1279V15.6279M13 17.1279V15.6279M7 17.1279V15.6279M15.625 13.0029H17.125M15.625 7.00293H17.125M15.625 10.0029H17.125M2.875 10.0029H4.375M2.875 13.0029H4.375M2.875 7.00293H4.375M4.375 4.37793H15.625V15.6279H4.375V4.37793ZM12.6241 10.0022C12.6241 11.4519 11.4488 12.6272 9.99908 12.6272C8.54934 12.6272 7.37408 11.4519 7.37408 10.0022C7.37408 8.55245 8.54934 7.3772 9.99908 7.3772C11.4488 7.3772 12.6241 8.55245 12.6241 10.0022Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
106
105
|
models: `<path fill-rule="evenodd" clip-rule="evenodd" d="M17.5 10C12.2917 10 10 12.2917 10 17.5C10 12.2917 7.70833 10 2.5 10C7.70833 10 10 7.70833 10 2.5C10 7.70833 12.2917 10 17.5 10Z" stroke="currentColor"/>`,
|
|
107
|
-
appearance: `<path d="M2.707 14.707L14.707 2.707M2.707 9.06L9.06 2.707M2.707 3.413L3.413 2.707M8.354 14.707L14.707 8.354M14.000 14.706L14.706 14.000" stroke="currentColor" stroke-linecap="square"/>`,
|
|
108
|
-
notifications: `<path d="M15.389 7.278V9.611C15.389 10.593 15.389 11.389 15.389 11.389H11.833M6.056 11.389H2.5C2.5 11.389 2.5 10.593 2.5 9.611V4.278C2.5 3.296 2.5 2.5 2.5 2.5H9.945M6.056 11.389V13.611H8.944H11.833V11.389M6.056 11.389H11.833" stroke="currentColor"/><circle cx="14.5" cy="4.5" r="2" stroke="currentColor" fill="currentColor"/>`,
|
|
109
|
-
extensions: `<path d="M9.166 6.805V9.305M11.834 6.805V9.305M6.5 6.805V9.305M2.5 2.5V13.61H15.833V2.5H2.5Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
110
|
-
cube: `<path d="M10 2.5L16.5 6.25V13.75L10 17.5L3.5 13.75V6.25L10 2.5Z" stroke="currentColor"/><path d="M10 10L16.5 6.25M10 10V17.5M10 10L3.5 6.25" stroke="currentColor"/>`,
|
|
111
|
-
"post-skill": `<rect x="2.5" y="3.5" width="15" height="13" rx="1.5" stroke="currentColor"/><path d="M5.5 7.5H10.5M5.5 10.5H14.5" stroke="currentColor"/>`,
|
|
112
106
|
"arrow-undo-down": `<path d="M4.08333 11.0859L1.75 8.7526L4.08333 6.41927M2.33333 8.7526L12.5417 8.7526L12.5417 3.21094L7 3.21094" stroke="currentColor" stroke-width="1" stroke-linecap="square"/>`,
|
|
113
107
|
}
|
|
114
108
|
|
package/src/components/list.tsx
CHANGED
|
@@ -367,11 +367,9 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
|
|
|
367
367
|
</span>
|
|
368
368
|
)}
|
|
369
369
|
</Show>
|
|
370
|
-
|
|
371
|
-
when={props.divider && (i() !== group.items.length - 1 || (showAdd() && isLastGroup()))}
|
|
372
|
-
>
|
|
370
|
+
{props.divider && (i() !== group.items.length - 1 || (showAdd() && isLastGroup())) && (
|
|
373
371
|
<span data-slot="list-item-divider" />
|
|
374
|
-
|
|
372
|
+
)}
|
|
375
373
|
</button>
|
|
376
374
|
)
|
|
377
375
|
if (props.itemWrapper) return props.itemWrapper(item, node)
|
|
@@ -9,7 +9,7 @@ export type ProviderIconProps = JSX.SVGElementTags["svg"] & {
|
|
|
9
9
|
|
|
10
10
|
export const ProviderIcon: Component<ProviderIconProps> = (props) => {
|
|
11
11
|
const [local, rest] = splitProps(props, ["id", "class", "classList"])
|
|
12
|
-
const resolved = createMemo(() => (iconNames.includes(local.id as IconName) ? local.id : "
|
|
12
|
+
const resolved = createMemo(() => (iconNames.includes(local.id as IconName) ? local.id : "synthetic"))
|
|
13
13
|
return (
|
|
14
14
|
<svg
|
|
15
15
|
data-component="provider-icon"
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
createEffect,
|
|
3
|
+
createMemo,
|
|
4
|
+
mergeProps,
|
|
5
|
+
onCleanup,
|
|
6
|
+
onMount,
|
|
7
|
+
Show,
|
|
8
|
+
splitProps,
|
|
9
|
+
type Accessor,
|
|
10
|
+
type ComponentProps,
|
|
11
|
+
} from "solid-js"
|
|
2
12
|
import { Portal } from "solid-js/web"
|
|
3
13
|
import { createResizeObserver } from "@solid-primitives/resize-observer"
|
|
4
14
|
import { createStore } from "solid-js/store"
|
|
@@ -17,9 +27,9 @@ export interface ScrollViewProps extends ComponentProps<"div"> {
|
|
|
17
27
|
* */
|
|
18
28
|
thumbVisibility?: ScrollViewThumbVisibility
|
|
19
29
|
/** Mount the thumb into an external track. Scroll metrics still come from this ScrollView. */
|
|
20
|
-
thumbContainer?: HTMLElement
|
|
30
|
+
thumbContainer?: HTMLElement | Accessor<HTMLElement | undefined>
|
|
21
31
|
/** Element whose hover reveals the thumb. Defaults to the ScrollView root when unset. */
|
|
22
|
-
thumbHoverTarget?: HTMLElement
|
|
32
|
+
thumbHoverTarget?: HTMLElement | Accessor<HTMLElement | undefined>
|
|
23
33
|
}
|
|
24
34
|
|
|
25
35
|
export const scrollKey = (event: Pick<KeyboardEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey">) => {
|
|
@@ -118,8 +128,13 @@ export function ScrollView(props: ScrollViewProps) {
|
|
|
118
128
|
let viewportRef!: HTMLDivElement
|
|
119
129
|
let thumbRef!: HTMLDivElement
|
|
120
130
|
|
|
121
|
-
const
|
|
122
|
-
|
|
131
|
+
const resolveEl = (value: HTMLElement | Accessor<HTMLElement | undefined> | undefined) => {
|
|
132
|
+
if (typeof value === "function") return value()
|
|
133
|
+
return value
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const thumbMount = createMemo(() => resolveEl(local.thumbContainer))
|
|
137
|
+
const thumbHover = createMemo(() => resolveEl(local.thumbHoverTarget))
|
|
123
138
|
const hoverRoot = () => !local.thumbHoverTarget && !local.thumbContainer
|
|
124
139
|
|
|
125
140
|
const [state, setState] = createStore({
|
package/src/components/tabs.css
CHANGED
|
@@ -685,10 +685,10 @@
|
|
|
685
685
|
position: relative;
|
|
686
686
|
}
|
|
687
687
|
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
688
|
+
body[data-new-layout] #review-panel [data-component="tabs"],
|
|
689
|
+
body[data-new-layout] #terminal-panel [data-component="tabs"],
|
|
690
|
+
body[data-new-layout] #review-panel [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"],
|
|
691
|
+
body[data-new-layout] #terminal-panel [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"] {
|
|
692
692
|
background-color: var(--v2-background-bg-base);
|
|
693
693
|
|
|
694
694
|
[data-slot="tabs-list"] {
|
|
@@ -708,7 +708,7 @@
|
|
|
708
708
|
}
|
|
709
709
|
}
|
|
710
710
|
|
|
711
|
-
|
|
711
|
+
body[data-new-layout] #review-panel [data-component="tabs"][data-variant="normal"][data-orientation="horizontal"] {
|
|
712
712
|
[data-slot="tabs-list"] {
|
|
713
713
|
height: 52px;
|
|
714
714
|
padding-inline-end: 12px;
|
|
@@ -774,7 +774,7 @@
|
|
|
774
774
|
}
|
|
775
775
|
}
|
|
776
776
|
|
|
777
|
-
|
|
777
|
+
body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-tabs-bar {
|
|
778
778
|
width: 100%;
|
|
779
779
|
min-width: 0;
|
|
780
780
|
gap: 8px;
|
|
@@ -783,9 +783,8 @@
|
|
|
783
783
|
background-color: var(--v2-background-bg-base);
|
|
784
784
|
}
|
|
785
785
|
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
body
|
|
786
|
+
body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-tabs-bar [data-slot="tabs-list"],
|
|
787
|
+
body[data-new-layout]
|
|
789
788
|
#review-panel
|
|
790
789
|
[data-component="tabs"][data-variant="normal"][data-orientation="horizontal"]
|
|
791
790
|
.session-review-v2-tabs-bar
|
|
@@ -796,7 +795,12 @@
|
|
|
796
795
|
border-bottom: none;
|
|
797
796
|
}
|
|
798
797
|
|
|
799
|
-
|
|
798
|
+
body[data-new-layout]
|
|
799
|
+
#review-panel
|
|
800
|
+
[data-component="tabs"]
|
|
801
|
+
.session-review-v2-tabs-bar
|
|
802
|
+
[data-slot="tabs-list"]
|
|
803
|
+
> .sticky {
|
|
800
804
|
padding-inline-end: 0;
|
|
801
805
|
|
|
802
806
|
[data-component="icon-button-v2"] {
|
|
@@ -816,8 +820,7 @@
|
|
|
816
820
|
}
|
|
817
821
|
}
|
|
818
822
|
|
|
819
|
-
|
|
820
|
-
body
|
|
823
|
+
body[data-new-layout]
|
|
821
824
|
#review-panel
|
|
822
825
|
[data-component="tabs"]
|
|
823
826
|
.session-review-v2-tabs-bar
|
|
@@ -828,8 +831,7 @@
|
|
|
828
831
|
inset-inline-end: 0;
|
|
829
832
|
}
|
|
830
833
|
|
|
831
|
-
|
|
832
|
-
body
|
|
834
|
+
body[data-new-layout]
|
|
833
835
|
#review-panel
|
|
834
836
|
[data-component="tabs"]
|
|
835
837
|
.session-review-v2-tabs-bar
|
|
@@ -877,11 +879,11 @@
|
|
|
877
879
|
}
|
|
878
880
|
}
|
|
879
881
|
|
|
880
|
-
|
|
882
|
+
body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-open-in-app-slot {
|
|
881
883
|
flex-shrink: 0;
|
|
882
884
|
margin-inline-start: auto;
|
|
883
885
|
}
|
|
884
886
|
|
|
885
|
-
|
|
887
|
+
body[data-new-layout] #review-panel [data-component="tabs"] .session-review-v2-open-in-app {
|
|
886
888
|
flex-shrink: 0;
|
|
887
889
|
}
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
--text-shimmer-index: 0;
|
|
6
6
|
--text-shimmer-angle: 90deg;
|
|
7
7
|
--text-shimmer-spread: 5.2ch;
|
|
8
|
-
--text-shimmer-
|
|
9
|
-
--text-shimmer-size: calc(200% + var(--text-shimmer-gutter) + var(--text-shimmer-gutter));
|
|
8
|
+
--text-shimmer-size: 360%;
|
|
10
9
|
--text-shimmer-base-color: var(--text-weak);
|
|
11
10
|
--text-shimmer-peak-color: var(--text-strong);
|
|
12
11
|
--text-shimmer-sweep: linear-gradient(
|
package/src/components/toast.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Toast as Kobalte, toaster } from "@kobalte/core/toast"
|
|
2
2
|
import type { ToastRootProps, ToastCloseButtonProps, ToastTitleProps, ToastDescriptionProps } from "@kobalte/core/toast"
|
|
3
3
|
import type { ComponentProps, JSX } from "solid-js"
|
|
4
|
-
import {
|
|
4
|
+
import { Show } from "solid-js"
|
|
5
5
|
import { Portal } from "solid-js/web"
|
|
6
6
|
import { useI18n } from "../context/i18n"
|
|
7
7
|
import { Icon, type IconProps } from "./icon"
|
|
@@ -136,21 +136,19 @@ export function showToast(options: ToastOptions | string) {
|
|
|
136
136
|
</Show>
|
|
137
137
|
<Show when={opts.actions?.length}>
|
|
138
138
|
<Toast.Actions>
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
onClick
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
)}
|
|
153
|
-
</For>
|
|
139
|
+
{opts.actions!.map((action) => (
|
|
140
|
+
<button
|
|
141
|
+
data-slot="toast-action"
|
|
142
|
+
onClick={() => {
|
|
143
|
+
if (typeof action.onClick === "function") {
|
|
144
|
+
action.onClick()
|
|
145
|
+
}
|
|
146
|
+
toaster.dismiss(props.toastId)
|
|
147
|
+
}}
|
|
148
|
+
>
|
|
149
|
+
{action.label}
|
|
150
|
+
</button>
|
|
151
|
+
))}
|
|
154
152
|
</Toast.Actions>
|
|
155
153
|
</Show>
|
|
156
154
|
</Toast.Content>
|
package/src/context/i18n.tsx
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { createContext, useContext, type Accessor, type ParentProps } from "solid-js"
|
|
2
2
|
import { I18nProvider } from "@kobalte/core/i18n"
|
|
3
3
|
import { dict as en } from "../i18n/en"
|
|
4
|
-
import type { Key, LocaleKey, PluralCategory, PluralKey, PluralLookupKey } from "../i18n/en"
|
|
5
4
|
|
|
6
|
-
export type UiI18nKey =
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
export type UiI18nKey = keyof typeof en
|
|
6
|
+
|
|
7
|
+
export const UI_PLURAL_KEYS = [
|
|
8
|
+
"ui.sessionTurn.diffs.changed",
|
|
9
|
+
"ui.messagePart.context.read",
|
|
10
|
+
"ui.messagePart.context.search",
|
|
11
|
+
"ui.messagePart.context.list",
|
|
12
|
+
] as const
|
|
13
|
+
export type UiI18nPluralKey = (typeof UI_PLURAL_KEYS)[number]
|
|
14
|
+
export type UiPluralCategory = "zero" | "one" | "two" | "few" | "many" | "other"
|
|
15
|
+
export type UiI18nPluralLookupKey = `${UiI18nPluralKey}.${UiPluralCategory}`
|
|
12
16
|
|
|
13
17
|
export type UiI18nParams = Record<string, string | number | boolean>
|
|
14
|
-
export type UiTranslate = <Value extends string>(key: UiTranslationKey<Value>, params?: UiI18nParams) => string
|
|
15
18
|
|
|
16
19
|
export type UiI18n = {
|
|
17
20
|
locale: Accessor<string>
|
|
18
21
|
layoutLocale?: Accessor<string>
|
|
19
|
-
t:
|
|
22
|
+
t: (key: UiI18nKey, params?: UiI18nParams) => string
|
|
20
23
|
plural: (key: UiI18nPluralKey, count: number, params?: UiI18nParams) => string
|
|
21
|
-
pluralForm?: (key: UiI18nPluralKey, category: UiPluralCategory, params?: UiI18nParams) => string
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
const rules = new Map<string, Intl.PluralRules>()
|
|
@@ -48,16 +50,11 @@ function resolveTemplate(text: string, params?: UiI18nParams) {
|
|
|
48
50
|
const fallback: UiI18n = {
|
|
49
51
|
locale: () => "en",
|
|
50
52
|
t: (key, params) => {
|
|
51
|
-
const value = en[key
|
|
53
|
+
const value = en[key] ?? String(key)
|
|
52
54
|
return resolveTemplate(value, params)
|
|
53
55
|
},
|
|
54
56
|
plural: (key, count, params) =>
|
|
55
|
-
fallback.
|
|
56
|
-
pluralForm: (key, category, params) => {
|
|
57
|
-
const values = en as Partial<Record<UiI18nLocaleKey, string>>
|
|
58
|
-
const value = values[pluralKey(key, category)] ?? values[`${key}.other`] ?? `${key}.other`
|
|
59
|
-
return resolveTemplate(value, params)
|
|
60
|
-
},
|
|
57
|
+
fallback.t(pluralKey(key, pluralCategory(fallback.locale(), count)), { ...params, count }),
|
|
61
58
|
}
|
|
62
59
|
|
|
63
60
|
const Context = createContext<UiI18n>(fallback)
|
|
@@ -186,26 +186,6 @@ export function createAutoScroll(options: AutoScrollOptions) {
|
|
|
186
186
|
},
|
|
187
187
|
)
|
|
188
188
|
|
|
189
|
-
createEffect(() => {
|
|
190
|
-
const el = store.scrollRef
|
|
191
|
-
if (!el) return
|
|
192
|
-
const root = el.closest("main")
|
|
193
|
-
if (!root) return
|
|
194
|
-
let connected = el.isConnected
|
|
195
|
-
const contains = (node: Node) => node === el || (node instanceof Element && node.contains(el))
|
|
196
|
-
const observer = new MutationObserver((records) => {
|
|
197
|
-
records.forEach((record) => {
|
|
198
|
-
if ([...record.removedNodes].some(contains)) connected = false
|
|
199
|
-
if (!record.addedNodes.length || ![...record.addedNodes].some(contains)) return
|
|
200
|
-
const reattached = !connected
|
|
201
|
-
connected = true
|
|
202
|
-
if (reattached) scrollToBottom(false)
|
|
203
|
-
})
|
|
204
|
-
})
|
|
205
|
-
observer.observe(root, { childList: true })
|
|
206
|
-
onCleanup(() => observer.disconnect())
|
|
207
|
-
})
|
|
208
|
-
|
|
209
189
|
createEffect(
|
|
210
190
|
on(options.working, (working: boolean) => {
|
|
211
191
|
settling = false
|
package/src/i18n/am.ts
CHANGED
|
@@ -142,6 +142,8 @@ export const dict: Record<string, string> = {
|
|
|
142
142
|
"ui.tool.websearch.provider": "{{provider}}ድር ፍለጋ",
|
|
143
143
|
"ui.tool.shell": "ሼል",
|
|
144
144
|
"ui.tool.patch": "Patch",
|
|
145
|
+
"ui.tool.todos": "የሚደረጉ ነገሮች",
|
|
146
|
+
"ui.tool.todos.read": "ወደ-ድርጊት አንብብ",
|
|
145
147
|
"ui.tool.questions": "ጥያቄዎች",
|
|
146
148
|
"ui.tool.questions.numbered": "ጥያቄዎች {{number}}",
|
|
147
149
|
"ui.tool.agent": "{{type}} ወኪል",
|
package/src/i18n/ar.ts
CHANGED
|
@@ -167,6 +167,8 @@ export const dict = {
|
|
|
167
167
|
"ui.tool.websearch.provider": "{{provider}} بحث الويب",
|
|
168
168
|
"ui.tool.shell": "Shell",
|
|
169
169
|
"ui.tool.patch": "تطبيق رقعة",
|
|
170
|
+
"ui.tool.todos": "المهام",
|
|
171
|
+
"ui.tool.todos.read": "قراءة المهام",
|
|
170
172
|
"ui.tool.questions": "أسئلة",
|
|
171
173
|
"ui.tool.questions.numbered": "أسئلة {{number}}",
|
|
172
174
|
"ui.tool.agent": "وكيل {{type}}",
|
package/src/i18n/az.ts
CHANGED
|
@@ -143,6 +143,8 @@ export const dict: Record<string, string> = {
|
|
|
143
143
|
"ui.tool.websearch.provider": "{{provider}} Veb axtarışı",
|
|
144
144
|
"ui.tool.shell": "Shell",
|
|
145
145
|
"ui.tool.patch": "Patch",
|
|
146
|
+
"ui.tool.todos": "Tapşırıqlar",
|
|
147
|
+
"ui.tool.todos.read": "Tapşırıqları oxu",
|
|
146
148
|
"ui.tool.questions": "Suallar",
|
|
147
149
|
"ui.tool.questions.numbered": "Suallar {{number}}",
|
|
148
150
|
"ui.tool.agent": "{{type}} Agent",
|
package/src/i18n/bg.ts
CHANGED
|
@@ -143,6 +143,8 @@ export const dict = {
|
|
|
143
143
|
"ui.tool.websearch.provider": "{{provider}} Търсене в мрежата",
|
|
144
144
|
"ui.tool.shell": "Shell",
|
|
145
145
|
"ui.tool.patch": "Patch",
|
|
146
|
+
"ui.tool.todos": "Задачи",
|
|
147
|
+
"ui.tool.todos.read": "Прочетете задачи",
|
|
146
148
|
"ui.tool.questions": "Въпроси",
|
|
147
149
|
"ui.tool.questions.numbered": "Въпроси {{number}}",
|
|
148
150
|
"ui.tool.agent": "{{type}} Агент",
|
package/src/i18n/bn.ts
CHANGED
|
@@ -145,6 +145,8 @@ export const dict: Record<string, string> = {
|
|
|
145
145
|
"ui.tool.websearch.provider": "{{provider}} Web Search",
|
|
146
146
|
"ui.tool.shell": "শেল",
|
|
147
147
|
"ui.tool.patch": "প্যাচ",
|
|
148
|
+
"ui.tool.todos": "করণীয়",
|
|
149
|
+
"ui.tool.todos.read": "করণীয় পড়ুন",
|
|
148
150
|
"ui.tool.questions": "প্রশ্ন",
|
|
149
151
|
"ui.tool.questions.numbered": "প্রশ্ন {{number}}",
|
|
150
152
|
"ui.tool.agent": "{{type}} এজেন্ট",
|
package/src/i18n/br.ts
CHANGED
|
@@ -155,6 +155,8 @@ export const dict = {
|
|
|
155
155
|
"ui.tool.websearch.provider": "{{provider}} Pesquisa na web",
|
|
156
156
|
"ui.tool.shell": "Shell",
|
|
157
157
|
"ui.tool.patch": "Patch",
|
|
158
|
+
"ui.tool.todos": "Tarefas",
|
|
159
|
+
"ui.tool.todos.read": "Ler tarefas",
|
|
158
160
|
"ui.tool.questions": "Perguntas",
|
|
159
161
|
"ui.tool.questions.numbered": "Perguntas {{number}}",
|
|
160
162
|
"ui.tool.agent": "Agente {{type}}",
|
package/src/i18n/bs.ts
CHANGED
|
@@ -159,6 +159,8 @@ export const dict = {
|
|
|
159
159
|
"ui.tool.websearch.provider": "{{provider}} Pretraga weba",
|
|
160
160
|
"ui.tool.shell": "Shell",
|
|
161
161
|
"ui.tool.patch": "Patch",
|
|
162
|
+
"ui.tool.todos": "Lista zadataka",
|
|
163
|
+
"ui.tool.todos.read": "Čitanje liste zadataka",
|
|
162
164
|
"ui.tool.questions": "Pitanja",
|
|
163
165
|
"ui.tool.questions.numbered": "Pitanja {{number}}",
|
|
164
166
|
"ui.tool.agent": "{{type}} agent",
|
package/src/i18n/ca.ts
CHANGED
|
@@ -147,6 +147,8 @@ export const dict: Record<string, string> = {
|
|
|
147
147
|
"ui.tool.websearch.provider": "{{provider}} Cerca web",
|
|
148
148
|
"ui.tool.shell": "Shell",
|
|
149
149
|
"ui.tool.patch": "Pedaç",
|
|
150
|
+
"ui.tool.todos": "Coses pendents",
|
|
151
|
+
"ui.tool.todos.read": "Llegir tasques pendents",
|
|
150
152
|
"ui.tool.questions": "Preguntes",
|
|
151
153
|
"ui.tool.questions.numbered": "Preguntes {{number}}",
|
|
152
154
|
"ui.tool.agent": "{{type}} Agent",
|
package/src/i18n/cs.ts
CHANGED
|
@@ -151,6 +151,8 @@ export const dict: Record<string, string> = {
|
|
|
151
151
|
"ui.tool.websearch.provider": "{{provider}} Vyhledávání na webu",
|
|
152
152
|
"ui.tool.shell": "Shell",
|
|
153
153
|
"ui.tool.patch": "Patch",
|
|
154
|
+
"ui.tool.todos": "Úkoly",
|
|
155
|
+
"ui.tool.todos.read": "Přečtěte si úkoly",
|
|
154
156
|
"ui.tool.questions": "Otázky",
|
|
155
157
|
"ui.tool.questions.numbered": "Otázky {{number}}",
|
|
156
158
|
"ui.tool.agent": "{{type}} Agent",
|
package/src/i18n/da.ts
CHANGED
|
@@ -130,6 +130,8 @@ export const dict = {
|
|
|
130
130
|
"ui.tool.websearch.provider": "{{provider}} Websøgning",
|
|
131
131
|
"ui.tool.shell": "Shell",
|
|
132
132
|
"ui.tool.patch": "Patch",
|
|
133
|
+
"ui.tool.todos": "Opgaver",
|
|
134
|
+
"ui.tool.todos.read": "Læs opgaver",
|
|
133
135
|
"ui.tool.questions": "Spørgsmål",
|
|
134
136
|
"ui.tool.questions.numbered": "Spørgsmål {{number}}",
|
|
135
137
|
"ui.tool.agent": "{{type}}-agent",
|
package/src/i18n/de.ts
CHANGED
|
@@ -137,6 +137,8 @@ export const dict = {
|
|
|
137
137
|
"ui.tool.websearch.provider": "{{provider}} Web-Suche",
|
|
138
138
|
"ui.tool.shell": "Shell",
|
|
139
139
|
"ui.tool.patch": "Patch",
|
|
140
|
+
"ui.tool.todos": "Aufgaben",
|
|
141
|
+
"ui.tool.todos.read": "Aufgaben lesen",
|
|
140
142
|
"ui.tool.questions": "Fragen",
|
|
141
143
|
"ui.tool.questions.numbered": "Fragen {{number}}",
|
|
142
144
|
"ui.tool.agent": "{{type}}-Agent",
|
package/src/i18n/dv.ts
CHANGED
|
@@ -144,6 +144,8 @@ export const dict: Record<string, string> = {
|
|
|
144
144
|
"ui.tool.websearch.provider": "{{provider}} ވެބް ސަރޗް",
|
|
145
145
|
"ui.tool.shell": "ޝެލް",
|
|
146
146
|
"ui.tool.patch": "ޕެޗް",
|
|
147
|
+
"ui.tool.todos": "ޓޫ-ޑޯސް",
|
|
148
|
+
"ui.tool.todos.read": "ޓޫ-ޑޯސް ކިޔާށެވެ",
|
|
147
149
|
"ui.tool.questions": "ސުވާލުތަކެވެ",
|
|
148
150
|
"ui.tool.questions.numbered": "ސުވާލުތައް {{number}}",
|
|
149
151
|
"ui.tool.agent": "{{type}} އޭޖެންޓް",
|
package/src/i18n/dz.ts
CHANGED
|
@@ -145,6 +145,8 @@ export const dict: Record<string, string> = {
|
|
|
145
145
|
"ui.tool.websearch.provider": "{{provider}} Web Search",
|
|
146
146
|
"ui.tool.shell": "Shell",
|
|
147
147
|
"ui.tool.patch": "ལྷནམ",
|
|
148
|
+
"ui.tool.todos": "འབད་དགོཔ་ཚུ།",
|
|
149
|
+
"ui.tool.todos.read": "ལཱ་འབད་དགོཔ་ལྷག།",
|
|
148
150
|
"ui.tool.questions": "དྲི་བ།",
|
|
149
151
|
"ui.tool.questions.numbered": "དྲི་བ།{{number}}།",
|
|
150
152
|
"ui.tool.agent": "{{type}} ལས་ཚན།",
|
package/src/i18n/el.ts
CHANGED
|
@@ -143,6 +143,8 @@ export const dict: Record<string, string> = {
|
|
|
143
143
|
"ui.tool.websearch.provider": "{{provider}} Αναζήτηση στον Ιστό",
|
|
144
144
|
"ui.tool.shell": "Shell",
|
|
145
145
|
"ui.tool.patch": "Patch",
|
|
146
|
+
"ui.tool.todos": "Εκκρεμότητες",
|
|
147
|
+
"ui.tool.todos.read": "Διαβάστε τις εργασίες",
|
|
146
148
|
"ui.tool.questions": "Ερωτήσεις",
|
|
147
149
|
"ui.tool.questions.numbered": "Ερωτήσεις {{number}}",
|
|
148
150
|
"ui.tool.agent": "Πράκτορας {{type}}",
|
package/src/i18n/en.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
export const dict: Record<string, string> = {
|
|
2
2
|
"ui.sessionReview.title": "Session changes",
|
|
3
3
|
"ui.sessionReview.title.git": "Git changes",
|
|
4
4
|
"ui.sessionReview.title.branch": "Branch changes",
|
|
@@ -108,8 +108,6 @@ const source = {
|
|
|
108
108
|
"ui.messagePart.context.search.other": "{{count}} searches",
|
|
109
109
|
"ui.messagePart.context.list.one": "{{count}} list",
|
|
110
110
|
"ui.messagePart.context.list.other": "{{count}} lists",
|
|
111
|
-
"ui.messagePart.context.match.one": "({{count}} match)",
|
|
112
|
-
"ui.messagePart.context.match.other": "({{count}} matches)",
|
|
113
111
|
|
|
114
112
|
"ui.list.loading": "Loading",
|
|
115
113
|
"ui.list.empty": "No results",
|
|
@@ -160,8 +158,9 @@ const source = {
|
|
|
160
158
|
"ui.tool.websearch": "Web Search",
|
|
161
159
|
"ui.tool.websearch.provider": "{{provider}} Web Search",
|
|
162
160
|
"ui.tool.shell": "Shell",
|
|
163
|
-
"ui.tool.execute": "Execute",
|
|
164
161
|
"ui.tool.patch": "Patch",
|
|
162
|
+
"ui.tool.todos": "To-dos",
|
|
163
|
+
"ui.tool.todos.read": "Read to-dos",
|
|
165
164
|
"ui.tool.questions": "Questions",
|
|
166
165
|
"ui.tool.questions.numbered": "Questions {{number}}",
|
|
167
166
|
"ui.tool.agent": "{{type}} Agent",
|
|
@@ -218,13 +217,4 @@ const source = {
|
|
|
218
217
|
"ui.question.multiHint": "Select all answers that apply",
|
|
219
218
|
"ui.question.singleHint": "Select one answer",
|
|
220
219
|
"ui.question.custom.placeholder": "Type your answer...",
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
export type Key = keyof typeof source
|
|
224
|
-
export type PluralCategory = "zero" | "one" | "two" | "few" | "many" | "other"
|
|
225
|
-
export type PluralKey = {
|
|
226
|
-
[Entry in Key]: Entry extends `${infer Base}.other` ? (`${Base}.one` extends Key ? Base : never) : never
|
|
227
|
-
}[Key]
|
|
228
|
-
export type PluralLookupKey = `${PluralKey}.${PluralCategory}`
|
|
229
|
-
export type LocaleKey = Key | PluralLookupKey
|
|
230
|
-
export const dict: typeof source & Record<string, string> = source
|
|
220
|
+
}
|