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

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,25 @@
1
1
  :where(.make-ai-assistant, .make-ai-artifact) {
2
- --make-ai-internal-accent: var(--make-ai-accent, var(--make-color-primary, #5147f3));
3
- --make-ai-internal-accent-strong: var(--make-ai-accent-strong, var(--make-color-primary-hover, #4037da));
2
+ --make-ai-internal-accent: var(--make-ai-theme-primary, var(--make-ai-accent, var(--make-color-primary, #5147f3)));
3
+ --make-ai-internal-accent-strong: var(--make-ai-theme-primary-hover, var(--make-ai-accent-strong, var(--make-color-primary-hover, color-mix(in srgb, var(--make-ai-internal-accent) 84%, var(--make-ai-internal-text)))));
4
+ --make-ai-internal-on-accent: var(--make-ai-theme-on-primary, var(--make-ai-on-accent, #fcfcff));
4
5
  --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));
6
+ --make-ai-internal-bg: var(--make-ai-theme-bg, var(--make-ai-bg, var(--make-color-bg, color-mix(in srgb, var(--make-ai-internal-accent) 2%, #fcfcff))));
7
+ --make-ai-internal-surface: var(--make-ai-theme-surface, var(--make-ai-surface, var(--make-color-bg-subtle, color-mix(in srgb, var(--make-ai-internal-accent) 4%, var(--make-ai-internal-bg)))));
8
+ --make-ai-internal-surface-strong: var(--make-ai-theme-surface-strong, var(--make-ai-surface-strong, var(--make-color-bg-muted, color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-bg)))));
9
+ --make-ai-internal-text: var(--make-ai-theme-text, var(--make-ai-text, var(--make-color-text, color-mix(in srgb, var(--make-ai-internal-accent) 12%, #252631))));
10
+ --make-ai-internal-text-secondary: var(--make-ai-theme-text-secondary, var(--make-ai-text-secondary, var(--make-color-text-secondary, color-mix(in srgb, var(--make-ai-internal-text) 74%, var(--make-ai-internal-accent)))));
11
+ --make-ai-internal-border: var(--make-ai-theme-border, var(--make-ai-border, var(--make-color-border, color-mix(in srgb, var(--make-ai-internal-accent) 14%, var(--make-ai-internal-bg)))));
11
12
  --make-ai-internal-success: var(--make-ai-success, var(--make-color-success, #1a9a61));
12
13
  --make-ai-internal-warning: var(--make-ai-warning, var(--make-color-warning, #c77b00));
13
14
  --make-ai-internal-danger: var(--make-ai-danger, var(--make-color-danger, #d04444));
14
15
  --make-ai-internal-radius: var(--make-ai-radius, var(--make-radius-large, 14px));
15
- --make-ai-internal-shadow: var(--make-ai-shadow, 0 18px 48px rgb(30 31 43 / 12%));
16
+ --make-ai-internal-shadow: var(--make-ai-shadow, 0 18px 48px color-mix(in srgb, var(--make-ai-internal-accent) 14%, transparent));
17
+ --make-ai-internal-overlay: var(--make-ai-theme-overlay, var(--make-ai-overlay, color-mix(in srgb, var(--make-ai-internal-text) 88%, var(--make-ai-internal-accent))));
18
+ --make-ai-internal-on-overlay: var(--make-ai-theme-on-overlay, var(--make-ai-on-overlay, #fcfcff));
19
+ --make-ai-internal-overlay-shadow: color-mix(in srgb, var(--make-ai-internal-accent) 18%, transparent);
20
+ --make-ai-internal-highlight: color-mix(in srgb, var(--make-ai-internal-bg) 58%, transparent);
16
21
  --make-ai-internal-drawer-width: var(--make-ai-drawer-width, 432px);
22
+ --make-ai-internal-drawer-resize-line: var(--make-ai-drawer-resize-line, var(--make-ai-internal-accent));
17
23
  --make-ai-internal-z-index: var(--make-ai-z-index, 1050);
18
24
  --make-ai-internal-font-size-body: var(--make-ai-font-size-body, .75rem);
19
25
  --make-ai-internal-font-size-markdown: var(--make-ai-font-size-markdown, .6875rem);
@@ -21,6 +27,7 @@
21
27
  --make-ai-internal-line-height-body: var(--make-ai-line-height-body, 1.58);
22
28
  --make-ai-internal-panel-gutter: var(--make-ai-panel-gutter, 16px);
23
29
  --make-ai-internal-panel-gutter-compact: var(--make-ai-panel-gutter-compact, 12px);
30
+ --make-ai-internal-panel-gutter-wide: var(--make-ai-panel-gutter-wide, 24px);
24
31
  --make-ai-internal-header-height: var(--make-ai-header-height, 50px);
25
32
  --make-ai-internal-message-turn-gap: var(--make-ai-message-turn-gap, 8px);
26
33
  --make-ai-internal-assistant-content-gap: var(--make-ai-assistant-content-gap, 12px);
@@ -57,7 +64,7 @@
57
64
  .make-ai-assistant__launcher {
58
65
  align-items: center;
59
66
  background:
60
- radial-gradient(circle at 34% 24%, rgb(255 255 255 / 56%), transparent 31%),
67
+ radial-gradient(circle at 34% 24%, var(--make-ai-internal-highlight), transparent 31%),
61
68
  radial-gradient(
62
69
  circle at 70% 78%,
63
70
  color-mix(in srgb, var(--make-ai-internal-accent) 24%, transparent),
@@ -65,8 +72,8 @@
65
72
  ),
66
73
  linear-gradient(
67
74
  145deg,
68
- color-mix(in srgb, var(--make-ai-internal-accent) 68%, #fcfcff),
69
- color-mix(in srgb, var(--make-ai-internal-accent) 72%, #bdb8ff)
75
+ color-mix(in srgb, var(--make-ai-internal-accent) 68%, var(--make-ai-internal-bg)),
76
+ color-mix(in srgb, var(--make-ai-internal-accent) 82%, var(--make-ai-internal-bg))
70
77
  );
71
78
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 34%, var(--make-ai-internal-border));
72
79
  border-radius: 50%;
@@ -74,8 +81,8 @@
74
81
  box-shadow:
75
82
  0 12px 26px color-mix(in srgb, var(--make-ai-internal-accent) 14%, transparent),
76
83
  0 0 0 6px color-mix(in srgb, var(--make-ai-internal-accent) 5%, transparent),
77
- inset 0 1px 0 rgb(255 255 255 / 58%);
78
- color: #fcfcff;
84
+ inset 0 1px 0 var(--make-ai-internal-highlight);
85
+ color: var(--make-ai-internal-on-accent);
79
86
  cursor: pointer;
80
87
  display: flex;
81
88
  height: 50px;
@@ -97,7 +104,7 @@
97
104
  box-shadow:
98
105
  0 14px 30px color-mix(in srgb, var(--make-ai-internal-accent) 17%, transparent),
99
106
  0 0 0 8px color-mix(in srgb, var(--make-ai-internal-accent) 7%, transparent),
100
- inset 0 1px 0 rgb(255 255 255 / 64%);
107
+ inset 0 1px 0 var(--make-ai-internal-highlight);
101
108
  transform: translateY(-50%) scale(1.04);
102
109
  }
103
110
 
@@ -143,7 +150,7 @@
143
150
  }
144
151
 
145
152
  .make-ai-assistant__launcher-orbit::before {
146
- background: color-mix(in srgb, var(--make-ai-internal-accent) 52%, #fcfcff);
153
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 52%, var(--make-ai-internal-bg));
147
154
  border-radius: 50%;
148
155
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--make-ai-internal-accent) 10%, transparent);
149
156
  content: "";
@@ -184,7 +191,7 @@
184
191
  }
185
192
 
186
193
  .make-ai-assistant__drawer-resize-handle::after {
187
- background: var(--make-ai-internal-accent);
194
+ background: var(--make-ai-internal-drawer-resize-line);
188
195
  border-radius: 999px;
189
196
  content: "";
190
197
  height: 100%;
@@ -194,13 +201,13 @@
194
201
  top: 0;
195
202
  transform: translateX(-50%);
196
203
  transition: opacity 160ms ease;
197
- width: 3px;
204
+ width: 2px;
198
205
  }
199
206
 
200
207
  .make-ai-assistant__drawer-resize-handle:hover::after,
201
208
  .make-ai-assistant__drawer[data-resizing] .make-ai-assistant__drawer-resize-handle::after,
202
209
  .make-ai-assistant__drawer-resize-handle:focus-visible::after {
203
- opacity: .7;
210
+ opacity: 1;
204
211
  }
205
212
 
206
213
  .make-ai-assistant__drawer-resize-handle:focus-visible {
@@ -317,7 +324,7 @@
317
324
  }
318
325
 
319
326
  .make-ai-assistant__header-title {
320
- flex: 1 1 auto;
327
+ flex: 0 1 auto;
321
328
  min-width: 0;
322
329
  overflow: hidden;
323
330
  text-overflow: ellipsis;
@@ -325,10 +332,10 @@
325
332
  }
326
333
 
327
334
  .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));
335
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 10%, var(--make-ai-internal-bg));
336
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 24%, var(--make-ai-internal-border));
330
337
  border-radius: 5px;
331
- color: color-mix(in srgb, var(--make-ai-internal-success) 82%, var(--make-ai-internal-text));
338
+ color: color-mix(in srgb, var(--make-ai-internal-accent) 82%, var(--make-ai-internal-text));
332
339
  flex: 0 0 auto;
333
340
  font-size: .625rem;
334
341
  font-weight: 650;
@@ -352,7 +359,7 @@
352
359
  align-items: center;
353
360
  border-radius: 50%;
354
361
  color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 84%, var(--make-ai-internal-accent));
355
- cursor: help;
362
+ cursor: pointer;
356
363
  display: inline-flex;
357
364
  flex: 0 0 auto;
358
365
  height: 18px;
@@ -375,38 +382,33 @@
375
382
  outline-offset: 2px;
376
383
  }
377
384
 
378
- .make-ai-assistant__header-context-help[data-tooltip]::after {
379
- background: color-mix(in srgb, var(--make-ai-internal-text) 94%, #000);
385
+ .make-ai-assistant__header-context-tooltip {
386
+ background: var(--make-ai-internal-overlay);
380
387
  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);
388
+ box-shadow: 0 8px 18px var(--make-ai-internal-overlay-shadow);
389
+ color: var(--make-ai-internal-on-overlay);
385
390
  font-size: 11px;
386
391
  font-weight: 500;
387
- left: auto;
388
392
  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
+ max-height: calc(100vh - 32px);
394
+ max-width: min(280px, calc(100vw - 32px));
393
395
  opacity: 0;
396
+ overflow: auto;
394
397
  padding: 7px 8px;
395
398
  pointer-events: none;
396
- position: absolute;
397
- right: var(--make-ai-internal-panel-gutter);
398
- top: calc(100% + 8px);
399
+ position: fixed;
399
400
  transform: translateY(-2px);
400
401
  transition: opacity 120ms ease, transform 120ms ease;
402
+ visibility: hidden;
401
403
  white-space: normal;
402
404
  width: max-content;
403
- z-index: 4;
405
+ z-index: calc(var(--make-ai-internal-z-index) + 1);
404
406
  }
405
407
 
406
- .make-ai-assistant__header-context-help[data-tooltip]:hover::after,
407
- .make-ai-assistant__header-context-help[data-tooltip]:focus-visible::after {
408
+ .make-ai-assistant__header-context-tooltip[data-positioned][data-visible] {
408
409
  opacity: 1;
409
410
  transform: translateY(0);
411
+ visibility: visible;
410
412
  }
411
413
 
412
414
  .make-ai-assistant__body {
@@ -1007,11 +1009,11 @@
1007
1009
 
1008
1010
  .make-ai-assistant__reply-action[data-tooltip]::after,
1009
1011
  .make-ai-assistant__send[data-tooltip]::after {
1010
- background: color-mix(in srgb, var(--make-ai-internal-text) 94%, #000);
1012
+ background: var(--make-ai-internal-overlay);
1011
1013
  border-radius: 8px;
1012
1014
  bottom: calc(100% + 7px);
1013
- box-shadow: 0 8px 18px rgb(30 31 43 / 18%);
1014
- color: #fcfcff;
1015
+ box-shadow: 0 8px 18px var(--make-ai-internal-overlay-shadow);
1016
+ color: var(--make-ai-internal-on-overlay);
1015
1017
  content: attr(data-tooltip);
1016
1018
  font-size: 11px;
1017
1019
  font-weight: 600;
@@ -1059,7 +1061,7 @@
1059
1061
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 16%, var(--make-ai-internal-border));
1060
1062
  border-radius: 999px;
1061
1063
  bottom: 94px;
1062
- box-shadow: 0 10px 24px rgb(30 31 43 / 11%);
1064
+ box-shadow: 0 10px 24px color-mix(in srgb, var(--make-ai-internal-accent) 11%, transparent);
1063
1065
  color: color-mix(in srgb, var(--make-ai-internal-accent) 86%, var(--make-ai-internal-text));
1064
1066
  cursor: pointer;
1065
1067
  display: inline-flex;
@@ -1076,7 +1078,7 @@
1076
1078
  .make-ai-assistant__back-to-latest:hover {
1077
1079
  background: var(--make-ai-internal-bg);
1078
1080
  border-color: color-mix(in srgb, var(--make-ai-internal-accent) 30%, var(--make-ai-internal-border));
1079
- box-shadow: 0 12px 28px rgb(30 31 43 / 13%);
1081
+ box-shadow: 0 12px 28px color-mix(in srgb, var(--make-ai-internal-accent) 13%, transparent);
1080
1082
  transform: translateY(-1px);
1081
1083
  }
1082
1084
 
@@ -1122,7 +1124,7 @@
1122
1124
  background: var(--make-ai-internal-accent);
1123
1125
  border-color: var(--make-ai-internal-accent);
1124
1126
  border-radius: 9px;
1125
- color: #fcfcff;
1127
+ color: var(--make-ai-internal-on-accent);
1126
1128
  font-weight: 650;
1127
1129
  margin-top: 0;
1128
1130
  min-height: 40px;
@@ -1144,7 +1146,7 @@
1144
1146
  background: color-mix(in srgb, var(--make-ai-internal-bg) 94%, var(--make-ai-internal-surface));
1145
1147
  border-top: 1px solid var(--make-ai-internal-border);
1146
1148
  grid-row: 3;
1147
- box-shadow: 0 -8px 18px rgb(30 31 43 / 3%);
1149
+ box-shadow: 0 -8px 18px color-mix(in srgb, var(--make-ai-internal-accent) 3%, transparent);
1148
1150
  padding: 10px var(--make-ai-internal-panel-gutter) 9px;
1149
1151
  }
1150
1152
 
@@ -1189,7 +1191,7 @@
1189
1191
  border-color: color-mix(in srgb, var(--make-ai-internal-accent) 42%, var(--make-ai-internal-border));
1190
1192
  box-shadow:
1191
1193
  0 0 0 2px color-mix(in srgb, var(--make-ai-internal-accent) 10%, transparent),
1192
- 0 8px 18px rgb(30 31 43 / 5%);
1194
+ 0 8px 18px color-mix(in srgb, var(--make-ai-internal-accent) 5%, transparent);
1193
1195
  }
1194
1196
 
1195
1197
  .make-ai-assistant__composer textarea {
@@ -1219,7 +1221,7 @@
1219
1221
  background: var(--make-ai-internal-accent);
1220
1222
  border: 0;
1221
1223
  border-radius: 50%;
1222
- color: #fcfcff;
1224
+ color: var(--make-ai-internal-on-accent);
1223
1225
  cursor: pointer;
1224
1226
  display: flex;
1225
1227
  flex: 0 0 auto;
@@ -1274,6 +1276,7 @@
1274
1276
  background: var(--make-ai-internal-surface);
1275
1277
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 86%, transparent);
1276
1278
  border-radius: var(--make-ai-internal-radius);
1279
+ container-type: inline-size;
1277
1280
  overflow: hidden;
1278
1281
  padding: 14px;
1279
1282
  width: 100%;
@@ -1354,7 +1357,7 @@
1354
1357
 
1355
1358
  .make-ai-artifact__action--primary {
1356
1359
  background: var(--make-ai-internal-accent);
1357
- color: #fcfcff;
1360
+ color: var(--make-ai-internal-on-accent);
1358
1361
  }
1359
1362
 
1360
1363
  .make-ai-artifact__action--secondary {
@@ -1512,6 +1515,76 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1512
1515
  }
1513
1516
  }
1514
1517
 
1518
+ @container (min-width: 520px) {
1519
+ .make-ai-artifact__comparison {
1520
+ grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
1521
+ }
1522
+
1523
+ .make-ai-artifact__record {
1524
+ grid-template-columns: minmax(100px, .8fr) minmax(180px, 1.5fr) auto;
1525
+ padding: 11px 8px;
1526
+ }
1527
+
1528
+ .make-ai-artifact__record-values {
1529
+ gap: 16px;
1530
+ }
1531
+ }
1532
+
1533
+ @container (min-width: 560px) {
1534
+ .make-ai-assistant__header {
1535
+ padding-inline: var(--make-ai-internal-panel-gutter-wide);
1536
+ }
1537
+
1538
+ .make-ai-assistant__body {
1539
+ padding: 24px var(--make-ai-internal-panel-gutter-wide) 32px;
1540
+ }
1541
+
1542
+ .make-ai-assistant__assistant-text {
1543
+ max-width: min(100%, 76ch);
1544
+ }
1545
+
1546
+ .make-ai-assistant__message--user .make-ai-assistant__message-turn {
1547
+ max-width: min(72%, 420px);
1548
+ }
1549
+
1550
+ .make-ai-assistant__markdown-table th,
1551
+ .make-ai-assistant__markdown-table td {
1552
+ padding: 7px 10px;
1553
+ }
1554
+
1555
+ .make-ai-assistant__composer-region {
1556
+ padding: 12px var(--make-ai-internal-panel-gutter-wide) 10px;
1557
+ }
1558
+
1559
+ .make-ai-assistant__back-to-latest {
1560
+ right: var(--make-ai-internal-panel-gutter-wide);
1561
+ }
1562
+ }
1563
+
1564
+ @container (min-width: 760px) {
1565
+ .make-ai-assistant__body {
1566
+ padding-bottom: 36px;
1567
+ }
1568
+
1569
+ .make-ai-assistant__assistant-text {
1570
+ max-width: min(100%, 82ch);
1571
+ }
1572
+
1573
+ .make-ai-assistant__message--user .make-ai-assistant__message-turn {
1574
+ max-width: min(68%, 480px);
1575
+ }
1576
+
1577
+ .make-ai-assistant__markdown-table {
1578
+ min-width: 100%;
1579
+ table-layout: fixed;
1580
+ }
1581
+
1582
+ .make-ai-assistant__markdown-table th {
1583
+ overflow-wrap: anywhere;
1584
+ white-space: normal;
1585
+ }
1586
+ }
1587
+
1515
1588
  @media (max-width: 560px) {
1516
1589
  .make-ai-assistant__drawer { width: 100vw; }
1517
1590
  .make-ai-assistant__drawer-resize-handle { display: none; }
@@ -1546,6 +1619,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1546
1619
  .make-ai-assistant__launcher > svg,
1547
1620
  .make-ai-assistant__back-to-latest,
1548
1621
  .make-ai-assistant__drawer-resize-handle::after,
1622
+ .make-ai-assistant__header-context-tooltip,
1549
1623
  .make-ai-assistant__reply-action[data-tooltip]::after,
1550
1624
  .make-ai-assistant__send[data-tooltip]::after,
1551
1625
  .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.3",
3
+ "version": "0.2.5",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [