@opencode/ui 2.0.1 → 2.0.3
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/scroll-view.d.ts +4 -0
- package/dist/forms/text-input/text-input.d.ts +3 -0
- package/dist/icons/icon/icon.d.ts +12 -0
- package/package.json +1 -1
- package/src/components/scroll-view.tsx +36 -6
- package/src/forms/text-input/text-input.tsx +4 -1
- package/src/icons/icon/additional-icons.ts +17 -7
- package/src/icons/icon/icon.tsx +14 -2
- package/src/styles/tokens/theme.css +2 -2
- package/src/theme/themes/oc-2.json +1 -1
|
@@ -14,6 +14,10 @@ export interface ScrollViewProps extends ComponentProps<"div"> {
|
|
|
14
14
|
thumbContainer?: HTMLElement;
|
|
15
15
|
/** Element whose hover reveals the thumb. Defaults to the ScrollView root when unset. */
|
|
16
16
|
thumbHoverTarget?: HTMLElement;
|
|
17
|
+
/** Reconcile native scroll geometry before keyboard or scrollbar navigation reads it. */
|
|
18
|
+
onBeforeScroll?: () => void;
|
|
19
|
+
/** Offset/extent correction for a virtualized vertical scrollbar. */
|
|
20
|
+
verticalScrollAdjustment?: number;
|
|
17
21
|
}
|
|
18
22
|
export declare const scrollKey: (event: Pick<KeyboardEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey">) => "end" | "home" | "page-down" | "page-up" | "up" | "down" | undefined;
|
|
19
23
|
export declare function canScrollKey(element: HTMLElement, key: NonNullable<ReturnType<typeof scrollKey>>): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ComponentProps, type JSX } from "solid-js";
|
|
2
|
+
import { Icon } from "@opencode/ui/icon";
|
|
2
3
|
import "./text-input.css";
|
|
3
4
|
export interface TextInputProps extends Omit<ComponentProps<"input">, "type"> {
|
|
4
5
|
/** Icon or adornment shown before the field value. */
|
|
@@ -7,6 +8,8 @@ export interface TextInputProps extends Omit<ComponentProps<"input">, "type"> {
|
|
|
7
8
|
showCopyButton?: boolean;
|
|
8
9
|
/** Show the trailing clear action. */
|
|
9
10
|
showClearButton?: boolean;
|
|
11
|
+
/** Icon used by the trailing clear action. */
|
|
12
|
+
clearIcon?: ComponentProps<typeof Icon>["name"];
|
|
10
13
|
/** Accessible label for the copy button. */
|
|
11
14
|
copyLabel?: string;
|
|
12
15
|
/** Accessible label for the clear button. */
|
|
@@ -50,6 +50,10 @@ declare const icons: {
|
|
|
50
50
|
viewBox: string;
|
|
51
51
|
body: string;
|
|
52
52
|
};
|
|
53
|
+
"circle-xmark": {
|
|
54
|
+
viewBox: string;
|
|
55
|
+
body: string;
|
|
56
|
+
};
|
|
53
57
|
"sidebar-right": {
|
|
54
58
|
viewBox: string;
|
|
55
59
|
body: string;
|
|
@@ -158,6 +162,14 @@ declare const icons: {
|
|
|
158
162
|
viewBox: string;
|
|
159
163
|
body: string;
|
|
160
164
|
};
|
|
165
|
+
"graduation-cap": {
|
|
166
|
+
viewBox: string;
|
|
167
|
+
body: string;
|
|
168
|
+
};
|
|
169
|
+
"code-slash": {
|
|
170
|
+
viewBox: string;
|
|
171
|
+
body: string;
|
|
172
|
+
};
|
|
161
173
|
trash: {
|
|
162
174
|
viewBox: string;
|
|
163
175
|
body: string;
|
package/package.json
CHANGED
|
@@ -20,6 +20,10 @@ export interface ScrollViewProps extends ComponentProps<"div"> {
|
|
|
20
20
|
thumbContainer?: HTMLElement
|
|
21
21
|
/** Element whose hover reveals the thumb. Defaults to the ScrollView root when unset. */
|
|
22
22
|
thumbHoverTarget?: HTMLElement
|
|
23
|
+
/** Reconcile native scroll geometry before keyboard or scrollbar navigation reads it. */
|
|
24
|
+
onBeforeScroll?: () => void
|
|
25
|
+
/** Offset/extent correction for a virtualized vertical scrollbar. */
|
|
26
|
+
verticalScrollAdjustment?: number
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
export const scrollKey = (event: Pick<KeyboardEvent, "key" | "altKey" | "ctrlKey" | "metaKey" | "shiftKey">) => {
|
|
@@ -124,6 +128,8 @@ export function ScrollView(props: ScrollViewProps) {
|
|
|
124
128
|
"thumbVisibility",
|
|
125
129
|
"thumbContainer",
|
|
126
130
|
"thumbHoverTarget",
|
|
131
|
+
"onBeforeScroll",
|
|
132
|
+
"verticalScrollAdjustment",
|
|
127
133
|
"style",
|
|
128
134
|
],
|
|
129
135
|
[
|
|
@@ -189,17 +195,19 @@ export function ScrollView(props: ScrollViewProps) {
|
|
|
189
195
|
const minThumbSize = 32
|
|
190
196
|
|
|
191
197
|
if (vertical()) {
|
|
198
|
+
const adjustment = local.verticalScrollAdjustment ?? 0
|
|
199
|
+
const scrollHeight = viewportRef.scrollHeight + adjustment
|
|
192
200
|
const trackSize = Math.max(0, (thumbMount()?.clientHeight || viewportRef.clientHeight) - trackPadding * 2)
|
|
193
201
|
const size = trackSize
|
|
194
|
-
? Math.min(trackSize, Math.max((viewportRef.clientHeight /
|
|
202
|
+
? Math.min(trackSize, Math.max((viewportRef.clientHeight / scrollHeight) * trackSize, minThumbSize))
|
|
195
203
|
: 0
|
|
196
|
-
const maxScroll =
|
|
204
|
+
const maxScroll = scrollHeight - viewportRef.clientHeight
|
|
197
205
|
const maxStart = trackSize - size
|
|
198
206
|
setState("showVerticalThumb", maxScroll > 0)
|
|
199
207
|
setState("verticalThumbSize", size)
|
|
200
208
|
setState(
|
|
201
209
|
"verticalThumbStart",
|
|
202
|
-
trackPadding + (maxScroll > 0 ? (viewportRef.scrollTop / maxScroll) * maxStart : 0),
|
|
210
|
+
trackPadding + (maxScroll > 0 ? ((viewportRef.scrollTop + adjustment) / maxScroll) * maxStart : 0),
|
|
203
211
|
)
|
|
204
212
|
} else {
|
|
205
213
|
setState("showVerticalThumb", false)
|
|
@@ -263,9 +271,17 @@ export function ScrollView(props: ScrollViewProps) {
|
|
|
263
271
|
})
|
|
264
272
|
})
|
|
265
273
|
|
|
274
|
+
const prepareScroll = () => {
|
|
275
|
+
if (local.onBeforeScroll) {
|
|
276
|
+
local.onBeforeScroll()
|
|
277
|
+
updateThumb()
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
266
281
|
const onThumbPointerDown = (axis: "vertical" | "horizontal", e: PointerEvent) => {
|
|
267
282
|
e.preventDefault()
|
|
268
283
|
e.stopPropagation()
|
|
284
|
+
prepareScroll()
|
|
269
285
|
setState("dragging", axis)
|
|
270
286
|
const thumb = axis === "vertical" ? verticalThumbRef : horizontalThumbRef
|
|
271
287
|
const grabOffset =
|
|
@@ -277,6 +293,7 @@ export function ScrollView(props: ScrollViewProps) {
|
|
|
277
293
|
thumb.setPointerCapture(e.pointerId)
|
|
278
294
|
|
|
279
295
|
const onPointerMove = (e: PointerEvent) => {
|
|
296
|
+
prepareScroll()
|
|
280
297
|
const vertical = axis === "vertical"
|
|
281
298
|
const rtl = !vertical && getComputedStyle(viewportRef).direction === "rtl"
|
|
282
299
|
const offset = scrollOffsetFromThumbPointer({
|
|
@@ -355,10 +372,23 @@ export function ScrollView(props: ScrollViewProps) {
|
|
|
355
372
|
return
|
|
356
373
|
}
|
|
357
374
|
const next = scrollKey(e)
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
375
|
+
// Modified navigation (for example Ctrl+Home) stays native, but must read
|
|
376
|
+
// the same reconciled geometry as the keys handled by this component.
|
|
377
|
+
const intent =
|
|
378
|
+
next ??
|
|
379
|
+
scrollKey({
|
|
380
|
+
key: e.key,
|
|
381
|
+
shiftKey: e.key === " " && e.shiftKey,
|
|
382
|
+
altKey: false,
|
|
383
|
+
ctrlKey: false,
|
|
384
|
+
metaKey: false,
|
|
385
|
+
})
|
|
386
|
+
if (!intent) return
|
|
387
|
+
if (!isScrollKeyTarget(e.target, intent)) return
|
|
388
|
+
if (scrollKeyOwner(viewportRef, e.target, intent) !== viewportRef) return
|
|
361
389
|
|
|
390
|
+
prepareScroll()
|
|
391
|
+
if (!next) return
|
|
362
392
|
const scrollAmount = viewportRef.clientHeight * 0.8
|
|
363
393
|
const lineAmount = 40
|
|
364
394
|
|
|
@@ -10,6 +10,8 @@ export interface TextInputProps extends Omit<ComponentProps<"input">, "type"> {
|
|
|
10
10
|
showCopyButton?: boolean
|
|
11
11
|
/** Show the trailing clear action. */
|
|
12
12
|
showClearButton?: boolean
|
|
13
|
+
/** Icon used by the trailing clear action. */
|
|
14
|
+
clearIcon?: ComponentProps<typeof Icon>["name"]
|
|
13
15
|
/** Accessible label for the copy button. */
|
|
14
16
|
copyLabel?: string
|
|
15
17
|
/** Accessible label for the clear button. */
|
|
@@ -33,6 +35,7 @@ export function TextInput(props: TextInputProps) {
|
|
|
33
35
|
"leadingIcon",
|
|
34
36
|
"showCopyButton",
|
|
35
37
|
"showClearButton",
|
|
38
|
+
"clearIcon",
|
|
36
39
|
"copyLabel",
|
|
37
40
|
"clearLabel",
|
|
38
41
|
"onCopyClick",
|
|
@@ -91,7 +94,7 @@ export function TextInput(props: TextInputProps) {
|
|
|
91
94
|
local.onCopyClick?.(event)
|
|
92
95
|
}}
|
|
93
96
|
>
|
|
94
|
-
<Icon name={local.showClearButton ? "xmark-small" : "copy"} />
|
|
97
|
+
<Icon name={local.showClearButton ? (local.clearIcon ?? "xmark-small") : "copy"} />
|
|
95
98
|
</button>
|
|
96
99
|
</Show>
|
|
97
100
|
</div>
|
|
@@ -93,23 +93,33 @@ export const additionalIcons = {
|
|
|
93
93
|
dash: `<rect x="5" y="9.5" width="10" height="1" fill="currentColor"/>`,
|
|
94
94
|
"cloud-upload": `<path d="M12.0833 16.25H15C17.0711 16.25 18.75 14.5711 18.75 12.5C18.75 10.5649 17.2843 8.97217 15.4025 8.77133C15.2 6.13103 12.8586 4.08333 10 4.08333C7.71532 4.08333 5.76101 5.49781 4.96501 7.49881C2.84892 7.90461 1.25 9.76559 1.25 11.6667C1.25 13.9813 3.30203 16.25 5.83333 16.25H7.91667M10 16.25V10.4167M12.0833 11.875L10 9.79167L7.91667 11.875" stroke="currentColor" stroke-linecap="square"/>`,
|
|
95
95
|
trash: `<path d="M4.58342 17.9134L4.58369 17.4134L4.22787 17.5384L4.22766 18.0384H4.58342V17.9134ZM15.4167 17.9134V18.0384H15.7725L15.7723 17.5384L15.4167 17.9134ZM2.08342 3.95508V3.45508H1.58342V3.95508H2.08342V4.45508V3.95508ZM17.9167 4.45508V4.95508H18.4167V4.45508H17.9167V3.95508V4.45508ZM4.16677 4.58008L3.66701 4.5996L4.22816 17.5379L4.72792 17.4934L5.22767 17.4489L4.66652 4.54055L4.16677 4.58008ZM4.58342 18.0384V17.9134H15.4167V18.0384V18.5384H4.58342V18.0384ZM15.4167 17.9134L15.8332 17.5379L16.2498 4.5996L15.7501 4.58008L15.2503 4.56055L14.8337 17.4989L15.4167 17.9134ZM15.8334 4.58008V4.08008H4.16677V4.58008V5.08008H15.8334V4.58008ZM2.08342 4.45508V4.95508H4.16677V4.58008V4.08008H2.08342V4.45508ZM15.8334 4.58008V5.08008H17.9167V4.45508V3.95508H15.8334V4.58008ZM6.83951 4.35149L7.432 4.55047C7.79251 3.47701 8.80699 2.70508 10.0001 2.70508V2.20508V1.70508C8.25392 1.70508 6.77335 2.83539 6.24702 4.15251L6.83951 4.35149ZM10.0001 2.20508V2.70508C11.1932 2.70508 12.2077 3.47701 12.5682 4.55047L13.1607 4.35149L13.7532 4.15251C13.2269 2.83539 11.7463 1.70508 10.0001 1.70508V2.20508Z" fill="currentColor"/>`,
|
|
96
|
-
sliders: `<path d="
|
|
96
|
+
sliders: `<path d="M11.7778 4.66797H14.4444M11.7778 4.66797C11.7778 5.77254 10.8823 6.66797 9.77776 6.66797C8.67319 6.66797 7.77776 5.77254 7.77776 4.66797M11.7778 4.66797C11.7778 3.5634 10.8823 2.66797 9.77776 2.66797C8.67319 2.66797 7.77776 3.5634 7.77776 4.66797M1.55554 4.66797H7.77776M4.22221 11.3346H1.55554M4.22221 11.3346C4.22221 12.4392 5.11764 13.3346 6.22221 13.3346C7.32678 13.3346 8.22221 12.4392 8.22221 11.3346M4.22221 11.3346C4.22221 10.2301 5.11764 9.33464 6.22221 9.33464C7.32678 9.33464 8.22221 10.2301 8.22221 11.3346M14.4444 11.3346H8.22221" stroke="currentColor"/>`,
|
|
97
97
|
keyboard: `<path d="M5.125 7.375V4.375H14.875V2.875M8.3125 13.9375H11.6875M8.125 13.9375H11.875M2.125 7.375H17.875V17.125H2.125V7.375ZM5.5 10.375H5.125V10.75H5.5V10.375ZM8.5 10.375H8.125V10.75H8.5V10.375ZM11.875 10.375H11.5V10.75H11.875V10.375ZM14.875 10.375H14.5V10.75H14.875V10.375ZM14.875 13.75H14.5V14.125H14.875V13.75ZM5.5 13.75H5.125V14.125H5.5V13.75Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
98
98
|
selector: `<path d="M6.66626 12.5033L9.99959 15.8366L13.3329 12.5033M6.66626 7.50326L9.99959 4.16992L13.3329 7.50326" stroke="currentColor" stroke-linecap="square"/>`,
|
|
99
99
|
"arrow-down-to-line": `<path d="M15.2083 11.6667L10 16.875L4.79167 11.6667M10 16.25V3.125" stroke="currentColor" stroke-width="1.25" stroke-linecap="square"/>`,
|
|
100
100
|
warning: `<path d="M10 7.91667V11.6667M10 13.7417V13.75M10 2.5L1.875 16.25H18.125L10 2.5Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
101
101
|
reset: `<path d="M5.83333 4.16406L2.5 7.4974L5.83333 10.8307M3.33333 7.4974H17.9167V15.4141H10" stroke="currentColor" stroke-linecap="square"/>`,
|
|
102
102
|
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"/>`,
|
|
103
|
-
providers: `<path d="
|
|
104
|
-
models: `<path fill-rule="evenodd" clip-rule="evenodd" d="
|
|
105
|
-
appearance: `<path d="M2.
|
|
106
|
-
notifications: `<path d="
|
|
107
|
-
extensions: `<path d="
|
|
103
|
+
providers: `<path d="M5.11115 3.33252H10.8889M5.11115 3.33252L3.33337 3.33254V12.6658H5.11115M5.11115 3.33252L5.11108 1.55469M10.8889 3.33252L12.6667 3.33252V12.6658H10.8889M10.8889 3.33252L10.8889 1.55469M10.8889 12.6658H5.11115M10.8889 12.6658L10.8889 14.4435M5.11115 12.6658L5.11108 14.4435M8 1.55469V3.33247M14.4444 7.99915H12.6666M14.4444 5.11023H12.6666M14.4444 10.8881H12.6666M8 14.4435V12.6658M1.55554 7.99915H3.33332M1.55554 10.8881H3.33332M1.55554 5.11023H3.33332M6 9.99915V5.99915H10V9.99915H6Z" stroke="currentColor"/>`,
|
|
104
|
+
models: `<path fill-rule="evenodd" clip-rule="evenodd" d="M14 8C9.83336 8 8 9.83336 8 14C8 9.83336 6.16666 8 2 8C6.16666 8 8 6.16666 8 2C8 6.16666 9.83336 8 14 8Z" stroke="currentColor"/>`,
|
|
105
|
+
appearance: `<path d="M2.00012 13.9997L13.9998 2" stroke="currentColor" stroke-linecap="square"/><path d="M2.00012 8.35278L8.3529 2" stroke="currentColor" stroke-linecap="square"/><path d="M2.00012 2.70586L2.70599 2" stroke="currentColor" stroke-linecap="square"/><path d="M7.64722 14.0012L14 7.64844" stroke="currentColor" stroke-linecap="square"/><path d="M13.2935 13.9988L13.9993 13.293" stroke="currentColor" stroke-linecap="square"/>`,
|
|
106
|
+
notifications: `<path d="M14.8889 6.77778V9.11112C14.8889 10.093 14.8889 10.8889 14.8889 10.8889H11.3334M5.55558 10.8889H2C2 10.8889 2.00001 10.093 2.00001 9.11112V3.77778C2.00001 2.79594 2.00009 2 2.00009 2H9.44531M5.55558 10.8889V13.1111H8.44447H11.3334V10.8889M5.55558 10.8889H11.3334" stroke="currentColor"/><path d="M13 5C14.1046 5 15 4.10457 15 3C15 1.89543 14.1046 1 13 1C11.8954 1 11 1.89543 11 3C11 4.10457 11.8954 5 13 5Z" stroke="currentColor"/>`,
|
|
107
|
+
extensions: `<path d="M8 6.75047V9.25047M10.668 6.75047V9.25047M5.33398 6.75047V9.25047M1.33398 2.44531V13.5553H14.6673V2.44531H1.33398Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
108
108
|
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"/>`,
|
|
109
109
|
"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"/>`,
|
|
110
110
|
"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"/>`,
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
export function additionalIconViewBox(name: keyof typeof additionalIcons) {
|
|
114
|
-
return name === "magnifying-glass" ||
|
|
114
|
+
return name === "magnifying-glass" ||
|
|
115
|
+
name === "arrow-undo-down" ||
|
|
116
|
+
name === "subagent" ||
|
|
117
|
+
name === "notifications" ||
|
|
118
|
+
name === "appearance" ||
|
|
119
|
+
name === "extensions" ||
|
|
120
|
+
name === "sliders" ||
|
|
121
|
+
name === "providers" ||
|
|
122
|
+
name === "models"
|
|
123
|
+
? "0 0 16 16"
|
|
124
|
+
: "0 0 20 20"
|
|
115
125
|
}
|
package/src/icons/icon/icon.tsx
CHANGED
|
@@ -26,7 +26,7 @@ const icons = {
|
|
|
26
26
|
},
|
|
27
27
|
folder: {
|
|
28
28
|
viewBox: "0 0 16 16",
|
|
29
|
-
body: `<path d="
|
|
29
|
+
body: `<path d="M1.33337 2V13.3333H14.6667V4H8.66671L6.66671 2H1.33337Z" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="square"/>`,
|
|
30
30
|
},
|
|
31
31
|
branch: {
|
|
32
32
|
viewBox: "0 0 16 16",
|
|
@@ -52,6 +52,10 @@ const icons = {
|
|
|
52
52
|
viewBox: "0 0 16 16",
|
|
53
53
|
body: `<path d="M8.75 11.75H7.25V10.25H8.75V11.75Z" fill="currentColor"/><path d="M8.75 9.25H7.25V4.25H8.75V9.25Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8 1C9.93286 1 11.684 1.7836 12.9502 3.0498C14.2164 4.31601 15 6.06714 15 8C15 11.866 11.866 15 8 15C6.06714 15 4.31601 14.2164 3.0498 12.9502C1.7836 11.684 1 9.93286 1 8C1 4.13401 4.13401 1 8 1ZM8 2C4.68629 2 2 4.68629 2 8C2 9.65699 2.67148 11.1559 3.75781 12.2422C4.84415 13.3285 6.34301 14 8 14C11.3137 14 14 11.3137 14 8C14 6.34301 13.3285 4.84415 12.2422 3.75781C11.1559 2.67148 9.65699 2 8 2Z" fill="currentColor"/>`,
|
|
54
54
|
},
|
|
55
|
+
"circle-xmark": {
|
|
56
|
+
viewBox: "0 0 16 16",
|
|
57
|
+
body: `<path fill-rule="evenodd" clip-rule="evenodd" d="M1.33334 8.00016C1.33334 4.31826 4.31811 1.3335 8.00001 1.3335C11.6819 1.3335 14.6667 4.31826 14.6667 8.00016C14.6667 11.6821 11.6819 14.6668 8.00001 14.6668C4.31811 14.6668 1.33334 11.6821 1.33334 8.00016ZM6.00001 5.29306L5.2929 6.00016L7.2929 8.00016L5.2929 10.0002L6.00001 10.7073L8.00001 8.70727L10 10.7073L10.7071 10.0002L8.70712 8.00016L10.7071 6.00016L10 5.29306L8.00001 7.29306L6.00001 5.29306Z" fill="currentColor"/>`,
|
|
58
|
+
},
|
|
55
59
|
"sidebar-right": {
|
|
56
60
|
viewBox: "0 0 20 20",
|
|
57
61
|
body: `<path d="M2.91536 2.91406H2.36536V2.36406H2.91536V2.91406ZM2.91536 17.0807V17.6307H2.36536V17.0807H2.91536ZM17.082 17.0807H17.632V17.6307H17.082V17.0807ZM17.082 2.91406V2.36406H17.632V2.91406H17.082ZM6.9987 2.91406H6.4487V2.36406H6.9987V2.91406ZM6.9987 17.0807V17.6307H6.4487V17.0807H6.9987ZM2.91536 2.91406H3.46536V17.0807H2.91536H2.36536V2.91406H2.91536ZM2.91536 17.0807V16.5307H17.082V17.0807V17.6307H2.91536V17.0807ZM17.082 17.0807H16.532V2.91406H17.082H17.632V17.0807H17.082ZM17.082 2.91406V3.46406H2.91536V2.91406V2.36406H17.082V2.91406ZM6.9987 2.91406H7.5487V17.0807H6.9987H6.4487V2.91406H6.9987ZM17.082 17.0807L17.082 17.6307L6.9987 17.6307V17.0807V16.5307L17.082 16.5307L17.082 17.0807ZM6.9987 2.91406V2.36406H17.082V2.91406V3.46406H6.9987V2.91406Z" fill="currentColor"/>`,
|
|
@@ -160,6 +164,14 @@ const icons = {
|
|
|
160
164
|
viewBox: "0 0 16 16",
|
|
161
165
|
body: `<path d="M14.5 9.8333V13.5H1.5V2.5H7.1667M9.5 2.5V7.5H14.5V2.5H9.5Z" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="square"/>`,
|
|
162
166
|
},
|
|
167
|
+
"graduation-cap": {
|
|
168
|
+
viewBox: "0 0 16 16",
|
|
169
|
+
body: `<path d="M12.3327 7.50065V11.0007L7.99935 13.6673L3.66602 11.0007V7.50065M14.3327 9.83398V6.16732M7.99935 2.33398L1.66602 6.00065L7.99935 10.0007L14.3327 6.00065L7.99935 2.33398Z" stroke="currentColor" stroke-linecap="square"/>`,
|
|
170
|
+
},
|
|
171
|
+
"code-slash": {
|
|
172
|
+
viewBox: "0 0 16 16",
|
|
173
|
+
body: `<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0812 2.10803L6.55974 14.0809L5.92016 13.8928L9.44161 1.91992L10.0812 2.10803ZM4.13793 4.97275L1.44666 8.00045L4.13793 11.0281L3.63966 11.471L0.554688 8.00045L3.63966 4.52984L4.13793 4.97275ZM12.3617 4.52984L15.4467 8.00045L12.3617 11.471L11.8634 11.0281L14.5547 8.00045L11.8634 4.97275L12.3617 4.52984Z" fill="currentColor"/>`,
|
|
174
|
+
},
|
|
163
175
|
trash: {
|
|
164
176
|
viewBox: "0 0 20 20",
|
|
165
177
|
body: `<path d="M4.58342 17.9134L4.58369 17.4134L4.22787 17.5384L4.22766 18.0384H4.58342V17.9134ZM15.4167 17.9134V18.0384H15.7725L15.7723 17.5384L15.4167 17.9134ZM2.08342 3.95508V3.45508H1.58342V3.95508H2.08342V4.45508V3.95508ZM17.9167 4.45508V4.95508H18.4167V4.45508H17.9167V3.95508V4.45508ZM4.16677 4.58008L3.66701 4.5996L4.22816 17.5379L4.72792 17.4934L5.22767 17.4489L4.66652 4.54055L4.16677 4.58008ZM4.58342 18.0384V17.9134H15.4167V18.0384V18.5384H4.58342V18.0384ZM15.4167 17.9134L15.8332 17.5379L16.2498 4.5996L15.7501 4.58008L15.2503 4.56055L14.8337 17.4989L15.4167 17.9134ZM15.8334 4.58008V4.08008H4.16677V4.58008V5.08008H15.8334V4.58008ZM2.08342 4.45508V4.95508H4.16677V4.58008V4.08008H2.08342V4.45508ZM15.8334 4.58008V5.08008H17.9167V4.45508V3.95508H15.8334V4.58008ZM6.83951 4.35149L7.432 4.55047C7.79251 3.47701 8.80699 2.70508 10.0001 2.70508V2.20508V1.70508C8.25392 1.70508 6.77335 2.83539 6.24702 4.15251L6.83951 4.35149ZM10.0001 2.20508V2.70508C11.1932 2.70508 12.2077 3.47701 12.5682 4.55047L13.1607 4.35149L13.7532 4.15251C13.2269 2.83539 11.7463 1.70508 10.0001 1.70508V2.20508Z" fill="currentColor"/>`,
|
|
@@ -214,7 +226,7 @@ const icons = {
|
|
|
214
226
|
},
|
|
215
227
|
"fill-triangle-down": {
|
|
216
228
|
viewBox: "0 0 16 16",
|
|
217
|
-
body: `<path d="M5.37624 6.75194C5.
|
|
229
|
+
body: `<path d="M5.37624 6.75194C5.18184 6.41861 5.42224 6 5.80814 6H10.1921C10.578 6 10.8184 6.41861 10.624 6.75194L8.43203 10.5096C8.23909 10.8404 7.76119 10.8404 7.56825 10.5096L5.37624 6.75194Z" fill="currentColor"/>`,
|
|
218
230
|
},
|
|
219
231
|
archive: {
|
|
220
232
|
viewBox: "0 0 16 16",
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
|
|
169
169
|
--v2-icon-icon-base: var(--v2-grey-400);
|
|
170
170
|
--v2-icon-icon-muted: var(--v2-grey-600);
|
|
171
|
-
--v2-icon-icon-faint: var(--v2-grey-
|
|
171
|
+
--v2-icon-icon-faint: var(--v2-grey-700);
|
|
172
172
|
--v2-icon-icon-inverse: var(--v2-grey-1000);
|
|
173
173
|
--v2-icon-icon-contrast: var(--v2-grey-200);
|
|
174
174
|
--v2-icon-icon-accent: var(--v2-blue-400);
|
|
@@ -411,7 +411,7 @@
|
|
|
411
411
|
|
|
412
412
|
--v2-icon-icon-base: var(--v2-grey-400);
|
|
413
413
|
--v2-icon-icon-muted: var(--v2-grey-600);
|
|
414
|
-
--v2-icon-icon-faint: var(--v2-grey-
|
|
414
|
+
--v2-icon-icon-faint: var(--v2-grey-700);
|
|
415
415
|
--v2-icon-icon-inverse: var(--v2-grey-1100);
|
|
416
416
|
--v2-icon-icon-contrast: var(--v2-grey-100);
|
|
417
417
|
--v2-icon-icon-accent: var(--v2-blue-400);
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
"v2-text-text-code-path": "var(--v2-blue-300)",
|
|
431
431
|
"v2-icon-icon-base": "var(--v2-grey-400)",
|
|
432
432
|
"v2-icon-icon-muted": "var(--v2-grey-600)",
|
|
433
|
-
"v2-icon-icon-faint": "var(--v2-grey-
|
|
433
|
+
"v2-icon-icon-faint": "var(--v2-grey-700)",
|
|
434
434
|
"v2-icon-icon-inverse": "var(--v2-grey-1100)",
|
|
435
435
|
"v2-icon-icon-contrast": "var(--v2-grey-100)",
|
|
436
436
|
"v2-icon-icon-accent": "var(--v2-blue-400)",
|