@pablozaiden/webapp 0.2.3 → 0.3.1
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/docs/sidebar.md +3 -6
- package/docs/ui-guidelines.md +8 -4
- package/package.json +1 -1
- package/src/server/auth/sqlite-store.ts +0 -1
- package/src/server/create-web-app-server.ts +17 -3
- package/src/server/route-catalog.ts +1 -1
- package/src/server/routes.ts +8 -1
- package/src/web/WebAppRoot.tsx +47 -20
- package/src/web/components/index.tsx +441 -36
- package/src/web/sidebar/types.ts +17 -1
- package/src/web/styles.css +442 -29
package/src/web/styles.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
color-scheme: light;
|
|
3
|
-
--wapp-bg:
|
|
3
|
+
--wapp-bg: var(--wapp-shell-bg);
|
|
4
|
+
--wapp-shell-bg: rgb(249 250 251 / 0.95);
|
|
4
5
|
--wapp-surface: #ffffff;
|
|
5
6
|
--wapp-surface-muted: #f9fafb;
|
|
6
7
|
--wapp-border: #d1d5db;
|
|
@@ -12,12 +13,13 @@
|
|
|
12
13
|
--wapp-danger-bg: #991b1b;
|
|
13
14
|
--wapp-primary: #111827;
|
|
14
15
|
--wapp-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
15
|
-
font-family:
|
|
16
|
+
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
:root.dark {
|
|
19
20
|
color-scheme: dark;
|
|
20
|
-
--wapp-bg:
|
|
21
|
+
--wapp-bg: var(--wapp-shell-bg);
|
|
22
|
+
--wapp-shell-bg: rgb(23 23 23 / 0.95);
|
|
21
23
|
--wapp-surface: #262626;
|
|
22
24
|
--wapp-surface-muted: #171717;
|
|
23
25
|
--wapp-border: #374151;
|
|
@@ -48,11 +50,13 @@ body {
|
|
|
48
50
|
overflow: hidden;
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
@layer base {
|
|
54
|
+
button,
|
|
55
|
+
input,
|
|
56
|
+
select,
|
|
57
|
+
textarea {
|
|
58
|
+
font: inherit;
|
|
59
|
+
}
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
input::placeholder,
|
|
@@ -89,15 +93,21 @@ textarea::placeholder {
|
|
|
89
93
|
.wapp-sidebar {
|
|
90
94
|
width: 20rem;
|
|
91
95
|
min-width: 20rem;
|
|
96
|
+
min-height: 0;
|
|
92
97
|
height: 100vh;
|
|
93
98
|
display: flex;
|
|
94
99
|
flex-direction: column;
|
|
100
|
+
overflow: hidden;
|
|
95
101
|
border-right: 1px solid var(--wapp-border-soft);
|
|
96
|
-
background:
|
|
102
|
+
background: var(--wapp-shell-bg);
|
|
97
103
|
backdrop-filter: blur(8px);
|
|
98
104
|
transition: width 180ms ease, min-width 180ms ease, transform 180ms ease, opacity 180ms ease;
|
|
99
105
|
}
|
|
100
106
|
|
|
107
|
+
:root.dark .wapp-sidebar {
|
|
108
|
+
background: var(--wapp-shell-bg);
|
|
109
|
+
}
|
|
110
|
+
|
|
101
111
|
.wapp-shell.sidebar-collapsed .wapp-sidebar {
|
|
102
112
|
width: 0;
|
|
103
113
|
min-width: 0;
|
|
@@ -117,6 +127,11 @@ textarea::placeholder {
|
|
|
117
127
|
background: var(--wapp-surface);
|
|
118
128
|
}
|
|
119
129
|
|
|
130
|
+
:root.dark .wapp-sidebar-header,
|
|
131
|
+
:root.dark .wapp-main-header {
|
|
132
|
+
border-bottom-color: var(--wapp-border);
|
|
133
|
+
}
|
|
134
|
+
|
|
120
135
|
.wapp-sidebar-header {
|
|
121
136
|
justify-content: space-between;
|
|
122
137
|
padding: 0.5rem 1rem;
|
|
@@ -129,16 +144,22 @@ textarea::placeholder {
|
|
|
129
144
|
|
|
130
145
|
.wapp-main-header-title {
|
|
131
146
|
display: flex;
|
|
147
|
+
flex: 1 1 auto;
|
|
132
148
|
min-width: 0;
|
|
133
149
|
align-items: center;
|
|
134
150
|
gap: 0.75rem;
|
|
151
|
+
overflow: hidden;
|
|
135
152
|
}
|
|
136
153
|
|
|
137
154
|
.wapp-main-header-actions {
|
|
138
155
|
display: flex;
|
|
139
156
|
flex: 0 0 auto;
|
|
157
|
+
min-width: max-content;
|
|
158
|
+
max-width: none;
|
|
140
159
|
align-items: center;
|
|
160
|
+
justify-content: flex-end;
|
|
141
161
|
gap: 0.5rem;
|
|
162
|
+
overflow: visible;
|
|
142
163
|
}
|
|
143
164
|
|
|
144
165
|
.wapp-brand {
|
|
@@ -166,8 +187,10 @@ textarea::placeholder {
|
|
|
166
187
|
|
|
167
188
|
.wapp-icon-button {
|
|
168
189
|
display: inline-flex;
|
|
190
|
+
flex: 0 0 2.5rem;
|
|
169
191
|
align-items: center;
|
|
170
192
|
justify-content: center;
|
|
193
|
+
min-width: 2.5rem;
|
|
171
194
|
width: 2.5rem;
|
|
172
195
|
height: 2.5rem;
|
|
173
196
|
border: 1px solid var(--wapp-border-soft);
|
|
@@ -190,14 +213,31 @@ textarea::placeholder {
|
|
|
190
213
|
}
|
|
191
214
|
|
|
192
215
|
.wapp-sidebar-top-button {
|
|
216
|
+
flex: 0 0 2.5rem;
|
|
217
|
+
min-width: 2.5rem;
|
|
218
|
+
width: 2.5rem;
|
|
219
|
+
height: 2.5rem;
|
|
220
|
+
border-color: var(--wapp-border-soft);
|
|
221
|
+
background: #ffffff;
|
|
222
|
+
color: var(--wapp-muted);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.wapp-sidebar-top-button:hover,
|
|
226
|
+
.wapp-sidebar-top-button.active {
|
|
227
|
+
border-color: var(--wapp-border);
|
|
228
|
+
background: #ffffff;
|
|
229
|
+
color: var(--wapp-text);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
:root.dark .wapp-sidebar-top-button {
|
|
193
233
|
border-color: #262626;
|
|
194
234
|
background: #171717;
|
|
195
235
|
color: #e5e7eb;
|
|
196
236
|
box-shadow: 0 1px 2px rgb(0 0 0 / 0.24);
|
|
197
237
|
}
|
|
198
238
|
|
|
199
|
-
.wapp-sidebar-top-button:hover,
|
|
200
|
-
.wapp-sidebar-top-button.active {
|
|
239
|
+
:root.dark .wapp-sidebar-top-button:hover,
|
|
240
|
+
:root.dark .wapp-sidebar-top-button.active {
|
|
201
241
|
border-color: #404040;
|
|
202
242
|
background: #171717;
|
|
203
243
|
color: #ffffff;
|
|
@@ -216,6 +256,7 @@ textarea::placeholder {
|
|
|
216
256
|
.wapp-sidebar-scroll {
|
|
217
257
|
flex: 1;
|
|
218
258
|
overflow-y: auto;
|
|
259
|
+
overflow-x: hidden;
|
|
219
260
|
padding: 1rem 0.75rem;
|
|
220
261
|
}
|
|
221
262
|
|
|
@@ -238,19 +279,29 @@ textarea::placeholder {
|
|
|
238
279
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--wapp-muted), transparent 70%);
|
|
239
280
|
}
|
|
240
281
|
|
|
241
|
-
.wapp-sidebar-section {
|
|
282
|
+
.wapp-sidebar-section.top {
|
|
242
283
|
margin-bottom: 1.5rem;
|
|
243
284
|
}
|
|
244
285
|
|
|
286
|
+
.wapp-sidebar-section.nested {
|
|
287
|
+
margin-bottom: 0.25rem;
|
|
288
|
+
}
|
|
289
|
+
|
|
245
290
|
.wapp-sidebar-section-title {
|
|
246
291
|
display: flex;
|
|
247
292
|
align-items: center;
|
|
248
293
|
justify-content: space-between;
|
|
294
|
+
min-width: 0;
|
|
249
295
|
gap: 0.5rem;
|
|
250
296
|
margin-bottom: 0.5rem;
|
|
251
297
|
}
|
|
252
298
|
|
|
253
|
-
.wapp-sidebar-section-title
|
|
299
|
+
.wapp-sidebar-section.nested .wapp-sidebar-section-title {
|
|
300
|
+
margin-bottom: 0.25rem;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.wapp-sidebar-section-title button:first-child,
|
|
304
|
+
.wapp-sidebar-section-label {
|
|
254
305
|
display: inline-flex;
|
|
255
306
|
align-items: center;
|
|
256
307
|
gap: 0.5rem;
|
|
@@ -266,7 +317,38 @@ textarea::placeholder {
|
|
|
266
317
|
text-align: left;
|
|
267
318
|
}
|
|
268
319
|
|
|
320
|
+
.wapp-sidebar-section-title button:first-child {
|
|
321
|
+
flex: 1;
|
|
322
|
+
min-width: 0;
|
|
323
|
+
overflow: hidden;
|
|
324
|
+
text-overflow: ellipsis;
|
|
325
|
+
white-space: nowrap;
|
|
326
|
+
border-radius: 0.5rem;
|
|
327
|
+
margin-left: -0.5rem;
|
|
328
|
+
padding: 0.25rem 0.5rem;
|
|
329
|
+
transition: background 120ms ease, color 120ms ease;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.wapp-sidebar-section-title button:first-child:hover {
|
|
333
|
+
background: #f3f4f6;
|
|
334
|
+
color: var(--wapp-text);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
:root.dark .wapp-sidebar-section-title button:first-child:hover {
|
|
338
|
+
background: rgb(38 38 38 / 0.8);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.wapp-sidebar-section-label {
|
|
342
|
+
cursor: default;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.wapp-sidebar-section.nested .wapp-sidebar-section-title button:first-child,
|
|
346
|
+
.wapp-sidebar-section.nested .wapp-sidebar-section-label {
|
|
347
|
+
font-size: 0.6875rem;
|
|
348
|
+
}
|
|
349
|
+
|
|
269
350
|
.wapp-sidebar-action {
|
|
351
|
+
flex: 0 0 auto;
|
|
270
352
|
border: 0;
|
|
271
353
|
background: transparent;
|
|
272
354
|
color: var(--wapp-muted);
|
|
@@ -293,6 +375,8 @@ textarea::placeholder {
|
|
|
293
375
|
|
|
294
376
|
.wapp-sidebar-item-wrap {
|
|
295
377
|
margin: 0.25rem 0;
|
|
378
|
+
max-width: 100%;
|
|
379
|
+
min-width: 0;
|
|
296
380
|
}
|
|
297
381
|
|
|
298
382
|
.wapp-sidebar-item-wrap.has-toggle {
|
|
@@ -305,26 +389,30 @@ textarea::placeholder {
|
|
|
305
389
|
.wapp-sidebar-item-wrap.has-toggle > .wapp-sidebar-item {
|
|
306
390
|
width: auto;
|
|
307
391
|
flex: 1;
|
|
392
|
+
min-width: 0;
|
|
308
393
|
}
|
|
309
394
|
|
|
310
395
|
.wapp-sidebar-children {
|
|
311
396
|
flex-basis: 100%;
|
|
312
|
-
|
|
397
|
+
min-width: 0;
|
|
398
|
+
padding-left: 0.375rem;
|
|
313
399
|
}
|
|
314
400
|
|
|
315
401
|
.wapp-sidebar-item {
|
|
316
402
|
width: 100%;
|
|
317
|
-
min-
|
|
403
|
+
min-width: 0;
|
|
404
|
+
max-width: 100%;
|
|
405
|
+
min-height: 2.5rem;
|
|
318
406
|
display: flex;
|
|
319
407
|
align-items: center;
|
|
320
408
|
justify-content: space-between;
|
|
321
|
-
gap: 0.
|
|
409
|
+
gap: 0.625rem;
|
|
322
410
|
border: 1px solid transparent;
|
|
323
411
|
border-radius: 0.75rem;
|
|
324
412
|
background: transparent;
|
|
325
413
|
color: var(--wapp-text);
|
|
326
414
|
cursor: pointer;
|
|
327
|
-
padding: 0.
|
|
415
|
+
padding: 0.5rem 0.75rem 0.5rem 0.25rem;
|
|
328
416
|
text-align: left;
|
|
329
417
|
}
|
|
330
418
|
|
|
@@ -351,18 +439,33 @@ textarea::placeholder {
|
|
|
351
439
|
color: #030712;
|
|
352
440
|
}
|
|
353
441
|
|
|
442
|
+
.wapp-sidebar-item > span:first-child {
|
|
443
|
+
min-width: 0;
|
|
444
|
+
flex: 1 1 auto;
|
|
445
|
+
overflow: hidden;
|
|
446
|
+
}
|
|
447
|
+
|
|
354
448
|
.wapp-sidebar-item strong {
|
|
355
449
|
display: block;
|
|
450
|
+
min-width: 0;
|
|
451
|
+
overflow: hidden;
|
|
452
|
+
text-overflow: ellipsis;
|
|
453
|
+
white-space: normal;
|
|
356
454
|
font-size: 0.875rem;
|
|
357
455
|
font-weight: 500;
|
|
358
|
-
line-height: 1.
|
|
456
|
+
line-height: 1.25rem;
|
|
359
457
|
}
|
|
360
458
|
|
|
361
459
|
.wapp-sidebar-item small {
|
|
362
460
|
display: block;
|
|
461
|
+
min-width: 0;
|
|
462
|
+
overflow: hidden;
|
|
463
|
+
text-overflow: ellipsis;
|
|
464
|
+
white-space: nowrap;
|
|
363
465
|
color: var(--wapp-muted);
|
|
364
466
|
font-size: 0.75rem;
|
|
365
467
|
margin-top: 0.125rem;
|
|
468
|
+
line-height: 1rem;
|
|
366
469
|
}
|
|
367
470
|
|
|
368
471
|
:root.dark .wapp-sidebar-item.active small {
|
|
@@ -375,9 +478,9 @@ textarea::placeholder {
|
|
|
375
478
|
color: var(--wapp-muted);
|
|
376
479
|
cursor: pointer;
|
|
377
480
|
flex: 0 0 auto;
|
|
378
|
-
height:
|
|
481
|
+
height: 2rem;
|
|
379
482
|
width: 0.875rem;
|
|
380
|
-
margin: 0.
|
|
483
|
+
margin: 0.25rem 0 0 0;
|
|
381
484
|
border-radius: 0.5rem;
|
|
382
485
|
font-size: 0.6875rem;
|
|
383
486
|
line-height: 1;
|
|
@@ -397,8 +500,8 @@ textarea::placeholder {
|
|
|
397
500
|
display: flex;
|
|
398
501
|
align-items: center;
|
|
399
502
|
justify-content: space-between;
|
|
400
|
-
min-height:
|
|
401
|
-
padding: 0
|
|
503
|
+
min-height: 2rem;
|
|
504
|
+
padding: 0.25rem 0.25rem 0;
|
|
402
505
|
color: var(--wapp-muted-2);
|
|
403
506
|
font-size: 0.75rem;
|
|
404
507
|
}
|
|
@@ -430,16 +533,29 @@ textarea::placeholder {
|
|
|
430
533
|
}
|
|
431
534
|
|
|
432
535
|
.wapp-main-header h1 {
|
|
536
|
+
min-width: 0;
|
|
537
|
+
overflow: hidden;
|
|
538
|
+
text-overflow: ellipsis;
|
|
539
|
+
white-space: nowrap;
|
|
433
540
|
margin: 0;
|
|
434
541
|
font-size: 1rem;
|
|
435
542
|
font-weight: 700;
|
|
436
|
-
text-transform:
|
|
543
|
+
text-transform: none;
|
|
437
544
|
}
|
|
438
545
|
|
|
439
546
|
.wapp-main-content {
|
|
547
|
+
display: flex;
|
|
548
|
+
flex-direction: column;
|
|
440
549
|
flex: 1;
|
|
441
550
|
min-height: 0;
|
|
442
551
|
overflow: auto;
|
|
552
|
+
overflow-x: hidden;
|
|
553
|
+
padding: 0;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.wapp-page {
|
|
557
|
+
width: 100%;
|
|
558
|
+
min-width: 0;
|
|
443
559
|
padding: 1.5rem 2rem 2rem;
|
|
444
560
|
}
|
|
445
561
|
|
|
@@ -716,6 +832,10 @@ textarea::placeholder {
|
|
|
716
832
|
}
|
|
717
833
|
|
|
718
834
|
.wapp-button {
|
|
835
|
+
display: inline-flex;
|
|
836
|
+
align-items: center;
|
|
837
|
+
justify-content: center;
|
|
838
|
+
gap: 0.5rem;
|
|
719
839
|
min-height: 2.375rem;
|
|
720
840
|
border: 1px solid var(--wapp-border);
|
|
721
841
|
border-radius: 0.5rem;
|
|
@@ -729,6 +849,21 @@ textarea::placeholder {
|
|
|
729
849
|
transition: background 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease;
|
|
730
850
|
}
|
|
731
851
|
|
|
852
|
+
.wapp-button-spinner {
|
|
853
|
+
width: 1rem;
|
|
854
|
+
height: 1rem;
|
|
855
|
+
border: 2px solid currentColor;
|
|
856
|
+
border-top-color: transparent;
|
|
857
|
+
border-radius: 999px;
|
|
858
|
+
animation: wapp-spin 0.7s linear infinite;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
@keyframes wapp-spin {
|
|
862
|
+
to {
|
|
863
|
+
transform: rotate(360deg);
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
|
|
732
867
|
.wapp-button:hover:not(:disabled) {
|
|
733
868
|
border-color: var(--wapp-muted);
|
|
734
869
|
background: color-mix(in srgb, var(--wapp-surface), var(--wapp-muted) 12%);
|
|
@@ -778,6 +913,19 @@ textarea::placeholder {
|
|
|
778
913
|
transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
|
|
779
914
|
}
|
|
780
915
|
|
|
916
|
+
.wapp-action-menu-trigger-ghost {
|
|
917
|
+
border-color: transparent;
|
|
918
|
+
background: transparent;
|
|
919
|
+
color: var(--wapp-fg);
|
|
920
|
+
box-shadow: none;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
.wapp-action-menu-trigger-compact {
|
|
924
|
+
min-width: 2rem;
|
|
925
|
+
min-height: 2rem;
|
|
926
|
+
border-radius: 0.5rem;
|
|
927
|
+
}
|
|
928
|
+
|
|
781
929
|
.wapp-action-menu-trigger:hover:not(:disabled),
|
|
782
930
|
.wapp-action-menu-trigger[aria-expanded="true"] {
|
|
783
931
|
border-color: var(--wapp-primary);
|
|
@@ -839,6 +987,10 @@ textarea::placeholder {
|
|
|
839
987
|
color: var(--wapp-danger);
|
|
840
988
|
}
|
|
841
989
|
|
|
990
|
+
:root.dark .wapp-action-menu-item.danger {
|
|
991
|
+
color: var(--wapp-danger);
|
|
992
|
+
}
|
|
993
|
+
|
|
842
994
|
.wapp-action-menu-item.danger:hover:not(:disabled) {
|
|
843
995
|
background: color-mix(in srgb, var(--wapp-danger-bg), transparent 88%);
|
|
844
996
|
}
|
|
@@ -865,14 +1017,112 @@ textarea::placeholder {
|
|
|
865
1017
|
padding: 0.125rem 0.5rem;
|
|
866
1018
|
}
|
|
867
1019
|
|
|
868
|
-
.wapp-badge
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
1020
|
+
.wapp-sidebar-badge {
|
|
1021
|
+
flex: 0 0 auto;
|
|
1022
|
+
width: 0.625rem;
|
|
1023
|
+
height: 0.625rem;
|
|
1024
|
+
overflow: hidden;
|
|
1025
|
+
padding: 0;
|
|
1026
|
+
color: transparent;
|
|
1027
|
+
font-size: 0;
|
|
1028
|
+
line-height: 0;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
.wapp-badge-success,
|
|
1032
|
+
.wapp-badge-completed {
|
|
1033
|
+
background: rgb(220 252 231);
|
|
1034
|
+
color: rgb(22 101 52);
|
|
1035
|
+
}
|
|
1036
|
+
.wapp-badge-warning,
|
|
1037
|
+
.wapp-badge-plan_ready {
|
|
1038
|
+
background: rgb(254 243 199);
|
|
1039
|
+
color: rgb(146 64 14);
|
|
1040
|
+
}
|
|
1041
|
+
.wapp-badge-error,
|
|
1042
|
+
.wapp-badge-failed {
|
|
1043
|
+
background: rgb(254 226 226);
|
|
1044
|
+
color: rgb(153 27 27);
|
|
1045
|
+
}
|
|
1046
|
+
.wapp-badge-info,
|
|
1047
|
+
.wapp-badge-running {
|
|
1048
|
+
background: rgb(219 234 254);
|
|
1049
|
+
color: rgb(30 64 175);
|
|
1050
|
+
}
|
|
1051
|
+
.wapp-badge-disabled,
|
|
1052
|
+
.wapp-badge-stopped,
|
|
1053
|
+
.wapp-badge-idle {
|
|
1054
|
+
background: rgb(243 244 246);
|
|
1055
|
+
color: rgb(31 41 55);
|
|
1056
|
+
}
|
|
1057
|
+
.wapp-badge-planning {
|
|
1058
|
+
background: rgb(207 250 254);
|
|
1059
|
+
color: rgb(21 94 117);
|
|
1060
|
+
}
|
|
1061
|
+
.wapp-badge-merged {
|
|
1062
|
+
background: rgb(243 232 255);
|
|
1063
|
+
color: rgb(107 33 168);
|
|
1064
|
+
}
|
|
1065
|
+
.wapp-badge-pushed {
|
|
1066
|
+
background: rgb(224 231 255);
|
|
1067
|
+
color: rgb(55 48 163);
|
|
1068
|
+
}
|
|
1069
|
+
.wapp-badge-deleted {
|
|
1070
|
+
background: rgb(243 244 246);
|
|
1071
|
+
color: rgb(107 114 128);
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
:root.dark .wapp-badge-success,
|
|
1075
|
+
:root.dark .wapp-badge-completed {
|
|
1076
|
+
background: rgb(20 83 45);
|
|
1077
|
+
color: rgb(134 239 172);
|
|
1078
|
+
}
|
|
1079
|
+
:root.dark .wapp-badge-warning,
|
|
1080
|
+
:root.dark .wapp-badge-plan_ready {
|
|
1081
|
+
background: rgb(120 53 15);
|
|
1082
|
+
color: rgb(252 211 77);
|
|
1083
|
+
}
|
|
1084
|
+
:root.dark .wapp-badge-error,
|
|
1085
|
+
:root.dark .wapp-badge-failed {
|
|
1086
|
+
background: rgb(127 29 29);
|
|
1087
|
+
color: rgb(252 165 165);
|
|
1088
|
+
}
|
|
1089
|
+
:root.dark .wapp-badge-info,
|
|
1090
|
+
:root.dark .wapp-badge-running,
|
|
1091
|
+
:root.dark .wapp-badge-planning,
|
|
1092
|
+
:root.dark .wapp-badge-merged,
|
|
1093
|
+
:root.dark .wapp-badge-pushed,
|
|
1094
|
+
:root.dark .wapp-badge-deleted {
|
|
1095
|
+
background: rgb(38 38 38);
|
|
1096
|
+
}
|
|
1097
|
+
:root.dark .wapp-badge-info,
|
|
1098
|
+
:root.dark .wapp-badge-running {
|
|
1099
|
+
color: rgb(147 197 253);
|
|
1100
|
+
}
|
|
1101
|
+
:root.dark .wapp-badge-planning {
|
|
1102
|
+
color: rgb(103 232 249);
|
|
1103
|
+
}
|
|
1104
|
+
:root.dark .wapp-badge-merged {
|
|
1105
|
+
color: rgb(216 180 254);
|
|
1106
|
+
}
|
|
1107
|
+
:root.dark .wapp-badge-pushed {
|
|
1108
|
+
color: rgb(165 180 252);
|
|
1109
|
+
}
|
|
1110
|
+
:root.dark .wapp-badge-deleted {
|
|
1111
|
+
color: rgb(107 114 128);
|
|
1112
|
+
}
|
|
1113
|
+
:root.dark .wapp-badge-disabled,
|
|
1114
|
+
:root.dark .wapp-badge-stopped,
|
|
1115
|
+
:root.dark .wapp-badge-idle {
|
|
1116
|
+
background: rgb(64 64 64);
|
|
1117
|
+
color: rgb(209 213 219);
|
|
1118
|
+
}
|
|
873
1119
|
|
|
874
1120
|
.wapp-settings {
|
|
1121
|
+
height: 100%;
|
|
1122
|
+
overflow: auto;
|
|
875
1123
|
max-width: none;
|
|
1124
|
+
background: var(--wapp-shell-bg);
|
|
1125
|
+
padding: 1.5rem 2rem 2rem;
|
|
876
1126
|
font-size: 0.875rem;
|
|
877
1127
|
}
|
|
878
1128
|
|
|
@@ -882,6 +1132,10 @@ textarea::placeholder {
|
|
|
882
1132
|
margin-bottom: 2.5rem;
|
|
883
1133
|
}
|
|
884
1134
|
|
|
1135
|
+
.wapp-custom-settings-section {
|
|
1136
|
+
margin-bottom: 2.5rem;
|
|
1137
|
+
}
|
|
1138
|
+
|
|
885
1139
|
.wapp-form-section + .wapp-form-section {
|
|
886
1140
|
border-top: 0;
|
|
887
1141
|
}
|
|
@@ -1319,6 +1573,161 @@ textarea::placeholder {
|
|
|
1319
1573
|
padding: 1rem 1.5rem;
|
|
1320
1574
|
}
|
|
1321
1575
|
|
|
1576
|
+
.wapp-modal-layer {
|
|
1577
|
+
position: fixed;
|
|
1578
|
+
inset: 0;
|
|
1579
|
+
z-index: 80;
|
|
1580
|
+
display: flex;
|
|
1581
|
+
align-items: center;
|
|
1582
|
+
justify-content: center;
|
|
1583
|
+
min-width: 0;
|
|
1584
|
+
overflow-x: hidden;
|
|
1585
|
+
overflow-y: auto;
|
|
1586
|
+
padding: 0.5rem;
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
.wapp-modal-overlay {
|
|
1590
|
+
position: absolute;
|
|
1591
|
+
inset: 0;
|
|
1592
|
+
background: rgb(0 0 0 / 0.5);
|
|
1593
|
+
backdrop-filter: blur(4px);
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
.wapp-modal {
|
|
1597
|
+
position: relative;
|
|
1598
|
+
display: flex;
|
|
1599
|
+
flex-direction: column;
|
|
1600
|
+
width: 100%;
|
|
1601
|
+
min-width: 0;
|
|
1602
|
+
max-height: calc(100dvh - 1.5rem);
|
|
1603
|
+
overflow: hidden;
|
|
1604
|
+
border: 1px solid var(--wapp-border);
|
|
1605
|
+
border-radius: 0.5rem;
|
|
1606
|
+
background: var(--wapp-surface);
|
|
1607
|
+
box-shadow: 0 24px 55px rgb(0 0 0 / 0.38);
|
|
1608
|
+
outline: none;
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
.wapp-modal-sm {
|
|
1612
|
+
max-width: 24rem;
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
.wapp-modal-md {
|
|
1616
|
+
max-width: 28rem;
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
.wapp-modal-lg {
|
|
1620
|
+
max-width: 32rem;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
.wapp-modal-xl {
|
|
1624
|
+
max-width: 36rem;
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
.wapp-modal-header {
|
|
1628
|
+
display: flex;
|
|
1629
|
+
flex-shrink: 0;
|
|
1630
|
+
align-items: flex-start;
|
|
1631
|
+
justify-content: space-between;
|
|
1632
|
+
gap: 1rem;
|
|
1633
|
+
border-bottom: 1px solid var(--wapp-border);
|
|
1634
|
+
padding: 0.75rem 1rem;
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
.wapp-modal-title-block {
|
|
1638
|
+
min-width: 0;
|
|
1639
|
+
flex: 1;
|
|
1640
|
+
padding-right: 0.5rem;
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
.wapp-modal-title-block h2 {
|
|
1644
|
+
margin: 0;
|
|
1645
|
+
color: var(--wapp-text);
|
|
1646
|
+
font-size: 1rem;
|
|
1647
|
+
font-weight: 700;
|
|
1648
|
+
line-height: 1.35;
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
.wapp-modal-title-block p {
|
|
1652
|
+
margin: 0.25rem 0 0;
|
|
1653
|
+
color: var(--wapp-muted);
|
|
1654
|
+
font-size: 0.8125rem;
|
|
1655
|
+
line-height: 1.35;
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
.wapp-modal-close {
|
|
1659
|
+
display: inline-flex;
|
|
1660
|
+
flex-shrink: 0;
|
|
1661
|
+
align-items: center;
|
|
1662
|
+
justify-content: center;
|
|
1663
|
+
width: 1.75rem;
|
|
1664
|
+
height: 1.75rem;
|
|
1665
|
+
border: 0;
|
|
1666
|
+
border-radius: 0.375rem;
|
|
1667
|
+
background: transparent;
|
|
1668
|
+
color: var(--wapp-muted);
|
|
1669
|
+
cursor: pointer;
|
|
1670
|
+
font-size: 1.5rem;
|
|
1671
|
+
line-height: 1;
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
.wapp-modal-close:hover {
|
|
1675
|
+
background: color-mix(in srgb, var(--wapp-muted), transparent 88%);
|
|
1676
|
+
color: var(--wapp-text);
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
.wapp-modal-body {
|
|
1680
|
+
min-width: 0;
|
|
1681
|
+
flex: 1;
|
|
1682
|
+
overflow-x: hidden;
|
|
1683
|
+
overflow-y: auto;
|
|
1684
|
+
padding: 0.75rem 1rem;
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
.wapp-modal-footer {
|
|
1688
|
+
display: flex;
|
|
1689
|
+
flex-shrink: 0;
|
|
1690
|
+
flex-direction: column-reverse;
|
|
1691
|
+
align-items: stretch;
|
|
1692
|
+
justify-content: flex-end;
|
|
1693
|
+
gap: 0.5rem;
|
|
1694
|
+
border-top: 1px solid var(--wapp-border);
|
|
1695
|
+
padding: 0.75rem 1rem;
|
|
1696
|
+
}
|
|
1697
|
+
|
|
1698
|
+
@media (min-width: 640px) {
|
|
1699
|
+
.wapp-modal-layer {
|
|
1700
|
+
padding: 1rem;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
.wapp-modal {
|
|
1704
|
+
max-height: calc(100dvh - 2.5rem);
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
.wapp-modal-header {
|
|
1708
|
+
padding: 1rem 1.5rem;
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
.wapp-modal-title-block h2 {
|
|
1712
|
+
font-size: 1.125rem;
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
.wapp-modal-title-block p {
|
|
1716
|
+
font-size: 0.875rem;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
.wapp-modal-body {
|
|
1720
|
+
padding: 1rem 1.5rem;
|
|
1721
|
+
}
|
|
1722
|
+
|
|
1723
|
+
.wapp-modal-footer {
|
|
1724
|
+
flex-direction: row;
|
|
1725
|
+
align-items: center;
|
|
1726
|
+
gap: 0.75rem;
|
|
1727
|
+
padding: 1rem 1.5rem;
|
|
1728
|
+
}
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1322
1731
|
.wapp-toolbar {
|
|
1323
1732
|
display: flex;
|
|
1324
1733
|
align-items: center;
|
|
@@ -1362,10 +1771,14 @@ textarea::placeholder {
|
|
|
1362
1771
|
}
|
|
1363
1772
|
|
|
1364
1773
|
.wapp-main-content {
|
|
1365
|
-
|
|
1774
|
+
overflow: auto;
|
|
1366
1775
|
overflow-x: hidden;
|
|
1367
1776
|
}
|
|
1368
1777
|
|
|
1778
|
+
.wapp-page {
|
|
1779
|
+
padding: 1rem;
|
|
1780
|
+
}
|
|
1781
|
+
|
|
1369
1782
|
.wapp-panel-header,
|
|
1370
1783
|
.wapp-entity-header {
|
|
1371
1784
|
flex-wrap: wrap;
|