colbrush 1.21.1 → 1.23.0
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/README.md +37 -1
- package/dist/{chunk-DVFOKORW.js → chunk-CJYCYDTL.js} +30 -9
- package/dist/cli.cjs +1 -1
- package/dist/client.cjs +124 -100
- package/dist/client.d.cts +3 -1
- package/dist/client.d.ts +3 -1
- package/dist/client.js +90 -76
- package/dist/devtools.js +1 -1
- package/package.json +91 -90
package/dist/client.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ declare function ThemeProvider({ children }: ThemeProviderProps): react_jsx_runt
|
|
|
21
21
|
type ThemeType = ThemeKey;
|
|
22
22
|
declare const THEMES: Record<TLanguage, Record<TThemeKey, string>>;
|
|
23
23
|
|
|
24
|
+
declare function ThemeScript(): react_jsx_runtime.JSX.Element;
|
|
25
|
+
|
|
24
26
|
type TThemeSwitcherProps = {
|
|
25
27
|
options?: {
|
|
26
28
|
key: ThemeKey;
|
|
@@ -30,4 +32,4 @@ type TThemeSwitcherProps = {
|
|
|
30
32
|
};
|
|
31
33
|
declare function ThemeSwitcher({ options, position }: TThemeSwitcherProps): react_jsx_runtime.JSX.Element;
|
|
32
34
|
|
|
33
|
-
export { THEMES, type TLanguage, ThemeProvider, ThemeSwitcher, type ThemeType, useTheme };
|
|
35
|
+
export { THEMES, type TLanguage, ThemeProvider, ThemeScript, ThemeSwitcher, type ThemeType, useTheme };
|
package/dist/client.js
CHANGED
|
@@ -3,17 +3,30 @@ import {
|
|
|
3
3
|
SWITCHER_MENU_POSITION,
|
|
4
4
|
SWITCHER_POSITION,
|
|
5
5
|
THEMES,
|
|
6
|
+
THEME_MODES,
|
|
6
7
|
THEME_SWITCHER_PORTAL_ID,
|
|
7
8
|
ThemeProvider,
|
|
9
|
+
ThemeStorageKey,
|
|
8
10
|
getThemeOptions,
|
|
9
11
|
useTheme
|
|
10
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-CJYCYDTL.js";
|
|
13
|
+
|
|
14
|
+
// src/react/ThemeScript.tsx
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
var script = `try{var t=localStorage.getItem(${JSON.stringify(
|
|
17
|
+
ThemeStorageKey
|
|
18
|
+
)});if(${JSON.stringify(
|
|
19
|
+
THEME_MODES
|
|
20
|
+
)}.indexOf(t)>-1)document.documentElement.setAttribute("data-theme",t)}catch(e){}`;
|
|
21
|
+
function ThemeScript() {
|
|
22
|
+
return /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: script } });
|
|
23
|
+
}
|
|
11
24
|
|
|
12
25
|
// src/react/ThemeSwitcher.tsx
|
|
13
26
|
import { useEffect as useEffect2, useId, useMemo, useRef as useRef2, useState as useState2 } from "react";
|
|
14
27
|
|
|
15
28
|
// src/icons/Logo.tsx
|
|
16
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
29
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
17
30
|
var SvgLogo = (props) => /* @__PURE__ */ jsxs(
|
|
18
31
|
"svg",
|
|
19
32
|
{
|
|
@@ -22,50 +35,50 @@ var SvgLogo = (props) => /* @__PURE__ */ jsxs(
|
|
|
22
35
|
viewBox: "0 0 91 91",
|
|
23
36
|
...props,
|
|
24
37
|
children: [
|
|
25
|
-
/* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */ jsx2("path", { fill: "#CE78A9", d: "m0 40.298 3.56-8.254 39.49-18.612-3.075 7.768z" }),
|
|
39
|
+
/* @__PURE__ */ jsx2(
|
|
27
40
|
"path",
|
|
28
41
|
{
|
|
29
42
|
fill: "#D55D00",
|
|
30
43
|
d: "M6.314 55.35 1.297 43.86l33.016-16.67-3.237 7.93L9.389 46.125l5.826 13.433z"
|
|
31
44
|
}
|
|
32
45
|
),
|
|
33
|
-
/* @__PURE__ */
|
|
46
|
+
/* @__PURE__ */ jsx2(
|
|
34
47
|
"path",
|
|
35
48
|
{
|
|
36
49
|
fill: "#E59F01",
|
|
37
50
|
d: "m51.144.22 8.213 3.654 18.161 39.699-7.733-3.163z"
|
|
38
51
|
}
|
|
39
52
|
),
|
|
40
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ jsx2(
|
|
41
54
|
"path",
|
|
42
55
|
{
|
|
43
56
|
fill: "#fff",
|
|
44
57
|
d: "m36.02 6.362 11.548-4.886L63.86 34.68l-7.893-3.327L45.21 9.543l-13.498 5.672z"
|
|
45
58
|
}
|
|
46
59
|
),
|
|
47
|
-
/* @__PURE__ */
|
|
60
|
+
/* @__PURE__ */ jsx2(
|
|
48
61
|
"path",
|
|
49
62
|
{
|
|
50
63
|
fill: "#0072B1",
|
|
51
64
|
d: "m38.84 90.671-8.206-3.67-18.083-39.735 7.727 3.179z"
|
|
52
65
|
}
|
|
53
66
|
),
|
|
54
|
-
/* @__PURE__ */
|
|
67
|
+
/* @__PURE__ */ jsx2(
|
|
55
68
|
"path",
|
|
56
69
|
{
|
|
57
70
|
fill: "#F0E442",
|
|
58
71
|
d: "m53.975 84.56-11.557 4.864-16.227-33.236 7.886 3.343 10.715 21.832 13.51-5.647z"
|
|
59
72
|
}
|
|
60
73
|
),
|
|
61
|
-
/* @__PURE__ */
|
|
74
|
+
/* @__PURE__ */ jsx2(
|
|
62
75
|
"path",
|
|
63
76
|
{
|
|
64
77
|
fill: "#009F73",
|
|
65
78
|
d: "m90.17 50.665-3.48 8.288-39.306 18.995 2.999-7.798z"
|
|
66
79
|
}
|
|
67
80
|
),
|
|
68
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ jsx2(
|
|
69
82
|
"path",
|
|
70
83
|
{
|
|
71
84
|
fill: "#56B4E8",
|
|
@@ -78,7 +91,7 @@ var SvgLogo = (props) => /* @__PURE__ */ jsxs(
|
|
|
78
91
|
var Logo_default = SvgLogo;
|
|
79
92
|
|
|
80
93
|
// src/icons/Us.tsx
|
|
81
|
-
import { jsx as
|
|
94
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
82
95
|
var SvgUs = (props) => /* @__PURE__ */ jsxs2(
|
|
83
96
|
"svg",
|
|
84
97
|
{
|
|
@@ -88,16 +101,16 @@ var SvgUs = (props) => /* @__PURE__ */ jsxs2(
|
|
|
88
101
|
...props,
|
|
89
102
|
children: [
|
|
90
103
|
/* @__PURE__ */ jsxs2("g", { clipPath: "url(#a)", filter: "url(#b)", children: [
|
|
91
|
-
/* @__PURE__ */
|
|
92
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ jsx3("path", { fill: "#fff", d: "M3.996 4.166h20v13.333h-20z" }),
|
|
105
|
+
/* @__PURE__ */ jsx3(
|
|
93
106
|
"path",
|
|
94
107
|
{
|
|
95
108
|
fill: "#D80027",
|
|
96
109
|
d: "M3.996 4.166h20v1.025h-20zm0 2.05h20v1.026h-20zm0 2.051h20v1.026h-20zm0 2.051h20v1.025h-20zm0 2.055h20v1.025h-20zm0 2.05h20v1.026h-20zm0 2.051h20v1.025h-20z"
|
|
97
110
|
}
|
|
98
111
|
),
|
|
99
|
-
/* @__PURE__ */
|
|
100
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ jsx3("path", { fill: "#2E52B2", d: "M3.996 4.166h10v7.177h-10z" }),
|
|
113
|
+
/* @__PURE__ */ jsx3(
|
|
101
114
|
"path",
|
|
102
115
|
{
|
|
103
116
|
fill: "#fff",
|
|
@@ -106,7 +119,7 @@ var SvgUs = (props) => /* @__PURE__ */ jsxs2(
|
|
|
106
119
|
)
|
|
107
120
|
] }),
|
|
108
121
|
/* @__PURE__ */ jsxs2("defs", { children: [
|
|
109
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ jsx3("clipPath", { id: "a", children: /* @__PURE__ */ jsx3("path", { fill: "#fff", d: "M3.996 4.166h20v13.333h-20z" }) }),
|
|
110
123
|
/* @__PURE__ */ jsxs2(
|
|
111
124
|
"filter",
|
|
112
125
|
{
|
|
@@ -118,8 +131,8 @@ var SvgUs = (props) => /* @__PURE__ */ jsxs2(
|
|
|
118
131
|
colorInterpolationFilters: "sRGB",
|
|
119
132
|
filterUnits: "userSpaceOnUse",
|
|
120
133
|
children: [
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ jsx3("feFlood", { floodOpacity: 0, result: "BackgroundImageFix" }),
|
|
135
|
+
/* @__PURE__ */ jsx3(
|
|
123
136
|
"feColorMatrix",
|
|
124
137
|
{
|
|
125
138
|
in: "SourceAlpha",
|
|
@@ -127,18 +140,18 @@ var SvgUs = (props) => /* @__PURE__ */ jsxs2(
|
|
|
127
140
|
values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
128
141
|
}
|
|
129
142
|
),
|
|
130
|
-
/* @__PURE__ */
|
|
131
|
-
/* @__PURE__ */
|
|
132
|
-
/* @__PURE__ */
|
|
133
|
-
/* @__PURE__ */
|
|
134
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ jsx3("feOffset", {}),
|
|
144
|
+
/* @__PURE__ */ jsx3("feGaussianBlur", { stdDeviation: 1.743 }),
|
|
145
|
+
/* @__PURE__ */ jsx3("feComposite", { in2: "hardAlpha", operator: "out" }),
|
|
146
|
+
/* @__PURE__ */ jsx3("feColorMatrix", { values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" }),
|
|
147
|
+
/* @__PURE__ */ jsx3(
|
|
135
148
|
"feBlend",
|
|
136
149
|
{
|
|
137
150
|
in2: "BackgroundImageFix",
|
|
138
151
|
result: "effect1_dropShadow_306_3300"
|
|
139
152
|
}
|
|
140
153
|
),
|
|
141
|
-
/* @__PURE__ */
|
|
154
|
+
/* @__PURE__ */ jsx3(
|
|
142
155
|
"feBlend",
|
|
143
156
|
{
|
|
144
157
|
in: "SourceGraphic",
|
|
@@ -156,7 +169,7 @@ var SvgUs = (props) => /* @__PURE__ */ jsxs2(
|
|
|
156
169
|
var Us_default = SvgUs;
|
|
157
170
|
|
|
158
171
|
// src/icons/Kr.tsx
|
|
159
|
-
import { jsx as
|
|
172
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
160
173
|
var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
161
174
|
"svg",
|
|
162
175
|
{
|
|
@@ -166,8 +179,8 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
166
179
|
...props,
|
|
167
180
|
children: [
|
|
168
181
|
/* @__PURE__ */ jsxs3("g", { clipPath: "url(#a)", filter: "url(#b)", children: [
|
|
169
|
-
/* @__PURE__ */
|
|
170
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ jsx4("path", { fill: "#fff", d: "M1.906 2h20v13.333h-20z" }),
|
|
183
|
+
/* @__PURE__ */ jsx4(
|
|
171
184
|
"path",
|
|
172
185
|
{
|
|
173
186
|
fill: "#000",
|
|
@@ -176,7 +189,7 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
176
189
|
clipRule: "evenodd"
|
|
177
190
|
}
|
|
178
191
|
),
|
|
179
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ jsx4(
|
|
180
193
|
"path",
|
|
181
194
|
{
|
|
182
195
|
fill: "#fff",
|
|
@@ -185,21 +198,21 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
185
198
|
clipRule: "evenodd"
|
|
186
199
|
}
|
|
187
200
|
),
|
|
188
|
-
/* @__PURE__ */
|
|
201
|
+
/* @__PURE__ */ jsx4(
|
|
189
202
|
"path",
|
|
190
203
|
{
|
|
191
204
|
fill: "#CA163A",
|
|
192
205
|
d: "M14.68 10.514a3.333 3.333 0 1 0-5.548-3.698 3.333 3.333 0 0 0 5.547 3.698"
|
|
193
206
|
}
|
|
194
207
|
),
|
|
195
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ jsx4(
|
|
196
209
|
"path",
|
|
197
210
|
{
|
|
198
211
|
fill: "#0E4896",
|
|
199
212
|
d: "M9.132 6.816a1.667 1.667 0 0 0 2.774 1.85 1.667 1.667 0 0 1 2.773 1.848 3.334 3.334 0 0 1-5.547-3.698"
|
|
200
213
|
}
|
|
201
214
|
),
|
|
202
|
-
/* @__PURE__ */
|
|
215
|
+
/* @__PURE__ */ jsx4(
|
|
203
216
|
"path",
|
|
204
217
|
{
|
|
205
218
|
fill: "#000",
|
|
@@ -208,14 +221,14 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
208
221
|
clipRule: "evenodd"
|
|
209
222
|
}
|
|
210
223
|
),
|
|
211
|
-
/* @__PURE__ */
|
|
224
|
+
/* @__PURE__ */ jsx4(
|
|
212
225
|
"path",
|
|
213
226
|
{
|
|
214
227
|
fill: "#000",
|
|
215
228
|
d: "m6.475 12.286.693-.462zm9.36-6.24.81-.54zm1.502-1.002.694-.462z"
|
|
216
229
|
}
|
|
217
230
|
),
|
|
218
|
-
/* @__PURE__ */
|
|
231
|
+
/* @__PURE__ */ jsx4(
|
|
219
232
|
"path",
|
|
220
233
|
{
|
|
221
234
|
fill: "#fff",
|
|
@@ -226,7 +239,7 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
226
239
|
)
|
|
227
240
|
] }),
|
|
228
241
|
/* @__PURE__ */ jsxs3("defs", { children: [
|
|
229
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ jsx4("clipPath", { id: "a", children: /* @__PURE__ */ jsx4("path", { fill: "#fff", d: "M1.906 2h20v13.333h-20z" }) }),
|
|
230
243
|
/* @__PURE__ */ jsxs3(
|
|
231
244
|
"filter",
|
|
232
245
|
{
|
|
@@ -238,8 +251,8 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
238
251
|
colorInterpolationFilters: "sRGB",
|
|
239
252
|
filterUnits: "userSpaceOnUse",
|
|
240
253
|
children: [
|
|
241
|
-
/* @__PURE__ */
|
|
242
|
-
/* @__PURE__ */
|
|
254
|
+
/* @__PURE__ */ jsx4("feFlood", { floodOpacity: 0, result: "BackgroundImageFix" }),
|
|
255
|
+
/* @__PURE__ */ jsx4(
|
|
243
256
|
"feColorMatrix",
|
|
244
257
|
{
|
|
245
258
|
in: "SourceAlpha",
|
|
@@ -247,18 +260,18 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
247
260
|
values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
248
261
|
}
|
|
249
262
|
),
|
|
250
|
-
/* @__PURE__ */
|
|
251
|
-
/* @__PURE__ */
|
|
252
|
-
/* @__PURE__ */
|
|
253
|
-
/* @__PURE__ */
|
|
254
|
-
/* @__PURE__ */
|
|
263
|
+
/* @__PURE__ */ jsx4("feOffset", {}),
|
|
264
|
+
/* @__PURE__ */ jsx4("feGaussianBlur", { stdDeviation: 0.65 }),
|
|
265
|
+
/* @__PURE__ */ jsx4("feComposite", { in2: "hardAlpha", operator: "out" }),
|
|
266
|
+
/* @__PURE__ */ jsx4("feColorMatrix", { values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" }),
|
|
267
|
+
/* @__PURE__ */ jsx4(
|
|
255
268
|
"feBlend",
|
|
256
269
|
{
|
|
257
270
|
in2: "BackgroundImageFix",
|
|
258
271
|
result: "effect1_dropShadow_306_2477"
|
|
259
272
|
}
|
|
260
273
|
),
|
|
261
|
-
/* @__PURE__ */
|
|
274
|
+
/* @__PURE__ */ jsx4(
|
|
262
275
|
"feBlend",
|
|
263
276
|
{
|
|
264
277
|
in: "SourceGraphic",
|
|
@@ -276,7 +289,7 @@ var SvgKr = (props) => /* @__PURE__ */ jsxs3(
|
|
|
276
289
|
var Kr_default = SvgKr;
|
|
277
290
|
|
|
278
291
|
// src/icons/X.tsx
|
|
279
|
-
import { jsx as
|
|
292
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
280
293
|
var SvgX = (props) => /* @__PURE__ */ jsxs4(
|
|
281
294
|
"svg",
|
|
282
295
|
{
|
|
@@ -285,7 +298,7 @@ var SvgX = (props) => /* @__PURE__ */ jsxs4(
|
|
|
285
298
|
viewBox: "0 0 30 30",
|
|
286
299
|
...props,
|
|
287
300
|
children: [
|
|
288
|
-
/* @__PURE__ */
|
|
301
|
+
/* @__PURE__ */ jsx5(
|
|
289
302
|
"path",
|
|
290
303
|
{
|
|
291
304
|
fill: "#fff",
|
|
@@ -294,7 +307,7 @@ var SvgX = (props) => /* @__PURE__ */ jsxs4(
|
|
|
294
307
|
clipRule: "evenodd"
|
|
295
308
|
}
|
|
296
309
|
),
|
|
297
|
-
/* @__PURE__ */
|
|
310
|
+
/* @__PURE__ */ jsx5(
|
|
298
311
|
"path",
|
|
299
312
|
{
|
|
300
313
|
fill: "#fff",
|
|
@@ -309,7 +322,7 @@ var SvgX = (props) => /* @__PURE__ */ jsxs4(
|
|
|
309
322
|
var X_default = SvgX;
|
|
310
323
|
|
|
311
324
|
// src/icons/theme/Tritanopia.tsx
|
|
312
|
-
import { jsx as
|
|
325
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
313
326
|
var SvgTritanopia = (props) => /* @__PURE__ */ jsxs5(
|
|
314
327
|
"svg",
|
|
315
328
|
{
|
|
@@ -318,7 +331,7 @@ var SvgTritanopia = (props) => /* @__PURE__ */ jsxs5(
|
|
|
318
331
|
viewBox: "0 0 28 29",
|
|
319
332
|
...props,
|
|
320
333
|
children: [
|
|
321
|
-
/* @__PURE__ */
|
|
334
|
+
/* @__PURE__ */ jsx6(
|
|
322
335
|
"rect",
|
|
323
336
|
{
|
|
324
337
|
width: 26.18,
|
|
@@ -330,14 +343,14 @@ var SvgTritanopia = (props) => /* @__PURE__ */ jsxs5(
|
|
|
330
343
|
rx: 13.09
|
|
331
344
|
}
|
|
332
345
|
),
|
|
333
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ jsx6(
|
|
334
347
|
"path",
|
|
335
348
|
{
|
|
336
349
|
fill: "currentColor",
|
|
337
350
|
d: "M8.64 7.152h5.21q1.508 0 2.532.513 1.026.513 1.528 1.405.513.892.513 2.02 0 1.333-.667 2.081-.666.74-1.753 1.036v.144q.717.04 1.415.492.698.45 1.148 1.282.452.819.452 1.938 0 1.158-.534 2.04-.522.882-1.64 1.395-1.118.502-2.81.502H8.641zm5.374 13.207q1.65 0 2.43-.635.79-.636.79-1.682 0-.758-.39-1.395a2.63 2.63 0 0 0-1.097-1.015q-.709-.38-1.63-.38h-3.63v5.107zm-.226-6.706q.8 0 1.456-.307.657-.319 1.036-.892.38-.585.38-1.344 0-1.024-.708-1.671-.708-.646-2.102-.646h-3.364v4.86z"
|
|
338
351
|
}
|
|
339
352
|
),
|
|
340
|
-
/* @__PURE__ */
|
|
353
|
+
/* @__PURE__ */ jsx6(
|
|
341
354
|
"path",
|
|
342
355
|
{
|
|
343
356
|
stroke: "currentColor",
|
|
@@ -351,7 +364,7 @@ var SvgTritanopia = (props) => /* @__PURE__ */ jsxs5(
|
|
|
351
364
|
var Tritanopia_default = SvgTritanopia;
|
|
352
365
|
|
|
353
366
|
// src/icons/theme/Default.tsx
|
|
354
|
-
import { jsx as
|
|
367
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
355
368
|
var SvgDefault = (props) => /* @__PURE__ */ jsxs6(
|
|
356
369
|
"svg",
|
|
357
370
|
{
|
|
@@ -360,14 +373,14 @@ var SvgDefault = (props) => /* @__PURE__ */ jsxs6(
|
|
|
360
373
|
viewBox: "0 0 31 31",
|
|
361
374
|
...props,
|
|
362
375
|
children: [
|
|
363
|
-
/* @__PURE__ */
|
|
376
|
+
/* @__PURE__ */ jsx7(
|
|
364
377
|
"path",
|
|
365
378
|
{
|
|
366
379
|
fill: "currentColor",
|
|
367
380
|
d: "M30.5 15.5s-5.625-10.312-15-10.312S.5 15.5.5 15.5s5.625 10.313 15 10.313 15-10.313 15-10.313m-27.801 0q.16-.245.365-.54c.628-.9 1.554-2.098 2.746-3.29 2.417-2.417 5.716-4.607 9.69-4.607s7.273 2.19 9.69 4.607A24.6 24.6 0 0 1 28.3 15.5q-.16.245-.365.54c-.628.9-1.554 2.098-2.746 3.29-2.417 2.417-5.716 4.608-9.69 4.608s-7.273-2.19-9.69-4.608A24.6 24.6 0 0 1 2.7 15.5"
|
|
368
381
|
}
|
|
369
382
|
),
|
|
370
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ jsx7(
|
|
371
384
|
"path",
|
|
372
385
|
{
|
|
373
386
|
fill: "currentColor",
|
|
@@ -380,7 +393,7 @@ var SvgDefault = (props) => /* @__PURE__ */ jsxs6(
|
|
|
380
393
|
var Default_default = SvgDefault;
|
|
381
394
|
|
|
382
395
|
// src/icons/theme/Protanopia.tsx
|
|
383
|
-
import { jsx as
|
|
396
|
+
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
384
397
|
var SvgProtanopia = (props) => /* @__PURE__ */ jsxs7(
|
|
385
398
|
"svg",
|
|
386
399
|
{
|
|
@@ -389,7 +402,7 @@ var SvgProtanopia = (props) => /* @__PURE__ */ jsxs7(
|
|
|
389
402
|
viewBox: "0 0 28 29",
|
|
390
403
|
...props,
|
|
391
404
|
children: [
|
|
392
|
-
/* @__PURE__ */
|
|
405
|
+
/* @__PURE__ */ jsx8(
|
|
393
406
|
"rect",
|
|
394
407
|
{
|
|
395
408
|
width: 26.18,
|
|
@@ -401,14 +414,14 @@ var SvgProtanopia = (props) => /* @__PURE__ */ jsxs7(
|
|
|
401
414
|
rx: 13.09
|
|
402
415
|
}
|
|
403
416
|
),
|
|
404
|
-
/* @__PURE__ */
|
|
417
|
+
/* @__PURE__ */ jsx8(
|
|
405
418
|
"path",
|
|
406
419
|
{
|
|
407
420
|
fill: "currentColor",
|
|
408
421
|
d: "M9.252 7.152h5.045q1.692 0 2.83.585 1.14.575 1.682 1.61.554 1.024.554 2.379 0 1.507-.697 2.594-.688 1.086-2.072 1.569L19.937 22h-2.153l-3.107-5.773-.36.01h-3.219V22H9.252zm4.984 7.404q1.711 0 2.502-.728.8-.729.8-2.102 0-1.395-.8-2.164t-2.523-.769h-3.117v5.763z"
|
|
409
422
|
}
|
|
410
423
|
),
|
|
411
|
-
/* @__PURE__ */
|
|
424
|
+
/* @__PURE__ */ jsx8(
|
|
412
425
|
"path",
|
|
413
426
|
{
|
|
414
427
|
stroke: "currentColor",
|
|
@@ -422,7 +435,7 @@ var SvgProtanopia = (props) => /* @__PURE__ */ jsxs7(
|
|
|
422
435
|
var Protanopia_default = SvgProtanopia;
|
|
423
436
|
|
|
424
437
|
// src/icons/theme/Deuteranopia.tsx
|
|
425
|
-
import { jsx as
|
|
438
|
+
import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
426
439
|
var SvgDeuteranopia = (props) => /* @__PURE__ */ jsxs8(
|
|
427
440
|
"svg",
|
|
428
441
|
{
|
|
@@ -431,7 +444,7 @@ var SvgDeuteranopia = (props) => /* @__PURE__ */ jsxs8(
|
|
|
431
444
|
viewBox: "0 0 15 15",
|
|
432
445
|
...props,
|
|
433
446
|
children: [
|
|
434
|
-
/* @__PURE__ */
|
|
447
|
+
/* @__PURE__ */ jsx9(
|
|
435
448
|
"rect",
|
|
436
449
|
{
|
|
437
450
|
width: 13.09,
|
|
@@ -443,14 +456,14 @@ var SvgDeuteranopia = (props) => /* @__PURE__ */ jsxs8(
|
|
|
443
456
|
rx: 6.545
|
|
444
457
|
}
|
|
445
458
|
),
|
|
446
|
-
/* @__PURE__ */
|
|
459
|
+
/* @__PURE__ */ jsx9(
|
|
447
460
|
"path",
|
|
448
461
|
{
|
|
449
462
|
fill: "currentColor",
|
|
450
463
|
d: "M9.51 5.894q-.245-.734-.789-1.144-.538-.415-1.312-.415-.667 0-1.205.343-.534.345-.846 1.01-.308.667-.308 1.6t.313 1.6q.313.665.861 1.01.549.343 1.246.343.626 0 1.103-.261a1.87 1.87 0 0 0 .748-.754q.271-.492.282-1.138H7.665v-.81h2.84v.8q0 .907-.39 1.594-.389.687-1.081 1.061-.687.37-1.564.37-.984 0-1.738-.462-.748-.466-1.164-1.328-.41-.866-.41-2.025 0-1.153.41-2.015.416-.866 1.154-1.333.738-.465 1.687-.466.774 0 1.42.307.646.303 1.071.851.426.548.564 1.262z"
|
|
451
464
|
}
|
|
452
465
|
),
|
|
453
|
-
/* @__PURE__ */
|
|
466
|
+
/* @__PURE__ */ jsx9(
|
|
454
467
|
"path",
|
|
455
468
|
{
|
|
456
469
|
stroke: "currentColor",
|
|
@@ -501,7 +514,7 @@ function ThemeSwitcherPortal({
|
|
|
501
514
|
}
|
|
502
515
|
|
|
503
516
|
// src/react/ThemeSwitcher.tsx
|
|
504
|
-
import { jsx as
|
|
517
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
505
518
|
var THEME_ICON = {
|
|
506
519
|
default: Default_default,
|
|
507
520
|
protanopia: Protanopia_default,
|
|
@@ -534,8 +547,8 @@ function ThemeSwitcher({ options, position }) {
|
|
|
534
547
|
setIsOpen((prev) => !prev);
|
|
535
548
|
};
|
|
536
549
|
const toggleAriaLabel = language === "Korean" ? isOpen ? "\uD14C\uB9C8 \uC804\uD658 \uBA54\uB274 \uB2EB\uAE30" : "\uD14C\uB9C8 \uC804\uD658 \uBA54\uB274 \uC5F4\uAE30" : isOpen ? "Close theme switcher menu" : "Open theme switcher menu";
|
|
537
|
-
return /* @__PURE__ */
|
|
538
|
-
/* @__PURE__ */
|
|
550
|
+
return /* @__PURE__ */ jsx10(ThemeSwitcherPortal, { children: /* @__PURE__ */ jsxs9("div", { ref: wrapperRef, className: "z-[10000]", children: [
|
|
551
|
+
/* @__PURE__ */ jsx10(
|
|
539
552
|
"button",
|
|
540
553
|
{
|
|
541
554
|
type: "button",
|
|
@@ -547,7 +560,7 @@ function ThemeSwitcher({ options, position }) {
|
|
|
547
560
|
className: `fixed w-[60px] h-[60px] p-[10px] ${isOpen ? "bg-[#252525] border-[1px] border-[#8144FF]" : "bg-[rgba(129,68,255,0.2)]"} rounded-full flex justify-center items-center shadow-[0_0_3px_0_rgba(0,0,0,0.17)]
|
|
548
561
|
${switcherClass}
|
|
549
562
|
`,
|
|
550
|
-
children: isOpen ? /* @__PURE__ */
|
|
563
|
+
children: isOpen ? /* @__PURE__ */ jsx10("div", { className: "absolute flex justify-center items-center inset-0 w-full h-full", children: /* @__PURE__ */ jsx10(
|
|
551
564
|
X_default,
|
|
552
565
|
{
|
|
553
566
|
"aria-hidden": "true",
|
|
@@ -559,16 +572,16 @@ function ThemeSwitcher({ options, position }) {
|
|
|
559
572
|
{
|
|
560
573
|
className: "rounded-full bg-white/2\n backdrop-blur-[3px]\n min-w-[60px] min-h-[60px]\n [filter:drop-shadow(0_18px_calc(60px_*_0.20)_rgba(0,0,0,calc(.55_*_0.20)))]\n shadow-[inset_0.5px_0.5px_0_rgba(255,255,255,calc(.35_+_.25_*_0.70)),inset_-0.5px_-0.5px_0_rgba(255,255,255,calc(.35_+_.25_*_0.70))]\n absolute isolate overflow-hidden\n ",
|
|
561
574
|
children: [
|
|
562
|
-
/* @__PURE__ */
|
|
563
|
-
/* @__PURE__ */
|
|
564
|
-
/* @__PURE__ */
|
|
575
|
+
/* @__PURE__ */ jsx10("div", { className: "[mask:linear-gradient(-45deg),white,transparent_40%)] pointer-events-none absolute inset-0 mix-blend-screen opacity-[calc(.50_*_0.80)]" }),
|
|
576
|
+
/* @__PURE__ */ jsx10("div", { className: "pointer-events-none absolute inset-0 mix-blend-screen opacity-20" }),
|
|
577
|
+
/* @__PURE__ */ jsx10("div", { className: "absolute flex justify-center items-center inset-0 w-full h-full", children: isOpen ? /* @__PURE__ */ jsx10(
|
|
565
578
|
X_default,
|
|
566
579
|
{
|
|
567
580
|
"aria-hidden": "true",
|
|
568
581
|
className: "self-center",
|
|
569
582
|
width: 30
|
|
570
583
|
}
|
|
571
|
-
) : /* @__PURE__ */
|
|
584
|
+
) : /* @__PURE__ */ jsx10(
|
|
572
585
|
Logo_default,
|
|
573
586
|
{
|
|
574
587
|
"aria-hidden": "true",
|
|
@@ -592,9 +605,9 @@ function ThemeSwitcher({ options, position }) {
|
|
|
592
605
|
${switcherMenuClass}
|
|
593
606
|
`,
|
|
594
607
|
children: [
|
|
595
|
-
/* @__PURE__ */
|
|
608
|
+
/* @__PURE__ */ jsx10("div", { children: list.map((opt) => {
|
|
596
609
|
const Icon = THEME_ICON[opt.key];
|
|
597
|
-
return /* @__PURE__ */
|
|
610
|
+
return /* @__PURE__ */ jsx10("div", { children: /* @__PURE__ */ jsxs9(
|
|
598
611
|
"button",
|
|
599
612
|
{
|
|
600
613
|
type: "button",
|
|
@@ -611,7 +624,7 @@ function ThemeSwitcher({ options, position }) {
|
|
|
611
624
|
theme === opt.key ? "bg-[#884DFF] text-[#ffffff]" : ""
|
|
612
625
|
].join(" "),
|
|
613
626
|
children: [
|
|
614
|
-
/* @__PURE__ */
|
|
627
|
+
/* @__PURE__ */ jsx10(
|
|
615
628
|
Icon,
|
|
616
629
|
{
|
|
617
630
|
width: 24,
|
|
@@ -619,21 +632,21 @@ function ThemeSwitcher({ options, position }) {
|
|
|
619
632
|
className: `inline-block ${theme === opt.key || hovered === opt.key ? "text-white" : "text-[#909090]"}`
|
|
620
633
|
}
|
|
621
634
|
),
|
|
622
|
-
/* @__PURE__ */
|
|
635
|
+
/* @__PURE__ */ jsx10("span", { className: "group-hover:text-[#ffffff]", children: opt.label })
|
|
623
636
|
]
|
|
624
637
|
},
|
|
625
638
|
opt.key
|
|
626
639
|
) }, opt.key);
|
|
627
640
|
}) }),
|
|
628
|
-
/* @__PURE__ */
|
|
629
|
-
/* @__PURE__ */
|
|
641
|
+
/* @__PURE__ */ jsx10("div", { className: "w-full border-[0.5px] border-[#B8B8B8] mt-[8px]" }),
|
|
642
|
+
/* @__PURE__ */ jsx10("div", { className: "flex justify-evenly items-center gap-[10px] px-[10px] mt-[15px]", children: language === "English" ? /* @__PURE__ */ jsxs9(
|
|
630
643
|
"button",
|
|
631
644
|
{
|
|
632
645
|
type: "button",
|
|
633
646
|
className: "hover:cursor-pointer flex text-[18px] text-[#909090] gap-[8px] items-center justify-center",
|
|
634
647
|
onClick: () => updateLanguage("Korean"),
|
|
635
648
|
children: [
|
|
636
|
-
/* @__PURE__ */
|
|
649
|
+
/* @__PURE__ */ jsx10(Us_default, { width: 24 }),
|
|
637
650
|
"English"
|
|
638
651
|
]
|
|
639
652
|
}
|
|
@@ -644,7 +657,7 @@ function ThemeSwitcher({ options, position }) {
|
|
|
644
657
|
className: "hover:cursor-pointer flex text-[18px] text-[#909090] gap-[8px] items-center justify-center ",
|
|
645
658
|
onClick: () => updateLanguage("English"),
|
|
646
659
|
children: [
|
|
647
|
-
/* @__PURE__ */
|
|
660
|
+
/* @__PURE__ */ jsx10(Kr_default, { width: 24 }),
|
|
648
661
|
"\uD55C\uAD6D\uC5B4"
|
|
649
662
|
]
|
|
650
663
|
}
|
|
@@ -657,6 +670,7 @@ function ThemeSwitcher({ options, position }) {
|
|
|
657
670
|
export {
|
|
658
671
|
THEMES,
|
|
659
672
|
ThemeProvider,
|
|
673
|
+
ThemeScript,
|
|
660
674
|
ThemeSwitcher,
|
|
661
675
|
useTheme
|
|
662
676
|
};
|