@qfei-design/make-ai-assistant 0.2.1 → 0.2.3

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-header-height: var(--make-ai-header-height, 50px);
25
+ --make-ai-internal-message-turn-gap: var(--make-ai-message-turn-gap, 8px);
26
+ --make-ai-internal-assistant-content-gap: var(--make-ai-assistant-content-gap, 12px);
22
27
  }
23
28
 
24
29
  .make-ai-assistant,
@@ -164,11 +169,49 @@
164
169
  animation: make-ai-drawer-in 180ms cubic-bezier(.2, .75, .35, 1);
165
170
  }
166
171
 
172
+ .make-ai-assistant__drawer-resize-handle {
173
+ background: transparent;
174
+ border: 0;
175
+ bottom: 0;
176
+ cursor: ew-resize;
177
+ left: -6px;
178
+ outline: 0;
179
+ position: absolute;
180
+ top: 0;
181
+ touch-action: none;
182
+ width: 12px;
183
+ z-index: 1;
184
+ }
185
+
186
+ .make-ai-assistant__drawer-resize-handle::after {
187
+ background: var(--make-ai-internal-accent);
188
+ border-radius: 999px;
189
+ content: "";
190
+ height: 100%;
191
+ left: 50%;
192
+ opacity: 0;
193
+ position: absolute;
194
+ top: 0;
195
+ transform: translateX(-50%);
196
+ transition: opacity 160ms ease;
197
+ width: 3px;
198
+ }
199
+
200
+ .make-ai-assistant__drawer-resize-handle:hover::after,
201
+ .make-ai-assistant__drawer[data-resizing] .make-ai-assistant__drawer-resize-handle::after,
202
+ .make-ai-assistant__drawer-resize-handle:focus-visible::after {
203
+ opacity: .7;
204
+ }
205
+
206
+ .make-ai-assistant__drawer-resize-handle:focus-visible {
207
+ box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--make-ai-internal-accent) 35%, transparent);
208
+ }
209
+
167
210
  .make-ai-assistant__panel {
168
211
  background: var(--make-ai-internal-bg);
169
212
  container-type: inline-size;
170
213
  display: grid;
171
- grid-template-rows: auto auto minmax(0, 1fr) auto;
214
+ grid-template-rows: auto minmax(0, 1fr) auto;
172
215
  height: 100%;
173
216
  min-height: 360px;
174
217
  min-width: 0;
@@ -179,11 +222,13 @@
179
222
  align-items: center;
180
223
  border-bottom: 1px solid var(--make-ai-internal-border);
181
224
  display: grid;
182
- gap: 10px;
225
+ gap: 8px;
183
226
  grid-template-columns: auto 1fr auto;
184
227
  grid-row: 1;
185
- min-height: 70px;
186
- padding: 14px 18px;
228
+ height: var(--make-ai-internal-header-height);
229
+ min-height: var(--make-ai-internal-header-height);
230
+ padding: 7px var(--make-ai-internal-panel-gutter);
231
+ position: relative;
187
232
  }
188
233
 
189
234
  .make-ai-assistant__header h2,
@@ -194,19 +239,16 @@
194
239
  }
195
240
 
196
241
  .make-ai-assistant__header h2 {
197
- font-size: 15px;
242
+ font-size: .875rem;
198
243
  font-weight: 700;
199
244
  letter-spacing: 0;
200
- line-height: 22px;
201
- overflow-wrap: anywhere;
245
+ line-height: 18px;
202
246
  }
203
247
 
204
248
  .make-ai-assistant__header p {
205
249
  color: var(--make-ai-internal-text-secondary);
206
- font-size: 12px;
207
- line-height: 18px;
208
- margin-top: 1px;
209
- overflow-wrap: anywhere;
250
+ font-size: .6875rem;
251
+ line-height: 14px;
210
252
  }
211
253
 
212
254
  .make-ai-assistant__avatar {
@@ -258,55 +300,122 @@
258
300
  gap: 2px;
259
301
  }
260
302
 
261
- .make-ai-assistant__privacy-note {
303
+ .make-ai-assistant__header-content,
304
+ .make-ai-assistant__header-title-row,
305
+ .make-ai-assistant__header-context {
306
+ min-width: 0;
307
+ }
308
+
309
+ .make-ai-assistant__header-title-row,
310
+ .make-ai-assistant__header-context {
262
311
  align-items: center;
263
- background:
264
- radial-gradient(circle at 0 0, color-mix(in srgb, var(--make-ai-internal-accent) 9%, transparent), transparent 42%),
265
- color-mix(in srgb, var(--make-ai-internal-bg) 86%, var(--make-ai-internal-surface));
266
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-border));
267
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 64%);
268
- color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 90%, var(--make-ai-internal-accent));
269
312
  display: flex;
270
- font-size: .6875rem;
271
- gap: 7px;
272
- grid-row: 2;
273
- line-height: 1.45;
274
- margin: 10px 18px 0;
275
- padding: 7px 9px;
276
- border-radius: 9px;
277
- overflow-wrap: anywhere;
278
313
  }
279
314
 
280
- .make-ai-assistant__privacy-icon {
315
+ .make-ai-assistant__header-title-row {
316
+ gap: 8px;
317
+ }
318
+
319
+ .make-ai-assistant__header-title {
320
+ flex: 1 1 auto;
321
+ min-width: 0;
322
+ overflow: hidden;
323
+ text-overflow: ellipsis;
324
+ white-space: nowrap;
325
+ }
326
+
327
+ .make-ai-assistant__read-only-tag {
328
+ background: color-mix(in srgb, var(--make-ai-internal-success) 10%, var(--make-ai-internal-bg));
329
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-success) 24%, var(--make-ai-internal-border));
330
+ border-radius: 5px;
331
+ color: color-mix(in srgb, var(--make-ai-internal-success) 82%, var(--make-ai-internal-text));
332
+ flex: 0 0 auto;
333
+ font-size: .625rem;
334
+ font-weight: 650;
335
+ line-height: 16px;
336
+ padding: 0 5px;
337
+ }
338
+
339
+ .make-ai-assistant__header-context {
340
+ gap: 6px;
341
+ margin-top: 1px;
342
+ }
343
+
344
+ .make-ai-assistant__header-context p {
345
+ min-width: 0;
346
+ overflow: hidden;
347
+ text-overflow: ellipsis;
348
+ white-space: nowrap;
349
+ }
350
+
351
+ .make-ai-assistant__header-context-help {
281
352
  align-items: center;
282
- background: color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-bg));
283
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 12%, transparent);
284
- border-radius: 7px;
285
- color: color-mix(in srgb, var(--make-ai-internal-accent) 76%, var(--make-ai-internal-text-secondary));
353
+ border-radius: 50%;
354
+ color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 84%, var(--make-ai-internal-accent));
355
+ cursor: help;
286
356
  display: inline-flex;
287
357
  flex: 0 0 auto;
288
- height: 20px;
358
+ height: 18px;
289
359
  justify-content: center;
290
- width: 20px;
360
+ width: 18px;
291
361
  }
292
362
 
293
- .make-ai-assistant__privacy-icon svg {
363
+ .make-ai-assistant__header-context-help svg {
294
364
  fill: none;
295
- height: 13px;
365
+ height: 14px;
296
366
  stroke: currentColor;
297
367
  stroke-linecap: round;
298
368
  stroke-linejoin: round;
299
369
  stroke-width: 1.8;
300
- width: 13px;
370
+ width: 14px;
371
+ }
372
+
373
+ .make-ai-assistant__header-context-help:focus-visible {
374
+ outline: 2px solid color-mix(in srgb, var(--make-ai-internal-accent) 32%, transparent);
375
+ outline-offset: 2px;
376
+ }
377
+
378
+ .make-ai-assistant__header-context-help[data-tooltip]::after {
379
+ background: color-mix(in srgb, var(--make-ai-internal-text) 94%, #000);
380
+ border-radius: 8px;
381
+ bottom: auto;
382
+ box-shadow: 0 8px 18px rgb(30 31 43 / 18%);
383
+ color: #fcfcff;
384
+ content: attr(data-tooltip);
385
+ font-size: 11px;
386
+ font-weight: 500;
387
+ left: auto;
388
+ line-height: 1.5;
389
+ max-width: min(
390
+ 280px,
391
+ calc(100% - var(--make-ai-internal-panel-gutter) - var(--make-ai-internal-panel-gutter))
392
+ );
393
+ opacity: 0;
394
+ padding: 7px 8px;
395
+ pointer-events: none;
396
+ position: absolute;
397
+ right: var(--make-ai-internal-panel-gutter);
398
+ top: calc(100% + 8px);
399
+ transform: translateY(-2px);
400
+ transition: opacity 120ms ease, transform 120ms ease;
401
+ white-space: normal;
402
+ width: max-content;
403
+ z-index: 4;
404
+ }
405
+
406
+ .make-ai-assistant__header-context-help[data-tooltip]:hover::after,
407
+ .make-ai-assistant__header-context-help[data-tooltip]:focus-visible::after {
408
+ opacity: 1;
409
+ transform: translateY(0);
301
410
  }
302
411
 
303
412
  .make-ai-assistant__body {
304
- grid-row: 3;
413
+ grid-row: 2;
305
414
  min-height: 0;
306
415
  min-width: 0;
307
416
  overflow: auto;
308
417
  overscroll-behavior: contain;
309
- padding: 22px 18px 30px;
418
+ padding: 20px var(--make-ai-internal-panel-gutter) 28px;
310
419
  }
311
420
 
312
421
  .make-ai-assistant__empty {
@@ -340,6 +449,82 @@
340
449
  margin-top: 8px;
341
450
  }
342
451
 
452
+ .make-ai-assistant__load-failure {
453
+ --make-ai-load-failure-accent: var(--make-ai-internal-accent);
454
+ align-items: center;
455
+ background: transparent;
456
+ border: 0;
457
+ display: flex;
458
+ flex-direction: column;
459
+ gap: 12px;
460
+ max-width: min(100%, 300px);
461
+ padding: 0;
462
+ text-align: center;
463
+ width: 100%;
464
+ }
465
+
466
+ .make-ai-assistant__load-failure[data-load-failure-kind="service"] {
467
+ --make-ai-load-failure-accent: var(--make-ai-internal-warning);
468
+ }
469
+
470
+ .make-ai-assistant__load-failure-icon {
471
+ align-items: center;
472
+ background: color-mix(in srgb, var(--make-ai-load-failure-accent) 10%, var(--make-ai-internal-bg));
473
+ border: 1px solid color-mix(in srgb, var(--make-ai-load-failure-accent) 18%, transparent);
474
+ border-radius: 10px;
475
+ color: var(--make-ai-load-failure-accent);
476
+ display: inline-flex;
477
+ height: 44px;
478
+ justify-content: center;
479
+ width: 44px;
480
+ }
481
+
482
+ .make-ai-assistant__load-failure-icon svg,
483
+ .make-ai-assistant__retry svg {
484
+ fill: none;
485
+ height: 16px;
486
+ stroke: currentColor;
487
+ stroke-linecap: round;
488
+ stroke-linejoin: round;
489
+ stroke-width: 1.8;
490
+ width: 16px;
491
+ }
492
+
493
+ .make-ai-assistant__load-failure-copy {
494
+ align-items: center;
495
+ display: flex;
496
+ flex-direction: column;
497
+ gap: 4px;
498
+ min-width: 0;
499
+ text-align: center;
500
+ }
501
+
502
+ .make-ai-assistant__load-failure-label {
503
+ color: var(--make-ai-load-failure-accent);
504
+ font-size: .625rem;
505
+ font-weight: 700;
506
+ letter-spacing: .04em;
507
+ line-height: 1.4;
508
+ }
509
+
510
+ .make-ai-assistant__load-failure h3,
511
+ .make-ai-assistant__load-failure p {
512
+ margin: 0;
513
+ }
514
+
515
+ .make-ai-assistant__load-failure h3 {
516
+ color: var(--make-ai-internal-text);
517
+ font-size: 1rem;
518
+ font-weight: 700;
519
+ line-height: 1.45;
520
+ }
521
+
522
+ .make-ai-assistant__load-failure p {
523
+ color: var(--make-ai-internal-text-secondary);
524
+ font-size: var(--make-ai-internal-font-size-body);
525
+ line-height: 1.55;
526
+ }
527
+
343
528
  .make-ai-assistant__message {
344
529
  display: block;
345
530
  margin-bottom: 24px;
@@ -353,10 +538,12 @@
353
538
  .make-ai-assistant__message-turn {
354
539
  display: flex;
355
540
  flex-direction: column;
541
+ gap: var(--make-ai-internal-message-turn-gap);
356
542
  min-width: 0;
357
543
  }
358
544
 
359
545
  .make-ai-assistant__message--assistant .make-ai-assistant__message-turn {
546
+ gap: var(--make-ai-internal-assistant-content-gap);
360
547
  max-width: 100%;
361
548
  }
362
549
 
@@ -389,14 +576,9 @@
389
576
 
390
577
  .make-ai-assistant__message--user .make-ai-assistant__message-stack {
391
578
  align-items: flex-end;
392
- margin-top: 5px;
393
579
  width: 100%;
394
580
  }
395
581
 
396
- .make-ai-assistant__message--user:not([data-message-has-identity]) .make-ai-assistant__message-stack {
397
- margin-top: 0;
398
- }
399
-
400
582
  .make-ai-assistant__message-sender {
401
583
  color: var(--make-ai-internal-text-secondary);
402
584
  font-size: 12px;
@@ -463,25 +645,23 @@
463
645
  .make-ai-assistant__assistant-text p,
464
646
  .make-ai-assistant__assistant-text .make-ai-assistant__markdown-heading,
465
647
  .make-ai-assistant__assistant-text ul,
648
+ .make-ai-assistant__assistant-text .make-ai-assistant__markdown-table-scroll,
466
649
  .make-ai-assistant__assistant-text pre {
467
650
  margin: 0;
468
651
  }
469
652
 
470
653
  .make-ai-assistant__markdown-heading {
471
- align-items: center;
472
- background: color-mix(in srgb, var(--make-ai-internal-accent) 2%, var(--make-ai-internal-bg));
473
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 5%, var(--make-ai-internal-border));
474
- border-radius: 9px;
475
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 36%);
654
+ background: transparent;
655
+ border: 0;
656
+ border-left: 3px solid color-mix(in srgb, var(--make-ai-internal-accent) 68%, var(--make-ai-internal-border));
476
657
  color: color-mix(in srgb, var(--make-ai-internal-text) 94%, var(--make-ai-internal-accent));
477
- display: flex;
658
+ display: block;
478
659
  font-size: 1.04em;
479
660
  font-weight: 720;
480
- gap: 6px;
481
661
  letter-spacing: -.01em;
482
662
  line-height: 1.45;
483
663
  min-width: 0;
484
- padding: 4px 8px;
664
+ padding: 0 0 0 8px;
485
665
  }
486
666
 
487
667
  .make-ai-assistant__markdown-heading--3,
@@ -557,6 +737,51 @@
557
737
  white-space: pre;
558
738
  }
559
739
 
740
+ .make-ai-assistant__markdown-table-scroll {
741
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 88%, transparent);
742
+ border-radius: 10px;
743
+ max-width: 100%;
744
+ overflow-x: auto;
745
+ overscroll-behavior-inline: contain;
746
+ }
747
+
748
+ .make-ai-assistant__markdown-table {
749
+ border-collapse: collapse;
750
+ font-size: 1em;
751
+ min-width: max-content;
752
+ width: 100%;
753
+ }
754
+
755
+ .make-ai-assistant__markdown-table th,
756
+ .make-ai-assistant__markdown-table td {
757
+ border-bottom: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 82%, transparent);
758
+ min-width: 0;
759
+ padding: 6px 8px;
760
+ text-align: left;
761
+ vertical-align: top;
762
+ }
763
+
764
+ .make-ai-assistant__markdown-table th {
765
+ background: color-mix(in srgb, var(--make-ai-internal-surface) 72%, var(--make-ai-internal-bg));
766
+ color: color-mix(in srgb, var(--make-ai-internal-text) 92%, var(--make-ai-internal-accent));
767
+ font-weight: 680;
768
+ white-space: nowrap;
769
+ }
770
+
771
+ .make-ai-assistant__markdown-table td {
772
+ color: var(--make-ai-internal-text-secondary);
773
+ overflow-wrap: anywhere;
774
+ }
775
+
776
+ .make-ai-assistant__markdown-table tbody tr:last-child td {
777
+ border-bottom: 0;
778
+ }
779
+
780
+ .make-ai-assistant__markdown-table th + th,
781
+ .make-ai-assistant__markdown-table td + td {
782
+ border-left: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 72%, transparent);
783
+ }
784
+
560
785
  .make-ai-assistant__typing {
561
786
  align-items: center;
562
787
  background: var(--make-ai-internal-surface);
@@ -591,9 +816,44 @@
591
816
  }
592
817
 
593
818
  .make-ai-assistant__message-status--error {
594
- background: color-mix(in srgb, var(--make-ai-internal-danger) 7%, var(--make-ai-internal-surface));
595
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 22%, var(--make-ai-internal-border));
819
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 5%, var(--make-ai-internal-surface));
820
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 20%, var(--make-ai-internal-border));
821
+ box-shadow: inset 3px 0 0 color-mix(in srgb, var(--make-ai-internal-danger) 68%, transparent);
822
+ gap: 8px;
823
+ }
824
+
825
+ .make-ai-assistant__message-status-header {
826
+ align-items: center;
596
827
  color: var(--make-ai-internal-danger);
828
+ display: flex;
829
+ gap: 8px;
830
+ line-height: 20px;
831
+ }
832
+
833
+ .make-ai-assistant__message-status-icon {
834
+ align-items: center;
835
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 10%, var(--make-ai-internal-bg));
836
+ border-radius: 50%;
837
+ display: inline-flex;
838
+ flex: 0 0 auto;
839
+ height: 24px;
840
+ justify-content: center;
841
+ width: 24px;
842
+ }
843
+
844
+ .make-ai-assistant__message-status-icon svg {
845
+ fill: none;
846
+ height: 15px;
847
+ stroke: currentColor;
848
+ stroke-linecap: round;
849
+ stroke-linejoin: round;
850
+ stroke-width: 1.9;
851
+ width: 15px;
852
+ }
853
+
854
+ .make-ai-assistant__message-status-message {
855
+ color: var(--make-ai-internal-text-secondary);
856
+ padding-left: 32px;
597
857
  }
598
858
 
599
859
  .make-ai-assistant__progress {
@@ -663,11 +923,6 @@
663
923
  transform: rotate(225deg);
664
924
  }
665
925
 
666
- .make-ai-assistant__process-title {
667
- flex: 1;
668
- min-width: 0;
669
- }
670
-
671
926
  .make-ai-assistant__process-count {
672
927
  color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 78%, var(--make-ai-internal-bg));
673
928
  flex: 0 0 auto;
@@ -812,7 +1067,7 @@
812
1067
  justify-content: center;
813
1068
  padding: 0;
814
1069
  position: absolute;
815
- right: 18px;
1070
+ right: var(--make-ai-internal-panel-gutter);
816
1071
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
817
1072
  width: 34px;
818
1073
  z-index: 2;
@@ -836,24 +1091,61 @@
836
1091
  }
837
1092
 
838
1093
  .make-ai-assistant__retry {
1094
+ align-items: center;
839
1095
  align-self: flex-start;
840
- background: transparent;
841
- border: 1px solid currentColor;
842
- border-radius: 7px;
843
- color: inherit;
1096
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 7%, var(--make-ai-internal-bg));
1097
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 28%, var(--make-ai-internal-border));
1098
+ border-radius: 8px;
1099
+ color: var(--make-ai-internal-danger);
844
1100
  cursor: pointer;
1101
+ display: inline-flex;
845
1102
  font-size: 12px;
846
1103
  font-weight: 600;
847
- margin-top: 3px;
848
- padding: 5px 9px;
1104
+ gap: 6px;
1105
+ margin-top: 4px;
1106
+ min-height: 32px;
1107
+ padding: 0 10px;
1108
+ transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
1109
+ }
1110
+
1111
+ .make-ai-assistant__retry:hover {
1112
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 11%, var(--make-ai-internal-bg));
1113
+ border-color: color-mix(in srgb, var(--make-ai-internal-danger) 44%, var(--make-ai-internal-border));
1114
+ }
1115
+
1116
+ .make-ai-assistant__retry:active {
1117
+ transform: translateY(1px);
1118
+ }
1119
+
1120
+ .make-ai-assistant__retry--primary {
1121
+ align-self: center;
1122
+ background: var(--make-ai-internal-accent);
1123
+ border-color: var(--make-ai-internal-accent);
1124
+ border-radius: 9px;
1125
+ color: #fcfcff;
1126
+ font-weight: 650;
1127
+ margin-top: 0;
1128
+ min-height: 40px;
1129
+ padding: 0 16px;
1130
+ }
1131
+
1132
+ .make-ai-assistant__retry--primary:hover {
1133
+ background: var(--make-ai-internal-accent-strong);
1134
+ border-color: var(--make-ai-internal-accent-strong);
1135
+ box-shadow: 0 4px 10px color-mix(in srgb, var(--make-ai-internal-accent) 18%, transparent);
1136
+ transform: translateY(-1px);
1137
+ }
1138
+
1139
+ .make-ai-assistant__retry--primary:active {
1140
+ transform: translateY(0);
849
1141
  }
850
1142
 
851
1143
  .make-ai-assistant__composer-region {
852
1144
  background: color-mix(in srgb, var(--make-ai-internal-bg) 94%, var(--make-ai-internal-surface));
853
1145
  border-top: 1px solid var(--make-ai-internal-border);
854
- grid-row: 4;
1146
+ grid-row: 3;
855
1147
  box-shadow: 0 -8px 18px rgb(30 31 43 / 3%);
856
- padding: 10px 18px 9px;
1148
+ padding: 10px var(--make-ai-internal-panel-gutter) 9px;
857
1149
  }
858
1150
 
859
1151
  .make-ai-assistant__suggestions {
@@ -1167,16 +1459,11 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1167
1459
  .make-ai-assistant__header {
1168
1460
  gap: 8px;
1169
1461
  grid-template-columns: auto minmax(0, 1fr) auto;
1170
- min-height: 64px;
1171
- padding: 12px 14px;
1172
- }
1173
-
1174
- .make-ai-assistant__privacy-note {
1175
- margin: 10px 14px 0;
1462
+ padding: 7px var(--make-ai-internal-panel-gutter-compact);
1176
1463
  }
1177
1464
 
1178
1465
  .make-ai-assistant__body {
1179
- padding: 18px 14px 28px;
1466
+ padding: 16px var(--make-ai-internal-panel-gutter-compact) 24px;
1180
1467
  }
1181
1468
 
1182
1469
  .make-ai-assistant__message {
@@ -1191,6 +1478,16 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1191
1478
  max-width: 100%;
1192
1479
  }
1193
1480
 
1481
+ .make-ai-assistant__load-failure {
1482
+ gap: 10px;
1483
+ }
1484
+
1485
+ .make-ai-assistant__load-failure-icon {
1486
+ border-radius: 9px;
1487
+ height: 40px;
1488
+ width: 40px;
1489
+ }
1490
+
1194
1491
  .make-ai-assistant__suggestions {
1195
1492
  display: grid;
1196
1493
  grid-template-columns: minmax(0, 1fr);
@@ -1203,7 +1500,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1203
1500
  }
1204
1501
 
1205
1502
  .make-ai-assistant__composer-region {
1206
- padding: 10px 14px 9px;
1503
+ padding: 10px var(--make-ai-internal-panel-gutter-compact) 9px;
1207
1504
  }
1208
1505
 
1209
1506
  .make-ai-assistant__back-to-latest {
@@ -1217,6 +1514,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1217
1514
 
1218
1515
  @media (max-width: 560px) {
1219
1516
  .make-ai-assistant__drawer { width: 100vw; }
1517
+ .make-ai-assistant__drawer-resize-handle { display: none; }
1220
1518
  .make-ai-assistant__launcher { right: var(--make-ai-launcher-mobile-right, 16px); }
1221
1519
  .make-ai-artifact__record {
1222
1520
  grid-template-columns: minmax(0, 1fr) auto;
@@ -1247,6 +1545,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1247
1545
  .make-ai-assistant__launcher,
1248
1546
  .make-ai-assistant__launcher > svg,
1249
1547
  .make-ai-assistant__back-to-latest,
1548
+ .make-ai-assistant__drawer-resize-handle::after,
1250
1549
  .make-ai-assistant__reply-action[data-tooltip]::after,
1251
1550
  .make-ai-assistant__send[data-tooltip]::after,
1252
1551
  .make-ai-assistant__process summary::after {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qfei-design/make-ai-assistant",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [