@spotpatch/runtime 1.15.4 → 1.15.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/{chunk-ELCIEQGT.js → chunk-HVI76KFV.js} +10 -10
- package/dist/chunk-HVI76KFV.js.map +1 -0
- package/dist/chunk-N4TPX3YF.js +224 -0
- package/dist/chunk-N4TPX3YF.js.map +1 -0
- package/dist/contextual-ask-panel.cjs +153 -71
- package/dist/contextual-ask-panel.cjs.map +1 -1
- package/dist/contextual-ask-panel.js +145 -63
- package/dist/contextual-ask-panel.js.map +1 -1
- package/dist/data-flow-panel.cjs +20 -19
- package/dist/data-flow-panel.cjs.map +1 -1
- package/dist/data-flow-panel.js +20 -19
- package/dist/data-flow-panel.js.map +1 -1
- package/dist/external-handoff-panel.cjs +45 -41
- package/dist/external-handoff-panel.cjs.map +1 -1
- package/dist/external-handoff-panel.js +37 -33
- package/dist/external-handoff-panel.js.map +1 -1
- package/dist/index.cjs +563 -422
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +458 -423
- package/dist/index.js.map +1 -1
- package/dist/motion.cjs +113 -187
- package/dist/motion.cjs.map +1 -1
- package/dist/motion.js +107 -188
- package/dist/motion.js.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-ELCIEQGT.js.map +0 -1
- package/dist/chunk-P7W3F4UA.js +0 -115
- package/dist/chunk-P7W3F4UA.js.map +0 -1
package/dist/motion.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BRAND_MARK_CONTENT,
|
|
3
|
+
THEME_MOTION_COLORS,
|
|
3
4
|
createBrandMark,
|
|
4
5
|
getFloatingSurfaceMotionExtension,
|
|
5
6
|
registerFloatingSurfaceMotionExtension
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-N4TPX3YF.js";
|
|
7
8
|
import {
|
|
8
9
|
createButton,
|
|
9
10
|
createMarkedElement
|
|
@@ -20,12 +21,22 @@ var MOTION = Object.freeze({
|
|
|
20
21
|
expandSeconds: 0.54,
|
|
21
22
|
morphSeconds: 0.48,
|
|
22
23
|
pressSeconds: 0.12,
|
|
23
|
-
revealSeconds: 0.
|
|
24
|
-
|
|
24
|
+
revealSeconds: 0.36,
|
|
25
|
+
revealStaggerSeconds: 0.05,
|
|
26
|
+
sceneRevealDelaySeconds: 0.12,
|
|
25
27
|
sweepSeconds: 0.68,
|
|
26
28
|
targetFeedbackDelaySeconds: 0.08,
|
|
27
29
|
targetFeedbackSeconds: 0.22
|
|
28
30
|
});
|
|
31
|
+
var PLANNER_SECTION_COUNT = 3;
|
|
32
|
+
function milliseconds(seconds) {
|
|
33
|
+
return `${String(Math.round(seconds * 1e3))}ms`;
|
|
34
|
+
}
|
|
35
|
+
function sectionRevealDelay(index) {
|
|
36
|
+
return milliseconds(
|
|
37
|
+
MOTION.sceneRevealDelaySeconds + MOTION.revealStaggerSeconds * index
|
|
38
|
+
);
|
|
39
|
+
}
|
|
29
40
|
var ISLAND_SIZE = Object.freeze({
|
|
30
41
|
checkingWidth: 440,
|
|
31
42
|
compactHeight: 62,
|
|
@@ -85,52 +96,23 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
85
96
|
const style = document.createElement("style");
|
|
86
97
|
style.textContent = `
|
|
87
98
|
.spotpatch-floating-surface {
|
|
88
|
-
--spotpatch-island-surface: #050608;
|
|
89
|
-
--spotpatch-island-primary: #f7f7fb;
|
|
90
|
-
--spotpatch-island-subtle: #5f646e;
|
|
91
|
-
--spotpatch-island-line: rgb(255 255 255 / 10%);
|
|
92
|
-
--spotpatch-island-violet: #8b67ff;
|
|
93
|
-
--spotpatch-island-cyan: #4dc8ff;
|
|
94
|
-
--spotpatch-island-mint: #59dcb6;
|
|
95
|
-
--spotpatch-island-error: #ef6f88;
|
|
96
99
|
--spotpatch-island-compact-height: ${String(ISLAND_SIZE.compactHeight)}px;
|
|
97
100
|
--spotpatch-island-compact-width: ${String(ISLAND_SIZE.runningWidth)}px;
|
|
98
101
|
--spotpatch-island-expanded-height: ${String(ISLAND_SIZE.expandedHeight)}px;
|
|
99
102
|
--spotpatch-island-expanded-width: ${String(ISLAND_SIZE.expandedWidth)}px;
|
|
100
|
-
--spotpatch-island-ease: cubic-bezier(.22, 1, .36, 1);
|
|
101
|
-
position: fixed;
|
|
102
|
-
box-sizing: border-box;
|
|
103
|
-
color-scheme: dark;
|
|
104
|
-
-webkit-font-smoothing: antialiased;
|
|
105
|
-
overflow: hidden;
|
|
106
|
-
border: 1px solid var(--spotpatch-island-line);
|
|
107
|
-
background:
|
|
108
|
-
linear-gradient(180deg, rgb(255 255 255 / 2.8%), transparent 24%),
|
|
109
|
-
rgb(5 6 8 / 98.8%);
|
|
110
|
-
box-shadow:
|
|
111
|
-
0 24px 60px rgb(13 17 28 / 18%),
|
|
112
|
-
0 3px 10px rgb(13 17 28 / 10%),
|
|
113
|
-
inset 0 1px rgb(255 255 255 / 6.5%),
|
|
114
|
-
inset 0 0 0 1px rgb(255 255 255 / 1.2%);
|
|
115
|
-
transform-origin: 100% 100%;
|
|
116
103
|
}
|
|
117
104
|
.spotpatch-floating-surface::before {
|
|
118
105
|
position: absolute;
|
|
119
106
|
z-index: 0;
|
|
120
107
|
inset: 0;
|
|
121
108
|
background:
|
|
122
|
-
radial-gradient(
|
|
123
|
-
radial-gradient(
|
|
109
|
+
radial-gradient(160px 70px at 0% 50%, var(--spotpatch-accent-tint), transparent 72%),
|
|
110
|
+
radial-gradient(160px 70px at 100% 50%, var(--spotpatch-cyan-tint), transparent 72%);
|
|
124
111
|
content: "";
|
|
125
112
|
opacity: 0;
|
|
126
113
|
pointer-events: none;
|
|
114
|
+
transition: opacity var(--spotpatch-duration-slow) ease;
|
|
127
115
|
}
|
|
128
|
-
.spotpatch-floating-surface[data-scene="pill"],
|
|
129
|
-
.spotpatch-floating-surface[data-scene="capturing"] {
|
|
130
|
-
width: max-content;
|
|
131
|
-
border-radius: 999px;
|
|
132
|
-
}
|
|
133
|
-
.spotpatch-floating-surface[data-scene="planner"] { border-radius: 18px; }
|
|
134
116
|
.spotpatch-floating-surface[data-scene="agent-charging"],
|
|
135
117
|
.spotpatch-floating-surface[data-scene="handoff"],
|
|
136
118
|
.spotpatch-floating-surface[data-scene="running"],
|
|
@@ -139,17 +121,17 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
139
121
|
width: min(var(--spotpatch-island-compact-width), calc(100vw - 32px));
|
|
140
122
|
height: var(--spotpatch-island-compact-height);
|
|
141
123
|
max-width: calc(100vw - 32px);
|
|
142
|
-
border-radius:
|
|
124
|
+
border-radius: var(--spotpatch-radius-pill);
|
|
143
125
|
}
|
|
144
126
|
.spotpatch-floating-surface[data-scene="agent-charging"]::before,
|
|
145
127
|
.spotpatch-floating-surface[data-scene="handoff"]::before,
|
|
146
|
-
.spotpatch-floating-surface[data-scene="running"]::before
|
|
147
|
-
.spotpatch-floating-surface[data-scene="success"]
|
|
148
|
-
.spotpatch-floating-surface[data-scene="failed"]
|
|
128
|
+
.spotpatch-floating-surface[data-scene="running"]::before { opacity: 1; }
|
|
129
|
+
.spotpatch-floating-surface[data-scene="success"] { border-color: color-mix(in srgb, var(--spotpatch-success) 32%, transparent); }
|
|
130
|
+
.spotpatch-floating-surface[data-scene="failed"] { border-color: var(--spotpatch-danger-line); }
|
|
149
131
|
.spotpatch-floating-surface:has(.spotpatch-execution-island[data-expanded="true"]) {
|
|
150
132
|
width: min(var(--spotpatch-island-expanded-width), calc(100vw - 32px));
|
|
151
133
|
height: min(var(--spotpatch-island-expanded-height), calc(100vh - 32px));
|
|
152
|
-
border-radius:
|
|
134
|
+
border-radius: 28px;
|
|
153
135
|
}
|
|
154
136
|
.spotpatch-floating-surface > .spotpatch-trigger,
|
|
155
137
|
.spotpatch-floating-surface > .spotpatch-dialog,
|
|
@@ -157,75 +139,8 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
157
139
|
position: relative;
|
|
158
140
|
z-index: 1;
|
|
159
141
|
}
|
|
160
|
-
|
|
161
|
-
display: inline-flex;
|
|
162
|
-
min-height: 44px;
|
|
163
|
-
align-items: center;
|
|
164
|
-
gap: 10px;
|
|
165
|
-
border: 0;
|
|
166
|
-
border-radius: 999px;
|
|
167
|
-
padding: 10px 17px;
|
|
168
|
-
color: #f8fafc;
|
|
169
|
-
background: transparent;
|
|
170
|
-
box-shadow: none;
|
|
171
|
-
cursor: pointer;
|
|
172
|
-
font-size: 14px;
|
|
173
|
-
font-weight: 650;
|
|
174
|
-
touch-action: none;
|
|
175
|
-
user-select: none;
|
|
176
|
-
}
|
|
177
|
-
.spotpatch-trigger::before {
|
|
178
|
-
width: 9px;
|
|
179
|
-
height: 9px;
|
|
180
|
-
border-radius: 999px;
|
|
181
|
-
background: var(--spotpatch-accent);
|
|
182
|
-
box-shadow: 0 0 0 4px rgb(99 102 241 / 10%);
|
|
183
|
-
content: "";
|
|
184
|
-
}
|
|
185
|
-
.spotpatch-trigger:hover { transform: translateY(-1px); }
|
|
186
|
-
.spotpatch-trigger[aria-pressed="true"] { background: rgb(139 123 255 / 14%); }
|
|
187
|
-
.spotpatch-trigger[aria-pressed="true"]::before {
|
|
188
|
-
animation: spotpatch-motion-pill-pulse 1.8s ease-in-out infinite;
|
|
189
|
-
}
|
|
190
|
-
.spotpatch-trigger[data-dragging="true"] {
|
|
191
|
-
cursor: grabbing;
|
|
192
|
-
transform: scale(.98);
|
|
193
|
-
}
|
|
194
|
-
.spotpatch-floating-surface .spotpatch-dialog { filter: none; }
|
|
195
|
-
.spotpatch-floating-surface .spotpatch-shell {
|
|
196
|
-
border: 0;
|
|
197
|
-
border-radius: 0;
|
|
198
|
-
background: transparent;
|
|
199
|
-
box-shadow: none;
|
|
200
|
-
}
|
|
201
|
-
.spotpatch-brand-name {
|
|
202
|
-
color: #fff;
|
|
203
|
-
font-size: 13.5px;
|
|
204
|
-
font-weight: 680;
|
|
205
|
-
letter-spacing: -.01em;
|
|
206
|
-
}
|
|
207
|
-
.spotpatch-brand-context {
|
|
208
|
-
color: #8e98aa;
|
|
209
|
-
font-size: 10.5px;
|
|
210
|
-
font-weight: 560;
|
|
211
|
-
letter-spacing: .02em;
|
|
212
|
-
}
|
|
213
|
-
.spotpatch-title {
|
|
214
|
-
margin: 0;
|
|
215
|
-
color: #fff;
|
|
216
|
-
font-size: 18px;
|
|
217
|
-
font-weight: 680;
|
|
218
|
-
letter-spacing: -.015em;
|
|
219
|
-
}
|
|
220
|
-
.spotpatch-subtitle {
|
|
221
|
-
max-width: 390px;
|
|
222
|
-
margin: 4px 0 0;
|
|
223
|
-
color: var(--spotpatch-text-secondary);
|
|
224
|
-
font-size: 12.5px;
|
|
225
|
-
line-height: 1.5;
|
|
226
|
-
}
|
|
142
|
+
|
|
227
143
|
.spotpatch-execution-island {
|
|
228
|
-
position: relative;
|
|
229
144
|
display: grid;
|
|
230
145
|
box-sizing: border-box;
|
|
231
146
|
width: 100%;
|
|
@@ -237,7 +152,7 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
237
152
|
border: 0;
|
|
238
153
|
border-radius: inherit;
|
|
239
154
|
padding: 0 18px;
|
|
240
|
-
color: var(--spotpatch-
|
|
155
|
+
color: var(--spotpatch-text);
|
|
241
156
|
background: transparent;
|
|
242
157
|
cursor: pointer;
|
|
243
158
|
text-align: left;
|
|
@@ -245,17 +160,15 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
245
160
|
}
|
|
246
161
|
.spotpatch-execution-island[data-expanded="true"] {
|
|
247
162
|
min-height: var(--spotpatch-island-expanded-height);
|
|
248
|
-
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
249
163
|
grid-template-rows: auto 1fr;
|
|
250
164
|
align-items: start;
|
|
251
165
|
row-gap: 16px;
|
|
252
|
-
border-radius: 30px;
|
|
253
166
|
padding: 18px 20px 16px;
|
|
254
167
|
}
|
|
255
168
|
.spotpatch-execution-mark {
|
|
256
169
|
display: grid;
|
|
257
|
-
width:
|
|
258
|
-
height:
|
|
170
|
+
width: 24px;
|
|
171
|
+
height: 24px;
|
|
259
172
|
flex: none;
|
|
260
173
|
place-items: center;
|
|
261
174
|
}
|
|
@@ -263,7 +176,11 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
263
176
|
width: 22px;
|
|
264
177
|
height: 22px;
|
|
265
178
|
overflow: visible;
|
|
266
|
-
|
|
179
|
+
}
|
|
180
|
+
[data-execution-scene="agent-charging"] .spotpatch-execution-logo,
|
|
181
|
+
[data-execution-scene="handoff"] .spotpatch-execution-logo,
|
|
182
|
+
[data-execution-scene="running"] .spotpatch-execution-logo {
|
|
183
|
+
animation: spotpatch-motion-logo-glow 2.4s ease-in-out infinite;
|
|
267
184
|
}
|
|
268
185
|
.spotpatch-execution-content {
|
|
269
186
|
display: flex;
|
|
@@ -292,17 +209,15 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
292
209
|
}
|
|
293
210
|
.spotpatch-execution-headline,
|
|
294
211
|
.spotpatch-execution-headline-outgoing {
|
|
295
|
-
|
|
296
|
-
font-
|
|
297
|
-
|
|
298
|
-
letter-spacing: -.018em;
|
|
212
|
+
font-size: 14.5px;
|
|
213
|
+
font-weight: 650;
|
|
214
|
+
letter-spacing: -.015em;
|
|
299
215
|
line-height: 1.35;
|
|
300
216
|
}
|
|
301
217
|
.spotpatch-execution-action,
|
|
302
218
|
.spotpatch-execution-action-outgoing {
|
|
303
|
-
color:
|
|
304
|
-
font-size:
|
|
305
|
-
font-weight: 400;
|
|
219
|
+
color: var(--spotpatch-text-muted);
|
|
220
|
+
font-size: 11.5px;
|
|
306
221
|
line-height: 1.35;
|
|
307
222
|
}
|
|
308
223
|
.spotpatch-execution-headline-outgoing,
|
|
@@ -314,7 +229,7 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
314
229
|
}
|
|
315
230
|
.spotpatch-execution-copy-changing .spotpatch-execution-headline,
|
|
316
231
|
.spotpatch-execution-copy-changing .spotpatch-execution-action {
|
|
317
|
-
animation: spotpatch-motion-copy-in ${String(MOTION.contentMilliseconds)}ms var(--spotpatch-
|
|
232
|
+
animation: spotpatch-motion-copy-in ${String(MOTION.contentMilliseconds)}ms var(--spotpatch-ease-out) both;
|
|
318
233
|
}
|
|
319
234
|
.spotpatch-execution-copy-changing .spotpatch-execution-headline-outgoing,
|
|
320
235
|
.spotpatch-execution-copy-changing .spotpatch-execution-action-outgoing {
|
|
@@ -322,13 +237,13 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
322
237
|
}
|
|
323
238
|
.spotpatch-execution-meta {
|
|
324
239
|
display: inline-flex;
|
|
240
|
+
flex: none;
|
|
325
241
|
align-items: center;
|
|
326
242
|
justify-content: flex-end;
|
|
327
243
|
gap: 10px;
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
font-
|
|
331
|
-
font-weight: 620;
|
|
244
|
+
color: var(--spotpatch-text-secondary);
|
|
245
|
+
font-size: 11.5px;
|
|
246
|
+
font-weight: 600;
|
|
332
247
|
white-space: nowrap;
|
|
333
248
|
}
|
|
334
249
|
.spotpatch-execution-meta-dot {
|
|
@@ -336,49 +251,53 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
336
251
|
height: 6px;
|
|
337
252
|
flex: none;
|
|
338
253
|
border-radius: 50%;
|
|
339
|
-
background: var(--spotpatch-
|
|
340
|
-
box-shadow: 0 0
|
|
254
|
+
background: var(--spotpatch-accent);
|
|
255
|
+
box-shadow: 0 0 10px var(--spotpatch-accent-line);
|
|
341
256
|
}
|
|
342
257
|
[data-execution-scene="agent-charging"] .spotpatch-execution-meta-dot,
|
|
343
258
|
[data-execution-scene="handoff"] .spotpatch-execution-meta-dot,
|
|
344
259
|
[data-execution-scene="running"] .spotpatch-execution-meta-dot {
|
|
345
260
|
animation: spotpatch-motion-status-breathe 1.8s ease-in-out infinite;
|
|
346
261
|
}
|
|
262
|
+
.spotpatch-execution-meta[data-tone="success"] { color: var(--spotpatch-success-text); }
|
|
347
263
|
.spotpatch-execution-meta[data-tone="success"] .spotpatch-execution-meta-dot {
|
|
348
|
-
background: var(--spotpatch-
|
|
349
|
-
box-shadow: 0 0
|
|
264
|
+
background: var(--spotpatch-success);
|
|
265
|
+
box-shadow: 0 0 10px color-mix(in srgb, var(--spotpatch-success) 45%, transparent);
|
|
350
266
|
}
|
|
267
|
+
.spotpatch-execution-meta[data-tone="danger"] { color: var(--spotpatch-danger-text); }
|
|
351
268
|
.spotpatch-execution-meta[data-tone="danger"] .spotpatch-execution-meta-dot {
|
|
352
|
-
background: var(--spotpatch-
|
|
353
|
-
box-shadow: 0 0
|
|
269
|
+
background: var(--spotpatch-danger);
|
|
270
|
+
box-shadow: 0 0 10px var(--spotpatch-danger-line);
|
|
354
271
|
}
|
|
355
272
|
.spotpatch-execution-timer {
|
|
356
|
-
width:
|
|
357
|
-
color:
|
|
358
|
-
font:
|
|
273
|
+
width: 36px;
|
|
274
|
+
color: var(--spotpatch-text-muted);
|
|
275
|
+
font: 500 11px/1 var(--spotpatch-font-mono);
|
|
276
|
+
font-variant-numeric: tabular-nums;
|
|
359
277
|
text-align: right;
|
|
360
278
|
}
|
|
361
279
|
.spotpatch-execution-more {
|
|
362
280
|
display: grid;
|
|
363
281
|
width: 24px;
|
|
364
282
|
height: 24px;
|
|
365
|
-
|
|
283
|
+
place-items: center;
|
|
366
284
|
border: 0;
|
|
285
|
+
border-radius: 50%;
|
|
286
|
+
padding: 0;
|
|
287
|
+
color: var(--spotpatch-text-muted);
|
|
367
288
|
background: transparent;
|
|
368
|
-
color: #686e78;
|
|
369
289
|
font-size: 15px;
|
|
370
290
|
line-height: 1;
|
|
371
|
-
|
|
291
|
+
transition: background var(--spotpatch-duration-fast) ease;
|
|
372
292
|
}
|
|
293
|
+
.spotpatch-execution-island:hover .spotpatch-execution-more { background: var(--spotpatch-hover); }
|
|
373
294
|
[data-expanded="true"] .spotpatch-execution-meta-dot,
|
|
374
295
|
[data-expanded="true"] .spotpatch-execution-meta-label,
|
|
375
296
|
[data-expanded="true"] .spotpatch-execution-timer { display: none; }
|
|
376
297
|
[data-expanded="true"] .spotpatch-execution-more {
|
|
377
298
|
width: 28px;
|
|
378
299
|
height: 28px;
|
|
379
|
-
|
|
380
|
-
background: rgb(255 255 255 / 4.5%);
|
|
381
|
-
color: #828894;
|
|
300
|
+
background: var(--spotpatch-hover);
|
|
382
301
|
}
|
|
383
302
|
.spotpatch-execution-recent {
|
|
384
303
|
position: absolute;
|
|
@@ -386,82 +305,75 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
386
305
|
right: 20px;
|
|
387
306
|
left: 20px;
|
|
388
307
|
display: grid;
|
|
389
|
-
margin-top: 0;
|
|
390
308
|
}
|
|
391
|
-
.spotpatch-execution-recent[hidden] { display: none; }
|
|
392
309
|
.spotpatch-execution-recent-item {
|
|
393
310
|
display: grid;
|
|
394
311
|
min-height: 28px;
|
|
395
|
-
grid-template-columns:
|
|
312
|
+
grid-template-columns: 56px minmax(0, 1fr) auto;
|
|
396
313
|
align-items: center;
|
|
397
|
-
border-top: 1px solid
|
|
314
|
+
border-top: 1px solid var(--spotpatch-border-subtle);
|
|
398
315
|
}
|
|
399
316
|
.spotpatch-execution-recent-item:first-child { border-top: 0; }
|
|
400
|
-
.spotpatch-execution-recent-kind
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
317
|
+
.spotpatch-execution-recent-kind,
|
|
318
|
+
.spotpatch-execution-recent-state {
|
|
319
|
+
color: var(--spotpatch-text-muted);
|
|
320
|
+
font: 500 10.5px/1 var(--spotpatch-font-mono);
|
|
404
321
|
}
|
|
322
|
+
.spotpatch-execution-recent-kind { text-transform: uppercase; }
|
|
405
323
|
.spotpatch-execution-recent-detail {
|
|
406
324
|
overflow: hidden;
|
|
407
|
-
color:
|
|
408
|
-
font-size:
|
|
325
|
+
color: var(--spotpatch-text-secondary);
|
|
326
|
+
font-size: 11.5px;
|
|
409
327
|
text-overflow: ellipsis;
|
|
410
328
|
white-space: nowrap;
|
|
411
329
|
}
|
|
412
|
-
.spotpatch-execution-recent-state {
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
.spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-kind {
|
|
417
|
-
color: var(--spotpatch-island-violet);
|
|
418
|
-
}
|
|
419
|
-
.spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-detail {
|
|
420
|
-
color: #f2f3f7;
|
|
421
|
-
}
|
|
422
|
-
.spotpatch-execution-recent-item[data-state="failure"] .spotpatch-execution-recent-kind {
|
|
423
|
-
color: var(--spotpatch-island-error);
|
|
424
|
-
}
|
|
330
|
+
.spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-kind { color: var(--spotpatch-accent-soft); }
|
|
331
|
+
.spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-detail { color: var(--spotpatch-text); }
|
|
332
|
+
.spotpatch-execution-recent-item[data-state="failure"] .spotpatch-execution-recent-kind { color: var(--spotpatch-danger-text); }
|
|
425
333
|
.spotpatch-island-sweep {
|
|
426
334
|
position: absolute;
|
|
427
335
|
z-index: 2;
|
|
428
336
|
bottom: 0;
|
|
429
337
|
left: 44px;
|
|
430
|
-
width:
|
|
338
|
+
width: 22%;
|
|
431
339
|
height: 1px;
|
|
432
|
-
border-radius:
|
|
433
|
-
background: linear-gradient(90deg, transparent, var(--spotpatch-
|
|
434
|
-
box-shadow: 0 0
|
|
340
|
+
border-radius: var(--spotpatch-radius-pill);
|
|
341
|
+
background: linear-gradient(90deg, transparent, var(--spotpatch-accent), var(--spotpatch-accent-cyan), transparent);
|
|
342
|
+
box-shadow: 0 0 8px var(--spotpatch-accent-line);
|
|
435
343
|
opacity: 0;
|
|
436
344
|
pointer-events: none;
|
|
437
345
|
transform: translate3d(-160%, 0, 0);
|
|
438
346
|
}
|
|
347
|
+
[data-motion-reveal="true"] .spotpatch-shell > * {
|
|
348
|
+
animation: spotpatch-motion-section-in ${milliseconds(MOTION.revealSeconds)} var(--spotpatch-ease-out) both;
|
|
349
|
+
animation-delay: ${sectionRevealDelay(0)};
|
|
350
|
+
}
|
|
351
|
+
[data-motion-reveal="true"] .spotpatch-shell > :nth-child(2) { animation-delay: ${sectionRevealDelay(1)}; }
|
|
352
|
+
[data-motion-reveal="true"] .spotpatch-shell > :nth-child(3) { animation-delay: ${sectionRevealDelay(2)}; }
|
|
353
|
+
@keyframes spotpatch-motion-section-in {
|
|
354
|
+
from { opacity: 0; transform: translate3d(0, 8px, 0); }
|
|
355
|
+
}
|
|
439
356
|
@keyframes spotpatch-motion-copy-in {
|
|
440
|
-
from { opacity: 0; filter: blur(2px); transform: translate3d(0,
|
|
441
|
-
to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); }
|
|
357
|
+
from { opacity: 0; filter: blur(2px); transform: translate3d(0, 4px, 0); }
|
|
442
358
|
}
|
|
443
359
|
@keyframes spotpatch-motion-copy-out {
|
|
444
|
-
|
|
445
|
-
to { opacity: 0; filter: blur(2px); transform: translate3d(0, -3px, 0); }
|
|
360
|
+
to { opacity: 0; filter: blur(2px); transform: translate3d(0, -4px, 0); }
|
|
446
361
|
}
|
|
447
362
|
@keyframes spotpatch-motion-status-breathe {
|
|
448
|
-
50% { opacity: .
|
|
363
|
+
50% { opacity: .4; transform: scale(.8); }
|
|
449
364
|
}
|
|
450
|
-
@keyframes spotpatch-motion-
|
|
451
|
-
50% {
|
|
365
|
+
@keyframes spotpatch-motion-logo-glow {
|
|
366
|
+
50% { filter: drop-shadow(0 0 7px var(--spotpatch-accent-line)); }
|
|
452
367
|
}
|
|
453
|
-
.spotpatch-floating-surface[data-motion-paused="true"]
|
|
454
|
-
.spotpatch-floating-surface[data-motion-paused="true"]
|
|
368
|
+
.spotpatch-floating-surface[data-motion-paused="true"] *,
|
|
369
|
+
.spotpatch-floating-surface[data-motion-paused="true"] *::before {
|
|
455
370
|
animation-play-state: paused;
|
|
456
371
|
}
|
|
457
372
|
@media (prefers-reduced-motion: reduce) {
|
|
458
|
-
.spotpatch-trigger::before,
|
|
459
|
-
.spotpatch-execution-meta-dot,
|
|
460
373
|
.spotpatch-execution-headline,
|
|
461
374
|
.spotpatch-execution-headline-outgoing,
|
|
462
375
|
.spotpatch-execution-action,
|
|
463
376
|
.spotpatch-execution-action-outgoing {
|
|
464
|
-
animation: none !important;
|
|
465
377
|
filter: none !important;
|
|
466
378
|
transform: none !important;
|
|
467
379
|
}
|
|
@@ -469,7 +381,6 @@ function createFloatingSurfaceMotionStyles(document) {
|
|
|
469
381
|
}
|
|
470
382
|
@media (max-width: 520px) {
|
|
471
383
|
.spotpatch-execution-island {
|
|
472
|
-
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
473
384
|
gap: 10px;
|
|
474
385
|
padding-right: 14px;
|
|
475
386
|
padding-left: 14px;
|
|
@@ -543,6 +454,7 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
|
|
|
543
454
|
clearProps: "borderRadius,filter,height,opacity,transform,visibility,width,willChange"
|
|
544
455
|
});
|
|
545
456
|
delete elements.surface.dataset.motionMorphing;
|
|
457
|
+
delete elements.planner.dataset.motionReveal;
|
|
546
458
|
syncRecentVisibility();
|
|
547
459
|
}
|
|
548
460
|
function clearMorph() {
|
|
@@ -695,15 +607,22 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
|
|
|
695
607
|
0
|
|
696
608
|
);
|
|
697
609
|
}
|
|
698
|
-
if (reveal) {
|
|
610
|
+
if (reveal && activeScene === elements.planner) {
|
|
611
|
+
elements.planner.dataset.motionReveal = "true";
|
|
612
|
+
morphTimeline.call(
|
|
613
|
+
() => void 0,
|
|
614
|
+
[],
|
|
615
|
+
MOTION.sceneRevealDelaySeconds + MOTION.revealSeconds + MOTION.revealStaggerSeconds * (PLANNER_SECTION_COUNT - 1)
|
|
616
|
+
);
|
|
617
|
+
} else if (reveal) {
|
|
699
618
|
morphTimeline.fromTo(
|
|
700
619
|
activeScene,
|
|
701
|
-
{ autoAlpha: 0, y:
|
|
620
|
+
{ autoAlpha: 0, y: 8 },
|
|
702
621
|
{
|
|
703
622
|
autoAlpha: 1,
|
|
704
623
|
y: 0,
|
|
705
624
|
duration: MOTION.revealSeconds,
|
|
706
|
-
ease: "
|
|
625
|
+
ease: "power3.out",
|
|
707
626
|
clearProps: "transform,opacity,visibility"
|
|
708
627
|
},
|
|
709
628
|
MOTION.sceneRevealDelaySeconds
|
|
@@ -827,9 +746,9 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
|
|
|
827
746
|
);
|
|
828
747
|
dispatchTimeline.fromTo(
|
|
829
748
|
target,
|
|
830
|
-
{ boxShadow:
|
|
749
|
+
{ boxShadow: THEME_MOTION_COLORS.dispatchGlowRest },
|
|
831
750
|
{
|
|
832
|
-
boxShadow:
|
|
751
|
+
boxShadow: THEME_MOTION_COLORS.dispatchGlow,
|
|
833
752
|
duration: MOTION.targetFeedbackSeconds,
|
|
834
753
|
yoyo: true,
|
|
835
754
|
repeat: 1,
|
|
@@ -855,8 +774,8 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
|
|
|
855
774
|
|
|
856
775
|
// src/ui/execution-island.ts
|
|
857
776
|
var TIMER_INTERVAL_MS = 1e3;
|
|
858
|
-
function formatElapsed(
|
|
859
|
-
const totalSeconds = Math.max(0, Math.floor(
|
|
777
|
+
function formatElapsed(milliseconds2) {
|
|
778
|
+
const totalSeconds = Math.max(0, Math.floor(milliseconds2 / TIMER_INTERVAL_MS));
|
|
860
779
|
const seconds = totalSeconds % 60;
|
|
861
780
|
const totalMinutes = Math.floor(totalSeconds / 60);
|
|
862
781
|
const minutes = totalMinutes % 60;
|