@qfei-design/make-ai-assistant 0.2.0 → 0.2.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/styles.css CHANGED
@@ -19,6 +19,11 @@
19
19
  --make-ai-internal-font-size-markdown: var(--make-ai-font-size-markdown, .6875rem);
20
20
  --make-ai-internal-font-size-ui: var(--make-ai-font-size-ui, .75rem);
21
21
  --make-ai-internal-line-height-body: var(--make-ai-line-height-body, 1.58);
22
+ --make-ai-internal-panel-gutter: var(--make-ai-panel-gutter, 16px);
23
+ --make-ai-internal-panel-gutter-compact: var(--make-ai-panel-gutter-compact, 12px);
24
+ --make-ai-internal-message-turn-gap: var(--make-ai-message-turn-gap, 8px);
25
+ --make-ai-internal-assistant-content-gap: var(--make-ai-assistant-content-gap, 12px);
26
+ --make-ai-internal-notice-block-gap: var(--make-ai-notice-block-gap, 8px);
22
27
  }
23
28
 
24
29
  .make-ai-assistant,
@@ -183,7 +188,7 @@
183
188
  grid-template-columns: auto 1fr auto;
184
189
  grid-row: 1;
185
190
  min-height: 70px;
186
- padding: 14px 18px;
191
+ padding: 14px var(--make-ai-internal-panel-gutter);
187
192
  }
188
193
 
189
194
  .make-ai-assistant__header h2,
@@ -258,6 +263,15 @@
258
263
  gap: 2px;
259
264
  }
260
265
 
266
+ .make-ai-assistant__notice-region {
267
+ background: var(--make-ai-internal-bg);
268
+ border-bottom: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 72%, transparent);
269
+ grid-row: 2;
270
+ padding: var(--make-ai-internal-notice-block-gap) var(--make-ai-internal-panel-gutter);
271
+ position: relative;
272
+ z-index: 1;
273
+ }
274
+
261
275
  .make-ai-assistant__privacy-note {
262
276
  align-items: center;
263
277
  background:
@@ -269,9 +283,8 @@
269
283
  display: flex;
270
284
  font-size: .6875rem;
271
285
  gap: 7px;
272
- grid-row: 2;
273
286
  line-height: 1.45;
274
- margin: 10px 18px 0;
287
+ margin: 0;
275
288
  padding: 7px 9px;
276
289
  border-radius: 9px;
277
290
  overflow-wrap: anywhere;
@@ -306,7 +319,11 @@
306
319
  min-width: 0;
307
320
  overflow: auto;
308
321
  overscroll-behavior: contain;
309
- padding: 22px 18px 30px;
322
+ padding: 20px var(--make-ai-internal-panel-gutter) 28px;
323
+ }
324
+
325
+ .make-ai-assistant__body--with-notice {
326
+ padding-top: 12px;
310
327
  }
311
328
 
312
329
  .make-ai-assistant__empty {
@@ -340,6 +357,82 @@
340
357
  margin-top: 8px;
341
358
  }
342
359
 
