@tanstack/devtools-ui 0.3.3 → 0.3.4
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/esm/components/main-panel.js +1 -3
- package/dist/esm/components/main-panel.js.map +1 -1
- package/dist/esm/components/theme.d.ts +12 -0
- package/dist/esm/components/theme.js +30 -0
- package/dist/esm/components/theme.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles/use-styles.d.ts +1 -2
- package/dist/esm/styles/use-styles.js +79 -72
- package/dist/esm/styles/use-styles.js.map +1 -1
- package/package.json +1 -1
- package/src/components/main-panel.tsx +6 -3
- package/src/components/theme.tsx +34 -0
- package/src/index.ts +1 -0
- package/src/styles/use-styles.ts +83 -73
|
@@ -12,9 +12,7 @@ const MainPanel = ({
|
|
|
12
12
|
return (() => {
|
|
13
13
|
var _el$ = _tmpl$();
|
|
14
14
|
insert(_el$, children);
|
|
15
|
-
effect(() => className(_el$, clsx(styles().mainPanel.panel, className$1, classStyles
|
|
16
|
-
[styles().mainPanel.withPadding]: withPadding
|
|
17
|
-
})));
|
|
15
|
+
effect(() => className(_el$, clsx(styles().mainPanel.panel(Boolean(withPadding)), className$1, classStyles)));
|
|
18
16
|
return _el$;
|
|
19
17
|
})();
|
|
20
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-panel.js","sources":["../../../src/components/main-panel.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { useStyles } from '../styles/use-styles'\nimport type { JSX } from 'solid-js/jsx-runtime'\n\ntype PanelProps = JSX.IntrinsicElements['div'] & {\n children?: any\n className?: string\n withPadding?: boolean\n}\n\nexport const MainPanel = ({\n className,\n children,\n class: classStyles,\n withPadding,\n}: PanelProps) => {\n const styles = useStyles()\n return (\n <div\n class={clsx(
|
|
1
|
+
{"version":3,"file":"main-panel.js","sources":["../../../src/components/main-panel.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { useStyles } from '../styles/use-styles'\nimport type { JSX } from 'solid-js/jsx-runtime'\n\ntype PanelProps = JSX.IntrinsicElements['div'] & {\n children?: any\n className?: string\n withPadding?: boolean\n}\n\nexport const MainPanel = ({\n className,\n children,\n class: classStyles,\n withPadding,\n}: PanelProps) => {\n const styles = useStyles()\n\n return (\n <div\n class={clsx(\n styles().mainPanel.panel(Boolean(withPadding)),\n className,\n classStyles,\n )}\n >\n {children}\n </div>\n )\n}\n"],"names":["MainPanel","className","children","class","classStyles","withPadding","styles","useStyles","_el$","_tmpl$","_$insert","_$effect","_$className","clsx","mainPanel","panel","Boolean"],"mappings":";;;;AAUO,MAAMA,YAAYA,CAAC;AAAA,EAAA,WACxBC;AAAAA,EACAC;AAAAA,EACAC,OAAOC;AAAAA,EACPC;AACU,MAAM;AAChB,QAAMC,SAASC,UAAAA;AAEf,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,WAAAF,MAQKN,QAAQ;AAAAS,WAAA,MAAAC,UAAAJ,MANFK,KACLP,SAASQ,UAAUC,MAAMC,QAAQX,WAAW,CAAC,GAC7CJ,aACAG,WACF,CAAC,CAAA;AAAA,WAAAI;AAAAA,EAAA,GAAA;AAKP;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Accessor, JSX } from 'solid-js';
|
|
2
|
+
export type Theme = 'light' | 'dark';
|
|
3
|
+
type ThemeContextValue = {
|
|
4
|
+
theme: Accessor<Theme>;
|
|
5
|
+
setTheme: (theme: Theme) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const ThemeContextProvider: (props: {
|
|
8
|
+
children: JSX.Element;
|
|
9
|
+
theme: Theme;
|
|
10
|
+
}) => JSX.Element;
|
|
11
|
+
export declare function useTheme(): ThemeContextValue;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import { createContext, createSignal, createEffect, useContext } from "solid-js";
|
|
3
|
+
const ThemeContext = createContext(void 0);
|
|
4
|
+
const ThemeContextProvider = (props) => {
|
|
5
|
+
const [theme, setTheme] = createSignal(props.theme);
|
|
6
|
+
createEffect(() => {
|
|
7
|
+
setTheme(props.theme);
|
|
8
|
+
});
|
|
9
|
+
return createComponent(ThemeContext.Provider, {
|
|
10
|
+
value: {
|
|
11
|
+
theme,
|
|
12
|
+
setTheme
|
|
13
|
+
},
|
|
14
|
+
get children() {
|
|
15
|
+
return props.children;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
function useTheme() {
|
|
20
|
+
const context = useContext(ThemeContext);
|
|
21
|
+
if (!context) {
|
|
22
|
+
throw new Error("useTheme must be used within a ThemeContextProvider");
|
|
23
|
+
}
|
|
24
|
+
return context;
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
ThemeContextProvider,
|
|
28
|
+
useTheme
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sources":["../../../src/components/theme.tsx"],"sourcesContent":["import { createContext, createEffect, createSignal, useContext } from 'solid-js'\nimport type { Accessor, JSX } from 'solid-js'\n\nexport type Theme = 'light' | 'dark'\n\ntype ThemeContextValue = {\n theme: Accessor<Theme>\n setTheme: (theme: Theme) => void\n}\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined)\n\nexport const ThemeContextProvider = (props: {\n children: JSX.Element\n theme: Theme\n}) => {\n const [theme, setTheme] = createSignal<Theme>(props.theme)\n createEffect(() => {\n setTheme(props.theme)\n })\n return (\n <ThemeContext.Provider value={{ theme, setTheme }}>\n {props.children}\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n const context = useContext(ThemeContext)\n if (!context) {\n throw new Error('useTheme must be used within a ThemeContextProvider')\n }\n\n return context\n}\n"],"names":["ThemeContext","createContext","undefined","ThemeContextProvider","props","theme","setTheme","createSignal","createEffect","_$createComponent","Provider","value","children","useTheme","context","useContext","Error"],"mappings":";;AASA,MAAMA,eAAeC,cAA6CC,MAAS;AAEpE,MAAMC,uBAAuBA,CAACC,UAG/B;AACJ,QAAM,CAACC,OAAOC,QAAQ,IAAIC,aAAoBH,MAAMC,KAAK;AACzDG,eAAa,MAAM;AACjBF,aAASF,MAAMC,KAAK;AAAA,EACtB,CAAC;AACD,SAAAI,gBACGT,aAAaU,UAAQ;AAAA,IAACC,OAAO;AAAA,MAAEN;AAAAA,MAAOC;AAAAA,IAAAA;AAAAA,IAAU,IAAAM,WAAA;AAAA,aAC9CR,MAAMQ;AAAAA,IAAQ;AAAA,EAAA,CAAA;AAGrB;AAEO,SAASC,WAAW;AACzB,QAAMC,UAAUC,WAAWf,YAAY;AACvC,MAAI,CAACc,SAAS;AACZ,UAAM,IAAIE,MAAM,qDAAqD;AAAA,EACvE;AAEA,SAAOF;AACT;"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -8,3 +8,4 @@ export { Tag } from './components/tag.js';
|
|
|
8
8
|
export { MainPanel } from './components/main-panel.js';
|
|
9
9
|
export { Section, SectionTitle, SectionDescription, SectionIcon, } from './components/section.js';
|
|
10
10
|
export { Header, HeaderLogo } from './components/header.js';
|
|
11
|
+
export { useTheme, ThemeContextProvider } from './components/theme.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { Tag } from "./components/tag.js";
|
|
|
8
8
|
import { MainPanel } from "./components/main-panel.js";
|
|
9
9
|
import { Section, SectionDescription, SectionIcon, SectionTitle } from "./components/section.js";
|
|
10
10
|
import { Header, HeaderLogo } from "./components/header.js";
|
|
11
|
+
import { ThemeContextProvider, useTheme } from "./components/theme.js";
|
|
11
12
|
export {
|
|
12
13
|
Button,
|
|
13
14
|
Checkbox,
|
|
@@ -22,6 +23,8 @@ export {
|
|
|
22
23
|
SectionTitle,
|
|
23
24
|
Select,
|
|
24
25
|
Tag,
|
|
25
|
-
TanStackLogo
|
|
26
|
+
TanStackLogo,
|
|
27
|
+
ThemeContextProvider,
|
|
28
|
+
useTheme
|
|
26
29
|
};
|
|
27
30
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as goober from "goober";
|
|
2
|
-
import { createSignal } from "solid-js";
|
|
2
|
+
import { createSignal, createEffect } from "solid-js";
|
|
3
|
+
import { useTheme } from "../components/theme.js";
|
|
3
4
|
import { tokens } from "./tokens.js";
|
|
4
5
|
const buttonVariantColors = {
|
|
5
6
|
primary: {
|
|
@@ -79,12 +80,12 @@ const stylesFactory = (theme = "dark") => {
|
|
|
79
80
|
selectLabel: css`
|
|
80
81
|
font-size: 0.875rem;
|
|
81
82
|
font-weight: 500;
|
|
82
|
-
color: ${colors.gray[100]};
|
|
83
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
83
84
|
text-align: left;
|
|
84
85
|
`,
|
|
85
86
|
selectDescription: css`
|
|
86
87
|
font-size: 0.8rem;
|
|
87
|
-
color: ${colors.gray[400]};
|
|
88
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
88
89
|
margin: 0;
|
|
89
90
|
line-height: 1.3;
|
|
90
91
|
text-align: left;
|
|
@@ -94,9 +95,9 @@ const stylesFactory = (theme = "dark") => {
|
|
|
94
95
|
width: 100%;
|
|
95
96
|
padding: 0.75rem 3rem 0.75rem 0.75rem;
|
|
96
97
|
border-radius: 0.5rem;
|
|
97
|
-
background-color: ${colors.darkGray[800]};
|
|
98
|
-
color: ${colors.gray[100]};
|
|
99
|
-
border: 1px solid ${colors.gray[700]};
|
|
98
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
99
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
100
|
+
border: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
100
101
|
font-size: 0.875rem;
|
|
101
102
|
transition: all 0.2s ease;
|
|
102
103
|
cursor: pointer;
|
|
@@ -108,7 +109,7 @@ const stylesFactory = (theme = "dark") => {
|
|
|
108
109
|
background-size: 1.25rem;
|
|
109
110
|
|
|
110
111
|
&:hover {
|
|
111
|
-
border-color: ${colors.gray[600]};
|
|
112
|
+
border-color: ${t(colors.gray[400], colors.gray[600])};
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
&:focus {
|
|
@@ -130,12 +131,12 @@ const stylesFactory = (theme = "dark") => {
|
|
|
130
131
|
inputLabel: css`
|
|
131
132
|
font-size: 0.875rem;
|
|
132
133
|
font-weight: 500;
|
|
133
|
-
color: ${colors.gray[100]};
|
|
134
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
134
135
|
text-align: left;
|
|
135
136
|
`,
|
|
136
137
|
inputDescription: css`
|
|
137
138
|
font-size: 0.8rem;
|
|
138
|
-
color: ${colors.gray[400]};
|
|
139
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
139
140
|
margin: 0;
|
|
140
141
|
line-height: 1.3;
|
|
141
142
|
text-align: left;
|
|
@@ -145,25 +146,26 @@ const stylesFactory = (theme = "dark") => {
|
|
|
145
146
|
width: 100%;
|
|
146
147
|
padding: 0.75rem;
|
|
147
148
|
border-radius: 0.5rem;
|
|
148
|
-
background-color: ${colors.darkGray[800]};
|
|
149
|
-
color: ${colors.gray[100]};
|
|
150
|
-
border: 1px solid ${colors.gray[700]};
|
|
149
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
150
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
151
|
+
border: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
151
152
|
font-size: 0.875rem;
|
|
152
153
|
font-family: ${fontFamily.mono};
|
|
153
154
|
transition: all 0.2s ease;
|
|
154
155
|
|
|
155
156
|
&::placeholder {
|
|
156
|
-
color: ${colors.gray[500]};
|
|
157
|
+
color: ${t(colors.gray[400], colors.gray[500])};
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
&:hover {
|
|
160
|
-
border-color: ${colors.gray[600]};
|
|
161
|
+
border-color: ${t(colors.gray[400], colors.gray[600])};
|
|
161
162
|
}
|
|
162
163
|
|
|
163
164
|
&:focus {
|
|
164
165
|
outline: none;
|
|
165
|
-
border-color: ${colors.purple[400]};
|
|
166
|
-
box-shadow: 0 0 0 3px
|
|
166
|
+
border-color: ${t(colors.purple[500], colors.purple[400])};
|
|
167
|
+
box-shadow: 0 0 0 3px
|
|
168
|
+
${t(colors.purple[100] + alpha[20], colors.purple[400] + alpha[20])};
|
|
167
169
|
}
|
|
168
170
|
`,
|
|
169
171
|
checkboxWrapper: css`
|
|
@@ -177,7 +179,7 @@ const stylesFactory = (theme = "dark") => {
|
|
|
177
179
|
transition: background-color 0.2s ease;
|
|
178
180
|
|
|
179
181
|
&:hover {
|
|
180
|
-
background-color: ${colors.darkGray[800]};
|
|
182
|
+
background-color: ${t(colors.gray[100], colors.darkGray[800])};
|
|
181
183
|
}
|
|
182
184
|
`,
|
|
183
185
|
checkboxContainer: css`
|
|
@@ -193,9 +195,9 @@ const stylesFactory = (theme = "dark") => {
|
|
|
193
195
|
appearance: none;
|
|
194
196
|
width: 1.25rem;
|
|
195
197
|
height: 1.25rem;
|
|
196
|
-
border: 2px solid ${colors.gray[700]};
|
|
198
|
+
border: 2px solid ${t(colors.gray[300], colors.gray[700])};
|
|
197
199
|
border-radius: 0.375rem;
|
|
198
|
-
background-color: ${colors.darkGray[800]};
|
|
200
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
199
201
|
display: grid;
|
|
200
202
|
place-items: center;
|
|
201
203
|
transition: all 0.2s ease;
|
|
@@ -203,33 +205,33 @@ const stylesFactory = (theme = "dark") => {
|
|
|
203
205
|
margin-top: 0.125rem;
|
|
204
206
|
|
|
205
207
|
&:hover {
|
|
206
|
-
border-color: ${colors.purple[400]};
|
|
208
|
+
border-color: ${t(colors.purple[500], colors.purple[400])};
|
|
207
209
|
}
|
|
208
210
|
|
|
209
211
|
&:checked {
|
|
210
|
-
background-color: ${colors.purple[500]};
|
|
211
|
-
border-color: ${colors.purple[500]};
|
|
212
|
+
background-color: ${t(colors.purple[500], colors.purple[700])};
|
|
213
|
+
border-color: ${t(colors.purple[500], colors.purple[700])};
|
|
212
214
|
}
|
|
213
215
|
|
|
214
216
|
&:checked::after {
|
|
215
217
|
content: '';
|
|
216
218
|
width: 0.4rem;
|
|
217
219
|
height: 0.6rem;
|
|
218
|
-
border: solid
|
|
220
|
+
border: solid ${t("#fff", colors.gray[100])};
|
|
219
221
|
border-width: 0 2px 2px 0;
|
|
220
222
|
transform: rotate(45deg);
|
|
221
223
|
margin-top: -3px;
|
|
222
224
|
}
|
|
223
225
|
`,
|
|
224
226
|
checkboxLabel: css`
|
|
225
|
-
color: ${colors.gray[100]};
|
|
227
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
226
228
|
font-size: 0.875rem;
|
|
227
229
|
font-weight: 500;
|
|
228
230
|
line-height: 1.4;
|
|
229
231
|
text-align: left;
|
|
230
232
|
`,
|
|
231
233
|
checkboxDescription: css`
|
|
232
|
-
color: ${colors.gray[400]};
|
|
234
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
233
235
|
font-size: 0.8rem;
|
|
234
236
|
line-height: 1.3;
|
|
235
237
|
text-align: left;
|
|
@@ -259,42 +261,42 @@ const stylesFactory = (theme = "dark") => {
|
|
|
259
261
|
if (ghost) {
|
|
260
262
|
return css`
|
|
261
263
|
background: transparent;
|
|
262
|
-
color: ${v.bg};
|
|
264
|
+
color: ${t(v.bg, v.bg)};
|
|
263
265
|
border-color: transparent;
|
|
264
266
|
&:hover {
|
|
265
|
-
background: ${
|
|
267
|
+
background: ${t(colors.purple[100], colors.darkGray[700])};
|
|
266
268
|
}
|
|
267
269
|
&:active {
|
|
268
|
-
background: ${
|
|
270
|
+
background: ${t(colors.purple[200], colors.darkGray[800])};
|
|
269
271
|
}
|
|
270
272
|
`;
|
|
271
273
|
}
|
|
272
274
|
if (outline) {
|
|
273
275
|
return css`
|
|
274
276
|
background: transparent;
|
|
275
|
-
color: ${v.bg};
|
|
276
|
-
border-color: ${v.bg};
|
|
277
|
+
color: ${t(v.bg, v.bg)};
|
|
278
|
+
border-color: ${t(v.bg, v.bg)};
|
|
277
279
|
&:hover {
|
|
278
|
-
background: ${
|
|
279
|
-
border-color: ${v.hover};
|
|
280
|
+
background: ${t(colors.purple[100], colors.darkGray[700])};
|
|
281
|
+
border-color: ${t(v.hover, v.hover)};
|
|
280
282
|
}
|
|
281
283
|
&:active {
|
|
282
|
-
background: ${
|
|
283
|
-
border-color: ${v.active};
|
|
284
|
+
background: ${t(colors.purple[200], colors.darkGray[800])};
|
|
285
|
+
border-color: ${t(v.active, v.active)};
|
|
284
286
|
}
|
|
285
287
|
`;
|
|
286
288
|
}
|
|
287
289
|
return css`
|
|
288
|
-
background: ${v.bg};
|
|
289
|
-
color: ${v.text};
|
|
290
|
-
border-color: ${v.border};
|
|
290
|
+
background: ${t(v.bg, v.bg)};
|
|
291
|
+
color: ${t(v.text, v.text)};
|
|
292
|
+
border-color: ${t(v.border, v.border)};
|
|
291
293
|
&:hover {
|
|
292
|
-
background: ${v.hover};
|
|
293
|
-
border-color: ${v.hover};
|
|
294
|
+
background: ${t(v.hover, v.hover)};
|
|
295
|
+
border-color: ${t(v.hover, v.hover)};
|
|
294
296
|
}
|
|
295
297
|
&:active {
|
|
296
|
-
background: ${v.active};
|
|
297
|
-
border-color: ${v.active};
|
|
298
|
+
background: ${t(v.active, v.active)};
|
|
299
|
+
border-color: ${t(v.active, v.active)};
|
|
298
300
|
}
|
|
299
301
|
`;
|
|
300
302
|
}
|
|
@@ -304,7 +306,10 @@ const stylesFactory = (theme = "dark") => {
|
|
|
304
306
|
width: ${tokens.size[1.5]};
|
|
305
307
|
height: ${tokens.size[1.5]};
|
|
306
308
|
border-radius: ${tokens.border.radius.full};
|
|
307
|
-
background-color: ${
|
|
309
|
+
background-color: ${t(
|
|
310
|
+
tokens.colors[color][500],
|
|
311
|
+
tokens.colors[color][500]
|
|
312
|
+
)};
|
|
308
313
|
`,
|
|
309
314
|
base: css`
|
|
310
315
|
display: flex;
|
|
@@ -324,7 +329,7 @@ const stylesFactory = (theme = "dark") => {
|
|
|
324
329
|
position: relative;
|
|
325
330
|
&:focus-visible {
|
|
326
331
|
outline-offset: 2px;
|
|
327
|
-
outline: 2px solid ${colors.blue[800]};
|
|
332
|
+
outline: 2px solid ${t(colors.blue[700], colors.blue[800])};
|
|
328
333
|
}
|
|
329
334
|
`,
|
|
330
335
|
label: css`
|
|
@@ -348,7 +353,6 @@ const stylesFactory = (theme = "dark") => {
|
|
|
348
353
|
color: ${t(colors.gray[500], colors.gray[500])};
|
|
349
354
|
font-size: ${font.size.xs};
|
|
350
355
|
margin-right: ${size[1]};
|
|
351
|
-
/* outline: 1px solid ${colors.yellow[400]}; */
|
|
352
356
|
`,
|
|
353
357
|
actionButton: css`
|
|
354
358
|
background-color: transparent;
|
|
@@ -370,7 +374,7 @@ const stylesFactory = (theme = "dark") => {
|
|
|
370
374
|
|
|
371
375
|
&:focus-visible {
|
|
372
376
|
border-radius: ${border.radius.xs};
|
|
373
|
-
outline: 2px solid ${colors.blue[800]};
|
|
377
|
+
outline: 2px solid ${t(colors.blue[700], colors.blue[800])};
|
|
374
378
|
outline-offset: 2px;
|
|
375
379
|
}
|
|
376
380
|
`,
|
|
@@ -382,7 +386,7 @@ const stylesFactory = (theme = "dark") => {
|
|
|
382
386
|
left: -16px;
|
|
383
387
|
top: 3px;
|
|
384
388
|
& path {
|
|
385
|
-
stroke: ${colors.blue[300]};
|
|
389
|
+
stroke: ${t(colors.blue[400], colors.blue[300])};
|
|
386
390
|
}
|
|
387
391
|
& svg {
|
|
388
392
|
width: ${size[3]};
|
|
@@ -392,19 +396,18 @@ const stylesFactory = (theme = "dark") => {
|
|
|
392
396
|
display: inline-flex;
|
|
393
397
|
align-items: center;
|
|
394
398
|
transition: all 0.1s ease;
|
|
395
|
-
/* outline: 1px solid ${colors.blue[400]}; */
|
|
396
399
|
`,
|
|
397
400
|
expandedLine: (hasBorder) => css`
|
|
398
401
|
display: block;
|
|
399
402
|
padding-left: 0.75rem;
|
|
400
403
|
margin-left: -0.7rem;
|
|
401
|
-
${hasBorder ? `border-left: 1px solid ${colors.blue[300]};` : ""}
|
|
404
|
+
${hasBorder ? `border-left: 1px solid ${t(colors.blue[400], colors.blue[300])};` : ""}
|
|
402
405
|
`,
|
|
403
406
|
collapsible: css`
|
|
404
407
|
cursor: pointer;
|
|
405
408
|
transition: all 0.2s ease;
|
|
406
409
|
&:hover {
|
|
407
|
-
background-color: ${colors.darkGray[700]};
|
|
410
|
+
background-color: ${t(colors.gray[100], colors.darkGray[700])};
|
|
408
411
|
border-radius: ${tokens.border.radius.sm};
|
|
409
412
|
padding: 0 ${tokens.size[1]};
|
|
410
413
|
}
|
|
@@ -420,26 +423,26 @@ const stylesFactory = (theme = "dark") => {
|
|
|
420
423
|
}
|
|
421
424
|
`,
|
|
422
425
|
valueCollapsed: css`
|
|
423
|
-
color: ${colors.gray[400]};
|
|
426
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
424
427
|
`,
|
|
425
428
|
valueFunction: css`
|
|
426
|
-
color: ${colors.cyan[400]};
|
|
429
|
+
color: ${t(colors.cyan[500], colors.cyan[400])};
|
|
427
430
|
`,
|
|
428
431
|
valueString: css`
|
|
429
|
-
color: ${colors.green[400]};
|
|
432
|
+
color: ${t(colors.green[500], colors.green[400])};
|
|
430
433
|
`,
|
|
431
434
|
valueNumber: css`
|
|
432
|
-
color: ${colors.yellow[400]};
|
|
435
|
+
color: ${t(colors.yellow[500], colors.yellow[400])};
|
|
433
436
|
`,
|
|
434
437
|
valueBoolean: css`
|
|
435
|
-
color: ${colors.pink[400]};
|
|
438
|
+
color: ${t(colors.pink[500], colors.pink[400])};
|
|
436
439
|
`,
|
|
437
440
|
valueNull: css`
|
|
438
|
-
color: ${colors.gray[400]};
|
|
441
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
439
442
|
font-style: italic;
|
|
440
443
|
`,
|
|
441
444
|
valueKey: css`
|
|
442
|
-
color: ${colors.blue[300]};
|
|
445
|
+
color: ${t(colors.blue[400], colors.blue[300])};
|
|
443
446
|
`,
|
|
444
447
|
valueBraces: css`
|
|
445
448
|
color: ${colors.gray[500]};
|
|
@@ -502,7 +505,7 @@ const stylesFactory = (theme = "dark") => {
|
|
|
502
505
|
font-weight: ${font.weight.bold};
|
|
503
506
|
line-height: ${font.lineHeight.xs};
|
|
504
507
|
white-space: nowrap;
|
|
505
|
-
color: ${t(colors.gray[
|
|
508
|
+
color: ${t(colors.gray[700], colors.gray[300])};
|
|
506
509
|
`,
|
|
507
510
|
flavorLogo: (flavorLight, flavorDark) => css`
|
|
508
511
|
font-weight: ${font.weight.semibold};
|
|
@@ -519,18 +522,21 @@ const stylesFactory = (theme = "dark") => {
|
|
|
519
522
|
main: css`
|
|
520
523
|
margin-bottom: 2rem;
|
|
521
524
|
padding: 1.5rem;
|
|
522
|
-
background-color: ${colors.darkGray[800]};
|
|
523
|
-
border: 1px solid ${colors.gray[700]};
|
|
525
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
526
|
+
border: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
524
527
|
border-radius: 0.75rem;
|
|
525
|
-
box-shadow:
|
|
528
|
+
box-shadow: ${t(
|
|
529
|
+
"0 1px 3px rgba(0,0,0,0.06)",
|
|
530
|
+
"0 1px 3px rgba(0,0,0,0.18)"
|
|
531
|
+
)};
|
|
526
532
|
`,
|
|
527
533
|
title: css`
|
|
528
534
|
font-size: 1.125rem;
|
|
529
535
|
font-weight: 600;
|
|
530
|
-
color: ${colors.gray[100]};
|
|
536
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
531
537
|
margin: 0 0 1rem 0;
|
|
532
538
|
padding-bottom: 0.5rem;
|
|
533
|
-
border-bottom: 1px solid ${colors.gray[700]};
|
|
539
|
+
border-bottom: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
534
540
|
display: flex;
|
|
535
541
|
align-items: center;
|
|
536
542
|
gap: 0.5rem;
|
|
@@ -543,10 +549,10 @@ const stylesFactory = (theme = "dark") => {
|
|
|
543
549
|
height: 100%;
|
|
544
550
|
width: 100%;
|
|
545
551
|
}
|
|
546
|
-
color: ${colors.purple[400]};
|
|
552
|
+
color: ${t(colors.purple[500], colors.purple[400])};
|
|
547
553
|
`,
|
|
548
554
|
description: css`
|
|
549
|
-
color: ${colors.gray[400]};
|
|
555
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
550
556
|
font-size: 0.875rem;
|
|
551
557
|
margin: 0 0 1.5rem 0;
|
|
552
558
|
line-height: 1.5;
|
|
@@ -554,21 +560,22 @@ const stylesFactory = (theme = "dark") => {
|
|
|
554
560
|
`
|
|
555
561
|
},
|
|
556
562
|
mainPanel: {
|
|
557
|
-
panel: css`
|
|
558
|
-
padding: 0;
|
|
559
|
-
background: ${colors.darkGray[700]};
|
|
563
|
+
panel: (withPadding) => css`
|
|
564
|
+
padding: ${withPadding ? tokens.size[4] : 0};
|
|
565
|
+
background: ${t(colors.gray[50], colors.darkGray[700])};
|
|
560
566
|
overflow-y: auto;
|
|
561
567
|
height: 100%;
|
|
562
|
-
`,
|
|
563
|
-
withPadding: css`
|
|
564
|
-
padding: ${tokens.size[4]};
|
|
565
568
|
`
|
|
566
569
|
}
|
|
567
570
|
};
|
|
568
571
|
};
|
|
569
572
|
function useStyles() {
|
|
570
|
-
const
|
|
571
|
-
|
|
573
|
+
const { theme } = useTheme();
|
|
574
|
+
const [styles, setStyles] = createSignal(stylesFactory(theme()));
|
|
575
|
+
createEffect(() => {
|
|
576
|
+
setStyles(stylesFactory(theme()));
|
|
577
|
+
});
|
|
578
|
+
return styles;
|
|
572
579
|
}
|
|
573
580
|
export {
|
|
574
581
|
css,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-styles.js","sources":["../../../src/styles/use-styles.ts"],"sourcesContent":["import * as goober from 'goober'\nimport { createSignal } from 'solid-js'\nimport { tokens } from './tokens'\nimport type { ButtonVariant } from '../components/button'\n\nconst buttonVariantColors: Record<\n ButtonVariant,\n { bg: string; hover: string; active: string; text: string; border: string }\n> = {\n primary: {\n bg: tokens.colors.purple[500],\n hover: tokens.colors.purple[600],\n active: tokens.colors.purple[700],\n text: '#fff',\n border: tokens.colors.purple[500],\n },\n secondary: {\n bg: tokens.colors.gray[800],\n hover: tokens.colors.gray[700],\n active: tokens.colors.gray[600],\n text: tokens.colors.gray[100],\n border: tokens.colors.gray[700],\n },\n info: {\n bg: tokens.colors.blue[500],\n hover: tokens.colors.blue[600],\n active: tokens.colors.blue[700],\n text: '#fff',\n border: tokens.colors.blue[500],\n },\n warning: {\n bg: tokens.colors.yellow[500],\n hover: tokens.colors.yellow[600],\n active: tokens.colors.yellow[700],\n text: '#fff',\n border: tokens.colors.yellow[500],\n },\n danger: {\n bg: tokens.colors.red[500],\n hover: tokens.colors.red[600],\n active: tokens.colors.red[700],\n text: '#fff',\n border: tokens.colors.red[500],\n },\n success: {\n bg: tokens.colors.green[500],\n hover: tokens.colors.green[600],\n active: tokens.colors.green[700],\n text: '#fff',\n border: tokens.colors.green[500],\n },\n}\nexport const css = goober.css\nconst stylesFactory = (theme: 'light' | 'dark' = 'dark') => {\n const { colors, font, size, alpha, border } = tokens\n const { fontFamily } = font\n\n const t = (light: string, dark: string) => (theme === 'light' ? light : dark)\n\n return {\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n width: ${size[12]};\n height: ${size[12]};\n font-family: ${fontFamily.sans};\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n `,\n\n selectWrapper: css`\n width: 100%;\n max-width: 300px;\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n `,\n selectContainer: css`\n width: 100%;\n `,\n selectLabel: css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${colors.gray[100]};\n text-align: left;\n `,\n selectDescription: css`\n font-size: 0.8rem;\n color: ${colors.gray[400]};\n margin: 0;\n line-height: 1.3;\n text-align: left;\n `,\n select: css`\n appearance: none;\n width: 100%;\n padding: 0.75rem 3rem 0.75rem 0.75rem;\n border-radius: 0.5rem;\n background-color: ${colors.darkGray[800]};\n color: ${colors.gray[100]};\n border: 1px solid ${colors.gray[700]};\n font-size: 0.875rem;\n transition: all 0.2s ease;\n cursor: pointer;\n\n /* Custom arrow */\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='%236b7280' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 1.25rem;\n\n &:hover {\n border-color: ${colors.gray[600]};\n }\n\n &:focus {\n outline: none;\n border-color: ${colors.purple[400]};\n box-shadow: 0 0 0 3px ${colors.purple[400]}${alpha[20]};\n }\n `,\n inputWrapper: css`\n width: 100%;\n max-width: 300px;\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n `,\n inputContainer: css`\n width: 100%;\n `,\n inputLabel: css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${colors.gray[100]};\n text-align: left;\n `,\n inputDescription: css`\n font-size: 0.8rem;\n color: ${colors.gray[400]};\n margin: 0;\n line-height: 1.3;\n text-align: left;\n `,\n input: css`\n appearance: none;\n width: 100%;\n padding: 0.75rem;\n border-radius: 0.5rem;\n background-color: ${colors.darkGray[800]};\n color: ${colors.gray[100]};\n border: 1px solid ${colors.gray[700]};\n font-size: 0.875rem;\n font-family: ${fontFamily.mono};\n transition: all 0.2s ease;\n\n &::placeholder {\n color: ${colors.gray[500]};\n }\n\n &:hover {\n border-color: ${colors.gray[600]};\n }\n\n &:focus {\n outline: none;\n border-color: ${colors.purple[400]};\n box-shadow: 0 0 0 3px ${colors.purple[400]}${alpha[20]};\n }\n `,\n checkboxWrapper: css`\n display: flex;\n align-items: flex-start;\n gap: 0.75rem;\n cursor: pointer;\n user-select: none;\n padding: 0.5rem;\n border-radius: 0.5rem;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: ${colors.darkGray[800]};\n }\n `,\n checkboxContainer: css`\n width: 100%;\n `,\n checkboxLabelContainer: css`\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n flex: 1;\n `,\n checkbox: css`\n appearance: none;\n width: 1.25rem;\n height: 1.25rem;\n border: 2px solid ${colors.gray[700]};\n border-radius: 0.375rem;\n background-color: ${colors.darkGray[800]};\n display: grid;\n place-items: center;\n transition: all 0.2s ease;\n flex-shrink: 0;\n margin-top: 0.125rem;\n\n &:hover {\n border-color: ${colors.purple[400]};\n }\n\n &:checked {\n background-color: ${colors.purple[500]};\n border-color: ${colors.purple[500]};\n }\n\n &:checked::after {\n content: '';\n width: 0.4rem;\n height: 0.6rem;\n border: solid white;\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n margin-top: -3px;\n }\n `,\n checkboxLabel: css`\n color: ${colors.gray[100]};\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 1.4;\n text-align: left;\n `,\n checkboxDescription: css`\n color: ${colors.gray[400]};\n font-size: 0.8rem;\n line-height: 1.3;\n text-align: left;\n `,\n button: {\n base: css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: ${tokens.font.fontFamily.sans};\n font-size: 0.8rem;\n font-weight: 500;\n border-radius: 0.2rem;\n padding: 0.2rem 0.6rem;\n cursor: pointer;\n transition:\n background 0.2s,\n color 0.2s,\n border 0.2s,\n box-shadow 0.2s;\n outline: none;\n border-width: 1px;\n border-style: solid;\n `,\n variant(variant: ButtonVariant, outline?: boolean, ghost?: boolean) {\n const v = buttonVariantColors[variant]\n if (ghost) {\n return css`\n background: transparent;\n color: ${v.bg};\n border-color: transparent;\n &:hover {\n background: ${tokens.colors.purple[100]};\n }\n &:active {\n background: ${tokens.colors.purple[200]};\n }\n `\n }\n if (outline) {\n return css`\n background: transparent;\n color: ${v.bg};\n border-color: ${v.bg};\n &:hover {\n background: ${tokens.colors.purple[100]};\n border-color: ${v.hover};\n }\n &:active {\n background: ${tokens.colors.purple[200]};\n border-color: ${v.active};\n }\n `\n }\n // Default solid button\n return css`\n background: ${v.bg};\n color: ${v.text};\n border-color: ${v.border};\n &:hover {\n background: ${v.hover};\n border-color: ${v.hover};\n }\n &:active {\n background: ${v.active};\n border-color: ${v.active};\n }\n `\n },\n },\n tag: {\n dot: (color: keyof typeof tokens.colors) => css`\n width: ${tokens.size[1.5]};\n height: ${tokens.size[1.5]};\n border-radius: ${tokens.border.radius.full};\n background-color: ${tokens.colors[color][500]};\n `,\n base: css`\n display: flex;\n gap: ${tokens.size[1.5]};\n box-sizing: border-box;\n height: ${tokens.size[6.5]};\n background: ${t(colors.gray[50], colors.darkGray[500])};\n color: ${t(colors.gray[700], colors.gray[300])};\n border-radius: ${tokens.border.radius.sm};\n font-size: ${font.size.sm};\n padding: ${tokens.size[1]};\n padding-left: ${tokens.size[1.5]};\n align-items: center;\n font-weight: ${font.weight.medium};\n border: ${t('1px solid ' + colors.gray[300], '1px solid transparent')};\n user-select: none;\n position: relative;\n &:focus-visible {\n outline-offset: 2px;\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n label: css`\n font-size: ${font.size.xs};\n `,\n count: css`\n font-size: ${font.size.xs};\n padding: 0 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${t(colors.gray[500], colors.gray[400])};\n background-color: ${t(colors.gray[200], colors.darkGray[300])};\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n height: ${tokens.size[4.5]};\n `,\n },\n tree: {\n info: css`\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${font.size.xs};\n margin-right: ${size[1]};\n /* outline: 1px solid ${colors.yellow[400]}; */\n `,\n actionButton: css`\n background-color: transparent;\n color: ${t(colors.gray[500], colors.gray[500])};\n border: none;\n display: inline-flex;\n padding: 0px;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: ${size[3]};\n height: ${size[3]};\n position: relative;\n z-index: 1;\n\n &:hover svg {\n color: ${t(colors.gray[600], colors.gray[400])};\n }\n\n &:focus-visible {\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n outline-offset: 2px;\n }\n `,\n expanderContainer: css`\n position: relative;\n `,\n expander: css`\n position: absolute;\n left: -16px;\n top: 3px;\n & path {\n stroke: ${colors.blue[300]};\n }\n & svg {\n width: ${size[3]};\n height: ${size[3]};\n }\n\n display: inline-flex;\n align-items: center;\n transition: all 0.1s ease;\n /* outline: 1px solid ${colors.blue[400]}; */\n `,\n expandedLine: (hasBorder: boolean) => css`\n display: block;\n padding-left: 0.75rem;\n margin-left: -0.7rem;\n ${hasBorder ? `border-left: 1px solid ${colors.blue[300]};` : ''}\n `,\n collapsible: css`\n cursor: pointer;\n transition: all 0.2s ease;\n &:hover {\n background-color: ${colors.darkGray[700]};\n border-radius: ${tokens.border.radius.sm};\n padding: 0 ${tokens.size[1]};\n }\n `,\n actions: css`\n display: inline-flex;\n margin-left: ${size[2]};\n gap: ${size[2]};\n align-items: center;\n & svg {\n height: 12px;\n width: 12px;\n }\n `,\n valueCollapsed: css`\n color: ${colors.gray[400]};\n `,\n valueFunction: css`\n color: ${colors.cyan[400]};\n `,\n valueString: css`\n color: ${colors.green[400]};\n `,\n valueNumber: css`\n color: ${colors.yellow[400]};\n `,\n valueBoolean: css`\n color: ${colors.pink[400]};\n `,\n valueNull: css`\n color: ${colors.gray[400]};\n font-style: italic;\n `,\n valueKey: css`\n color: ${colors.blue[300]};\n `,\n valueBraces: css`\n color: ${colors.gray[500]};\n `,\n valueContainer: (isRoot: boolean) => css`\n display: block;\n margin-left: ${isRoot ? '0' : '1rem'};\n\n &:not(:hover) .actions {\n display: none;\n }\n\n &:hover .actions {\n display: inline-flex;\n }\n `,\n },\n header: {\n row: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${tokens.size[2]} ${tokens.size[2.5]};\n gap: ${tokens.size[2.5]};\n border-bottom: ${t(colors.gray[300], colors.darkGray[500])} 1px solid;\n align-items: center;\n `,\n logoAndToggleContainer: css`\n display: flex;\n gap: ${tokens.size[3]};\n align-items: center;\n & > button {\n padding: 0;\n background: transparent;\n border: none;\n display: flex;\n gap: ${size[0.5]};\n flex-direction: column;\n }\n `,\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n &:focus-visible {\n outline-offset: 4px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n tanstackLogo: css`\n font-size: ${font.size.md};\n font-weight: ${font.weight.bold};\n line-height: ${font.lineHeight.xs};\n white-space: nowrap;\n color: ${t(colors.gray[600], colors.gray[300])};\n `,\n flavorLogo: (flavorLight: string, flavorDark: string) => css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(to right, ${t(flavorLight, flavorDark)});\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n },\n section: {\n main: css`\n margin-bottom: 2rem;\n padding: 1.5rem;\n background-color: ${colors.darkGray[800]};\n border: 1px solid ${colors.gray[700]};\n border-radius: 0.75rem;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n `,\n title: css`\n font-size: 1.125rem;\n font-weight: 600;\n color: ${colors.gray[100]};\n margin: 0 0 1rem 0;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid ${colors.gray[700]};\n display: flex;\n align-items: center;\n gap: 0.5rem;\n text-align: left;\n `,\n icon: css`\n height: 20px;\n width: 20px;\n & > svg {\n height: 100%;\n width: 100%;\n }\n color: ${colors.purple[400]};\n `,\n description: css`\n color: ${colors.gray[400]};\n font-size: 0.875rem;\n margin: 0 0 1.5rem 0;\n line-height: 1.5;\n text-align: left;\n `,\n },\n mainPanel: {\n panel: css`\n padding: 0;\n background: ${colors.darkGray[700]};\n overflow-y: auto;\n height: 100%;\n `,\n withPadding: css`\n padding: ${tokens.size[4]};\n `,\n },\n }\n}\n\nexport function useStyles() {\n const [_styles] = createSignal(stylesFactory())\n return _styles\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-styles.js","sources":["../../../src/styles/use-styles.ts"],"sourcesContent":["import * as goober from 'goober'\nimport { createEffect, createSignal } from 'solid-js'\nimport { useTheme } from '../components/theme'\nimport { tokens } from './tokens'\nimport type { ButtonVariant } from '../components/button'\nimport type { Theme } from '../components/theme'\n\nconst buttonVariantColors: Record<\n ButtonVariant,\n { bg: string; hover: string; active: string; text: string; border: string }\n> = {\n primary: {\n bg: tokens.colors.purple[500],\n hover: tokens.colors.purple[600],\n active: tokens.colors.purple[700],\n text: '#fff',\n border: tokens.colors.purple[500],\n },\n secondary: {\n bg: tokens.colors.gray[800],\n hover: tokens.colors.gray[700],\n active: tokens.colors.gray[600],\n text: tokens.colors.gray[100],\n border: tokens.colors.gray[700],\n },\n info: {\n bg: tokens.colors.blue[500],\n hover: tokens.colors.blue[600],\n active: tokens.colors.blue[700],\n text: '#fff',\n border: tokens.colors.blue[500],\n },\n warning: {\n bg: tokens.colors.yellow[500],\n hover: tokens.colors.yellow[600],\n active: tokens.colors.yellow[700],\n text: '#fff',\n border: tokens.colors.yellow[500],\n },\n danger: {\n bg: tokens.colors.red[500],\n hover: tokens.colors.red[600],\n active: tokens.colors.red[700],\n text: '#fff',\n border: tokens.colors.red[500],\n },\n success: {\n bg: tokens.colors.green[500],\n hover: tokens.colors.green[600],\n active: tokens.colors.green[700],\n text: '#fff',\n border: tokens.colors.green[500],\n },\n}\nexport const css = goober.css\nconst stylesFactory = (theme: Theme = 'dark') => {\n const { colors, font, size, alpha, border } = tokens\n const { fontFamily } = font\n\n const t = (light: string, dark: string) => (theme === 'light' ? light : dark)\n\n return {\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n width: ${size[12]};\n height: ${size[12]};\n font-family: ${fontFamily.sans};\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n `,\n\n selectWrapper: css`\n width: 100%;\n max-width: 300px;\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n `,\n selectContainer: css`\n width: 100%;\n `,\n selectLabel: css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${t(colors.gray[900], colors.gray[100])};\n text-align: left;\n `,\n selectDescription: css`\n font-size: 0.8rem;\n color: ${t(colors.gray[500], colors.gray[400])};\n margin: 0;\n line-height: 1.3;\n text-align: left;\n `,\n select: css`\n appearance: none;\n width: 100%;\n padding: 0.75rem 3rem 0.75rem 0.75rem;\n border-radius: 0.5rem;\n background-color: ${t(colors.gray[50], colors.darkGray[800])};\n color: ${t(colors.gray[900], colors.gray[100])};\n border: 1px solid ${t(colors.gray[300], colors.gray[700])};\n font-size: 0.875rem;\n transition: all 0.2s ease;\n cursor: pointer;\n\n /* Custom arrow */\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='%236b7280' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 1.25rem;\n\n &:hover {\n border-color: ${t(colors.gray[400], colors.gray[600])};\n }\n\n &:focus {\n outline: none;\n border-color: ${colors.purple[400]};\n box-shadow: 0 0 0 3px ${colors.purple[400]}${alpha[20]};\n }\n `,\n inputWrapper: css`\n width: 100%;\n max-width: 300px;\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n `,\n inputContainer: css`\n width: 100%;\n `,\n inputLabel: css`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${t(colors.gray[900], colors.gray[100])};\n text-align: left;\n `,\n inputDescription: css`\n font-size: 0.8rem;\n color: ${t(colors.gray[500], colors.gray[400])};\n margin: 0;\n line-height: 1.3;\n text-align: left;\n `,\n input: css`\n appearance: none;\n width: 100%;\n padding: 0.75rem;\n border-radius: 0.5rem;\n background-color: ${t(colors.gray[50], colors.darkGray[800])};\n color: ${t(colors.gray[900], colors.gray[100])};\n border: 1px solid ${t(colors.gray[300], colors.gray[700])};\n font-size: 0.875rem;\n font-family: ${fontFamily.mono};\n transition: all 0.2s ease;\n\n &::placeholder {\n color: ${t(colors.gray[400], colors.gray[500])};\n }\n\n &:hover {\n border-color: ${t(colors.gray[400], colors.gray[600])};\n }\n\n &:focus {\n outline: none;\n border-color: ${t(colors.purple[500], colors.purple[400])};\n box-shadow: 0 0 0 3px\n ${t(colors.purple[100] + alpha[20], colors.purple[400] + alpha[20])};\n }\n `,\n checkboxWrapper: css`\n display: flex;\n align-items: flex-start;\n gap: 0.75rem;\n cursor: pointer;\n user-select: none;\n padding: 0.5rem;\n border-radius: 0.5rem;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: ${t(colors.gray[100], colors.darkGray[800])};\n }\n `,\n checkboxContainer: css`\n width: 100%;\n `,\n checkboxLabelContainer: css`\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n flex: 1;\n `,\n checkbox: css`\n appearance: none;\n width: 1.25rem;\n height: 1.25rem;\n border: 2px solid ${t(colors.gray[300], colors.gray[700])};\n border-radius: 0.375rem;\n background-color: ${t(colors.gray[50], colors.darkGray[800])};\n display: grid;\n place-items: center;\n transition: all 0.2s ease;\n flex-shrink: 0;\n margin-top: 0.125rem;\n\n &:hover {\n border-color: ${t(colors.purple[500], colors.purple[400])};\n }\n\n &:checked {\n background-color: ${t(colors.purple[500], colors.purple[700])};\n border-color: ${t(colors.purple[500], colors.purple[700])};\n }\n\n &:checked::after {\n content: '';\n width: 0.4rem;\n height: 0.6rem;\n border: solid ${t('#fff', colors.gray[100])};\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n margin-top: -3px;\n }\n `,\n checkboxLabel: css`\n color: ${t(colors.gray[900], colors.gray[100])};\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 1.4;\n text-align: left;\n `,\n checkboxDescription: css`\n color: ${t(colors.gray[500], colors.gray[400])};\n font-size: 0.8rem;\n line-height: 1.3;\n text-align: left;\n `,\n button: {\n base: css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: ${tokens.font.fontFamily.sans};\n font-size: 0.8rem;\n font-weight: 500;\n border-radius: 0.2rem;\n padding: 0.2rem 0.6rem;\n cursor: pointer;\n transition:\n background 0.2s,\n color 0.2s,\n border 0.2s,\n box-shadow 0.2s;\n outline: none;\n border-width: 1px;\n border-style: solid;\n `,\n variant(variant: ButtonVariant, outline?: boolean, ghost?: boolean) {\n const v = buttonVariantColors[variant]\n if (ghost) {\n return css`\n background: transparent;\n color: ${t(v.bg, v.bg)};\n border-color: transparent;\n &:hover {\n background: ${t(colors.purple[100], colors.darkGray[700])};\n }\n &:active {\n background: ${t(colors.purple[200], colors.darkGray[800])};\n }\n `\n }\n if (outline) {\n return css`\n background: transparent;\n color: ${t(v.bg, v.bg)};\n border-color: ${t(v.bg, v.bg)};\n &:hover {\n background: ${t(colors.purple[100], colors.darkGray[700])};\n border-color: ${t(v.hover, v.hover)};\n }\n &:active {\n background: ${t(colors.purple[200], colors.darkGray[800])};\n border-color: ${t(v.active, v.active)};\n }\n `\n }\n // Default solid button\n return css`\n background: ${t(v.bg, v.bg)};\n color: ${t(v.text, v.text)};\n border-color: ${t(v.border, v.border)};\n &:hover {\n background: ${t(v.hover, v.hover)};\n border-color: ${t(v.hover, v.hover)};\n }\n &:active {\n background: ${t(v.active, v.active)};\n border-color: ${t(v.active, v.active)};\n }\n `\n },\n },\n tag: {\n dot: (color: keyof typeof tokens.colors) => css`\n width: ${tokens.size[1.5]};\n height: ${tokens.size[1.5]};\n border-radius: ${tokens.border.radius.full};\n background-color: ${t(\n tokens.colors[color][500],\n tokens.colors[color][500],\n )};\n `,\n base: css`\n display: flex;\n gap: ${tokens.size[1.5]};\n box-sizing: border-box;\n height: ${tokens.size[6.5]};\n background: ${t(colors.gray[50], colors.darkGray[500])};\n color: ${t(colors.gray[700], colors.gray[300])};\n border-radius: ${tokens.border.radius.sm};\n font-size: ${font.size.sm};\n padding: ${tokens.size[1]};\n padding-left: ${tokens.size[1.5]};\n align-items: center;\n font-weight: ${font.weight.medium};\n border: ${t('1px solid ' + colors.gray[300], '1px solid transparent')};\n user-select: none;\n position: relative;\n &:focus-visible {\n outline-offset: 2px;\n outline: 2px solid ${t(colors.blue[700], colors.blue[800])};\n }\n `,\n label: css`\n font-size: ${font.size.xs};\n `,\n count: css`\n font-size: ${font.size.xs};\n padding: 0 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${t(colors.gray[500], colors.gray[400])};\n background-color: ${t(colors.gray[200], colors.darkGray[300])};\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n height: ${tokens.size[4.5]};\n `,\n },\n tree: {\n info: css`\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${font.size.xs};\n margin-right: ${size[1]};\n `,\n actionButton: css`\n background-color: transparent;\n color: ${t(colors.gray[500], colors.gray[500])};\n border: none;\n display: inline-flex;\n padding: 0px;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: ${size[3]};\n height: ${size[3]};\n position: relative;\n z-index: 1;\n\n &:hover svg {\n color: ${t(colors.gray[600], colors.gray[400])};\n }\n\n &:focus-visible {\n border-radius: ${border.radius.xs};\n outline: 2px solid ${t(colors.blue[700], colors.blue[800])};\n outline-offset: 2px;\n }\n `,\n expanderContainer: css`\n position: relative;\n `,\n expander: css`\n position: absolute;\n left: -16px;\n top: 3px;\n & path {\n stroke: ${t(colors.blue[400], colors.blue[300])};\n }\n & svg {\n width: ${size[3]};\n height: ${size[3]};\n }\n\n display: inline-flex;\n align-items: center;\n transition: all 0.1s ease;\n `,\n expandedLine: (hasBorder: boolean) => css`\n display: block;\n padding-left: 0.75rem;\n margin-left: -0.7rem;\n ${hasBorder\n ? `border-left: 1px solid ${t(colors.blue[400], colors.blue[300])};`\n : ''}\n `,\n collapsible: css`\n cursor: pointer;\n transition: all 0.2s ease;\n &:hover {\n background-color: ${t(colors.gray[100], colors.darkGray[700])};\n border-radius: ${tokens.border.radius.sm};\n padding: 0 ${tokens.size[1]};\n }\n `,\n actions: css`\n display: inline-flex;\n margin-left: ${size[2]};\n gap: ${size[2]};\n align-items: center;\n & svg {\n height: 12px;\n width: 12px;\n }\n `,\n valueCollapsed: css`\n color: ${t(colors.gray[500], colors.gray[400])};\n `,\n valueFunction: css`\n color: ${t(colors.cyan[500], colors.cyan[400])};\n `,\n valueString: css`\n color: ${t(colors.green[500], colors.green[400])};\n `,\n valueNumber: css`\n color: ${t(colors.yellow[500], colors.yellow[400])};\n `,\n valueBoolean: css`\n color: ${t(colors.pink[500], colors.pink[400])};\n `,\n valueNull: css`\n color: ${t(colors.gray[500], colors.gray[400])};\n font-style: italic;\n `,\n valueKey: css`\n color: ${t(colors.blue[400], colors.blue[300])};\n `,\n valueBraces: css`\n color: ${colors.gray[500]};\n `,\n valueContainer: (isRoot: boolean) => css`\n display: block;\n margin-left: ${isRoot ? '0' : '1rem'};\n\n &:not(:hover) .actions {\n display: none;\n }\n\n &:hover .actions {\n display: inline-flex;\n }\n `,\n },\n header: {\n row: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${tokens.size[2]} ${tokens.size[2.5]};\n gap: ${tokens.size[2.5]};\n border-bottom: ${t(colors.gray[300], colors.darkGray[500])} 1px solid;\n align-items: center;\n `,\n logoAndToggleContainer: css`\n display: flex;\n gap: ${tokens.size[3]};\n align-items: center;\n & > button {\n padding: 0;\n background: transparent;\n border: none;\n display: flex;\n gap: ${size[0.5]};\n flex-direction: column;\n }\n `,\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n &:focus-visible {\n outline-offset: 4px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n tanstackLogo: css`\n font-size: ${font.size.md};\n font-weight: ${font.weight.bold};\n line-height: ${font.lineHeight.xs};\n white-space: nowrap;\n color: ${t(colors.gray[700], colors.gray[300])};\n `,\n flavorLogo: (flavorLight: string, flavorDark: string) => css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(to right, ${t(flavorLight, flavorDark)});\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n },\n section: {\n main: css`\n margin-bottom: 2rem;\n padding: 1.5rem;\n background-color: ${t(colors.gray[50], colors.darkGray[800])};\n border: 1px solid ${t(colors.gray[300], colors.gray[700])};\n border-radius: 0.75rem;\n box-shadow: ${t(\n '0 1px 3px rgba(0,0,0,0.06)',\n '0 1px 3px rgba(0,0,0,0.18)',\n )};\n `,\n title: css`\n font-size: 1.125rem;\n font-weight: 600;\n color: ${t(colors.gray[900], colors.gray[100])};\n margin: 0 0 1rem 0;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid ${t(colors.gray[300], colors.gray[700])};\n display: flex;\n align-items: center;\n gap: 0.5rem;\n text-align: left;\n `,\n icon: css`\n height: 20px;\n width: 20px;\n & > svg {\n height: 100%;\n width: 100%;\n }\n color: ${t(colors.purple[500], colors.purple[400])};\n `,\n description: css`\n color: ${t(colors.gray[500], colors.gray[400])};\n font-size: 0.875rem;\n margin: 0 0 1.5rem 0;\n line-height: 1.5;\n text-align: left;\n `,\n },\n mainPanel: {\n panel: (withPadding: boolean) => css`\n padding: ${withPadding ? tokens.size[4] : 0};\n background: ${t(colors.gray[50], colors.darkGray[700])};\n overflow-y: auto;\n height: 100%;\n `,\n },\n }\n}\n\nexport function useStyles() {\n const { theme } = useTheme()\n const [styles, setStyles] = createSignal(stylesFactory(theme()))\n createEffect(() => {\n setStyles(stylesFactory(theme()))\n })\n return styles\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -15,11 +15,14 @@ export const MainPanel = ({
|
|
|
15
15
|
withPadding,
|
|
16
16
|
}: PanelProps) => {
|
|
17
17
|
const styles = useStyles()
|
|
18
|
+
|
|
18
19
|
return (
|
|
19
20
|
<div
|
|
20
|
-
class={clsx(
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
class={clsx(
|
|
22
|
+
styles().mainPanel.panel(Boolean(withPadding)),
|
|
23
|
+
className,
|
|
24
|
+
classStyles,
|
|
25
|
+
)}
|
|
23
26
|
>
|
|
24
27
|
{children}
|
|
25
28
|
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createContext, createEffect, createSignal, useContext } from 'solid-js'
|
|
2
|
+
import type { Accessor, JSX } from 'solid-js'
|
|
3
|
+
|
|
4
|
+
export type Theme = 'light' | 'dark'
|
|
5
|
+
|
|
6
|
+
type ThemeContextValue = {
|
|
7
|
+
theme: Accessor<Theme>
|
|
8
|
+
setTheme: (theme: Theme) => void
|
|
9
|
+
}
|
|
10
|
+
const ThemeContext = createContext<ThemeContextValue | undefined>(undefined)
|
|
11
|
+
|
|
12
|
+
export const ThemeContextProvider = (props: {
|
|
13
|
+
children: JSX.Element
|
|
14
|
+
theme: Theme
|
|
15
|
+
}) => {
|
|
16
|
+
const [theme, setTheme] = createSignal<Theme>(props.theme)
|
|
17
|
+
createEffect(() => {
|
|
18
|
+
setTheme(props.theme)
|
|
19
|
+
})
|
|
20
|
+
return (
|
|
21
|
+
<ThemeContext.Provider value={{ theme, setTheme }}>
|
|
22
|
+
{props.children}
|
|
23
|
+
</ThemeContext.Provider>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function useTheme() {
|
|
28
|
+
const context = useContext(ThemeContext)
|
|
29
|
+
if (!context) {
|
|
30
|
+
throw new Error('useTheme must be used within a ThemeContextProvider')
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return context
|
|
34
|
+
}
|
package/src/index.ts
CHANGED
package/src/styles/use-styles.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as goober from 'goober'
|
|
2
|
-
import { createSignal } from 'solid-js'
|
|
2
|
+
import { createEffect, createSignal } from 'solid-js'
|
|
3
|
+
import { useTheme } from '../components/theme'
|
|
3
4
|
import { tokens } from './tokens'
|
|
4
5
|
import type { ButtonVariant } from '../components/button'
|
|
6
|
+
import type { Theme } from '../components/theme'
|
|
5
7
|
|
|
6
8
|
const buttonVariantColors: Record<
|
|
7
9
|
ButtonVariant,
|
|
@@ -51,7 +53,7 @@ const buttonVariantColors: Record<
|
|
|
51
53
|
},
|
|
52
54
|
}
|
|
53
55
|
export const css = goober.css
|
|
54
|
-
const stylesFactory = (theme:
|
|
56
|
+
const stylesFactory = (theme: Theme = 'dark') => {
|
|
55
57
|
const { colors, font, size, alpha, border } = tokens
|
|
56
58
|
const { fontFamily } = font
|
|
57
59
|
|
|
@@ -87,12 +89,12 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
87
89
|
selectLabel: css`
|
|
88
90
|
font-size: 0.875rem;
|
|
89
91
|
font-weight: 500;
|
|
90
|
-
color: ${colors.gray[100]};
|
|
92
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
91
93
|
text-align: left;
|
|
92
94
|
`,
|
|
93
95
|
selectDescription: css`
|
|
94
96
|
font-size: 0.8rem;
|
|
95
|
-
color: ${colors.gray[400]};
|
|
97
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
96
98
|
margin: 0;
|
|
97
99
|
line-height: 1.3;
|
|
98
100
|
text-align: left;
|
|
@@ -102,9 +104,9 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
102
104
|
width: 100%;
|
|
103
105
|
padding: 0.75rem 3rem 0.75rem 0.75rem;
|
|
104
106
|
border-radius: 0.5rem;
|
|
105
|
-
background-color: ${colors.darkGray[800]};
|
|
106
|
-
color: ${colors.gray[100]};
|
|
107
|
-
border: 1px solid ${colors.gray[700]};
|
|
107
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
108
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
109
|
+
border: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
108
110
|
font-size: 0.875rem;
|
|
109
111
|
transition: all 0.2s ease;
|
|
110
112
|
cursor: pointer;
|
|
@@ -116,7 +118,7 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
116
118
|
background-size: 1.25rem;
|
|
117
119
|
|
|
118
120
|
&:hover {
|
|
119
|
-
border-color: ${colors.gray[600]};
|
|
121
|
+
border-color: ${t(colors.gray[400], colors.gray[600])};
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
&:focus {
|
|
@@ -138,12 +140,12 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
138
140
|
inputLabel: css`
|
|
139
141
|
font-size: 0.875rem;
|
|
140
142
|
font-weight: 500;
|
|
141
|
-
color: ${colors.gray[100]};
|
|
143
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
142
144
|
text-align: left;
|
|
143
145
|
`,
|
|
144
146
|
inputDescription: css`
|
|
145
147
|
font-size: 0.8rem;
|
|
146
|
-
color: ${colors.gray[400]};
|
|
148
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
147
149
|
margin: 0;
|
|
148
150
|
line-height: 1.3;
|
|
149
151
|
text-align: left;
|
|
@@ -153,25 +155,26 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
153
155
|
width: 100%;
|
|
154
156
|
padding: 0.75rem;
|
|
155
157
|
border-radius: 0.5rem;
|
|
156
|
-
background-color: ${colors.darkGray[800]};
|
|
157
|
-
color: ${colors.gray[100]};
|
|
158
|
-
border: 1px solid ${colors.gray[700]};
|
|
158
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
159
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
160
|
+
border: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
159
161
|
font-size: 0.875rem;
|
|
160
162
|
font-family: ${fontFamily.mono};
|
|
161
163
|
transition: all 0.2s ease;
|
|
162
164
|
|
|
163
165
|
&::placeholder {
|
|
164
|
-
color: ${colors.gray[500]};
|
|
166
|
+
color: ${t(colors.gray[400], colors.gray[500])};
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
&:hover {
|
|
168
|
-
border-color: ${colors.gray[600]};
|
|
170
|
+
border-color: ${t(colors.gray[400], colors.gray[600])};
|
|
169
171
|
}
|
|
170
172
|
|
|
171
173
|
&:focus {
|
|
172
174
|
outline: none;
|
|
173
|
-
border-color: ${colors.purple[400]};
|
|
174
|
-
box-shadow: 0 0 0 3px
|
|
175
|
+
border-color: ${t(colors.purple[500], colors.purple[400])};
|
|
176
|
+
box-shadow: 0 0 0 3px
|
|
177
|
+
${t(colors.purple[100] + alpha[20], colors.purple[400] + alpha[20])};
|
|
175
178
|
}
|
|
176
179
|
`,
|
|
177
180
|
checkboxWrapper: css`
|
|
@@ -185,7 +188,7 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
185
188
|
transition: background-color 0.2s ease;
|
|
186
189
|
|
|
187
190
|
&:hover {
|
|
188
|
-
background-color: ${colors.darkGray[800]};
|
|
191
|
+
background-color: ${t(colors.gray[100], colors.darkGray[800])};
|
|
189
192
|
}
|
|
190
193
|
`,
|
|
191
194
|
checkboxContainer: css`
|
|
@@ -201,9 +204,9 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
201
204
|
appearance: none;
|
|
202
205
|
width: 1.25rem;
|
|
203
206
|
height: 1.25rem;
|
|
204
|
-
border: 2px solid ${colors.gray[700]};
|
|
207
|
+
border: 2px solid ${t(colors.gray[300], colors.gray[700])};
|
|
205
208
|
border-radius: 0.375rem;
|
|
206
|
-
background-color: ${colors.darkGray[800]};
|
|
209
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
207
210
|
display: grid;
|
|
208
211
|
place-items: center;
|
|
209
212
|
transition: all 0.2s ease;
|
|
@@ -211,33 +214,33 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
211
214
|
margin-top: 0.125rem;
|
|
212
215
|
|
|
213
216
|
&:hover {
|
|
214
|
-
border-color: ${colors.purple[400]};
|
|
217
|
+
border-color: ${t(colors.purple[500], colors.purple[400])};
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
&:checked {
|
|
218
|
-
background-color: ${colors.purple[500]};
|
|
219
|
-
border-color: ${colors.purple[500]};
|
|
221
|
+
background-color: ${t(colors.purple[500], colors.purple[700])};
|
|
222
|
+
border-color: ${t(colors.purple[500], colors.purple[700])};
|
|
220
223
|
}
|
|
221
224
|
|
|
222
225
|
&:checked::after {
|
|
223
226
|
content: '';
|
|
224
227
|
width: 0.4rem;
|
|
225
228
|
height: 0.6rem;
|
|
226
|
-
border: solid
|
|
229
|
+
border: solid ${t('#fff', colors.gray[100])};
|
|
227
230
|
border-width: 0 2px 2px 0;
|
|
228
231
|
transform: rotate(45deg);
|
|
229
232
|
margin-top: -3px;
|
|
230
233
|
}
|
|
231
234
|
`,
|
|
232
235
|
checkboxLabel: css`
|
|
233
|
-
color: ${colors.gray[100]};
|
|
236
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
234
237
|
font-size: 0.875rem;
|
|
235
238
|
font-weight: 500;
|
|
236
239
|
line-height: 1.4;
|
|
237
240
|
text-align: left;
|
|
238
241
|
`,
|
|
239
242
|
checkboxDescription: css`
|
|
240
|
-
color: ${colors.gray[400]};
|
|
243
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
241
244
|
font-size: 0.8rem;
|
|
242
245
|
line-height: 1.3;
|
|
243
246
|
text-align: left;
|
|
@@ -267,43 +270,43 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
267
270
|
if (ghost) {
|
|
268
271
|
return css`
|
|
269
272
|
background: transparent;
|
|
270
|
-
color: ${v.bg};
|
|
273
|
+
color: ${t(v.bg, v.bg)};
|
|
271
274
|
border-color: transparent;
|
|
272
275
|
&:hover {
|
|
273
|
-
background: ${
|
|
276
|
+
background: ${t(colors.purple[100], colors.darkGray[700])};
|
|
274
277
|
}
|
|
275
278
|
&:active {
|
|
276
|
-
background: ${
|
|
279
|
+
background: ${t(colors.purple[200], colors.darkGray[800])};
|
|
277
280
|
}
|
|
278
281
|
`
|
|
279
282
|
}
|
|
280
283
|
if (outline) {
|
|
281
284
|
return css`
|
|
282
285
|
background: transparent;
|
|
283
|
-
color: ${v.bg};
|
|
284
|
-
border-color: ${v.bg};
|
|
286
|
+
color: ${t(v.bg, v.bg)};
|
|
287
|
+
border-color: ${t(v.bg, v.bg)};
|
|
285
288
|
&:hover {
|
|
286
|
-
background: ${
|
|
287
|
-
border-color: ${v.hover};
|
|
289
|
+
background: ${t(colors.purple[100], colors.darkGray[700])};
|
|
290
|
+
border-color: ${t(v.hover, v.hover)};
|
|
288
291
|
}
|
|
289
292
|
&:active {
|
|
290
|
-
background: ${
|
|
291
|
-
border-color: ${v.active};
|
|
293
|
+
background: ${t(colors.purple[200], colors.darkGray[800])};
|
|
294
|
+
border-color: ${t(v.active, v.active)};
|
|
292
295
|
}
|
|
293
296
|
`
|
|
294
297
|
}
|
|
295
298
|
// Default solid button
|
|
296
299
|
return css`
|
|
297
|
-
background: ${v.bg};
|
|
298
|
-
color: ${v.text};
|
|
299
|
-
border-color: ${v.border};
|
|
300
|
+
background: ${t(v.bg, v.bg)};
|
|
301
|
+
color: ${t(v.text, v.text)};
|
|
302
|
+
border-color: ${t(v.border, v.border)};
|
|
300
303
|
&:hover {
|
|
301
|
-
background: ${v.hover};
|
|
302
|
-
border-color: ${v.hover};
|
|
304
|
+
background: ${t(v.hover, v.hover)};
|
|
305
|
+
border-color: ${t(v.hover, v.hover)};
|
|
303
306
|
}
|
|
304
307
|
&:active {
|
|
305
|
-
background: ${v.active};
|
|
306
|
-
border-color: ${v.active};
|
|
308
|
+
background: ${t(v.active, v.active)};
|
|
309
|
+
border-color: ${t(v.active, v.active)};
|
|
307
310
|
}
|
|
308
311
|
`
|
|
309
312
|
},
|
|
@@ -313,7 +316,10 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
313
316
|
width: ${tokens.size[1.5]};
|
|
314
317
|
height: ${tokens.size[1.5]};
|
|
315
318
|
border-radius: ${tokens.border.radius.full};
|
|
316
|
-
background-color: ${
|
|
319
|
+
background-color: ${t(
|
|
320
|
+
tokens.colors[color][500],
|
|
321
|
+
tokens.colors[color][500],
|
|
322
|
+
)};
|
|
317
323
|
`,
|
|
318
324
|
base: css`
|
|
319
325
|
display: flex;
|
|
@@ -333,7 +339,7 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
333
339
|
position: relative;
|
|
334
340
|
&:focus-visible {
|
|
335
341
|
outline-offset: 2px;
|
|
336
|
-
outline: 2px solid ${colors.blue[800]};
|
|
342
|
+
outline: 2px solid ${t(colors.blue[700], colors.blue[800])};
|
|
337
343
|
}
|
|
338
344
|
`,
|
|
339
345
|
label: css`
|
|
@@ -357,7 +363,6 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
357
363
|
color: ${t(colors.gray[500], colors.gray[500])};
|
|
358
364
|
font-size: ${font.size.xs};
|
|
359
365
|
margin-right: ${size[1]};
|
|
360
|
-
/* outline: 1px solid ${colors.yellow[400]}; */
|
|
361
366
|
`,
|
|
362
367
|
actionButton: css`
|
|
363
368
|
background-color: transparent;
|
|
@@ -379,7 +384,7 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
379
384
|
|
|
380
385
|
&:focus-visible {
|
|
381
386
|
border-radius: ${border.radius.xs};
|
|
382
|
-
outline: 2px solid ${colors.blue[800]};
|
|
387
|
+
outline: 2px solid ${t(colors.blue[700], colors.blue[800])};
|
|
383
388
|
outline-offset: 2px;
|
|
384
389
|
}
|
|
385
390
|
`,
|
|
@@ -391,7 +396,7 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
391
396
|
left: -16px;
|
|
392
397
|
top: 3px;
|
|
393
398
|
& path {
|
|
394
|
-
stroke: ${colors.blue[300]};
|
|
399
|
+
stroke: ${t(colors.blue[400], colors.blue[300])};
|
|
395
400
|
}
|
|
396
401
|
& svg {
|
|
397
402
|
width: ${size[3]};
|
|
@@ -401,19 +406,20 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
401
406
|
display: inline-flex;
|
|
402
407
|
align-items: center;
|
|
403
408
|
transition: all 0.1s ease;
|
|
404
|
-
/* outline: 1px solid ${colors.blue[400]}; */
|
|
405
409
|
`,
|
|
406
410
|
expandedLine: (hasBorder: boolean) => css`
|
|
407
411
|
display: block;
|
|
408
412
|
padding-left: 0.75rem;
|
|
409
413
|
margin-left: -0.7rem;
|
|
410
|
-
${hasBorder
|
|
414
|
+
${hasBorder
|
|
415
|
+
? `border-left: 1px solid ${t(colors.blue[400], colors.blue[300])};`
|
|
416
|
+
: ''}
|
|
411
417
|
`,
|
|
412
418
|
collapsible: css`
|
|
413
419
|
cursor: pointer;
|
|
414
420
|
transition: all 0.2s ease;
|
|
415
421
|
&:hover {
|
|
416
|
-
background-color: ${colors.darkGray[700]};
|
|
422
|
+
background-color: ${t(colors.gray[100], colors.darkGray[700])};
|
|
417
423
|
border-radius: ${tokens.border.radius.sm};
|
|
418
424
|
padding: 0 ${tokens.size[1]};
|
|
419
425
|
}
|
|
@@ -429,26 +435,26 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
429
435
|
}
|
|
430
436
|
`,
|
|
431
437
|
valueCollapsed: css`
|
|
432
|
-
color: ${colors.gray[400]};
|
|
438
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
433
439
|
`,
|
|
434
440
|
valueFunction: css`
|
|
435
|
-
color: ${colors.cyan[400]};
|
|
441
|
+
color: ${t(colors.cyan[500], colors.cyan[400])};
|
|
436
442
|
`,
|
|
437
443
|
valueString: css`
|
|
438
|
-
color: ${colors.green[400]};
|
|
444
|
+
color: ${t(colors.green[500], colors.green[400])};
|
|
439
445
|
`,
|
|
440
446
|
valueNumber: css`
|
|
441
|
-
color: ${colors.yellow[400]};
|
|
447
|
+
color: ${t(colors.yellow[500], colors.yellow[400])};
|
|
442
448
|
`,
|
|
443
449
|
valueBoolean: css`
|
|
444
|
-
color: ${colors.pink[400]};
|
|
450
|
+
color: ${t(colors.pink[500], colors.pink[400])};
|
|
445
451
|
`,
|
|
446
452
|
valueNull: css`
|
|
447
|
-
color: ${colors.gray[400]};
|
|
453
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
448
454
|
font-style: italic;
|
|
449
455
|
`,
|
|
450
456
|
valueKey: css`
|
|
451
|
-
color: ${colors.blue[300]};
|
|
457
|
+
color: ${t(colors.blue[400], colors.blue[300])};
|
|
452
458
|
`,
|
|
453
459
|
valueBraces: css`
|
|
454
460
|
color: ${colors.gray[500]};
|
|
@@ -511,7 +517,7 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
511
517
|
font-weight: ${font.weight.bold};
|
|
512
518
|
line-height: ${font.lineHeight.xs};
|
|
513
519
|
white-space: nowrap;
|
|
514
|
-
color: ${t(colors.gray[
|
|
520
|
+
color: ${t(colors.gray[700], colors.gray[300])};
|
|
515
521
|
`,
|
|
516
522
|
flavorLogo: (flavorLight: string, flavorDark: string) => css`
|
|
517
523
|
font-weight: ${font.weight.semibold};
|
|
@@ -528,18 +534,21 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
528
534
|
main: css`
|
|
529
535
|
margin-bottom: 2rem;
|
|
530
536
|
padding: 1.5rem;
|
|
531
|
-
background-color: ${colors.darkGray[800]};
|
|
532
|
-
border: 1px solid ${colors.gray[700]};
|
|
537
|
+
background-color: ${t(colors.gray[50], colors.darkGray[800])};
|
|
538
|
+
border: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
533
539
|
border-radius: 0.75rem;
|
|
534
|
-
box-shadow:
|
|
540
|
+
box-shadow: ${t(
|
|
541
|
+
'0 1px 3px rgba(0,0,0,0.06)',
|
|
542
|
+
'0 1px 3px rgba(0,0,0,0.18)',
|
|
543
|
+
)};
|
|
535
544
|
`,
|
|
536
545
|
title: css`
|
|
537
546
|
font-size: 1.125rem;
|
|
538
547
|
font-weight: 600;
|
|
539
|
-
color: ${colors.gray[100]};
|
|
548
|
+
color: ${t(colors.gray[900], colors.gray[100])};
|
|
540
549
|
margin: 0 0 1rem 0;
|
|
541
550
|
padding-bottom: 0.5rem;
|
|
542
|
-
border-bottom: 1px solid ${colors.gray[700]};
|
|
551
|
+
border-bottom: 1px solid ${t(colors.gray[300], colors.gray[700])};
|
|
543
552
|
display: flex;
|
|
544
553
|
align-items: center;
|
|
545
554
|
gap: 0.5rem;
|
|
@@ -552,10 +561,10 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
552
561
|
height: 100%;
|
|
553
562
|
width: 100%;
|
|
554
563
|
}
|
|
555
|
-
color: ${colors.purple[400]};
|
|
564
|
+
color: ${t(colors.purple[500], colors.purple[400])};
|
|
556
565
|
`,
|
|
557
566
|
description: css`
|
|
558
|
-
color: ${colors.gray[400]};
|
|
567
|
+
color: ${t(colors.gray[500], colors.gray[400])};
|
|
559
568
|
font-size: 0.875rem;
|
|
560
569
|
margin: 0 0 1.5rem 0;
|
|
561
570
|
line-height: 1.5;
|
|
@@ -563,20 +572,21 @@ const stylesFactory = (theme: 'light' | 'dark' = 'dark') => {
|
|
|
563
572
|
`,
|
|
564
573
|
},
|
|
565
574
|
mainPanel: {
|
|
566
|
-
panel: css`
|
|
567
|
-
padding: 0;
|
|
568
|
-
background: ${colors.darkGray[700]};
|
|
575
|
+
panel: (withPadding: boolean) => css`
|
|
576
|
+
padding: ${withPadding ? tokens.size[4] : 0};
|
|
577
|
+
background: ${t(colors.gray[50], colors.darkGray[700])};
|
|
569
578
|
overflow-y: auto;
|
|
570
579
|
height: 100%;
|
|
571
580
|
`,
|
|
572
|
-
withPadding: css`
|
|
573
|
-
padding: ${tokens.size[4]};
|
|
574
|
-
`,
|
|
575
581
|
},
|
|
576
582
|
}
|
|
577
583
|
}
|
|
578
584
|
|
|
579
585
|
export function useStyles() {
|
|
580
|
-
const
|
|
581
|
-
|
|
586
|
+
const { theme } = useTheme()
|
|
587
|
+
const [styles, setStyles] = createSignal(stylesFactory(theme()))
|
|
588
|
+
createEffect(() => {
|
|
589
|
+
setStyles(stylesFactory(theme()))
|
|
590
|
+
})
|
|
591
|
+
return styles
|
|
582
592
|
}
|