@qfei-design/make-ai-assistant 0.1.7 → 0.1.9

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
@@ -51,27 +51,48 @@
51
51
 
52
52
  .make-ai-assistant__launcher {
53
53
  align-items: center;
54
- background: var(--make-ai-internal-accent);
55
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 70%, var(--make-ai-internal-border));
54
+ background:
55
+ radial-gradient(circle at 34% 24%, rgb(255 255 255 / 34%), transparent 31%),
56
+ linear-gradient(
57
+ 145deg,
58
+ color-mix(in srgb, var(--make-ai-internal-accent) 88%, #7d76ff),
59
+ var(--make-ai-internal-accent-strong)
60
+ );
61
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 54%, var(--make-ai-internal-border));
56
62
  border-radius: 50%;
57
- bottom: 28px;
58
- box-shadow: 0 10px 24px color-mix(in srgb, var(--make-ai-internal-accent) 22%, transparent);
63
+ bottom: auto;
64
+ box-shadow:
65
+ 0 14px 30px color-mix(in srgb, var(--make-ai-internal-accent) 18%, transparent),
66
+ 0 0 0 6px color-mix(in srgb, var(--make-ai-internal-accent) 7%, transparent),
67
+ inset 0 1px 0 rgb(255 255 255 / 38%);
59
68
  color: #fcfcff;
60
69
  cursor: pointer;
61
70
  display: flex;
62
71
  height: 50px;
63
72
  justify-content: center;
73
+ overflow: visible;
64
74
  padding: 0;
65
75
  position: fixed;
66
- right: 28px;
67
- transition: box-shadow 180ms ease, transform 180ms ease;
76
+ right: var(--make-ai-launcher-right, 18px);
77
+ top: var(--make-ai-launcher-top, 50%);
78
+ transform: translateY(-50%);
79
+ transition:
80
+ box-shadow 180ms cubic-bezier(.25, 1, .5, 1),
81
+ transform 180ms cubic-bezier(.25, 1, .5, 1);
68
82
  width: 50px;
69
83
  z-index: calc(var(--make-ai-internal-z-index) + 2);
70
84
  }
71
85
 
72
86
  .make-ai-assistant__launcher:hover {
73
- box-shadow: 0 12px 28px color-mix(in srgb, var(--make-ai-internal-accent) 28%, transparent);
74
- transform: translateY(-2px);
87
+ box-shadow:
88
+ 0 16px 34px color-mix(in srgb, var(--make-ai-internal-accent) 22%, transparent),
89
+ 0 0 0 8px color-mix(in srgb, var(--make-ai-internal-accent) 10%, transparent),
90
+ inset 0 1px 0 rgb(255 255 255 / 44%);
91
+ transform: translateY(-50%) scale(1.04);
92
+ }
93
+
94
+ .make-ai-assistant__launcher:active {
95
+ transform: translateY(-50%) scale(.98);
75
96
  }
76
97
 
77
98
  .make-ai-assistant__launcher:focus-visible,
@@ -84,18 +105,42 @@
84
105
  .make-ai-assistant__launcher > svg {
85
106
  fill: none;
86
107
  height: 26px;
108
+ position: relative;
87
109
  stroke: currentColor;
88
110
  stroke-linecap: round;
89
111
  stroke-linejoin: round;
90
112
  stroke-width: 1.75;
113
+ transform-origin: center;
114
+ transition: transform 180ms cubic-bezier(.25, 1, .5, 1);
91
115
  width: 26px;
116
+ z-index: 1;
117
+ }
118
+
119
+ .make-ai-assistant__launcher:hover > svg {
120
+ transform: rotate(8deg) scale(1.03);
92
121
  }
93
122
 
94
123
  .make-ai-assistant__launcher-orbit {
95
- border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 30%, transparent);
124
+ animation: make-ai-launcher-orbit 6s linear infinite, make-ai-launcher-breathe 2.8s cubic-bezier(.25, 1, .5, 1) infinite;
125
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 22%, transparent);
96
126
  border-radius: 50%;
97
- inset: -5px;
127
+ inset: -6px;
128
+ opacity: .78;
129
+ pointer-events: none;
130
+ position: absolute;
131
+ }
132
+
133
+ .make-ai-assistant__launcher-orbit::before {
134
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 72%, #fcfcff);
135
+ border-radius: 50%;
136
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--make-ai-internal-accent) 10%, transparent);
137
+ content: "";
138
+ height: 5px;
139
+ left: 50%;
98
140
  position: absolute;
141
+ top: -2px;
142
+ transform: translateX(-50%);
143
+ width: 5px;
99
144
  }
100
145
 
101
146
  .make-ai-assistant__drawer {
@@ -129,6 +174,7 @@
129
174
  display: grid;
130
175
  gap: 10px;
131
176
  grid-template-columns: auto 1fr auto;
177
+ grid-row: 1;
132
178
  min-height: 70px;
133
179
  padding: 14px 18px;
134
180
  }
@@ -216,6 +262,7 @@
216
262
  display: flex;
217
263
  font-size: .6875rem;
218
264
  gap: 7px;
265
+ grid-row: 2;
219
266
  line-height: 1.45;
220
267
  margin: 10px 18px 0;
221
268
  padding: 7px 9px;
@@ -247,6 +294,7 @@
247
294
  }
248
295
 
249
296
  .make-ai-assistant__body {
297
+ grid-row: 3;
250
298
  min-height: 0;
251
299
  min-width: 0;
252
300
  overflow: auto;
@@ -314,7 +362,7 @@
314
362
  align-items: center;
315
363
  display: flex;
316
364
  gap: 8px;
317
- min-height: 26px;
365
+ min-height: 22px;
318
366
  }
319
367
 
320
368
  .make-ai-assistant__message--user .make-ai-assistant__message-identity {
@@ -329,8 +377,8 @@
329
377
  }
330
378
 
331
379
  .make-ai-assistant__message--assistant .make-ai-assistant__message-stack {
332
- margin-left: 34px;
333
- max-width: calc(100% - 34px);
380
+ margin-left: 30px;
381
+ max-width: calc(100% - 30px);
334
382
  }
335
383
 
336
384
  .make-ai-assistant__message--user .make-ai-assistant__message-stack {
@@ -357,13 +405,13 @@
357
405
  .make-ai-assistant__avatar--message,
358
406
  .make-ai-assistant__user-avatar {
359
407
  border-radius: 8px;
360
- height: 26px;
361
- width: 26px;
408
+ height: 22px;
409
+ width: 22px;
362
410
  }
363
411
 
364
412
  .make-ai-assistant__avatar--message svg {
365
- height: 15px;
366
- width: 15px;
413
+ height: 13px;
414
+ width: 13px;
367
415
  }
368
416
 
369
417
  .make-ai-assistant__user-avatar {
@@ -407,11 +455,50 @@
407
455
  }
408
456
 
409
457
  .make-ai-assistant__assistant-text p,
458
+ .make-ai-assistant__assistant-text .make-ai-assistant__markdown-heading,
410
459
  .make-ai-assistant__assistant-text ul,
411
460
  .make-ai-assistant__assistant-text pre {
412
461
  margin: 0;
413
462
  }
414
463
 
464
+ .make-ai-assistant__markdown-heading {
465
+ align-items: center;
466
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 4%, var(--make-ai-internal-surface));
467
+ border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 8%, var(--make-ai-internal-border));
468
+ border-radius: 9px;
469
+ box-shadow: inset 0 1px 0 rgb(255 255 255 / 54%);
470
+ color: color-mix(in srgb, var(--make-ai-internal-text) 94%, var(--make-ai-internal-accent));
471
+ display: flex;
472
+ font-size: 1.04em;
473
+ font-weight: 720;
474
+ gap: 6px;
475
+ letter-spacing: -.01em;
476
+ line-height: 1.45;
477
+ min-width: 0;
478
+ padding: 4px 8px 4px 12px;
479
+ position: relative;
480
+ }
481
+
482
+ .make-ai-assistant__markdown-heading::before {
483
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 62%, var(--make-ai-internal-text-secondary));
484
+ border-radius: 999px;
485
+ bottom: 7px;
486
+ content: "";
487
+ left: 5px;
488
+ position: absolute;
489
+ top: 7px;
490
+ width: 2px;
491
+ }
492
+
493
+ .make-ai-assistant__markdown-heading--3,
494
+ .make-ai-assistant__markdown-heading--4,
495
+ .make-ai-assistant__markdown-heading--5,
496
+ .make-ai-assistant__markdown-heading--6 {
497
+ color: color-mix(in srgb, var(--make-ai-internal-text) 90%, var(--make-ai-internal-accent));
498
+ font-size: 1em;
499
+ font-weight: 680;
500
+ }
501
+
415
502
  .make-ai-assistant__assistant-text p {
416
503
  min-width: 0;
417
504
  }
@@ -644,9 +731,11 @@
644
731
  cursor: pointer;
645
732
  font-size: var(--make-ai-internal-font-size-ui);
646
733
  font-weight: 600;
734
+ position: relative;
647
735
  }
648
736
 
