@node-projects/web-component-designer 0.2.25 → 0.2.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/helper/SvgHelper.js +144 -12
- package/dist/elements/helper/SvgHelper.js.map +1 -1
- package/dist/elements/helper/getBoxQuads.js +58 -7
- package/dist/elements/helper/getBoxQuads.js.map +1 -1
- package/dist/index-min.js +15 -15
- package/dist/index-min.js.map +3 -3
- package/package.json +1 -1
|
@@ -30,13 +30,14 @@ export function svgAsString(strings, ...values) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
export function isSupportedSvgGeometryElement(element) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
element instanceof
|
|
36
|
-
element instanceof
|
|
37
|
-
element instanceof
|
|
38
|
-
element instanceof
|
|
39
|
-
element instanceof
|
|
33
|
+
const win = element.ownerDocument.defaultView ?? window;
|
|
34
|
+
return element instanceof win.SVGPathElement ||
|
|
35
|
+
element instanceof win.SVGRectElement ||
|
|
36
|
+
element instanceof win.SVGLineElement ||
|
|
37
|
+
element instanceof win.SVGCircleElement ||
|
|
38
|
+
element instanceof win.SVGEllipseElement ||
|
|
39
|
+
element instanceof win.SVGPolygonElement ||
|
|
40
|
+
element instanceof win.SVGPolylineElement;
|
|
40
41
|
}
|
|
41
42
|
export function toOverlayPointFromSvgUserSpace(element, designerCanvas, point) {
|
|
42
43
|
const transform = _getSvgOverlayTransform(element, designerCanvas);
|
|
@@ -173,7 +174,7 @@ function _createOverlayPathDataWithoutMarkers(element, designerCanvas) {
|
|
|
173
174
|
return createPathD(transformedPathData);
|
|
174
175
|
}
|
|
175
176
|
function _createMarkerOverlayPathData(element, designerCanvas) {
|
|
176
|
-
if (!(element
|
|
177
|
+
if (!_isSvgGraphicsElement(element)) {
|
|
177
178
|
return null;
|
|
178
179
|
}
|
|
179
180
|
const placements = _collectMarkerPlacements(element);
|
|
@@ -316,7 +317,7 @@ function _resolveMarkerReference(element, attributeName) {
|
|
|
316
317
|
}
|
|
317
318
|
const rootNode = element.getRootNode();
|
|
318
319
|
const marker = typeof rootNode.querySelector === 'function' ? rootNode.querySelector(url) : null;
|
|
319
|
-
return marker instanceof SVGMarkerElement ? marker : null;
|
|
320
|
+
return marker instanceof (element.ownerDocument.defaultView ?? window).SVGMarkerElement ? marker : null;
|
|
320
321
|
}
|
|
321
322
|
function _createMarkerInstanceGroup(sourceElement, placement) {
|
|
322
323
|
const marker = placement.marker;
|
|
@@ -497,21 +498,21 @@ function _fromElementReferenceBoxPoint(element, point) {
|
|
|
497
498
|
return { x: point.x + bbox.x, y: point.y + bbox.y };
|
|
498
499
|
}
|
|
499
500
|
function _getSvgGeometryBBoxOffset(element) {
|
|
500
|
-
if (!(element
|
|
501
|
+
if (!_isSvgGraphicsElement(element) || _isSvgSvgElement(element)) {
|
|
501
502
|
return { x: 0, y: 0 };
|
|
502
503
|
}
|
|
503
504
|
const bbox = element.getBBox();
|
|
504
505
|
return { x: bbox.x, y: bbox.y };
|
|
505
506
|
}
|
|
506
507
|
function _getSvgOverlayTransform(element, designerCanvas) {
|
|
507
|
-
if (!(element
|
|
508
|
+
if (!_isSvgGraphicsElement(element) || _isSvgSvgElement(element)) {
|
|
508
509
|
return null;
|
|
509
510
|
}
|
|
510
511
|
const bbox = element.getBBox();
|
|
511
512
|
if (Math.abs(bbox.width) < 1e-10 || Math.abs(bbox.height) < 1e-10) {
|
|
512
513
|
return null;
|
|
513
514
|
}
|
|
514
|
-
const quad = element
|
|
515
|
+
const quad = _getSvgGeometryBBoxQuad(element, bbox, designerCanvas);
|
|
515
516
|
if (!quad) {
|
|
516
517
|
return null;
|
|
517
518
|
}
|
|
@@ -525,6 +526,137 @@ function _getSvgOverlayTransform(element, designerCanvas) {
|
|
|
525
526
|
}
|
|
526
527
|
return { bbox, matrix, inverseMatrix };
|
|
527
528
|
}
|
|
529
|
+
function _isSvgGraphicsElement(element) {
|
|
530
|
+
return element instanceof (element.ownerDocument.defaultView ?? window).SVGGraphicsElement;
|
|
531
|
+
}
|
|
532
|
+
function _isSvgSvgElement(element) {
|
|
533
|
+
return element instanceof (element.ownerDocument.defaultView ?? window).SVGSVGElement;
|
|
534
|
+
}
|
|
535
|
+
function _getSvgGeometryBBoxQuad(element, bbox, designerCanvas) {
|
|
536
|
+
if (!_hasNon2DTransformedHtmlAncestor(element, designerCanvas.canvas, designerCanvas.iframes)) {
|
|
537
|
+
const screenCtmQuad = _getSvgGeometryBBoxQuadFromScreenCtm(element, bbox, designerCanvas);
|
|
538
|
+
if (screenCtmQuad) {
|
|
539
|
+
return screenCtmQuad;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
return _getSvgGeometryBBoxQuadFromVisualQuad(element, bbox, designerCanvas);
|
|
543
|
+
}
|
|
544
|
+
function _getSvgGeometryBBoxQuadFromVisualQuad(element, bbox, designerCanvas) {
|
|
545
|
+
const visualQuad = element.getBoxQuads({ relativeTo: designerCanvas.canvas, iframes: designerCanvas.iframes })[0];
|
|
546
|
+
if (!visualQuad) {
|
|
547
|
+
return null;
|
|
548
|
+
}
|
|
549
|
+
const visualBox = _getSvgVisualBox(element, bbox);
|
|
550
|
+
if (Math.abs(visualBox.width) < 1e-10 || Math.abs(visualBox.height) < 1e-10) {
|
|
551
|
+
return null;
|
|
552
|
+
}
|
|
553
|
+
const visualMatrix = _createProjectiveMatrixForQuad(visualQuad);
|
|
554
|
+
if (!visualMatrix) {
|
|
555
|
+
return null;
|
|
556
|
+
}
|
|
557
|
+
const mapVisualBoxPoint = (x, y) => _applyProjectiveMatrix(visualMatrix, (x - visualBox.x) / visualBox.width, (y - visualBox.y) / visualBox.height);
|
|
558
|
+
const p1 = mapVisualBoxPoint(bbox.x, bbox.y);
|
|
559
|
+
const p2 = mapVisualBoxPoint(bbox.x + bbox.width, bbox.y);
|
|
560
|
+
const p3 = mapVisualBoxPoint(bbox.x + bbox.width, bbox.y + bbox.height);
|
|
561
|
+
const p4 = mapVisualBoxPoint(bbox.x, bbox.y + bbox.height);
|
|
562
|
+
return new DOMQuad(new DOMPoint(p1.x, p1.y), new DOMPoint(p2.x, p2.y), new DOMPoint(p3.x, p3.y), new DOMPoint(p4.x, p4.y));
|
|
563
|
+
}
|
|
564
|
+
function _getSvgGeometryBBoxQuadFromScreenCtm(element, bbox, designerCanvas) {
|
|
565
|
+
const screenCtm = element.getScreenCTM();
|
|
566
|
+
const canvasQuad = designerCanvas.canvas.getBoxQuads({ relativeTo: designerCanvas.canvas.ownerDocument.documentElement })[0];
|
|
567
|
+
if (!screenCtm || !canvasQuad) {
|
|
568
|
+
return null;
|
|
569
|
+
}
|
|
570
|
+
const canvasMatrix = _createProjectiveMatrixForQuad(canvasQuad);
|
|
571
|
+
const inverseCanvasMatrix = canvasMatrix ? _invertProjectiveMatrix(canvasMatrix) : null;
|
|
572
|
+
if (!inverseCanvasMatrix) {
|
|
573
|
+
return null;
|
|
574
|
+
}
|
|
575
|
+
const convertPoint = (point) => {
|
|
576
|
+
const viewportPoint = _mapSvgScreenPointToCanvasDocument(point.matrixTransform(screenCtm), element, designerCanvas.canvas);
|
|
577
|
+
const normalizedCanvasPoint = _applyProjectiveMatrix(inverseCanvasMatrix, viewportPoint.x, viewportPoint.y);
|
|
578
|
+
return new DOMPoint(normalizedCanvasPoint.x * designerCanvas.canvas.offsetWidth, normalizedCanvasPoint.y * designerCanvas.canvas.offsetHeight);
|
|
579
|
+
};
|
|
580
|
+
return new DOMQuad(convertPoint(new DOMPoint(bbox.x, bbox.y)), convertPoint(new DOMPoint(bbox.x + bbox.width, bbox.y)), convertPoint(new DOMPoint(bbox.x + bbox.width, bbox.y + bbox.height)), convertPoint(new DOMPoint(bbox.x, bbox.y + bbox.height)));
|
|
581
|
+
}
|
|
582
|
+
function _mapSvgScreenPointToCanvasDocument(point, element, canvas) {
|
|
583
|
+
let result = new DOMPoint(point.x, point.y);
|
|
584
|
+
if (element.ownerDocument === canvas.ownerDocument) {
|
|
585
|
+
return result;
|
|
586
|
+
}
|
|
587
|
+
let frameElement = element.ownerDocument.defaultView?.frameElement;
|
|
588
|
+
while (frameElement) {
|
|
589
|
+
const frameRect = frameElement.getBoundingClientRect();
|
|
590
|
+
result = new DOMPoint(result.x + frameRect.left, result.y + frameRect.top);
|
|
591
|
+
if (frameElement.ownerDocument === canvas.ownerDocument) {
|
|
592
|
+
break;
|
|
593
|
+
}
|
|
594
|
+
frameElement = frameElement.ownerDocument.defaultView?.frameElement;
|
|
595
|
+
}
|
|
596
|
+
return result;
|
|
597
|
+
}
|
|
598
|
+
function _hasNon2DTransformedHtmlAncestor(element, relativeTo, iframes) {
|
|
599
|
+
const win = element.ownerDocument.defaultView ?? window;
|
|
600
|
+
let current = element.parentElement;
|
|
601
|
+
while (current && current !== relativeTo && current !== element.ownerDocument.documentElement) {
|
|
602
|
+
if (current instanceof win.HTMLElement && _hasNon2DTransform(current)) {
|
|
603
|
+
return true;
|
|
604
|
+
}
|
|
605
|
+
current = current.parentElement;
|
|
606
|
+
}
|
|
607
|
+
if (element.ownerDocument !== relativeTo.ownerDocument) {
|
|
608
|
+
const frameElement = iframes?.find(frame => frame?.contentDocument === element.ownerDocument)
|
|
609
|
+
?? element.ownerDocument.defaultView?.frameElement;
|
|
610
|
+
current = frameElement;
|
|
611
|
+
while (current && current !== relativeTo && current !== relativeTo.ownerDocument.documentElement) {
|
|
612
|
+
if (current instanceof relativeTo.ownerDocument.defaultView.HTMLElement && _hasNon2DTransform(current)) {
|
|
613
|
+
return true;
|
|
614
|
+
}
|
|
615
|
+
current = current.parentElement;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
return false;
|
|
619
|
+
}
|
|
620
|
+
function _hasNon2DTransform(element) {
|
|
621
|
+
const style = (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
|
|
622
|
+
return style.perspective !== 'none'
|
|
623
|
+
|| style.transform.startsWith('matrix3d(')
|
|
624
|
+
|| style.transformStyle === 'preserve-3d';
|
|
625
|
+
}
|
|
626
|
+
function _getSvgVisualBox(element, bbox) {
|
|
627
|
+
const svgStyle = (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
|
|
628
|
+
const strokeWidth = svgStyle.stroke !== 'none' ? parseFloat(svgStyle.strokeWidth) || 0 : 0;
|
|
629
|
+
if (strokeWidth <= 0) {
|
|
630
|
+
return bbox;
|
|
631
|
+
}
|
|
632
|
+
const strokeInflation = _getSvgStrokeInflation(element, strokeWidth);
|
|
633
|
+
return new DOMRect(bbox.x - strokeInflation.left, bbox.y - strokeInflation.top, bbox.width + strokeInflation.left + strokeInflation.right, bbox.height + strokeInflation.top + strokeInflation.bottom);
|
|
634
|
+
}
|
|
635
|
+
function _getSvgStrokeInflation(element, strokeWidth) {
|
|
636
|
+
const win = element.ownerDocument.defaultView ?? window;
|
|
637
|
+
const halfStrokeWidth = strokeWidth / 2;
|
|
638
|
+
if (element instanceof win.SVGLineElement) {
|
|
639
|
+
const x1 = element.x1.baseVal.value;
|
|
640
|
+
const y1 = element.y1.baseVal.value;
|
|
641
|
+
const x2 = element.x2.baseVal.value;
|
|
642
|
+
const y2 = element.y2.baseVal.value;
|
|
643
|
+
const dx = x2 - x1;
|
|
644
|
+
const dy = y2 - y1;
|
|
645
|
+
const length = Math.hypot(dx, dy);
|
|
646
|
+
if (length > 1e-10) {
|
|
647
|
+
let inflateX = halfStrokeWidth * Math.abs(dy) / length;
|
|
648
|
+
let inflateY = halfStrokeWidth * Math.abs(dx) / length;
|
|
649
|
+
const lineCap = win.getComputedStyle(element).strokeLinecap;
|
|
650
|
+
if (lineCap === 'round' || lineCap === 'square') {
|
|
651
|
+
inflateX += halfStrokeWidth * Math.abs(dx) / length;
|
|
652
|
+
inflateY += halfStrokeWidth * Math.abs(dy) / length;
|
|
653
|
+
}
|
|
654
|
+
return { left: inflateX, right: inflateX, top: inflateY, bottom: inflateY };
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
const genericInflation = strokeWidth * 2;
|
|
658
|
+
return { left: genericInflation, right: genericInflation, top: genericInflation, bottom: genericInflation };
|
|
659
|
+
}
|
|
528
660
|
function _createProjectiveMatrixForQuad(quad) {
|
|
529
661
|
const x1 = quad.p1.x;
|
|
530
662
|
const y1 = quad.p1.y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgHelper.js","sourceRoot":"","sources":["../../../src/elements/helper/SvgHelper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SvgHelper.js","sourceRoot":"","sources":["../../../src/elements/helper/SvgHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -303,6 +303,8 @@ function getElementTransformWithZoom(element, iframes, includeZoom = true) {
|
|
|
303
303
|
export function getBoxQuads(node, options) {
|
|
304
304
|
const defaultRelativeTo = node.ownerDocument.documentElement ?? node.ownerDocument.body;
|
|
305
305
|
const relativeTo = options?.relativeTo ?? defaultRelativeTo;
|
|
306
|
+
const viewportRoot = node.ownerDocument.documentElement ?? node.ownerDocument.body;
|
|
307
|
+
const resolveFixedThroughViewport = relativeTo !== viewportRoot && shouldResolveFixedPositionThroughViewport(node, relativeTo, options?.iframes);
|
|
306
308
|
let key;
|
|
307
309
|
if (boxQuadsCache) {
|
|
308
310
|
let i1 = hash.get(node);
|
|
@@ -317,7 +319,7 @@ export function getBoxQuads(node, options) {
|
|
|
317
319
|
return q;
|
|
318
320
|
}
|
|
319
321
|
/** @type {DOMMatrix} */
|
|
320
|
-
let originalElementAndAllParentsMultipliedMatrix = getResultingTransformationBetweenElementAndAllAncestors(node, relativeTo, options?.iframes);
|
|
322
|
+
let originalElementAndAllParentsMultipliedMatrix = getResultingTransformationBetweenElementAndAllAncestors(node, resolveFixedThroughViewport ? viewportRoot : relativeTo, options?.iframes);
|
|
321
323
|
// FIX 13: Cache cross-realm constructors once per call.
|
|
322
324
|
const win = node.ownerDocument.defaultView ?? window;
|
|
323
325
|
const _Text = win.Text;
|
|
@@ -368,7 +370,7 @@ export function getBoxQuads(node, options) {
|
|
|
368
370
|
// local dimensions via the 2x2 AABB system, then apply the parent's
|
|
369
371
|
// accumulated matrix to build proper (rotated) quads in relativeTo-space.
|
|
370
372
|
const parent = getParentElementIncludingSlots(node, options?.iframes);
|
|
371
|
-
const M_parent = getResultingTransformationBetweenElementAndAllAncestors(parent, relativeTo, options?.iframes);
|
|
373
|
+
const M_parent = getResultingTransformationBetweenElementAndAllAncestors(parent, resolveFixedThroughViewport ? viewportRoot : relativeTo, options?.iframes);
|
|
372
374
|
const parentCss = getElementCombinedTransform(parent, options?.iframes);
|
|
373
375
|
const pr = parent.getBoundingClientRect();
|
|
374
376
|
const pa = parentCss.a, pb = parentCss.b, pc = parentCss.c, pd = parentCss.d;
|
|
@@ -416,7 +418,7 @@ export function getBoxQuads(node, options) {
|
|
|
416
418
|
// Fragment top-left in parent-local, then transform all 4 corners via M_parent
|
|
417
419
|
const lx = lcx - tw / 2, ly = lcy - th / 2;
|
|
418
420
|
const quad = new DOMQuad(M_parent.transformPoint(new DOMPoint(lx, ly)), M_parent.transformPoint(new DOMPoint(lx + tw, ly)), M_parent.transformPoint(new DOMPoint(lx + tw, ly + th)), M_parent.transformPoint(new DOMPoint(lx, ly + th)));
|
|
419
|
-
quads.push(
|
|
421
|
+
quads.push(finishQuadRelativeToTarget(quad, node, relativeTo, options?.iframes, resolveFixedThroughViewport, options?.box));
|
|
420
422
|
}
|
|
421
423
|
if (quads.length > 0) {
|
|
422
424
|
if (boxQuadsCache)
|
|
@@ -454,7 +456,7 @@ export function getBoxQuads(node, options) {
|
|
|
454
456
|
tPoints[i] = as2DPoint(tPoints[i]);
|
|
455
457
|
}
|
|
456
458
|
}
|
|
457
|
-
const tQuad = [
|
|
459
|
+
const tQuad = [finishQuadRelativeToTarget(new DOMQuad(tPoints[0], tPoints[1], tPoints[2], tPoints[3]), node, relativeTo, options?.iframes, resolveFixedThroughViewport, options?.box)];
|
|
458
460
|
if (boxQuadsCache)
|
|
459
461
|
boxQuadsCache.set(key, tQuad);
|
|
460
462
|
return tQuad;
|
|
@@ -500,7 +502,7 @@ export function getBoxQuads(node, options) {
|
|
|
500
502
|
points[i] = as2DPoint(points[i]);
|
|
501
503
|
}
|
|
502
504
|
}
|
|
503
|
-
const svgQuad = [
|
|
505
|
+
const svgQuad = [finishQuadRelativeToTarget(new DOMQuad(points[0], points[1], points[2], points[3]), node, relativeTo, options?.iframes, resolveFixedThroughViewport, options?.box)];
|
|
504
506
|
if (boxQuadsCache)
|
|
505
507
|
boxQuadsCache.set(key, svgQuad);
|
|
506
508
|
return svgQuad;
|
|
@@ -594,7 +596,7 @@ export function getBoxQuads(node, options) {
|
|
|
594
596
|
points[i] = as2DPoint(points[i]);
|
|
595
597
|
}
|
|
596
598
|
}
|
|
597
|
-
const quad = [
|
|
599
|
+
const quad = [finishQuadRelativeToTarget(new DOMQuad(points[0], points[1], points[2], points[3]), node, relativeTo, options?.iframes, resolveFixedThroughViewport, options?.box)];
|
|
598
600
|
if (boxQuadsCache)
|
|
599
601
|
boxQuadsCache.set(key, quad);
|
|
600
602
|
return quad;
|
|
@@ -620,11 +622,37 @@ export function getBoxQuads(node, options) {
|
|
|
620
622
|
points[i] = as2DPoint(points[i]);
|
|
621
623
|
}
|
|
622
624
|
}
|
|
623
|
-
const quad = [
|
|
625
|
+
const quad = [finishQuadRelativeToTarget(new DOMQuad(points[0], points[1], points[2], points[3]), node, relativeTo, options?.iframes, resolveFixedThroughViewport, options?.box)];
|
|
624
626
|
if (boxQuadsCache)
|
|
625
627
|
boxQuadsCache.set(key, quad);
|
|
626
628
|
return quad;
|
|
627
629
|
}
|
|
630
|
+
function finishQuadRelativeToTarget(quad, node, relativeTo, iframes, resolveFixedThroughViewport, box) {
|
|
631
|
+
if (resolveFixedThroughViewport) {
|
|
632
|
+
quad = alignViewportBorderQuadToRenderedBox(quad, node, box);
|
|
633
|
+
return convertViewportQuadToRelativeNode(quad, node, relativeTo, iframes);
|
|
634
|
+
}
|
|
635
|
+
return toViewportRelativeDocumentElementQuad(quad, node, relativeTo, iframes);
|
|
636
|
+
}
|
|
637
|
+
function alignViewportBorderQuadToRenderedBox(quad, node, box) {
|
|
638
|
+
if (box && box !== 'border') {
|
|
639
|
+
return quad;
|
|
640
|
+
}
|
|
641
|
+
const win = node.ownerDocument.defaultView ?? window;
|
|
642
|
+
if (!(node instanceof win.Element)) {
|
|
643
|
+
return quad;
|
|
644
|
+
}
|
|
645
|
+
const rect = node.getBoundingClientRect();
|
|
646
|
+
const left = Math.min(quad.p1.x, quad.p2.x, quad.p3.x, quad.p4.x);
|
|
647
|
+
const top = Math.min(quad.p1.y, quad.p2.y, quad.p3.y, quad.p4.y);
|
|
648
|
+
const dx = rect.left - left;
|
|
649
|
+
const dy = rect.top - top;
|
|
650
|
+
if (Math.abs(dx) < 1e-10 && Math.abs(dy) < 1e-10) {
|
|
651
|
+
return quad;
|
|
652
|
+
}
|
|
653
|
+
const translate = (point) => new DOMPoint(point.x + dx, point.y + dy, point.z, point.w);
|
|
654
|
+
return new DOMQuad(translate(quad.p1), translate(quad.p2), translate(quad.p3), translate(quad.p4));
|
|
655
|
+
}
|
|
628
656
|
function convertViewportQuadToRelativeNode(quad, node, relativeTo, iframes) {
|
|
629
657
|
const viewportRoot = node.ownerDocument.documentElement ?? node.ownerDocument.body;
|
|
630
658
|
if (relativeTo === viewportRoot) {
|
|
@@ -803,6 +831,29 @@ function isViewportFixedAnchoredNode(node, iframes) {
|
|
|
803
831
|
}
|
|
804
832
|
return false;
|
|
805
833
|
}
|
|
834
|
+
function shouldResolveFixedPositionThroughViewport(node, relativeTo, iframes) {
|
|
835
|
+
const win = node.ownerDocument.defaultView ?? window;
|
|
836
|
+
let element = null;
|
|
837
|
+
if (node instanceof win.Text) {
|
|
838
|
+
element = getParentElementIncludingSlots(node, iframes);
|
|
839
|
+
}
|
|
840
|
+
else if (node instanceof win.Element) {
|
|
841
|
+
element = node;
|
|
842
|
+
}
|
|
843
|
+
while (element && element !== node.ownerDocument.documentElement) {
|
|
844
|
+
const cs = getCachedComputedStyle(element);
|
|
845
|
+
if (cs.position === 'fixed') {
|
|
846
|
+
const fixedContainer = getNearestFixedContainingBlock(element, iframes);
|
|
847
|
+
return fixedContainer == null
|
|
848
|
+
|| (fixedContainer !== relativeTo && !isFlatTreeInclusiveAncestor(relativeTo, fixedContainer));
|
|
849
|
+
}
|
|
850
|
+
if (element === relativeTo) {
|
|
851
|
+
break;
|
|
852
|
+
}
|
|
853
|
+
element = getParentElementIncludingSlots(element, iframes);
|
|
854
|
+
}
|
|
855
|
+
return false;
|
|
856
|
+
}
|
|
806
857
|
/**
|
|
807
858
|
* Compute width/height for a Text node given an already-fetched bounding rect.
|
|
808
859
|
* Extracted from getElementSize so getBoxQuads (FIX 7) can reuse the Range it
|