@opencode/ui 2.0.4 → 2.0.6

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.
@@ -24,7 +24,6 @@ export declare const nightowlTheme: DesktopTheme;
24
24
  export declare const nordTheme: DesktopTheme;
25
25
  export declare const oneDarkTheme: DesktopTheme;
26
26
  export declare const oneDarkProTheme: DesktopTheme;
27
- export declare const opencodeTheme: DesktopTheme;
28
27
  export declare const orngTheme: DesktopTheme;
29
28
  export declare const osakaJadeTheme: DesktopTheme;
30
29
  export declare const palenightTheme: DesktopTheme;
@@ -4,4 +4,4 @@ export { resolveThemeVariant, resolveTheme, themeToCss } from "./resolve";
4
4
  export { resolveThemeVariantV2, resolveThemeV2, themeV2ToCss, generateV2Primitives } from "./v2/resolve";
5
5
  export { applyTheme, loadThemeFromUrl, getActiveTheme, removeTheme, setColorScheme } from "./loader";
6
6
  export { ThemeProvider, useTheme, type ColorScheme } from "./context";
7
- export { DEFAULT_THEMES, oc2Theme, amoledTheme, auraTheme, ayuTheme, carbonfoxTheme, catppuccinTheme, catppuccinFrappeTheme, catppuccinMacchiatoTheme, cobalt2Theme, cursorTheme, draculaTheme, everforestTheme, flexokiTheme, githubTheme, gruvboxTheme, kanagawaTheme, lucentOrngTheme, materialTheme, matrixTheme, mercuryTheme, monokaiTheme, nightowlTheme, nordTheme, oneDarkTheme, oneDarkProTheme, opencodeTheme, orngTheme, osakaJadeTheme, palenightTheme, rosepineTheme, shadesOfPurpleTheme, solarizedTheme, synthwave84Theme, tokyonightTheme, vercelTheme, vesperTheme, zenburnTheme, } from "./default-themes";
7
+ export { DEFAULT_THEMES, oc2Theme, amoledTheme, auraTheme, ayuTheme, carbonfoxTheme, catppuccinTheme, catppuccinFrappeTheme, catppuccinMacchiatoTheme, cobalt2Theme, cursorTheme, draculaTheme, everforestTheme, flexokiTheme, githubTheme, gruvboxTheme, kanagawaTheme, lucentOrngTheme, materialTheme, matrixTheme, mercuryTheme, monokaiTheme, nightowlTheme, nordTheme, oneDarkTheme, oneDarkProTheme, orngTheme, osakaJadeTheme, palenightTheme, rosepineTheme, shadesOfPurpleTheme, solarizedTheme, synthwave84Theme, tokyonightTheme, vercelTheme, vesperTheme, zenburnTheme, } from "./default-themes";
@@ -2,4 +2,5 @@ import { type ComponentProps } from "solid-js";
2
2
  export declare function Wordmark(props: Pick<ComponentProps<"svg">, "class"> & {
3
3
  fade?: boolean;
4
4
  muted?: boolean;
5
+ outline?: boolean;
5
6
  }): import("solid-js").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencode/ui",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -44,7 +44,7 @@ function knownThemes() {
44
44
  }
45
45
 
46
46
  const names: Record<string, string> = {
47
- "oc-2": "OC-2",
47
+ "oc-2": "OpenCode",
48
48
  amoled: "AMOLED",
49
49
  aura: "Aura",
50
50
  ayu: "Ayu",
@@ -69,7 +69,6 @@ const names: Record<string, string> = {
69
69
  nord: "Nord",
70
70
  "one-dark": "One Dark",
71
71
  onedarkpro: "One Dark Pro",
72
- opencode: "OpenCode",
73
72
  orng: "Orng",
74
73
  "osaka-jade": "Osaka Jade",
75
74
  palenight: "Palenight",
@@ -24,7 +24,6 @@ import nightowlThemeJson from "./themes/nightowl.json"
24
24
  import nordThemeJson from "./themes/nord.json"
25
25
  import oneDarkThemeJson from "./themes/one-dark.json"
26
26
  import oneDarkProThemeJson from "./themes/onedarkpro.json"
27
- import opencodeThemeJson from "./themes/opencode.json"
28
27
  import orngThemeJson from "./themes/orng.json"
29
28
  import osakaJadeThemeJson from "./themes/osaka-jade.json"
30
29
  import palenightThemeJson from "./themes/palenight.json"
@@ -62,7 +61,6 @@ export const nightowlTheme = nightowlThemeJson as DesktopTheme
62
61
  export const nordTheme = nordThemeJson as DesktopTheme
63
62
  export const oneDarkTheme = oneDarkThemeJson as DesktopTheme
64
63
  export const oneDarkProTheme = oneDarkProThemeJson as DesktopTheme
65
- export const opencodeTheme = opencodeThemeJson as DesktopTheme
66
64
  export const orngTheme = orngThemeJson as DesktopTheme
67
65
  export const osakaJadeTheme = osakaJadeThemeJson as DesktopTheme
68
66
  export const palenightTheme = palenightThemeJson as DesktopTheme
@@ -101,7 +99,6 @@ export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
101
99
  nord: nordTheme,
102
100
  "one-dark": oneDarkTheme,
103
101
  onedarkpro: oneDarkProTheme,
104
- opencode: opencodeTheme,
105
102
  orng: orngTheme,
106
103
  "osaka-jade": osakaJadeTheme,
107
104
  palenight: palenightTheme,
@@ -63,7 +63,6 @@ export {
63
63
  nordTheme,
64
64
  oneDarkTheme,
65
65
  oneDarkProTheme,
66
- opencodeTheme,
67
66
  orngTheme,
68
67
  osakaJadeTheme,
69
68
  palenightTheme,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://opencode.ai/desktop-theme.json",
3
- "name": "OC-2",
3
+ "name": "OpenCode",
4
4
  "id": "oc-2",
5
5
  "light": {
6
6
  "palette": {
@@ -1,6 +1,8 @@
1
1
  import { createUniqueId, type ComponentProps } from "solid-js"
2
2
 
3
- export function Wordmark(props: Pick<ComponentProps<"svg">, "class"> & { fade?: boolean; muted?: boolean }) {
3
+ export function Wordmark(
4
+ props: Pick<ComponentProps<"svg">, "class"> & { fade?: boolean; muted?: boolean; outline?: boolean },
5
+ ) {
4
6
  const mask = createUniqueId()
5
7
  const maskGradient = createUniqueId()
6
8
 
@@ -9,19 +11,51 @@ export function Wordmark(props: Pick<ComponentProps<"svg">, "class"> & { fade?:
9
11
  xmlns="http://www.w3.org/2000/svg"
10
12
  viewBox="0 0 720 129"
11
13
  fill="none"
12
- classList={{ [props.class ?? ""]: !!props.class }}
14
+ classList={{
15
+ [props.class ?? ""]: !!props.class,
16
+ "overflow-visible [&_path]:[vector-effect:non-scaling-stroke]": props.outline,
17
+ }}
13
18
  >
14
19
  <g opacity={props.muted === false ? 1 : 0.6} class="[[data-color-scheme=dark]_&]:opacity-100">
15
20
  <g mask={props.fade === false ? undefined : `url(#${mask})`}>
16
- <g opacity={props.muted === false ? 1 : 0.16 * 0.7} fill="currentColor">
17
- <path d="M55.3846 36.4286H18.4615V91.7143H55.3846V36.4286ZM73.8462 110.143H0V18H73.8462V110.143Z" />
18
- <path d="M110.462 91.7143H147.385V36.4286H110.462V91.7143ZM165.846 110.143H110.462V128.571H92V18H165.846V110.143Z" />
19
- <path d="M258.846 73.2857H203.462V91.7143H258.846V110.143H185V18H258.846V73.2857ZM203.462 54.8571H240.385V36.4286H203.462V54.8571Z" />
20
- <path d="M332.385 36.4286H295.462V110.143H277V18H332.385V36.4286ZM350.846 110.143H332.385V36.4286H350.846V110.143Z" />
21
- <path d="M442.846 36.4286H387.462V91.7143H442.846V110.143H369V18H442.846V36.4286Z" />
22
- <path d="M517.385 36.4286H480.462V91.7143H517.385V36.4286ZM535.846 110.143H462V18H535.846V110.143Z" />
23
- <path d="M609.385 36.8571H572.462V92.1429H609.385V36.8571ZM627.846 110.571H554V18.4286H609.385V0H627.846V110.571Z" />
24
- <path d="M664.462 36.4286V54.8571H701.385V36.4286H664.462ZM719.846 73.2857H664.462V91.7143H719.846V110.143H646V18H719.846V73.2857Z" />
21
+ <g
22
+ opacity={props.muted === false ? 1 : 0.16 * 0.7}
23
+ fill={props.outline ? "none" : "currentColor"}
24
+ stroke={props.outline ? "currentColor" : undefined}
25
+ stroke-width={props.outline ? 1 : undefined}
26
+ >
27
+ <path
28
+ pathLength={props.outline ? 1 : undefined}
29
+ d="M55.3846 36.4286H18.4615V91.7143H55.3846V36.4286ZM73.8462 110.143H0V18H73.8462V110.143Z"
30
+ />
31
+ <path
32
+ pathLength={props.outline ? 1 : undefined}
33
+ d="M110.462 91.7143H147.385V36.4286H110.462V91.7143ZM165.846 110.143H110.462V128.571H92V18H165.846V110.143Z"
34
+ />
35
+ <path
36
+ pathLength={props.outline ? 1 : undefined}
37
+ d="M258.846 73.2857H203.462V91.7143H258.846V110.143H185V18H258.846V73.2857ZM203.462 54.8571H240.385V36.4286H203.462V54.8571Z"
38
+ />
39
+ <path
40
+ pathLength={props.outline ? 1 : undefined}
41
+ d="M332.385 36.4286H295.462V110.143H277V18H332.385V36.4286ZM350.846 110.143H332.385V36.4286H350.846V110.143Z"
42
+ />
43
+ <path
44
+ pathLength={props.outline ? 1 : undefined}
45
+ d="M442.846 36.4286H387.462V91.7143H442.846V110.143H369V18H442.846V36.4286Z"
46
+ />
47
+ <path
48
+ pathLength={props.outline ? 1 : undefined}
49
+ d="M517.385 36.4286H480.462V91.7143H517.385V36.4286ZM535.846 110.143H462V18H535.846V110.143Z"
50
+ />
51
+ <path
52
+ pathLength={props.outline ? 1 : undefined}
53
+ d="M609.385 36.8571H572.462V92.1429H609.385V36.8571ZM627.846 110.571H554V18.4286H609.385V0H627.846V110.571Z"
54
+ />
55
+ <path
56
+ pathLength={props.outline ? 1 : undefined}
57
+ d="M664.462 36.4286V54.8571H701.385V36.4286H664.462ZM719.846 73.2857H664.462V91.7143H719.846V110.143H646V18H719.846V73.2857Z"
58
+ />
25
59
  </g>
26
60
  </g>
27
61
  </g>
@@ -1,89 +0,0 @@
1
- {
2
- "$schema": "https://opencode.ai/desktop-theme.json",
3
- "name": "OpenCode",
4
- "id": "opencode",
5
- "light": {
6
- "palette": {
7
- "neutral": "#ffffff",
8
- "ink": "#1a1a1a",
9
- "primary": "#3b7dd8",
10
- "accent": "#d68c27",
11
- "success": "#3d9a57",
12
- "warning": "#d68c27",
13
- "error": "#d1383d",
14
- "info": "#318795",
15
- "diffAdd": "#4db380",
16
- "diffDelete": "#f52a65"
17
- },
18
- "overrides": {
19
- "text-weak": "#8a8a8a",
20
- "syntax-comment": "#8a8a8a",
21
- "syntax-keyword": "#d68c27",
22
- "syntax-string": "#3d9a57",
23
- "syntax-primitive": "#3b7dd8",
24
- "syntax-variable": "#d1383d",
25
- "syntax-property": "#318795",
26
- "syntax-type": "#b0851f",
27
- "syntax-constant": "#d68c27",
28
- "syntax-operator": "#318795",
29
- "syntax-punctuation": "#1a1a1a",
30
- "syntax-object": "#d1383d",
31
- "markdown-heading": "#d68c27",
32
- "markdown-text": "#1a1a1a",
33
- "markdown-link": "#3b7dd8",
34
- "markdown-link-text": "#318795",
35
- "markdown-code": "#3d9a57",
36
- "markdown-block-quote": "#b0851f",
37
- "markdown-emph": "#b0851f",
38
- "markdown-strong": "#d68c27",
39
- "markdown-horizontal-rule": "#8a8a8a",
40
- "markdown-list-item": "#3b7dd8",
41
- "markdown-list-enumeration": "#318795",
42
- "markdown-image": "#3b7dd8",
43
- "markdown-image-text": "#318795",
44
- "markdown-code-block": "#1a1a1a"
45
- }
46
- },
47
- "dark": {
48
- "palette": {
49
- "neutral": "#0a0a0a",
50
- "ink": "#eeeeee",
51
- "primary": "#fab283",
52
- "accent": "#9d7cd8",
53
- "success": "#7fd88f",
54
- "warning": "#f5a742",
55
- "error": "#e06c75",
56
- "info": "#56b6c2",
57
- "diffAdd": "#b8db87",
58
- "diffDelete": "#e26a75"
59
- },
60
- "overrides": {
61
- "text-weak": "#808080",
62
- "syntax-comment": "#808080",
63
- "syntax-keyword": "#9d7cd8",
64
- "syntax-string": "#7fd88f",
65
- "syntax-primitive": "#fab283",
66
- "syntax-variable": "#e06c75",
67
- "syntax-property": "#56b6c2",
68
- "syntax-type": "#e5c07b",
69
- "syntax-constant": "#f5a742",
70
- "syntax-operator": "#56b6c2",
71
- "syntax-punctuation": "#eeeeee",
72
- "syntax-object": "#e06c75",
73
- "markdown-heading": "#9d7cd8",
74
- "markdown-text": "#eeeeee",
75
- "markdown-link": "#fab283",
76
- "markdown-link-text": "#56b6c2",
77
- "markdown-code": "#7fd88f",
78
- "markdown-block-quote": "#e5c07b",
79
- "markdown-emph": "#e5c07b",
80
- "markdown-strong": "#f5a742",
81
- "markdown-horizontal-rule": "#808080",
82
- "markdown-list-item": "#fab283",
83
- "markdown-list-enumeration": "#56b6c2",
84
- "markdown-image": "#fab283",
85
- "markdown-image-text": "#56b6c2",
86
- "markdown-code-block": "#eeeeee"
87
- }
88
- }
89
- }