@design.estate/dees-catalog 6.6.0 → 6.7.0
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 +1481 -657
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- 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 +816 -28
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +56 -0
- package/package.json +1 -1
- 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-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 +922 -28
- package/ts_web/elements/00group-harness/interfaces.ts +67 -0
|
@@ -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;
|