@node-projects/web-component-designer 0.1.316 → 0.1.318

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.
@@ -69,11 +69,11 @@ export function convertQuadFromNode(node, quad, from, options) {
69
69
  const m1 = getResultingTransformationBetweenElementAndAllAncestors(from, document.body, options?.iframes);
70
70
  const m2 = getResultingTransformationBetweenElementAndAllAncestors(node, document.body, options?.iframes).inverse();
71
71
  if (options?.fromBox && options?.fromBox !== 'border') {
72
- quad = new DOMQuad(transformPointBox(quad.p1, options.fromBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(from), -1), transformPointBox(quad.p2, options.fromBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(from), -1), transformPointBox(quad.p3, options.fromBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(from), -1), transformPointBox(quad.p4, options.fromBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(from), -1));
72
+ quad = new DOMQuad(transformPointBox(quad.p1, options.fromBox, getCachedComputedStyle(from), -1), transformPointBox(quad.p2, options.fromBox, getCachedComputedStyle(from), -1), transformPointBox(quad.p3, options.fromBox, getCachedComputedStyle(from), -1), transformPointBox(quad.p4, options.fromBox, getCachedComputedStyle(from), -1));
73
73
  }
74
74
  let res = new DOMQuad(m2.transformPoint(m1.transformPoint(quad.p1)), m2.transformPoint(m1.transformPoint(quad.p2)), m2.transformPoint(m1.transformPoint(quad.p3)), m2.transformPoint(m1.transformPoint(quad.p4)));
75
75
  if (options?.toBox && options?.toBox !== 'border' && (node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
76
- res = new DOMQuad(transformPointBox(res.p1, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1), transformPointBox(res.p2, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1), transformPointBox(res.p3, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1), transformPointBox(res.p4, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1));
76
+ res = new DOMQuad(transformPointBox(res.p1, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p2, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p3, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p4, options.toBox, getCachedComputedStyle(node), -1));
77
77
  }
78
78
  return res;
79
79
  }
@@ -88,12 +88,12 @@ export function convertRectFromNode(node, rect, from, options) {
88
88
  const m1 = getResultingTransformationBetweenElementAndAllAncestors(from, (node.ownerDocument.defaultView ?? window).document.body.parentElement, options?.iframes);
89
89
  const m2 = getResultingTransformationBetweenElementAndAllAncestors(node, (node.ownerDocument.defaultView ?? window).document.body.parentElement, options?.iframes).inverse();
90
90
  if (options?.fromBox && options?.fromBox !== 'border') {
91
- const p = transformPointBox(new DOMPoint(rect.x, rect.y), options.fromBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(from), 1);
91
+ const p = transformPointBox(new DOMPoint(rect.x, rect.y), options.fromBox, getCachedComputedStyle(from), 1);
92
92
  rect = new DOMRect(p.x, p.y, rect.width, rect.height);
93
93
  }
94
94
  let res = new DOMQuad(m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x, rect.y))), m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x + rect.width, rect.y))), m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x + rect.width, rect.y + rect.height))), m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x, rect.y + rect.height))));
95
95
  if (options?.toBox && options?.toBox !== 'border' && (node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
96
- res = new DOMQuad(transformPointBox(res.p1, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1), transformPointBox(res.p2, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1), transformPointBox(res.p3, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1), transformPointBox(res.p4, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1));
96
+ res = new DOMQuad(transformPointBox(res.p1, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p2, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p3, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p4, options.toBox, getCachedComputedStyle(node), -1));
97
97
  }
98
98
  return res;
99
99
  }
