@dirwell/theme-ledger 0.0.2 → 0.0.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/styles.css CHANGED
@@ -1,9 +1,3 @@
1
-
2
- .entry-data{min-width:0;overflow-wrap:anywhere}
3
-
4
- [data-dirwell-actions] button,[data-dirwell-actions] a{min-height:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:4px;background:var(--control);color:var(--ink)}
5
- @media(max-width:720px){.entry[data-custom-columns=true]{grid-template-columns:minmax(0,1fr)!important}.entry-head[data-custom-columns=true]{display:none}.entry[data-custom-columns=true]>.kind,.entry[data-custom-columns=true]>.timestamp-button{display:block!important}}
6
-
7
1
  :root {
8
2
  color-scheme: light dark;
9
3
  --dw-control-height: 2.75rem;
@@ -76,14 +70,12 @@
76
70
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
77
71
  }
78
72
  }
73
+
79
74
  * {
80
75
  box-sizing: border-box;
81
76
  }
82
77
  html {
83
78
  min-height: 100%;
84
- scroll-padding-top: calc(
85
- var(--dw-sticky-header-height) + var(--dw-sticky-columns-height) + 0.5rem
86
- );
87
79
  background: var(--paper);
88
80
  color: var(--ink);
89
81
  }
@@ -105,359 +97,188 @@ input,
105
97
  select {
106
98
  font: inherit;
107
99
  }
100
+ a {
101
+ color: var(--accent);
102
+ text-decoration-thickness: 0.08em;
103
+ text-underline-offset: 0.22em;
104
+ }
105
+ button,
106
+ select,
107
+ input {
108
+ accent-color: var(--accent);
109
+ }
110
+ button:disabled,
111
+ select:disabled,
112
+ input:disabled {
113
+ cursor: not-allowed;
114
+ opacity: 0.6;
115
+ }
116
+ a:focus-visible,
117
+ button:not(:disabled):focus-visible,
118
+ input:not(:disabled):focus-visible,
119
+ select:not(:disabled):focus-visible {
120
+ outline: 3px solid var(--focus);
121
+ outline-offset: 3px;
122
+ }
123
+ button:not(:disabled):active {
124
+ background: var(--hover);
125
+ }
108
126
  main {
127
+ --dw-sticky-header-height: 0px;
128
+ --dw-sticky-columns-height: 44px;
109
129
  width: min(72rem, 100%);
110
130
  margin: 0 auto;
111
131
  background: var(--surface);
112
132
  border: 1px solid var(--rule);
113
133
  border-radius: 0.875rem;
114
134
  box-shadow: var(--shadow);
115
- overflow: visible;
116
135
  }
117
- main > header {
118
- position: sticky;
136
+ main > .page-header {
137
+ position: static;
119
138
  top: 0;
120
139
  z-index: 3;
121
- background: var(--surface);
122
- border-radius: calc(0.875rem - 1px) calc(0.875rem - 1px) 0 0;
123
- }
124
- main[data-sticky-header-disabled] > header {
125
- position: static;
126
- }
127
- .chrome {
128
140
  display: flex;
129
141
  flex-wrap: wrap;
130
- min-height: 3.4rem;
131
142
  align-items: center;
132
143
  justify-content: space-between;
133
- gap: 1rem;
134
- padding: 0 1.4rem;
144
+ gap: 0.5rem 1rem;
145
+ min-height: 3.4rem;
146
+ padding: 0.3rem 1.4rem;
135
147
  border-bottom: 1px solid var(--soft-rule);
148
+ border-radius: calc(0.875rem - 1px) calc(0.875rem - 1px) 0 0;
149
+ background: var(--surface);
136
150
  }
137
- .breadcrumbs {
138
- display: flex;
139
- min-width: 0;
140
- align-items: center;
141
- flex-wrap: wrap;
142
- gap: 0.15rem;
143
- font-size: 0.95rem;
144
- font-weight: 650;
151
+ main[data-sticky-ready]:not([data-sticky-header-disabled]) > .page-header {
152
+ position: sticky;
145
153
  }
146
- .breadcrumbs a,
147
- .breadcrumbs span {
148
- color: inherit;
149
- overflow-wrap: anywhere;
154
+ .page-header > * {
150
155
  min-width: 0;
156
+ max-width: 100%;
157
+ overflow-wrap: anywhere;
151
158
  }
152
- .breadcrumbs a {
153
- color: var(--accent);
154
- text-decoration-thickness: 0.08em;
159
+ .page-header nav a {
155
160
  display: inline-flex;
156
- min-height: var(--dw-control-height);
157
161
  align-items: center;
158
- padding: 0 0.2rem;
162
+ min-height: 44px;
163
+ max-width: 100%;
164
+ overflow-wrap: anywhere;
159
165
  }
160
- .separator {
161
- display: inline-flex;
162
- color: var(--muted);
163
- font-weight: 400;
166
+ .wordmark {
167
+ display: flex;
168
+ align-items: baseline;
169
+ flex-wrap: wrap;
170
+ gap: 0.4rem 1rem;
164
171
  }
165
- .summary {
172
+ .wordmark h1 {
166
173
  margin: 0;
174
+ font-size: 1.2rem;
175
+ }
176
+ .wordmark span {
167
177
  color: var(--muted);
168
- font-size: 0.76rem;
169
- letter-spacing: 0.08em;
170
- text-transform: uppercase;
171
- white-space: nowrap;
178
+ font-size: 0.8rem;
172
179
  }
173
180
  .toolbar {
174
- display: flex;
175
- justify-content: space-between;
176
- gap: 1rem;
181
+ display: grid;
182
+ grid-template-columns: repeat(4, minmax(0, 1fr));
183
+ align-items: start;
184
+ gap: 0.8rem;
177
185
  padding: 1.25rem 1.4rem;
178
- align-items: flex-start;
179
186
  }
180
- .search-cluster {
187
+ .toolbar > label {
181
188
  display: flex;
182
- flex-wrap: wrap;
183
- min-width: 0;
184
- flex: 1;
185
- gap: 0.6rem;
186
- align-items: center;
187
- }
188
- .search {
189
- display: flex;
190
- align-items: center;
191
- gap: 0.55rem;
192
- width: min(28rem, 100%);
193
- min-height: var(--dw-control-height);
194
- padding: 0.5rem 0.7rem;
195
- border: 1px solid var(--rule);
196
- border-radius: 0.5rem;
197
- background: var(--control);
198
- }
199
- .search:focus-within {
200
- outline: 3px solid var(--focus);
201
- outline-offset: 2px;
202
- }
203
- .search input {
204
- width: 100%;
189
+ flex-direction: column;
190
+ gap: 0.3rem;
205
191
  min-width: 0;
206
- border: 0;
207
- outline: 0;
208
- background: transparent;
209
- color: var(--ink);
210
- }
211
- .search input::placeholder {
212
192
  color: var(--muted);
213
- opacity: 1;
214
- }
215
- .type-filters {
216
- display: flex;
217
- flex-wrap: nowrap;
218
- align-items: center;
193
+ font-size: 0.8rem;
194
+ }
195
+ .toolbar input[type="search"],
196
+ .toolbar select,
197
+ .toolbar > button,
198
+ dialog input,
199
+ dialog button,
200
+ [data-dirwell-actions] button,
201
+ [data-dirwell-actions] a {
219
202
  min-width: 0;
220
- min-height: var(--dw-control-height);
221
- max-width: 100%;
222
- margin: 0;
223
- padding: 0;
224
- border: 1px solid var(--rule);
225
- border-radius: 0.5rem;
226
- background: var(--control);
227
- color: var(--ink);
228
- font-size: 0.78rem;
229
- overflow: hidden;
230
- }
231
- .type-filters label {
232
- position: relative;
233
- display: inline-flex;
234
- align-items: center;
235
- justify-content: center;
236
- min-height: calc(var(--dw-control-height) - 2px);
237
- padding: 0.35rem 0.7rem;
238
- white-space: nowrap;
239
- cursor: pointer;
240
- }
241
- .type-filters label + label {
242
- border-left: 1px solid var(--rule);
243
- }
244
- .type-filters label:hover {
245
- background: var(--hover);
246
- }
247
- .type-filters label:has(input:checked) {
248
- background: color-mix(in srgb, var(--accent) 16%, var(--control));
249
- color: var(--accent-strong);
250
- }
251
- .type-filters label:has(input:focus-visible) {
252
- box-shadow: inset 0 0 0 3px var(--focus);
253
- }
254
- .type-filters input {
255
- position: absolute;
256
- width: 1px;
257
- height: 1px;
258
- margin: 0;
259
- opacity: 0;
260
- }
261
- .sort-menu select {
262
- min-height: var(--dw-control-height);
203
+ min-height: 44px;
204
+ padding: 0.5rem 0.6rem;
263
205
  border: 1px solid var(--rule);
264
- border-radius: 0.5rem;
206
+ border-radius: 6px;
265
207
  background: var(--control);
266
208
  color: var(--ink);
267
- padding: 0.35rem 1.8rem 0.35rem 0.55rem;
268
209
  }
269
- .search-all,
270
- .dialog-close {
271
- min-height: var(--dw-control-height);
272
- border: 1px solid var(--rule);
273
- border-radius: 0.5rem;
274
- padding: 0.4rem 0.75rem;
275
- background: var(--control);
276
- color: var(--accent);
277
- white-space: nowrap;
278
- cursor: pointer;
279
- }
280
- .search-all:hover,
281
- .dialog-close:hover {
282
- background: var(--hover);
283
- }
284
- .global-search {
285
- width: min(58rem, calc(100vw - 2rem));
286
- max-height: min(85vh, 55rem);
287
- padding: 0;
288
- border: 1px solid var(--rule);
289
- border-radius: 0.875rem;
290
- background: var(--surface);
291
- color: var(--ink);
292
- box-shadow: var(--shadow);
210
+ .toolbar input[type="search"],
211
+ .toolbar select,
212
+ .toolbar > button {
213
+ width: 100%;
293
214
  }
294
- .global-search::backdrop {
295
- background: rgba(10, 12, 10, 0.62);
215
+ .toolbar .search-field,
216
+ .toolbar fieldset {
217
+ grid-column: span 2;
296
218
  }
297
- .global-search-head,
298
- .global-search-controls {
219
+ .toolbar fieldset {
299
220
  display: flex;
300
- align-items: center;
301
- gap: 0.75rem;
302
- padding: 1rem 1.25rem;
303
- }
304
- .global-search-head {
305
221
  flex-wrap: wrap;
306
- justify-content: space-between;
307
- border-bottom: 1px solid var(--soft-rule);
308
- }
309
- .global-search h2 {
222
+ gap: 0.7rem;
223
+ min-width: 0;
224
+ min-height: 44px;
310
225
  margin: 0;
311
- font-size: 1.2rem;
226
+ padding: 0.4rem 0.6rem;
227
+ border: 1px solid var(--rule);
228
+ border-radius: 6px;
229
+ font-size: 0.8rem;
312
230
  }
313
- .global-search > p {
314
- margin: 0;
315
- padding: 0.75rem 1.25rem;
231
+ .toolbar fieldset legend {
316
232
  color: var(--muted);
317
233
  }
318
- .global-search-controls .search {
319
- flex: 1;
320
- }
321
- .global-results {
322
- max-height: 50vh;
323
- overflow: auto;
324
- }
325
- .virtual-spacer {
326
- display: block;
327
- padding: 0;
328
- margin: 0;
329
- border: 0;
330
- pointer-events: none;
331
- }
332
- .toolbar-actions {
234
+ .toolbar fieldset label {
333
235
  display: flex;
334
- align-items: flex-start;
335
- gap: 0.6rem;
336
- }
337
- .scheme {
338
- display: inline-flex;
339
236
  align-items: center;
340
- gap: 0.45rem;
341
- color: var(--muted);
342
- font-size: 0.78rem;
343
- white-space: nowrap;
237
+ gap: 0.35rem;
238
+ min-height: 32px;
344
239
  }
345
- .scheme select {
346
- min-height: var(--dw-control-height);
347
- border: 1px solid var(--rule);
348
- border-radius: 0.5rem;
349
- padding: 0.35rem 1.65rem 0.35rem 0.6rem;
350
- background: var(--control);
351
- color: var(--ink);
352
- cursor: pointer;
353
- }
354
- .sort-panel {
355
- position: relative;
356
- }
357
- .sort-panel > summary {
358
- display: flex;
359
- min-height: var(--dw-control-height);
240
+ .toolbar > label:has(input[type="checkbox"]) {
241
+ flex-direction: row;
360
242
  align-items: center;
361
- list-style: none;
362
- border: 1px solid var(--rule);
363
- border-radius: 0.5rem;
364
- background: var(--control);
365
- padding: 0.45rem 0.7rem;
366
- cursor: pointer;
243
+ align-self: end;
244
+ min-height: 44px;
367
245
  }
368
- .sort-panel > summary::-webkit-details-marker {
369
- display: none;
370
- }
371
- .sort-panel[open] > summary {
372
- outline: 2px solid var(--focus);
373
- outline-offset: 1px;
374
- }
375
- .sort-menu {
376
- position: absolute;
377
- z-index: 2;
378
- right: 0;
379
- top: calc(100% + 0.4rem);
380
- display: grid;
381
- grid-template-columns: minmax(0, 1fr);
382
- width: 16rem;
383
- gap: 0.7rem;
384
- padding: 1rem;
385
- border: 1px solid var(--rule);
386
- border-radius: 0.75rem;
387
- background: var(--surface);
388
- box-shadow: var(--shadow);
246
+ .toolbar > button {
247
+ align-self: end;
389
248
  }
390
- .sort-menu select {
391
- min-width: 0;
392
- width: 100%;
393
- }
394
- .sort-menu label {
395
- display: grid;
396
- gap: 0.3rem;
397
- color: var(--muted);
398
- font-size: 0.76rem;
399
- }
400
- .sort-menu label[hidden] {
401
- display: none;
249
+ button:not(:disabled) {
250
+ cursor: pointer;
402
251
  }
403
- .sort-menu label:last-child {
252
+ .listing-summary {
404
253
  display: flex;
405
- align-items: center;
406
- color: var(--ink);
254
+ flex-wrap: wrap;
255
+ gap: 0.6rem;
256
+ padding: 0.7rem 1.4rem;
257
+ color: var(--muted);
258
+ font-size: 0.85rem;
407
259
  }
408
260
  .entry-head,
409
261
  .entry {
410
262
  display: grid;
411
- grid-template-columns: minmax(12rem, 1fr) minmax(8rem, auto) 12rem;
263
+ grid-template-columns: var(--dw-entry-columns, minmax(12rem, 1fr) minmax(8rem, auto) 12rem);
264
+ align-items: center;
412
265
  gap: 1.25rem;
266
+ padding-inline: 1.4rem;
413
267
  }
414
268
  .entry-head {
415
269
  position: sticky;
416
270
  top: var(--dw-sticky-header-height);
417
271
  z-index: 2;
418
- min-height: var(--dw-control-height);
419
- align-items: center;
420
- padding: 0 1.4rem;
421
- border-top: 1px solid var(--soft-rule);
422
- border-bottom: 1px solid var(--soft-rule);
272
+ min-height: 44px;
273
+ border-block: 1px solid var(--soft-rule);
423
274
  background: var(--paper);
424
- }
425
- .sort-heading {
426
- display: inline-flex;
427
- min-height: var(--dw-control-height);
428
- align-items: center;
429
- gap: 0.25rem;
430
- width: max-content;
431
- border: 0;
432
- background: transparent;
433
275
  color: var(--muted);
434
- padding: 0;
435
276
  font-size: 0.68rem;
436
277
  font-weight: 720;
437
278
  letter-spacing: 0.09em;
438
279
  text-transform: uppercase;
439
- cursor: pointer;
440
- }
441
- button.sort-heading {
442
- min-width: var(--dw-control-height);
443
- }
444
- .sort-heading[aria-pressed="true"] {
445
- color: var(--accent);
446
280
  }
447
- .sort-indicator {
448
- display: none;
449
- align-items: center;
450
- }
451
- .sort-heading[aria-pressed="true"] .sort-indicator {
452
- display: inline-flex;
453
- }
454
- .sort-heading[data-direction="desc"] .sort-indicator {
455
- transform: rotate(180deg);
456
- }
457
- .sort-heading .sort-indicator .icon {
458
- color: currentColor;
459
- }
460
- .entries {
281
+ .entry-list {
461
282
  list-style: none;
462
283
  margin: 0;
463
284
  padding: 0;
@@ -465,73 +286,65 @@ button.sort-heading {
465
286
  }
466
287
  .entry {
467
288
  min-height: 3.25rem;
468
- align-items: center;
469
- padding: 0.72rem 1.4rem;
289
+ padding-block: 0.2rem;
470
290
  border-bottom: 1px solid var(--soft-rule);
291
+ scroll-margin-top: calc(
292
+ var(--dw-sticky-header-height) + var(--dw-sticky-columns-height) + 0.5rem
293
+ );
471
294
  }
472
- .entry:hover,
473
295
  .entry[data-active="true"] {
474
296
  background: var(--hover);
475
297
  }
476
- .entry[hidden] {
477
- display: none;
478
- }
479
- a {
480
- color: var(--accent);
481
- text-decoration-thickness: 0.08em;
482
- text-underline-offset: 0.22em;
298
+ .entry > * {
299
+ min-width: 0;
483
300
  }
484
301
  .identity {
485
302
  display: flex;
486
- min-width: 0;
487
303
  flex-wrap: wrap;
488
304
  row-gap: 0.15rem;
489
305
  }
490
- .entry-name {
306
+ .entry .name {
491
307
  display: inline-flex;
492
308
  align-items: center;
493
309
  gap: 0.55rem;
494
- }
495
- .name {
310
+ min-height: 44px;
311
+ max-width: 100%;
312
+ color: var(--accent);
496
313
  font-weight: 650;
497
314
  overflow-wrap: anywhere;
498
- }
499
- .entry .name {
500
315
  text-decoration: none;
501
316
  }
502
- .entry .name:hover,
503
317
  .entry .name:focus-visible {
504
318
  text-decoration: underline;
505
319
  }
506
- .icon {
507
- display: inline-block;
320
+ .file-icon {
321
+ display: inline-flex;
508
322
  flex: none;
509
- vertical-align: -0.15em;
510
- color: var(--status);
323
+ width: 18px;
324
+ height: 18px;
511
325
  }
512
- .file-icon {
513
- width: 1.25rem;
514
- height: 1.25rem;
515
- object-fit: contain;
326
+ .file-icon svg {
327
+ width: 100%;
328
+ height: 100%;
516
329
  }
517
330
  .file-icon--dark,
518
331
  :root[data-theme="dark"] .file-icon--light {
519
332
  display: none;
520
333
  }
521
334
  :root[data-theme="dark"] .file-icon--dark {
522
- display: inline-block;
335
+ display: inline-flex;
523
336
  }
524
337
  @media (prefers-color-scheme: dark) {
525
338
  :root[data-theme="system"] .file-icon--light {
526
339
  display: none;
527
340
  }
528
341
  :root[data-theme="system"] .file-icon--dark {
529
- display: inline-block;
342
+ display: inline-flex;
530
343
  }
531
344
  }
532
345
  .target {
533
346
  flex-basis: 100%;
534
- padding-left: 1.8rem;
347
+ padding-inline-start: 1.8rem;
535
348
  color: var(--muted);
536
349
  font:
537
350
  500 0.8rem/1.6 ui-monospace,
@@ -539,216 +352,94 @@ a {
539
352
  monospace;
540
353
  overflow-wrap: anywhere;
541
354
  }
542
- .target-status {
543
- font-family: ui-sans-serif, system-ui, sans-serif;
544
- font-weight: 650;
545
- }
546
- .target-unavailable {
547
- text-decoration: line-through;
548
- text-decoration-thickness: 1px;
549
- }
550
- .unavailable {
551
- color: var(--muted);
552
- text-decoration: line-through;
553
- text-decoration-thickness: 1px;
554
- }
555
355
  .kind,
556
356
  time {
557
357
  color: var(--muted);
558
358
  font-size: 0.82rem;
559
359
  }
560
360
  .timestamp-button {
561
- border: 0;
361
+ width: fit-content;
362
+ min-height: 44px;
562
363
  padding: 0;
364
+ border: 0;
563
365
  background: transparent;
564
- text-align: left;
565
- cursor: pointer;
566
- min-height: 2.75rem;
567
- width: fit-content;
568
- font: inherit;
569
- }
570
- .timestamp-button:hover time {
571
- text-decoration: underline;
572
- text-underline-offset: 0.2em;
573
- }
574
- .timestamp-zone {
575
- font-weight: 500;
576
- letter-spacing: 0;
577
- text-transform: none;
578
- }
579
- .timestamp-details {
580
- position: fixed;
581
- z-index: 10;
582
- width: min(26rem, calc(100vw - 1rem));
583
- max-height: calc(100vh - 1rem);
584
- overflow: auto;
585
- padding: 1rem;
586
- border: 1px solid var(--rule);
587
- border-radius: 0.75rem;
588
- background: var(--paper);
589
- color: var(--ink);
590
- font-size: 0.85rem;
591
- }
592
- .timestamp-details-head {
593
- display: flex;
594
- justify-content: space-between;
595
- align-items: center;
596
- gap: 1rem;
597
- }
598
- .timestamp-details dl {
599
- margin: 0.75rem 0 0;
600
- }
601
- .timestamp-details dt {
602
- margin-top: 0.75rem;
603
366
  color: var(--muted);
367
+ text-align: start;
604
368
  }
605
- .timestamp-details dd {
606
- margin: 0.25rem 0 0;
369
+ .entry-data {
607
370
  overflow-wrap: anywhere;
608
- font-variant-numeric: tabular-nums;
609
371
  }
610
- .size-stack {
611
- display: grid;
612
- gap: 0.1rem;
613
- font-variant-numeric: tabular-nums;
614
- white-space: nowrap;
615
- }
616
- .size-stack b {
617
- color: var(--ink);
618
- font-weight: 650;
619
- }
620
- a:focus-visible,
621
- button:focus-visible,
622
- select:focus-visible,
623
- summary:focus-visible {
624
- outline: 3px solid var(--focus);
625
- outline-offset: 3px;
626
- }
627
- .empty {
628
- margin: 0;
629
- padding: 2rem 1.4rem;
630
- color: var(--muted);
631
- border-bottom: 1px solid var(--soft-rule);
632
- }
633
- .folder-loading {
634
- margin: 0;
635
- padding: 2rem 1.4rem;
636
- color: var(--muted);
637
- }
638
- ::selection {
639
- background: var(--accent);
640
- color: var(--surface);
641
- }
642
- .brand-footer { padding: 0.7rem 1.4rem; overflow-wrap: anywhere; }
643
- footer {
644
- display: flex;
645
- align-items: center;
646
- justify-content: space-between;
647
- gap: 1rem;
648
- padding: 0.7rem 1.4rem;
372
+ .keyboard-help,
373
+ .brand-footer,
374
+ main > nav {
375
+ padding-inline: 1.4rem;
376
+ font-size: 0.8rem;
649
377
  color: var(--muted);
650
- font-size: 0.78rem;
651
- }
652
- .project-meta,
653
- .shortcuts {
654
- margin: 0;
655
- }
656
- .project-meta {
657
- line-height: 1.9;
658
- }
659
- .meta-item,
660
- .project-credit {
661
- white-space: nowrap;
662
- }
663
- .shortcuts {
664
- text-align: right;
665
378
  }
666
- kbd {
667
- display: inline-block;
668
- min-width: 1.6em;
669
- margin: 0 0.12rem;
670
- padding: 0.02rem 0.3rem;
379
+ dialog {
380
+ width: min(42rem, 90vw);
381
+ max-height: 80vh;
382
+ overflow: auto;
383
+ padding: 1.5rem;
671
384
  border: 1px solid var(--rule);
672
- border-radius: 0.2rem;
673
- background: var(--control);
674
- text-align: center;
675
- font: inherit;
385
+ border-radius: 12px;
386
+ background: var(--surface);
387
+ color: var(--ink);
676
388
  }
677
- .visually-hidden {
678
- position: absolute !important;
679
- width: 1px;
680
- height: 1px;
681
- padding: 0;
682
- margin: -1px;
683
- overflow: hidden;
684
- clip: rect(0, 0, 0, 0);
685
- white-space: nowrap;
686
- border: 0;
389
+ dialog::backdrop {
390
+ background: #0006;
687
391
  }
688
- .sort-heading:not(button) {
689
- cursor: default;
392
+ dialog input {
393
+ width: 100%;
690
394
  }
691
- @media (max-width: 60rem) {
692
- .toolbar {
693
- align-items: stretch;
694
- flex-direction: column;
695
- }
696
- .search-cluster {
697
- align-items: stretch;
698
- flex-wrap: wrap;
699
- }
700
- .search {
701
- width: 100%;
395
+ dialog li,
396
+ dialog p {
397
+ overflow-wrap: anywhere;
398
+ }
399
+ @media (hover: hover) {
400
+ button:not(:disabled):hover,
401
+ [data-dirwell-actions] a:hover {
402
+ background: var(--hover);
702
403
  }
703
- .toolbar-actions {
704
- width: 100%;
705
- justify-content: space-between;
404
+ .entry:hover {
405
+ background: var(--hover);
706
406
  }
707
- .sort-menu {
708
- right: auto;
709
- left: 0;
407
+ .entry .name:hover,
408
+ .timestamp-button:not(:disabled):hover time {
409
+ text-decoration: underline;
710
410
  }
711
411
  }
712
412
  @media (max-width: 42rem) {
713
- :root {
714
- --dw-sticky-columns-height: 0px;
715
- }
716
413
  body {
717
414
  padding: 0;
718
415
  background: var(--surface);
719
416
  }
720
417
  main {
418
+ --dw-sticky-columns-height: 0px;
721
419
  min-height: 100vh;
722
420
  border: 0;
723
421
  border-radius: 0;
724
422
  box-shadow: none;
725
423
  }
726
- main > header {
424
+ main > .page-header {
425
+ display: block;
426
+ padding: 0.3rem 1rem;
727
427
  border-radius: 0;
728
428
  }
729
- .chrome {
730
- padding-inline: 1rem;
731
- }
732
- .breadcrumbs {
733
- flex: 1 1 auto;
734
- }
735
- .summary {
736
- margin-left: auto;
737
- }
738
429
  .toolbar {
430
+ grid-template-columns: repeat(2, minmax(0, 1fr));
739
431
  padding: 1rem;
432
+ gap: 0.6rem;
740
433
  }
741
- .toolbar-actions {
742
- flex-wrap: wrap;
743
- }
744
- .sort-menu {
745
- width: min(16rem, calc(100vw - 2rem));
434
+ .toolbar .search-field,
435
+ .toolbar fieldset {
436
+ grid-column: 1 / -1;
746
437
  }
747
- .global-search-controls {
748
- flex-wrap: wrap;
749
- }
750
- .global-search-controls .search {
751
- flex-basis: 100%;
438
+ .listing-summary,
439
+ .keyboard-help,
440
+ .brand-footer,
441
+ main > nav {
442
+ padding-inline: 1rem;
752
443
  }
753
444
  .entry-head {
754
445
  display: none;
@@ -756,66 +447,24 @@ kbd {
756
447
  .entry {
757
448
  grid-template-columns: minmax(0, 1fr) auto;
758
449
  gap: 0.25rem 1rem;
759
- padding: 0.78rem 1rem;
760
- }
761
- .entry .name {
762
- display: inline-flex;
763
- min-height: 2.75rem;
764
- align-items: center;
765
- }
766
- .entry time,
767
- .entry .timestamp-button {
768
- grid-column: 1/-1;
769
- }
770
- .kind {
771
- text-align: right;
772
- }
773
- footer {
774
- display: flex;
775
- flex-direction: column-reverse;
776
- align-items: flex-start;
777
- gap: 0.25rem;
778
450
  padding: 0.3rem 1rem;
779
451
  }
780
- .project-meta a {
781
- display: inline-flex;
782
- min-height: 2.75rem;
783
- align-items: center;
452
+ .entry .identity {
453
+ grid-column: 1 / -1;
784
454
  }
785
- .shortcuts {
786
- margin: 0;
787
- text-align: left;
455
+ .entry > .timestamp-button {
456
+ grid-column: 2;
457
+ justify-self: end;
458
+ max-width: 100%;
788
459
  }
789
- }
790
- @media (max-width: 19.5rem) {
791
- .search-cluster {
792
- display: grid;
793
- grid-template-columns: minmax(0, 1fr);
460
+ .entry time {
461
+ overflow-wrap: anywhere;
794
462
  }
795
- }
796
- @media (pointer: coarse) {
797
- .entry .name,
798
- .project-meta a {
799
- display: inline-flex;
800
- min-height: 2.75rem;
801
- align-items: center;
463
+ .entry[data-custom-columns="true"] {
464
+ grid-template-columns: minmax(0, 1fr);
802
465
  }
803
- }
804
- @media (prefers-reduced-motion: reduce) {
805
- * {
806
- scroll-behavior: auto !important;
466
+ .entry[data-custom-columns="true"] > .timestamp-button {
467
+ grid-column: auto;
468
+ justify-self: start;
807
469
  }
808
470
  }
809
-
810
- .page-header{width:min(72rem,100%);margin:0 auto 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.4rem}
811
- .wordmark{display:flex;align-items:baseline;gap:1rem}.wordmark h1{font-size:1.2rem;margin:0}.wordmark span{font-size:.8rem;color:var(--muted)}
812
- .toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.8rem}
813
- .toolbar>label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted);min-width:0}
814
- .toolbar input[type=search],.toolbar select,.toolbar>button{min-height:44px;border:1px solid var(--rule);border-radius:6px;background:var(--control);color:var(--ink);padding:.5rem .6rem;min-width:0;width:100%}
815
- .toolbar .search-field{grid-column:span 2}.toolbar fieldset{grid-column:span 2;border:1px solid var(--rule);border-radius:6px;margin:0;min-height:44px;padding:.4rem .6rem;display:flex;flex-wrap:wrap;gap:.7rem;font-size:.8rem}.toolbar fieldset legend{color:var(--muted)}
816
- .toolbar fieldset label{display:flex;align-items:center;gap:.35rem;min-height:32px}.toolbar>label:has(input[type=checkbox]){flex-direction:row;align-items:center;align-self:end;min-height:44px}
817
- .toolbar button{align-self:end;cursor:pointer}.listing-summary{padding:.7rem 1.4rem;color:var(--muted);font-size:.85rem;display:flex;gap:.6rem;flex-wrap:wrap}
818
- .entry-list{padding-inline:1.4rem}.entry{min-height:76px;box-sizing:border-box}.entry .identity{min-width:0}.file-icon{display:inline-flex;width:18px;height:18px;vertical-align:middle;margin-right:.35rem}.file-icon svg{width:100%;height:100%}
819
- .keyboard-help{padding-inline:1.4rem;font-size:.8rem;color:var(--muted)}
820
- dialog{max-width:min(42rem,90vw);max-height:80vh;border:1px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink);padding:1.5rem}dialog::backdrop{background:#0006}
821
- @media(max-width:42rem){.page-header{padding:1rem;display:block}.wordmark{flex-wrap:wrap;gap:.4rem}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;gap:.6rem}.toolbar .search-field,.toolbar fieldset{grid-column:1/-1}.entry-list{padding-inline:1rem}.listing-summary{padding-inline:1rem}}