@design.estate/dees-catalog 4.10.0 → 4.11.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 +4545 -2343
- 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 +36 -5
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +32 -3
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +663 -142
- package/package.json +4 -4
- package/readme.md +1 -1
- 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 +44 -4
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +728 -163
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '4.
|
|
6
|
+
version: '4.11.1',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
|
|
@@ -42,9 +42,21 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
42
42
|
accessor draggedItemHeight: number;
|
|
43
43
|
accessor expandedSessionIds: ReadonlySet<string>;
|
|
44
44
|
accessor collapsedGroupIds: ReadonlySet<string>;
|
|
45
|
+
private accessor topScrollShadowVisible;
|
|
46
|
+
private accessor bottomScrollShadowVisible;
|
|
47
|
+
private accessor moveAnnouncement;
|
|
45
48
|
private reflowGeneration;
|
|
46
49
|
private readonly reflowAnimations;
|
|
47
|
-
private
|
|
50
|
+
private pointerDragGesture;
|
|
51
|
+
private keyboardMoveFocus;
|
|
52
|
+
private scrollResizeObserver;
|
|
53
|
+
private observedScrollContainer;
|
|
54
|
+
private observedScrollContent;
|
|
55
|
+
private dragAutoScrollFrame;
|
|
56
|
+
private dragAutoScrollClientX;
|
|
57
|
+
private dragAutoScrollClientY;
|
|
58
|
+
private dragAutoScrollVelocity;
|
|
59
|
+
private dragAutoScrollLastFrame;
|
|
48
60
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
49
61
|
private get sessionsById();
|
|
50
62
|
private get groupedSessionIds();
|
|
@@ -53,6 +65,7 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
53
65
|
private get filteredSessions();
|
|
54
66
|
focusSearch(): void;
|
|
55
67
|
updated(changedProperties: Map<PropertyKey, unknown>): void;
|
|
68
|
+
connectedCallback(): Promise<void>;
|
|
56
69
|
disconnectedCallback(): Promise<void>;
|
|
57
70
|
render(): TemplateResult;
|
|
58
71
|
private renderFlatList;
|
|
@@ -61,19 +74,37 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
61
74
|
private renderDropPlaceholder;
|
|
62
75
|
private renderItem;
|
|
63
76
|
private eventTargetsExpandToggle;
|
|
77
|
+
private eventTargetsDragHandle;
|
|
64
78
|
private sessionStateLabel;
|
|
65
79
|
private toggleSessionExpanded;
|
|
66
80
|
private toggleGroupCollapsed;
|
|
67
81
|
private sortableSessions;
|
|
68
82
|
private sessionsForGroup;
|
|
69
|
-
private
|
|
83
|
+
private handlePointerDown;
|
|
84
|
+
private readonly handlePointerMove;
|
|
85
|
+
private readonly handlePointerUp;
|
|
86
|
+
private readonly handlePointerCancel;
|
|
87
|
+
private readonly handleLostPointerCapture;
|
|
88
|
+
private readonly handleDragKeyDown;
|
|
89
|
+
private readonly handleDragWindowBlur;
|
|
90
|
+
private startPointerDrag;
|
|
91
|
+
private moveDragPreview;
|
|
70
92
|
private setDropSlot;
|
|
71
|
-
private
|
|
72
|
-
private
|
|
93
|
+
private clearDropSlot;
|
|
94
|
+
private updateDragAutoScrollVelocity;
|
|
95
|
+
private readonly runDragAutoScroll;
|
|
96
|
+
private updateDropSlotFromPointer;
|
|
97
|
+
private get scrollContainer();
|
|
98
|
+
private observeScrollGeometry;
|
|
99
|
+
private readonly syncScrollShadowState;
|
|
100
|
+
private stopDragAutoScroll;
|
|
101
|
+
private createMoveDetail;
|
|
102
|
+
private handleKeyboardMove;
|
|
73
103
|
private captureCardRects;
|
|
104
|
+
private restoreKeyboardMoveFocus;
|
|
74
105
|
private animateCardReflow;
|
|
75
106
|
private cancelReflowAnimations;
|
|
76
|
-
private
|
|
107
|
+
private finishPointerDrag;
|
|
77
108
|
private emit;
|
|
78
109
|
}
|
|
79
110
|
export {};
|
|
@@ -20,11 +20,34 @@ const demoGroups = [
|
|
|
20
20
|
{ id: 'active', name: 'Active work', sessionIds: ['session-0', 'session-1', 'session-2'] },
|
|
21
21
|
{ id: 'review', name: 'Review', sessionIds: ['session-3', 'session-4'] },
|
|
22
22
|
];
|
|
23
|
+
const handleSessionSelect = (event) => {
|
|
24
|
+
const list = event.currentTarget;
|
|
25
|
+
list.selectedSessionId = event.detail.session.id;
|
|
26
|
+
};
|
|
27
|
+
const handleSessionMove = (event) => {
|
|
28
|
+
const list = event.currentTarget;
|
|
29
|
+
const { sessionId, groupId, beforeSessionId } = event.detail;
|
|
30
|
+
const groups = list.groups.map((group) => ({
|
|
31
|
+
...group,
|
|
32
|
+
sessionIds: group.sessionIds.filter((id) => id !== sessionId),
|
|
33
|
+
}));
|
|
34
|
+
const ungroupedSessionIds = list.ungroupedSessionIds.filter((id) => id !== sessionId);
|
|
35
|
+
const targetIds = groupId === null
|
|
36
|
+
? ungroupedSessionIds
|
|
37
|
+
: groups.find((group) => group.id === groupId)?.sessionIds;
|
|
38
|
+
if (!targetIds)
|
|
39
|
+
return;
|
|
40
|
+
const anchorIndex = beforeSessionId ? targetIds.indexOf(beforeSessionId) : -1;
|
|
41
|
+
targetIds.splice(anchorIndex >= 0 ? anchorIndex : targetIds.length, 0, sessionId);
|
|
42
|
+
list.groups = groups;
|
|
43
|
+
list.ungroupedSessionIds = ungroupedSessionIds;
|
|
44
|
+
};
|
|
23
45
|
const openModal = async () => {
|
|
24
46
|
const { DeesModal } = await import('../../00group-overlay/dees-modal/dees-modal.js');
|
|
25
47
|
const content = document.createElement('dees-harness-session-list');
|
|
26
48
|
content.sessions = demoSessions;
|
|
27
49
|
content.style.height = '420px';
|
|
50
|
+
content.addEventListener('harness-session-select', handleSessionSelect);
|
|
28
51
|
content.addEventListener('harness-session-open', (event) => {
|
|
29
52
|
console.log('open session', event.detail.session);
|
|
30
53
|
});
|
|
@@ -38,7 +61,7 @@ export const demoFunc = () => html `
|
|
|
38
61
|
<style>
|
|
39
62
|
.sessionDemo {
|
|
40
63
|
display: grid;
|
|
41
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
64
|
+
grid-template-rows: auto auto minmax(0, 1fr);
|
|
42
65
|
gap: 12px;
|
|
43
66
|
height: 480px;
|
|
44
67
|
max-width: 420px;
|
|
@@ -48,18 +71,24 @@ export const demoFunc = () => html `
|
|
|
48
71
|
border: 1px solid var(--dees-color-border-subtle);
|
|
49
72
|
background: var(--dees-color-bg-secondary);
|
|
50
73
|
}
|
|
74
|
+
.demoHint {
|
|
75
|
+
color: var(--dees-color-text-secondary);
|
|
76
|
+
font-size: var(--dees-font-caption1-size, 11px);
|
|
77
|
+
}
|
|
51
78
|
.sessionDemo dees-harness-session-list { min-height: 0; }
|
|
52
79
|
</style>
|
|
53
80
|
<div class="sessionDemo">
|
|
54
81
|
<dees-button @clicked=${openModal}>Open in a DeesModal</dees-button>
|
|
82
|
+
<div class="demoHint">Drag the grip to reorder conversations or move them between groups.</div>
|
|
55
83
|
<dees-harness-session-list
|
|
56
84
|
.sessions=${demoSessions}
|
|
57
85
|
.groups=${demoGroups}
|
|
58
86
|
.ungroupedSessionIds=${demoSessions.slice(5).map((session) => session.id)}
|
|
59
87
|
.enableGrouping=${true}
|
|
60
88
|
selectedSessionId="session-2"
|
|
61
|
-
@harness-session-select=${
|
|
89
|
+
@harness-session-select=${handleSessionSelect}
|
|
90
|
+
@harness-session-move=${handleSessionMove}
|
|
62
91
|
></dees-harness-session-list>
|
|
63
92
|
</div>
|
|
64
93
|
`;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0L2RlZXMtaGFybmVzcy1zZXNzaW9uLWxpc3QuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPbkQsTUFBTSxZQUFZLEdBQTBCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLEVBQUUsRUFBRSxXQUFXLEtBQUssRUFBRTtJQUN0QixLQUFLLEVBQUU7UUFDTCx1QkFBdUI7UUFDdkIsc0NBQXNDO1FBQ3RDLDJCQUEyQjtRQUMzQiw2QkFBNkI7UUFDN0IsZ0JBQWdCO1FBQ2hCLHFDQUFxQztLQUN0QyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDWixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVM7SUFDL0MsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTO0lBQy9DLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sRUFBRSx3RUFBd0U7SUFDakYsS0FBSyxFQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDcEYsT0FBTyxFQUFFLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQztDQUN6QixDQUFDLENBQUMs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
|