@@ -108,11 +108,11 @@ export function convertPointFromNode(node, point, from, options) {
108
108
  const m1 = getResultingTransformationBetweenElementAndAllAncestors(from, (node.ownerDocument.defaultView ?? window).document.body.parentElement, options?.iframes);
109
109
  const m2 = getResultingTransformationBetweenElementAndAllAncestors(node, document.body, options?.iframes).inverse();
110
110
  if (options?.fromBox && options?.fromBox !== 'border') {
111
- point = transformPointBox(point, options.fromBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(from), 1);
111
+ point = transformPointBox(point, options.fromBox, getCachedComputedStyle(from), 1);
112
112
  }
113
113
  let res = m2.transformPoint(m1.transformPoint(point));
114
114
  if (options?.toBox && options?.toBox !== 'border' && (node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
115
- res = transformPointBox(res, options.toBox, (node.ownerDocument.defaultView ?? window).getComputedStyle(node), -1);
115
+ res = transformPointBox(res, options.toBox, getCachedComputedStyle(node), -1);
116
116
  }
117
117
  return res;
118
118
  }
@@ -142,15 +142,34 @@ let hash;
142
142
  let boxQuadsCache;
143
143
  /** @type { Map<string, DOMMatrix> } */
144
144
  let transformCache;
145
+ /** @type { WeakMap<Node, CSSStyleDeclaration> } */
146
+ let computedStyleCache;
145
147
  let hashId = 0;
146
148
  export function clearCache() {
147
149
  boxQuadsCache.clear();
148
150
  transformCache.clear();
151
+ computedStyleCache = new WeakMap();
149
152
  }
150
153
  export function useCache() {
151
154
  hash = new WeakMap();
152
155
  boxQuadsCache = new Map();
153
156
  transformCache = new Map();
157
+ computedStyleCache = new WeakMap();
158
+ }
159
+ /**
160
+ * @param {Element} element
161
+ * @returns {CSSStyleDeclaration}
162
+ */
163
+ function getCachedComputedStyle(element) {
164
+ if (!computedStyleCache) {
165
+ return (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
166
+ }
167
+ let style = computedStyleCache.get(element);
168
+ if (!style) {
169
+ style = (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
170
+ computedStyleCache.set(element, style);
171
+ }
172
+ return style;
154
173
  }
155
174
  /**
156
175
  * @param {Node} node
@@ -182,15 +201,15 @@ export function getBoxQuads(node, options) {
182
201
  let o = null;
183
202
  if ((node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
184
203
  if (options?.box === 'margin') {
185
- const cs = (node.ownerDocument.defaultView ?? window).getComputedStyle(node);
204
+ const cs = getCachedComputedStyle(node);
186
205
  o = [{ x: parseFloat(cs.marginLeft), y: parseFloat(cs.marginTop) }, { x: -parseFloat(cs.marginRight), y: parseFloat(cs.marginTop) }, { x: -parseFloat(cs.marginRight), y: -parseFloat(cs.marginBottom) }, { x: parseFloat(cs.marginLeft), y: -parseFloat(cs.marginBottom) }];
187
206
  }
188
207
  else if (options?.box === 'padding') {
189
- const cs = (node.ownerDocument.defaultView ?? window).getComputedStyle(node);
208
+ const cs = getCachedComputedStyle(node);
190
209
  o = [{ x: -parseFloat(cs.borderLeftWidth), y: -parseFloat(cs.borderTopWidth) }, { x: parseFloat(cs.borderRightWidth), y: -parseFloat(cs.borderTopWidth) }, { x: parseFloat(cs.borderRightWidth), y: parseFloat(cs.borderBottomWidth) }, { x: -parseFloat(cs.borderLeftWidth), y: parseFloat(cs.borderBottomWidth) }];
191
210
  }
192
211
  else if (options?.box === 'content') {
193
- const cs = (node.ownerDocument.defaultView ?? window).getComputedStyle(node);
212
+ const cs = getCachedComputedStyle(node);
194
213
  o = [{ x: -parseFloat(cs.borderLeftWidth) - parseFloat(cs.paddingLeft), y: -parseFloat(cs.borderTopWidth) - parseFloat(cs.paddingTop) }, { x: parseFloat(cs.borderRightWidth) + parseFloat(cs.paddingRight), y: -parseFloat(cs.borderTopWidth) - parseFloat(cs.paddingTop) }, { x: parseFloat(cs.borderRightWidth) + parseFloat(cs.paddingRight), y: parseFloat(cs.borderBottomWidth) + parseFloat(cs.paddingBottom) }, { x: -parseFloat(cs.borderLeftWidth) - parseFloat(cs.paddingLeft), y: parseFloat(cs.borderBottomWidth) + parseFloat(cs.paddingBottom) }];
195
214
  }
196
215
  }
@@ -268,12 +287,12 @@ export function getElementSize(node, matrix) {
268
287
  */
269
288
  function getElementOffsetsInContainer(node, includeScroll, iframes) {
270
289
  if ((node instanceof HTMLElement || node instanceof (node.ownerDocument.defaultView ?? window).HTMLElement)) {
271
- let cs = (node.ownerDocument.defaultView ?? window).getComputedStyle(node);
290
+ let cs = getCachedComputedStyle(node);
272
291
  if (cs.offsetPath && cs.offsetPath !== 'none') {
273
292
  return new DOMPoint(0, 0);
274
293
  }
275
294
  if (includeScroll) {
276
- const cs = (node.ownerDocument.defaultView ?? window).getComputedStyle(node);
295
+ const cs = getCachedComputedStyle(node);
277
296
  return new DOMPoint(node.offsetLeft - (includeScroll ? node.scrollLeft - parseFloat(cs.borderLeftWidth) : 0), node.offsetTop - (includeScroll ? node.scrollTop - parseFloat(cs.borderTopWidth) : 0));
278
297
  }
279
298
  else {
@@ -297,16 +316,16 @@ function getElementOffsetsInContainer(node, includeScroll, iframes) {
297
316
  const bb = node.getBBox();
298
317
  return new DOMPoint(bb.x, bb.y);
299
318
  }
300
- const cs = (node.ownerDocument.defaultView ?? window).getComputedStyle(node);
319
+ const cs = getCachedComputedStyle(node);
301
320
  if (cs.position === 'absolute') {
302
321
  return new DOMPoint(parseFloat(cs.left), parseFloat(cs.top));
303
322
  }
304
323
  const par = getParentElementIncludingSlots(node, iframes);
305
- const m = getResultingTransformationBetweenElementAndAllAncestors(par, document.body, iframes);
324
+ const m = getResultingTransformationBetweenElementAndAllAncestors(par, document.body, iframes).inverse();
306
325
  const r1 = node.getBoundingClientRect();
307
- const r1t = m.inverse().transformPoint(r1);
326
+ const r1t = m.transformPoint(r1);
308
327
  const r2 = par.getBoundingClientRect();
309
- const r2t = m.inverse().transformPoint(r2);
328
+ const r2t = m.transformPoint(r2);
310
329
  return new DOMPoint(r1t.x - r2t.x, r1t.y - r2t.y);
311
330
  }
312
331
  }
@@ -338,7 +357,7 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
338
357
  let originalElementAndAllParentsMultipliedMatrix = getElementCombinedTransform(actualElement, iframes);
339
358
  let perspectiveParentElement = getParentElementIncludingSlots(actualElement, iframes);
340
359
  if (perspectiveParentElement) {
341
- let s = (actualElement.ownerDocument.defaultView ?? window).getComputedStyle(perspectiveParentElement);
360
+ let s = getCachedComputedStyle(perspectiveParentElement);
342
361
  if (s.transformStyle !== 'preserve-3d') {
343
362
  projectTo2D(originalElementAndAllParentsMultipliedMatrix);
344
363
  }
@@ -347,26 +366,25 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
347
366
  while (actualElement != ancestor && actualElement != null) {
348
367
  const parentElement = getParentElementIncludingSlots(actualElement, iframes);
349
368
  if (actualElement.assignedSlot != null) {
350
- const st = (perspectiveParentElement.ownerDocument.defaultView ?? window).getComputedStyle(actualElement);
351
- if (st.position !== "static") {
352
- const mvMat = new DOMMatrix().translate(parseFloat(st.left), parseFloat(st.top));
353
- originalElementAndAllParentsMultipliedMatrix = mvMat.multiply(originalElementAndAllParentsMultipliedMatrix);
354
- }
369
+ const l = offsetTopLeftPolyfill(actualElement, 'offsetLeft');
370
+ const t = offsetTopLeftPolyfill(actualElement, 'offsetTop');
371
+ const mvMat = new DOMMatrix().translateSelf(l, t);
372
+ originalElementAndAllParentsMultipliedMatrix = mvMat.multiplySelf(originalElementAndAllParentsMultipliedMatrix);
355
373
  }
356
374
  else {
357
375
  if ((actualElement instanceof HTMLElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLElement)) {
358
376
  if (lastOffsetParent !== actualElement.offsetParent && !((actualElement instanceof HTMLSlotElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLSlotElement))) {
359
377
  const offsets = getElementOffsetsInContainer(actualElement, actualElement !== node, iframes);
360
378
  lastOffsetParent = actualElement.offsetParent;
361
- const mvMat = new DOMMatrix().translate(offsets.x, offsets.y);
362
- originalElementAndAllParentsMultipliedMatrix = mvMat.multiply(originalElementAndAllParentsMultipliedMatrix);
379
+ const mvMat = new DOMMatrix().translateSelf(offsets.x, offsets.y);
380
+ originalElementAndAllParentsMultipliedMatrix = mvMat.multiplySelf(originalElementAndAllParentsMultipliedMatrix);
363
381
  }
364
382
  }
365
383
  else {
366
384
  const offsets = getElementOffsetsInContainer(actualElement, actualElement !== node, iframes);
367
385
  lastOffsetParent = null;
368
- const mvMat = new DOMMatrix().translate(offsets.x, offsets.y);
369
- originalElementAndAllParentsMultipliedMatrix = mvMat.multiply(originalElementAndAllParentsMultipliedMatrix);
386
+ const mvMat = new DOMMatrix().translateSelf(offsets.x, offsets.y);
387
+ originalElementAndAllParentsMultipliedMatrix = mvMat.multiplySelf(originalElementAndAllParentsMultipliedMatrix);
370
388
  }
371
389
  }
372
390
  if (parentElement) {
@@ -375,7 +393,7 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
375
393
  originalElementAndAllParentsMultipliedMatrix = parentElementMatrix.multiply(originalElementAndAllParentsMultipliedMatrix);
376
394
  perspectiveParentElement = getParentElementIncludingSlots(parentElement, iframes);
377
395
  if (perspectiveParentElement) {
378
- const s = (perspectiveParentElement.ownerDocument.defaultView ?? window).getComputedStyle(perspectiveParentElement);
396
+ const s = getCachedComputedStyle(perspectiveParentElement);
379
397
  if (s.transformStyle !== 'preserve-3d') {
380
398
  projectTo2D(originalElementAndAllParentsMultipliedMatrix);
381
399
  }
@@ -423,16 +441,13 @@ export function getElementCombinedTransform(element, iframes) {
423
441
  if ((element instanceof Text || element instanceof (element.ownerDocument.defaultView ?? window).Text))
424
442
  return new DOMMatrix;
425
443
  //https://www.w3.org/TR/css-transforms-2/#ctm
426
- let s = (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
444
+ let s = getCachedComputedStyle(element);
427
445
  let m = new DOMMatrix();
428
446
  const origin = s.transformOrigin.split(' ');
429
447
  const originX = parseFloat(origin[0]);
430
448
  const originY = parseFloat(origin[1]);
431
449
  const originZ = origin[2] ? parseFloat(origin[2]) : 0;
432
450
  const mOri = new DOMMatrix().translate(originX, originY, originZ);
433
- if (s.offsetPath && s.offsetPath !== 'none') {
434
- m = m.multiply(computeOffsetTransformMatrix(element));
435
- }
436
451
  if (s.translate != 'none' && s.translate) {
437
452
  let tr = s.translate;
438
453
  if (tr.includes('%')) {
@@ -444,24 +459,27 @@ export function getElementCombinedTransform(element, iframes) {
444
459
  v[1] = (parseFloat(v[1]) * r.height / 100) + 'px';
445
460
  tr = v.join(',');
446
461
  }
447
- m = m.multiply(new DOMMatrix('translate(' + tr.replace(' ', ',') + ')'));
462
+ m.multiplySelf(new DOMMatrix('translate(' + tr.replaceAll(' ', ',') + ')'));
448
463
  }
449
464
  if (s.rotate != 'none' && s.rotate) {
450
- m = m.multiply(new DOMMatrix('rotate(' + s.rotate.replace(' ', ',') + ')'));
465
+ m.multiplySelf(new DOMMatrix('rotate(' + s.rotate.replaceAll(' ', ',') + ')'));
451
466
  }
452
467
  if (s.scale != 'none' && s.scale) {
453
- m = m.multiply(new DOMMatrix('scale(' + s.scale.replace(' ', ',') + ')'));
468
+ m.multiplySelf(new DOMMatrix('scale(' + s.scale.replaceAll(' ', ',') + ')'));
454
469
  }
455
470
  if (s.transform != 'none' && s.transform) {
456
- m = m.multiply(new DOMMatrix(s.transform));
471
+ m.multiplySelf(new DOMMatrix(s.transform));
472
+ }
473
+ m = mOri.multiply(m.multiply(mOri.inverse()));
474
+ if (s.offsetPath && s.offsetPath !== 'none') {
475
+ m.multiplySelf(computeOffsetTransformMatrix(element));
457
476
  }
458
- let res = mOri.multiply(m.multiply(mOri.inverse()));
459
477
  //@ts-ignore
460
478
  const pt = getElementPerspectiveTransform(element, iframes);
461
479
  if (pt != null) {
462
- res = pt.multiply(res);
480
+ m = pt.multiply(m);
463
481
  }
464
- return res;
482
+ return m;
465
483
  }
466
484
  /**
467
485
  * project a DOM-Matrix to 2D (from firefox matrix.h)
@@ -503,7 +521,7 @@ function getElementPerspectiveTransform(element, iframes) {
503
521
  const perspectiveNode = getParentElementIncludingSlots(element, iframes);
504
522
  if (perspectiveNode) {
505
523
  //https://drafts.csswg.org/css-transforms-2/#perspective-matrix-computation
506
- let s = (element.ownerDocument.defaultView ?? window).getComputedStyle(perspectiveNode);
524
+ let s = getCachedComputedStyle(perspectiveNode);
507
525
  if (s.perspective !== 'none') {
508
526
  let m = new DOMMatrix();
509
527
  let p = parseFloat(s.perspective);
@@ -522,11 +540,12 @@ function getElementPerspectiveTransform(element, iframes) {
522
540
  return null;
523
541
  }
524
542
  function computeOffsetTransformMatrix(elem) {
525
- const cs = (elem.ownerDocument.defaultView ?? window).getComputedStyle(elem);
543
+ const cs = getCachedComputedStyle(elem);
526
544
  const offsetPath = cs.offsetPath; // e.g. "path('M0,0 ...')"
527
545
  const offsetDistance = cs.offsetDistance; // e.g. "50%"
528
546
  const offsetRotate = cs.offsetRotate; // e.g. "auto", "45deg", "auto 30deg"
529
547
  const offsetAnchor = cs.offsetAnchor;
548
+ const transformOrigin = cs.transformOrigin;
530
549
  // Parse offset-distance (px or %)
531
550
  let distance = parseOffsetDistance(offsetDistance);
532
551
  // Compute position & tangent on path
@@ -541,21 +560,19 @@ function computeOffsetTransformMatrix(elem) {
541
560
  else {
542
561
  rotateFinal = parseFloat(offsetRotate);
543
562
  }
544
- let anchor = parseOffsetAnchor(offsetAnchor, elem);
545
- const anchorMatrix = new DOMMatrix()
546
- .translateSelf(-anchor.x, -anchor.y);
547
- let m = anchorMatrix.translateSelf(x, y);
548
- m = m.rotateSelf(rotateFinal);
563
+ const anchor = parseOffsetAnchor(offsetAnchor, transformOrigin, elem);
564
+ const anchorMatrix = new DOMMatrix().translateSelf(-anchor.x, -anchor.y);
565
+ let m = anchorMatrix.translate(x, y);
566
+ m.multiplySelf(anchorMatrix.invertSelf());
567
+ m.rotateSelf(rotateFinal);
568
+ m.translateSelf(-anchor.x, -anchor.y);
549
569
  return m;
550
570
  }
551
- function parseOffsetAnchor(str, elem) {
552
- let width = elem.offsetWidth;
553
- let height = elem.offsetHeight;
554
- //if (!(elem instanceof HTMLElement)) {
555
- // const rect = elem.getBoundingClientRect();
556
- //}
571
+ function parseOffsetAnchor(str, transformOrigin, elem) {
572
+ const width = elem.offsetWidth;
573
+ const height = elem.offsetHeight;
557
574
  if (!str || str === "auto") {
558
- return { x: width / 2, y: height / 2 };
575
+ str = transformOrigin;
559
576
  }
560
577
  const parts = str.split(/\s+/);
561
578
  if (parts.length === 1) {
@@ -773,4 +790,85 @@ function rectPath(top, left, right, bottom, t) {
773
790
  let y = bottom - dist;
774
791
  return { x: left, y, angle: 270 };
775
792
  }
793
+ //Code from: https://github.com/floating-ui/floating-ui/blob/master/packages/utils/src/dom.ts
794
+ const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
795
+ const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
796
+ const containValues = ['paint', 'layout', 'strict', 'content'];
797
+ function isElement(value) {
798
+ return value instanceof Element || value instanceof value?.ownerDocument?.defaultView?.Element;
799
+ }
800
+ /**
801
+ *
802
+ * @param {Element | CSSStyleDeclaration} elementOrCss
803
+ * @returns {boolean}
804
+ */
805
+ function isContainingBlock(elementOrCss) {
806
+ /** @type {CSSStyleDeclaration } */
807
+ //@ts-ignore
808
+ const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
809
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
810
+ // https://drafts.csswg.org/css-transforms-2/#individual-transforms
811
+ return (transformProperties.some((value) => css[value] ? css[value] !== 'none' : false) ||
812
+ (css.containerType ? css.containerType !== 'normal' : false) ||
813
+ (css.backdropFilter ? css.backdropFilter !== 'none' : false) ||
814
+ (css.filter ? css.filter !== 'none' : false) ||
815
+ willChangeValues.some((value) => (css.willChange || '').includes(value)) ||
816
+ containValues.some((value) => (css.contain || '').includes(value)));
817
+ }
818
+ //Code from: https://github.com/jcfranco/composed-offset-position/blob/main/src/index.ts
819
+ function flatTreeParent(element) {
820
+ if (element.assignedSlot)
821
+ return element.assignedSlot;
822
+ if (element.parentNode instanceof ShadowRoot)
823
+ return element.parentNode.host;
824
+ return element.parentNode;
825
+ }
826
+ function ancestorTreeScopes(element) {
827
+ const scopes = new Set();
828
+ let currentScope = element.getRootNode();
829
+ while (currentScope) {
830
+ scopes.add(currentScope);
831
+ currentScope = currentScope.parentNode
832
+ ? currentScope.parentNode.getRootNode()
833
+ : null;
834
+ }
835
+ return scopes;
836
+ }
837
+ function offsetParentPolyfill(element) {
838
+ // Do an initial walk to check for display:none ancestors.
839
+ for (let ancestor = element; ancestor; ancestor = flatTreeParent(ancestor)) {
840
+ if (!(ancestor instanceof Element))
841
+ continue;
842
+ if (getCachedComputedStyle(ancestor).display === 'none')
843
+ return null;
844
+ }
845
+ for (let ancestor = flatTreeParent(element); ancestor; ancestor = flatTreeParent(ancestor)) {
846
+ if (!(ancestor instanceof Element))
847
+ continue;
848
+ const style = getCachedComputedStyle(ancestor);
849
+ if (style.display === 'contents')
850
+ continue;
851
+ if (style.position !== 'static' || isContainingBlock(style))
852
+ return ancestor;
853
+ if (ancestor.tagName === 'BODY')
854
+ return ancestor;
855
+ }
856
+ return null;
857
+ }
858
+ /**
859
+ *
860
+ * @param {*} element
861
+ * @param {'offsetTop' | 'offsetLeft'} offsetTopOrLeft
862
+ * @returns
863
+ */
864
+ function offsetTopLeftPolyfill(element, offsetTopOrLeft) {
865
+ let value = element[offsetTopOrLeft];
866
+ let nextOffsetParent = offsetParentPolyfill(element);
867
+ const scopes = ancestorTreeScopes(element);
868
+ while (nextOffsetParent && !scopes.has(nextOffsetParent.getRootNode())) {
869
+ value -= nextOffsetParent[offsetTopOrLeft];
870
+ nextOffsetParent = offsetParentPolyfill(nextOffsetParent);
871
+ }
872
+ return value;
873
+ }
776
874
  //# sourceMappingURL=getBoxQuads.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBoxQuads.js","sourceRoot":"","sources":["../../../src/elements/helper/getBoxQuads.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getBoxQuads.js","sourceRoot":"","sources":["../../../src/elements/helper/getBoxQuads.js"],"names":[],"mappings":"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"}