@owodesign/owoui 0.1.0 → 0.1.2

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.
@@ -0,0 +1,27 @@
1
+ @import "./tokens.css";
2
+
3
+ :root[data-preset="default"],
4
+ .owoui-preset-default {
5
+ --preset-surface-bg: var(--theme-surface-base);
6
+ --preset-surface-bg-subtle: var(--theme-surface-subtle);
7
+ --preset-surface-bg-raised: var(--theme-surface-raised);
8
+ --preset-surface-bg-inset: var(--theme-surface-inset);
9
+ --preset-surface-border: var(--theme-surface-border);
10
+ --preset-surface-border-muted: var(--theme-surface-border-muted);
11
+ --preset-surface-border-strong: var(--theme-surface-border-strong);
12
+ --preset-surface-shadow: var(--shadow-raised);
13
+ --preset-surface-shadow-strong: var(--shadow-popover);
14
+ --preset-surface-blur: 0px;
15
+ --preset-canvas-bg: var(--theme-surface-canvas);
16
+ --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
+ --preset-surface-container: var(--theme-surface-container);
18
+ --preset-surface-container-high: var(--theme-surface-container-high);
19
+ --preset-surface-container-highest: var(--theme-surface-container-highest);
20
+ --preset-control-radius-sm: 0.5rem;
21
+ --preset-control-radius-md: 0.75rem;
22
+ --preset-control-radius-lg: 1rem;
23
+ --preset-control-radius-xl: 1.5rem;
24
+ --preset-control-radius-2xl: 2rem;
25
+ --preset-control-border-width: 1px;
26
+ }
27
+
@@ -0,0 +1,27 @@
1
+ @import "./tokens.css";
2
+
3
+ :root[data-preset="elevated"],
4
+ .owoui-preset-elevated {
5
+ --preset-surface-bg: color-mix(in srgb, var(--theme-surface-base) 96%, var(--theme-surface-border-strong));
6
+ --preset-surface-bg-subtle: color-mix(in srgb, var(--theme-surface-subtle) 96%, var(--theme-surface-border-strong));
7
+ --preset-surface-bg-raised: color-mix(in srgb, var(--theme-surface-raised) 94%, var(--theme-surface-border-strong));
8
+ --preset-surface-bg-inset: var(--theme-surface-inset);
9
+ --preset-surface-border: color-mix(in srgb, var(--theme-surface-border) 88%, var(--theme-surface-border-strong));
10
+ --preset-surface-border-muted: var(--theme-surface-border-muted);
11
+ --preset-surface-border-strong: var(--theme-surface-border-strong);
12
+ --preset-surface-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
13
+ --preset-surface-shadow-strong: 0 28px 60px rgba(15, 23, 42, 0.18);
14
+ --preset-surface-blur: 0px;
15
+ --preset-canvas-bg: var(--theme-surface-canvas);
16
+ --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
+ --preset-surface-container: color-mix(in srgb, var(--theme-surface-container) 94%, var(--theme-surface-border-strong));
18
+ --preset-surface-container-high: color-mix(in srgb, var(--theme-surface-container-high) 94%, var(--theme-surface-border-strong));
19
+ --preset-surface-container-highest: color-mix(in srgb, var(--theme-surface-container-highest) 92%, var(--theme-surface-border-strong));
20
+ --preset-control-radius-sm: 0.625rem;
21
+ --preset-control-radius-md: 0.875rem;
22
+ --preset-control-radius-lg: 1.125rem;
23
+ --preset-control-radius-xl: 1.625rem;
24
+ --preset-control-radius-2xl: 2.125rem;
25
+ --preset-control-border-width: 1px;
26
+ }
27
+
@@ -0,0 +1,27 @@
1
+ @import "./tokens.css";
2
+
3
+ :root[data-preset="flat"],
4
+ .owoui-preset-flat {
5
+ --preset-surface-bg: var(--theme-surface-base);
6
+ --preset-surface-bg-subtle: var(--theme-surface-subtle);
7
+ --preset-surface-bg-raised: var(--theme-surface-base);
8
+ --preset-surface-bg-inset: var(--theme-surface-inset);
9
+ --preset-surface-border: var(--theme-surface-border);
10
+ --preset-surface-border-muted: var(--theme-surface-border-muted);
11
+ --preset-surface-border-strong: var(--theme-surface-border-strong);
12
+ --preset-surface-shadow: none;
13
+ --preset-surface-shadow-strong: none;
14
+ --preset-surface-blur: 0px;
15
+ --preset-canvas-bg: var(--theme-surface-canvas);
16
+ --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
+ --preset-surface-container: var(--theme-surface-container);
18
+ --preset-surface-container-high: var(--theme-surface-container);
19
+ --preset-surface-container-highest: var(--theme-surface-container-high);
20
+ --preset-control-radius-sm: 0.375rem;
21
+ --preset-control-radius-md: 0.625rem;
22
+ --preset-control-radius-lg: 0.875rem;
23
+ --preset-control-radius-xl: 1.25rem;
24
+ --preset-control-radius-2xl: 1.5rem;
25
+ --preset-control-border-width: 1px;
26
+ }
27
+
@@ -0,0 +1,27 @@
1
+ @import "./tokens.css";
2
+
3
+ :root[data-preset="glass"],
4
+ .owoui-preset-glass {
5
+ --preset-surface-bg: color-mix(in srgb, var(--theme-surface-base) 62%, transparent);
6
+ --preset-surface-bg-subtle: color-mix(in srgb, var(--theme-surface-subtle) 48%, transparent);
7
+ --preset-surface-bg-raised: color-mix(in srgb, var(--theme-surface-raised) 72%, transparent);
8
+ --preset-surface-bg-inset: color-mix(in srgb, var(--theme-surface-inset) 82%, transparent);
9
+ --preset-surface-border: color-mix(in srgb, var(--theme-surface-border-strong) 55%, transparent);
10
+ --preset-surface-border-muted: color-mix(in srgb, var(--theme-surface-border-muted) 60%, transparent);
11
+ --preset-surface-border-strong: color-mix(in srgb, var(--theme-surface-border-strong) 78%, transparent);
12
+ --preset-surface-shadow: 0 16px 44px rgba(15, 23, 42, 0.1);
13
+ --preset-surface-shadow-strong: 0 24px 64px rgba(15, 23, 42, 0.14);
14
+ --preset-surface-blur: 18px;
15
+ --preset-canvas-bg: var(--theme-surface-canvas);
16
+ --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
+ --preset-surface-container: color-mix(in srgb, var(--theme-surface-container) 70%, transparent);
18
+ --preset-surface-container-high: color-mix(in srgb, var(--theme-surface-container-high) 74%, transparent);
19
+ --preset-surface-container-highest: color-mix(in srgb, var(--theme-surface-container-highest) 78%, transparent);
20
+ --preset-control-radius-sm: 0.75rem;
21
+ --preset-control-radius-md: 1rem;
22
+ --preset-control-radius-lg: 1.25rem;
23
+ --preset-control-radius-xl: 1.75rem;
24
+ --preset-control-radius-2xl: 2.25rem;
25
+ --preset-control-border-width: 1px;
26
+ }
27
+
package/src/style.css CHANGED
@@ -3,6 +3,7 @@
3
3
  @import "./styles/ui/avatar.css";
4
4
  @import "./styles/ui/badge.css";
5
5
  @import "./styles/ui/button.css";
6
+ @import "./styles/ui/collapsible.css";
6
7
  @import "./styles/ui/dialog.css";
7
8
  @import "./styles/ui/dropdown-menu.css";
8
9
  @import "./styles/ui/drawer.css";
@@ -16,5 +17,7 @@
16
17
  @import "./styles/ui/skeleton.css";
17
18
  @import "./styles/ui/status-notice.css";
18
19
  @import "./styles/ui/switch.css";
20
+ @import "./styles/ui/tabs.css";
21
+ @import "./styles/ui/textarea.css";
19
22
  @import "./styles/ui/toast.css";
20
23
  @import "./styles/ui/tooltip.css";
@@ -28,6 +28,8 @@
28
28
  --color-highlight-sheen: rgba(255, 255, 255, 0.34);
29
29
  --color-text-on-brand: #ffffff;
30
30
  --color-code-block-bg: #f4f4f5;
31
+ --color-code-block-border: #e4e4e7;
32
+ --color-code-block-divider: #ececed;
31
33
  --color-code-inline-bg: #f4f4f5;
32
34
  --shadow-raised: 0 10px 20px rgba(15, 23, 42, 0.08);
33
35
  --shadow-popover: 0 18px 40px rgba(15, 23, 42, 0.10);
@@ -55,44 +57,118 @@
55
57
  }
56
58
 
57
59
  :root {
58
- --ui-surface-bg: var(--color-surface-base);
59
- --ui-surface-bg-subtle: var(--color-surface-subtle);
60
- --ui-surface-bg-raised: var(--color-surface-raised);
61
- --ui-surface-bg-inset: var(--color-surface-inset);
62
- --ui-surface-border: var(--color-surface-border);
63
- --ui-surface-border-strong: var(--color-surface-ring);
64
- --ui-surface-shadow: var(--shadow-raised);
65
- --ui-surface-shadow-strong: var(--shadow-popover);
66
- --ui-surface-blur: 0px;
67
-
68
- --ui-text-primary: var(--color-n800);
69
- --ui-text-secondary: var(--color-n600);
70
- --ui-text-muted: var(--color-n500);
71
- --ui-text-on-accent: var(--color-text-on-brand);
72
-
73
- --ui-accent-bg: var(--color-brand-primary);
74
- --ui-accent-bg-hover: var(--color-brand-primary-hover);
75
- --ui-accent-text: var(--color-text-on-brand);
76
-
77
- --ui-success-bg: var(--color-admin-success-bg);
78
- --ui-success-border: var(--color-admin-success-border);
79
- --ui-success-text: var(--color-admin-success-text);
80
- --ui-warning-bg: var(--color-admin-warning-bg);
81
- --ui-warning-border: var(--color-admin-warning-border);
82
- --ui-warning-text: var(--color-admin-warning-text);
83
- --ui-danger-bg: var(--color-admin-danger-bg);
84
- --ui-danger-border: var(--color-admin-danger-border);
85
- --ui-danger-text: var(--color-admin-danger-text);
86
- --ui-info-bg: var(--color-admin-info-bg);
87
- --ui-info-border: var(--color-admin-info-border);
88
- --ui-info-text: var(--color-admin-info-text);
89
-
90
- --ui-control-radius-sm: 0.5rem;
91
- --ui-control-radius-md: 0.75rem;
92
- --ui-control-radius-lg: 1rem;
93
- --ui-control-border-width: 1px;
94
- --ui-control-focus-ring: var(--color-surface-ring);
95
- --ui-control-focus-ring-offset: var(--color-surface-base);
60
+ --theme-surface-canvas: var(--color-surface-canvas);
61
+ --theme-surface-base: var(--color-surface-base);
62
+ --theme-surface-subtle: var(--color-surface-subtle);
63
+ --theme-surface-raised: var(--color-surface-raised);
64
+ --theme-surface-inset: var(--color-surface-inset);
65
+ --theme-surface-border: var(--color-surface-border);
66
+ --theme-surface-border-muted: rgba(0, 0, 0, 0.06);
67
+ --theme-surface-border-strong: var(--color-surface-ring);
68
+ --theme-canvas-bg-subtle: #f5f5f4;
69
+ --theme-surface-container: #f4f4f5;
70
+ --theme-surface-container-high: #ececed;
71
+ --theme-surface-container-highest: #e4e4e7;
72
+ --theme-text-primary: var(--color-n800);
73
+ --theme-text-secondary: var(--color-n600);
74
+ --theme-text-muted: var(--color-n500);
75
+ --theme-text-on-accent: var(--color-text-on-brand);
76
+ --theme-accent-bg: var(--color-brand-primary);
77
+ --theme-accent-bg-hover: var(--color-brand-primary-hover);
78
+ --theme-accent-bg-muted: color-mix(in srgb, var(--color-brand-primary) 10%, var(--color-surface-base));
79
+ --theme-accent-border: color-mix(in srgb, var(--color-brand-primary) 40%, transparent);
80
+ --theme-success-bg: var(--color-admin-success-bg);
81
+ --theme-success-border: var(--color-admin-success-border);
82
+ --theme-success-text: var(--color-admin-success-text);
83
+ --theme-warning-bg: var(--color-admin-warning-bg);
84
+ --theme-warning-border: var(--color-admin-warning-border);
85
+ --theme-warning-text: var(--color-admin-warning-text);
86
+ --theme-danger-bg: var(--color-admin-danger-bg);
87
+ --theme-danger-bg-emphasis: rgba(239, 68, 68, 0.18);
88
+ --theme-danger-border: var(--color-admin-danger-border);
89
+ --theme-danger-text: var(--color-admin-danger-text);
90
+ --theme-info-bg: var(--color-admin-info-bg);
91
+ --theme-info-border: var(--color-admin-info-border);
92
+ --theme-info-text: var(--color-admin-info-text);
93
+ --theme-control-focus-ring: var(--color-surface-ring);
94
+ --theme-control-focus-ring-offset: var(--color-surface-base);
95
+
96
+ /* Signature Look: current qblog default preset qualities */
97
+ --preset-surface-bg: var(--theme-surface-base);
98
+ --preset-surface-bg-subtle: var(--theme-surface-subtle);
99
+ --preset-surface-bg-raised: var(--theme-surface-raised);
100
+ --preset-surface-bg-inset: var(--theme-surface-inset);
101
+ --preset-surface-border: var(--theme-surface-border);
102
+ --preset-surface-border-muted: var(--theme-surface-border-muted);
103
+ --preset-surface-border-strong: var(--theme-surface-border-strong);
104
+ --preset-surface-shadow: var(--shadow-raised);
105
+ --preset-surface-shadow-strong: var(--shadow-popover);
106
+ --preset-surface-blur: 0px;
107
+ --preset-canvas-bg: var(--theme-surface-canvas);
108
+ --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
109
+ --preset-surface-container: var(--theme-surface-container);
110
+ --preset-surface-container-high: var(--theme-surface-container-high);
111
+ --preset-surface-container-highest: var(--theme-surface-container-highest);
112
+ --preset-control-radius-sm: 0.5rem;
113
+ --preset-control-radius-md: 0.75rem;
114
+ --preset-control-radius-lg: 1rem;
115
+ --preset-control-radius-xl: 1.5rem;
116
+ --preset-control-radius-2xl: 2rem;
117
+ --preset-control-border-width: 1px;
118
+
119
+ --ui-surface-bg: var(--preset-surface-bg);
120
+ --ui-surface-bg-subtle: var(--preset-surface-bg-subtle);
121
+ --ui-surface-bg-raised: var(--preset-surface-bg-raised);
122
+ --ui-surface-bg-inset: var(--preset-surface-bg-inset);
123
+ --ui-surface-border: var(--preset-surface-border);
124
+ --ui-surface-border-muted: var(--preset-surface-border-muted);
125
+ --ui-surface-border-strong: var(--preset-surface-border-strong);
126
+ --ui-surface-shadow: var(--preset-surface-shadow);
127
+ --ui-surface-shadow-strong: var(--preset-surface-shadow-strong);
128
+ --ui-surface-blur: var(--preset-surface-blur);
129
+
130
+ --ui-canvas-bg: var(--preset-canvas-bg);
131
+ --ui-canvas-bg-subtle: var(--preset-canvas-bg-subtle);
132
+
133
+ --ui-surface-container: var(--preset-surface-container);
134
+ --ui-surface-container-high: var(--preset-surface-container-high);
135
+ --ui-surface-container-highest: var(--preset-surface-container-highest);
136
+
137
+ --ui-text-primary: var(--theme-text-primary);
138
+ --ui-text-secondary: var(--theme-text-secondary);
139
+ --ui-text-muted: var(--theme-text-muted);
140
+ --ui-text-on-accent: var(--theme-text-on-accent);
141
+
142
+ --ui-accent-bg: var(--theme-accent-bg);
143
+ --ui-accent-bg-hover: var(--theme-accent-bg-hover);
144
+ --ui-accent-bg-muted: var(--theme-accent-bg-muted);
145
+ --ui-accent-text: var(--theme-text-on-accent);
146
+ --ui-accent-border: var(--theme-accent-border);
147
+
148
+ --ui-success-bg: var(--theme-success-bg);
149
+ --ui-success-border: var(--theme-success-border);
150
+ --ui-success-text: var(--theme-success-text);
151
+ --ui-warning-bg: var(--theme-warning-bg);
152
+ --ui-warning-border: var(--theme-warning-border);
153
+ --ui-warning-text: var(--theme-warning-text);
154
+ --ui-danger-bg: var(--theme-danger-bg);
155
+ --ui-danger-bg-emphasis: var(--theme-danger-bg-emphasis);
156
+ --ui-danger-border: var(--theme-danger-border);
157
+ --ui-danger-text: var(--theme-danger-text);
158
+ --ui-info-bg: var(--theme-info-bg);
159
+ --ui-info-border: var(--theme-info-border);
160
+ --ui-info-text: var(--theme-info-text);
161
+
162
+ --ui-control-radius-sm: var(--preset-control-radius-sm);
163
+ --ui-control-radius-md: var(--preset-control-radius-md);
164
+ --ui-control-radius-lg: var(--preset-control-radius-lg);
165
+ --ui-control-radius-xl: var(--preset-control-radius-xl);
166
+ --ui-control-radius-2xl: var(--preset-control-radius-2xl);
167
+ --ui-control-border-width: var(--preset-control-border-width);
168
+ --ui-control-focus-ring: var(--theme-control-focus-ring);
169
+ --ui-control-focus-ring-offset: var(--theme-control-focus-ring-offset);
170
+
171
+ --ui-font-heading: var(--font-heading);
96
172
 
97
173
  --ui-motion-duration-fast: 0.15s;
98
174
  --ui-motion-duration-default: 0.2s;
@@ -109,29 +185,29 @@
109
185
  --content-padding: 24px;
110
186
  --header-top-margin: 64px;
111
187
 
112
- --publish-trigger-bg: var(--color-surface-subtle);
113
- --publish-trigger-border: var(--color-surface-border);
114
- --publish-trigger-text: var(--color-n800);
115
- --publish-trigger-active-bg: color-mix(in srgb, var(--color-brand-primary) 8%, var(--color-surface-base));
116
- --publish-popover-bg: var(--color-surface-base);
117
- --publish-popover-border: var(--color-surface-border);
118
- --publish-popover-shadow: var(--shadow-popover);
119
- --publish-section-bg: var(--color-surface-subtle);
120
- --publish-section-border: var(--color-surface-border);
121
- --publish-fact-title: var(--color-n600);
188
+ --publish-trigger-bg: var(--ui-surface-bg-subtle);
189
+ --publish-trigger-border: var(--ui-surface-border);
190
+ --publish-trigger-text: var(--ui-text-primary);
191
+ --publish-trigger-active-bg: var(--ui-accent-bg-muted);
192
+ --publish-popover-bg: var(--ui-surface-bg);
193
+ --publish-popover-border: var(--ui-surface-border);
194
+ --publish-popover-shadow: var(--ui-surface-shadow-strong);
195
+ --publish-section-bg: var(--ui-surface-bg-subtle);
196
+ --publish-section-border: var(--ui-surface-border);
197
+ --publish-fact-title: var(--ui-text-secondary);
122
198
  --publish-fact-value: var(--color-n900);
123
- --publish-muted-text: var(--color-n600);
124
- --publish-warning-bg: var(--color-admin-warning-bg);
125
- --publish-warning-border: var(--color-admin-warning-border);
126
- --publish-warning-text: var(--color-admin-warning-text);
127
- --publish-danger-bg: var(--color-admin-danger-bg);
128
- --publish-danger-border: var(--color-admin-danger-border);
129
- --publish-danger-text: var(--color-admin-danger-text);
130
- --publish-success-bg: var(--color-admin-success-bg);
131
- --publish-success-border: var(--color-admin-success-border);
132
- --publish-success-text: var(--color-admin-success-text);
133
- --publish-progress-track: var(--color-surface-inset);
134
- --publish-progress-fill: var(--color-brand-primary);
199
+ --publish-muted-text: var(--ui-text-secondary);
200
+ --publish-warning-bg: var(--ui-warning-bg);
201
+ --publish-warning-border: var(--ui-warning-border);
202
+ --publish-warning-text: var(--ui-warning-text);
203
+ --publish-danger-bg: var(--ui-danger-bg);
204
+ --publish-danger-border: var(--ui-danger-border);
205
+ --publish-danger-text: var(--ui-danger-text);
206
+ --publish-success-bg: var(--ui-success-bg);
207
+ --publish-success-border: var(--ui-success-border);
208
+ --publish-success-text: var(--ui-success-text);
209
+ --publish-progress-track: var(--ui-surface-bg-inset);
210
+ --publish-progress-fill: var(--ui-accent-bg);
135
211
 
136
212
  --feedback-neutral-bg: var(--ui-surface-bg-raised);
137
213
  --feedback-neutral-border: var(--ui-surface-border);
@@ -0,0 +1,13 @@
1
+ .ui-collapsible__trigger {
2
+ cursor: pointer;
3
+ }
4
+
5
+ .ui-collapsible__content {
6
+ height: auto;
7
+ overflow: hidden;
8
+ transition: height 180ms ease;
9
+ }
10
+
11
+ .ui-collapsible__content-inner {
12
+ min-height: 0;
13
+ }
@@ -0,0 +1,33 @@
1
+ .ui-tabs__list {
2
+ --tabs-border: var(--ui-surface-border);
3
+ border-color: var(--tabs-border);
4
+ }
5
+
6
+ .ui-tabs__trigger {
7
+ --tabs-text: var(--ui-text-muted);
8
+ --tabs-hover-text: var(--ui-text-secondary);
9
+ --tabs-active-text: var(--ui-text-primary);
10
+ --tabs-active-border: var(--ui-accent-strong);
11
+ --tabs-active-bg: color-mix(in srgb, var(--ui-accent-soft) 35%, transparent);
12
+ --tabs-ring: var(--ui-control-focus-ring);
13
+ border-bottom-color: transparent;
14
+ color: var(--tabs-text);
15
+ }
16
+
17
+ .ui-tabs__trigger:hover {
18
+ color: var(--tabs-hover-text);
19
+ }
20
+
21
+ .ui-tabs__trigger[data-state="active"] {
22
+ background: var(--tabs-active-bg);
23
+ border-bottom-color: var(--tabs-active-border);
24
+ color: var(--tabs-active-text);
25
+ }
26
+
27
+ .ui-tabs__trigger:focus-visible {
28
+ --tw-ring-color: var(--tabs-ring);
29
+ }
30
+
31
+ .ui-tabs__content {
32
+ color: var(--ui-text-primary);
33
+ }
@@ -0,0 +1,8 @@
1
+ .ui-textarea {
2
+ min-height: calc(1.5em * 3 + 1rem);
3
+ line-height: 1.5;
4
+ }
5
+
6
+ .ui-textarea[data-auto-resize="true"] {
7
+ overflow-y: hidden;
8
+ }
@@ -0,0 +1,87 @@
1
+ @import "./tokens.css";
2
+
3
+ :root[data-theme="dark"],
4
+ .owoui-theme-dark {
5
+ --color-n900: #fafafa;
6
+ --color-n800: #e4e4e7;
7
+ --color-n700: #d4d4d8;
8
+ --color-n600: #a1a1aa;
9
+ --color-n500: #71717a;
10
+ --color-n400: #3f3f46;
11
+ --color-n300: #27272a;
12
+
13
+ --color-brand-primary: #e11d48;
14
+ --color-brand-primary-hover: #f43f5e;
15
+ --color-brand-accent: #fb7185;
16
+
17
+ --color-surface-canvas: #09090b;
18
+ --color-surface-base: #18181b;
19
+ --color-surface-subtle: #1c1c1f;
20
+ --color-surface-raised: #27272a;
21
+ --color-surface-inset: #111113;
22
+ --color-surface-border: rgba(255, 255, 255, 0.12);
23
+ --color-surface-ring: rgba(255, 255, 255, 0.24);
24
+ --color-surface-overlay: rgba(0, 0, 0, 0.6);
25
+
26
+ --color-overlay-soft: rgba(0, 0, 0, 0.32);
27
+ --color-overlay-strong: rgba(0, 0, 0, 0.56);
28
+ --color-highlight-soft: rgba(255, 255, 255, 0.06);
29
+ --color-highlight-sheen: rgba(255, 255, 255, 0.08);
30
+
31
+ --color-text-on-brand: #ffffff;
32
+
33
+ --color-code-block-bg: #1e1e22;
34
+ --color-code-block-border: #2d2d32;
35
+ --color-code-block-divider: #27272c;
36
+ --color-code-inline-bg: #27272a;
37
+
38
+ --color-admin-success-bg: rgba(16, 185, 129, 0.15);
39
+ --color-admin-success-border: rgba(16, 185, 129, 0.3);
40
+ --color-admin-success-text: #6ee7b7;
41
+ --color-admin-warning-bg: rgba(245, 158, 11, 0.15);
42
+ --color-admin-warning-border: rgba(245, 158, 11, 0.3);
43
+ --color-admin-warning-text: #fbbf24;
44
+ --color-admin-danger-bg: rgba(239, 68, 68, 0.15);
45
+ --color-admin-danger-border: rgba(239, 68, 68, 0.3);
46
+ --color-admin-danger-text: #fca5a5;
47
+ --color-admin-info-bg: rgba(14, 165, 233, 0.15);
48
+ --color-admin-info-border: rgba(14, 165, 233, 0.3);
49
+ --color-admin-info-text: #7dd3fc;
50
+
51
+ --theme-surface-canvas: var(--color-surface-canvas);
52
+ --theme-surface-base: var(--color-surface-base);
53
+ --theme-surface-subtle: var(--color-surface-subtle);
54
+ --theme-surface-raised: var(--color-surface-raised);
55
+ --theme-surface-inset: var(--color-surface-inset);
56
+ --theme-surface-border: var(--color-surface-border);
57
+ --theme-surface-border-muted: rgba(255, 255, 255, 0.06);
58
+ --theme-surface-border-strong: var(--color-surface-ring);
59
+ --theme-canvas-bg-subtle: #0f0f11;
60
+ --theme-surface-container: #1e1e22;
61
+ --theme-surface-container-high: #252529;
62
+ --theme-surface-container-highest: #2d2d32;
63
+ --theme-text-primary: var(--color-n800);
64
+ --theme-text-secondary: var(--color-n600);
65
+ --theme-text-muted: var(--color-n500);
66
+ --theme-text-on-accent: var(--color-text-on-brand);
67
+ --theme-accent-bg: var(--color-brand-primary);
68
+ --theme-accent-bg-hover: var(--color-brand-primary-hover);
69
+ --theme-accent-bg-muted: color-mix(in srgb, var(--color-brand-primary) 14%, var(--color-surface-base));
70
+ --theme-accent-border: color-mix(in srgb, var(--color-brand-primary) 50%, transparent);
71
+ --theme-success-bg: var(--color-admin-success-bg);
72
+ --theme-success-border: var(--color-admin-success-border);
73
+ --theme-success-text: var(--color-admin-success-text);
74
+ --theme-warning-bg: var(--color-admin-warning-bg);
75
+ --theme-warning-border: var(--color-admin-warning-border);
76
+ --theme-warning-text: var(--color-admin-warning-text);
77
+ --theme-danger-bg: var(--color-admin-danger-bg);
78
+ --theme-danger-bg-emphasis: rgba(239, 68, 68, 0.24);
79
+ --theme-danger-border: var(--color-admin-danger-border);
80
+ --theme-danger-text: var(--color-admin-danger-text);
81
+ --theme-info-bg: var(--color-admin-info-bg);
82
+ --theme-info-border: var(--color-admin-info-border);
83
+ --theme-info-text: var(--color-admin-info-text);
84
+ --theme-control-focus-ring: var(--color-surface-ring);
85
+ --theme-control-focus-ring-offset: var(--color-surface-base);
86
+ }
87
+
@@ -0,0 +1,41 @@
1
+ @import "./tokens.css";
2
+
3
+ :root[data-theme="light"],
4
+ .owoui-theme-light {
5
+ --theme-surface-canvas: var(--color-surface-canvas);
6
+ --theme-surface-base: var(--color-surface-base);
7
+ --theme-surface-subtle: var(--color-surface-subtle);
8
+ --theme-surface-raised: var(--color-surface-raised);
9
+ --theme-surface-inset: var(--color-surface-inset);
10
+ --theme-surface-border: var(--color-surface-border);
11
+ --theme-surface-border-muted: rgba(0, 0, 0, 0.06);
12
+ --theme-surface-border-strong: var(--color-surface-ring);
13
+ --theme-canvas-bg-subtle: #f5f5f4;
14
+ --theme-surface-container: #f4f4f5;
15
+ --theme-surface-container-high: #ececed;
16
+ --theme-surface-container-highest: #e4e4e7;
17
+ --theme-text-primary: var(--color-n800);
18
+ --theme-text-secondary: var(--color-n600);
19
+ --theme-text-muted: var(--color-n500);
20
+ --theme-text-on-accent: var(--color-text-on-brand);
21
+ --theme-accent-bg: var(--color-brand-primary);
22
+ --theme-accent-bg-hover: var(--color-brand-primary-hover);
23
+ --theme-accent-bg-muted: color-mix(in srgb, var(--color-brand-primary) 10%, var(--color-surface-base));
24
+ --theme-accent-border: color-mix(in srgb, var(--color-brand-primary) 40%, transparent);
25
+ --theme-success-bg: var(--color-admin-success-bg);
26
+ --theme-success-border: var(--color-admin-success-border);
27
+ --theme-success-text: var(--color-admin-success-text);
28
+ --theme-warning-bg: var(--color-admin-warning-bg);
29
+ --theme-warning-border: var(--color-admin-warning-border);
30
+ --theme-warning-text: var(--color-admin-warning-text);
31
+ --theme-danger-bg: var(--color-admin-danger-bg);
32
+ --theme-danger-bg-emphasis: rgba(239, 68, 68, 0.18);
33
+ --theme-danger-border: var(--color-admin-danger-border);
34
+ --theme-danger-text: var(--color-admin-danger-text);
35
+ --theme-info-bg: var(--color-admin-info-bg);
36
+ --theme-info-border: var(--color-admin-info-border);
37
+ --theme-info-text: var(--color-admin-info-text);
38
+ --theme-control-focus-ring: var(--color-surface-ring);
39
+ --theme-control-focus-ring-offset: var(--color-surface-base);
40
+ }
41
+
package/src/elevated.css DELETED
@@ -1,20 +0,0 @@
1
- @import "./style.css";
2
-
3
- :root,
4
- .owoui-theme-elevated {
5
- --color-surface-canvas: #f4f7fb;
6
- --color-surface-base: rgba(255, 255, 255, 0.88);
7
- --color-surface-subtle: rgba(248, 250, 252, 0.94);
8
- --color-surface-raised: rgba(255, 255, 255, 0.96);
9
- --color-surface-inset: #eef2f7;
10
- --color-surface-border: rgba(148, 163, 184, 0.22);
11
- --color-surface-ring: rgba(59, 130, 246, 0.28);
12
- --color-overlay-soft: rgba(240, 244, 250, 0.62);
13
- --color-overlay-strong: rgba(15, 23, 42, 0.24);
14
- --shadow-raised: 0 16px 40px rgba(15, 23, 42, 0.14);
15
- --shadow-popover: 0 28px 60px rgba(15, 23, 42, 0.18);
16
- --drawer-panel-shadow: 0 28px 60px rgba(15, 23, 42, 0.18);
17
- --select-dropdown-shadow: 0 22px 50px rgba(15, 23, 42, 0.16);
18
- --tooltip-shadow: 0 14px 36px rgba(15, 23, 42, 0.14);
19
- --theme-picker-shadow: 0 24px 56px rgba(15, 23, 42, 0.16);
20
- }
package/src/flat.css DELETED
@@ -1 +0,0 @@
1
- @import "./style.css";
package/src/glass.css DELETED
@@ -1,17 +0,0 @@
1
- @import "./style.css";
2
-
3
- :root,
4
- .owoui-theme-glass {
5
- --color-surface-canvas: linear-gradient(180deg, #edf3ff 0%, #f7fbff 42%, #f2f7fb 100%);
6
- --color-surface-base: rgba(255, 255, 255, 0.62);
7
- --color-surface-subtle: rgba(255, 255, 255, 0.48);
8
- --color-surface-raised: rgba(255, 255, 255, 0.72);
9
- --color-surface-inset: rgba(236, 243, 251, 0.82);
10
- --color-surface-border: rgba(255, 255, 255, 0.42);
11
- --color-surface-ring: rgba(148, 163, 184, 0.28);
12
- --color-overlay-soft: rgba(240, 246, 255, 0.48);
13
- --color-overlay-strong: rgba(15, 23, 42, 0.18);
14
- --shadow-raised: 0 16px 44px rgba(15, 23, 42, 0.10);
15
- --shadow-popover: 0 24px 64px rgba(15, 23, 42, 0.14);
16
- --ui-surface-blur: 18px;
17
- }