@node-projects/web-component-designer 0.2.17 → 0.2.19

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 (77) hide show
  1. package/dist/elements/documentContainer.d.ts +4 -1
  2. package/dist/elements/documentContainer.js +23 -7
  3. package/dist/elements/documentContainer.js.map +1 -1
  4. package/dist/elements/helper/getBoxQuads.js +125 -6
  5. package/dist/elements/helper/getBoxQuads.js.map +1 -1
  6. package/dist/elements/item/DesignItem.d.ts +1 -1
  7. package/dist/elements/services/DefaultServiceBootstrap.js +5 -0
  8. package/dist/elements/services/DefaultServiceBootstrap.js.map +1 -1
  9. package/dist/elements/services/ServiceContainer.d.ts +2 -0
  10. package/dist/elements/services/ServiceContainer.js +1 -0
  11. package/dist/elements/services/ServiceContainer.js.map +1 -1
  12. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.d.ts +10 -0
  13. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js +47 -0
  14. package/dist/elements/services/designItemDocumentPositionService/DesignItemDocumentPositionService.js.map +1 -1
  15. package/dist/elements/services/designItemDocumentPositionService/IDesignItemDocumentPositionService.d.ts +7 -0
  16. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +6 -1
  17. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js.map +1 -1
  18. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +3 -1
  19. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +40 -5
  20. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js.map +1 -1
  21. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +3 -1
  22. package/dist/elements/services/htmlWriterService/HtmlWriterService.js.map +1 -1
  23. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +2 -0
  24. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +24 -0
  25. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js.map +1 -1
  26. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +3 -0
  27. package/dist/elements/services/selectionService/ISelectionRefreshEvent.d.ts +2 -0
  28. package/dist/elements/services/selectionService/ISelectionService.d.ts +4 -1
  29. package/dist/elements/services/selectionService/SelectionService.d.ts +7 -2
  30. package/dist/elements/services/selectionService/SelectionService.js +28 -6
  31. package/dist/elements/services/selectionService/SelectionService.js.map +1 -1
  32. package/dist/elements/services/sourceMapService/ISourceMapProvider.d.ts +15 -0
  33. package/dist/elements/services/sourceMapService/ISourceMapProvider.js +2 -0
  34. package/dist/elements/services/sourceMapService/ISourceMapProvider.js.map +1 -0
  35. package/dist/elements/services/sourceMapService/ISourcePart.d.ts +16 -0
  36. package/dist/elements/services/sourceMapService/ISourcePart.js +2 -0
  37. package/dist/elements/services/sourceMapService/ISourcePart.js.map +1 -0
  38. package/dist/elements/services/sourceMapService/SvgPathDataSourceMap.d.ts +8 -0
  39. package/dist/elements/services/sourceMapService/SvgPathDataSourceMap.js +120 -0
  40. package/dist/elements/services/sourceMapService/SvgPathDataSourceMap.js.map +1 -0
  41. package/dist/elements/services/sourceMapService/SvgPathSourceMapProvider.d.ts +7 -0
  42. package/dist/elements/services/sourceMapService/SvgPathSourceMapProvider.js +29 -0
  43. package/dist/elements/services/sourceMapService/SvgPathSourceMapProvider.js.map +1 -0
  44. package/dist/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.d.ts +8 -0
  45. package/dist/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.js +54 -0
  46. package/dist/elements/widgets/designerView/extensions/contextMenu/ToolWindowsContextMenu.js.map +1 -0
  47. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.d.ts +5 -0
  48. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js +63 -4
  49. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js.map +1 -1
  50. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js +5 -0
  51. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js.map +1 -1
  52. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +7 -1
  53. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js.map +1 -1
  54. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.d.ts +82 -0
  55. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.js +1260 -0
  56. package/dist/elements/widgets/designerView/tools/toolBar/popups/BorderRadiusEditorWindow.js.map +1 -0
  57. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.d.ts +38 -0
  58. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.js +518 -0
  59. package/dist/elements/widgets/designerView/tools/toolBar/popups/BoxShadowEditorWindow.js.map +1 -0
  60. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.d.ts +39 -0
  61. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.js +181 -0
  62. package/dist/elements/widgets/designerView/tools/toolBar/popups/DraggableToolWindow.js.map +1 -0
  63. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.d.ts +53 -0
  64. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.js +753 -0
  65. package/dist/elements/widgets/designerView/tools/toolBar/popups/GradientEditorWindow.js.map +1 -0
  66. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.d.ts +36 -0
  67. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.js +449 -0
  68. package/dist/elements/widgets/designerView/tools/toolBar/popups/TextShadowEditorWindow.js.map +1 -0
  69. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.d.ts +8 -6
  70. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +56 -72
  71. package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js.map +1 -1
  72. package/dist/index-min.js +544 -7
  73. package/dist/index-min.js.map +4 -4
  74. package/dist/index.d.ts +10 -0
  75. package/dist/index.js +8 -0
  76. package/dist/index.js.map +1 -1
  77. package/package.json +1 -1
@@ -8,6 +8,7 @@ import { IUiCommandHandler } from '../commandHandling/IUiCommandHandler.js';
8
8
  import { IUiCommand } from '../commandHandling/IUiCommand.js';
9
9
  import { IDisposable } from '../interfaces/IDisposable.js';
10
10
  import { ISelectionChangedEvent } from "./services/selectionService/ISelectionChangedEvent.js";
11
+ import { ISelectionRefreshEvent } from './services/selectionService/ISelectionRefreshEvent.js';
11
12
  import { IStylesheet } from "./services/stylesheetService/IStylesheetService.js";
12
13
  export declare class DocumentContainer extends BaseCustomWebComponentLazyAppend implements IUiCommandHandler, IDisposable {
13
14
  designerView: DesignerView;
@@ -45,6 +46,7 @@ export declare class DocumentContainer extends BaseCustomWebComponentLazyAppend
45
46
  private _content;
46
47
  private _tabControl;
47
48
  private _selectionPosition;
49
+ private _lastCodeSelectionKey;
48
50
  private _splitDiv;
49
51
  private _designerDiv;
50
52
  private _codeDiv;
@@ -56,7 +58,7 @@ export declare class DocumentContainer extends BaseCustomWebComponentLazyAppend
56
58
  refreshInSplitView(): Promise<void>;
57
59
  get currentView(): 'designer' | 'split' | 'code' | 'preview';
58
60
  set currentView(view: 'designer' | 'split' | 'code' | 'preview');
59
- designerSelectionChanged(e: ISelectionChangedEvent): void;
61
+ designerSelectionChanged(e: ISelectionChangedEvent | ISelectionRefreshEvent): void;
60
62
  designerContentChanged(): void;
61
63
  dispose(): void;
62
64
  executeCommand(command: IUiCommand): void;
@@ -66,5 +68,6 @@ export declare class DocumentContainer extends BaseCustomWebComponentLazyAppend
66
68
  get content(): string;
67
69
  ready(): void;
68
70
  private updateDesignerHtml;
71
+ private setCodeViewSelection;
69
72
  get instanceServiceContainer(): InstanceServiceContainer;
70
73
  }
@@ -71,6 +71,7 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
71
71
  _content = '';
72
72
  _tabControl;
73
73
  _selectionPosition;
74
+ _lastCodeSelectionKey;
74
75
  _splitDiv;
75
76
  _designerDiv;
76
77
  _codeDiv;
@@ -109,6 +110,7 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
109
110
  this.designerView.initialize(this._serviceContainer);
110
111
  this.designerView.instanceServiceContainer.documentContainer = this;
111
112
  this.designerView.instanceServiceContainer.selectionService.onSelectionChanged.on(e => this.designerSelectionChanged(e));
113
+ this.designerView.instanceServiceContainer.selectionService.onSelectionRefresh.on(e => this.designerSelectionChanged(e));
112
114
  this.designerView.instanceServiceContainer.onContentChanged.on(() => this.designerContentChanged());
113
115
  this.codeView = new serviceContainer.config.codeViewWidget();
114
116
  this.codeView.slot = 'bottom';
@@ -176,9 +178,10 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
176
178
  let primarySelection = this.instanceServiceContainer.selectionService.primarySelection;
177
179
  if (primarySelection) {
178
180
  if (this.designerView.instanceServiceContainer.designItemDocumentPositionService) {
179
- this._selectionPosition = this.designerView.instanceServiceContainer.designItemDocumentPositionService.getPosition(primarySelection);
181
+ this._selectionPosition = this.instanceServiceContainer.selectionService.selectedPart?.textRange
182
+ ?? this.designerView.instanceServiceContainer.designItemDocumentPositionService.getPosition(primarySelection);
180
183
  if (this._selectionPosition)
181
- this.codeView.setSelection(this._selectionPosition);
184
+ this.setCodeViewSelection(this._selectionPosition);
182
185
  this._selectionPosition = null;
183
186
  }
184
187
  }
@@ -193,11 +196,13 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
193
196
  let primarySelection = this.instanceServiceContainer.selectionService.primarySelection;
194
197
  this._content = this.designerView.getDesignerHTML();
195
198
  this.codeView.update(this._content, this.designerView.instanceServiceContainer);
199
+ this._lastCodeSelectionKey = null;
196
200
  if (primarySelection) {
197
201
  if (this.designerView.instanceServiceContainer.designItemDocumentPositionService) {
198
- this._selectionPosition = this.designerView.instanceServiceContainer.designItemDocumentPositionService.getPosition(primarySelection);
202
+ this._selectionPosition = this.instanceServiceContainer.selectionService.selectedPart?.textRange
203
+ ?? this.designerView.instanceServiceContainer.designItemDocumentPositionService.getPosition(primarySelection);
199
204
  if (this._selectionPosition)
200
- this.codeView.setSelection(this._selectionPosition);
205
+ this.setCodeViewSelection(this._selectionPosition);
201
206
  this._selectionPosition = null;
202
207
  }
203
208
  }
@@ -268,7 +273,8 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
268
273
  let primarySelection = this.instanceServiceContainer.selectionService.primarySelection;
269
274
  this._content = this.designerView.getDesignerHTML();
270
275
  if (this.designerView.instanceServiceContainer.designItemDocumentPositionService) {
271
- this._selectionPosition = this.designerView.instanceServiceContainer.designItemDocumentPositionService.getPosition(primarySelection);
276
+ this._selectionPosition = this.instanceServiceContainer.selectionService.selectedPart?.textRange
277
+ ?? this.designerView.instanceServiceContainer.designItemDocumentPositionService.getPosition(primarySelection);
272
278
  }
273
279
  }
274
280
  else if (i.oldIndex === tabIndex.code) {
@@ -286,11 +292,12 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
286
292
  this.updateDesignerHtml();
287
293
  if (i.newIndex === tabIndex.code || i.newIndex === tabIndex.split) {
288
294
  this.codeView.update(this._content, this.designerView.instanceServiceContainer);
295
+ this._lastCodeSelectionKey = null;
289
296
  if (this._selectionPosition) {
290
- this.codeView.setSelection(this._selectionPosition);
297
+ this.setCodeViewSelection(this._selectionPosition);
291
298
  sleep(20).then(x => {
292
299
  if (this._selectionPosition)
293
- this.codeView.setSelection(this._selectionPosition);
300
+ this.setCodeViewSelection(this._selectionPosition);
294
301
  this._selectionPosition = null;
295
302
  });
296
303
  }
@@ -333,6 +340,15 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
333
340
  }
334
341
  }
335
342
  }
343
+ setCodeViewSelection(position) {
344
+ if (!position)
345
+ return;
346
+ const key = `${position.start}:${position.length}`;
347
+ if (this._lastCodeSelectionKey === key)
348
+ return;
349
+ this._lastCodeSelectionKey = key;
350
+ this.codeView.setSelection(position);
351
+ }
336
352
  get instanceServiceContainer() {
337
353
  return this.designerView.instanceServiceContainer;
338
354
  }
@@ -1 +1 @@
1
- {"version":3,"file":"documentContainer.js","sourceRoot":"","sources":["../../src/elements/documentContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentContainer.js","sourceRoot":"","sources":["../../src/elements/documentContainer.ts"],"names":[],"mappings":"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"}
@@ -321,6 +321,8 @@ export function getBoxQuads(node, options) {
321
321
  // FIX 13: Cache cross-realm constructors once per call.
322
322
  const win = node.ownerDocument.defaultView ?? window;
323
323
  const _Text = win.Text;
324
+ const _SVGGraphicsElement = win.SVGGraphicsElement;
325
+ const _SVGSVGElement = win.SVGSVGElement;
324
326
  // For text nodes, check for multiple fragments (multi-column layout, line-wrapping).
325
327
  // getClientRects() returns one rect per line-box fragment; getBoundingClientRect()
326
328
  // only returns the union AABB, so without this we'd always get one quad.
@@ -453,6 +455,46 @@ export function getBoxQuads(node, options) {
453
455
  boxQuadsCache.set(key, tQuad);
454
456
  return tQuad;
455
457
  }
458
+ if ((node instanceof SVGGraphicsElement || node instanceof _SVGGraphicsElement)
459
+ && !((node instanceof SVGSVGElement || node instanceof _SVGSVGElement))) {
460
+ const canUseViewportSvgRect = originalElementAndAllParentsMultipliedMatrix.is2D
461
+ && Math.abs(originalElementAndAllParentsMultipliedMatrix.b) < 1e-10
462
+ && Math.abs(originalElementAndAllParentsMultipliedMatrix.c) < 1e-10;
463
+ if (canUseViewportSvgRect) {
464
+ const viewportRoot = node.ownerDocument.documentElement ?? node.ownerDocument.body;
465
+ let rect = node.getBoundingClientRect();
466
+ const bbox = node.getBBox();
467
+ const svgStyle = getCachedComputedStyle(node);
468
+ const strokeWidth = svgStyle.stroke !== 'none' ? parseFloat(svgStyle.strokeWidth) || 0 : 0;
469
+ const needsStrokeInflation = strokeWidth > 0
470
+ && Math.abs(rect.width - bbox.width) < 0.5
471
+ && Math.abs(rect.height - bbox.height) < 0.5
472
+ && node.ownerSVGElement;
473
+ if (needsStrokeInflation) {
474
+ const strokeInflation = getSvgStrokeInflation(node, bbox, strokeWidth);
475
+ const scaleX = getSvgBBoxScale(rect.width, bbox.width, rect.height, bbox.height);
476
+ const scaleY = getSvgBBoxScale(rect.height, bbox.height, rect.width, bbox.width);
477
+ rect = new DOMRect(rect.x - strokeInflation.left * scaleX, rect.y - strokeInflation.top * scaleY, rect.width + (strokeInflation.left + strokeInflation.right) * scaleX, rect.height + (strokeInflation.top + strokeInflation.bottom) * scaleY);
478
+ }
479
+ let svgQuad;
480
+ if (relativeTo === node.ownerDocument.body || relativeTo === node.ownerDocument.documentElement) {
481
+ const relativeRect = relativeTo.getBoundingClientRect();
482
+ const relativeX = rect.x - relativeRect.x + relativeTo.scrollLeft;
483
+ const relativeY = rect.y - relativeRect.y + relativeTo.scrollTop;
484
+ svgQuad = [new DOMQuad(new DOMPoint(relativeX, relativeY), new DOMPoint(relativeX + rect.width, relativeY), new DOMPoint(relativeX + rect.width, relativeY + rect.height), new DOMPoint(relativeX, relativeY + rect.height))];
485
+ }
486
+ else {
487
+ const viewportRootRect = viewportRoot?.getBoundingClientRect();
488
+ const rectInViewportRoot = new DOMRect(rect.x - (viewportRootRect?.x ?? 0), rect.y - (viewportRootRect?.y ?? 0), rect.width, rect.height);
489
+ svgQuad = [convertRectFromNode(relativeTo, rectInViewportRoot, viewportRoot, {
490
+ iframes: options?.iframes,
491
+ })];
492
+ }
493
+ if (boxQuadsCache)
494
+ boxQuadsCache.set(key, svgQuad);
495
+ return svgQuad;
496
+ }
497
+ }
456
498
  let { width, height } = getElementSize(node, originalElementAndAllParentsMultipliedMatrix);
457
499
  // FIX 13: cache cross-realm Element constructor.
458
500
  const _Element = win.Element;
@@ -649,6 +691,39 @@ export function getElementSize(node, matrix) {
649
691
  }
650
692
  return { width, height };
651
693
  }
694
+ function getSvgBBoxScale(primaryRectSize, primaryBBoxSize, fallbackRectSize, fallbackBBoxSize) {
695
+ if (Math.abs(primaryBBoxSize) > 1e-10) {
696
+ return primaryRectSize / primaryBBoxSize;
697
+ }
698
+ if (Math.abs(fallbackBBoxSize) > 1e-10) {
699
+ return fallbackRectSize / fallbackBBoxSize;
700
+ }
701
+ return 1;
702
+ }
703
+ function getSvgStrokeInflation(node, bbox, strokeWidth) {
704
+ const halfStrokeWidth = strokeWidth / 2;
705
+ if ((node instanceof SVGLineElement || node instanceof (node.ownerDocument.defaultView ?? window).SVGLineElement)) {
706
+ const x1 = node.x1.baseVal.value;
707
+ const y1 = node.y1.baseVal.value;
708
+ const x2 = node.x2.baseVal.value;
709
+ const y2 = node.y2.baseVal.value;
710
+ const dx = x2 - x1;
711
+ const dy = y2 - y1;
712
+ const length = Math.hypot(dx, dy);
713
+ if (length > 1e-10) {
714
+ let inflateX = halfStrokeWidth * Math.abs(dy) / length;
715
+ let inflateY = halfStrokeWidth * Math.abs(dx) / length;
716
+ const lineCap = getCachedComputedStyle(node).strokeLinecap;
717
+ if (lineCap === 'round' || lineCap === 'square') {
718
+ inflateX += halfStrokeWidth * Math.abs(dx) / length;
719
+ inflateY += halfStrokeWidth * Math.abs(dy) / length;
720
+ }
721
+ return { left: inflateX, right: inflateX, top: inflateY, bottom: inflateY };
722
+ }
723
+ }
724
+ const genericInflation = strokeWidth * 2;
725
+ return { left: genericInflation, right: genericInflation, top: genericInflation, bottom: genericInflation };
726
+ }
652
727
  /**
653
728
  * @param {Node} node
654
729
  * @param {boolean} includeScroll
@@ -665,14 +740,16 @@ function getElementOffsetsInContainer(node, includeScroll, iframes) {
665
740
  }
666
741
  const cs = getCachedComputedStyle(node);
667
742
  if (cs.position === 'fixed') {
668
- const par = getParentElementIncludingSlots(node, iframes);
669
- if (!par) {
670
- return new DOMPoint(node.offsetLeft, node.offsetTop);
743
+ const fixedContainer = getNearestFixedContainingBlock(node, iframes);
744
+ if (!fixedContainer) {
745
+ const left = cs.left && cs.left !== 'auto' ? parseFloat(cs.left) : node.offsetLeft;
746
+ const top = cs.top && cs.top !== 'auto' ? parseFloat(cs.top) : node.offsetTop;
747
+ return new DOMPoint(left, top);
671
748
  }
672
- const m = getResultingTransformationBetweenElementAndAllAncestors(par, node.ownerDocument.body, iframes, true).inverse();
749
+ const m = getResultingTransformationBetweenElementAndAllAncestors(fixedContainer, node.ownerDocument.body, iframes, true).inverse();
673
750
  const r1 = node.getBoundingClientRect();
674
751
  const r1t = m.transformPoint(r1);
675
- const r2 = par.getBoundingClientRect();
752
+ const r2 = fixedContainer.getBoundingClientRect();
676
753
  const r2t = m.transformPoint(r2);
677
754
  return new DOMPoint(r1t.x - r2t.x, r1t.y - r2t.y);
678
755
  }
@@ -809,6 +886,13 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
809
886
  let lastOffsetParent = null;
810
887
  while (actualElement != ancestor && actualElement != null) {
811
888
  let parentElement = getParentElementIncludingSlots(actualElement, iframes);
889
+ if ((actualElement instanceof HTMLElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLElement)) {
890
+ const fixedStyle = getCachedComputedStyle(actualElement);
891
+ if (fixedStyle.position === 'fixed') {
892
+ const fixedContainer = getNearestFixedContainingBlock(actualElement, iframes);
893
+ parentElement = fixedContainer ?? ancestor;
894
+ }
895
+ }
812
896
  if (actualElement.assignedSlot != null) {
813
897
  if (actualElement.nodeType === Node.ELEMENT_NODE) {
814
898
  const slotOffsetParent = offsetParentPolyfill(actualElement);
@@ -870,7 +954,9 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
870
954
  parentElement = actualElement.ownerSVGElement;
871
955
  }
872
956
  else if ((actualElement instanceof HTMLElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLElement)) {
873
- if (lastOffsetParent !== actualElement.offsetParent && !((actualElement instanceof HTMLSlotElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLSlotElement))
957
+ const actualStyle = getCachedComputedStyle(actualElement);
958
+ const isFixedSelf = actualStyle.position === 'fixed' && actualElement === node;
959
+ if ((isFixedSelf || lastOffsetParent !== actualElement.offsetParent) && !((actualElement instanceof HTMLSlotElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLSlotElement))
874
960
  && (lastOffsetParent === null || actualElement === lastOffsetParent || !isFlatTreeInclusiveAncestor(lastOffsetParent, actualElement))) {
875
961
  const offsets = getElementOffsetsInContainer(actualElement, actualElement !== node, iframes);
876
962
  const zoom = getElementZoom(actualElement);
@@ -1812,4 +1898,37 @@ function offsetTopLeftPolyfill(element, offsetTopOrLeft) {
1812
1898
  }
1813
1899
  return value;
1814
1900
  }
1901
+ /**
1902
+ * @param {Element} element
1903
+ * @returns {boolean}
1904
+ */
1905
+ function createsFixedContainingBlock(element) {
1906
+ const cs = getCachedComputedStyle(element);
1907
+ if ((cs.transform && cs.transform !== 'none') ||
1908
+ (cs.perspective && cs.perspective !== 'none') ||
1909
+ (cs.filter && cs.filter !== 'none') ||
1910
+ (cs.backdropFilter && cs.backdropFilter !== 'none')) {
1911
+ return true;
1912
+ }
1913
+ const contain = cs.contain || '';
1914
+ if (contain.includes('paint') || contain.includes('layout') || contain.includes('strict') || contain.includes('content')) {
1915
+ return true;
1916
+ }
1917
+ const willChange = cs.willChange || '';
1918
+ return /transform|perspective|filter|backdrop-filter/.test(willChange);
1919
+ }
1920
+ /**
1921
+ * @param {HTMLElement} element
1922
+ * @param {HTMLIFrameElement[]=} iframes
1923
+ * @returns {Element | null}
1924
+ */
1925
+ function getNearestFixedContainingBlock(element, iframes) {
1926
+ let parent = getParentElementIncludingSlots(element, iframes);
1927
+ while (parent) {
1928
+ if (createsFixedContainingBlock(parent))
1929
+ return parent;
1930
+ parent = getParentElementIncludingSlots(parent, iframes);
1931
+ }
1932
+ return null;
1933
+ }
1815
1934
  //# sourceMappingURL=getBoxQuads.js.map