@supersoniks/concorde 4.9.6 → 4.9.9

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 (31) hide show
  1. package/build-infos.json +1 -1
  2. package/concorde-core.bundle.js +190 -190
  3. package/concorde-core.es.js +4135 -3905
  4. package/dist/concorde-core.bundle.js +190 -190
  5. package/dist/concorde-core.es.js +4135 -3905
  6. package/dist/js/core/components/functional/queue/queue.js +71 -37
  7. package/dist/js/core/components/functional/queue/queue.js.map +1 -1
  8. package/dist/js/core/components/ui/_css/scroll.js +2 -0
  9. package/dist/js/core/components/ui/_css/scroll.js.map +1 -1
  10. package/dist/js/core/utils/SafariScrollGuard.js +384 -0
  11. package/dist/js/core/utils/SafariScrollGuard.js.map +1 -0
  12. package/dist/js/utils.js +3 -0
  13. package/dist/js/utils.js.map +1 -1
  14. package/dist/types/core/components/functional/queue/queue.d.ts +17 -7
  15. package/dist/types/core/components/functional/queue/queue.d.ts.map +1 -1
  16. package/dist/types/core/components/ui/_css/scroll.d.ts.map +1 -1
  17. package/dist/types/core/utils/SafariScrollGuard.d.ts +36 -0
  18. package/dist/types/core/utils/SafariScrollGuard.d.ts.map +1 -0
  19. package/dist/types/utils.d.ts +1 -0
  20. package/dist/types/utils.d.ts.map +1 -1
  21. package/package.json +6 -2
  22. package/src/core/components/functional/queue/queue.ts +82 -40
  23. package/src/core/components/ui/_css/scroll.ts +3 -0
  24. package/src/core/utils/SafariScrollGuard.ts +429 -0
  25. package/src/docs/search/docs-search.json +28 -108
  26. package/src/docs/tailwind/css/tailwind.css +0 -0
  27. package/src/tsconfig.json +3 -0
  28. package/src/tsconfig.tsbuildinfo +1 -1
  29. package/src/utils.ts +13 -0
  30. package/vite.config.mts +4 -0
  31. package/vitest.setup.ts +22 -0
@@ -12,6 +12,7 @@ import { map } from "lit/directives/map.js";
12
12
  import { PublisherManager } from "@supersoniks/concorde/core/utils/PublisherProxy";
13
13
  import "@supersoniks/concorde/core/components/functional/list/list";
14
14
  import { HTML } from "@supersoniks/concorde/utils";
15
+ import { isSafariScrollEngine, resetScrollRoot, restoreScrollRoot, watchScrollRoot, } from "@supersoniks/concorde/core/utils/SafariScrollGuard";
15
16
  const tagName = "sonic-queue";
16
17
  /**
17
18
  *### Une Queue charge du contenu par lot selon l'expression renseignée dans l'attribut *dataProviderExpression*.
@@ -78,6 +79,8 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement, {}) {
78
79
  if (searchHash == this.searchHash && !this.isFirstRequest)
79
80
  return;
80
81
  this.searchHash = searchHash;
82
+ // Nouvelle recherche : ne pas restaurer l'ancienne position de scroll
83
+ resetScrollRoot(this.resolveScrollRoot(), { x: 0, y: 0 });
81
84
  /**
82
85
  * on reset les données avant de lancer la requète
83
86
  */
@@ -98,10 +101,14 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement, {}) {
98
101
  }, this.isFirstRequest ? 0 : this.filterTimeoutMs);
99
102
  this.isFirstRequest = false;
100
103
  };
101
- /** Conteneur scrollé (élément ou window) — Safari only. */
104
+ /**
105
+ * Conteneur scrollé — Safari : stock/restore via SafariScrollGuard
106
+ * (capture intent user globale). Ici : sync root + restore après Lit.
107
+ */
102
108
  this.scrollRoot = null;
103
- this.storedScrollY = 0;
104
- this.storedScrollX = 0;
109
+ this.scrollSyncActive = false;
110
+ this.mutationObserver = null;
111
+ this.restoreGeneration = 0;
105
112
  /**
106
113
  * Cette expression est utilisée comme modèle par le composant Queue pour renseigngner le dataProvider de la [liste](./?path=/docs/core-components-functional-list-list--basic) créée.
107
114
  * * l'expression *$offset* est alors remplacée par le numéro de l'élément à partir duquel démarrer
@@ -129,7 +136,7 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement, {}) {
129
136
  this.requestId = 0;
130
137
  this.isFirstRequest = true;
131
138
  this.nextHadEvent = false;
132
- this.scrollRoot = null;
139
+ this.teardownScrollSync();
133
140
  this.publisher.set({});
134
141
  super.disconnectedCallback();
135
142
  return;
@@ -155,7 +162,7 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement, {}) {
155
162
  HTML.getAncestorAttributeValue(this.parentElement, "dataProvider") ||
156
163
  "";
157
164
  }
158
- this.storeScrollPosition();
165
+ this.ensureScrollSync();
159
166
  super.connectedCallback();
160
167
  this.publisher.set({});
161
168
  this.key = this.getAttribute("key");
@@ -184,47 +191,70 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement, {}) {
184
191
  }
185
192
  return ancestor;
186
193
  }
187
- storeScrollPosition() {
188
- if (!this.isSafari()) {
194
+ isSafari() {
195
+ return isSafariScrollEngine();
196
+ }
197
+ ensureScrollSync() {
198
+ if (!isSafariScrollEngine() || !this.isConnected) {
189
199
  return;
190
200
  }
191
201
  const root = this.resolveScrollRoot();
192
202
  this.scrollRoot = root;
193
- if (root === window) {
194
- this.storedScrollX = window.scrollX;
195
- this.storedScrollY = window.scrollY;
196
- }
197
- else {
198
- const el = root;
199
- this.storedScrollX = el.scrollLeft;
200
- this.storedScrollY = el.scrollTop;
203
+ watchScrollRoot(root);
204
+ if (this.scrollSyncActive) {
205
+ return;
201
206
  }
207
+ this.scrollSyncActive = true;
208
+ this.mutationObserver = new MutationObserver(() => {
209
+ this.scheduleRestoreAfterChildren();
210
+ });
211
+ this.mutationObserver.observe(this, {
212
+ childList: true,
213
+ subtree: true,
214
+ characterData: true,
215
+ });
202
216
  }
203
- restoreScrollPosition() {
204
- const root = this.scrollRoot ?? this.resolveScrollRoot();
205
- const x = this.storedScrollX;
206
- const y = this.storedScrollY;
207
- if (root === window) {
208
- if (Math.abs(x - window.scrollX) > 10 ||
209
- Math.abs(y - window.scrollY) > 10) {
210
- window.scrollTo(x, y);
211
- }
217
+ teardownScrollSync() {
218
+ this.restoreGeneration++;
219
+ this.mutationObserver?.disconnect();
220
+ this.mutationObserver = null;
221
+ this.scrollSyncActive = false;
222
+ this.scrollRoot = null;
223
+ }
224
+ /**
225
+ * Attend la fin des updates Lit de la queue + sonic-list, puis 2 rAF (layout Safari).
226
+ * Ne pas await updateComplete *dans* updated (deadlock) — on sort du cycle via void async.
227
+ */
228
+ scheduleRestoreAfterChildren() {
229
+ if (!isSafariScrollEngine() || !this.isConnected) {
212
230
  return;
213
231
  }
214
- const el = root;
215
- if (Math.abs(x - el.scrollLeft) > 10 || Math.abs(y - el.scrollTop) > 10) {
216
- el.scrollLeft = x;
217
- el.scrollTop = y;
218
- }
219
- }
220
- isSafari() {
221
- return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
232
+ const generation = ++this.restoreGeneration;
233
+ void (async () => {
234
+ await this.updateComplete;
235
+ if (generation !== this.restoreGeneration || !this.isConnected)
236
+ return;
237
+ const lists = Array.from(this.querySelectorAll("sonic-list"));
238
+ if (lists.length) {
239
+ await Promise.all(lists.map((list) => list.updateComplete));
240
+ }
241
+ if (generation !== this.restoreGeneration || !this.isConnected)
242
+ return;
243
+ await new Promise((r) => requestAnimationFrame(() => r()));
244
+ await new Promise((r) => requestAnimationFrame(() => r()));
245
+ if (generation !== this.restoreGeneration || !this.isConnected)
246
+ return;
247
+ const root = this.scrollRoot ?? this.resolveScrollRoot();
248
+ watchScrollRoot(root);
249
+ restoreScrollRoot(root);
250
+ })();
222
251
  }
223
252
  updated(_changedProperties) {
224
- if (this.isSafari()) {
225
- this.restoreScrollPosition();
226
- // Hack pour éviter que le scroll ne retourne en haut si safari
227
- window.requestAnimationFrame(() => this.restoreScrollPosition());
253
+ if (isSafariScrollEngine()) {
254
+ this.ensureScrollSync();
255
+ const root = this.scrollRoot ?? this.resolveScrollRoot();
256
+ restoreScrollRoot(root);
257
+ this.scheduleRestoreAfterChildren();
228
258
  }
229
259
  super.updated(_changedProperties);
230
260
  }
@@ -313,7 +343,11 @@ let Queue = Queue_1 = class Queue extends Subscriber(LitElement, {}) {
313
343
  this.lastRequestTime = new Date().getTime();
314
344
  }
315
345
  render() {
316
- this.storeScrollPosition();
346
+ // Ne pas écraser le stock avec un jump Safari : uniquement sync du root / guard.
347
+ if (this.isSafari()) {
348
+ this.scrollRoot = this.resolveScrollRoot();
349
+ this.ensureScrollSync();
350
+ }
317
351
  if (!Array.isArray(this.props)) {
318
352
  return nothing;
319
353
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/queue/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../../../src/core/components/functional/queue/queue.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { css } from "lit";
2
+ import { installSafariScrollGuard } from "@supersoniks/concorde/core/utils/SafariScrollGuard";
3
+ installSafariScrollGuard();
2
4
  export const customScroll = css `
3
5
  .custom-scroll {
4
6
  overflow: auto !important;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../../../src/core/components/ui/_css/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../../../src/core/components/ui/_css/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAE9F,wBAAwB,EAAE,CAAC;AAE3B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC"}
@@ -0,0 +1,384 @@
1
+ /**
2
+ * Garde Safari / WebKit : empêche les resets fantômes de scroll.
3
+ *
4
+ * - stock = dernière position user (intent + settle inertie)
5
+ * - jump brutal vers ~0 → JAMAIS capturé (même mid-gesture), restore
6
+ * - collapse Lit / slot light-DOM : observe aussi le host + sticky restore multi-frames
7
+ * - nested : intent uniquement sur le scroller le plus proche (composedPath)
8
+ */
9
+ const SCROLL_SETTLE_MS = 150;
10
+ const RESTORE_EPS = 10;
11
+ /** Jump vers le haut considéré fantôme (pas une remontée progressive trackpad). */
12
+ const JUMP_EPS = 200;
13
+ /** Combien de frames on re-applique le stock après un fantôme / mutation. */
14
+ const STICKY_RESTORE_FRAMES = 16;
15
+ const states = new WeakMap();
16
+ let installed = false;
17
+ export function isSafariScrollEngine() {
18
+ if (typeof navigator === "undefined")
19
+ return false;
20
+ return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
21
+ }
22
+ function read(root) {
23
+ if (root === window) {
24
+ return { x: window.scrollX, y: window.scrollY };
25
+ }
26
+ const el = root;
27
+ return { x: el.scrollLeft, y: el.scrollTop };
28
+ }
29
+ function write(root, x, y) {
30
+ if (root === window) {
31
+ window.scrollTo(x, y);
32
+ return;
33
+ }
34
+ const el = root;
35
+ // scrollTo coupe mieux l’inertie iOS que le setter seul
36
+ if (typeof el.scrollTo === "function") {
37
+ el.scrollTo(x, y);
38
+ }
39
+ else {
40
+ el.scrollLeft = x;
41
+ el.scrollTop = y;
42
+ }
43
+ }
44
+ function maxScrollY(root) {
45
+ if (root === window) {
46
+ const doc = document.documentElement;
47
+ return Math.max(0, doc.scrollHeight - window.innerHeight);
48
+ }
49
+ const el = root;
50
+ return Math.max(0, el.scrollHeight - el.clientHeight);
51
+ }
52
+ function getState(root) {
53
+ let s = states.get(root);
54
+ if (!s) {
55
+ const pos = read(root);
56
+ s = {
57
+ x: pos.x,
58
+ y: pos.y,
59
+ restoring: false,
60
+ watching: false,
61
+ userEngaged: false,
62
+ raf: 0,
63
+ stickyFrames: 0,
64
+ };
65
+ states.set(root, s);
66
+ }
67
+ return s;
68
+ }
69
+ function markUserEngaged(root) {
70
+ getState(root).userEngaged = true;
71
+ }
72
+ function armScrollSettle(root) {
73
+ const s = getState(root);
74
+ clearTimeout(s.settleTimer);
75
+ s.settleTimer = setTimeout(() => {
76
+ s.userEngaged = false;
77
+ s.settleTimer = undefined;
78
+ }, SCROLL_SETTLE_MS);
79
+ }
80
+ /**
81
+ * Saut brutal vers le haut (pas seulement ~0) : Safari clampe souvent à une
82
+ * valeur intermédiaire (ex. 1716→225). Un `cap` sans `rst` = on avait accepté
83
+ * ce drop comme scroll user.
84
+ */
85
+ function looksLikePhantomDrop(currentY, storedY) {
86
+ return storedY - currentY >= JUMP_EPS;
87
+ }
88
+ /**
89
+ * Mémorise la position courante — refuse tout gros drop d’un coup.
90
+ */
91
+ export function captureScrollRoot(root) {
92
+ if (!isSafariScrollEngine())
93
+ return;
94
+ const s = getState(root);
95
+ if (s.restoring)
96
+ return;
97
+ const pos = read(root);
98
+ if (looksLikePhantomDrop(pos.y, s.y)) {
99
+ stickyRestore(root);
100
+ return;
101
+ }
102
+ s.x = pos.x;
103
+ s.y = pos.y;
104
+ }
105
+ /**
106
+ * Ré-applique le stock. Ne pollue jamais le stock avec le scroll courant.
107
+ *
108
+ * Important : on peut clamper la *cible d’écriture* à maxScroll (le navigateur
109
+ * le ferait de toute façon), mais on ne doit JAMAIS abaisser `s.y` pour autant —
110
+ * pendant un re-render Lit maxScroll plonge souvent un instant (ex. 215→75) puis
111
+ * revient ; baisser le stock là, c’est perdre la position pour de bon.
112
+ */
113
+ export function restoreScrollRoot(root) {
114
+ if (!isSafariScrollEngine())
115
+ return;
116
+ const s = getState(root);
117
+ const maxY = maxScrollY(root);
118
+ const targetX = s.x;
119
+ // maxY===0 : collapse total transitoire → tenter quand même s.y (no-op clamp)
120
+ const targetY = maxY > 0 ? Math.min(s.y, maxY) : s.y;
121
+ const { x, y } = read(root);
122
+ if (Math.abs(targetX - x) <= RESTORE_EPS &&
123
+ Math.abs(targetY - y) <= RESTORE_EPS) {
124
+ return;
125
+ }
126
+ s.restoring = true;
127
+ try {
128
+ write(root, targetX, targetY);
129
+ }
130
+ finally {
131
+ requestAnimationFrame(() => {
132
+ s.restoring = false;
133
+ });
134
+ }
135
+ }
136
+ /** @deprecated alias */
137
+ export function syncScrollRoot(root) {
138
+ restoreScrollRoot(root);
139
+ }
140
+ export function resetScrollRoot(root, position = { x: 0, y: 0 }) {
141
+ if (!isSafariScrollEngine())
142
+ return;
143
+ const s = getState(root);
144
+ if (position === "current") {
145
+ const pos = read(root);
146
+ s.x = pos.x;
147
+ s.y = pos.y;
148
+ return;
149
+ }
150
+ s.x = position.x ?? 0;
151
+ s.y = position.y ?? 0;
152
+ }
153
+ function stickyRestore(root) {
154
+ const s = getState(root);
155
+ s.stickyFrames = STICKY_RESTORE_FRAMES;
156
+ if (s.raf)
157
+ return;
158
+ const tick = () => {
159
+ s.raf = 0;
160
+ restoreScrollRoot(root);
161
+ if (s.stickyFrames > 0) {
162
+ s.stickyFrames--;
163
+ s.raf = requestAnimationFrame(tick);
164
+ }
165
+ };
166
+ s.raf = requestAnimationFrame(tick);
167
+ }
168
+ function scheduleRestore(root) {
169
+ stickyRestore(root);
170
+ }
171
+ /**
172
+ * Branche écoute intent + scroll + resize (+ mutations).
173
+ * Idempotent.
174
+ */
175
+ export function watchScrollRoot(root) {
176
+ if (!isSafariScrollEngine())
177
+ return;
178
+ const s = getState(root);
179
+ if (s.watching)
180
+ return;
181
+ s.watching = true;
182
+ const target = root === window ? window : root;
183
+ const onScroll = () => {
184
+ if (s.restoring)
185
+ return;
186
+ const { y } = read(root);
187
+ // Gros drop d’un coup (y compris vers une valeur intermédiaire) → restore
188
+ if (looksLikePhantomDrop(y, s.y)) {
189
+ stickyRestore(root);
190
+ return;
191
+ }
192
+ if (s.userEngaged) {
193
+ captureScrollRoot(root);
194
+ armScrollSettle(root);
195
+ return;
196
+ }
197
+ // Pas d’intent taggé : adopter la position courante (pas un gros drop).
198
+ captureScrollRoot(root);
199
+ };
200
+ const isGestureForThisRoot = (e) => nearestScrollRootFromEvent(e) === root;
201
+ const onUserIntent = (e) => {
202
+ if (!isGestureForThisRoot(e))
203
+ return;
204
+ // Snapshot immédiat avant mutation DOM déclenchée par le clic.
205
+ captureScrollRoot(root);
206
+ markUserEngaged(root);
207
+ };
208
+ const onUserIntentEnd = (e) => {
209
+ if (!isGestureForThisRoot(e))
210
+ return;
211
+ armScrollSettle(root);
212
+ };
213
+ const onWheel = (e) => {
214
+ if (!isGestureForThisRoot(e))
215
+ return;
216
+ captureScrollRoot(root);
217
+ markUserEngaged(root);
218
+ armScrollSettle(root);
219
+ };
220
+ target.addEventListener("scroll", onScroll, { passive: true });
221
+ target.addEventListener("touchstart", onUserIntent, { passive: true });
222
+ target.addEventListener("touchend", onUserIntentEnd, { passive: true });
223
+ target.addEventListener("touchcancel", onUserIntentEnd, { passive: true });
224
+ target.addEventListener("wheel", onWheel, { passive: true });
225
+ target.addEventListener("pointerdown", onUserIntent, { passive: true });
226
+ target.addEventListener("pointerup", onUserIntentEnd, { passive: true });
227
+ target.addEventListener("pointercancel", onUserIntentEnd, { passive: true });
228
+ const pos = read(root);
229
+ s.x = pos.x;
230
+ s.y = pos.y;
231
+ if (root === window) {
232
+ const ro = new ResizeObserver(() => scheduleRestore(window));
233
+ ro.observe(document.documentElement);
234
+ s.resizeObserver = ro;
235
+ return;
236
+ }
237
+ const el = root;
238
+ const ro = new ResizeObserver(() => scheduleRestore(el));
239
+ ro.observe(el);
240
+ for (const child of Array.from(el.children)) {
241
+ ro.observe(child);
242
+ }
243
+ s.resizeObserver = ro;
244
+ const onDomChange = () => scheduleRestore(el);
245
+ const mo = new MutationObserver((mutations) => {
246
+ for (const mutation of mutations) {
247
+ if (mutation.type !== "childList")
248
+ continue;
249
+ for (const node of Array.from(mutation.addedNodes)) {
250
+ if (node instanceof Element)
251
+ ro.observe(node);
252
+ }
253
+ }
254
+ onDomChange();
255
+ });
256
+ // Shadow children
257
+ mo.observe(el, { childList: true, subtree: true, characterData: true });
258
+ // Light DOM du host (contenu <slot>) — sinon on rate suppressions / updates
259
+ const rootNode = el.getRootNode();
260
+ if (rootNode instanceof ShadowRoot && rootNode.host) {
261
+ mo.observe(rootNode.host, {
262
+ childList: true,
263
+ subtree: true,
264
+ characterData: true,
265
+ });
266
+ }
267
+ s.mutationObserver = mo;
268
+ }
269
+ function nearestScrollRootFromEvent(e) {
270
+ for (const node of e.composedPath()) {
271
+ if (node === window || node === document)
272
+ continue;
273
+ if (node instanceof HTMLElement && isScrollContainer(node)) {
274
+ return node;
275
+ }
276
+ }
277
+ return window;
278
+ }
279
+ function isScrollContainer(el) {
280
+ if (!(el instanceof HTMLElement))
281
+ return false;
282
+ if (el === document.documentElement || el === document.body)
283
+ return false;
284
+ const oy = getComputedStyle(el).overflowY;
285
+ return oy === "auto" || oy === "scroll" || oy === "overlay";
286
+ }
287
+ function discoverFromEvent(e) {
288
+ for (const node of e.composedPath()) {
289
+ if (node === window || node === document)
290
+ continue;
291
+ if (node instanceof HTMLElement && isScrollContainer(node)) {
292
+ watchScrollRoot(node);
293
+ }
294
+ }
295
+ const engageRoot = nearestScrollRootFromEvent(e);
296
+ watchScrollRoot(engageRoot);
297
+ if (e.type === "wheel") {
298
+ captureScrollRoot(engageRoot);
299
+ markUserEngaged(engageRoot);
300
+ armScrollSettle(engageRoot);
301
+ }
302
+ else if (e.type === "touchstart" || e.type === "pointerdown") {
303
+ captureScrollRoot(engageRoot);
304
+ markUserEngaged(engageRoot);
305
+ }
306
+ }
307
+ function watchScrollContainersInTree(root) {
308
+ if (root instanceof Element && root.classList?.contains("custom-scroll")) {
309
+ watchScrollRoot(root);
310
+ }
311
+ root.querySelectorAll?.(".custom-scroll").forEach((el) => {
312
+ if (el instanceof HTMLElement)
313
+ watchScrollRoot(el);
314
+ });
315
+ }
316
+ function observeShadowRoot(shadow) {
317
+ watchScrollContainersInTree(shadow);
318
+ const mo = new MutationObserver((mutations) => {
319
+ for (const mutation of mutations) {
320
+ for (const node of Array.from(mutation.addedNodes)) {
321
+ if (node instanceof Element)
322
+ watchScrollContainersInTree(node);
323
+ }
324
+ }
325
+ });
326
+ mo.observe(shadow, { childList: true, subtree: true });
327
+ }
328
+ function walkExistingShadows(node) {
329
+ node.querySelectorAll?.("*").forEach((el) => {
330
+ if (el.shadowRoot) {
331
+ observeShadowRoot(el.shadowRoot);
332
+ walkExistingShadows(el.shadowRoot);
333
+ }
334
+ });
335
+ }
336
+ function patchAttachShadow() {
337
+ const proto = Element.prototype;
338
+ if (proto.__safariScrollGuardPatched)
339
+ return;
340
+ proto.__safariScrollGuardPatched = true;
341
+ const nativeAttachShadow = proto.attachShadow;
342
+ proto.attachShadow = function attachShadowPatched(init) {
343
+ const shadow = nativeAttachShadow.call(this, init);
344
+ observeShadowRoot(shadow);
345
+ return shadow;
346
+ };
347
+ }
348
+ export function installSafariScrollGuard() {
349
+ if (typeof window === "undefined" || installed)
350
+ return;
351
+ installed = true;
352
+ if (!isSafariScrollEngine())
353
+ return;
354
+ watchScrollRoot(window);
355
+ patchAttachShadow();
356
+ const opts = { capture: true, passive: true };
357
+ window.addEventListener("wheel", discoverFromEvent, opts);
358
+ window.addEventListener("touchstart", discoverFromEvent, opts);
359
+ window.addEventListener("pointerdown", discoverFromEvent, opts);
360
+ const scan = () => {
361
+ watchScrollContainersInTree(document);
362
+ walkExistingShadows(document);
363
+ };
364
+ if (document.readyState === "loading") {
365
+ document.addEventListener("DOMContentLoaded", scan, { once: true });
366
+ }
367
+ else {
368
+ scan();
369
+ }
370
+ const mo = new MutationObserver((mutations) => {
371
+ for (const mutation of mutations) {
372
+ for (const node of Array.from(mutation.addedNodes)) {
373
+ if (!(node instanceof Element))
374
+ continue;
375
+ watchScrollContainersInTree(node);
376
+ if (node.shadowRoot)
377
+ observeShadowRoot(node.shadowRoot);
378
+ walkExistingShadows(node);
379
+ }
380
+ }
381
+ });
382
+ mo.observe(document.documentElement, { childList: true, subtree: true });
383
+ }
384
+ //# sourceMappingURL=SafariScrollGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafariScrollGuard.js","sourceRoot":"","sources":["../../../../src/core/utils/SafariScrollGuard.ts"],"names":[],"mappings":"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"}
package/dist/js/utils.js CHANGED
@@ -23,6 +23,9 @@ export const URLPattern = myURLPattern.default;
23
23
  import { Endpoint } from "./core/utils/endpoint";
24
24
  import { DataProviderKey } from "./core/utils/dataProviderKey";
25
25
  export { Endpoint, DataProviderKey };
26
+ export { installSafariScrollGuard, watchScrollRoot, syncScrollRoot, restoreScrollRoot, captureScrollRoot, resetScrollRoot, isSafariScrollEngine, } from "./core/utils/SafariScrollGuard";
27
+ import { installSafariScrollGuard } from "./core/utils/SafariScrollGuard";
28
+ installSafariScrollGuard();
26
29
  window["concorde-utils"] = window["concorde-utils"] || {};
27
30
  window["concorde-utils"] = {
28
31
  Utils: Utils,