@lincyaw/workbench 0.0.0-stage → 0.1.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/src/styles.css ADDED
@@ -0,0 +1,629 @@
1
+ .pmw-muted {
2
+ color: var(--pm-color-muted);
3
+ font-size: var(--pm-text-sm);
4
+ }
5
+
6
+ .pmw-spacer {
7
+ flex: 1;
8
+ }
9
+
10
+ .pmw-home {
11
+ box-sizing: border-box;
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: var(--pm-space-4);
15
+ min-height: 100%;
16
+ padding: var(--pm-space-6) var(--pm-space-8);
17
+ background: var(--pm-color-bg);
18
+ overflow: auto;
19
+ }
20
+
21
+ .pmw-home__bar {
22
+ display: flex;
23
+ flex-wrap: wrap;
24
+ align-items: center;
25
+ gap: var(--pm-space-3);
26
+ }
27
+
28
+ .pmw-home__title {
29
+ margin: 0 auto 0 0;
30
+ font-family: var(--pm-font-serif);
31
+ font-size: var(--pm-text-title);
32
+ font-weight: 600;
33
+ }
34
+
35
+ .pmw-home__heading {
36
+ margin: 0;
37
+ color: var(--pm-color-muted);
38
+ font-size: var(--pm-text-sm);
39
+ font-weight: 600;
40
+ letter-spacing: var(--pm-tracking-label);
41
+ }
42
+
43
+ .pmw-home__cards {
44
+ display: grid;
45
+ grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
46
+ gap: var(--pm-space-3);
47
+ margin: 0;
48
+ padding: 0;
49
+ list-style: none;
50
+ }
51
+
52
+ .pmw-home__card > .pm-ui-card {
53
+ display: flex;
54
+ flex-direction: column;
55
+ gap: var(--pm-space-2);
56
+ height: 100%;
57
+ }
58
+
59
+ .pmw-home__open {
60
+ display: flex;
61
+ flex-direction: column;
62
+ gap: var(--pm-space-1);
63
+ margin: 0;
64
+ padding: 0;
65
+ border: 0;
66
+ background: none;
67
+ color: inherit;
68
+ font: inherit;
69
+ text-align: start;
70
+ cursor: pointer;
71
+ }
72
+
73
+ .pmw-home__doc-title {
74
+ font-family: var(--pm-font-serif);
75
+ font-size: var(--pm-text-lg);
76
+ font-weight: 600;
77
+ }
78
+
79
+ .pmw-home__doc-dir {
80
+ color: var(--pm-color-muted);
81
+ font-family: var(--pm-font-mono);
82
+ font-size: var(--pm-text-xs);
83
+ }
84
+
85
+ .pmw-home__meta {
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: space-between;
89
+ gap: var(--pm-space-2);
90
+ margin-top: auto;
91
+ }
92
+
93
+ .pmw-home__meta > .pm-ui-anchor {
94
+ margin-left: auto;
95
+ }
96
+
97
+ .pmw-home__mcp {
98
+ display: flex;
99
+ flex-direction: column;
100
+ gap: var(--pm-space-2);
101
+ max-width: 36rem;
102
+ }
103
+
104
+ .pmw-home__address {
105
+ display: flex;
106
+ flex-wrap: wrap;
107
+ align-items: center;
108
+ gap: var(--pm-space-2);
109
+ }
110
+
111
+ .pmw-home__address code {
112
+ overflow-wrap: anywhere;
113
+ font-family: var(--pm-font-mono);
114
+ font-size: var(--pm-text-sm);
115
+ }
116
+
117
+ .pmw-search {
118
+ position: relative;
119
+ flex: 1 1 16rem;
120
+ max-width: 28rem;
121
+ }
122
+
123
+ .pmw-search__results {
124
+ position: absolute;
125
+ z-index: var(--pm-z-popover);
126
+ top: calc(100% + 4px);
127
+ right: 0;
128
+ left: 0;
129
+ display: flex;
130
+ flex-direction: column;
131
+ padding: var(--pm-space-2);
132
+ border: 1px solid var(--pm-color-line);
133
+ border-radius: var(--pm-radius-control);
134
+ background: var(--pm-color-surface);
135
+ box-shadow: var(--pm-shadow-float);
136
+ }
137
+
138
+ .pmw-search__group {
139
+ margin: var(--pm-space-1) var(--pm-space-2);
140
+ color: var(--pm-color-muted);
141
+ font-size: var(--pm-text-xs);
142
+ font-weight: 600;
143
+ }
144
+
145
+ .pmw-search__item {
146
+ display: flex;
147
+ align-items: center;
148
+ gap: var(--pm-space-2);
149
+ padding: var(--pm-space-2);
150
+ border: 0;
151
+ border-radius: var(--pm-radius-small);
152
+ background: none;
153
+ color: var(--pm-color-ink);
154
+ font: inherit;
155
+ text-align: start;
156
+ cursor: pointer;
157
+ }
158
+
159
+ .pmw-search__item:hover,
160
+ .pmw-search__item:focus-visible {
161
+ background: var(--pm-color-selected);
162
+ }
163
+
164
+ .pmw-operation {
165
+ display: flex;
166
+ flex-direction: column;
167
+ gap: var(--pm-space-3);
168
+ min-width: min(24rem, 80vw);
169
+ }
170
+
171
+ .pmw-operation p {
172
+ margin: 0;
173
+ }
174
+
175
+ .pmw-operation__actions {
176
+ display: flex;
177
+ justify-content: flex-end;
178
+ gap: var(--pm-space-2);
179
+ }
180
+
181
+ .pmw-files {
182
+ display: flex;
183
+ flex-direction: column;
184
+ gap: var(--pm-space-2);
185
+ padding: var(--pm-space-3);
186
+ font-size: var(--pm-text-md);
187
+ }
188
+
189
+ .pmw-files__head {
190
+ display: flex;
191
+ align-items: center;
192
+ gap: var(--pm-space-2);
193
+ }
194
+
195
+ .pmw-files__title {
196
+ margin: 0;
197
+ overflow: hidden;
198
+ font-family: var(--pm-font-serif);
199
+ font-size: var(--pm-text-lg);
200
+ font-weight: 600;
201
+ text-overflow: ellipsis;
202
+ white-space: nowrap;
203
+ }
204
+
205
+ .pmw-tree,
206
+ .pmw-tree ul {
207
+ margin: 0;
208
+ padding: 0;
209
+ list-style: none;
210
+ }
211
+
212
+ .pmw-tree ul {
213
+ padding-left: var(--pm-space-2);
214
+ }
215
+
216
+ .pmw-tree__dir {
217
+ display: flex;
218
+ align-items: center;
219
+ gap: var(--pm-space-2);
220
+ padding: var(--pm-space-1) var(--pm-space-2);
221
+ color: var(--pm-color-muted);
222
+ font-size: var(--pm-text-sm);
223
+ }
224
+
225
+ .pmw-tree__file {
226
+ display: flex;
227
+ align-items: center;
228
+ gap: var(--pm-space-2);
229
+ width: 100%;
230
+ padding: var(--pm-space-1) var(--pm-space-2);
231
+ border: 0;
232
+ border-radius: var(--pm-radius-small);
233
+ background: none;
234
+ color: var(--pm-color-ink);
235
+ font: inherit;
236
+ text-align: start;
237
+ cursor: pointer;
238
+ }
239
+
240
+ .pmw-tree__file:hover {
241
+ background: var(--pm-color-sunk);
242
+ }
243
+
244
+ .pmw-tree__file[data-active] {
245
+ background: var(--pm-color-selected);
246
+ box-shadow: inset 2px 0 0 var(--pm-color-accent);
247
+ }
248
+
249
+ .pmw-tree__file:disabled {
250
+ color: var(--pm-color-muted);
251
+ cursor: default;
252
+ }
253
+
254
+ .pmw-doc {
255
+ flex: 1;
256
+ min-height: 0;
257
+ }
258
+
259
+ .pmw-document { display: flex; flex-direction: column; height: 100%; min-width: 0; min-height: 0; }
260
+ .pmw-document__bar { display: flex; flex-wrap: wrap; padding: var(--pm-space-2); border-bottom: 1px solid var(--pm-color-line); }
261
+ .pmw-focus { display: flex; align-items: center; gap: var(--pm-space-2); padding: var(--pm-space-1) var(--pm-space-2); border-bottom: 1px solid var(--pm-color-line); background: var(--pm-color-accent-soft); }
262
+ .pmw-focus__label { flex: none; font-size: var(--pm-text-xs); }
263
+ .pmw-focus__quote { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--pm-text-sm); }
264
+
265
+ .pmw-doc__source {
266
+ display: grid;
267
+ grid-template-rows: minmax(0, 1fr) auto;
268
+ min-height: 0;
269
+ border-right: 1px solid var(--pm-color-line);
270
+ }
271
+
272
+ .pmw-doc__source[hidden],
273
+ .pmw-doc__preview[hidden] {
274
+ display: none;
275
+ }
276
+
277
+ .pmw-doc__preview {
278
+ min-width: 0;
279
+ min-height: 0;
280
+ }
281
+
282
+ .pmw-source {
283
+ display: flex;
284
+ flex-direction: column;
285
+ min-height: 0;
286
+ background: var(--pm-color-code);
287
+ }
288
+
289
+ .pmw-source__tabs {
290
+ display: flex;
291
+ flex-wrap: wrap;
292
+ align-items: center;
293
+ gap: var(--pm-space-1);
294
+ padding: var(--pm-space-1) var(--pm-space-2);
295
+ border-bottom: 1px solid var(--pm-color-line);
296
+ background: var(--pm-color-bg);
297
+ }
298
+
299
+ .pmw-source__tab {
300
+ display: inline-flex;
301
+ align-items: center;
302
+ border-radius: var(--pm-radius-small);
303
+ }
304
+
305
+ .pmw-source__tab > button[role='tab'] {
306
+ display: inline-flex;
307
+ align-items: center;
308
+ gap: var(--pm-space-1);
309
+ padding: var(--pm-space-1) var(--pm-space-2);
310
+ border: 0;
311
+ background: none;
312
+ color: var(--pm-color-muted);
313
+ font-family: var(--pm-font-mono);
314
+ font-size: var(--pm-text-sm);
315
+ cursor: pointer;
316
+ }
317
+
318
+ .pmw-source__tab[data-active] {
319
+ background: var(--pm-color-surface);
320
+ box-shadow: var(--pm-shadow);
321
+ }
322
+
323
+ .pmw-source__tab[data-active] > button[role='tab'] {
324
+ color: var(--pm-color-ink);
325
+ }
326
+
327
+ .pmw-source__dot {
328
+ width: 0.5rem;
329
+ height: 0.5rem;
330
+ border-radius: 50%;
331
+ background: var(--pm-color-warn);
332
+ }
333
+
334
+ .pmw-source__editor {
335
+ flex: 1;
336
+ min-height: 0;
337
+ overflow: hidden;
338
+ }
339
+
340
+ .pmw-source__editor[hidden] {
341
+ display: none;
342
+ }
343
+
344
+ .pmw-source__empty {
345
+ margin: var(--pm-space-6);
346
+ }
347
+
348
+ .pmw-source > .pm-ui-notice {
349
+ display: flex;
350
+ flex-wrap: wrap;
351
+ align-items: center;
352
+ gap: var(--pm-space-2);
353
+ margin: var(--pm-space-2);
354
+ }
355
+
356
+ .pmw-notice__actions {
357
+ display: inline-flex;
358
+ gap: var(--pm-space-2);
359
+ }
360
+
361
+ .pmw-problems {
362
+ max-height: 12rem;
363
+ overflow: auto;
364
+ border-top: 1px solid var(--pm-color-line);
365
+ background: var(--pm-color-bg);
366
+ }
367
+
368
+ .pmw-problems__head {
369
+ display: flex;
370
+ align-items: center;
371
+ gap: var(--pm-space-2);
372
+ margin: 0;
373
+ padding: var(--pm-space-2) var(--pm-space-3);
374
+ font-size: var(--pm-text-sm);
375
+ font-weight: 600;
376
+ }
377
+
378
+ .pmw-problems__none {
379
+ margin: 0 var(--pm-space-3) var(--pm-space-2);
380
+ }
381
+
382
+ .pmw-problems__list {
383
+ margin: 0;
384
+ padding: 0 0 var(--pm-space-2);
385
+ list-style: none;
386
+ }
387
+
388
+ .pmw-problem {
389
+ display: grid;
390
+ grid-template-columns: auto auto auto minmax(0, 1fr);
391
+ align-items: center;
392
+ gap: var(--pm-space-2);
393
+ width: 100%;
394
+ padding: var(--pm-space-1) var(--pm-space-3);
395
+ border: 0;
396
+ background: none;
397
+ color: var(--pm-color-ink);
398
+ font: inherit;
399
+ font-size: var(--pm-text-sm);
400
+ text-align: start;
401
+ }
402
+
403
+ button.pmw-problem {
404
+ cursor: pointer;
405
+ }
406
+
407
+ button.pmw-problem:hover {
408
+ background: var(--pm-color-sunk);
409
+ }
410
+
411
+ .pmw-problem[data-severity='error'] > .pm-ui-icon {
412
+ color: var(--pm-color-danger);
413
+ }
414
+
415
+ .pmw-problem[data-severity='warning'] > .pm-ui-icon {
416
+ color: var(--pm-color-warn);
417
+ }
418
+
419
+ .pmw-problem__where {
420
+ color: var(--pm-color-muted);
421
+ font-family: var(--pm-font-mono);
422
+ font-size: var(--pm-text-xs);
423
+ }
424
+
425
+ .pmw-preview {
426
+ display: flex;
427
+ flex-direction: column;
428
+ height: 100%;
429
+ min-height: 0;
430
+ background: var(--pm-color-surface);
431
+ }
432
+
433
+ .pmw-preview__bar {
434
+ display: flex;
435
+ flex-wrap: wrap;
436
+ align-items: center;
437
+ gap: var(--pm-space-2);
438
+ padding: var(--pm-space-1) var(--pm-space-2);
439
+ border-bottom: 1px solid var(--pm-color-line);
440
+ background: var(--pm-color-bg);
441
+ }
442
+
443
+ .pmw-preview > .pm-ui-notice,
444
+ .pmw-preview__loading {
445
+ margin: var(--pm-space-2);
446
+ }
447
+
448
+ .pmw-preview__frame {
449
+ flex: 1;
450
+ width: 100%;
451
+ min-height: 0;
452
+ border: 0;
453
+ background: var(--pm-color-surface);
454
+ }
455
+
456
+ .pmw-preview__frame[hidden] {
457
+ display: none;
458
+ }
459
+
460
+ .pmw-status__item {
461
+ display: inline-flex;
462
+ align-items: center;
463
+ gap: var(--pm-space-1);
464
+ white-space: nowrap;
465
+ }
466
+
467
+ /* Radix owns positioning, layering and keyboard/focus behavior; these are visual tokens only. */
468
+ .pmw-overlay { position: relative; inset: auto; transform: none; }
469
+ .pmw-dialog-overlay { position: fixed; inset: 0; z-index: calc(var(--pm-z-dialog) - 1); background: rgb(28 27 25 / 32%); }
470
+ .pmw-overlay [data-disabled] { color: var(--pm-color-muted); cursor: default; }
471
+ .pm-ui-tab[data-state='active'], .pmw-search__item[data-selected='true'] { background: var(--pm-color-selected); }
472
+ .pmw-search [cmdk-group-heading] { margin: var(--pm-space-1) var(--pm-space-2); color: var(--pm-color-muted); font-size: var(--pm-text-xs); }
473
+ .pmw-source__body { display: flex; flex: 1; flex-direction: column; min-height: 0; }
474
+ .pmw-separator { width: 6px; background: var(--pm-color-line); }
475
+ .pmw-separator:hover, .pmw-separator:focus-visible { background: var(--pm-color-accent); }
476
+ .pmw-doc > [hidden] { display: none !important; }
477
+ .pmw-tree [role='treeitem']:focus-visible { outline: 2px solid var(--pm-color-accent); outline-offset: -2px; }
478
+
479
+ .pmw-changes {
480
+ display: grid;
481
+ align-content: start;
482
+ gap: var(--pm-space-3);
483
+ height: 100%;
484
+ overflow: auto;
485
+ padding: var(--pm-space-3);
486
+ box-sizing: border-box;
487
+ }
488
+
489
+ .pmw-changes__group > p {
490
+ margin: 0 0 var(--pm-space-2);
491
+ }
492
+
493
+ .pmw-changes__head {
494
+ display: flex;
495
+ align-items: center;
496
+ gap: var(--pm-space-2);
497
+ margin: 0 0 var(--pm-space-2);
498
+ font-size: var(--pm-text-sm);
499
+ font-weight: 600;
500
+ }
501
+
502
+ .pmw-changes__list {
503
+ display: grid;
504
+ gap: var(--pm-space-1);
505
+ margin: 0 0 var(--pm-space-2);
506
+ padding: 0;
507
+ list-style: none;
508
+ }
509
+
510
+ .pmw-changes__file {
511
+ display: flex;
512
+ align-items: flex-start;
513
+ gap: var(--pm-space-2);
514
+ font-size: var(--pm-text-sm);
515
+ }
516
+
517
+ .pmw-changes__file > details {
518
+ flex: 1;
519
+ min-width: 0;
520
+ }
521
+
522
+ .pmw-changes__file summary {
523
+ display: flex;
524
+ flex-wrap: wrap;
525
+ align-items: baseline;
526
+ gap: 0 var(--pm-space-2);
527
+ list-style: none;
528
+ cursor: pointer;
529
+ }
530
+
531
+ .pmw-changes__file summary::-webkit-details-marker {
532
+ display: none;
533
+ }
534
+
535
+ .pmw-changes__file summary::before {
536
+ content: '▸';
537
+ color: var(--pm-color-muted);
538
+ }
539
+
540
+ .pmw-changes__file details[open] > summary::before {
541
+ content: '▾';
542
+ }
543
+
544
+ .pmw-changes__path {
545
+ overflow-wrap: anywhere;
546
+ font-family: var(--pm-font-mono);
547
+ }
548
+
549
+ .pmw-changes__path[data-kind='added'] {
550
+ color: var(--pm-color-ok);
551
+ }
552
+
553
+ .pmw-changes__path[data-kind='deleted'] {
554
+ color: var(--pm-color-danger);
555
+ text-decoration: line-through;
556
+ }
557
+
558
+ .pmw-changes__counts {
559
+ display: inline-flex;
560
+ gap: var(--pm-space-1);
561
+ font-family: var(--pm-font-mono);
562
+ font-size: var(--pm-text-xs);
563
+ }
564
+
565
+ .pmw-changes__counts [data-sign='added'] {
566
+ color: var(--pm-color-ok);
567
+ }
568
+
569
+ .pmw-changes__counts [data-sign='removed'] {
570
+ color: var(--pm-color-danger);
571
+ }
572
+
573
+ .pmw-changes__diff {
574
+ max-height: 20rem;
575
+ overflow: auto;
576
+ margin: var(--pm-space-1) 0 0;
577
+ padding: var(--pm-space-2);
578
+ border-radius: var(--pm-radius-small);
579
+ background: var(--pm-color-code);
580
+ font-size: var(--pm-text-xs);
581
+ }
582
+
583
+ .pmw-changes__steps {
584
+ margin-bottom: var(--pm-space-2);
585
+ font-size: var(--pm-text-sm);
586
+ }
587
+
588
+ .pmw-changes__steps li {
589
+ display: flex;
590
+ align-items: center;
591
+ justify-content: space-between;
592
+ gap: var(--pm-space-2);
593
+ }
594
+
595
+ .pmw-changes__form {
596
+ display: flex;
597
+ flex-wrap: wrap;
598
+ gap: var(--pm-space-2);
599
+ }
600
+
601
+ .pmw-changes__form .pm-ui-input {
602
+ flex: 1 1 100%;
603
+ }
604
+
605
+ .pmw-changes__revision {
606
+ display: grid;
607
+ grid-template-columns: minmax(0, 1fr) auto;
608
+ gap: 0 var(--pm-space-2);
609
+ align-items: center;
610
+ font-size: var(--pm-text-sm);
611
+ }
612
+
613
+ .pmw-changes__subject {
614
+ overflow-wrap: anywhere;
615
+ }
616
+
617
+ .pmw-changes__meta {
618
+ display: flex;
619
+ flex-wrap: wrap;
620
+ align-items: center;
621
+ gap: var(--pm-space-1);
622
+ grid-row: 2;
623
+ font-size: var(--pm-text-xs);
624
+ }
625
+
626
+ .pmw-changes__revision > :last-child {
627
+ grid-row: 1 / 3;
628
+ grid-column: 2;
629
+ }