@siyahi/ui 0.1.9-next.33 → 0.1.9-next.35
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/DESIGN.md +21 -7
- package/README.md +5 -5
- package/agents/examples/app-sidebar.tsx +0 -2
- package/agents/examples/chart-panels-three.tsx +51 -0
- package/agents/examples/context-menu.tsx +14 -4
- package/agents/examples/overview-dashboard.tsx +2 -2
- package/agents/examples/{page-hero.tsx → page-header.tsx} +4 -4
- package/agents/examples/select.tsx +2 -1
- package/agents/manifest.json +16 -5
- package/dist/components/registry/charts/area-chart-card.js +1 -0
- package/dist/components/registry/charts/bar-chart-card.js +0 -2
- package/dist/components/registry/heatmap/calendar-heatmap.js +1 -1
- package/dist/components/registry/heatmap/status-heatmap.js +1 -1
- package/dist/components/registry/heatmap/weekday-heatmap.js +1 -1
- package/dist/components/registry/niko-table/core/data-table-error-boundary.js +1 -1
- package/dist/components/registry/niko-table/core/data-table-structure.js +6 -0
- package/dist/components/registry/niko-table/core/data-table.js +1 -1
- package/dist/components/registry/niko-table/filters/table-column-sort.js +2 -2
- package/dist/components/registry/niko-table/filters/table-faceted-filter.js +3 -3
- package/dist/components/registry/niko-table/lib/column-resize-handle.js +1 -1
- package/dist/components/registry/sidebar-07/nav-user.js +16 -19
- package/dist/components/siyahi/{page-hero.d.ts → page-header.d.ts} +3 -3
- package/dist/components/siyahi/{page-hero.js → page-header.js} +4 -4
- package/dist/components/siyahi/panel-grid.d.ts +5 -2
- package/dist/components/siyahi/panel-grid.js +1 -1
- package/dist/components/siyahi/range-position.js +1 -1
- package/dist/components/siyahi/scatter-chart.js +15 -2
- package/dist/components/siyahi/status-badge.js +1 -0
- package/dist/components/siyahi/target-rows.js +2 -2
- package/dist/components/siyahi/treemap.js +0 -3
- package/dist/components/ui/alert-dialog.d.ts +20 -0
- package/dist/components/ui/alert-dialog.js +94 -0
- package/dist/components/ui/aspect-ratio.d.ts +6 -0
- package/dist/components/ui/aspect-ratio.js +13 -0
- package/dist/components/ui/attachment.d.ts +25 -0
- package/dist/components/ui/attachment.js +104 -0
- package/dist/components/ui/bubble.d.ts +18 -0
- package/dist/components/ui/bubble.js +73 -0
- package/dist/components/ui/button-group.d.ts +12 -0
- package/dist/components/ui/button-group.js +41 -0
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/carousel.d.ts +30 -0
- package/dist/components/ui/carousel.js +131 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.js +20 -0
- package/dist/components/ui/combobox.d.ts +26 -0
- package/dist/components/ui/combobox.js +162 -0
- package/dist/components/ui/command.js +1 -1
- package/dist/components/ui/direction.d.ts +2 -0
- package/dist/components/ui/direction.js +1 -0
- package/dist/components/ui/drawer.d.ts +18 -0
- package/dist/components/ui/drawer.js +123 -0
- package/dist/components/ui/empty.d.ts +13 -0
- package/dist/components/ui/empty.js +59 -0
- package/dist/components/ui/field.js +1 -1
- package/dist/components/ui/hover-card.d.ts +7 -0
- package/dist/components/ui/hover-card.js +36 -0
- package/dist/components/ui/input-otp.d.ts +13 -0
- package/dist/components/ui/input-otp.js +46 -0
- package/dist/components/ui/item.d.ts +24 -0
- package/dist/components/ui/item.js +121 -0
- package/dist/components/ui/kbd.d.ts +5 -0
- package/dist/components/ui/kbd.js +19 -0
- package/dist/components/ui/marker.d.ts +12 -0
- package/dist/components/ui/marker.js +43 -0
- package/dist/components/ui/menubar.d.ts +31 -0
- package/dist/components/ui/menubar.js +136 -0
- package/dist/components/ui/message-scroller.d.ts +12 -0
- package/dist/components/ui/message-scroller.js +60 -0
- package/dist/components/ui/message.d.ts +12 -0
- package/dist/components/ui/message.js +49 -0
- package/dist/components/ui/native-select.d.ts +10 -0
- package/dist/components/ui/native-select.js +38 -0
- package/dist/components/ui/navigation-menu.d.ts +13 -0
- package/dist/components/ui/navigation-menu.js +82 -0
- package/dist/components/ui/pagination.d.ts +19 -0
- package/dist/components/ui/pagination.js +80 -0
- package/dist/components/ui/questionnaire.d.ts +21 -0
- package/dist/components/ui/questionnaire.js +170 -0
- package/dist/components/ui/radio-group.d.ts +7 -0
- package/dist/components/ui/radio-group.js +26 -0
- package/dist/components/ui/resizable.d.ts +9 -0
- package/dist/components/ui/resizable.js +28 -0
- package/dist/components/ui/sidebar.js +1 -1
- package/dist/components/ui/spinner.d.ts +4 -0
- package/dist/components/ui/spinner.js +15 -0
- package/dist/components/ui/switch.d.ts +7 -0
- package/dist/components/ui/switch.js +19 -0
- package/dist/components/ui/toast.d.ts +18 -0
- package/dist/components/ui/toast.js +123 -0
- package/dist/components/ui/trace.d.ts +20 -0
- package/dist/components/ui/trace.js +75 -0
- package/dist/index.d.ts +32 -2
- package/dist/index.js +35 -5
- package/dist/lib/chart-frame.d.ts +37 -9
- package/dist/lib/chart-frame.js +60 -30
- package/dist/lib/chart-series.d.ts +3 -2
- package/dist/lib/ticks.d.ts +9 -0
- package/dist/lib/ticks.js +25 -3
- package/dist/lib/use-render-when-fonts-load.d.ts +11 -0
- package/dist/lib/use-render-when-fonts-load.js +49 -0
- package/package.json +5 -3
- package/styles/siyahi.css +224 -26
- package/agents/report-rules.json +0 -7
- package/report.css +0 -145
package/styles/siyahi.css
CHANGED
|
@@ -24,6 +24,21 @@
|
|
|
24
24
|
*/
|
|
25
25
|
@custom-variant dark (@media (prefers-color-scheme: dark));
|
|
26
26
|
|
|
27
|
+
/*
|
|
28
|
+
* Nothing casts a drop shadow (DESIGN.md, "Floating surfaces lie flat"): every shadow size is transparent, so
|
|
29
|
+
* shadow-md and the rest draw nothing, on a component added later as on the ones here. The sizes stay defined, so
|
|
30
|
+
* a stock shadow class is still a known utility to Tailwind and the lint.
|
|
31
|
+
*/
|
|
32
|
+
@theme {
|
|
33
|
+
--shadow-2xs: 0 0 #0000;
|
|
34
|
+
--shadow-xs: 0 0 #0000;
|
|
35
|
+
--shadow-sm: 0 0 #0000;
|
|
36
|
+
--shadow-md: 0 0 #0000;
|
|
37
|
+
--shadow-lg: 0 0 #0000;
|
|
38
|
+
--shadow-xl: 0 0 #0000;
|
|
39
|
+
--shadow-2xl: 0 0 #0000;
|
|
40
|
+
}
|
|
41
|
+
|
|
27
42
|
@theme inline {
|
|
28
43
|
--font-sans: "Geist Variable", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;
|
|
29
44
|
--font-mono: "Geist Mono Variable", "Geist Mono Fallback", ui-monospace, monospace;
|
|
@@ -140,6 +155,12 @@
|
|
|
140
155
|
--wash-edge: 45%;
|
|
141
156
|
/* An invalid field's wash: this share of --destructive over the card. */
|
|
142
157
|
--field-wash: 8%;
|
|
158
|
+
/*
|
|
159
|
+
* Every bar takes this share of its colour over the card, inside a 1px edge of the full colour (lib/chart-frame
|
|
160
|
+
* barFill). At 25% a pale slot's bar barely left the card and a thin stacked segment was two edge lines; the
|
|
161
|
+
* contrast check holds each bar colour's tint against the card and each slot's against the next slot's.
|
|
162
|
+
*/
|
|
163
|
+
--bar-tint: 50%;
|
|
143
164
|
--link: oklch(0.51 0.2 275);
|
|
144
165
|
/*
|
|
145
166
|
* Indigo, amber, plum, sky, teal: no green or red, so no series reads as a
|
|
@@ -220,6 +241,7 @@
|
|
|
220
241
|
--wash: 12%;
|
|
221
242
|
--wash-edge: 55%;
|
|
222
243
|
--field-wash: 12%;
|
|
244
|
+
--bar-tint: 50%;
|
|
223
245
|
--link: oklch(0.75 0.128 275);
|
|
224
246
|
--chart-1: oklch(0.58 0.2 275);
|
|
225
247
|
--chart-2: oklch(0.88 0.08 75);
|
|
@@ -265,13 +287,15 @@
|
|
|
265
287
|
* foreground, black on white and white on black, so the reader sees at once
|
|
266
288
|
* what is on; stock shadcn marks it with a faint grey. A default (pill) tab
|
|
267
289
|
* selects the same way: stock fills it with the canvas colour, 1.05:1 against
|
|
268
|
-
* its grey list. Unlayered, to outrank the stock
|
|
290
|
+
* its grey list, lifted on a drop shadow, which the fill makes needless. Unlayered, to outrank the stock
|
|
291
|
+
* aria-pressed:bg-muted.
|
|
269
292
|
*/
|
|
270
293
|
:is([data-slot="toggle"], [data-slot="toggle-group-item"]):is([aria-pressed="true"], [data-pressed]),
|
|
271
294
|
[data-slot="tabs-list"][data-variant="default"] [data-slot="tabs-trigger"][data-active] {
|
|
272
295
|
background-color: var(--foreground);
|
|
273
296
|
color: var(--background);
|
|
274
297
|
border-color: var(--foreground);
|
|
298
|
+
--tw-shadow: 0 0 #0000;
|
|
275
299
|
}
|
|
276
300
|
|
|
277
301
|
/*
|
|
@@ -316,7 +340,13 @@
|
|
|
316
340
|
[data-slot="calendar"],
|
|
317
341
|
[data-slot="toggle-group"],
|
|
318
342
|
[data-slot="code-block"],
|
|
319
|
-
[data-slot="price-chart"]
|
|
343
|
+
[data-slot="price-chart"],
|
|
344
|
+
[data-slot="button-group"],
|
|
345
|
+
[data-slot="input-otp-group"],
|
|
346
|
+
[data-slot="resizable-panel-group"],
|
|
347
|
+
[data-slot="attachment"],
|
|
348
|
+
[data-slot="bubble"],
|
|
349
|
+
[data-slot="questionnaire"]
|
|
320
350
|
) {
|
|
321
351
|
isolation: isolate;
|
|
322
352
|
}
|
|
@@ -400,11 +430,20 @@
|
|
|
400
430
|
[role="alertdialog"],
|
|
401
431
|
[role="menu"],
|
|
402
432
|
[role="listbox"],
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
433
|
+
input:not(
|
|
434
|
+
[type="checkbox"],
|
|
435
|
+
[type="radio"],
|
|
436
|
+
[type="range"],
|
|
437
|
+
[type="hidden"],
|
|
438
|
+
[type="file"],
|
|
439
|
+
[type="button"],
|
|
440
|
+
[type="submit"],
|
|
441
|
+
[type="reset"],
|
|
442
|
+
[type="color"]
|
|
443
|
+
),
|
|
444
|
+
textarea,
|
|
445
|
+
select,
|
|
446
|
+
[data-slot="select-trigger"]
|
|
408
447
|
),
|
|
409
448
|
[data-slot="slider-thumb"]:has(input:focus-visible) {
|
|
410
449
|
outline: none;
|
|
@@ -412,14 +451,74 @@
|
|
|
412
451
|
inset 0 0 0 2px var(--ring),
|
|
413
452
|
inset 0 0 0 4px var(--background);
|
|
414
453
|
}
|
|
415
|
-
|
|
416
|
-
|
|
454
|
+
/*
|
|
455
|
+
* A field is what HTML makes one, a text input, a textarea or a select, plus Base UI's select trigger, so a field in
|
|
456
|
+
* a component added later is covered without naming it. A field inside a box that holds it (an input group, a
|
|
457
|
+
* combobox's chips) shows its state on that box.
|
|
458
|
+
*/
|
|
459
|
+
:is(
|
|
460
|
+
input:not(
|
|
461
|
+
[type="checkbox"],
|
|
462
|
+
[type="radio"],
|
|
463
|
+
[type="range"],
|
|
464
|
+
[type="hidden"],
|
|
465
|
+
[type="file"],
|
|
466
|
+
[type="button"],
|
|
467
|
+
[type="submit"],
|
|
468
|
+
[type="reset"],
|
|
469
|
+
[type="color"]
|
|
470
|
+
),
|
|
471
|
+
textarea,
|
|
472
|
+
select,
|
|
473
|
+
[data-slot="select-trigger"]
|
|
474
|
+
):not(:is([data-slot="input-group"], [data-slot="combobox-chips"]) *):focus-visible,
|
|
475
|
+
:is([data-slot="input-group"], [data-slot="combobox-chips"]):has(
|
|
476
|
+
:is(
|
|
477
|
+
input:not(
|
|
478
|
+
[type="checkbox"],
|
|
479
|
+
[type="radio"],
|
|
480
|
+
[type="range"],
|
|
481
|
+
[type="hidden"],
|
|
482
|
+
[type="file"],
|
|
483
|
+
[type="button"],
|
|
484
|
+
[type="submit"],
|
|
485
|
+
[type="reset"],
|
|
486
|
+
[type="color"]
|
|
487
|
+
),
|
|
488
|
+
textarea,
|
|
489
|
+
select,
|
|
490
|
+
[data-slot="select-trigger"]
|
|
491
|
+
):focus-visible
|
|
492
|
+
) {
|
|
417
493
|
outline: none;
|
|
418
494
|
border-color: var(--ring);
|
|
419
495
|
box-shadow: inset 0 0 0 1px var(--ring);
|
|
420
496
|
}
|
|
421
|
-
:is(
|
|
422
|
-
|
|
497
|
+
:is(
|
|
498
|
+
input:not(
|
|
499
|
+
[type="checkbox"],
|
|
500
|
+
[type="radio"],
|
|
501
|
+
[type="range"],
|
|
502
|
+
[type="hidden"],
|
|
503
|
+
[type="file"],
|
|
504
|
+
[type="button"],
|
|
505
|
+
[type="submit"],
|
|
506
|
+
[type="reset"],
|
|
507
|
+
[type="color"]
|
|
508
|
+
),
|
|
509
|
+
textarea,
|
|
510
|
+
select,
|
|
511
|
+
[data-slot="select-trigger"]
|
|
512
|
+
):not(:is([data-slot="input-group"], [data-slot="combobox-chips"]) *)[aria-invalid="true"]:focus-visible,
|
|
513
|
+
/* Names the field as the focus rule above does, so this rule outranks it rather than losing on specificity. */
|
|
514
|
+
:is([data-slot="input-group"], [data-slot="combobox-chips"]):has(
|
|
515
|
+
:is(
|
|
516
|
+
input:not([type="checkbox"], [type="radio"], [type="range"], [type="hidden"], [type="file"], [type="button"], [type="submit"], [type="reset"], [type="color"]),
|
|
517
|
+
textarea,
|
|
518
|
+
select,
|
|
519
|
+
[data-slot="select-trigger"]
|
|
520
|
+
)[aria-invalid="true"]:focus-visible
|
|
521
|
+
) {
|
|
423
522
|
border-color: var(--destructive);
|
|
424
523
|
box-shadow: inset 0 0 0 1px var(--destructive);
|
|
425
524
|
}
|
|
@@ -451,17 +550,43 @@ svg :is(rect, circle, path)[tabindex]:focus-visible,
|
|
|
451
550
|
[class~="group/button"][class~="text-destructive"]:focus-visible,
|
|
452
551
|
[data-slot="code-block"][data-variant="destructive"]:has(> [data-slot="code-block-content"]:focus-visible),
|
|
453
552
|
:is(
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
[
|
|
553
|
+
input:not(
|
|
554
|
+
[type="checkbox"],
|
|
555
|
+
[type="radio"],
|
|
556
|
+
[type="range"],
|
|
557
|
+
[type="hidden"],
|
|
558
|
+
[type="file"],
|
|
559
|
+
[type="button"],
|
|
560
|
+
[type="submit"],
|
|
561
|
+
[type="reset"],
|
|
562
|
+
[type="color"]
|
|
563
|
+
),
|
|
564
|
+
textarea,
|
|
565
|
+
select,
|
|
566
|
+
[data-slot="select-trigger"]
|
|
567
|
+
):not(:is([data-slot="input-group"], [data-slot="combobox-chips"]) *)[aria-invalid="true"],
|
|
568
|
+
[class~="group/button"][aria-invalid="true"],
|
|
569
|
+
:is([data-slot="input-group"], [data-slot="combobox-chips"]):has([aria-invalid="true"]) {
|
|
460
570
|
border-color: var(--destructive);
|
|
461
571
|
}
|
|
462
572
|
/* An invalid field also takes a faint wash of the red, so it reads as the one to fix before its message is read. */
|
|
463
|
-
:is(
|
|
464
|
-
|
|
573
|
+
:is(
|
|
574
|
+
input:not(
|
|
575
|
+
[type="checkbox"],
|
|
576
|
+
[type="radio"],
|
|
577
|
+
[type="range"],
|
|
578
|
+
[type="hidden"],
|
|
579
|
+
[type="file"],
|
|
580
|
+
[type="button"],
|
|
581
|
+
[type="submit"],
|
|
582
|
+
[type="reset"],
|
|
583
|
+
[type="color"]
|
|
584
|
+
),
|
|
585
|
+
textarea,
|
|
586
|
+
select,
|
|
587
|
+
[data-slot="select-trigger"]
|
|
588
|
+
):not(:is([data-slot="input-group"], [data-slot="combobox-chips"]) *)[aria-invalid="true"],
|
|
589
|
+
:is([data-slot="input-group"], [data-slot="combobox-chips"]):has([aria-invalid="true"]) {
|
|
465
590
|
background-color: color-mix(in oklab, var(--destructive) var(--field-wash), var(--card));
|
|
466
591
|
}
|
|
467
592
|
|
|
@@ -476,11 +601,88 @@ svg :is(rect, circle, path)[tabindex]:focus-visible,
|
|
|
476
601
|
@apply font-mono text-2xs tracking-wider text-muted-foreground uppercase;
|
|
477
602
|
}
|
|
478
603
|
|
|
479
|
-
/*
|
|
480
|
-
|
|
604
|
+
/*
|
|
605
|
+
* A group's label in a menu (dropdown, context, menubar), a select's or a combobox's list or the
|
|
606
|
+
* command palette is a label over its items, set as one.
|
|
607
|
+
*/
|
|
608
|
+
:is(
|
|
609
|
+
[data-slot$="menu-label"],
|
|
610
|
+
[data-slot="menubar-label"],
|
|
611
|
+
[data-slot="select-label"],
|
|
612
|
+
[data-slot="combobox-label"],
|
|
613
|
+
[data-slot="command-group"] [cmdk-group-heading]
|
|
614
|
+
) {
|
|
615
|
+
@apply font-mono text-2xs tracking-wider text-muted-foreground uppercase;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
/*
|
|
619
|
+
* A floating surface reads as a sheet of the page, not a bubble over it: no shadow (the theme has none) and the
|
|
620
|
+
* card's hairline for an edge. Stock shadcn edges a menu, a list, a popover, a dialog or a card with a fainter ring
|
|
621
|
+
* (ring-foreground/10, also behind a variant such as data-open:); it takes the hairline wherever it appears, on
|
|
622
|
+
* a component added later too. The
|
|
623
|
+
* chart's tooltip, which Recharts draws, is named.
|
|
624
|
+
*/
|
|
625
|
+
[class*="ring-foreground/10"] {
|
|
626
|
+
--tw-ring-color: var(--border);
|
|
627
|
+
}
|
|
628
|
+
[data-slot="chart"] .recharts-tooltip-wrapper > div {
|
|
629
|
+
border-color: var(--border);
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/*
|
|
633
|
+
* Square corners everywhere (DESIGN.md): every element and its ::before and ::after are square, whatever rounding
|
|
634
|
+
* a component asks for (rounded-full, rounded-[4px], hover:rounded-full, after:rounded-full), on a component added
|
|
635
|
+
* later too. Only what is round by nature stays round, by what it is rather than its classes: an avatar, a radio
|
|
636
|
+
* and a radio's dot (a questionnaire's radio choice too), a status dot and a spinner. A chart draws its round marks
|
|
637
|
+
* in SVG, which this does not touch.
|
|
638
|
+
*/
|
|
639
|
+
:not(
|
|
640
|
+
[data-slot^="avatar"],
|
|
641
|
+
[data-slot="message-avatar"],
|
|
642
|
+
[role="radio"],
|
|
643
|
+
[role="radio"] *,
|
|
644
|
+
[data-type="radio"] [data-slot$="indicator"],
|
|
645
|
+
[data-type="radio"] [data-slot$="indicator-dot"],
|
|
646
|
+
[data-slot="status-dot"],
|
|
647
|
+
.animate-spin
|
|
648
|
+
),
|
|
649
|
+
:not(
|
|
650
|
+
[data-slot^="avatar"],
|
|
651
|
+
[data-slot="message-avatar"],
|
|
652
|
+
[role="radio"],
|
|
653
|
+
[role="radio"] *,
|
|
654
|
+
[data-type="radio"] [data-slot$="indicator"],
|
|
655
|
+
[data-type="radio"] [data-slot$="indicator-dot"],
|
|
656
|
+
[data-slot="status-dot"],
|
|
657
|
+
.animate-spin
|
|
658
|
+
)::before,
|
|
659
|
+
:not(
|
|
660
|
+
[data-slot^="avatar"],
|
|
661
|
+
[data-slot="message-avatar"],
|
|
662
|
+
[role="radio"],
|
|
663
|
+
[role="radio"] *,
|
|
664
|
+
[data-type="radio"] [data-slot$="indicator"],
|
|
665
|
+
[data-type="radio"] [data-slot$="indicator-dot"],
|
|
666
|
+
[data-slot="status-dot"],
|
|
667
|
+
.animate-spin
|
|
668
|
+
)::after {
|
|
481
669
|
border-radius: 0;
|
|
482
670
|
}
|
|
483
671
|
|
|
672
|
+
/*
|
|
673
|
+
* Muted text is already the faintest that reads at 4.5:1 (contrast.mjs). Stock shadcn fades it further on some
|
|
674
|
+
* parts (text-muted-foreground/70 on a trace's description), under that bar, so a faded muted class reads as the
|
|
675
|
+
* muted colour itself.
|
|
676
|
+
*/
|
|
677
|
+
:is(
|
|
678
|
+
[class~="text-muted-foreground/50"],
|
|
679
|
+
[class~="text-muted-foreground/60"],
|
|
680
|
+
[class~="text-muted-foreground/70"],
|
|
681
|
+
[class~="text-muted-foreground/80"]
|
|
682
|
+
) {
|
|
683
|
+
color: var(--muted-foreground);
|
|
684
|
+
}
|
|
685
|
+
|
|
484
686
|
/*
|
|
485
687
|
* A slider's unfilled track is outlined in the field edge, so its extent reads
|
|
486
688
|
* at 3:1; the muted track alone is 1.05:1 on the canvas.
|
|
@@ -750,7 +952,6 @@ div[data-slot="sidebar"]:not([data-side], [data-mobile]) {
|
|
|
750
952
|
inset-block: 2px;
|
|
751
953
|
left: -11px;
|
|
752
954
|
width: 2px;
|
|
753
|
-
border-radius: 1px;
|
|
754
955
|
background: var(--sidebar-accent-foreground);
|
|
755
956
|
}
|
|
756
957
|
|
|
@@ -761,6 +962,7 @@ div[data-slot="sidebar"]:not([data-side], [data-mobile]) {
|
|
|
761
962
|
[data-slot="toggle"],
|
|
762
963
|
[data-slot="toggle-group-item"],
|
|
763
964
|
[data-slot="select-trigger"],
|
|
965
|
+
[data-slot="native-select"],
|
|
764
966
|
[data-slot="tabs-trigger"],
|
|
765
967
|
[data-slot="input-group-button"]
|
|
766
968
|
) {
|
|
@@ -814,10 +1016,6 @@ div[data-slot="sidebar"]:not([data-side], [data-mobile]) {
|
|
|
814
1016
|
* SectionCards tile keeps its ring, which is important, and an exception
|
|
815
1017
|
* keeps its outline, which is more specific.
|
|
816
1018
|
*/
|
|
817
|
-
[data-slot="card"] {
|
|
818
|
-
--tw-ring-color: var(--border);
|
|
819
|
-
}
|
|
820
|
-
|
|
821
1019
|
@scope (:root, [data-surface="ruled"]) to ([data-surface="card"], [data-surface="open"]) {
|
|
822
1020
|
[data-slot="card"] {
|
|
823
1021
|
--tw-ring-color: transparent;
|
package/agents/report-rules.json
DELETED
package/report.css
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Siyahi report stylesheet, generated from @siyahi/ui styles/siyahi.css.
|
|
3
|
-
* Inline it into a report's <style>. It makes no network requests: Geist is
|
|
4
|
-
* used when the viewer has it installed, and the system font otherwise.
|
|
5
|
-
*/
|
|
6
|
-
:root {
|
|
7
|
-
color-scheme: light dark;
|
|
8
|
-
--radius: 0rem;
|
|
9
|
-
--background: oklch(0.985 0 0);
|
|
10
|
-
--foreground: oklch(0.145 0 0);
|
|
11
|
-
--card: oklch(1 0 0);
|
|
12
|
-
--card-foreground: oklch(0.145 0 0);
|
|
13
|
-
--popover: oklch(1 0 0);
|
|
14
|
-
--popover-foreground: oklch(0.145 0 0);
|
|
15
|
-
--primary: oklch(0.205 0 0);
|
|
16
|
-
--primary-foreground: oklch(0.985 0 0);
|
|
17
|
-
--secondary: oklch(0.97 0 0);
|
|
18
|
-
--secondary-foreground: oklch(0.205 0 0);
|
|
19
|
-
--muted: oklch(0.97 0 0);
|
|
20
|
-
--muted-foreground: oklch(0.51 0 0);
|
|
21
|
-
--accent: oklch(0.97 0 0);
|
|
22
|
-
--accent-foreground: oklch(0.205 0 0);
|
|
23
|
-
--destructive: oklch(0.49 0.19 27.325);
|
|
24
|
-
--border: oklch(0.145 0 0 / 18%);
|
|
25
|
-
--input: oklch(0.64 0 0);
|
|
26
|
-
--ring: oklch(0.145 0 0);
|
|
27
|
-
--positive: oklch(0.527 0.145 150.069);
|
|
28
|
-
--positive-foreground: oklch(0.985 0 0);
|
|
29
|
-
--negative: oklch(0.577 0.235 27.325);
|
|
30
|
-
--negative-foreground: oklch(0.985 0 0);
|
|
31
|
-
--warning: oklch(0.555 0.149 48.998);
|
|
32
|
-
--warning-foreground: oklch(0.985 0 0);
|
|
33
|
-
--heat-1: 12%;
|
|
34
|
-
--heat-2: 24%;
|
|
35
|
-
--heat-3: 36%;
|
|
36
|
-
--heat-4: 48%;
|
|
37
|
-
--heat-5: 60%;
|
|
38
|
-
--wash: 7%;
|
|
39
|
-
--wash-edge: 45%;
|
|
40
|
-
--field-wash: 8%;
|
|
41
|
-
--link: oklch(0.51 0.2 275);
|
|
42
|
-
--chart-1: oklch(0.4 0.17 275);
|
|
43
|
-
--chart-2: oklch(0.66 0.13 70);
|
|
44
|
-
--chart-3: oklch(0.38 0.13 335);
|
|
45
|
-
--chart-4: oklch(0.65 0.11 235);
|
|
46
|
-
--chart-5: oklch(0.36 0.06 205);
|
|
47
|
-
--sidebar: oklch(0.985 0 0);
|
|
48
|
-
--sidebar-foreground: oklch(0.145 0 0);
|
|
49
|
-
--sidebar-primary: oklch(0.205 0 0);
|
|
50
|
-
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
51
|
-
--sidebar-accent: oklch(0.97 0 0);
|
|
52
|
-
--sidebar-accent-foreground: oklch(0.45 0.2 275);
|
|
53
|
-
--sidebar-border: oklch(0.145 0 0 / 18%);
|
|
54
|
-
--sidebar-ring: oklch(0.145 0 0);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@media (prefers-color-scheme: dark) {
|
|
58
|
-
:root {
|
|
59
|
-
--background: oklch(0.14 0 0);
|
|
60
|
-
--foreground: oklch(0.922 0 0);
|
|
61
|
-
--card: oklch(0.215 0 0);
|
|
62
|
-
--card-foreground: oklch(0.922 0 0);
|
|
63
|
-
--popover: oklch(0.215 0 0);
|
|
64
|
-
--popover-foreground: oklch(0.922 0 0);
|
|
65
|
-
--primary: oklch(0.922 0 0);
|
|
66
|
-
--primary-foreground: oklch(0.205 0 0);
|
|
67
|
-
--secondary: oklch(0.269 0 0);
|
|
68
|
-
--secondary-foreground: oklch(0.922 0 0);
|
|
69
|
-
--muted: oklch(0.269 0 0);
|
|
70
|
-
--muted-foreground: oklch(0.74 0 0);
|
|
71
|
-
--accent: oklch(0.269 0 0);
|
|
72
|
-
--accent-foreground: oklch(0.922 0 0);
|
|
73
|
-
--destructive: oklch(0.8 0.1 22.216);
|
|
74
|
-
--border: oklch(1 0 0 / 20%);
|
|
75
|
-
--input: oklch(0.62 0 0);
|
|
76
|
-
--ring: oklch(0.922 0 0);
|
|
77
|
-
--positive: oklch(0.69 0.16 151.711);
|
|
78
|
-
--positive-foreground: oklch(0.145 0 0);
|
|
79
|
-
--negative: oklch(0.704 0.187 22.216);
|
|
80
|
-
--negative-foreground: oklch(0.145 0 0);
|
|
81
|
-
--warning: oklch(0.828 0.169 84.429);
|
|
82
|
-
--warning-foreground: oklch(0.145 0 0);
|
|
83
|
-
--heat-1: 25%;
|
|
84
|
-
--heat-2: 33.75%;
|
|
85
|
-
--heat-3: 42.5%;
|
|
86
|
-
--heat-4: 51.25%;
|
|
87
|
-
--wash: 12%;
|
|
88
|
-
--wash-edge: 55%;
|
|
89
|
-
--field-wash: 12%;
|
|
90
|
-
--link: oklch(0.75 0.128 275);
|
|
91
|
-
--chart-1: oklch(0.58 0.2 275);
|
|
92
|
-
--chart-2: oklch(0.88 0.08 75);
|
|
93
|
-
--chart-3: oklch(0.58 0.16 335);
|
|
94
|
-
--chart-4: oklch(0.88 0.05 235);
|
|
95
|
-
--chart-5: oklch(0.56 0.08 205);
|
|
96
|
-
--sidebar: oklch(0.145 0 0);
|
|
97
|
-
--sidebar-foreground: oklch(0.922 0 0);
|
|
98
|
-
--sidebar-primary: oklch(0.922 0 0);
|
|
99
|
-
--sidebar-primary-foreground: oklch(0.205 0 0);
|
|
100
|
-
--sidebar-accent: oklch(0.269 0 0);
|
|
101
|
-
--sidebar-accent-foreground: oklch(0.8 0.1 275);
|
|
102
|
-
--sidebar-border: oklch(1 0 0 / 20%);
|
|
103
|
-
--sidebar-ring: oklch(0.922 0 0);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
*,
|
|
108
|
-
::before,
|
|
109
|
-
::after {
|
|
110
|
-
box-sizing: border-box;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
body {
|
|
114
|
-
margin: 0;
|
|
115
|
-
padding: 16px;
|
|
116
|
-
background: var(--background);
|
|
117
|
-
color: var(--foreground);
|
|
118
|
-
font-family: "Geist", "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
119
|
-
font-size: 14px;
|
|
120
|
-
line-height: 1.5;
|
|
121
|
-
font-variant-numeric: tabular-nums;
|
|
122
|
-
-webkit-font-smoothing: antialiased;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
code,
|
|
126
|
-
kbd,
|
|
127
|
-
pre,
|
|
128
|
-
samp {
|
|
129
|
-
font-family: "Geist Mono", "Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
a {
|
|
133
|
-
color: var(--link);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@media (prefers-reduced-motion: reduce) {
|
|
137
|
-
*,
|
|
138
|
-
::before,
|
|
139
|
-
::after {
|
|
140
|
-
animation-duration: 0.01ms !important;
|
|
141
|
-
animation-iteration-count: 1 !important;
|
|
142
|
-
transition-duration: 0.01ms !important;
|
|
143
|
-
scroll-behavior: auto !important;
|
|
144
|
-
}
|
|
145
|
-
}
|