@qfei-design/make-ai-assistant 0.2.2 → 0.2.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
@@ -14,6 +14,7 @@
14
14
  --make-ai-internal-radius: var(--make-ai-radius, var(--make-radius-large, 14px));
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
+ --make-ai-internal-drawer-resize-line: var(--make-ai-drawer-resize-line, #5147f3);
17
18
  --make-ai-internal-z-index: var(--make-ai-z-index, 1050);
18
19
  --make-ai-internal-font-size-body: var(--make-ai-font-size-body, .75rem);
19
20
  --make-ai-internal-font-size-markdown: var(--make-ai-font-size-markdown, .6875rem);
@@ -21,9 +22,10 @@
21
22
  --make-ai-internal-line-height-body: var(--make-ai-line-height-body, 1.58);
22
23
  --make-ai-internal-panel-gutter: var(--make-ai-panel-gutter, 16px);
23
24
  --make-ai-internal-panel-gutter-compact: var(--make-ai-panel-gutter-compact, 12px);
25
+ --make-ai-internal-panel-gutter-wide: var(--make-ai-panel-gutter-wide, 24px);
26
+ --make-ai-internal-header-height: var(--make-ai-header-height, 50px);
24
27
  --make-ai-internal-message-turn-gap: var(--make-ai-message-turn-gap, 8px);
25
28
  --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);
27
29
  }
28
30
 
29
31
  .make-ai-assistant,
@@ -169,11 +171,49 @@
169
171
  animation: make-ai-drawer-in 180ms cubic-bezier(.2, .75, .35, 1);
170
172
  }
171
173
 
174
+ .make-ai-assistant__drawer-resize-handle {
175
+ background: transparent;
176
+ border: 0;
177
+ bottom: 0;
178
+ cursor: ew-resize;
179
+ left: -6px;
180
+ outline: 0;
181
+ position: absolute;
182
+ top: 0;
183
+ touch-action: none;
184
+ width: 12px;
185
+ z-index: 1;
186
+ }
187
+
188
+ .make-ai-assistant__drawer-resize-handle::after {
189
+ background: var(--make-ai-internal-drawer-resize-line);
190
+ border-radius: 999px;
191
+ content: "";
192
+ height: 100%;
193
+ left: 50%;
194
+ opacity: 0;
195
+ position: absolute;
196
+ top: 0;
197
+ transform: translateX(-50%);
198
+ transition: opacity 160ms ease;
199
+ width: 2px;
200
+ }
201
+
202
+ .make-ai-assistant__drawer-resize-handle:hover::after,
203
+ .make-ai-assistant__drawer[data-resizing] .make-ai-assistant__drawer-resize-handle::after,
204
+ .make-ai-assistant__drawer-resize-handle:focus-visible::after {
205
+ opacity: 1;
206
+ }
207
+
208
+ .make-ai-assistant__drawer-resize-handle:focus-visible {
209
+ box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--make-ai-internal-accent) 35%, transparent);
210
+ }
211
+
172
212
  .make-ai-assistant__panel {
173
213
  background: var(--make-ai-internal-bg);
174
214
  container-type: inline-size;
175
215
  display: grid;
176
- grid-template-rows: auto auto minmax(0, 1fr) auto;
216
+ grid-template-rows: auto minmax(0, 1fr) auto;
177
217
  height: 100%;
178
218
  min-height: 360px;
179
219
  min-width: 0;
@@ -184,11 +224,13 @@
184
224
  align-items: center;
185
225
  border-bottom: 1px solid var(--make-ai-internal-border);
186
226
  display: grid;
187
- gap: 10px;
227
+ gap: 8px;
188
228
  grid-template-columns: auto 1fr auto;
189
229
  grid-row: 1;
190
- min-height: 70px;
191
- padding: 14px var(--make-ai-internal-panel-gutter);
230
+ height: var(--make-ai-internal-header-height);
231
+ min-height: var(--make-ai-internal-header-height);
232
+ padding: 7px var(--make-ai-internal-panel-gutter);
233
+ position: relative;
192
234
  }
193
235
 
194
236
  .make-ai-assistant__header h2,
@@ -199,19 +241,16 @@
199
241
  }
200
242
 
201
243
  .make-ai-assistant__header h2 {
202
- font-size: 15px;
244
+ font-size: .875rem;
203
245
  font-weight: 700;
204
246
  letter-spacing: 0;
205
- line-height: 22px;
206
- overflow-wrap: anywhere;
247
+ line-height: 18px;
207
248
  }
208
249
 
209
250
  .make-ai-assistant__header p {
210
251
  color: var(--make-ai-internal-text-secondary);
211
- font-size: 12px;
212
- line-height: 18px;
213
- margin-top: 1px;
214
- overflow-wrap: anywhere;
252
+ font-size: .6875rem;
253
+ line-height: 14px;
215
254
  }
216
255
 
217
256
  .make-ai-assistant__avatar {
@@ -263,58 +302,112 @@
263
302
  gap: 2px;
264
303
  }
265
304
 
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;
305
+ .make-ai-assistant__header-content,
306
+ .make-ai-assistant__header-title-row,
307
+ .make-ai-assistant__header-context {
308
+ min-width: 0;
273
309
  }
274
310
 
275
- .make-ai-assistant__privacy-note {
311
+ .make-ai-assistant__header-title-row,
312
+ .make-ai-assistant__header-context {
276
313
  align-items: center;
277
- background:
278
- radial-gradient(circle at 0 0, color-mix(in srgb, var(--make-ai-internal-accent) 9%, transparent), transparent 42%),
279
- color-mix(in srgb, var(--make-ai-internal-bg) 86%, var(--make-ai-internal-surface));
280
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-border));
281
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 64%);
282
- color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 90%, var(--make-ai-internal-accent));
283
314
  display: flex;
284
- font-size: .6875rem;
285
- gap: 7px;
286
- line-height: 1.45;
287
- margin: 0;
288
- padding: 7px 9px;
289
- border-radius: 9px;
290
- overflow-wrap: anywhere;
291
315
  }
292
316
 
293
- .make-ai-assistant__privacy-icon {
317
+ .make-ai-assistant__header-title-row {
318
+ gap: 8px;
319
+ }
320
+
321
+ .make-ai-assistant__header-title {
322
+ flex: 0 1 auto;
323
+ min-width: 0;
324
+ overflow: hidden;
325
+ text-overflow: ellipsis;
326
+ white-space: nowrap;
327
+ }
328
+
329
+ .make-ai-assistant__read-only-tag {
330
+ background: color-mix(in srgb, var(--make-ai-internal-success) 10%, var(--make-ai-internal-bg));
331
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-success) 24%, var(--make-ai-internal-border));
332
+ border-radius: 5px;
333
+ color: color-mix(in srgb, var(--make-ai-internal-success) 82%, var(--make-ai-internal-text));
334
+ flex: 0 0 auto;
335
+ font-size: .625rem;
336
+ font-weight: 650;
337
+ line-height: 16px;
338
+ padding: 0 5px;
339
+ }
340
+
341
+ .make-ai-assistant__header-context {
342
+ gap: 6px;
343
+ margin-top: 1px;
344
+ }
345
+
346
+ .make-ai-assistant__header-context p {
347
+ min-width: 0;
348
+ overflow: hidden;
349
+ text-overflow: ellipsis;
350
+ white-space: nowrap;
351
+ }
352
+
353
+ .make-ai-assistant__header-context-help {
294
354
  align-items: center;
295
- background: color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-bg));
296
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 12%, transparent);
297
- border-radius: 7px;
298
- color: color-mix(in srgb, var(--make-ai-internal-accent) 76%, var(--make-ai-internal-text-secondary));
355
+ border-radius: 50%;
356
+ color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 84%, var(--make-ai-internal-accent));
357
+ cursor: pointer;
299
358
  display: inline-flex;
300
359
  flex: 0 0 auto;
301
- height: 20px;
360
+ height: 18px;
302
361
  justify-content: center;
303
- width: 20px;
362
+ width: 18px;
304
363
  }
305
364
 
306
- .make-ai-assistant__privacy-icon svg {
365
+ .make-ai-assistant__header-context-help svg {
307
366
  fill: none;
308
- height: 13px;
367
+ height: 14px;
309
368
  stroke: currentColor;
310
369
  stroke-linecap: round;
311
370
  stroke-linejoin: round;
312
371
  stroke-width: 1.8;
313
- width: 13px;
372
+ width: 14px;
373
+ }
374
+
375
+ .make-ai-assistant__header-context-help:focus-visible {
376
+ outline: 2px solid color-mix(in srgb, var(--make-ai-internal-accent) 32%, transparent);
377
+ outline-offset: 2px;
378
+ }
379
+
380
+ .make-ai-assistant__header-context-tooltip {
381
+ background: color-mix(in srgb, var(--make-ai-internal-text) 94%, #000);
382
+ border-radius: 8px;
383
+ box-shadow: 0 8px 18px rgb(30 31 43 / 18%);
384
+ color: #fcfcff;
385
+ font-size: 11px;
386
+ font-weight: 500;
387
+ line-height: 1.5;
388
+ max-height: calc(100vh - 32px);
389
+ max-width: min(280px, calc(100vw - 32px));
390
+ opacity: 0;
391
+ overflow: auto;
392
+ padding: 7px 8px;
393
+ pointer-events: none;
394
+ position: fixed;
395
+ transform: translateY(-2px);
396
+ transition: opacity 120ms ease, transform 120ms ease;
397
+ visibility: hidden;
398
+ white-space: normal;
399
+ width: max-content;
400
+ z-index: calc(var(--make-ai-internal-z-index) + 1);
401
+ }
402
+
403
+ .make-ai-assistant__header-context-tooltip[data-positioned][data-visible] {
404
+ opacity: 1;
405
+ transform: translateY(0);
406
+ visibility: visible;
314
407
  }
315
408
 
316
409
  .make-ai-assistant__body {
317
- grid-row: 3;
410
+ grid-row: 2;
318
411
  min-height: 0;
319
412
  min-width: 0;
320
413
  overflow: auto;
@@ -322,10 +415,6 @@
322
415
  padding: 20px var(--make-ai-internal-panel-gutter) 28px;
323
416
  }
324
417
 
325
- .make-ai-assistant__body--with-notice {
326
- padding-top: 12px;
327
- }
328
-
329
418
  .make-ai-assistant__empty {
330
419
  align-items: center;
331
420
  color: var(--make-ai-internal-text-secondary);
@@ -559,20 +648,17 @@
559
648
  }
560
649
 
561
650
  .make-ai-assistant__markdown-heading {
562
- align-items: center;
563
- background: color-mix(in srgb, var(--make-ai-internal-accent) 2%, var(--make-ai-internal-bg));
564
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 5%, var(--make-ai-internal-border));
565
- border-radius: 9px;
566
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 36%);
651
+ background: transparent;
652
+ border: 0;
653
+ border-left: 3px solid color-mix(in srgb, var(--make-ai-internal-accent) 68%, var(--make-ai-internal-border));
567
654
  color: color-mix(in srgb, var(--make-ai-internal-text) 94%, var(--make-ai-internal-accent));
568
- display: flex;
655
+ display: block;
569
656
  font-size: 1.04em;
570
657
  font-weight: 720;
571
- gap: 6px;
572
658
  letter-spacing: -.01em;
573
659
  line-height: 1.45;
574
660
  min-width: 0;
575
- padding: 4px 8px;
661
+ padding: 0 0 0 8px;
576
662
  }
577
663
 
578
664
  .make-ai-assistant__markdown-heading--3,
@@ -1054,7 +1140,7 @@
1054
1140
  .make-ai-assistant__composer-region {
1055
1141
  background: color-mix(in srgb, var(--make-ai-internal-bg) 94%, var(--make-ai-internal-surface));
1056
1142
  border-top: 1px solid var(--make-ai-internal-border);
1057
- grid-row: 4;
1143
+ grid-row: 3;
1058
1144
  box-shadow: 0 -8px 18px rgb(30 31 43 / 3%);
1059
1145
  padding: 10px var(--make-ai-internal-panel-gutter) 9px;
1060
1146
  }
@@ -1185,6 +1271,7 @@
1185
1271
  background: var(--make-ai-internal-surface);
1186
1272
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 86%, transparent);
1187
1273
  border-radius: var(--make-ai-internal-radius);
1274
+ container-type: inline-size;
1188
1275
  overflow: hidden;
1189
1276
  padding: 14px;
1190
1277
  width: 100%;
@@ -1370,22 +1457,13 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1370
1457
  .make-ai-assistant__header {
1371
1458
  gap: 8px;
1372
1459
  grid-template-columns: auto minmax(0, 1fr) auto;
1373
- min-height: 64px;
1374
- padding: 12px var(--make-ai-internal-panel-gutter-compact);
1375
- }
1376
-
1377
- .make-ai-assistant__notice-region {
1378
- padding: var(--make-ai-internal-notice-block-gap) var(--make-ai-internal-panel-gutter-compact);
1460
+ padding: 7px var(--make-ai-internal-panel-gutter-compact);
1379
1461
  }
1380
1462
 
1381
1463
  .make-ai-assistant__body {
1382
1464
  padding: 16px var(--make-ai-internal-panel-gutter-compact) 24px;
1383
1465
  }
1384
1466
 
1385
- .make-ai-assistant__body--with-notice {
1386
- padding-top: 12px;
1387
- }
1388
-
1389
1467
  .make-ai-assistant__message {
1390
1468
  margin-bottom: 22px;
1391
1469
  }
@@ -1432,8 +1510,79 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1432
1510
  }
1433
1511
  }
1434
1512
 
1513
+ @container (min-width: 520px) {
1514
+ .make-ai-artifact__comparison {
1515
+ grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
1516
+ }
1517
+
1518
+ .make-ai-artifact__record {
1519
+ grid-template-columns: minmax(100px, .8fr) minmax(180px, 1.5fr) auto;
1520
+ padding: 11px 8px;
1521
+ }
1522
+
1523
+ .make-ai-artifact__record-values {
1524
+ gap: 16px;
1525
+ }
1526
+ }
1527
+
1528
+ @container (min-width: 560px) {
1529
+ .make-ai-assistant__header {
1530
+ padding-inline: var(--make-ai-internal-panel-gutter-wide);
1531
+ }
1532
+
1533
+ .make-ai-assistant__body {
1534
+ padding: 24px var(--make-ai-internal-panel-gutter-wide) 32px;
1535
+ }
1536
+
1537
+ .make-ai-assistant__assistant-text {
1538
+ max-width: min(100%, 76ch);
1539
+ }
1540
+
1541
+ .make-ai-assistant__message--user .make-ai-assistant__message-turn {
1542
+ max-width: min(72%, 420px);
1543
+ }
1544
+
1545
+ .make-ai-assistant__markdown-table th,
1546
+ .make-ai-assistant__markdown-table td {
1547
+ padding: 7px 10px;
1548
+ }
1549
+
1550
+ .make-ai-assistant__composer-region {
1551
+ padding: 12px var(--make-ai-internal-panel-gutter-wide) 10px;
1552
+ }
1553
+
1554
+ .make-ai-assistant__back-to-latest {
1555
+ right: var(--make-ai-internal-panel-gutter-wide);
1556
+ }
1557
+ }
1558
+
1559
+ @container (min-width: 760px) {
1560
+ .make-ai-assistant__body {
1561
+ padding-bottom: 36px;
1562
+ }
1563
+
1564
+ .make-ai-assistant__assistant-text {
1565
+ max-width: min(100%, 82ch);
1566
+ }
1567
+
1568
+ .make-ai-assistant__message--user .make-ai-assistant__message-turn {
1569
+ max-width: min(68%, 480px);
1570
+ }
1571
+
1572
+ .make-ai-assistant__markdown-table {
1573
+ min-width: 100%;
1574
+ table-layout: fixed;
1575
+ }
1576
+
1577
+ .make-ai-assistant__markdown-table th {
1578
+ overflow-wrap: anywhere;
1579
+ white-space: normal;
1580
+ }
1581
+ }
1582
+
1435
1583
  @media (max-width: 560px) {
1436
1584
  .make-ai-assistant__drawer { width: 100vw; }
1585
+ .make-ai-assistant__drawer-resize-handle { display: none; }
1437
1586
  .make-ai-assistant__launcher { right: var(--make-ai-launcher-mobile-right, 16px); }
1438
1587
  .make-ai-artifact__record {
1439
1588
  grid-template-columns: minmax(0, 1fr) auto;
@@ -1464,6 +1613,8 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1464
1613
  .make-ai-assistant__launcher,
1465
1614
  .make-ai-assistant__launcher > svg,
1466
1615
  .make-ai-assistant__back-to-latest,
1616
+ .make-ai-assistant__drawer-resize-handle::after,
1617
+ .make-ai-assistant__header-context-tooltip,
1467
1618
  .make-ai-assistant__reply-action[data-tooltip]::after,
1468
1619
  .make-ai-assistant__send[data-tooltip]::after,
1469
1620
  .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.2",
3
+ "version": "0.2.4",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [