@lemoncat7/dsh-knowledge 2.0.0 → 2.1.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.
@@ -1,72 +1,39 @@
1
1
  export const KNOWLEDGE_THEME_MESSAGE = '@lemoncat7/dsh-knowledge/host-theme';
2
2
  export const KNOWLEDGE_THEME_READY_MESSAGE = '@lemoncat7/dsh-knowledge/host-theme-ready';
3
3
  export const KNOWLEDGE_THEME_PROTOCOL_VERSION = 1;
4
- const TOKEN_SOURCES = {
5
- '--bg': ['--xiaohei-plugin-workspace-fill', '--dsw-alias-bg-layer-1', '--dsw-alias-bg-base'],
6
- '--surface': ['--xiaohei-plugin-pane-fill', '--dsw-alias-bg-layer-2', '--dsw-alias-bg-layer-1'],
7
- '--surface-raised': ['--xiaohei-plugin-raised-fill', '--dsw-alias-bg-layer-3', '--dsw-alias-bg-overlay', '--dsw-alias-bg-layer-2'],
8
- '--surface-soft': ['--xiaohei-plugin-control-fill', '--dsw-alias-bg-module-platform', '--dsw-alias-bg-layer-3', '--dsw-alias-bg-layer-2'],
9
- '--surface-hover': ['--dsw-alias-interactive-bg-hover', '--dsw-alias-bg-layer-3'],
10
- '--text': ['--dsw-alias-label-primary'],
11
- '--text-secondary': ['--dsw-alias-label-secondary', '--dsw-alias-label-primary-dimmed'],
12
- '--text-tertiary': ['--dsw-alias-label-tertiary', '--dsw-alias-label-caption'],
13
- '--border': ['--dsw-alias-border-l2', '--dsw-alias-divider-primary', '--dsw-alias-border-l1'],
14
- '--border-strong': ['--dsw-alias-border-l3', '--dsw-alias-border-l2'],
15
- '--accent': ['--dsw-alias-button-primary-fill', '--dsw-alias-brand-primary'],
16
- '--accent-hover': ['--dsw-alias-button-primary-hover', '--dsw-alias-brand-primary'],
17
- '--accent-soft': ['--dsw-alias-interactive-bg-active', '--dsw-alias-interactive-bg-hover-accent'],
18
- '--on-accent': ['--dsw-alias-label-primary-foreground', '--dsw-alias-brand-primary-invert'],
19
- '--success': ['--dsw-alias-state-success-primary'],
20
- '--success-soft': ['--dsw-alias-state-success-tertiary'],
21
- '--warning': ['--dsw-alias-state-warn-primary', '--dsw-alias-state-warn-label'],
22
- '--warning-soft': ['--dsw-alias-state-warn-tertiary'],
23
- '--danger': ['--dsw-alias-state-error-primary'],
24
- '--danger-soft': ['--dsw-alias-state-error-tertiary'],
25
- '--shadow': ['--dsw-shadow-lv3', '--dsw-shadow-lv2'],
26
- };
27
- const FALLBACK_TOKENS = {
4
+ /**
5
+ * The management console lives in its own iframe and therefore owns its
6
+ * component palette. Only the host colour scheme crosses that boundary.
7
+ * Keeping these tokens stable prevents a branded host accent from changing
8
+ * editor selection, navigation and dialog hierarchy independently.
9
+ */
10
+ const WORKSPACE_TOKENS = {
28
11
  light: {
29
- '--bg': '#eef1f3', '--surface': '#f7f9fa', '--surface-raised': '#ffffff',
30
- '--surface-soft': '#e8ecef', '--surface-hover': '#e3e8eb',
31
- '--text': '#202629', '--text-secondary': '#4f595e', '--text-tertiary': '#667178',
32
- '--border': '#d5dce0', '--border-strong': '#bcc6cb',
33
- '--accent': '#4f7773', '--accent-hover': '#3e6561', '--accent-soft': '#dfeae8', '--on-accent': '#f8fbfa',
34
- '--success': '#18794e', '--success-soft': '#e8f5ee', '--warning': '#986800', '--warning-soft': '#fff4cf',
35
- '--danger': '#c9343a', '--danger-soft': '#fdebec', '--shadow': '0 1px 2px rgb(25 35 40 / 5%), 0 14px 36px rgb(25 35 40 / 9%)',
12
+ '--bg': '#e9e9ed', '--surface': '#f2f3f7', '--surface-raised': '#ffffff',
13
+ '--surface-soft': '#eceef1', '--surface-hover': '#e5e5e7',
14
+ '--text': '#1d1d1f', '--text-secondary': '#515154', '--text-tertiary': '#6e6e73',
15
+ '--border': 'rgb(60 60 67 / 14%)', '--border-strong': 'rgb(60 60 67 / 24%)',
16
+ '--accent': '#3a3a3c', '--accent-hover': '#1d1d1f', '--accent-soft': '#e2e2e5', '--on-accent': '#ffffff',
17
+ '--success': '#248a3d', '--success-soft': '#e8f5eb', '--warning': '#c93400', '--warning-soft': '#fff1e8',
18
+ '--danger': '#d70015', '--danger-soft': '#ffebed', '--shadow': '0 24px 64px rgb(0 0 0 / 20%)',
36
19
  },
37
20
  dark: {
38
- '--bg': '#111719', '--surface': '#182022', '--surface-raised': '#20292c',
39
- '--surface-soft': '#283235', '--surface-hover': '#303b3e',
40
- '--text': '#edf2f1', '--text-secondary': '#bec9c7', '--text-tertiary': '#8e9b99',
41
- '--border': '#334044', '--border-strong': '#48585c',
42
- '--accent': '#78b5ad', '--accent-hover': '#91c8c1', '--accent-soft': '#213b39', '--on-accent': '#0d1e1b',
43
- '--success': '#62c596', '--success-soft': '#163a2a', '--warning': '#e7bc62', '--warning-soft': '#423414',
44
- '--danger': '#ff858a', '--danger-soft': '#4b2227', '--shadow': '0 2px 4px rgb(0 0 0 / 22%), 0 18px 46px rgb(0 0 0 / 32%)',
21
+ '--bg': '#1c1c1e', '--surface': '#242426', '--surface-raised': '#2c2c2e',
22
+ '--surface-soft': '#3a3a3c', '--surface-hover': '#414145',
23
+ '--text': '#f5f5f7', '--text-secondary': '#d1d1d6', '--text-tertiary': '#98989d',
24
+ '--border': 'rgb(255 255 255 / 10%)', '--border-strong': 'rgb(255 255 255 / 18%)',
25
+ '--accent': '#e5e5ea', '--accent-hover': '#ffffff', '--accent-soft': '#3a3a3c', '--on-accent': '#1d1d1f',
26
+ '--success': '#30d158', '--success-soft': '#173a22', '--warning': '#ff9f0a', '--warning-soft': '#422f10',
27
+ '--danger': '#ff453a', '--danger-soft': '#4a2020', '--shadow': '0 28px 72px rgb(0 0 0 / 48%)',
45
28
  },
46
29
  };
47
- /** Translate DSH's public semantic palette into the knowledge console's tokens. */
48
- export function createKnowledgeHostTheme(computed, snapshot) {
49
- const tokens = {};
50
- for (const [target, sources] of Object.entries(TOKEN_SOURCES)) {
51
- const value = firstDefinedToken(computed, snapshot.active.tokens, sources);
52
- tokens[target] = value ?? FALLBACK_TOKENS[snapshot.active.colorScheme][target];
53
- }
30
+ /** Synchronise host light/dark mode while preserving one coherent workspace palette. */
31
+ export function createKnowledgeHostTheme(_computed, snapshot) {
54
32
  return {
55
33
  type: KNOWLEDGE_THEME_MESSAGE,
56
34
  version: KNOWLEDGE_THEME_PROTOCOL_VERSION,
57
35
  colorScheme: snapshot.active.colorScheme,
58
- tokens,
36
+ tokens: { ...WORKSPACE_TOKENS[snapshot.active.colorScheme] },
59
37
  };
60
38
  }
61
- function firstDefinedToken(computed, snapshotTokens, sources) {
62
- for (const source of sources) {
63
- const computedValue = computed.getPropertyValue(source).trim();
64
- if (computedValue.length > 0)
65
- return computedValue;
66
- const snapshotValue = snapshotTokens[source]?.trim();
67
- if (snapshotValue !== undefined && snapshotValue.length > 0)
68
- return snapshotValue;
69
- }
70
- return undefined;
71
- }
72
39
  //# sourceMappingURL=theme-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-bridge.js","sourceRoot":"","sources":["../src/theme-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-bridge.js","sourceRoot":"","sources":["../src/theme-bridge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,qCAAqC,CAAA;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,2CAA2C,CAAA;AACxF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAA;AAsBjD;;;;;GAKG;AACH,MAAM,gBAAgB,GAAmE;IACvF,KAAK,EAAE;QACL,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS;QACxE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QACzD,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QAChF,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB;QAC3E,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;QACxG,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;QACxG,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,8BAA8B;KAC9F;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS;QACxE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QACzD,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QAChF,UAAU,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB;QACjF,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;QACxG,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;QACxG,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,8BAA8B;KAC9F;CACF,CAAA;AAED,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CACtC,SAA4B,EAC5B,QAA2B;IAE3B,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACxC,MAAM,EAAE,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;KAC7D,CAAA;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ interface WorkspaceEffectsApi {
2
+ refresh(root?: ParentNode): void;
3
+ destroy(): void;
4
+ }
5
+ declare global {
6
+ interface Window {
7
+ DshKnowledgeEffects?: WorkspaceEffectsApi;
8
+ }
9
+ }
10
+ declare function refresh(root?: ParentNode): void;
11
+ declare function destroy(): void;
12
+ export { destroy, refresh };
13
+ //# sourceMappingURL=web-workspace-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-workspace-effects.d.ts","sourceRoot":"","sources":["../src/web-workspace-effects.ts"],"names":[],"mappings":"AAyCA,UAAU,mBAAmB;IAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,OAAO,IAAI,IAAI,CAAA;CAChB;AAQD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;KAC1C;CACF;AA0QD,iBAAS,OAAO,CAAC,IAAI,GAAE,UAAqB,GAAG,IAAI,CAMlD;AAED,iBAAS,OAAO,IAAI,IAAI,CAuBvB;AAKD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,340 @@
1
+ const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
2
+ const GLASS_SURFACE_SELECTOR = [
3
+ '.sidebar',
4
+ '.topbar',
5
+ '.note-tree-panel',
6
+ '.notes-browser',
7
+ '.notes-content-header',
8
+ '.notes-document-toolbar',
9
+ '.note-editor-toolbar',
10
+ '.dialog',
11
+ ].join(',');
12
+ const BORDER_SURFACE_SELECTOR = [
13
+ '.login-card',
14
+ '.panel',
15
+ '.mount-table',
16
+ '.note-workspace',
17
+ '.notes-workspace',
18
+ '.dialog',
19
+ ].join(',');
20
+ const GLARE_SURFACE_SELECTOR = [
21
+ '.button',
22
+ '.nav-button',
23
+ '.tab',
24
+ '.pane-toggle-button',
25
+ '.note-tree-base',
26
+ '.note-tree-document',
27
+ '.note-tree-new',
28
+ '.notes-tree-row',
29
+ '.notes-search-row',
30
+ '.notes-file-main',
31
+ ].join(',');
32
+ const ANIMATED_LIST_SELECTOR = [
33
+ '.note-tree',
34
+ '.notes-tree',
35
+ '.base-grid',
36
+ '.mount-table',
37
+ ].join(',');
38
+ const MOTION_ITEM_SELECTOR = '[data-knowledge-motion-key]';
39
+ const MOTION_REPLAY_COOLDOWN = 700;
40
+ const EDGE_RESPONSE_RANGE = 38;
41
+ const glassSurfaces = new Map();
42
+ const borderSurfaces = new Map();
43
+ const animatedLists = new Map();
44
+ const motionPlayedAt = new Map();
45
+ let filterSequence = 0;
46
+ let filterBank;
47
+ const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
48
+ const reducedTransparency = window.matchMedia('(prefers-reduced-transparency: reduce)');
49
+ function queryIncludingRoot(root, selector) {
50
+ const matches = Array.from(root.querySelectorAll(selector));
51
+ if (root instanceof HTMLElement && root.matches(selector))
52
+ matches.unshift(root);
53
+ return matches;
54
+ }
55
+ function ensureFilterBank() {
56
+ if (filterBank?.isConnected)
57
+ return filterBank;
58
+ filterBank = document.createElementNS(SVG_NAMESPACE, 'svg');
59
+ filterBank.classList.add('knowledge-glass-filter-bank');
60
+ filterBank.setAttribute('aria-hidden', 'true');
61
+ filterBank.setAttribute('focusable', 'false');
62
+ document.body.append(filterBank);
63
+ return filterBank;
64
+ }
65
+ function createSvgElement(name, attributes) {
66
+ const node = document.createElementNS(SVG_NAMESPACE, name);
67
+ for (const [key, value] of Object.entries(attributes))
68
+ node.setAttribute(key, value);
69
+ return node;
70
+ }
71
+ function createGlassFilter(id) {
72
+ const filter = createSvgElement('filter', {
73
+ id,
74
+ x: '0%', y: '0%', width: '100%', height: '100%',
75
+ 'color-interpolation-filters': 'sRGB',
76
+ });
77
+ const image = createSvgElement('feImage', {
78
+ x: '0', y: '0', width: '100%', height: '100%', preserveAspectRatio: 'none', result: 'map',
79
+ });
80
+ filter.append(image, createSvgElement('feGaussianBlur', { in: 'SourceGraphic', stdDeviation: '6', result: 'frosted' }));
81
+ filter.append(createSvgElement('feDisplacementMap', {
82
+ in: 'frosted', in2: 'map', scale: '-16',
83
+ xChannelSelector: 'R', yChannelSelector: 'G', result: 'refracted',
84
+ }), createSvgElement('feGaussianBlur', { in: 'refracted', stdDeviation: '.12' }));
85
+ return { filter, image };
86
+ }
87
+ function supportsSvgBackdropFilters() {
88
+ if (reducedTransparency.matches)
89
+ return false;
90
+ const userAgent = navigator.userAgent;
91
+ if (/Firefox/i.test(userAgent) || (/Safari/i.test(userAgent) && !/(Chrome|Chromium|CriOS)/i.test(userAgent)))
92
+ return false;
93
+ return CSS.supports?.('backdrop-filter', 'url(#knowledge-glass-support)')
94
+ || CSS.supports?.('-webkit-backdrop-filter', 'url(#knowledge-glass-support)')
95
+ || false;
96
+ }
97
+ function resolvedRadius(surface, width, height) {
98
+ const parsed = Number.parseFloat(getComputedStyle(surface).borderTopLeftRadius);
99
+ if (Number.isFinite(parsed))
100
+ return Math.max(0, Math.min(parsed, Math.min(width, height) / 2));
101
+ return Math.min(width, height) * .16;
102
+ }
103
+ function displacementMap(width, height, radius) {
104
+ const edge = Math.min(12, Math.max(4, Math.min(width, height) * .08));
105
+ const map = `<svg viewBox="0 0 ${width} ${height}" xmlns="${SVG_NAMESPACE}">
106
+ <defs>
107
+ <clipPath id="shape"><rect width="${width}" height="${height}" rx="${radius}"/></clipPath>
108
+ <linearGradient id="left" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="rgb(92 128 128)"/><stop offset="100%" stop-color="rgb(128 128 128)"/></linearGradient>
109
+ <linearGradient id="right" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="rgb(128 128 128)"/><stop offset="100%" stop-color="rgb(164 128 128)"/></linearGradient>
110
+ <linearGradient id="top" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="rgb(128 92 128)"/><stop offset="100%" stop-color="rgb(128 128 128)"/></linearGradient>
111
+ <linearGradient id="bottom" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="rgb(128 128 128)"/><stop offset="100%" stop-color="rgb(128 164 128)"/></linearGradient>
112
+ </defs>
113
+ <g clip-path="url(#shape)">
114
+ <rect width="${width}" height="${height}" fill="rgb(128 128 128)"/>
115
+ <rect width="${edge}" height="${height}" fill="url(#left)"/>
116
+ <rect x="${width - edge}" width="${edge}" height="${height}" fill="url(#right)"/>
117
+ <rect width="${width}" height="${edge}" fill="url(#top)"/>
118
+ <rect y="${height - edge}" width="${width}" height="${edge}" fill="url(#bottom)"/>
119
+ </g>
120
+ </svg>`;
121
+ return `data:image/svg+xml,${encodeURIComponent(map)}`;
122
+ }
123
+ function installGlassSurface(surface) {
124
+ if (glassSurfaces.has(surface))
125
+ return;
126
+ surface.classList.add('knowledge-glass-surface');
127
+ if (!supportsSvgBackdropFilters()) {
128
+ surface.dataset.knowledgeGlass = 'fallback';
129
+ glassSurfaces.set(surface, { filter: undefined, observer: undefined, frame: 0 });
130
+ return;
131
+ }
132
+ const id = `knowledge-glass-filter-${++filterSequence}`;
133
+ const { filter, image } = createGlassFilter(id);
134
+ ensureFilterBank().append(filter);
135
+ surface.dataset.knowledgeGlass = 'svg';
136
+ surface.style.setProperty('--knowledge-glass-filter', `url(#${id})`);
137
+ const record = { filter, observer: undefined, frame: 0 };
138
+ const update = () => {
139
+ record.frame = 0;
140
+ if (!surface.isConnected)
141
+ return;
142
+ const rect = surface.getBoundingClientRect();
143
+ const width = Math.max(1, Math.round(rect.width));
144
+ const height = Math.max(1, Math.round(rect.height));
145
+ image.setAttribute('href', displacementMap(width, height, resolvedRadius(surface, width, height)));
146
+ };
147
+ const scheduleUpdate = () => {
148
+ if (record.frame === 0)
149
+ record.frame = requestAnimationFrame(update);
150
+ };
151
+ record.observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(scheduleUpdate);
152
+ record.observer?.observe(surface);
153
+ record.frame = requestAnimationFrame(update);
154
+ glassSurfaces.set(surface, record);
155
+ }
156
+ function installBorderSurface(surface) {
157
+ if (borderSurfaces.has(surface))
158
+ return;
159
+ surface.classList.add('knowledge-border-surface');
160
+ let frame = 0;
161
+ let pointer;
162
+ const paint = () => {
163
+ frame = 0;
164
+ if (pointer === undefined || !surface.isConnected)
165
+ return;
166
+ const rect = surface.getBoundingClientRect();
167
+ const x = Math.min(rect.width, Math.max(0, pointer.x - rect.left));
168
+ const y = Math.min(rect.height, Math.max(0, pointer.y - rect.top));
169
+ const edgeDistance = Math.min(x, rect.width - x, y, rect.height - y);
170
+ const proximity = Math.min(1, Math.max(0, 1 - edgeDistance / EDGE_RESPONSE_RANGE));
171
+ const angle = Math.atan2(y - rect.height / 2, x - rect.width / 2) * (180 / Math.PI) + 90;
172
+ surface.style.setProperty('--knowledge-border-proximity', proximity.toFixed(3));
173
+ surface.style.setProperty('--knowledge-border-angle', `${angle.toFixed(2)}deg`);
174
+ };
175
+ const move = (event) => {
176
+ pointer = { x: event.clientX, y: event.clientY };
177
+ if (frame === 0)
178
+ frame = requestAnimationFrame(paint);
179
+ };
180
+ const leave = () => {
181
+ pointer = undefined;
182
+ surface.style.setProperty('--knowledge-border-proximity', '0');
183
+ };
184
+ surface.addEventListener('pointermove', move, { passive: true });
185
+ surface.addEventListener('pointerleave', leave, { passive: true });
186
+ borderSurfaces.set(surface, () => {
187
+ if (frame !== 0)
188
+ cancelAnimationFrame(frame);
189
+ surface.removeEventListener('pointermove', move);
190
+ surface.removeEventListener('pointerleave', leave);
191
+ });
192
+ }
193
+ function motionWasJustPlayed(item, now) {
194
+ const key = item.dataset.knowledgeMotionKey;
195
+ if (key === undefined)
196
+ return false;
197
+ const playedAt = motionPlayedAt.get(key);
198
+ return playedAt !== undefined && now - playedAt < MOTION_REPLAY_COOLDOWN;
199
+ }
200
+ function rememberMotionPlay(item, now) {
201
+ const key = item.dataset.knowledgeMotionKey;
202
+ if (key === undefined)
203
+ return;
204
+ motionPlayedAt.set(key, now);
205
+ if (motionPlayedAt.size <= 4_000)
206
+ return;
207
+ const oldestKey = motionPlayedAt.keys().next().value;
208
+ if (oldestKey !== undefined)
209
+ motionPlayedAt.delete(oldestKey);
210
+ }
211
+ function updateScrollEdges(list) {
212
+ const remaining = list.scrollHeight - list.clientHeight - list.scrollTop;
213
+ list.dataset.scrollTop = String(list.scrollTop <= 2);
214
+ list.dataset.scrollBottom = String(remaining <= 2);
215
+ }
216
+ function installAnimatedList(list) {
217
+ if (animatedLists.has(list))
218
+ return;
219
+ const isCardGrid = list.matches('.base-grid');
220
+ list.classList.add('knowledge-animated-list');
221
+ list.dataset.knowledgeListLayout = isCardGrid ? 'grid' : 'scroll';
222
+ updateScrollEdges(list);
223
+ const onScroll = () => updateScrollEdges(list);
224
+ list.addEventListener('scroll', onScroll, { passive: true });
225
+ const items = Array.from(list.querySelectorAll(MOTION_ITEM_SELECTOR));
226
+ if (reducedMotion.matches || typeof IntersectionObserver === 'undefined') {
227
+ for (const item of items)
228
+ item.classList.add('knowledge-list-reveal', 'is-visible');
229
+ animatedLists.set(list, () => list.removeEventListener('scroll', onScroll));
230
+ return;
231
+ }
232
+ const observerRoot = list.scrollHeight - list.clientHeight > 2 ? list : null;
233
+ const observer = new IntersectionObserver(entries => {
234
+ const entering = entries
235
+ .filter(entry => entry.isIntersecting)
236
+ .sort((left, right) => left.boundingClientRect.top - right.boundingClientRect.top);
237
+ const now = performance.now();
238
+ entering.forEach((entry, index) => {
239
+ const item = entry.target;
240
+ const stagger = isCardGrid ? 52 : 38;
241
+ item.style.setProperty('--knowledge-list-delay', `${Math.min(index, 7) * stagger}ms`);
242
+ item.classList.add('is-visible');
243
+ rememberMotionPlay(item, now);
244
+ });
245
+ for (const entry of entries) {
246
+ if (entry.isIntersecting)
247
+ continue;
248
+ const item = entry.target;
249
+ item.classList.remove('is-visible');
250
+ item.style.setProperty('--knowledge-list-delay', '0ms');
251
+ }
252
+ }, { root: observerRoot, threshold: .12, rootMargin: '-4px 0px' });
253
+ const now = performance.now();
254
+ for (const item of items) {
255
+ item.classList.add('knowledge-list-reveal');
256
+ if (!isCardGrid && motionWasJustPlayed(item, now))
257
+ item.classList.add('is-visible');
258
+ }
259
+ let prepareFrame = 0;
260
+ let settleFrame = 0;
261
+ prepareFrame = requestAnimationFrame(() => {
262
+ prepareFrame = 0;
263
+ settleFrame = requestAnimationFrame(() => {
264
+ settleFrame = 0;
265
+ for (const item of items)
266
+ observer.observe(item);
267
+ });
268
+ });
269
+ animatedLists.set(list, () => {
270
+ if (prepareFrame !== 0)
271
+ cancelAnimationFrame(prepareFrame);
272
+ if (settleFrame !== 0)
273
+ cancelAnimationFrame(settleFrame);
274
+ observer.disconnect();
275
+ list.removeEventListener('scroll', onScroll);
276
+ });
277
+ }
278
+ function cleanupDisconnected() {
279
+ for (const [surface, record] of glassSurfaces) {
280
+ if (surface.isConnected)
281
+ continue;
282
+ if (record.frame !== 0)
283
+ cancelAnimationFrame(record.frame);
284
+ record.observer?.disconnect();
285
+ record.filter?.remove();
286
+ glassSurfaces.delete(surface);
287
+ }
288
+ for (const [surface, cleanup] of borderSurfaces) {
289
+ if (surface.isConnected)
290
+ continue;
291
+ cleanup();
292
+ borderSurfaces.delete(surface);
293
+ }
294
+ for (const [list, cleanup] of animatedLists) {
295
+ if (list.isConnected)
296
+ continue;
297
+ cleanup();
298
+ animatedLists.delete(list);
299
+ }
300
+ }
301
+ function refresh(root = document) {
302
+ cleanupDisconnected();
303
+ for (const surface of queryIncludingRoot(root, GLASS_SURFACE_SELECTOR))
304
+ installGlassSurface(surface);
305
+ for (const surface of queryIncludingRoot(root, BORDER_SURFACE_SELECTOR))
306
+ installBorderSurface(surface);
307
+ for (const surface of queryIncludingRoot(root, GLARE_SURFACE_SELECTOR))
308
+ surface.classList.add('knowledge-glare-surface');
309
+ for (const list of queryIncludingRoot(root, ANIMATED_LIST_SELECTOR))
310
+ installAnimatedList(list);
311
+ }
312
+ function destroy() {
313
+ for (const [surface, record] of glassSurfaces) {
314
+ if (record.frame !== 0)
315
+ cancelAnimationFrame(record.frame);
316
+ record.observer?.disconnect();
317
+ record.filter?.remove();
318
+ surface.classList.remove('knowledge-glass-surface');
319
+ surface.removeAttribute('data-knowledge-glass');
320
+ surface.style.removeProperty('--knowledge-glass-filter');
321
+ }
322
+ for (const [surface, cleanup] of borderSurfaces) {
323
+ cleanup();
324
+ surface.classList.remove('knowledge-border-surface');
325
+ }
326
+ for (const [list, cleanup] of animatedLists) {
327
+ cleanup();
328
+ list.classList.remove('knowledge-animated-list');
329
+ }
330
+ glassSurfaces.clear();
331
+ borderSurfaces.clear();
332
+ animatedLists.clear();
333
+ motionPlayedAt.clear();
334
+ filterBank?.remove();
335
+ filterBank = undefined;
336
+ }
337
+ window.DshKnowledgeEffects?.destroy();
338
+ window.DshKnowledgeEffects = { refresh, destroy };
339
+ export { destroy, refresh };
340
+ //# sourceMappingURL=web-workspace-effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-workspace-effects.js","sourceRoot":"","sources":["../src/web-workspace-effects.ts"],"names":[],"mappings":"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"}
package/lib/web.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAoBtD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAQ,GAAG,aAAwB,EAC7C,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,IAAI,CAaZ"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAqBtD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAQ,GAAG,aAAwB,EAC7C,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,IAAI,CAaZ"}
package/lib/web.js CHANGED
@@ -5,6 +5,7 @@ const STATIC_ASSETS = new Map([
5
5
  ['change-review.js', loadAsset('../web/change-review.js', 'text/javascript; charset=utf-8')],
6
6
  ['markdown-preview.js', loadAsset('../web/markdown-preview.js', 'text/javascript; charset=utf-8')],
7
7
  ['note-editor.js', loadAsset('../web/note-editor.js', 'text/javascript; charset=utf-8')],
8
+ ['workspace-effects.js', loadAsset('../web/workspace-effects.js', 'text/javascript; charset=utf-8')],
8
9
  ['styles.css', loadAsset('../web/styles.css', 'text/css; charset=utf-8')],
9
10
  ]);
10
11
  const ASSET_VERSION = createHash('sha256')
package/lib/web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-knowledge",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Local and remote knowledge bases for DeepSeek Harness, with scoped recall, controlled write-back, and a Web management console",
5
5
  "keywords": [
6
6
  "deepseek-harness",