360
+ .make-ai-assistant__load-failure {
361
+ --make-ai-load-failure-accent: var(--make-ai-internal-accent);
362
+ align-items: center;
363
+ background: transparent;
364
+ border: 0;
365
+ display: flex;
366
+ flex-direction: column;
367
+ gap: 12px;
368
+ max-width: min(100%, 300px);
369
+ padding: 0;
370
+ text-align: center;
371
+ width: 100%;
372
+ }
373
+
374
+ .make-ai-assistant__load-failure[data-load-failure-kind="service"] {
375
+ --make-ai-load-failure-accent: var(--make-ai-internal-warning);
376
+ }
377
+
378
+ .make-ai-assistant__load-failure-icon {
379
+ align-items: center;
380
+ background: color-mix(in srgb, var(--make-ai-load-failure-accent) 10%, var(--make-ai-internal-bg));
381
+ border: 1px solid color-mix(in srgb, var(--make-ai-load-failure-accent) 18%, transparent);
382
+ border-radius: 10px;
383
+ color: var(--make-ai-load-failure-accent);
384
+ display: inline-flex;
385
+ height: 44px;
386
+ justify-content: center;
387
+ width: 44px;
388
+ }
389
+
390
+ .make-ai-assistant__load-failure-icon svg,
391
+ .make-ai-assistant__retry svg {
392
+ fill: none;
393
+ height: 16px;
394
+ stroke: currentColor;
395
+ stroke-linecap: round;
396
+ stroke-linejoin: round;
397
+ stroke-width: 1.8;
398
+ width: 16px;
399
+ }
400
+
401
+ .make-ai-assistant__load-failure-copy {
402
+ align-items: center;
403
+ display: flex;
404
+ flex-direction: column;
405
+ gap: 4px;
406
+ min-width: 0;
407
+ text-align: center;
408
+ }
409
+
410
+ .make-ai-assistant__load-failure-label {
411
+ color: var(--make-ai-load-failure-accent);
412
+ font-size: .625rem;
413
+ font-weight: 700;
414
+ letter-spacing: .04em;
415
+ line-height: 1.4;
416
+ }
417
+
418
+ .make-ai-assistant__load-failure h3,
419
+ .make-ai-assistant__load-failure p {
420
+ margin: 0;
421
+ }
422
+
423
+ .make-ai-assistant__load-failure h3 {
424
+ color: var(--make-ai-internal-text);
425
+ font-size: 1rem;
426
+ font-weight: 700;
427
+ line-height: 1.45;
428
+ }
429
+
430
+ .make-ai-assistant__load-failure p {
431
+ color: var(--make-ai-internal-text-secondary);
432
+ font-size: var(--make-ai-internal-font-size-body);
433
+ line-height: 1.55;
434
+ }
435
+
343
436
  .make-ai-assistant__message {
344
437
  display: block;
345
438
  margin-bottom: 24px;
@@ -353,10 +446,12 @@
353
446
  .make-ai-assistant__message-turn {
354
447
  display: flex;
355
448
  flex-direction: column;
449
+ gap: var(--make-ai-internal-message-turn-gap);
356
450
  min-width: 0;
357
451
  }
358
452
 
359
453
  .make-ai-assistant__message--assistant .make-ai-assistant__message-turn {
454
+ gap: var(--make-ai-internal-assistant-content-gap);
360
455
  max-width: 100%;
361
456
  }
362
457
 
@@ -384,20 +479,14 @@
384
479
  }
385
480
 
386
481
  .make-ai-assistant__message--assistant .make-ai-assistant__message-stack {
387
- margin-left: 30px;
388
- max-width: calc(100% - 30px);
482
+ max-width: 100%;
389
483
  }
390
484
 
391
485
  .make-ai-assistant__message--user .make-ai-assistant__message-stack {
392
486
  align-items: flex-end;
393
- margin-top: 5px;
394
487
  width: 100%;
395
488
  }
396
489
 
397
- .make-ai-assistant__message--user:not([data-message-has-identity]) .make-ai-assistant__message-stack {
398
- margin-top: 0;
399
- }
400
-
401
490
  .make-ai-assistant__message-sender {
402
491
  color: var(--make-ai-internal-text-secondary);
403
492
  font-size: 12px;
@@ -464,6 +553,7 @@
464
553
  .make-ai-assistant__assistant-text p,
465
554
  .make-ai-assistant__assistant-text .make-ai-assistant__markdown-heading,
466
555
  .make-ai-assistant__assistant-text ul,
556
+ .make-ai-assistant__assistant-text .make-ai-assistant__markdown-table-scroll,
467
557
  .make-ai-assistant__assistant-text pre {
468
558
  margin: 0;
469
559
  }
@@ -558,6 +648,51 @@
558
648
  white-space: pre;
559
649
  }
560
650
 
651
+ .make-ai-assistant__markdown-table-scroll {
652
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 88%, transparent);
653
+ border-radius: 10px;
654
+ max-width: 100%;
655
+ overflow-x: auto;
656
+ overscroll-behavior-inline: contain;
657
+ }
658
+
659
+ .make-ai-assistant__markdown-table {
660
+ border-collapse: collapse;
661
+ font-size: 1em;
662
+ min-width: max-content;
663
+ width: 100%;
664
+ }
665
+
666
+ .make-ai-assistant__markdown-table th,
667
+ .make-ai-assistant__markdown-table td {
668
+ border-bottom: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 82%, transparent);
669
+ min-width: 0;
670
+ padding: 6px 8px;
671
+ text-align: left;
672
+ vertical-align: top;
673
+ }
674
+
675
+ .make-ai-assistant__markdown-table th {
676
+ background: color-mix(in srgb, var(--make-ai-internal-surface) 72%, var(--make-ai-internal-bg));
677
+ color: color-mix(in srgb, var(--make-ai-internal-text) 92%, var(--make-ai-internal-accent));
678
+ font-weight: 680;
679
+ white-space: nowrap;
680
+ }
681
+
682
+ .make-ai-assistant__markdown-table td {
683
+ color: var(--make-ai-internal-text-secondary);
684
+ overflow-wrap: anywhere;
685
+ }
686
+
687
+ .make-ai-assistant__markdown-table tbody tr:last-child td {
688
+ border-bottom: 0;
689
+ }
690
+
691
+ .make-ai-assistant__markdown-table th + th,
692
+ .make-ai-assistant__markdown-table td + td {
693
+ border-left: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 72%, transparent);
694
+ }
695
+
561
696
  .make-ai-assistant__typing {
562
697
  align-items: center;
563
698
  background: var(--make-ai-internal-surface);
@@ -592,9 +727,44 @@
592
727
  }
593
728
 
594
729
  .make-ai-assistant__message-status--error {
595
- background: color-mix(in srgb, var(--make-ai-internal-danger) 7%, var(--make-ai-internal-surface));
596
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 22%, var(--make-ai-internal-border));
730
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 5%, var(--make-ai-internal-surface));
731
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 20%, var(--make-ai-internal-border));
732
+ box-shadow: inset 3px 0 0 color-mix(in srgb, var(--make-ai-internal-danger) 68%, transparent);
733
+ gap: 8px;
734
+ }
735
+
736
+ .make-ai-assistant__message-status-header {
737
+ align-items: center;
597
738
  color: var(--make-ai-internal-danger);
739
+ display: flex;
740
+ gap: 8px;
741
+ line-height: 20px;
742
+ }
743
+
744
+ .make-ai-assistant__message-status-icon {
745
+ align-items: center;
746
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 10%, var(--make-ai-internal-bg));
747
+ border-radius: 50%;
748
+ display: inline-flex;
749
+ flex: 0 0 auto;
750
+ height: 24px;
751
+ justify-content: center;
752
+ width: 24px;
753
+ }
754
+
755
+ .make-ai-assistant__message-status-icon svg {
756
+ fill: none;
757
+ height: 15px;
758
+ stroke: currentColor;
759
+ stroke-linecap: round;
760
+ stroke-linejoin: round;
761
+ stroke-width: 1.9;
762
+ width: 15px;
763
+ }
764
+
765
+ .make-ai-assistant__message-status-message {
766
+ color: var(--make-ai-internal-text-secondary);
767
+ padding-left: 32px;
598
768
  }
599
769
 
600
770
  .make-ai-assistant__progress {
@@ -664,11 +834,6 @@
664
834
  transform: rotate(225deg);
665
835
  }
666
836
 
667
- .make-ai-assistant__process-title {
668
- flex: 1;
669
- min-width: 0;
670
- }
671
-
672
837
  .make-ai-assistant__process-count {
673
838
  color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 78%, var(--make-ai-internal-bg));
674
839
  flex: 0 0 auto;
@@ -813,7 +978,7 @@
813
978
  justify-content: center;
814
979
  padding: 0;
815
980
  position: absolute;
816
- right: 18px;
981
+ right: var(--make-ai-internal-panel-gutter);
817
982
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
818
983
  width: 34px;
819
984
  z-index: 2;
@@ -837,16 +1002,53 @@
837
1002
  }
838
1003
 
839
1004
  .make-ai-assistant__retry {
1005
+ align-items: center;
840
1006
  align-self: flex-start;
841
- background: transparent;
842
- border: 1px solid currentColor;
843
- border-radius: 7px;
844
- color: inherit;
1007
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 7%, var(--make-ai-internal-bg));
1008
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 28%, var(--make-ai-internal-border));
1009
+ border-radius: 8px;
1010
+ color: var(--make-ai-internal-danger);
845
1011
  cursor: pointer;
1012
+ display: inline-flex;
846
1013
  font-size: 12px;
847
1014
  font-weight: 600;
848
- margin-top: 3px;
849
- padding: 5px 9px;
1015
+ gap: 6px;
1016
+ margin-top: 4px;
1017
+ min-height: 32px;
1018
+ padding: 0 10px;
1019
+ transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
1020
+ }
1021
+
1022
+ .make-ai-assistant__retry:hover {
1023
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 11%, var(--make-ai-internal-bg));
1024
+ border-color: color-mix(in srgb, var(--make-ai-internal-danger) 44%, var(--make-ai-internal-border));
1025
+ }
1026
+
1027
+ .make-ai-assistant__retry:active {
1028
+ transform: translateY(1px);
1029
+ }
1030
+
1031
+ .make-ai-assistant__retry--primary {
1032
+ align-self: center;
1033
+ background: var(--make-ai-internal-accent);
1034
+ border-color: var(--make-ai-internal-accent);
1035
+ border-radius: 9px;
1036
+ color: #fcfcff;
1037
+ font-weight: 650;
1038
+ margin-top: 0;
1039
+ min-height: 40px;
1040
+ padding: 0 16px;
1041
+ }
1042
+
1043
+ .make-ai-assistant__retry--primary:hover {
1044
+ background: var(--make-ai-internal-accent-strong);
1045
+ border-color: var(--make-ai-internal-accent-strong);
1046
+ box-shadow: 0 4px 10px color-mix(in srgb, var(--make-ai-internal-accent) 18%, transparent);
1047
+ transform: translateY(-1px);
1048
+ }
1049
+
1050
+ .make-ai-assistant__retry--primary:active {
1051
+ transform: translateY(0);
850
1052
  }
851
1053
 
852
1054
  .make-ai-assistant__composer-region {
@@ -854,7 +1056,7 @@
854
1056
  border-top: 1px solid var(--make-ai-internal-border);
855
1057
  grid-row: 4;
856
1058
  box-shadow: 0 -8px 18px rgb(30 31 43 / 3%);
857
- padding: 10px 18px 9px;
1059
+ padding: 10px var(--make-ai-internal-panel-gutter) 9px;
858
1060
  }
859
1061
 
860
1062
  .make-ai-assistant__suggestions {
@@ -1169,15 +1371,19 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1169
1371
  gap: 8px;
1170
1372
  grid-template-columns: auto minmax(0, 1fr) auto;
1171
1373
  min-height: 64px;
1172
- padding: 12px 14px;
1374
+ padding: 12px var(--make-ai-internal-panel-gutter-compact);
1173
1375
  }
1174
1376
 
1175
- .make-ai-assistant__privacy-note {
1176
- margin: 10px 14px 0;
1377
+ .make-ai-assistant__notice-region {
1378
+ padding: var(--make-ai-internal-notice-block-gap) var(--make-ai-internal-panel-gutter-compact);
1177
1379
  }
1178
1380
 
1179
1381
  .make-ai-assistant__body {
1180
- padding: 18px 14px 28px;
1382
+ padding: 16px var(--make-ai-internal-panel-gutter-compact) 24px;
1383
+ }
1384
+
1385
+ .make-ai-assistant__body--with-notice {
1386
+ padding-top: 12px;
1181
1387
  }
1182
1388
 
1183
1389
  .make-ai-assistant__message {
@@ -1189,8 +1395,17 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1189
1395
  }
1190
1396
 
1191
1397
  .make-ai-assistant__message--assistant .make-ai-assistant__message-stack {
1192
- margin-left: 30px;
1193
- max-width: calc(100% - 30px);
1398
+ max-width: 100%;
1399
+ }
1400
+
1401
+ .make-ai-assistant__load-failure {
1402
+ gap: 10px;
1403
+ }
1404
+
1405
+ .make-ai-assistant__load-failure-icon {
1406
+ border-radius: 9px;
1407
+ height: 40px;
1408
+ width: 40px;
1194
1409
  }
1195
1410
 
1196
1411
  .make-ai-assistant__suggestions {
@@ -1205,7 +1420,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1205
1420
  }
1206
1421
 
1207
1422
  .make-ai-assistant__composer-region {
1208
- padding: 10px 14px 9px;
1423
+ padding: 10px var(--make-ai-internal-panel-gutter-compact) 9px;
1209
1424
  }
1210
1425
 
1211
1426
  .make-ai-assistant__back-to-latest {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qfei-design/make-ai-assistant",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [