@qfei-design/make-ai-assistant 0.1.5 → 0.1.7

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
@@ -15,6 +15,10 @@
15
15
  --make-ai-internal-shadow: var(--make-ai-shadow, 0 18px 48px rgb(30 31 43 / 12%));
16
16
  --make-ai-internal-drawer-width: var(--make-ai-drawer-width, 432px);
17
17
  --make-ai-internal-z-index: var(--make-ai-z-index, 1050);
18
+ --make-ai-internal-font-size-body: var(--make-ai-font-size-body, .75rem);
19
+ --make-ai-internal-font-size-markdown: var(--make-ai-font-size-markdown, .6875rem);
20
+ --make-ai-internal-font-size-ui: var(--make-ai-font-size-ui, .75rem);
21
+ --make-ai-internal-line-height-body: var(--make-ai-line-height-body, 1.58);
18
22
  }
19
23
 
20
24
  .make-ai-assistant,
@@ -72,7 +76,6 @@
72
76
 
73
77
  .make-ai-assistant__launcher:focus-visible,
74
78
  .make-ai-assistant button:focus-visible,
75
- .make-ai-assistant textarea:focus-visible,
76
79
  .make-ai-artifact button:focus-visible {
77
80
  outline: 3px solid color-mix(in srgb, var(--make-ai-internal-accent) 28%, transparent);
78
81
  outline-offset: 2px;
@@ -204,19 +207,45 @@
204
207
 
205
208
  .make-ai-assistant__privacy-note {
206
209
  align-items: center;
207
- background: var(--make-ai-internal-surface);
208
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 84%, transparent);
209
- color: var(--make-ai-internal-text-secondary);
210
+ background:
211
+ radial-gradient(circle at 0 0, color-mix(in srgb, var(--make-ai-internal-accent) 9%, transparent), transparent 42%),
212
+ color-mix(in srgb, var(--make-ai-internal-bg) 86%, var(--make-ai-internal-surface));
213
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-border));
214
+ box-shadow: inset 0 1px 0 rgb(255 255 255 / 64%);
215
+ color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 90%, var(--make-ai-internal-accent));
210
216
  display: flex;
211
- font-size: 12px;
212
- gap: 8px;
213
- line-height: 1.5;
214
- margin: 12px 18px 0;
215
- padding: 8px 10px;
216
- border-radius: 10px;
217
+ font-size: .6875rem;
218
+ gap: 7px;
219
+ line-height: 1.45;
220
+ margin: 10px 18px 0;
221
+ padding: 7px 9px;
222
+ border-radius: 9px;
217
223
  overflow-wrap: anywhere;
218
224
  }
219
225
 
226
+ .make-ai-assistant__privacy-icon {
227
+ align-items: center;
228
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-bg));
229
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 12%, transparent);
230
+ border-radius: 7px;
231
+ color: color-mix(in srgb, var(--make-ai-internal-accent) 76%, var(--make-ai-internal-text-secondary));
232
+ display: inline-flex;
233
+ flex: 0 0 auto;
234
+ height: 20px;
235
+ justify-content: center;
236
+ width: 20px;
237
+ }
238
+
239
+ .make-ai-assistant__privacy-icon svg {
240
+ fill: none;
241
+ height: 13px;
242
+ stroke: currentColor;
243
+ stroke-linecap: round;
244
+ stroke-linejoin: round;
245
+ stroke-width: 1.8;
246
+ width: 13px;
247
+ }
248
+
220
249
  .make-ai-assistant__body {
221
250
  min-height: 0;
222
251
  min-width: 0;
@@ -251,7 +280,7 @@
251
280
  }
252
281
 
253
282
  .make-ai-assistant__empty p {
254
- font-size: 13px;
283
+ font-size: var(--make-ai-internal-font-size-body);
255
284
  line-height: 1.7;
256
285
  margin-top: 8px;
257
286
  }
@@ -310,6 +339,10 @@
310
339
  width: 100%;
311
340
  }
312
341
 
342
+ .make-ai-assistant__message--user:not([data-message-has-identity]) .make-ai-assistant__message-stack {
343
+ margin-top: 0;
344
+ }
345
+
313
346
  .make-ai-assistant__message-sender {
314
347
  color: var(--make-ai-internal-text-secondary);
315
348
  font-size: 12px;
@@ -349,10 +382,9 @@
349
382
 
350
383
  .make-ai-assistant__bubble {
351
384
  color: var(--make-ai-internal-text);
352
- font-size: 14px;
353
- line-height: 1.7;
385
+ font-size: var(--make-ai-internal-font-size-body);
386
+ line-height: var(--make-ai-internal-line-height-body);
354
387
  overflow-wrap: anywhere;
355
- white-space: pre-wrap;
356
388
  word-break: break-word;
357
389
  }
358
390
 
@@ -362,6 +394,86 @@
362
394
  border-radius: 16px 5px 16px 16px;
363
395
  color: color-mix(in srgb, var(--make-ai-internal-accent) 68%, var(--make-ai-internal-text));
364
396
  padding: 10px 13px;
397
+ white-space: pre-wrap;
398
+ }
399
+
400
+ .make-ai-assistant__assistant-text {
401
+ display: grid;
402
+ font-size: var(--make-ai-internal-font-size-markdown);
403
+ gap: 10px;
404
+ line-height: 1.7;
405
+ max-width: min(100%, 66ch);
406
+ white-space: normal;
407
+ }
408
+
409
+ .make-ai-assistant__assistant-text p,
410
+ .make-ai-assistant__assistant-text ul,
411
+ .make-ai-assistant__assistant-text pre {
412
+ margin: 0;
413
+ }
414
+
415
+ .make-ai-assistant__assistant-text p {
416
+ min-width: 0;
417
+ }
418
+
419
+ .make-ai-assistant__assistant-text ul {
420
+ display: grid;
421
+ gap: 6px;
422
+ list-style: none;
423
+ padding: 1px 0 1px 2px;
424
+ }
425
+
426
+ .make-ai-assistant__assistant-text li {
427
+ min-width: 0;
428
+ padding-left: 15px;
429
+ position: relative;
430
+ }
431
+
432
+ .make-ai-assistant__assistant-text li::before {
433
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 46%, var(--make-ai-internal-border));
434
+ border-radius: 50%;
435
+ content: "";
436
+ height: 5px;
437
+ left: 1px;
438
+ position: absolute;
439
+ top: .72em;
440
+ width: 5px;
441
+ }
442
+
443
+ .make-ai-assistant__assistant-text strong {
444
+ color: color-mix(in srgb, var(--make-ai-internal-text) 92%, var(--make-ai-internal-accent));
445
+ font-weight: 650;
446
+ }
447
+
448
+ .make-ai-assistant__assistant-text code {
449
+ background: color-mix(in srgb, var(--make-ai-internal-surface-strong) 78%, var(--make-ai-internal-bg));
450
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 78%, transparent);
451
+ border-radius: 5px;
452
+ color: color-mix(in srgb, var(--make-ai-internal-text) 88%, var(--make-ai-internal-accent));
453
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", monospace;
454
+ font-size: 1em;
455
+ padding: .05rem .25rem;
456
+ }
457
+
458
+ .make-ai-assistant__assistant-text pre {
459
+ background: var(--make-ai-internal-surface);
460
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 84%, transparent);
461
+ border-radius: 10px;
462
+ color: var(--make-ai-internal-text-secondary);
463
+ font-size: 1em;
464
+ line-height: 1.55;
465
+ max-width: 100%;
466
+ overflow: auto;
467
+ padding: 9px 10px;
468
+ }
469
+
470
+ .make-ai-assistant__assistant-text pre code {
471
+ background: transparent;
472
+ border: 0;
473
+ color: inherit;
474
+ display: block;
475
+ padding: 0;
476
+ white-space: pre;
365
477
  }
366
478
 
367
479
  .make-ai-assistant__typing {
@@ -390,7 +502,7 @@
390
502
  border-radius: 10px;
391
503
  display: flex;
392
504
  flex-direction: column;
393
- font-size: 13px;
505
+ font-size: var(--make-ai-internal-font-size-body);
394
506
  gap: 4px;
395
507
  line-height: 1.55;
396
508
  overflow-wrap: anywhere;
@@ -520,28 +632,57 @@
520
632
  color: var(--make-ai-internal-text-secondary);
521
633
  display: flex;
522
634
  flex-wrap: wrap;
523
- gap: 4px 10px;
524
- min-height: 24px;
635
+ gap: 4px 8px;
636
+ min-height: 28px;
525
637
  }
526
638
 
527
- .make-ai-assistant__reply-actions button {
639
+ .make-ai-assistant__reply-action {
528
640
  background: transparent;
529
641
  border: 0;
530
642
  border-radius: 6px;
531
643
  color: inherit;
532
644
  cursor: pointer;
533
- font-size: 12px;
645
+ font-size: var(--make-ai-internal-font-size-ui);
534
646
  font-weight: 600;
647
+ }
648
+
649
+ .make-ai-assistant__reply-copy {
650
+ align-items: center;
651
+ border: 1px solid transparent;
652
+ display: inline-flex;
653
+ height: 28px;
654
+ justify-content: center;
655
+ padding: 0;
656
+ width: 28px;
657
+ }
658
+
659
+ .make-ai-assistant__reply-copy svg {
660
+ fill: none;
661
+ height: 15px;
662
+ stroke: currentColor;
663
+ stroke-linecap: round;
664
+ stroke-linejoin: round;
665
+ stroke-width: 1.75;
666
+ width: 15px;
667
+ }
668
+
669
+ .make-ai-assistant__reply-regenerate {
535
670
  padding: 3px 0;
536
671
  }
537
672
 
538
- .make-ai-assistant__reply-actions button:hover {
673
+ .make-ai-assistant__reply-copy:hover {
674
+ background: var(--make-ai-internal-surface);
675
+ border-color: color-mix(in srgb, var(--make-ai-internal-accent) 18%, var(--make-ai-internal-border));
676
+ color: var(--make-ai-internal-accent);
677
+ }
678
+
679
+ .make-ai-assistant__reply-regenerate:hover {
539
680
  color: var(--make-ai-internal-accent);
540
681
  }
541
682
 
542
683
  .make-ai-assistant__reply-feedback {
543
684
  color: color-mix(in srgb, var(--make-ai-internal-success) 78%, var(--make-ai-internal-text-secondary));
544
- font-size: 12px;
685
+ font-size: var(--make-ai-internal-font-size-ui);
545
686
  }
546
687
 
547
688
  .make-ai-assistant__reply-feedback[data-copy-status="error"] {
@@ -549,23 +690,42 @@
549
690
  }
550
691
 
551
692
  .make-ai-assistant__back-to-latest {
552
- background: var(--make-ai-internal-bg);
553
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 26%, var(--make-ai-internal-border));
693
+ align-items: center;
694
+ background:
695
+ radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--make-ai-internal-accent) 12%, transparent), transparent 46%),
696
+ color-mix(in srgb, var(--make-ai-internal-bg) 96%, var(--make-ai-internal-surface));
697
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 16%, var(--make-ai-internal-border));
554
698
  border-radius: 999px;
555
699
  bottom: 94px;
556
- box-shadow: 0 8px 20px rgb(30 31 43 / 10%);
557
- color: var(--make-ai-internal-accent);
700
+ box-shadow: 0 10px 24px rgb(30 31 43 / 11%);
701
+ color: color-mix(in srgb, var(--make-ai-internal-accent) 86%, var(--make-ai-internal-text));
558
702
  cursor: pointer;
559
- font-size: 12px;
560
- font-weight: 600;
561
- padding: 7px 11px;
703
+ display: inline-flex;
704
+ height: 34px;
705
+ justify-content: center;
706
+ padding: 0;
562
707
  position: absolute;
563
708
  right: 18px;
709
+ transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
710
+ width: 34px;
564
711
  z-index: 2;
565
712
  }
566
713
 
567
714
  .make-ai-assistant__back-to-latest:hover {
568
- background: var(--make-ai-internal-accent-soft);
715
+ background: var(--make-ai-internal-bg);
716
+ border-color: color-mix(in srgb, var(--make-ai-internal-accent) 30%, var(--make-ai-internal-border));
717
+ box-shadow: 0 12px 28px rgb(30 31 43 / 13%);
718
+ transform: translateY(-1px);
719
+ }
720
+
721
+ .make-ai-assistant__back-to-latest svg {
722
+ fill: none;
723
+ height: 16px;
724
+ stroke: currentColor;
725
+ stroke-linecap: round;
726
+ stroke-linejoin: round;
727
+ stroke-width: 1.85;
728
+ width: 16px;
569
729
  }
570
730
 
571
731
  .make-ai-assistant__retry {
@@ -582,9 +742,10 @@
582
742
  }
583
743
 
584
744
  .make-ai-assistant__composer-region {
585
- background: var(--make-ai-internal-bg);
745
+ background: color-mix(in srgb, var(--make-ai-internal-bg) 94%, var(--make-ai-internal-surface));
586
746
  border-top: 1px solid var(--make-ai-internal-border);
587
- padding: 12px 18px 10px;
747
+ box-shadow: 0 -8px 18px rgb(30 31 43 / 3%);
748
+ padding: 10px 18px 9px;
588
749
  }
589
750
 
590
751
  .make-ai-assistant__suggestions {
@@ -613,35 +774,44 @@
613
774
 
614
775
  .make-ai-assistant__composer {
615
776
  align-items: flex-end;
616
- background: var(--make-ai-internal-bg);
617
- border: 1px solid var(--make-ai-internal-border);
618
- border-radius: 16px;
777
+ background: color-mix(in srgb, var(--make-ai-internal-bg) 96%, var(--make-ai-internal-surface));
778
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 92%, transparent);
779
+ border-radius: 15px;
619
780
  display: flex;
620
- gap: 8px;
621
- padding: 10px 10px 10px 13px;
622
- transition: border-color 160ms ease, box-shadow 160ms ease;
781
+ gap: 9px;
782
+ min-height: 54px;
783
+ padding: 7px 8px 7px 12px;
784
+ transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
623
785
  }
624
786
 
625
787
  .make-ai-assistant__composer:focus-within {
626
- border-color: color-mix(in srgb, var(--make-ai-internal-accent) 46%, var(--make-ai-internal-border));
627
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--make-ai-internal-accent) 8%, transparent);
788
+ background: var(--make-ai-internal-bg);
789
+ border-color: color-mix(in srgb, var(--make-ai-internal-accent) 42%, var(--make-ai-internal-border));
790
+ box-shadow:
791
+ 0 0 0 2px color-mix(in srgb, var(--make-ai-internal-accent) 10%, transparent),
792
+ 0 8px 18px rgb(30 31 43 / 5%);
628
793
  }
629
794
 
630
795
  .make-ai-assistant__composer textarea {
631
796
  background: transparent;
632
797
  border: 0;
633
798
  color: var(--make-ai-internal-text);
634
- line-height: 1.55;
635
- max-height: 120px;
636
- min-height: 46px;
799
+ font-size: var(--make-ai-internal-font-size-body);
800
+ line-height: 1.5;
801
+ max-height: 112px;
802
+ min-height: 38px;
637
803
  outline: 0;
638
- padding: 1px 0;
804
+ padding: 4px 0 2px;
639
805
  resize: none;
640
806
  width: 100%;
641
807
  }
642
808
 
809
+ .make-ai-assistant__composer textarea:focus-visible {
810
+ outline: 0;
811
+ }
812
+
643
813
  .make-ai-assistant__composer textarea::placeholder {
644
- color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 75%, var(--make-ai-internal-bg));
814
+ color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 70%, var(--make-ai-internal-bg));
645
815
  }
646
816
 
647
817
  .make-ai-assistant__send {
@@ -653,13 +823,37 @@
653
823
  cursor: pointer;
654
824
  display: flex;
655
825
  flex: 0 0 auto;
656
- height: 36px;
826
+ height: 34px;
657
827
  justify-content: center;
658
- width: 36px;
828
+ margin-bottom: 2px;
829
+ position: relative;
830
+ transition: background 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
831
+ width: 34px;
832
+ }
833
+
834
+ .make-ai-assistant__send::before {
835
+ content: "";
836
+ inset: -5px;
837
+ position: absolute;
659
838
  }
660
839
 
661
- .make-ai-assistant__send:hover:not(:disabled) { background: var(--make-ai-internal-accent-strong); }
662
- .make-ai-assistant__send:disabled { cursor: not-allowed; opacity: .38; }
840
+ .make-ai-assistant__send svg {
841
+ height: 18px;
842
+ transform: translateX(1px);
843
+ width: 18px;
844
+ }
845
+
846
+ .make-ai-assistant__send:hover:not(:disabled) {
847
+ background: var(--make-ai-internal-accent-strong);
848
+ box-shadow: 0 6px 14px color-mix(in srgb, var(--make-ai-internal-accent) 18%, transparent);
849
+ }
850
+
851
+ .make-ai-assistant__send:disabled {
852
+ background: color-mix(in srgb, var(--make-ai-internal-surface-strong) 72%, var(--make-ai-internal-bg));
853
+ color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 54%, var(--make-ai-internal-bg));
854
+ cursor: not-allowed;
855
+ opacity: 1;
856
+ }
663
857
 
664
858
  .make-ai-assistant__send--stop span {
665
859
  background: currentColor;
@@ -672,7 +866,7 @@
672
866
  color: var(--make-ai-internal-text-secondary);
673
867
  font-size: 10px;
674
868
  line-height: 1.45;
675
- margin: 8px 0 0;
869
+ margin: 7px 0 0;
676
870
  text-align: center;
677
871
  }
678
872
 
@@ -695,7 +889,7 @@
695
889
  }
696
890
 
697
891
  .make-ai-artifact__title {
698
- font-size: 13px;
892
+ font-size: var(--make-ai-internal-font-size-body);
699
893
  font-weight: 600;
700
894
  line-height: 20px;
701
895
  margin: 0;
@@ -845,7 +1039,6 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
845
1039
  }
846
1040
 
847
1041
  .make-ai-assistant__privacy-note {
848
- align-items: flex-start;
849
1042
  margin: 10px 14px 0;
850
1043
  }
851
1044
 
@@ -919,6 +1112,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
919
1112
  animation: none;
920
1113
  }
921
1114
  .make-ai-assistant__launcher,
1115
+ .make-ai-assistant__back-to-latest,
922
1116
  .make-ai-assistant__process summary::after {
923
1117
  transition: none;
924
1118
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qfei-design/make-ai-assistant",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [