@lemoncat7/dsh-knowledge 2.2.14 → 2.3.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.
Files changed (48) hide show
  1. package/README.md +14 -3
  2. package/docs/architecture.md +1 -1
  3. package/lib/api.d.ts.map +1 -1
  4. package/lib/api.js +93 -0
  5. package/lib/api.js.map +1 -1
  6. package/lib/client.d.ts +1 -1
  7. package/lib/client.d.ts.map +1 -1
  8. package/lib/client.js +1 -1
  9. package/lib/client.js.map +2 -2
  10. package/lib/extraction.js +15 -7
  11. package/lib/extraction.js.map +1 -1
  12. package/lib/index.js +2 -1
  13. package/lib/index.js.map +1 -1
  14. package/lib/notes/domain.d.ts +8 -0
  15. package/lib/notes/domain.d.ts.map +1 -1
  16. package/lib/notes/domain.js.map +1 -1
  17. package/lib/notes/share-import.d.ts +36 -0
  18. package/lib/notes/share-import.d.ts.map +1 -0
  19. package/lib/notes/share-import.js +325 -0
  20. package/lib/notes/share-import.js.map +1 -0
  21. package/lib/notes/share-page.d.ts +12 -0
  22. package/lib/notes/share-page.d.ts.map +1 -0
  23. package/lib/notes/share-page.js +81 -0
  24. package/lib/notes/share-page.js.map +1 -0
  25. package/lib/notes/store.d.ts +15 -1
  26. package/lib/notes/store.d.ts.map +1 -1
  27. package/lib/notes/store.js +177 -6
  28. package/lib/notes/store.js.map +1 -1
  29. package/lib/runtime.d.ts +1 -1
  30. package/lib/runtime.d.ts.map +1 -1
  31. package/lib/tool-authorization.js +4 -3
  32. package/lib/tool-authorization.js.map +1 -1
  33. package/lib/web-note-editor-selection.d.ts.map +1 -1
  34. package/lib/web-note-editor-selection.js +23 -0
  35. package/lib/web-note-editor-selection.js.map +1 -1
  36. package/lib/web.d.ts.map +1 -1
  37. package/lib/web.js +11 -7
  38. package/lib/web.js.map +1 -1
  39. package/package.json +15 -10
  40. package/web/app.js +303 -29
  41. package/web/index.html +1 -2
  42. package/web/note-editor.js +64 -64
  43. package/web/styles.css +168 -291
  44. package/lib/web-workspace-effects.d.ts +0 -13
  45. package/lib/web-workspace-effects.d.ts.map +0 -1
  46. package/lib/web-workspace-effects.js +0 -366
  47. package/lib/web-workspace-effects.js.map +0 -1
  48. package/web/workspace-effects.js +0 -16
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-workspace-effects.d.ts","sourceRoot":"","sources":["../src/web-workspace-effects.ts"],"names":[],"mappings":"AAuDA,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;AAiRD,iBAAS,OAAO,CAAC,IAAI,GAAE,UAAqB,GAAG,IAAI,CAOlD;AAED,iBAAS,OAAO,IAAI,IAAI,CA0BvB;AAKD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -1,366 +0,0 @@
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
- '.notes-document-statusbar',
10
- '.note-editor-toolbar',
11
- ].join(',');
12
- const STRUCTURAL_GLASS_SURFACE_SELECTOR = [
13
- '.sidebar',
14
- '.topbar',
15
- '.note-tree-panel',
16
- '.notes-browser',
17
- ].join(',');
18
- const CARD_SURFACE_SELECTOR = [
19
- '.login-card',
20
- '.metric',
21
- '.panel',
22
- '.library-detail-header',
23
- '.mount-manager',
24
- '.knowledge-card',
25
- '.candidate',
26
- '.api-access-card',
27
- ].join(',');
28
- const BORDER_SURFACE_SELECTOR = [
29
- '.mount-table',
30
- '.note-workspace',
31
- '.notes-workspace',
32
- CARD_SURFACE_SELECTOR,
33
- ].join(',');
34
- const GLARE_SURFACE_SELECTOR = [
35
- '.button',
36
- '.nav-button',
37
- '.tab',
38
- '.pane-toggle-button',
39
- '.note-tree-base',
40
- '.note-tree-document',
41
- '.note-tree-new',
42
- '.notes-tree-row',
43
- '.notes-search-row',
44
- '.notes-file-main',
45
- ].join(',');
46
- const ANIMATED_LIST_SELECTOR = [
47
- '.note-tree',
48
- '.notes-tree',
49
- '.base-grid',
50
- '.mount-table',
51
- ].join(',');
52
- const MOTION_ITEM_SELECTOR = '[data-knowledge-motion-key]';
53
- const MOTION_REPLAY_COOLDOWN = 700;
54
- const EDGE_RESPONSE_RANGE = 38;
55
- const glassSurfaces = new Map();
56
- const borderSurfaces = new Map();
57
- const animatedLists = new Map();
58
- const motionPlayedAt = new Map();
59
- let filterSequence = 0;
60
- let filterBank;
61
- const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
62
- const reducedTransparency = window.matchMedia('(prefers-reduced-transparency: reduce)');
63
- function queryIncludingRoot(root, selector) {
64
- const matches = Array.from(root.querySelectorAll(selector));
65
- if (root instanceof HTMLElement && root.matches(selector))
66
- matches.unshift(root);
67
- return matches;
68
- }
69
- function ensureFilterBank() {
70
- if (filterBank?.isConnected)
71
- return filterBank;
72
- filterBank = document.createElementNS(SVG_NAMESPACE, 'svg');
73
- filterBank.classList.add('knowledge-glass-filter-bank');
74
- filterBank.setAttribute('aria-hidden', 'true');
75
- filterBank.setAttribute('focusable', 'false');
76
- document.body.append(filterBank);
77
- return filterBank;
78
- }
79
- function createSvgElement(name, attributes) {
80
- const node = document.createElementNS(SVG_NAMESPACE, name);
81
- for (const [key, value] of Object.entries(attributes))
82
- node.setAttribute(key, value);
83
- return node;
84
- }
85
- function createGlassFilter(id) {
86
- const filter = createSvgElement('filter', {
87
- id,
88
- x: '0%', y: '0%', width: '100%', height: '100%',
89
- 'color-interpolation-filters': 'sRGB',
90
- });
91
- const image = createSvgElement('feImage', {
92
- x: '0', y: '0', width: '100%', height: '100%', preserveAspectRatio: 'none', result: 'map',
93
- });
94
- filter.append(image, createSvgElement('feGaussianBlur', { in: 'SourceGraphic', stdDeviation: '6', result: 'frosted' }));
95
- filter.append(createSvgElement('feDisplacementMap', {
96
- in: 'frosted', in2: 'map', scale: '-16',
97
- xChannelSelector: 'R', yChannelSelector: 'G', result: 'refracted',
98
- }), createSvgElement('feGaussianBlur', { in: 'refracted', stdDeviation: '.12' }));
99
- return { filter, image };
100
- }
101
- function supportsSvgBackdropFilters() {
102
- if (reducedTransparency.matches)
103
- return false;
104
- const userAgent = navigator.userAgent;
105
- if (/Firefox/i.test(userAgent) || (/Safari/i.test(userAgent) && !/(Chrome|Chromium|CriOS)/i.test(userAgent)))
106
- return false;
107
- return CSS.supports?.('backdrop-filter', 'url(#knowledge-glass-support)')
108
- || CSS.supports?.('-webkit-backdrop-filter', 'url(#knowledge-glass-support)')
109
- || false;
110
- }
111
- function resolvedRadius(surface, width, height) {
112
- const parsed = Number.parseFloat(getComputedStyle(surface).borderTopLeftRadius);
113
- if (Number.isFinite(parsed))
114
- return Math.max(0, Math.min(parsed, Math.min(width, height) / 2));
115
- return Math.min(width, height) * .16;
116
- }
117
- function displacementMap(width, height, radius) {
118
- const edge = Math.min(12, Math.max(4, Math.min(width, height) * .08));
119
- const map = `<svg viewBox="0 0 ${width} ${height}" xmlns="${SVG_NAMESPACE}">
120
- <defs>
121
- <clipPath id="shape"><rect width="${width}" height="${height}" rx="${radius}"/></clipPath>
122
- <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>
123
- <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>
124
- <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>
125
- <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>
126
- </defs>
127
- <g clip-path="url(#shape)">
128
- <rect width="${width}" height="${height}" fill="rgb(128 128 128)"/>
129
- <rect width="${edge}" height="${height}" fill="url(#left)"/>
130
- <rect x="${width - edge}" width="${edge}" height="${height}" fill="url(#right)"/>
131
- <rect width="${width}" height="${edge}" fill="url(#top)"/>
132
- <rect y="${height - edge}" width="${width}" height="${edge}" fill="url(#bottom)"/>
133
- </g>
134
- </svg>`;
135
- return `data:image/svg+xml,${encodeURIComponent(map)}`;
136
- }
137
- function installGlassSurface(surface) {
138
- if (glassSurfaces.has(surface))
139
- return;
140
- surface.classList.add('knowledge-glass-surface');
141
- // Fixed navigation and directory panes already own a single layout edge.
142
- // SVG displacement refracts that edge into visible top/left seams, so these
143
- // structural surfaces deliberately use the cheaper, stable CSS material.
144
- if (surface.matches(STRUCTURAL_GLASS_SURFACE_SELECTOR) || !supportsSvgBackdropFilters()) {
145
- surface.dataset.knowledgeGlass = 'fallback';
146
- glassSurfaces.set(surface, { filter: undefined, observer: undefined, frame: 0 });
147
- return;
148
- }
149
- const id = `knowledge-glass-filter-${++filterSequence}`;
150
- const { filter, image } = createGlassFilter(id);
151
- ensureFilterBank().append(filter);
152
- surface.dataset.knowledgeGlass = 'svg';
153
- surface.style.setProperty('--knowledge-glass-filter', `url(#${id})`);
154
- const record = { filter, observer: undefined, frame: 0 };
155
- const update = () => {
156
- record.frame = 0;
157
- if (!surface.isConnected)
158
- return;
159
- const rect = surface.getBoundingClientRect();
160
- const width = Math.max(1, Math.round(rect.width));
161
- const height = Math.max(1, Math.round(rect.height));
162
- image.setAttribute('href', displacementMap(width, height, resolvedRadius(surface, width, height)));
163
- };
164
- const scheduleUpdate = () => {
165
- if (record.frame === 0)
166
- record.frame = requestAnimationFrame(update);
167
- };
168
- record.observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(scheduleUpdate);
169
- record.observer?.observe(surface);
170
- record.frame = requestAnimationFrame(update);
171
- glassSurfaces.set(surface, record);
172
- }
173
- function installBorderSurface(surface) {
174
- if (borderSurfaces.has(surface))
175
- return;
176
- surface.classList.add('knowledge-border-surface');
177
- surface.style.setProperty('--knowledge-pointer-x', '50%');
178
- surface.style.setProperty('--knowledge-pointer-y', '50%');
179
- let frame = 0;
180
- let pointer;
181
- const paint = () => {
182
- frame = 0;
183
- if (pointer === undefined || !surface.isConnected)
184
- return;
185
- const rect = surface.getBoundingClientRect();
186
- const x = Math.min(rect.width, Math.max(0, pointer.x - rect.left));
187
- const y = Math.min(rect.height, Math.max(0, pointer.y - rect.top));
188
- const edgeDistance = Math.min(x, rect.width - x, y, rect.height - y);
189
- const proximity = Math.min(1, Math.max(0, 1 - edgeDistance / EDGE_RESPONSE_RANGE));
190
- const angle = Math.atan2(y - rect.height / 2, x - rect.width / 2) * (180 / Math.PI) + 90;
191
- surface.style.setProperty('--knowledge-pointer-x', `${(x / Math.max(1, rect.width) * 100).toFixed(2)}%`);
192
- surface.style.setProperty('--knowledge-pointer-y', `${(y / Math.max(1, rect.height) * 100).toFixed(2)}%`);
193
- surface.style.setProperty('--knowledge-border-proximity', proximity.toFixed(3));
194
- surface.style.setProperty('--knowledge-border-angle', `${angle.toFixed(2)}deg`);
195
- };
196
- const move = (event) => {
197
- pointer = { x: event.clientX, y: event.clientY };
198
- if (frame === 0)
199
- frame = requestAnimationFrame(paint);
200
- };
201
- const leave = () => {
202
- pointer = undefined;
203
- surface.style.setProperty('--knowledge-border-proximity', '0');
204
- };
205
- surface.addEventListener('pointermove', move, { passive: true });
206
- surface.addEventListener('pointerleave', leave, { passive: true });
207
- borderSurfaces.set(surface, () => {
208
- if (frame !== 0)
209
- cancelAnimationFrame(frame);
210
- surface.removeEventListener('pointermove', move);
211
- surface.removeEventListener('pointerleave', leave);
212
- });
213
- }
214
- function motionWasJustPlayed(item, now) {
215
- const key = item.dataset.knowledgeMotionKey;
216
- if (key === undefined)
217
- return false;
218
- const playedAt = motionPlayedAt.get(key);
219
- return playedAt !== undefined && now - playedAt < MOTION_REPLAY_COOLDOWN;
220
- }
221
- function rememberMotionPlay(item, now) {
222
- const key = item.dataset.knowledgeMotionKey;
223
- if (key === undefined)
224
- return;
225
- motionPlayedAt.set(key, now);
226
- if (motionPlayedAt.size <= 4_000)
227
- return;
228
- const oldestKey = motionPlayedAt.keys().next().value;
229
- if (oldestKey !== undefined)
230
- motionPlayedAt.delete(oldestKey);
231
- }
232
- function updateScrollEdges(list) {
233
- const remaining = list.scrollHeight - list.clientHeight - list.scrollTop;
234
- list.dataset.scrollTop = String(list.scrollTop <= 2);
235
- list.dataset.scrollBottom = String(remaining <= 2);
236
- }
237
- function installAnimatedList(list) {
238
- if (animatedLists.has(list))
239
- return;
240
- const isCardGrid = list.matches('.base-grid');
241
- list.classList.add('knowledge-animated-list');
242
- list.dataset.knowledgeListLayout = isCardGrid ? 'grid' : 'scroll';
243
- updateScrollEdges(list);
244
- const onScroll = () => updateScrollEdges(list);
245
- list.addEventListener('scroll', onScroll, { passive: true });
246
- const items = Array.from(list.querySelectorAll(MOTION_ITEM_SELECTOR));
247
- if (reducedMotion.matches || typeof IntersectionObserver === 'undefined') {
248
- for (const item of items)
249
- item.classList.add('knowledge-list-reveal', 'is-visible');
250
- animatedLists.set(list, () => list.removeEventListener('scroll', onScroll));
251
- return;
252
- }
253
- const observerRoot = list.scrollHeight - list.clientHeight > 2 ? list : null;
254
- const observer = new IntersectionObserver(entries => {
255
- const entering = entries
256
- .filter(entry => entry.isIntersecting)
257
- .sort((left, right) => left.boundingClientRect.top - right.boundingClientRect.top);
258
- const now = performance.now();
259
- entering.forEach((entry, index) => {
260
- const item = entry.target;
261
- const stagger = isCardGrid ? 52 : 38;
262
- item.style.setProperty('--knowledge-list-delay', `${Math.min(index, 7) * stagger}ms`);
263
- item.classList.add('is-visible');
264
- rememberMotionPlay(item, now);
265
- });
266
- for (const entry of entries) {
267
- if (entry.isIntersecting)
268
- continue;
269
- const item = entry.target;
270
- item.classList.remove('is-visible');
271
- item.style.setProperty('--knowledge-list-delay', '0ms');
272
- }
273
- }, { root: observerRoot, threshold: .12, rootMargin: '-4px 0px' });
274
- const now = performance.now();
275
- for (const item of items) {
276
- item.classList.add('knowledge-list-reveal');
277
- if (!isCardGrid && motionWasJustPlayed(item, now))
278
- item.classList.add('is-visible');
279
- }
280
- let prepareFrame = 0;
281
- let settleFrame = 0;
282
- prepareFrame = requestAnimationFrame(() => {
283
- prepareFrame = 0;
284
- settleFrame = requestAnimationFrame(() => {
285
- settleFrame = 0;
286
- for (const item of items)
287
- observer.observe(item);
288
- });
289
- });
290
- animatedLists.set(list, () => {
291
- if (prepareFrame !== 0)
292
- cancelAnimationFrame(prepareFrame);
293
- if (settleFrame !== 0)
294
- cancelAnimationFrame(settleFrame);
295
- observer.disconnect();
296
- list.removeEventListener('scroll', onScroll);
297
- });
298
- }
299
- function cleanupDisconnected() {
300
- for (const [surface, record] of glassSurfaces) {
301
- if (surface.isConnected)
302
- continue;
303
- if (record.frame !== 0)
304
- cancelAnimationFrame(record.frame);
305
- record.observer?.disconnect();
306
- record.filter?.remove();
307
- glassSurfaces.delete(surface);
308
- }
309
- for (const [surface, cleanup] of borderSurfaces) {
310
- if (surface.isConnected)
311
- continue;
312
- cleanup();
313
- borderSurfaces.delete(surface);
314
- }
315
- for (const [list, cleanup] of animatedLists) {
316
- if (list.isConnected)
317
- continue;
318
- cleanup();
319
- animatedLists.delete(list);
320
- }
321
- }
322
- function refresh(root = document) {
323
- cleanupDisconnected();
324
- for (const surface of queryIncludingRoot(root, GLASS_SURFACE_SELECTOR))
325
- installGlassSurface(surface);
326
- for (const surface of queryIncludingRoot(root, CARD_SURFACE_SELECTOR))
327
- surface.classList.add('knowledge-card-surface');
328
- for (const surface of queryIncludingRoot(root, BORDER_SURFACE_SELECTOR))
329
- installBorderSurface(surface);
330
- for (const surface of queryIncludingRoot(root, GLARE_SURFACE_SELECTOR))
331
- surface.classList.add('knowledge-glare-surface');
332
- for (const list of queryIncludingRoot(root, ANIMATED_LIST_SELECTOR))
333
- installAnimatedList(list);
334
- }
335
- function destroy() {
336
- for (const [surface, record] of glassSurfaces) {
337
- if (record.frame !== 0)
338
- cancelAnimationFrame(record.frame);
339
- record.observer?.disconnect();
340
- record.filter?.remove();
341
- surface.classList.remove('knowledge-glass-surface');
342
- surface.removeAttribute('data-knowledge-glass');
343
- surface.style.removeProperty('--knowledge-glass-filter');
344
- }
345
- for (const [surface, cleanup] of borderSurfaces) {
346
- cleanup();
347
- surface.classList.remove('knowledge-border-surface');
348
- surface.classList.remove('knowledge-card-surface');
349
- surface.style.removeProperty('--knowledge-pointer-x');
350
- surface.style.removeProperty('--knowledge-pointer-y');
351
- }
352
- for (const [list, cleanup] of animatedLists) {
353
- cleanup();
354
- list.classList.remove('knowledge-animated-list');
355
- }
356
- glassSurfaces.clear();
357
- borderSurfaces.clear();
358
- animatedLists.clear();
359
- motionPlayedAt.clear();
360
- filterBank?.remove();
361
- filterBank = undefined;
362
- }
363
- window.DshKnowledgeEffects?.destroy();
364
- window.DshKnowledgeEffects = { refresh, destroy };
365
- export { destroy, refresh };
366
- //# sourceMappingURL=web-workspace-effects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-workspace-effects.js","sourceRoot":"","sources":["../src/web-workspace-effects.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- "use strict";(()=>{var M="http://www.w3.org/2000/svg",x=[".sidebar",".topbar",".note-tree-panel",".notes-browser",".notes-content-header",".notes-document-toolbar",".notes-document-statusbar",".note-editor-toolbar"].join(","),A=[".sidebar",".topbar",".note-tree-panel",".notes-browser"].join(","),L=[".login-card",".metric",".panel",".library-detail-header",".mount-manager",".knowledge-card",".candidate",".api-access-card"].join(","),R=[".mount-table",".note-workspace",".notes-workspace",L].join(","),T=[".button",".nav-button",".tab",".pane-toggle-button",".note-tree-base",".note-tree-document",".note-tree-new",".notes-tree-row",".notes-search-row",".notes-file-main"].join(","),C=[".note-tree",".notes-tree",".base-grid",".mount-table"].join(","),G="[data-knowledge-motion-key]",F=700,P=38,m=new Map,b=new Map,u=new Map,g=new Map,$=0,d,O=window.matchMedia("(prefers-reduced-motion: reduce)"),_=window.matchMedia("(prefers-reduced-transparency: reduce)");function v(e,t){let n=Array.from(e.querySelectorAll(t));return e instanceof HTMLElement&&e.matches(t)&&n.unshift(e),n}function H(){return d?.isConnected||(d=document.createElementNS(M,"svg"),d.classList.add("knowledge-glass-filter-bank"),d.setAttribute("aria-hidden","true"),d.setAttribute("focusable","false"),document.body.append(d)),d}function h(e,t){let n=document.createElementNS(M,e);for(let[o,s]of Object.entries(t))n.setAttribute(o,s);return n}function N(e){let t=h("filter",{id:e,x:"0%",y:"0%",width:"100%",height:"100%","color-interpolation-filters":"sRGB"}),n=h("feImage",{x:"0",y:"0",width:"100%",height:"100%",preserveAspectRatio:"none",result:"map"});return t.append(n,h("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"6",result:"frosted"})),t.append(h("feDisplacementMap",{in:"frosted",in2:"map",scale:"-16",xChannelSelector:"R",yChannelSelector:"G",result:"refracted"}),h("feGaussianBlur",{in:"refracted",stdDeviation:".12"})),{filter:t,image:n}}function I(){if(_.matches)return!1;let e=navigator.userAgent;return/Firefox/i.test(e)||/Safari/i.test(e)&&!/(Chrome|Chromium|CriOS)/i.test(e)?!1:CSS.supports?.("backdrop-filter","url(#knowledge-glass-support)")||CSS.supports?.("-webkit-backdrop-filter","url(#knowledge-glass-support)")||!1}function D(e,t,n){let o=Number.parseFloat(getComputedStyle(e).borderTopLeftRadius);return Number.isFinite(o)?Math.max(0,Math.min(o,Math.min(t,n)/2)):Math.min(t,n)*.16}function B(e,t,n){let o=Math.min(12,Math.max(4,Math.min(e,t)*.08)),s=`<svg viewBox="0 0 ${e} ${t}" xmlns="${M}">
2
- <defs>
3
- <clipPath id="shape"><rect width="${e}" height="${t}" rx="${n}"/></clipPath>
4
- <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>
5
- <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>
6
- <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>
7
- <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>
8
- </defs>
9
- <g clip-path="url(#shape)">
10
- <rect width="${e}" height="${t}" fill="rgb(128 128 128)"/>
11
- <rect width="${o}" height="${t}" fill="url(#left)"/>
12
- <rect x="${e-o}" width="${o}" height="${t}" fill="url(#right)"/>
13
- <rect width="${e}" height="${o}" fill="url(#top)"/>
14
- <rect y="${t-o}" width="${e}" height="${o}" fill="url(#bottom)"/>
15
- </g>
16
- </svg>`;return`data:image/svg+xml,${encodeURIComponent(s)}`}function V(e){if(m.has(e))return;if(e.classList.add("knowledge-glass-surface"),e.matches(A)||!I()){e.dataset.knowledgeGlass="fallback",m.set(e,{filter:void 0,observer:void 0,frame:0});return}let t=`knowledge-glass-filter-${++$}`,{filter:n,image:o}=N(t);H().append(n),e.dataset.knowledgeGlass="svg",e.style.setProperty("--knowledge-glass-filter",`url(#${t})`);let s={filter:n,observer:void 0,frame:0},c=()=>{if(s.frame=0,!e.isConnected)return;let a=e.getBoundingClientRect(),l=Math.max(1,Math.round(a.width)),i=Math.max(1,Math.round(a.height));o.setAttribute("href",B(l,i,D(e,l,i)))},r=()=>{s.frame===0&&(s.frame=requestAnimationFrame(c))};s.observer=typeof ResizeObserver>"u"?void 0:new ResizeObserver(r),s.observer?.observe(e),s.frame=requestAnimationFrame(c),m.set(e,s)}function q(e){if(b.has(e))return;e.classList.add("knowledge-border-surface"),e.style.setProperty("--knowledge-pointer-x","50%"),e.style.setProperty("--knowledge-pointer-y","50%");let t=0,n,o=()=>{if(t=0,n===void 0||!e.isConnected)return;let r=e.getBoundingClientRect(),a=Math.min(r.width,Math.max(0,n.x-r.left)),l=Math.min(r.height,Math.max(0,n.y-r.top)),i=Math.min(a,r.width-a,l,r.height-l),y=Math.min(1,Math.max(0,1-i/P)),w=Math.atan2(l-r.height/2,a-r.width/2)*(180/Math.PI)+90;e.style.setProperty("--knowledge-pointer-x",`${(a/Math.max(1,r.width)*100).toFixed(2)}%`),e.style.setProperty("--knowledge-pointer-y",`${(l/Math.max(1,r.height)*100).toFixed(2)}%`),e.style.setProperty("--knowledge-border-proximity",y.toFixed(3)),e.style.setProperty("--knowledge-border-angle",`${w.toFixed(2)}deg`)},s=r=>{n={x:r.clientX,y:r.clientY},t===0&&(t=requestAnimationFrame(o))},c=()=>{n=void 0,e.style.setProperty("--knowledge-border-proximity","0")};e.addEventListener("pointermove",s,{passive:!0}),e.addEventListener("pointerleave",c,{passive:!0}),b.set(e,()=>{t!==0&&cancelAnimationFrame(t),e.removeEventListener("pointermove",s),e.removeEventListener("pointerleave",c)})}function K(e,t){let n=e.dataset.knowledgeMotionKey;if(n===void 0)return!1;let o=g.get(n);return o!==void 0&&t-o<F}function U(e,t){let n=e.dataset.knowledgeMotionKey;if(n===void 0||(g.set(n,t),g.size<=4e3))return;let o=g.keys().next().value;o!==void 0&&g.delete(o)}function S(e){let t=e.scrollHeight-e.clientHeight-e.scrollTop;e.dataset.scrollTop=String(e.scrollTop<=2),e.dataset.scrollBottom=String(t<=2)}function j(e){if(u.has(e))return;let t=e.matches(".base-grid");e.classList.add("knowledge-animated-list"),e.dataset.knowledgeListLayout=t?"grid":"scroll",S(e);let n=()=>S(e);e.addEventListener("scroll",n,{passive:!0});let o=Array.from(e.querySelectorAll(G));if(O.matches||typeof IntersectionObserver>"u"){for(let i of o)i.classList.add("knowledge-list-reveal","is-visible");u.set(e,()=>e.removeEventListener("scroll",n));return}let s=e.scrollHeight-e.clientHeight>2?e:null,c=new IntersectionObserver(i=>{let y=i.filter(f=>f.isIntersecting).sort((f,p)=>f.boundingClientRect.top-p.boundingClientRect.top),w=performance.now();y.forEach((f,p)=>{let E=f.target,k=t?52:38;E.style.setProperty("--knowledge-list-delay",`${Math.min(p,7)*k}ms`),E.classList.add("is-visible"),U(E,w)});for(let f of i){if(f.isIntersecting)continue;let p=f.target;p.classList.remove("is-visible"),p.style.setProperty("--knowledge-list-delay","0ms")}},{root:s,threshold:.12,rootMargin:"-4px 0px"}),r=performance.now();for(let i of o)i.classList.add("knowledge-list-reveal"),!t&&K(i,r)&&i.classList.add("is-visible");let a=0,l=0;a=requestAnimationFrame(()=>{a=0,l=requestAnimationFrame(()=>{l=0;for(let i of o)c.observe(i)})}),u.set(e,()=>{a!==0&&cancelAnimationFrame(a),l!==0&&cancelAnimationFrame(l),c.disconnect(),e.removeEventListener("scroll",n)})}function W(){for(let[e,t]of m)e.isConnected||(t.frame!==0&&cancelAnimationFrame(t.frame),t.observer?.disconnect(),t.filter?.remove(),m.delete(e));for(let[e,t]of b)e.isConnected||(t(),b.delete(e));for(let[e,t]of u)e.isConnected||(t(),u.delete(e))}function z(e=document){W();for(let t of v(e,x))V(t);for(let t of v(e,L))t.classList.add("knowledge-card-surface");for(let t of v(e,R))q(t);for(let t of v(e,T))t.classList.add("knowledge-glare-surface");for(let t of v(e,C))j(t)}function Y(){for(let[e,t]of m)t.frame!==0&&cancelAnimationFrame(t.frame),t.observer?.disconnect(),t.filter?.remove(),e.classList.remove("knowledge-glass-surface"),e.removeAttribute("data-knowledge-glass"),e.style.removeProperty("--knowledge-glass-filter");for(let[e,t]of b)t(),e.classList.remove("knowledge-border-surface"),e.classList.remove("knowledge-card-surface"),e.style.removeProperty("--knowledge-pointer-x"),e.style.removeProperty("--knowledge-pointer-y");for(let[e,t]of u)t(),e.classList.remove("knowledge-animated-list");m.clear(),b.clear(),u.clear(),g.clear(),d?.remove(),d=void 0}window.DshKnowledgeEffects?.destroy();window.DshKnowledgeEffects={refresh:z,destroy:Y};})();