@design.estate/dees-catalog 6.6.0 → 6.7.1
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_bundle/bundle.js +1609 -751
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +26 -15
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +41 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +100 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +846 -40
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +12 -8
- package/dist_ts_web/elements/00group-harness/harness.styles.js +16 -13
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +56 -0
- package/package.json +2 -2
- package/readme.hints.md +3 -0
- package/readme.md +49 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +25 -14
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +123 -1
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +952 -40
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +11 -7
- package/ts_web/elements/00group-harness/harness.styles.ts +15 -12
- package/ts_web/elements/00group-harness/interfaces.ts +67 -0
|
@@ -208,18 +208,18 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
208
208
|
|
|
209
209
|
@keyframes harness-card-open-chat-scan {
|
|
210
210
|
0% {
|
|
211
|
-
|
|
211
|
+
transform: translate3d(-60%, 0, 0);
|
|
212
212
|
opacity: 0;
|
|
213
213
|
}
|
|
214
214
|
1% {
|
|
215
215
|
opacity: 0.35;
|
|
216
216
|
}
|
|
217
217
|
20% {
|
|
218
|
-
|
|
218
|
+
transform: translate3d(0, 0, 0);
|
|
219
219
|
opacity: 0.35;
|
|
220
220
|
}
|
|
221
221
|
24%, 100% {
|
|
222
|
-
|
|
222
|
+
transform: translate3d(0, 0, 0);
|
|
223
223
|
opacity: 0;
|
|
224
224
|
}
|
|
225
225
|
}
|
|
@@ -608,7 +608,8 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
608
608
|
.harness-card.outcomeScan::after {
|
|
609
609
|
content: '';
|
|
610
610
|
position: absolute;
|
|
611
|
-
inset: 0;
|
|
611
|
+
inset: 0 auto 0 0;
|
|
612
|
+
width: 250%;
|
|
612
613
|
pointer-events: none;
|
|
613
614
|
background: linear-gradient(
|
|
614
615
|
105deg,
|
|
@@ -617,7 +618,9 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
617
618
|
color-mix(in srgb, var(--harness-outcome-scan-color) 14%, transparent) 50%,
|
|
618
619
|
color-mix(in srgb, var(--harness-outcome-scan-color) 3%, transparent) 55%,
|
|
619
620
|
transparent 60%
|
|
620
|
-
)
|
|
621
|
+
);
|
|
622
|
+
transform: translate3d(-60%, 0, 0);
|
|
623
|
+
will-change: transform;
|
|
621
624
|
animation: harness-tool-outcome-scan 0.48s linear 0.08s both;
|
|
622
625
|
}
|
|
623
626
|
|
|
@@ -631,8 +634,8 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
631
634
|
}
|
|
632
635
|
|
|
633
636
|
@keyframes harness-tool-outcome-scan {
|
|
634
|
-
from {
|
|
635
|
-
to {
|
|
637
|
+
from { transform: translate3d(-60%, 0, 0); }
|
|
638
|
+
to { transform: translate3d(0, 0, 0); }
|
|
636
639
|
}
|
|
637
640
|
|
|
638
641
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -647,6 +650,7 @@ export class DeesHarnessToolCard extends DeesElement {
|
|
|
647
650
|
.harness-card.outcomeScan::after {
|
|
648
651
|
animation: none;
|
|
649
652
|
opacity: 0;
|
|
653
|
+
will-change: auto;
|
|
650
654
|
}
|
|
651
655
|
}
|
|
652
656
|
`,
|
|
@@ -24,17 +24,19 @@ export const harnessCardStyles: CSSResult = css`
|
|
|
24
24
|
.harness-card.outcomeScan::before {
|
|
25
25
|
content: '';
|
|
26
26
|
position: absolute;
|
|
27
|
-
inset: 0;
|
|
27
|
+
inset: 0 auto 0 0;
|
|
28
|
+
width: 250%;
|
|
28
29
|
pointer-events: none;
|
|
29
|
-
background:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
background: linear-gradient(
|
|
31
|
+
105deg,
|
|
32
|
+
transparent 40%,
|
|
33
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 45%,
|
|
34
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 20%, transparent) 50%,
|
|
35
|
+
color-mix(in srgb, var(--dees-color-accent-primary) 6%, transparent) 55%,
|
|
36
|
+
transparent 60%
|
|
37
|
+
);
|
|
38
|
+
transform: translate3d(-60%, 0, 0);
|
|
39
|
+
will-change: transform;
|
|
38
40
|
animation: harness-card-running-scan 2s linear infinite;
|
|
39
41
|
opacity: 1;
|
|
40
42
|
transition: opacity 0.18s var(--dees-ease-out);
|
|
@@ -53,8 +55,8 @@ export const harnessCardStyles: CSSResult = css`
|
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
@keyframes harness-card-running-scan {
|
|
56
|
-
from {
|
|
57
|
-
to {
|
|
58
|
+
from { transform: translate3d(-60%, 0, 0); }
|
|
59
|
+
to { transform: translate3d(0, 0, 0); }
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -72,6 +74,7 @@ export const harnessCardStyles: CSSResult = css`
|
|
|
72
74
|
animation: none;
|
|
73
75
|
opacity: 0;
|
|
74
76
|
transition: none;
|
|
77
|
+
will-change: auto;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
`;
|
|
@@ -307,6 +307,73 @@ export interface IHarnessSessionMeta {
|
|
|
307
307
|
draggable?: boolean;
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
+
/** Host-owned metadata for a resource that can be associated with a harness session. */
|
|
311
|
+
export interface IHarnessResourceMeta<TState extends string = string> {
|
|
312
|
+
/** Stable identity used by selection and association records. */
|
|
313
|
+
id: string;
|
|
314
|
+
/** Open resource kind supplied by the host, for example `terminal`, `file`, or `browser`. */
|
|
315
|
+
kind: string;
|
|
316
|
+
title: string;
|
|
317
|
+
/** Optional dees-icon name (e.g. `lucide:FileText`). */
|
|
318
|
+
icon?: string;
|
|
319
|
+
preview?: string;
|
|
320
|
+
createdAt?: number;
|
|
321
|
+
updatedAt?: number;
|
|
322
|
+
/** Optional host-defined display state. */
|
|
323
|
+
state?: TState;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/** A controlled zero-or-one session association for one resource. */
|
|
327
|
+
export interface IHarnessResourceAssociation {
|
|
328
|
+
resourceId: string;
|
|
329
|
+
sessionId: string;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export interface IHarnessResourceEventDetail<TState extends string = string> {
|
|
333
|
+
resource: IHarnessResourceMeta<TState>;
|
|
334
|
+
sessionId: string | null;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
export type THarnessResourceAssociationInteractionSource = 'drop' | 'action' | 'keyboard';
|
|
338
|
+
|
|
339
|
+
export type THarnessResourceAssociationRequestDetail<TState extends string = string> =
|
|
340
|
+
| {
|
|
341
|
+
intent: 'attach';
|
|
342
|
+
resource: IHarnessResourceMeta<TState>;
|
|
343
|
+
fromSessionId: null;
|
|
344
|
+
toSessionId: string;
|
|
345
|
+
source: THarnessResourceAssociationInteractionSource;
|
|
346
|
+
}
|
|
347
|
+
| {
|
|
348
|
+
intent: 'detach';
|
|
349
|
+
resource: IHarnessResourceMeta<TState>;
|
|
350
|
+
fromSessionId: string;
|
|
351
|
+
toSessionId: null;
|
|
352
|
+
source: THarnessResourceAssociationInteractionSource;
|
|
353
|
+
}
|
|
354
|
+
| {
|
|
355
|
+
intent: 'reassign';
|
|
356
|
+
resource: IHarnessResourceMeta<TState>;
|
|
357
|
+
fromSessionId: string;
|
|
358
|
+
toSessionId: string;
|
|
359
|
+
source: THarnessResourceAssociationInteractionSource;
|
|
360
|
+
};
|
|
361
|
+
|
|
362
|
+
export type THarnessResourceContextSource = 'pointer' | 'action' | 'keyboard';
|
|
363
|
+
|
|
364
|
+
/** Detail of `harness-resource-context`; the host owns the actual menu. */
|
|
365
|
+
export interface IHarnessResourceContextDetail<TState extends string = string>
|
|
366
|
+
extends IHarnessResourceEventDetail<TState> {
|
|
367
|
+
clientX: number;
|
|
368
|
+
clientY: number;
|
|
369
|
+
source: THarnessResourceContextSource;
|
|
370
|
+
originalEvent: MouseEvent | KeyboardEvent;
|
|
371
|
+
/** Routes a host menu choice through the component's validated controlled request event. */
|
|
372
|
+
requestAssociation: (toSessionId: string | null) => boolean;
|
|
373
|
+
/** Closes the external-menu disclosure state and restores focus to its invoking control. */
|
|
374
|
+
close: () => void;
|
|
375
|
+
}
|
|
376
|
+
|
|
310
377
|
/** Detail of `harness-session-context`, fired on right-click of a session item. */
|
|
311
378
|
export interface IHarnessSessionContextDetail {
|
|
312
379
|
session: IHarnessSessionMeta;
|