picocrank 1.25.0 → 1.25.2

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.
@@ -181,7 +181,7 @@ function handleLinkClick(link) {
181
181
  gap: 0.75rem;
182
182
  padding: 1.25rem 0.75rem;
183
183
  background: transparent;
184
- border: 1px solid var(--border-color, #e1e5e9);
184
+ border: 1px solid var(--nav-grid-border);
185
185
  border-radius: 8px;
186
186
  cursor: pointer;
187
187
  transition: all 0.2s ease;
@@ -195,37 +195,38 @@ function handleLinkClick(link) {
195
195
  }
196
196
 
197
197
  .nav-button:hover {
198
- border-color: var(--primary-color, #007bff);
198
+ border-color: var(--nav-grid-accent-fg);
199
+ background: var(--nav-grid-hover-bg);
199
200
  transform: translateY(-2px);
200
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
201
+ box-shadow: 0 4px 8px var(--nav-grid-hover-shadow);
201
202
  }
202
203
 
203
204
  .nav-button:active {
204
205
  transform: translateY(0);
205
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
206
+ box-shadow: 0 2px 4px var(--nav-grid-shadow);
206
207
  }
207
208
 
208
209
  .nav-button.active {
209
- background: var(--primary-color, #007bff);
210
- border-color: var(--primary-color, #007bff);
211
- color: #fff;
210
+ background: var(--nav-grid-accent-bg);
211
+ border-color: var(--nav-grid-accent-bg);
212
+ color: var(--nav-grid-active-fg);
212
213
  }
213
214
 
214
215
  .nav-button.active .nav-button-icon {
215
- color: #fff;
216
+ color: var(--nav-grid-active-fg);
216
217
  }
217
218
 
218
219
  .nav-button-icon {
219
220
  display: flex;
220
221
  align-items: start;
221
222
  justify-content: start;
222
- color: var(--primary-color, #007bff);
223
+ color: var(--nav-grid-accent-fg);
223
224
  transition: color 0.2s ease;
224
225
  flex-shrink: 0;
225
226
  }
226
227
 
227
228
  .nav-button.active .nav-button-icon {
228
- color: #fff;
229
+ color: var(--nav-grid-active-fg);
229
230
  }
230
231
 
231
232
  .nav-button:disabled,
@@ -236,7 +237,7 @@ function handleLinkClick(link) {
236
237
 
237
238
  .nav-button:disabled:hover,
238
239
  .nav-button.disabled:hover {
239
- border-color: var(--border-color, #e1e5e9);
240
+ border-color: var(--nav-grid-border);
240
241
  transform: none;
241
242
  box-shadow: none;
242
243
  background: transparent;
@@ -244,7 +245,7 @@ function handleLinkClick(link) {
244
245
 
245
246
  .nav-button:disabled .nav-button-icon,
246
247
  .nav-button.disabled .nav-button-icon {
247
- color: var(--text-muted, #999);
248
+ color: var(--nav-grid-disabled-fg);
248
249
  }
249
250
 
250
251
  .nav-button-indicator {
@@ -254,8 +255,8 @@ function handleLinkClick(link) {
254
255
  width: 0.625rem;
255
256
  height: 0.625rem;
256
257
  border-radius: 50%;
257
- background: var(--indicator-color, #dc3545);
258
- box-shadow: 0 0 0 2px var(--background-color, #fff);
258
+ background: var(--nav-grid-indicator-bg);
259
+ box-shadow: 0 0 0 2px var(--nav-grid-ring-bg);
259
260
  flex-shrink: 0;
260
261
  }
261
262
 
@@ -266,13 +267,13 @@ function handleLinkClick(link) {
266
267
  min-width: 1.25rem;
267
268
  padding: 0.1rem 0.4rem;
268
269
  border-radius: 999px;
269
- background: var(--indicator-color, #dc3545);
270
- color: #fff;
270
+ background: var(--nav-grid-indicator-bg);
271
+ color: var(--nav-grid-indicator-fg);
271
272
  font-size: 0.75em;
272
273
  font-weight: 600;
273
274
  line-height: 1.2;
274
275
  text-align: center;
275
- box-shadow: 0 0 0 2px var(--background-color, #fff);
276
+ box-shadow: 0 0 0 2px var(--nav-grid-ring-bg);
276
277
  flex-shrink: 0;
277
278
  }
278
279
 
@@ -288,7 +289,7 @@ function handleLinkClick(link) {
288
289
 
289
290
  .nav-button.active .nav-button-indicator,
290
291
  .nav-button.active .nav-button-count {
291
- box-shadow: 0 0 0 2px var(--primary-color, #007bff);
292
+ box-shadow: 0 0 0 2px var(--nav-grid-accent-bg);
292
293
  }
293
294
 
294
295
  .nav-button-label {
@@ -300,50 +301,25 @@ function handleLinkClick(link) {
300
301
  }
301
302
 
302
303
  .nav-button.active .nav-button-label {
303
- color: #fff;
304
+ color: var(--nav-grid-active-fg);
304
305
  }
305
306
 
306
307
  .nav-button-description {
307
308
  font-weight: normal;
308
- color: var(--text-muted, #666);
309
+ color: var(--nav-grid-muted-fg);
309
310
  word-break: break-word;
310
311
  text-align: left;
311
312
  line-height: 1.5;
312
313
  }
313
314
 
314
315
  .nav-button.active .nav-button-description {
315
- color: rgba(255, 255, 255, 0.9);
316
+ color: var(--nav-grid-active-fg);
316
317
  }
317
318
 
318
319
  .no-links {
319
320
  padding: 2rem;
320
321
  text-align: center;
321
- color: var(--text-muted, #666);
322
- }
323
-
324
- /* Dark theme support */
325
- html[data-theme="dark"] {
326
- .nav-button {
327
- background: transparent;
328
- }
329
-
330
- .nav-button:hover {
331
- background: var(--hover-background-color, rgba(96, 165, 250, 0.1));
332
- border-color: var(--primary-color, #60a5fa);
333
- }
334
-
335
- .nav-button.active {
336
- background: var(--primary-color, #60a5fa);
337
- border-color: var(--primary-color, #60a5fa);
338
- }
339
-
340
- .nav-button-description {
341
- color: var(--text-muted, #999);
342
- }
343
-
344
- .nav-button-icon {
345
- color: var(--primary-color, #60a5fa);
346
- }
322
+ color: var(--nav-grid-muted-fg);
347
323
  }
348
324
 
349
325
  @media (max-width: 768px) {
@@ -547,14 +547,14 @@ defineExpose({
547
547
  width: min(32rem, calc(100vw - 2rem));
548
548
  max-width: 32rem;
549
549
  padding: 0;
550
- border: 1px solid var(--border-color, #d7d7d7);
551
- background: var(--standout-bg-color, #fff);
550
+ border: 1px solid var(--quick-search-border);
551
+ background: var(--quick-search-dialog-bg);
552
552
  /* Dialog is rendered under <header>, so do not inherit header's white text */
553
- color: var(--text-color, #334155);
553
+ color: var(--quick-search-dialog-fg);
554
554
  }
555
555
 
556
556
  .quick-search-dialog::backdrop {
557
- background-color: rgba(0, 0, 0, 0.5);
557
+ background-color: var(--quick-search-backdrop);
558
558
  }
559
559
 
560
560
  .dialog-body {
@@ -573,23 +573,22 @@ defineExpose({
573
573
  .search-input {
574
574
  width: 100%;
575
575
  padding: 0.75em 2.25em 0.75em 0.75em;
576
- border: 1px solid var(--border-color, #d7d7d7);
576
+ border: 1px solid var(--quick-search-border);
577
577
  border-radius: 0.4em;
578
578
  font-size: 1rem;
579
- outline: none;
580
- background-color: #fff;
581
- color: var(--text-color, #334155);
579
+ background-color: var(--quick-search-input-bg);
580
+ color: var(--quick-search-input-fg);
582
581
  }
583
582
 
584
- .search-input:focus {
585
- border-color: #3b82f6;
586
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
583
+ .search-input:focus-visible {
584
+ outline: 2px solid var(--quick-search-focus-outline);
585
+ outline-offset: 2px;
587
586
  }
588
587
 
589
588
  .search-icon {
590
589
  position: absolute;
591
590
  right: 0.75rem;
592
- color: #6b7280;
591
+ color: var(--quick-search-muted-fg);
593
592
  pointer-events: none;
594
593
  display: inline-flex;
595
594
  }
@@ -606,12 +605,13 @@ defineExpose({
606
605
 
607
606
  .search-status {
608
607
  margin: 0;
608
+ color: var(--quick-search-muted-fg);
609
609
  }
610
610
 
611
611
  .search-results {
612
612
  max-height: min(20rem, 50vh);
613
613
  overflow-y: auto;
614
- border: 1px solid var(--border-color, #e1e5e9);
614
+ border: 1px solid var(--quick-search-border);
615
615
  border-radius: 0.4em;
616
616
  }
617
617
 
@@ -620,7 +620,7 @@ defineExpose({
620
620
  align-items: center;
621
621
  padding: 0.75rem 1rem;
622
622
  cursor: pointer;
623
- border-bottom: 1px solid var(--border-color, #f3f4f6);
623
+ border-bottom: 1px solid var(--quick-search-border);
624
624
  }
625
625
 
626
626
  .search-result-item:last-child {
@@ -629,8 +629,8 @@ defineExpose({
629
629
 
630
630
  .search-result-item:hover,
631
631
  .search-result-item.active {
632
- background-color: var(--hover-background-color);
633
- color: var(--hover-text-color);
632
+ background-color: var(--quick-search-hover-bg);
633
+ color: var(--quick-search-hover-fg);
634
634
  }
635
635
 
636
636
  .result-content {
@@ -645,20 +645,20 @@ defineExpose({
645
645
 
646
646
  .result-description {
647
647
  font-size: 0.875rem;
648
- color: #6b7280;
648
+ color: var(--quick-search-muted-fg);
649
649
  margin-bottom: 0.25rem;
650
650
  }
651
651
 
652
652
  .result-category {
653
653
  font-size: 0.75rem;
654
- color: #9ca3af;
654
+ color: var(--quick-search-subtle-fg);
655
655
  text-transform: uppercase;
656
656
  letter-spacing: 0.05em;
657
657
  }
658
658
 
659
659
  .result-icon {
660
660
  margin-right: 0.75rem;
661
- color: #6b7280;
661
+ color: var(--quick-search-muted-fg);
662
662
  flex-shrink: 0;
663
663
  display: inline-flex;
664
664
  }
@@ -668,7 +668,7 @@ defineExpose({
668
668
  flex-direction: column;
669
669
  align-items: center;
670
670
  padding: 1.5rem 1rem;
671
- color: #6b7280;
671
+ color: var(--quick-search-muted-fg);
672
672
  text-align: center;
673
673
  }
674
674
 
@@ -682,35 +682,9 @@ defineExpose({
682
682
  }
683
683
 
684
684
  mark {
685
- background-color: var(--karma-important, #fef3c7);
685
+ background-color: var(--quick-search-highlight-bg);
686
686
  color: inherit;
687
687
  padding: 0;
688
688
  border-radius: 2px;
689
689
  }
690
-
691
- html[data-theme="dark"] {
692
- .quick-search-dialog {
693
- color: #f9fafb;
694
- }
695
-
696
- .search-input {
697
- background-color: #1f2937;
698
- border-color: #374151;
699
- color: #f9fafb;
700
- }
701
-
702
- .search-icon,
703
- .result-description,
704
- .result-category,
705
- .result-icon,
706
- .no-results-content,
707
- .search-status {
708
- color: #9ca3af;
709
- }
710
-
711
- .search-input:focus {
712
- border-color: #60a5fa;
713
- box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
714
- }
715
- }
716
690
  </style>
@@ -147,7 +147,7 @@ function select(option) {
147
147
  }
148
148
 
149
149
  .radio-group label:has(input:focus-visible) {
150
- outline: 2px solid black;
150
+ outline: 2px solid var(--radio-group-focus-outline);
151
151
  outline-offset: 2px;
152
152
  z-index: 2;
153
153
  }
@@ -155,8 +155,8 @@ function select(option) {
155
155
  /* Beat Femtocrank's gray .radio-group focus/hover when the option is selected. */
156
156
  .radio-group label:has(input:checked):hover,
157
157
  .radio-group label:has(input:checked:focus-visible) {
158
- background-color: #3a6f3a;
159
- color: white;
158
+ background-color: var(--radio-group-checked-hover-bg);
159
+ color: var(--radio-group-checked-hover-fg);
160
160
  }
161
161
 
162
162
  .radio-group.disabled {
@@ -185,7 +185,7 @@ function select(option) {
185
185
 
186
186
  .radio-group label.disabled:has(input:focus-visible),
187
187
  .radio-group.disabled label:has(input:focus-visible) {
188
- outline: 2px solid black;
188
+ outline: 2px solid var(--radio-group-focus-outline);
189
189
  outline-offset: 2px;
190
190
  }
191
191
  </style>
@@ -414,7 +414,7 @@ button {
414
414
  text-align: left;
415
415
  font-weight: 600;
416
416
  font-size: 1em;
417
- color: inherit;
417
+ color: var(--text-color);
418
418
  background: transparent;
419
419
  border-radius: 0;
420
420
  cursor: pointer;
@@ -422,7 +422,7 @@ button {
422
422
 
423
423
  .nav-section-header:hover,
424
424
  .nav-section-header:focus-visible {
425
- background-color: var(--hover-background-color);
425
+ background-color: var(--sidebar-hover-bg-color);
426
426
  color: var(--hover-text-color);
427
427
  }
428
428
 
@@ -437,14 +437,8 @@ button {
437
437
  text-align: center;
438
438
  }
439
439
 
440
- html[data-theme="dark"] {
441
- .nav-section-header {
442
- color: #f8f9fa;
443
- }
444
-
445
- .supplemental-links {
446
- border-top: 1px solid #444;
447
- }
440
+ .supplemental-links {
441
+ border-top: 1px solid var(--border-color);
448
442
  }
449
443
 
450
444
  @media (max-width: 768px) {
@@ -105,6 +105,7 @@ a {
105
105
  padding: .75em;
106
106
  border-radius: 0;
107
107
  position: relative;
108
+ color: var(--text-color);
108
109
  }
109
110
 
110
111
  a.active {
@@ -145,23 +146,13 @@ li.disabled a {
145
146
 
146
147
  .separator {
147
148
  height: 1px;
148
- background-color: #eee;
149
+ background-color: var(--border-color);
149
150
  margin: 0.5rem 0.75rem;
150
151
  }
151
152
 
152
- html[data-theme="dark"] {
153
- a {
154
- color: #f8f9fa;
155
- }
156
-
157
- a:hover,
158
- a:focus-visible {
159
- background-color: var(--hover-background-color);
160
- color: var(--hover-text-color, #fff);
161
- }
162
-
163
- .separator {
164
- background-color: #444;
165
- }
153
+ a:hover,
154
+ a:focus-visible {
155
+ background-color: var(--sidebar-hover-bg-color);
156
+ color: var(--hover-text-color);
166
157
  }
167
158
  </style>
@@ -1361,7 +1361,7 @@ onBeforeUnmount(() => {
1361
1361
  <style scoped>
1362
1362
  table thead th.sortable:hover {
1363
1363
  cursor: pointer;
1364
- color: #0366d6;
1364
+ color: var(--table-header-active-fg);
1365
1365
  }
1366
1366
 
1367
1367
  table thead th.filterable {
@@ -1369,12 +1369,12 @@ table thead th.filterable {
1369
1369
  }
1370
1370
 
1371
1371
  table thead th.filtered {
1372
- color: #0366d6;
1372
+ color: var(--table-header-active-fg);
1373
1373
  }
1374
1374
 
1375
1375
  table thead th.menu-open {
1376
- background-color: var(--hover-background-color, rgba(3, 102, 214, 0.08));
1377
- color: var(--text-color, inherit);
1376
+ background-color: var(--table-header-active-bg);
1377
+ color: var(--table-header-fg);
1378
1378
  }
1379
1379
 
1380
1380
  table.loading tbody {
@@ -1414,7 +1414,7 @@ tbody tr.row-clickable {
1414
1414
  min-height: 6rem;
1415
1415
  padding: 2rem 1rem;
1416
1416
  text-align: center;
1417
- color: var(--text-muted, #666);
1417
+ color: var(--table-muted-fg);
1418
1418
  }
1419
1419
 
1420
1420
  .table-empty-state.loading {
@@ -1436,7 +1436,7 @@ tbody tr.row-clickable {
1436
1436
  gap: 0.75rem;
1437
1437
  padding: 2rem 1rem;
1438
1438
  text-align: center;
1439
- color: var(--text-muted, #666);
1439
+ color: var(--table-muted-fg);
1440
1440
  }
1441
1441
 
1442
1442
  .table-filtered-empty-message {
@@ -1473,7 +1473,7 @@ td.table-column-options-cell {
1473
1473
 
1474
1474
  .table-layout-label {
1475
1475
  font-size: 0.85rem;
1476
- color: var(--text-muted, #666);
1476
+ color: var(--table-muted-fg);
1477
1477
  max-width: 10rem;
1478
1478
  overflow: hidden;
1479
1479
  text-overflow: ellipsis;
@@ -497,10 +497,10 @@ onBeforeUnmount(() => {
497
497
  max-width: min(24rem, calc(100vw - 1rem));
498
498
  max-height: calc(100vh - 1rem);
499
499
  padding: 0.75rem;
500
- border: 1px solid var(--border-color, #e1e5e9);
500
+ border: 1px solid var(--table-popover-border);
501
501
  border-radius: 0.4rem;
502
- background: var(--background-color, #fff);
503
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
502
+ background: var(--table-popover-bg);
503
+ box-shadow: var(--table-popover-shadow);
504
504
  overflow: hidden;
505
505
  }
506
506
 
@@ -552,7 +552,7 @@ onBeforeUnmount(() => {
552
552
 
553
553
  .field-label {
554
554
  font-size: 0.85rem;
555
- color: var(--text-muted, #666);
555
+ color: var(--table-popover-muted-fg);
556
556
  }
557
557
 
558
558
  .popover-actions {
@@ -563,21 +563,21 @@ onBeforeUnmount(() => {
563
563
  gap: 0.5rem;
564
564
  margin-top: 0.75rem;
565
565
  padding-top: 0.75rem;
566
- border-top: 1px solid var(--border-color, #e1e5e9);
566
+ border-top: 1px solid var(--table-popover-divider);
567
567
  }
568
568
 
569
569
  .saved-filters {
570
570
  flex-shrink: 0;
571
571
  margin-top: 0.75rem;
572
572
  padding-top: 0.75rem;
573
- border-top: 1px solid var(--border-color, #e1e5e9);
573
+ border-top: 1px solid var(--table-popover-divider);
574
574
  min-height: 0;
575
575
  }
576
576
 
577
577
  .saved-filters-heading {
578
578
  margin: 0 0 0.5rem;
579
579
  font-size: 0.85rem;
580
- color: var(--text-muted, #666);
580
+ color: var(--table-popover-muted-fg);
581
581
  }
582
582
 
583
583
  .saved-filters-list {
@@ -627,14 +627,4 @@ onBeforeUnmount(() => {
627
627
  align-items: center;
628
628
  justify-content: center;
629
629
  }
630
-
631
- html[data-theme="dark"] .table-column-filter-popover {
632
- background: var(--background-color, #1e1e1e);
633
- border-color: var(--border-color, #444);
634
- }
635
-
636
- html[data-theme="dark"] .popover-actions,
637
- html[data-theme="dark"] .saved-filters {
638
- border-top-color: var(--border-color, #444);
639
- }
640
630
  </style>
@@ -839,10 +839,10 @@ onBeforeUnmount(() => {
839
839
  min-width: min(30rem, calc(100vw - 1rem));
840
840
  max-height: calc(100vh - 1rem);
841
841
  padding: 0.75rem;
842
- border: 1px solid var(--border-color, #e1e5e9);
842
+ border: 1px solid var(--table-popover-border);
843
843
  border-radius: 0.4rem;
844
- background: var(--background-color, #fff);
845
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
844
+ background: var(--table-popover-bg);
845
+ box-shadow: var(--table-popover-shadow);
846
846
  overflow: hidden;
847
847
  box-sizing: border-box;
848
848
  }
@@ -923,19 +923,19 @@ onBeforeUnmount(() => {
923
923
 
924
924
  .field-label {
925
925
  font-size: 0.85rem;
926
- color: var(--text-muted, #666);
926
+ color: var(--table-popover-muted-fg);
927
927
  }
928
928
 
929
929
  .column-options-tab-error {
930
930
  margin: 0;
931
931
  font-size: 0.85rem;
932
- color: var(--bad-color, #c62828);
932
+ color: var(--table-popover-error-fg);
933
933
  }
934
934
 
935
935
  .column-options-tab-success {
936
936
  margin: 0;
937
937
  font-size: 0.85rem;
938
- color: var(--good-color, #2e7d32);
938
+ color: var(--table-popover-success-fg);
939
939
  }
940
940
 
941
941
  .column-options-load-panel {
@@ -948,7 +948,7 @@ onBeforeUnmount(() => {
948
948
  display: flex;
949
949
  justify-content: center;
950
950
  padding-top: 0.25rem;
951
- border-top: 1px solid var(--border-color, #e1e5e9);
951
+ border-top: 1px solid var(--table-popover-divider);
952
952
  }
953
953
 
954
954
  .column-options-preset-list {
@@ -968,7 +968,7 @@ onBeforeUnmount(() => {
968
968
  gap: 0.5rem;
969
969
  align-items: start;
970
970
  padding-bottom: 0.65rem;
971
- border-bottom: 1px solid var(--border-color, #e1e5e9);
971
+ border-bottom: 1px solid var(--table-popover-divider);
972
972
  }
973
973
 
974
974
  .column-options-preset-item:last-child {
@@ -1014,9 +1014,9 @@ onBeforeUnmount(() => {
1014
1014
  align-items: center;
1015
1015
  gap: 0.5rem;
1016
1016
  padding: 0.25rem 0.45rem;
1017
- border: 1px solid var(--border-color, #e1e5e9);
1017
+ border: 1px solid var(--table-popover-border);
1018
1018
  border-radius: 0.35rem;
1019
- background: var(--standout-bg-color, #f8f9fa);
1019
+ background: var(--table-popover-item-bg);
1020
1020
  }
1021
1021
 
1022
1022
  .column-options-item.is-dragging {
@@ -1024,7 +1024,7 @@ onBeforeUnmount(() => {
1024
1024
  }
1025
1025
 
1026
1026
  .column-options-item.is-drag-over {
1027
- border-color: var(--text-color, #334155);
1027
+ border-color: var(--table-popover-item-drag-border);
1028
1028
  }
1029
1029
 
1030
1030
  .column-options-item.is-fixed {
@@ -1034,7 +1034,7 @@ onBeforeUnmount(() => {
1034
1034
  .column-options-drag-handle {
1035
1035
  display: inline-flex;
1036
1036
  align-items: center;
1037
- color: var(--text-color, inherit);
1037
+ color: var(--table-popover-fg, inherit);
1038
1038
  opacity: 0.65;
1039
1039
  cursor: grab;
1040
1040
  }
@@ -1097,20 +1097,6 @@ onBeforeUnmount(() => {
1097
1097
  gap: 0.5rem;
1098
1098
  margin-top: 0.75rem;
1099
1099
  padding-top: 0.75rem;
1100
- border-top: 1px solid var(--border-color, #e1e5e9);
1101
- }
1102
-
1103
- html[data-theme="dark"] .table-column-options-popover {
1104
- background: var(--background-color, #1e1e1e);
1105
- border-color: var(--border-color, #444);
1106
- }
1107
-
1108
- html[data-theme="dark"] .column-options-item {
1109
- background: var(--standout-bg-color, #1f1f1f);
1110
- border-color: var(--border-color, #444);
1111
- }
1112
-
1113
- html[data-theme="dark"] .popover-actions {
1114
- border-top-color: var(--border-color, #444);
1100
+ border-top: 1px solid var(--table-popover-divider);
1115
1101
  }
1116
1102
  </style>