@qfei-design/make-ai-assistant 0.1.2 → 0.1.4

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
@@ -1,19 +1,19 @@
1
1
  :where(.make-ai-assistant, .make-ai-artifact) {
2
2
  --make-ai-internal-accent: var(--make-ai-accent, var(--make-color-primary, #5147f3));
3
3
  --make-ai-internal-accent-strong: var(--make-ai-accent-strong, var(--make-color-primary-hover, #4037da));
4
- --make-ai-internal-accent-soft: var(--make-ai-accent-soft, color-mix(in srgb, var(--make-ai-internal-accent) 10%, white));
5
- --make-ai-internal-bg: var(--make-ai-bg, var(--make-color-bg, #ffffff));
6
- --make-ai-internal-surface: var(--make-ai-surface, var(--make-color-bg-subtle, #f7f8fb));
7
- --make-ai-internal-surface-strong: var(--make-ai-surface-strong, var(--make-color-bg-muted, #f0f2f7));
8
- --make-ai-internal-text: var(--make-ai-text, var(--make-color-text, #1f2430));
9
- --make-ai-internal-text-secondary: var(--make-ai-text-secondary, var(--make-color-text-secondary, #687080));
10
- --make-ai-internal-border: var(--make-ai-border, var(--make-color-border, #e5e8ef));
4
+ --make-ai-internal-accent-soft: var(--make-ai-accent-soft, color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-bg)));
5
+ --make-ai-internal-bg: var(--make-ai-bg, var(--make-color-bg, #fcfcff));
6
+ --make-ai-internal-surface: var(--make-ai-surface, var(--make-color-bg-subtle, #f8f8fc));
7
+ --make-ai-internal-surface-strong: var(--make-ai-surface-strong, var(--make-color-bg-muted, #f0f0f6));
8
+ --make-ai-internal-text: var(--make-ai-text, var(--make-color-text, #252631));
9
+ --make-ai-internal-text-secondary: var(--make-ai-text-secondary, var(--make-color-text-secondary, #666979));
10
+ --make-ai-internal-border: var(--make-ai-border, var(--make-color-border, #e4e5ed));
11
11
  --make-ai-internal-success: var(--make-ai-success, var(--make-color-success, #1a9a61));
12
12
  --make-ai-internal-warning: var(--make-ai-warning, var(--make-color-warning, #c77b00));
13
13
  --make-ai-internal-danger: var(--make-ai-danger, var(--make-color-danger, #d04444));
14
14
  --make-ai-internal-radius: var(--make-ai-radius, var(--make-radius-large, 14px));
15
- --make-ai-internal-shadow: var(--make-ai-shadow, 0 18px 52px rgb(23 26 38 / 16%));
16
- --make-ai-internal-drawer-width: var(--make-ai-drawer-width, 408px);
15
+ --make-ai-internal-shadow: var(--make-ai-shadow, 0 18px 48px rgb(30 31 43 / 12%));
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
18
  }
19
19
 
@@ -33,7 +33,7 @@
33
33
 
34
34
  .make-ai-assistant {
35
35
  color: var(--make-ai-internal-text);
36
- font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
36
+ font-family: inherit;
37
37
  }
38
38
 
39
39
  .make-ai-assistant button,
@@ -47,27 +47,27 @@
47
47
 
48
48
  .make-ai-assistant__launcher {
49
49
  align-items: center;
50
- background: linear-gradient(145deg, color-mix(in srgb, var(--make-ai-internal-accent) 82%, #9f91ff), var(--make-ai-internal-accent));
51
- border: 0;
50
+ background: var(--make-ai-internal-accent);
51
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 70%, var(--make-ai-internal-border));
52
52
  border-radius: 50%;
53
53
  bottom: 28px;
54
- box-shadow: 0 10px 30px color-mix(in srgb, var(--make-ai-internal-accent) 32%, transparent);
55
- color: white;
54
+ box-shadow: 0 10px 24px color-mix(in srgb, var(--make-ai-internal-accent) 22%, transparent);
55
+ color: #fcfcff;
56
56
  cursor: pointer;
57
57
  display: flex;
58
- height: 54px;
58
+ height: 50px;
59
59
  justify-content: center;
60
60
  padding: 0;
61
61
  position: fixed;
62
62
  right: 28px;
63
63
  transition: box-shadow 180ms ease, transform 180ms ease;
64
- width: 54px;
64
+ width: 50px;
65
65
  z-index: calc(var(--make-ai-internal-z-index) + 2);
66
66
  }
67
67
 
68
68
  .make-ai-assistant__launcher:hover {
69
- box-shadow: 0 14px 36px color-mix(in srgb, var(--make-ai-internal-accent) 42%, transparent);
70
- transform: translateY(-2px) scale(1.03);
69
+ box-shadow: 0 12px 28px color-mix(in srgb, var(--make-ai-internal-accent) 28%, transparent);
70
+ transform: translateY(-2px);
71
71
  }
72
72
 
73
73
  .make-ai-assistant__launcher:focus-visible,
@@ -89,11 +89,10 @@
89
89
  }
90
90
 
91
91
  .make-ai-assistant__launcher-orbit {
92
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 46%, transparent);
92
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 30%, transparent);
93
93
  border-radius: 50%;
94
- inset: -7px;
94
+ inset: -5px;
95
95
  position: absolute;
96
- animation: make-ai-pulse 2.2s ease-out infinite;
97
96
  }
98
97
 
99
98
  .make-ai-assistant__drawer {
@@ -107,11 +106,12 @@
107
106
  top: 0;
108
107
  width: min(var(--make-ai-internal-drawer-width), 100vw);
109
108
  z-index: var(--make-ai-internal-z-index);
110
- animation: make-ai-drawer-in 220ms cubic-bezier(.2, .75, .35, 1);
109
+ animation: make-ai-drawer-in 180ms cubic-bezier(.2, .75, .35, 1);
111
110
  }
112
111
 
113
112
  .make-ai-assistant__panel {
114
113
  background: var(--make-ai-internal-bg);
114
+ container-type: inline-size;
115
115
  display: grid;
116
116
  grid-template-rows: auto auto minmax(0, 1fr) auto;
117
117
  height: 100%;
@@ -124,8 +124,8 @@
124
124
  display: grid;
125
125
  gap: 10px;
126
126
  grid-template-columns: auto 1fr auto;
127
- min-height: 72px;
128
- padding: 14px 16px;
127
+ min-height: 70px;
128
+ padding: 14px 18px;
129
129
  }
130
130
 
131
131
  .make-ai-assistant__header h2,
@@ -136,33 +136,24 @@
136
136
  }
137
137
 
138
138
  .make-ai-assistant__header h2 {
139
- font-size: 16px;
140
- font-weight: 650;
139
+ font-size: 15px;
140
+ font-weight: 700;
141
141
  letter-spacing: -.01em;
142
142
  line-height: 22px;
143
143
  }
144
144
 
145
145
  .make-ai-assistant__header p {
146
- align-items: center;
147
146
  color: var(--make-ai-internal-text-secondary);
148
- display: flex;
149
147
  font-size: 12px;
150
- gap: 6px;
151
- margin-top: 2px;
152
- }
153
-
154
- .make-ai-assistant__online-dot {
155
- background: var(--make-ai-internal-success);
156
- border-radius: 50%;
157
- height: 6px;
158
- width: 6px;
148
+ line-height: 18px;
149
+ margin-top: 1px;
159
150
  }
160
151
 
161
152
  .make-ai-assistant__avatar {
162
153
  align-items: center;
163
154
  background: var(--make-ai-internal-accent-soft);
164
155
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 12%, transparent);
165
- border-radius: 11px;
156
+ border-radius: 10px;
166
157
  color: var(--make-ai-internal-accent);
167
158
  display: inline-flex;
168
159
  flex: 0 0 auto;
@@ -209,21 +200,23 @@
209
200
 
210
201
  .make-ai-assistant__privacy-note {
211
202
  align-items: center;
212
- background: var(--make-ai-internal-accent-soft);
213
- color: color-mix(in srgb, var(--make-ai-internal-accent) 76%, var(--make-ai-internal-text));
203
+ background: var(--make-ai-internal-surface);
204
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 84%, transparent);
205
+ color: var(--make-ai-internal-text-secondary);
214
206
  display: flex;
215
207
  font-size: 12px;
216
208
  gap: 8px;
217
- margin: 12px 14px 0;
209
+ line-height: 1.5;
210
+ margin: 12px 18px 0;
218
211
  padding: 8px 10px;
219
- border-radius: 8px;
212
+ border-radius: 10px;
220
213
  }
221
214
 
222
215
  .make-ai-assistant__body {
223
216
  min-height: 0;
224
217
  overflow: auto;
225
218
  overscroll-behavior: contain;
226
- padding: 18px 14px 28px;
219
+ padding: 22px 18px 30px;
227
220
  }
228
221
 
229
222
  .make-ai-assistant__empty {
@@ -258,51 +251,119 @@
258
251
  }
259
252
 
260
253
  .make-ai-assistant__message {
261
- align-items: flex-start;
262
- display: flex;
263
- gap: 9px;
264
- margin-bottom: 22px;
254
+ display: block;
255
+ margin-bottom: 24px;
265
256
  }
266
257
 
267
258
  .make-ai-assistant__message--user {
259
+ display: flex;
260
+ justify-content: flex-end;
261
+ }
262
+
263
+ .make-ai-assistant__message-turn {
264
+ display: flex;
265
+ flex-direction: column;
266
+ min-width: 0;
267
+ }
268
+
269
+ .make-ai-assistant__message--assistant .make-ai-assistant__message-turn {
270
+ max-width: 100%;
271
+ }
272
+
273
+ .make-ai-assistant__message--user .make-ai-assistant__message-turn {
274
+ align-items: flex-end;
275
+ max-width: min(82%, 330px);
276
+ }
277
+
278
+ .make-ai-assistant__message-identity {
279
+ align-items: center;
280
+ display: flex;
281
+ gap: 8px;
282
+ min-height: 26px;
283
+ }
284
+
285
+ .make-ai-assistant__message--user .make-ai-assistant__message-identity {
268
286
  justify-content: flex-end;
269
287
  }
270
288
 
271
289
  .make-ai-assistant__message-stack {
272
290
  display: flex;
273
291
  flex-direction: column;
274
- gap: 10px;
275
- max-width: calc(100% - 45px);
292
+ gap: 8px;
276
293
  min-width: 0;
277
294
  }
278
295
 
296
+ .make-ai-assistant__message--assistant .make-ai-assistant__message-stack {
297
+ margin-left: 34px;
298
+ max-width: calc(100% - 34px);
299
+ }
300
+
279
301
  .make-ai-assistant__message--user .make-ai-assistant__message-stack {
280
302
  align-items: flex-end;
303
+ margin-top: 5px;
304
+ width: 100%;
305
+ }
306
+
307
+ .make-ai-assistant__message-sender {
308
+ color: var(--make-ai-internal-text-secondary);
309
+ font-size: 12px;
310
+ font-weight: 600;
311
+ line-height: 16px;
312
+ }
313
+
314
+ .make-ai-assistant__message--user .make-ai-assistant__message-sender {
315
+ color: color-mix(in srgb, var(--make-ai-internal-accent) 72%, var(--make-ai-internal-text));
316
+ }
317
+
318
+ .make-ai-assistant__avatar--message,
319
+ .make-ai-assistant__user-avatar {
320
+ border-radius: 8px;
321
+ height: 26px;
322
+ width: 26px;
323
+ }
324
+
325
+ .make-ai-assistant__avatar--message svg {
326
+ height: 15px;
327
+ width: 15px;
328
+ }
329
+
330
+ .make-ai-assistant__user-avatar {
331
+ background: var(--make-ai-internal-surface-strong);
332
+ border: 1px solid var(--make-ai-internal-border);
333
+ display: inline-flex;
334
+ flex: 0 0 auto;
335
+ overflow: hidden;
336
+ }
337
+
338
+ .make-ai-assistant__user-avatar img {
339
+ height: 100%;
340
+ object-fit: cover;
341
+ width: 100%;
281
342
  }
282
343
 
283
344
  .make-ai-assistant__bubble {
284
- background: var(--make-ai-internal-surface);
285
- border-radius: 4px 14px 14px;
345
+ color: var(--make-ai-internal-text);
286
346
  font-size: 14px;
287
- line-height: 1.65;
288
- padding: 10px 12px;
347
+ line-height: 1.7;
289
348
  white-space: pre-wrap;
290
349
  }
291
350
 
292
351
  .make-ai-assistant__message--user .make-ai-assistant__bubble {
293
- background: var(--make-ai-internal-accent-soft);
294
- border-radius: 14px 4px 14px 14px;
352
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-surface));
353
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 12%, var(--make-ai-internal-border));
354
+ border-radius: 16px 5px 16px 16px;
295
355
  color: color-mix(in srgb, var(--make-ai-internal-accent) 68%, var(--make-ai-internal-text));
356
+ padding: 10px 13px;
296
357
  }
297
358
 
298
359
  .make-ai-assistant__typing {
299
360
  align-items: center;
300
361
  background: var(--make-ai-internal-surface);
301
- border-radius: 4px 14px 14px;
362
+ border-radius: 10px;
302
363
  display: flex;
303
364
  gap: 4px;
304
- height: 38px;
305
- padding: 0 13px;
365
+ height: 34px;
366
+ padding: 0 12px;
306
367
  }
307
368
 
308
369
  .make-ai-assistant__typing span {
@@ -317,26 +378,30 @@
317
378
  .make-ai-assistant__typing span:nth-child(2) { animation-delay: 140ms; }
318
379
  .make-ai-assistant__typing span:nth-child(3) { animation-delay: 280ms; }
319
380
 
320
- .make-ai-assistant__error {
321
- background: color-mix(in srgb, var(--make-ai-internal-danger) 8%, white);
322
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 20%, transparent);
381
+ .make-ai-assistant__message-status {
323
382
  border-radius: 10px;
324
- color: var(--make-ai-internal-danger);
325
383
  display: flex;
326
384
  flex-direction: column;
327
385
  font-size: 13px;
328
- gap: 3px;
329
- margin-left: 45px;
386
+ gap: 4px;
387
+ line-height: 1.55;
330
388
  padding: 10px 12px;
331
389
  }
332
390
 
391
+ .make-ai-assistant__message-status--error {
392
+ background: color-mix(in srgb, var(--make-ai-internal-danger) 7%, var(--make-ai-internal-surface));
393
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-danger) 22%, var(--make-ai-internal-border));
394
+ color: var(--make-ai-internal-danger);
395
+ }
396
+
333
397
  .make-ai-assistant__progress {
334
398
  align-items: center;
335
399
  color: var(--make-ai-internal-text-secondary);
336
400
  display: flex;
337
401
  font-size: 12px;
338
402
  gap: 7px;
339
- margin-left: 45px;
403
+ line-height: 18px;
404
+ min-height: 24px;
340
405
  }
341
406
 
342
407
  .make-ai-assistant__progress > span {
@@ -348,26 +413,28 @@
348
413
  }
349
414
 
350
415
  .make-ai-assistant__retry {
351
- background: var(--make-ai-internal-accent);
352
- border: 0;
353
- border-radius: 8px;
354
- color: white;
416
+ align-self: flex-start;
417
+ background: transparent;
418
+ border: 1px solid currentColor;
419
+ border-radius: 7px;
420
+ color: inherit;
355
421
  cursor: pointer;
356
422
  font-size: 12px;
357
- margin-top: 4px;
358
- padding: 7px 12px;
423
+ font-weight: 600;
424
+ margin-top: 3px;
425
+ padding: 5px 9px;
359
426
  }
360
427
 
361
428
  .make-ai-assistant__composer-region {
362
429
  background: var(--make-ai-internal-bg);
363
430
  border-top: 1px solid var(--make-ai-internal-border);
364
- padding: 10px 14px 8px;
431
+ padding: 12px 18px 10px;
365
432
  }
366
433
 
367
434
  .make-ai-assistant__suggestions {
368
435
  display: flex;
369
- gap: 7px;
370
- margin-bottom: 9px;
436
+ gap: 8px;
437
+ margin-bottom: 10px;
371
438
  overflow: auto;
372
439
  scrollbar-width: none;
373
440
  }
@@ -375,12 +442,12 @@
375
442
  .make-ai-assistant__suggestions button {
376
443
  background: var(--make-ai-internal-surface);
377
444
  border: 1px solid var(--make-ai-internal-border);
378
- border-radius: 999px;
445
+ border-radius: 8px;
379
446
  color: var(--make-ai-internal-text-secondary);
380
447
  cursor: pointer;
381
448
  flex: 0 0 auto;
382
449
  font-size: 12px;
383
- padding: 6px 10px;
450
+ padding: 7px 10px;
384
451
  }
385
452
 
386
453
  .make-ai-assistant__suggestions button:hover {
@@ -392,10 +459,10 @@
392
459
  align-items: flex-end;
393
460
  background: var(--make-ai-internal-bg);
394
461
  border: 1px solid var(--make-ai-internal-border);
395
- border-radius: 12px;
462
+ border-radius: 16px;
396
463
  display: flex;
397
464
  gap: 8px;
398
- padding: 9px 9px 9px 12px;
465
+ padding: 10px 10px 10px 13px;
399
466
  transition: border-color 160ms ease, box-shadow 160ms ease;
400
467
  }
401
468
 
@@ -408,9 +475,9 @@
408
475
  background: transparent;
409
476
  border: 0;
410
477
  color: var(--make-ai-internal-text);
411
- line-height: 1.5;
412
- max-height: 116px;
413
- min-height: 42px;
478
+ line-height: 1.55;
479
+ max-height: 120px;
480
+ min-height: 46px;
414
481
  outline: 0;
415
482
  padding: 1px 0;
416
483
  resize: none;
@@ -418,21 +485,21 @@
418
485
  }
419
486
 
420
487
  .make-ai-assistant__composer textarea::placeholder {
421
- color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 75%, white);
488
+ color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 75%, var(--make-ai-internal-bg));
422
489
  }
423
490
 
424
491
  .make-ai-assistant__send {
425
492
  align-items: center;
426
493
  background: var(--make-ai-internal-accent);
427
494
  border: 0;
428
- border-radius: 9px;
429
- color: white;
495
+ border-radius: 50%;
496
+ color: #fcfcff;
430
497
  cursor: pointer;
431
498
  display: flex;
432
499
  flex: 0 0 auto;
433
- height: 34px;
500
+ height: 36px;
434
501
  justify-content: center;
435
- width: 34px;
502
+ width: 36px;
436
503
  }
437
504
 
438
505
  .make-ai-assistant__send:hover:not(:disabled) { background: var(--make-ai-internal-accent-strong); }
@@ -448,7 +515,8 @@
448
515
  .make-ai-assistant__composer-region > p {
449
516
  color: var(--make-ai-internal-text-secondary);
450
517
  font-size: 10px;
451
- margin: 7px 0 0;
518
+ line-height: 1.45;
519
+ margin: 8px 0 0;
452
520
  text-align: center;
453
521
  }
454
522
 
@@ -536,7 +604,7 @@
536
604
 
537
605
  .make-ai-artifact__action--primary {
538
606
  background: var(--make-ai-internal-accent);
539
- color: white;
607
+ color: #fcfcff;
540
608
  }
541
609
 
542
610
  .make-ai-artifact__action--secondary {
@@ -567,7 +635,7 @@
567
635
  .make-ai-artifact__trend-label { color: var(--make-ai-internal-text-secondary); font-size: 11px; margin-bottom: 8px; }
568
636
  .make-ai-artifact__trend-bars { align-items: flex-end; display: flex; gap: 5px; height: 112px; }
569
637
  .make-ai-artifact__trend-point { align-items: center; display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: flex-end; min-width: 0; }
570
- .make-ai-artifact__trend-bar { background: linear-gradient(to top, var(--make-ai-internal-accent), color-mix(in srgb, var(--make-ai-internal-accent) 42%, white)); border-radius: 4px 4px 1px 1px; min-height: 4px; width: min(18px, 70%); }
638
+ .make-ai-artifact__trend-bar { background: var(--make-ai-internal-accent); border-radius: 4px 4px 1px 1px; min-height: 4px; width: min(18px, 70%); }
571
639
  .make-ai-artifact__trend-point small { color: var(--make-ai-internal-text-secondary); font-size: 9px; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; text-align: center; }
572
640
 
573
641
  .make-ai-artifact__ranking { list-style: none; margin: 12px 0 0; padding: 0; }
package/package.ai.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "packageName": "@qfei-design/make-ai-assistant",
3
- "minimumRuntimeVersion": "0.1.1",
3
+ "minimumRuntimeVersion": "0.1.2",
4
4
  "readOrder": [
5
5
  "package.ai.json",
6
6
  "README.md",
@@ -15,9 +15,9 @@
15
15
  "ssrSupported": true
16
16
  },
17
17
  "install": {
18
- "pnpm": "pnpm add @qfei-design/make-ai-assistant@^0.1.1",
19
- "npm": "npm install @qfei-design/make-ai-assistant@^0.1.1",
20
- "yarn": "yarn add @qfei-design/make-ai-assistant@^0.1.1"
18
+ "pnpm": "pnpm add @qfei-design/make-ai-assistant@^0.1.2",
19
+ "npm": "npm install @qfei-design/make-ai-assistant@^0.1.2",
20
+ "yarn": "yarn add @qfei-design/make-ai-assistant@^0.1.2"
21
21
  },
22
22
  "exports": [
23
23
  "@qfei-design/make-ai-assistant",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qfei-design/make-ai-assistant",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [