ezfw-core 1.0.77 → 1.0.78
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.
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
background: var(--ez-surface-tertiary, #f8fafc);
|
|
18
18
|
border-bottom: 1px solid var(--ez-border-primary, #e2e8f0);
|
|
19
19
|
|
|
20
|
+
@media (prefers-color-scheme: dark) {
|
|
21
|
+
background: var(--ez-surface-tertiary, #1e293b);
|
|
22
|
+
border-bottom-color: var(--ez-border-primary, #334155);
|
|
23
|
+
}
|
|
24
|
+
|
|
20
25
|
// Mobile: subtle fade gradients on edges
|
|
21
26
|
@media (max-width: 768px) {
|
|
22
27
|
&::before,
|
|
@@ -33,11 +38,19 @@
|
|
|
33
38
|
&::before {
|
|
34
39
|
left: 0;
|
|
35
40
|
background: linear-gradient(to right, var(--ez-surface-tertiary, #f8fafc), transparent);
|
|
41
|
+
|
|
42
|
+
@media (prefers-color-scheme: dark) {
|
|
43
|
+
background: linear-gradient(to right, var(--ez-surface-tertiary, #1e293b), transparent);
|
|
44
|
+
}
|
|
36
45
|
}
|
|
37
46
|
|
|
38
47
|
&::after {
|
|
39
48
|
right: 0;
|
|
40
49
|
background: linear-gradient(to left, var(--ez-surface-tertiary, #f8fafc), transparent);
|
|
50
|
+
|
|
51
|
+
@media (prefers-color-scheme: dark) {
|
|
52
|
+
background: linear-gradient(to left, var(--ez-surface-tertiary, #1e293b), transparent);
|
|
53
|
+
}
|
|
41
54
|
}
|
|
42
55
|
}
|
|
43
56
|
}
|
|
@@ -77,6 +90,10 @@
|
|
|
77
90
|
transition: all 0.15s ease;
|
|
78
91
|
white-space: nowrap;
|
|
79
92
|
|
|
93
|
+
@media (prefers-color-scheme: dark) {
|
|
94
|
+
color: var(--ez-text-secondary, #cbd5e1);
|
|
95
|
+
}
|
|
96
|
+
|
|
80
97
|
i {
|
|
81
98
|
font-size: 14px;
|
|
82
99
|
}
|
|
@@ -84,6 +101,11 @@
|
|
|
84
101
|
&:hover {
|
|
85
102
|
color: var(--ez-text-primary, #1e293b);
|
|
86
103
|
background: var(--ez-surface-primary, #f1f5f9);
|
|
104
|
+
|
|
105
|
+
@media (prefers-color-scheme: dark) {
|
|
106
|
+
color: var(--ez-text-primary, #f8fafc);
|
|
107
|
+
background: var(--ez-surface-primary, #334155);
|
|
108
|
+
}
|
|
87
109
|
}
|
|
88
110
|
}
|
|
89
111
|
|
|
@@ -98,6 +120,10 @@
|
|
|
98
120
|
color: var(--ez-text-tertiary, #94a3b8);
|
|
99
121
|
transition: all 0.15s ease;
|
|
100
122
|
|
|
123
|
+
@media (prefers-color-scheme: dark) {
|
|
124
|
+
color: var(--ez-text-tertiary, #94a3b8);
|
|
125
|
+
}
|
|
126
|
+
|
|
101
127
|
i {
|
|
102
128
|
font-size: 10px;
|
|
103
129
|
}
|
|
@@ -105,6 +131,11 @@
|
|
|
105
131
|
&:hover {
|
|
106
132
|
background: var(--ez-danger-light, rgba(239, 68, 68, 0.1));
|
|
107
133
|
color: var(--ez-danger, #dc2626);
|
|
134
|
+
|
|
135
|
+
@media (prefers-color-scheme: dark) {
|
|
136
|
+
background: var(--ez-danger-light, rgba(239, 68, 68, 0.15));
|
|
137
|
+
color: var(--ez-danger, #f87171);
|
|
138
|
+
}
|
|
108
139
|
}
|
|
109
140
|
}
|
|
110
141
|
|
|
@@ -113,6 +144,11 @@
|
|
|
113
144
|
border-bottom-color: var(--ez-primary, #2563eb);
|
|
114
145
|
background: transparent;
|
|
115
146
|
|
|
147
|
+
@media (prefers-color-scheme: dark) {
|
|
148
|
+
color: var(--ez-primary, #818cf8);
|
|
149
|
+
border-bottom-color: var(--ez-primary, #818cf8);
|
|
150
|
+
}
|
|
151
|
+
|
|
116
152
|
&:hover {
|
|
117
153
|
background: transparent;
|
|
118
154
|
}
|
|
@@ -131,6 +167,11 @@
|
|
|
131
167
|
border-top: none;
|
|
132
168
|
border-radius: 0 0 var(--ez-radius-md, 6px) var(--ez-radius-md, 6px);
|
|
133
169
|
background: var(--ez-surface-secondary, #ffffff);
|
|
170
|
+
|
|
171
|
+
@media (prefers-color-scheme: dark) {
|
|
172
|
+
border-color: var(--ez-border-primary, #334155);
|
|
173
|
+
background: var(--ez-surface-secondary, #0f172a);
|
|
174
|
+
}
|
|
134
175
|
}
|
|
135
176
|
|
|
136
177
|
.tabPane {
|
|
@@ -152,6 +193,10 @@
|
|
|
152
193
|
.boxed {
|
|
153
194
|
.tabHeaderWrapper {
|
|
154
195
|
background: var(--ez-surface-secondary, #ffffff);
|
|
196
|
+
|
|
197
|
+
@media (prefers-color-scheme: dark) {
|
|
198
|
+
background: var(--ez-surface-secondary, #0f172a);
|
|
199
|
+
}
|
|
155
200
|
}
|
|
156
201
|
|
|
157
202
|
.tabHeader {
|
|
@@ -168,6 +213,10 @@
|
|
|
168
213
|
border-radius: var(--ez-radius-md, 6px) var(--ez-radius-md, 6px) 0 0;
|
|
169
214
|
border-bottom: none;
|
|
170
215
|
margin-bottom: 0;
|
|
216
|
+
|
|
217
|
+
@media (prefers-color-scheme: dark) {
|
|
218
|
+
background: var(--ez-surface-primary, #1e293b);
|
|
219
|
+
}
|
|
171
220
|
}
|
|
172
221
|
|
|
173
222
|
.tabActive {
|
|
@@ -175,6 +224,12 @@
|
|
|
175
224
|
border: 1px solid var(--ez-border-primary, #e2e8f0);
|
|
176
225
|
border-bottom-color: var(--ez-surface-secondary, #ffffff);
|
|
177
226
|
margin-bottom: -1px;
|
|
227
|
+
|
|
228
|
+
@media (prefers-color-scheme: dark) {
|
|
229
|
+
background: var(--ez-surface-secondary, #0f172a);
|
|
230
|
+
border-color: var(--ez-border-primary, #334155);
|
|
231
|
+
border-bottom-color: var(--ez-surface-secondary, #0f172a);
|
|
232
|
+
}
|
|
178
233
|
}
|
|
179
234
|
|
|
180
235
|
.tabContent {
|
|
@@ -204,16 +259,28 @@
|
|
|
204
259
|
border-bottom: none;
|
|
205
260
|
margin-bottom: 0;
|
|
206
261
|
padding: 8px 16px;
|
|
262
|
+
|
|
263
|
+
@media (prefers-color-scheme: dark) {
|
|
264
|
+
background: var(--ez-surface-primary, #1e293b);
|
|
265
|
+
}
|
|
207
266
|
}
|
|
208
267
|
|
|
209
268
|
.tabActive {
|
|
210
269
|
background: var(--ez-primary, #2563eb);
|
|
211
270
|
color: var(--ez-text-inverse, #ffffff);
|
|
271
|
+
|
|
272
|
+
@media (prefers-color-scheme: dark) {
|
|
273
|
+
background: var(--ez-primary, #4f46e5);
|
|
274
|
+
}
|
|
212
275
|
}
|
|
213
276
|
|
|
214
277
|
.tabContent {
|
|
215
278
|
border-top: 1px solid var(--ez-border-primary, #e2e8f0);
|
|
216
279
|
border-radius: var(--ez-radius-md, 6px);
|
|
280
|
+
|
|
281
|
+
@media (prefers-color-scheme: dark) {
|
|
282
|
+
border-top-color: var(--ez-border-primary, #334155);
|
|
283
|
+
}
|
|
217
284
|
}
|
|
218
285
|
}
|
|
219
286
|
|
|
@@ -221,6 +288,10 @@
|
|
|
221
288
|
.minimal {
|
|
222
289
|
.tabHeaderWrapper {
|
|
223
290
|
background: transparent;
|
|
291
|
+
|
|
292
|
+
@media (prefers-color-scheme: dark) {
|
|
293
|
+
border-bottom-color: var(--ez-border-primary, #334155);
|
|
294
|
+
}
|
|
224
295
|
}
|
|
225
296
|
|
|
226
297
|
.tabHeader {
|
|
@@ -773,7 +773,9 @@ async function renderPageBuild(page, opts, renderer, analyzer, root, islands) {
|
|
|
773
773
|
* Generate hydration script
|
|
774
774
|
*/
|
|
775
775
|
function generateHydrationScript(islands, isDev, cssModules = []) {
|
|
776
|
-
|
|
776
|
+
// Escape </script> to prevent breaking out of the script tag
|
|
777
|
+
// This is necessary when code examples contain </script> tags
|
|
778
|
+
const islandsJson = JSON.stringify(islands).replace(/<\/script/gi, '<\\/script');
|
|
777
779
|
const cssModulesJson = JSON.stringify(cssModules);
|
|
778
780
|
// In dev mode, use node_modules path (works for projects using ezfw-core from npm)
|
|
779
781
|
const runtimePath = isDev ? '/node_modules/ezfw-core/islands/runtime.ts' : '/assets/islands-runtime.js';
|
|
@@ -992,7 +992,9 @@ function generateHydrationScript(
|
|
|
992
992
|
isDev: boolean,
|
|
993
993
|
cssModules: string[] = []
|
|
994
994
|
): string {
|
|
995
|
-
|
|
995
|
+
// Escape </script> to prevent breaking out of the script tag
|
|
996
|
+
// This is necessary when code examples contain </script> tags
|
|
997
|
+
const islandsJson = JSON.stringify(islands).replace(/<\/script/gi, '<\\/script');
|
|
996
998
|
const cssModulesJson = JSON.stringify(cssModules);
|
|
997
999
|
|
|
998
1000
|
// In dev mode, use node_modules path (works for projects using ezfw-core from npm)
|