649
- .make-ai-assistant__reply-copy {
737
+ .make-ai-assistant__reply-copy,
738
+ .make-ai-assistant__reply-regenerate {
650
739
  align-items: center;
651
740
  border: 1px solid transparent;
652
741
  display: inline-flex;
@@ -656,7 +745,8 @@
656
745
  width: 28px;
657
746
  }
658
747
 
659
- .make-ai-assistant__reply-copy svg {
748
+ .make-ai-assistant__reply-copy svg,
749
+ .make-ai-assistant__reply-regenerate svg {
660
750
  fill: none;
661
751
  height: 15px;
662
752
  stroke: currentColor;
@@ -666,17 +756,40 @@
666
756
  width: 15px;
667
757
  }
668
758
 
669
- .make-ai-assistant__reply-regenerate {
670
- padding: 3px 0;
759
+ .make-ai-assistant__reply-action[data-tooltip]::after,
760
+ .make-ai-assistant__send[data-tooltip]::after {
761
+ background: color-mix(in srgb, var(--make-ai-internal-text) 94%, #000);
762
+ border-radius: 8px;
763
+ bottom: calc(100% + 7px);
764
+ box-shadow: 0 8px 18px rgb(30 31 43 / 18%);
765
+ color: #fcfcff;
766
+ content: attr(data-tooltip);
767
+ font-size: 11px;
768
+ font-weight: 600;
769
+ left: 50%;
770
+ line-height: 1;
771
+ opacity: 0;
772
+ padding: 6px 8px;
773
+ pointer-events: none;
774
+ position: absolute;
775
+ transform: translate(-50%, 2px);
776
+ transition: opacity 120ms ease, transform 120ms ease;
777
+ white-space: nowrap;
778
+ z-index: 3;
671
779
  }
672
780
 
673
- .make-ai-assistant__reply-copy:hover {
674
- background: var(--make-ai-internal-surface);
675
- border-color: color-mix(in srgb, var(--make-ai-internal-accent) 18%, var(--make-ai-internal-border));
676
- color: var(--make-ai-internal-accent);
781
+ .make-ai-assistant__reply-action[data-tooltip]:hover::after,
782
+ .make-ai-assistant__reply-action[data-tooltip]:focus-visible::after,
783
+ .make-ai-assistant__send[data-tooltip]:hover::after,
784
+ .make-ai-assistant__send[data-tooltip]:focus-visible::after {
785
+ opacity: 1;
786
+ transform: translate(-50%, 0);
677
787
  }
678
788
 
789
+ .make-ai-assistant__reply-copy:hover,
679
790
  .make-ai-assistant__reply-regenerate:hover {
791
+ background: var(--make-ai-internal-surface);
792
+ border-color: color-mix(in srgb, var(--make-ai-internal-accent) 18%, var(--make-ai-internal-border));
680
793
  color: var(--make-ai-internal-accent);
681
794
  }
682
795
 
@@ -744,6 +857,7 @@
744
857
  .make-ai-assistant__composer-region {
745
858
  background: color-mix(in srgb, var(--make-ai-internal-bg) 94%, var(--make-ai-internal-surface));
746
859
  border-top: 1px solid var(--make-ai-internal-border);
860
+ grid-row: 4;
747
861
  box-shadow: 0 -8px 18px rgb(30 31 43 / 3%);
748
862
  padding: 10px 18px 9px;
749
863
  }
@@ -1030,6 +1144,16 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1030
1144
  to { opacity: 1; transform: translateX(0); }
1031
1145
  }
1032
1146
 
1147
+ @keyframes make-ai-launcher-orbit {
1148
+ from { transform: rotate(0deg); }
1149
+ to { transform: rotate(360deg); }
1150
+ }
1151
+
1152
+ @keyframes make-ai-launcher-breathe {
1153
+ 0%, 100% { opacity: .58; }
1154
+ 50% { opacity: .92; }
1155
+ }
1156
+
1033
1157
  @container (max-width: 360px) {
1034
1158
  .make-ai-assistant__header {
1035
1159
  gap: 8px;
@@ -1055,8 +1179,8 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1055
1179
  }
1056
1180
 
1057
1181
  .make-ai-assistant__message--assistant .make-ai-assistant__message-stack {
1058
- margin-left: 32px;
1059
- max-width: calc(100% - 32px);
1182
+ margin-left: 30px;
1183
+ max-width: calc(100% - 30px);
1060
1184
  }
1061
1185
 
1062
1186
  .make-ai-assistant__suggestions {
@@ -1085,7 +1209,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1085
1209
 
1086
1210
  @media (max-width: 560px) {
1087
1211
  .make-ai-assistant__drawer { width: 100vw; }
1088
- .make-ai-assistant__launcher { bottom: 20px; right: 20px; }
1212
+ .make-ai-assistant__launcher { right: var(--make-ai-launcher-mobile-right, 16px); }
1089
1213
  .make-ai-artifact__record {
1090
1214
  grid-template-columns: minmax(0, 1fr) auto;
1091
1215
  }
@@ -1112,7 +1236,10 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1112
1236
  animation: none;
1113
1237
  }
1114
1238
  .make-ai-assistant__launcher,
1239
+ .make-ai-assistant__launcher > svg,
1115
1240
  .make-ai-assistant__back-to-latest,
1241
+ .make-ai-assistant__reply-action[data-tooltip]::after,
1242
+ .make-ai-assistant__send[data-tooltip]::after,
1116
1243
  .make-ai-assistant__process summary::after {
1117
1244
  transition: none;
1118
1245
  }
package/package.ai.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "packageName": "@qfei-design/make-ai-assistant",
3
- "minimumRuntimeVersion": "0.1.2",
3
+ "minimumRuntimeVersion": "0.1.9",
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.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"
18
+ "pnpm": "pnpm add @qfei-design/make-ai-assistant@^0.1.9",
19
+ "npm": "npm install @qfei-design/make-ai-assistant@^0.1.9",
20
+ "yarn": "yarn add @qfei-design/make-ai-assistant@^0.1.9"
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.7",
3
+ "version": "0.1.9",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [