@farming-labs/theme 0.0.2-beta.9 → 0.0.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.
- package/dist/ai-search-dialog.d.mts +23 -1
- package/dist/ai-search-dialog.mjs +247 -37
- package/dist/colorful/index.d.mts +78 -0
- package/dist/colorful/index.mjs +82 -0
- package/dist/darkbold/index.d.mts +80 -0
- package/dist/darkbold/index.mjs +84 -0
- package/dist/docs-ai-features.d.mts +3 -1
- package/dist/docs-ai-features.mjs +63 -10
- package/dist/docs-api.d.mts +7 -6
- package/dist/docs-api.mjs +73 -4
- package/dist/docs-command-search.d.mts +10 -0
- package/dist/docs-command-search.mjs +654 -0
- package/dist/docs-layout.d.mts +20 -11
- package/dist/docs-layout.mjs +230 -50
- package/dist/docs-page-client.d.mts +20 -0
- package/dist/docs-page-client.mjs +119 -25
- package/dist/greentree/index.d.mts +80 -0
- package/dist/greentree/index.mjs +84 -0
- package/dist/index.d.mts +3 -2
- package/dist/index.mjs +3 -2
- package/dist/page-actions.d.mts +4 -1
- package/dist/page-actions.mjs +8 -4
- package/dist/search.d.mts +1 -1
- package/dist/shiny/index.d.mts +79 -0
- package/dist/shiny/index.mjs +83 -0
- package/dist/sidebar-search-ai.d.mts +11 -0
- package/dist/sidebar-search-ai.mjs +128 -0
- package/package.json +38 -14
- package/styles/ai.css +408 -81
- package/styles/base.css +211 -14
- package/styles/colorful.css +266 -0
- package/styles/darkbold.css +575 -0
- package/styles/darksharp.css +27 -11
- package/styles/default.css +22 -1
- package/styles/greentree.css +719 -0
- package/styles/omni.css +359 -0
- package/styles/pixel-border.css +115 -52
- package/styles/shiny.css +505 -0
package/styles/ai.css
CHANGED
|
@@ -7,29 +7,46 @@
|
|
|
7
7
|
|
|
8
8
|
/* ─── Animations ─────────────────────────────────────────────────── */
|
|
9
9
|
|
|
10
|
-
@keyframes fd-ai-dot {
|
|
11
|
-
0%, 80%, 100% { transform: scale(0); opacity: 0.5; }
|
|
12
|
-
40% { transform: scale(1); opacity: 1; }
|
|
13
|
-
}
|
|
14
|
-
|
|
15
10
|
@keyframes fd-ai-fade-in {
|
|
16
|
-
from {
|
|
17
|
-
|
|
11
|
+
from {
|
|
12
|
+
opacity: 0;
|
|
13
|
+
}
|
|
14
|
+
to {
|
|
15
|
+
opacity: 1;
|
|
16
|
+
}
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
@keyframes fd-ai-slide-up {
|
|
21
|
-
from {
|
|
22
|
-
|
|
20
|
+
from {
|
|
21
|
+
opacity: 0;
|
|
22
|
+
transform: translate(-50%, -48%) scale(0.96);
|
|
23
|
+
}
|
|
24
|
+
to {
|
|
25
|
+
opacity: 1;
|
|
26
|
+
transform: translate(-50%, -50%) scale(1);
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
@keyframes fd-ai-float-in {
|
|
26
|
-
from {
|
|
27
|
-
|
|
31
|
+
from {
|
|
32
|
+
opacity: 0;
|
|
33
|
+
transform: translateY(12px) scale(0.95);
|
|
34
|
+
}
|
|
35
|
+
to {
|
|
36
|
+
opacity: 1;
|
|
37
|
+
transform: translateY(0) scale(1);
|
|
38
|
+
}
|
|
28
39
|
}
|
|
29
40
|
|
|
30
41
|
@keyframes fd-ai-float-center-in {
|
|
31
|
-
from {
|
|
32
|
-
|
|
42
|
+
from {
|
|
43
|
+
opacity: 0;
|
|
44
|
+
transform: translate(-50%, -48%) scale(0.96);
|
|
45
|
+
}
|
|
46
|
+
to {
|
|
47
|
+
opacity: 1;
|
|
48
|
+
transform: translate(-50%, -50%) scale(1);
|
|
49
|
+
}
|
|
33
50
|
}
|
|
34
51
|
|
|
35
52
|
/* ─── Overlay ────────────────────────────────────────────────────── */
|
|
@@ -254,7 +271,7 @@
|
|
|
254
271
|
border-radius: var(--radius, 8px);
|
|
255
272
|
border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.08));
|
|
256
273
|
background: var(--color-fd-background, rgba(255, 255, 255, 0.01));
|
|
257
|
-
opacity: 0.6;
|
|
274
|
+
opacity: 0.6;
|
|
258
275
|
color: var(--color-fd-foreground, #e4e4e7);
|
|
259
276
|
font-size: 13px;
|
|
260
277
|
font-family: inherit;
|
|
@@ -313,6 +330,12 @@
|
|
|
313
330
|
line-height: 1.6;
|
|
314
331
|
max-width: 95%;
|
|
315
332
|
word-break: break-word;
|
|
333
|
+
animation: fd-ai-msg-in 300ms ease-out;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
@keyframes fd-ai-msg-in {
|
|
337
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
338
|
+
to { opacity: 1; transform: translateY(0); }
|
|
316
339
|
}
|
|
317
340
|
|
|
318
341
|
/* ─── Chat input ─────────────────────────────────────────────────── */
|
|
@@ -367,59 +390,310 @@
|
|
|
367
390
|
color: var(--color-fd-primary-foreground, #fff);
|
|
368
391
|
}
|
|
369
392
|
|
|
370
|
-
/*
|
|
393
|
+
/* ═══════════════════════════════════════════════════════════════════
|
|
394
|
+
* AI Loader variants — fd-ai-loader-*
|
|
395
|
+
* Default: "shimmer-dots" (shimmer text + typing dots in a row)
|
|
396
|
+
* ═══════════════════════════════════════════════════════════════════ */
|
|
371
397
|
|
|
372
|
-
.fd-ai-
|
|
398
|
+
.fd-ai-loader {
|
|
373
399
|
display: inline-flex;
|
|
400
|
+
align-items: center;
|
|
374
401
|
gap: 6px;
|
|
402
|
+
animation: fd-ai-loader-in 300ms ease-out;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
@keyframes fd-ai-loader-in {
|
|
406
|
+
from { opacity: 0; transform: translateY(4px); }
|
|
407
|
+
to { opacity: 1; transform: translateY(0); }
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/* ── shimmer-dots (default): shimmer text + typing dots ──────────── */
|
|
411
|
+
|
|
412
|
+
.fd-ai-loader-shimmer-text {
|
|
413
|
+
font-size: 13px;
|
|
414
|
+
font-weight: 500;
|
|
415
|
+
background: linear-gradient(
|
|
416
|
+
to right,
|
|
417
|
+
var(--color-fd-muted-foreground, #888) 40%,
|
|
418
|
+
var(--color-fd-foreground, #fff) 60%,
|
|
419
|
+
var(--color-fd-muted-foreground, #888) 80%
|
|
420
|
+
);
|
|
421
|
+
background-size: 200% auto;
|
|
422
|
+
background-clip: text;
|
|
423
|
+
-webkit-background-clip: text;
|
|
424
|
+
color: transparent;
|
|
425
|
+
animation: fd-ai-shimmer-text 3s linear infinite;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
@keyframes fd-ai-shimmer-text {
|
|
429
|
+
0% { background-position: 150% center; }
|
|
430
|
+
100% { background-position: -150% center; }
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.fd-ai-loader-typing-dots {
|
|
434
|
+
display: inline-flex;
|
|
375
435
|
align-items: center;
|
|
436
|
+
gap: 2px;
|
|
376
437
|
}
|
|
377
438
|
|
|
378
|
-
.fd-ai-
|
|
379
|
-
|
|
380
|
-
|
|
439
|
+
.fd-ai-loader-typing-dot {
|
|
440
|
+
width: 4px;
|
|
441
|
+
height: 4px;
|
|
442
|
+
border-radius: 50%;
|
|
443
|
+
background: var(--color-fd-primary, #6366f1);
|
|
444
|
+
animation: fd-ai-typing 1s infinite;
|
|
381
445
|
}
|
|
382
446
|
|
|
383
|
-
.fd-ai-
|
|
447
|
+
.fd-ai-loader-typing-dot:nth-child(2) { animation-delay: 250ms; }
|
|
448
|
+
.fd-ai-loader-typing-dot:nth-child(3) { animation-delay: 500ms; }
|
|
449
|
+
|
|
450
|
+
@keyframes fd-ai-typing {
|
|
451
|
+
0%, 100% { transform: translateY(0); opacity: 0.5; }
|
|
452
|
+
50% { transform: translateY(-2px); opacity: 1; }
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/* ── circular: spinning ring ─────────────────────────────────────── */
|
|
456
|
+
|
|
457
|
+
.fd-ai-loader-circular {
|
|
458
|
+
width: 16px;
|
|
459
|
+
height: 16px;
|
|
460
|
+
border: 2px solid var(--color-fd-primary, #6366f1);
|
|
461
|
+
border-top-color: transparent;
|
|
462
|
+
border-radius: 50%;
|
|
463
|
+
animation: fd-ai-spin 0.8s linear infinite;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
@keyframes fd-ai-spin {
|
|
467
|
+
to { transform: rotate(360deg); }
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/* ── dots: bouncing dots ─────────────────────────────────────────── */
|
|
471
|
+
|
|
472
|
+
.fd-ai-loader-dots {
|
|
384
473
|
display: inline-flex;
|
|
474
|
+
align-items: center;
|
|
385
475
|
gap: 3px;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
.fd-ai-loader-bounce-dot {
|
|
479
|
+
width: 6px;
|
|
480
|
+
height: 6px;
|
|
481
|
+
border-radius: 50%;
|
|
482
|
+
background: var(--color-fd-primary, #6366f1);
|
|
483
|
+
animation: fd-ai-bounce-dots 1.4s ease-in-out infinite;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.fd-ai-loader-bounce-dot:nth-child(2) { animation-delay: 160ms; }
|
|
487
|
+
.fd-ai-loader-bounce-dot:nth-child(3) { animation-delay: 320ms; }
|
|
488
|
+
|
|
489
|
+
@keyframes fd-ai-bounce-dots {
|
|
490
|
+
0%, 100% { transform: scale(0.8); opacity: 0.5; }
|
|
491
|
+
50% { transform: scale(1.2); opacity: 1; }
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/* ── wave: wave bars ─────────────────────────────────────────────── */
|
|
495
|
+
|
|
496
|
+
.fd-ai-loader-wave {
|
|
497
|
+
display: inline-flex;
|
|
386
498
|
align-items: center;
|
|
499
|
+
gap: 2px;
|
|
500
|
+
height: 16px;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
.fd-ai-loader-wave-bar {
|
|
504
|
+
width: 2px;
|
|
505
|
+
border-radius: 2px;
|
|
506
|
+
background: var(--color-fd-primary, #6366f1);
|
|
507
|
+
animation: fd-ai-wave 1s ease-in-out infinite;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.fd-ai-loader-wave-bar:nth-child(1) { height: 6px; animation-delay: 0ms; }
|
|
511
|
+
.fd-ai-loader-wave-bar:nth-child(2) { height: 10px; animation-delay: 100ms; }
|
|
512
|
+
.fd-ai-loader-wave-bar:nth-child(3) { height: 14px; animation-delay: 200ms; }
|
|
513
|
+
.fd-ai-loader-wave-bar:nth-child(4) { height: 10px; animation-delay: 300ms; }
|
|
514
|
+
.fd-ai-loader-wave-bar:nth-child(5) { height: 6px; animation-delay: 400ms; }
|
|
515
|
+
|
|
516
|
+
@keyframes fd-ai-wave {
|
|
517
|
+
0%, 100% { transform: scaleY(1); }
|
|
518
|
+
50% { transform: scaleY(0.6); }
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
/* ── pulse: pulsing ring ─────────────────────────────────────────── */
|
|
522
|
+
|
|
523
|
+
.fd-ai-loader-pulse {
|
|
524
|
+
width: 16px;
|
|
525
|
+
height: 16px;
|
|
526
|
+
border: 2px solid var(--color-fd-primary, #6366f1);
|
|
527
|
+
border-radius: 50%;
|
|
528
|
+
animation: fd-ai-pulse 1.5s ease-in-out infinite;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
@keyframes fd-ai-pulse {
|
|
532
|
+
0%, 100% { transform: scale(0.95); opacity: 0.8; }
|
|
533
|
+
50% { transform: scale(1.05); opacity: 0.4; }
|
|
387
534
|
}
|
|
388
535
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
536
|
+
/* ── pulse-dot: pulsing dot ──────────────────────────────────────── */
|
|
537
|
+
|
|
538
|
+
.fd-ai-loader-pulse-dot {
|
|
539
|
+
width: 8px;
|
|
540
|
+
height: 8px;
|
|
392
541
|
border-radius: 50%;
|
|
393
|
-
background: var(--color-fd-
|
|
394
|
-
animation: fd-ai-dot 1.
|
|
542
|
+
background: var(--color-fd-primary, #6366f1);
|
|
543
|
+
animation: fd-ai-pulse-dot 1.2s ease-in-out infinite;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
@keyframes fd-ai-pulse-dot {
|
|
547
|
+
0%, 100% { transform: scale(1); opacity: 0.8; }
|
|
548
|
+
50% { transform: scale(1.5); opacity: 1; }
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
/* ── terminal: blinking cursor ───────────────────────────────────── */
|
|
552
|
+
|
|
553
|
+
.fd-ai-loader-terminal {
|
|
554
|
+
display: inline-flex;
|
|
555
|
+
align-items: center;
|
|
556
|
+
gap: 3px;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.fd-ai-loader-terminal-prompt {
|
|
560
|
+
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
561
|
+
font-size: 13px;
|
|
562
|
+
color: var(--color-fd-primary, #6366f1);
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.fd-ai-loader-terminal-cursor {
|
|
566
|
+
width: 7px;
|
|
567
|
+
height: 14px;
|
|
568
|
+
background: var(--color-fd-primary, #6366f1);
|
|
569
|
+
animation: fd-ai-blink 1s step-end infinite;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
@keyframes fd-ai-blink {
|
|
573
|
+
0%, 100% { opacity: 1; }
|
|
574
|
+
50% { opacity: 0; }
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
/* ── text-shimmer: shimmer text only ─────────────────────────────── */
|
|
578
|
+
/* (reuses .fd-ai-loader-shimmer-text above) */
|
|
579
|
+
|
|
580
|
+
/* ── text-blink: blinking text ───────────────────────────────────── */
|
|
581
|
+
|
|
582
|
+
.fd-ai-loader-text-blink {
|
|
583
|
+
font-size: 13px;
|
|
584
|
+
font-weight: 500;
|
|
585
|
+
animation: fd-ai-text-blink 2s ease-in-out infinite;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
@keyframes fd-ai-text-blink {
|
|
589
|
+
0%, 100% { color: var(--color-fd-primary, #6366f1); }
|
|
590
|
+
50% { color: var(--color-fd-muted-foreground, #888); }
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/* ── loading-dots: "Thinking..." with animated dots ──────────────── */
|
|
594
|
+
|
|
595
|
+
.fd-ai-loader-text {
|
|
596
|
+
font-size: 13px;
|
|
597
|
+
font-weight: 500;
|
|
598
|
+
color: var(--color-fd-primary, #6366f1);
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.fd-ai-loader-text-dots {
|
|
602
|
+
display: inline-flex;
|
|
395
603
|
}
|
|
396
604
|
|
|
397
|
-
.fd-ai-
|
|
398
|
-
|
|
605
|
+
.fd-ai-loader-text-dot {
|
|
606
|
+
font-size: 13px;
|
|
607
|
+
font-weight: 500;
|
|
608
|
+
color: var(--color-fd-primary, #6366f1);
|
|
609
|
+
animation: fd-ai-loading-dots 1.4s infinite;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
.fd-ai-loader-text-dot:nth-child(1) { animation-delay: 200ms; }
|
|
613
|
+
.fd-ai-loader-text-dot:nth-child(2) { animation-delay: 400ms; }
|
|
614
|
+
.fd-ai-loader-text-dot:nth-child(3) { animation-delay: 600ms; }
|
|
615
|
+
|
|
616
|
+
@keyframes fd-ai-loading-dots {
|
|
617
|
+
0%, 100% { opacity: 0; }
|
|
618
|
+
50% { opacity: 1; }
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
/* ── bars: thick wave bars ───────────────────────────────────────── */
|
|
622
|
+
|
|
623
|
+
.fd-ai-loader-bars {
|
|
624
|
+
display: inline-flex;
|
|
625
|
+
align-items: stretch;
|
|
626
|
+
gap: 3px;
|
|
627
|
+
height: 16px;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
.fd-ai-loader-bar {
|
|
631
|
+
width: 4px;
|
|
632
|
+
background: var(--color-fd-primary, #6366f1);
|
|
633
|
+
animation: fd-ai-wave-bars 1.2s ease-in-out infinite;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
.fd-ai-loader-bar:nth-child(1) { animation-delay: 0s; }
|
|
637
|
+
.fd-ai-loader-bar:nth-child(2) { animation-delay: 0.2s; }
|
|
638
|
+
.fd-ai-loader-bar:nth-child(3) { animation-delay: 0.4s; }
|
|
639
|
+
|
|
640
|
+
@keyframes fd-ai-wave-bars {
|
|
641
|
+
0%, 100% { transform: scaleY(1); opacity: 0.5; }
|
|
642
|
+
50% { transform: scaleY(0.6); opacity: 1; }
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/* ─── Streaming cursor ───────────────────────────────────────────── */
|
|
646
|
+
|
|
647
|
+
.fd-ai-streaming::after {
|
|
648
|
+
content: "";
|
|
649
|
+
display: inline-block;
|
|
650
|
+
width: 2px;
|
|
651
|
+
height: 1em;
|
|
652
|
+
background: var(--color-fd-primary, #6366f1);
|
|
653
|
+
margin-left: 2px;
|
|
654
|
+
vertical-align: text-bottom;
|
|
655
|
+
animation: fd-ai-cursor-blink 0.8s step-end infinite;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
@keyframes fd-ai-cursor-blink {
|
|
659
|
+
0%, 100% { opacity: 1; }
|
|
660
|
+
50% { opacity: 0; }
|
|
661
|
+
}
|
|
399
662
|
|
|
400
663
|
/* ─── Floating trigger button ────────────────────────────────────── */
|
|
401
664
|
|
|
402
665
|
.fd-ai-floating-btn {
|
|
403
666
|
position: fixed;
|
|
404
667
|
z-index: 9997;
|
|
405
|
-
width: 52px;
|
|
406
|
-
height: 52px;
|
|
407
|
-
border-radius: var(--radius, 26px);
|
|
408
|
-
border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
|
|
409
|
-
background: var(--color-fd-primary, #6366f1);
|
|
410
|
-
color: var(--color-fd-primary-foreground, #fff);
|
|
411
|
-
cursor: pointer;
|
|
412
668
|
display: flex;
|
|
413
669
|
align-items: center;
|
|
414
670
|
justify-content: center;
|
|
415
|
-
|
|
416
|
-
|
|
671
|
+
gap: 8px;
|
|
672
|
+
padding: 8px 12px;
|
|
673
|
+
height: 40px;
|
|
674
|
+
border-radius: 16px;
|
|
675
|
+
border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
|
|
676
|
+
background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
|
|
677
|
+
backdrop-filter: blur(4px);
|
|
678
|
+
color: var(--color-fd-muted-foreground, #71717a);
|
|
679
|
+
cursor: pointer;
|
|
680
|
+
font-size: 14px;
|
|
681
|
+
box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
|
|
682
|
+
transition:
|
|
683
|
+
transform 150ms,
|
|
684
|
+
background 150ms,
|
|
685
|
+
color 150ms;
|
|
417
686
|
animation: fd-ai-fade-in 300ms ease-out;
|
|
418
687
|
}
|
|
419
688
|
|
|
420
689
|
.fd-ai-floating-btn:hover {
|
|
421
|
-
|
|
422
|
-
|
|
690
|
+
background: var(--color-fd-accent);
|
|
691
|
+
color: var(--color-fd-accent-foreground);
|
|
692
|
+
transform: scale(1.03);
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
.fd-ai-floating-btn:active {
|
|
696
|
+
transform: scale(0.97);
|
|
423
697
|
}
|
|
424
698
|
|
|
425
699
|
.fd-ai-floating-trigger {
|
|
@@ -492,7 +766,7 @@
|
|
|
492
766
|
margin: 10px 0;
|
|
493
767
|
border-radius: var(--radius, 8px);
|
|
494
768
|
border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
|
|
495
|
-
|
|
769
|
+
background: var(--color-fd-muted, #1a1a2e);
|
|
496
770
|
overflow: hidden;
|
|
497
771
|
}
|
|
498
772
|
|
|
@@ -528,7 +802,11 @@
|
|
|
528
802
|
|
|
529
803
|
.fd-ai-code-copy:hover {
|
|
530
804
|
color: var(--color-fd-foreground, #e4e4e7);
|
|
531
|
-
background: color-mix(
|
|
805
|
+
background: color-mix(
|
|
806
|
+
in srgb,
|
|
807
|
+
var(--color-fd-accent, rgba(255, 255, 255, 0.05)) 60%,
|
|
808
|
+
transparent
|
|
809
|
+
);
|
|
532
810
|
}
|
|
533
811
|
|
|
534
812
|
.fd-ai-code-block pre {
|
|
@@ -550,7 +828,10 @@
|
|
|
550
828
|
}
|
|
551
829
|
|
|
552
830
|
/* sugar-high: each line is a block span, min-height keeps empty lines visible */
|
|
553
|
-
.fd-ai-code-block .sh__line {
|
|
831
|
+
.fd-ai-code-block .sh__line {
|
|
832
|
+
display: block;
|
|
833
|
+
min-height: 1.2em;
|
|
834
|
+
}
|
|
554
835
|
|
|
555
836
|
/* ═══════════════════════════════════════════════════════════════════
|
|
556
837
|
* Full-Modal (better-auth inspired) — fd-ai-fm-*
|
|
@@ -607,8 +888,20 @@
|
|
|
607
888
|
overflow-y: auto;
|
|
608
889
|
width: min(800px, 100%);
|
|
609
890
|
padding: 24px 0 120px;
|
|
610
|
-
mask-image: linear-gradient(
|
|
611
|
-
|
|
891
|
+
mask-image: linear-gradient(
|
|
892
|
+
to bottom,
|
|
893
|
+
transparent,
|
|
894
|
+
white 3rem,
|
|
895
|
+
white calc(100% - 8rem),
|
|
896
|
+
transparent 100%
|
|
897
|
+
);
|
|
898
|
+
-webkit-mask-image: linear-gradient(
|
|
899
|
+
to bottom,
|
|
900
|
+
transparent,
|
|
901
|
+
white 3rem,
|
|
902
|
+
white calc(100% - 8rem),
|
|
903
|
+
transparent 100%
|
|
904
|
+
);
|
|
612
905
|
}
|
|
613
906
|
|
|
614
907
|
.fd-ai-fm-messages-inner {
|
|
@@ -683,36 +976,17 @@
|
|
|
683
976
|
|
|
684
977
|
/* ─── Thinking dots ──────────────────────────────────────────────── */
|
|
685
978
|
|
|
686
|
-
.fd-ai-
|
|
687
|
-
display: flex;
|
|
688
|
-
gap: 4px;
|
|
689
|
-
align-items: center;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
.fd-ai-fm-thinking-dot {
|
|
693
|
-
width: 6px;
|
|
694
|
-
height: 6px;
|
|
695
|
-
border-radius: 9999px;
|
|
696
|
-
background: var(--color-fd-primary, #6366f1);
|
|
697
|
-
animation: fd-ai-fm-bounce 1s infinite ease-in-out;
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
.fd-ai-fm-thinking-dot:nth-child(2) { animation-delay: 150ms; }
|
|
701
|
-
.fd-ai-fm-thinking-dot:nth-child(3) { animation-delay: 300ms; }
|
|
702
|
-
|
|
703
|
-
@keyframes fd-ai-fm-bounce {
|
|
704
|
-
0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
|
|
705
|
-
40% { transform: scale(1); opacity: 1; }
|
|
706
|
-
}
|
|
979
|
+
/* Full-modal now uses the shared .fd-ai-loader indicator */
|
|
707
980
|
|
|
708
981
|
/* ─── Bottom input bar ───────────────────────────────────────────── */
|
|
709
982
|
|
|
710
983
|
.fd-ai-fm-input-bar {
|
|
711
984
|
position: fixed;
|
|
712
985
|
z-index: 9999;
|
|
713
|
-
transition:
|
|
714
|
-
|
|
715
|
-
|
|
986
|
+
transition:
|
|
987
|
+
width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
988
|
+
height 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
989
|
+
transform 200ms ease-out;
|
|
716
990
|
}
|
|
717
991
|
|
|
718
992
|
.fd-ai-fm-input-bar--closed {
|
|
@@ -722,6 +996,7 @@
|
|
|
722
996
|
.fd-ai-fm-input-bar--open {
|
|
723
997
|
bottom: 16px;
|
|
724
998
|
left: 50%;
|
|
999
|
+
right: auto;
|
|
725
1000
|
transform: translateX(-50%);
|
|
726
1001
|
width: min(800px, calc(100vw - 32px));
|
|
727
1002
|
}
|
|
@@ -800,8 +1075,20 @@
|
|
|
800
1075
|
gap: 8px;
|
|
801
1076
|
overflow-x: auto;
|
|
802
1077
|
padding-bottom: 4px;
|
|
803
|
-
mask-image: linear-gradient(
|
|
804
|
-
|
|
1078
|
+
mask-image: linear-gradient(
|
|
1079
|
+
to right,
|
|
1080
|
+
transparent 0%,
|
|
1081
|
+
black 1rem,
|
|
1082
|
+
black calc(100% - 1rem),
|
|
1083
|
+
transparent 100%
|
|
1084
|
+
);
|
|
1085
|
+
-webkit-mask-image: linear-gradient(
|
|
1086
|
+
to right,
|
|
1087
|
+
transparent 0%,
|
|
1088
|
+
black 1rem,
|
|
1089
|
+
black calc(100% - 1rem),
|
|
1090
|
+
transparent 100%
|
|
1091
|
+
);
|
|
805
1092
|
}
|
|
806
1093
|
|
|
807
1094
|
.fd-ai-fm-suggestion {
|
|
@@ -811,15 +1098,16 @@
|
|
|
811
1098
|
font-size: 12px;
|
|
812
1099
|
font-family: inherit;
|
|
813
1100
|
border-radius: 9999px;
|
|
814
|
-
border: 1px solid
|
|
815
|
-
|
|
1101
|
+
border: 1px solid
|
|
1102
|
+
color-mix(in srgb, var(--color-fd-border, rgba(255, 255, 255, 0.1)) 50%, transparent);
|
|
1103
|
+
background: color-mix(in srgb, var(--color-fd-muted, rgba(255, 255, 255, 0.04)) 30%, transparent);
|
|
816
1104
|
color: var(--color-fd-muted-foreground, #71717a);
|
|
817
1105
|
cursor: pointer;
|
|
818
1106
|
transition: all 200ms;
|
|
819
1107
|
}
|
|
820
1108
|
|
|
821
1109
|
.fd-ai-fm-suggestion:hover {
|
|
822
|
-
background: color-mix(in srgb, var(--color-fd-muted, rgba(255,255,255,0.04)) 50%, transparent);
|
|
1110
|
+
background: color-mix(in srgb, var(--color-fd-muted, rgba(255, 255, 255, 0.04)) 50%, transparent);
|
|
823
1111
|
color: var(--color-fd-foreground, #e4e4e7);
|
|
824
1112
|
border-color: var(--color-fd-border, rgba(255, 255, 255, 0.1));
|
|
825
1113
|
}
|
|
@@ -832,7 +1120,11 @@
|
|
|
832
1120
|
gap: 4px;
|
|
833
1121
|
padding: 8px 16px;
|
|
834
1122
|
border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
|
|
835
|
-
background: color-mix(
|
|
1123
|
+
background: color-mix(
|
|
1124
|
+
in srgb,
|
|
1125
|
+
var(--color-fd-accent, rgba(255, 255, 255, 0.03)) 40%,
|
|
1126
|
+
transparent
|
|
1127
|
+
);
|
|
836
1128
|
font-size: 12px;
|
|
837
1129
|
color: var(--color-fd-muted-foreground, #71717a);
|
|
838
1130
|
}
|
|
@@ -864,6 +1156,34 @@
|
|
|
864
1156
|
flex: 1;
|
|
865
1157
|
}
|
|
866
1158
|
|
|
1159
|
+
/* ─── Pure AI Modal footer ───────────────────────────────────────── */
|
|
1160
|
+
|
|
1161
|
+
.fd-ai-modal-pure {
|
|
1162
|
+
display: flex;
|
|
1163
|
+
flex-direction: column;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
.fd-ai-modal-footer {
|
|
1167
|
+
display: flex;
|
|
1168
|
+
align-items: center;
|
|
1169
|
+
gap: 4px;
|
|
1170
|
+
padding: 8px 16px;
|
|
1171
|
+
border-top: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.06));
|
|
1172
|
+
background: color-mix(
|
|
1173
|
+
in srgb,
|
|
1174
|
+
var(--color-fd-accent, rgba(255, 255, 255, 0.03)) 40%,
|
|
1175
|
+
transparent
|
|
1176
|
+
);
|
|
1177
|
+
font-size: 12px;
|
|
1178
|
+
color: var(--color-fd-muted-foreground, #71717a);
|
|
1179
|
+
border-radius: 0 0 var(--radius, 12px) var(--radius, 12px);
|
|
1180
|
+
flex-shrink: 0;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
.fd-ai-modal-footer-hint {
|
|
1184
|
+
flex: 1;
|
|
1185
|
+
}
|
|
1186
|
+
|
|
867
1187
|
/* ─── Closed trigger button ──────────────────────────────────────── */
|
|
868
1188
|
|
|
869
1189
|
.fd-ai-fm-trigger-btn {
|
|
@@ -871,24 +1191,31 @@
|
|
|
871
1191
|
align-items: center;
|
|
872
1192
|
justify-content: center;
|
|
873
1193
|
gap: 8px;
|
|
874
|
-
padding: 8px
|
|
1194
|
+
padding: 8px 12px;
|
|
875
1195
|
height: 40px;
|
|
876
|
-
border-radius:
|
|
1196
|
+
border-radius: 16px;
|
|
877
1197
|
border: 1px solid var(--color-fd-border, rgba(255, 255, 255, 0.1));
|
|
878
|
-
background: var(--color-fd-secondary,
|
|
1198
|
+
background: color-mix(in srgb, var(--color-fd-secondary, #f4f4f5) 80%, transparent);
|
|
1199
|
+
backdrop-filter: blur(4px);
|
|
879
1200
|
color: var(--color-fd-muted-foreground, #71717a);
|
|
880
1201
|
font-family: inherit;
|
|
881
1202
|
font-size: 14px;
|
|
882
1203
|
cursor: pointer;
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
1204
|
+
box-shadow: 0 1px 3px color-mix(in srgb, var(--color-fd-background, #000) 20%, transparent);
|
|
1205
|
+
transition:
|
|
1206
|
+
transform 150ms,
|
|
1207
|
+
background 150ms,
|
|
1208
|
+
color 150ms;
|
|
886
1209
|
animation: fd-ai-fade-in 300ms ease-out;
|
|
887
1210
|
white-space: nowrap;
|
|
888
1211
|
}
|
|
889
1212
|
|
|
890
1213
|
.fd-ai-fm-trigger-btn:hover {
|
|
891
|
-
background: var(--color-fd-accent
|
|
892
|
-
color: var(--color-fd-accent-foreground
|
|
1214
|
+
background: var(--color-fd-accent);
|
|
1215
|
+
color: var(--color-fd-accent-foreground);
|
|
893
1216
|
transform: scale(1.03);
|
|
894
1217
|
}
|
|
1218
|
+
|
|
1219
|
+
.fd-ai-fm-trigger-btn:active {
|
|
1220
|
+
transform: scale(0.97);
|
|
1221
|
+
}
|