@node-projects/web-component-designer 0.2.18 → 0.2.20

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 (54) 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 +60 -43
  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 +2 -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/svg/UnifiedGeometryExtension.d.ts +4 -0
  45. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js +44 -3
  46. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js.map +1 -1
  47. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js +5 -0
  48. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtensionProvider.js.map +1 -1
  49. package/dist/index-min.js +13 -13
  50. package/dist/index-min.js.map +4 -4
  51. package/dist/index.d.ts +4 -0
  52. package/dist/index.js +2 -0
  53. package/dist/index.js.map +1 -1
  54. 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":"AAAA,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpI,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAWtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AAEnF,IAAK,QAKJ;AALD,WAAK,QAAQ;IACX,+CAAY,CAAA;IACZ,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,6CAAW,CAAA;AACb,CAAC,EALI,QAAQ,KAAR,QAAQ,QAKZ;AAED,MAAM,OAAO,iBAAkB,SAAQ,gCAAgC;IAC9D,YAAY,CAAe;IAC3B,QAAQ,CAA0B;IAClC,QAAQ,CAA0B;IAElC,cAAc,CAAM;IAEnB,UAAU,GAAG,IAAI,CAAC;IAClB,iCAAiC,CAAU;IAE3C,gBAAgB,CAAS;IACjC,IAAW,qBAAqB,CAAC,KAAa;QAC5C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAA,CAAC;IACF,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEM,iBAAiB,CAAkB;IAC3C,IAAW,gBAAgB,CAAC,KAAsB;QAChD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC9D,CAAC;IAAA,CAAC;IACF,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAAA,CAAC;IAEM,sBAAsB,CAAgB;IAC9C,IAAW,qBAAqB,CAAC,WAA0B;QACzD,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;QAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC;gBAC5C,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC5N,CAAC;QACH,CAAC;IACH,CAAC;IAAA,CAAC;IACF,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAAA,CAAC;IACK,2BAA2B,GAAG,IAAI,UAAiH,CAAC;IAE3J,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC;QACZ,IAAI,IAAI,CAAC,YAAY;YACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ;YACf,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEM,gBAAgB,GAAG,IAAI,UAAU,EAAmC,CAAC;IACrE,YAAY,GAAG,IAAI,UAAU,EAA4G,CAAC;IAEzI,oBAAoB,GAAwB,UAAU,CAAC;IACvD,iBAAiB,CAAmB;IACpC,QAAQ,GAAW,EAAE,CAAC;IACtB,WAAW,CAAqB;IAChC,kBAAkB,CAAkB;IACpC,qBAAqB,CAAS;IAC9B,SAAS,CAAkB;IAC3B,YAAY,CAAiB;IAC7B,QAAQ,CAAiB;IACzB,2BAA2B,CAAwB;IACnD,kCAAkC,CAAU;IAC5C,gCAAgC,CAAU;IAElD,MAAM,KAAc,KAAK;QACvB,OAAO,GAAG,CAAA;;;;;;;;;;OAUP,CAAC;IACN,CAAC;IAED,YAAY,gBAAkC,EAAE,OAAgB,EAAE,YAAqB,KAAK;QAC1F,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;QACzE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,OAAO,IAAI,IAAI;YACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAE1B,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC5C,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAA;QACxH,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAA;QACxH,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAEnG,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBAC7C,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC1G,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;oBAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACD,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;IAChD,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ;YACrD,OAAO,UAAU,CAAA;QACnB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;YAClD,OAAO,OAAO,CAAA;QAChB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI;YACjD,OAAO,MAAM,CAAA;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,QAAQ,CAAC,OAAO;YACpD,OAAO,SAAS,CAAA;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,WAAW,CAAC,IAA+C;QAC7D,IAAI,IAAI,IAAI,UAAU;YACpB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACrD,IAAI,IAAI,IAAI,OAAO;YACjB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QAClD,IAAI,IAAI,IAAI,MAAM;YAChB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,IAAI,SAAS;YACnB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IACtD,CAAC;IAED,wBAAwB,CAAC,CAAkD;QACzE,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtD,IAAI,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;YACvF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iCAAiC,EAAE,CAAC;oBACjF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS;2BAC3F,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iCAAiC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;oBAChH,IAAI,IAAI,CAAC,kBAAkB;wBACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC;YAC3C,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;YAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1G,IAAI,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;gBACvF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;gBAChF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iCAAiC,EAAE,CAAC;wBACjF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS;+BAC3F,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iCAAiC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;wBAChH,IAAI,IAAI,CAAC,kBAAkB;4BACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBACrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,kCAAkC,GAAG,KAAK,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;YAC7E,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,cAAc,CAAC,OAAmB;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK;YAC3G,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aACvC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI;YACvD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aACnC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,OAAO;YAC1D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,OAAmB;QACnC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC9G,IAAI,IAAI,CAAC,YAAY,EAAE,iBAAiB;gBACtC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,QAAQ,EAAE,iBAAiB;gBAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE,iBAAiB;gBAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,QAAQ;gBACtD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI;gBACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;iBAC7E,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAE7D,CAAC;iBACI,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,OAAO;gBAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzI,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,QAAQ;gBACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;iBACjD,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI;gBACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;gBACvF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;gBACpD,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iCAAiC,EAAE,CAAC;oBACjF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS;2BAC3F,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,iCAAiC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAClH,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW;oBAC5B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK;gBACnE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;gBAChF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACnD,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACjB,IAAI,IAAI,CAAC,kBAAkB;4BACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBACrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACvI,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aACxE,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACjD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;gBACnC,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1E,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;gBACvC,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,+BAA+B,EAAE,CAAC;gBAC5E,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBAClE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,gBAAgB,EAAE,aAAa,CAAC,yBAAyB,EAAE,aAAa,CAAC,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC3R,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAyB;QACpD,IAAI,CAAC,QAAQ;YACX,OAAO;QAET,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,GAAG;YACpC,OAAO;QAET,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;IACpD,CAAC;CACF;AAED,cAAc,CAAC,MAAM,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,CAAC"}
@@ -339,6 +339,9 @@ export function getBoxQuads(node, options) {
339
339
  const viewportRoot = node.ownerDocument.documentElement ?? node.ownerDocument.body;
340
340
  const viewportRootRect = viewportRoot?.getBoundingClientRect();
341
341
  const convertViewportRectToRelativeQuad = (rect) => {
342
+ if (relativeTo === viewportRoot) {
343
+ return new DOMQuad(new DOMPoint(rect.x, rect.y), new DOMPoint(rect.x + rect.width, rect.y), new DOMPoint(rect.x + rect.width, rect.y + rect.height), new DOMPoint(rect.x, rect.y + rect.height));
344
+ }
342
345
  const rectInViewportRoot = new DOMRect(rect.x - (viewportRootRect?.x ?? 0), rect.y - (viewportRootRect?.y ?? 0), rect.width, rect.height);
343
346
  return convertRectFromNode(relativeTo, rectInViewportRoot, viewportRoot, {
344
347
  iframes: options?.iframes,
@@ -412,7 +415,8 @@ export function getBoxQuads(node, options) {
412
415
  }
413
416
  // Fragment top-left in parent-local, then transform all 4 corners via M_parent
414
417
  const lx = lcx - tw / 2, ly = lcy - th / 2;
415
- quads.push(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))));
418
+ 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(toViewportRelativeDocumentElementQuad(quad, node, relativeTo, options?.iframes));
416
420
  }
417
421
  if (quads.length > 0) {
418
422
  if (boxQuadsCache)
@@ -450,49 +454,22 @@ export function getBoxQuads(node, options) {
450
454
  tPoints[i] = as2DPoint(tPoints[i]);
451
455
  }
452
456
  }
453
- const tQuad = [new DOMQuad(tPoints[0], tPoints[1], tPoints[2], tPoints[3])];
457
+ const tQuad = [toViewportRelativeDocumentElementQuad(new DOMQuad(tPoints[0], tPoints[1], tPoints[2], tPoints[3]), node, relativeTo, options?.iframes)];
454
458
  if (boxQuadsCache)
455
459
  boxQuadsCache.set(key, tQuad);
456
460
  return tQuad;
457
461
  }
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 = strokeWidth * 2;
475
- const ownerSvgRect = node.ownerSVGElement.getBoundingClientRect();
476
- rect = new DOMRect(ownerSvgRect.x + bbox.x - strokeInflation, ownerSvgRect.y + bbox.y - strokeInflation, bbox.width + strokeInflation * 2, bbox.height + strokeInflation * 2);
477
- }
478
- let svgQuad;
479
- if (relativeTo === node.ownerDocument.body || relativeTo === node.ownerDocument.documentElement) {
480
- const relativeRect = relativeTo.getBoundingClientRect();
481
- const relativeX = rect.x - relativeRect.x + relativeTo.scrollLeft;
482
- const relativeY = rect.y - relativeRect.y + relativeTo.scrollTop;
483
- 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))];
484
- }
485
- else {
486
- const viewportRootRect = viewportRoot?.getBoundingClientRect();
487
- const rectInViewportRoot = new DOMRect(rect.x - (viewportRootRect?.x ?? 0), rect.y - (viewportRootRect?.y ?? 0), rect.width, rect.height);
488
- svgQuad = [convertRectFromNode(relativeTo, rectInViewportRoot, viewportRoot, {
489
- iframes: options?.iframes,
490
- })];
491
- }
492
- if (boxQuadsCache)
493
- boxQuadsCache.set(key, svgQuad);
494
- return svgQuad;
495
- }
462
+ if ((node instanceof win.Element)
463
+ && relativeTo === node.ownerDocument.documentElement
464
+ && (!options?.box || options.box === 'border')
465
+ && originalElementAndAllParentsMultipliedMatrix.is2D
466
+ && Math.abs(originalElementAndAllParentsMultipliedMatrix.b) < 1e-10
467
+ && Math.abs(originalElementAndAllParentsMultipliedMatrix.c) < 1e-10) {
468
+ const rect = node.getBoundingClientRect();
469
+ const viewportQuad = [new DOMQuad(new DOMPoint(rect.x, rect.y), new DOMPoint(rect.x + rect.width, rect.y), new DOMPoint(rect.x + rect.width, rect.y + rect.height), new DOMPoint(rect.x, rect.y + rect.height))];
470
+ if (boxQuadsCache)
471
+ boxQuadsCache.set(key, viewportQuad);
472
+ return viewportQuad;
496
473
  }
497
474
  let { width, height } = getElementSize(node, originalElementAndAllParentsMultipliedMatrix);
498
475
  // FIX 13: cache cross-realm Element constructor.
@@ -571,7 +548,7 @@ export function getBoxQuads(node, options) {
571
548
  points[i] = as2DPoint(points[i]);
572
549
  }
573
550
  }
574
- const quad = [new DOMQuad(points[0], points[1], points[2], points[3])];
551
+ const quad = [toViewportRelativeDocumentElementQuad(new DOMQuad(points[0], points[1], points[2], points[3]), node, relativeTo, options?.iframes)];
575
552
  if (boxQuadsCache)
576
553
  boxQuadsCache.set(key, quad);
577
554
  return quad;
@@ -597,11 +574,44 @@ export function getBoxQuads(node, options) {
597
574
  points[i] = as2DPoint(points[i]);
598
575
  }
599
576
  }
600
- const quad = [new DOMQuad(points[0], points[1], points[2], points[3])];
577
+ const quad = [toViewportRelativeDocumentElementQuad(new DOMQuad(points[0], points[1], points[2], points[3]), node, relativeTo, options?.iframes)];
601
578
  if (boxQuadsCache)
602
579
  boxQuadsCache.set(key, quad);
603
580
  return quad;
604
581
  }
582
+ function toViewportRelativeDocumentElementQuad(quad, node, relativeTo, iframes) {
583
+ if (relativeTo !== node.ownerDocument.documentElement) {
584
+ return quad;
585
+ }
586
+ if (isViewportFixedAnchoredNode(node, iframes)) {
587
+ return quad;
588
+ }
589
+ const win = node.ownerDocument.defaultView ?? window;
590
+ const scrollX = win.scrollX ?? node.ownerDocument.documentElement.scrollLeft ?? 0;
591
+ const scrollY = win.scrollY ?? node.ownerDocument.documentElement.scrollTop ?? 0;
592
+ if (scrollX === 0 && scrollY === 0) {
593
+ return quad;
594
+ }
595
+ return new DOMQuad(new DOMPoint(quad.p1.x - scrollX, quad.p1.y - scrollY), new DOMPoint(quad.p2.x - scrollX, quad.p2.y - scrollY), new DOMPoint(quad.p3.x - scrollX, quad.p3.y - scrollY), new DOMPoint(quad.p4.x - scrollX, quad.p4.y - scrollY));
596
+ }
597
+ function isViewportFixedAnchoredNode(node, iframes) {
598
+ const win = node.ownerDocument.defaultView ?? window;
599
+ let element = null;
600
+ if (node instanceof win.Text) {
601
+ element = getParentElementIncludingSlots(node, iframes);
602
+ }
603
+ else if (node instanceof win.Element) {
604
+ element = node;
605
+ }
606
+ while (element && element !== node.ownerDocument.documentElement) {
607
+ const cs = getCachedComputedStyle(element);
608
+ if (cs.position === 'fixed') {
609
+ return getNearestFixedContainingBlock(element, iframes) == null;
610
+ }
611
+ element = getParentElementIncludingSlots(element, iframes);
612
+ }
613
+ return false;
614
+ }
605
615
  /**
606
616
  * Compute width/height for a Text node given an already-fetched bounding rect.
607
617
  * Extracted from getElementSize so getBoxQuads (FIX 7) can reuse the Range it
@@ -957,7 +967,14 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
957
967
  originalElementAndAllParentsMultipliedMatrix = new DOMMatrix().translate(-ancOff.x, -ancOff.y).multiply(originalElementAndAllParentsMultipliedMatrix);
958
968
  }
959
969
  }
960
- if (parentElement.scrollTop || parentElement.scrollLeft)
970
+ // FIX 15: Do NOT subtract the scroll of documentElement (the viewport/window
971
+ // scroll). The offsetLeft/offsetTop walk already yields document-absolute
972
+ // coordinates; subtracting documentElement.scrollTop would wrongly
973
+ // shift positions to viewport-space when the page is scrolled.
974
+ // Only subtract scroll for a non-root ancestor that is itself a
975
+ // scroll container (e.g. an overflow:scroll div used as relativeTo).
976
+ const isViewportScrollContainer = parentElement === parentElement.ownerDocument.documentElement;
977
+ if (!isViewportScrollContainer && (parentElement.scrollTop || parentElement.scrollLeft))
961
978
  originalElementAndAllParentsMultipliedMatrix = new DOMMatrix().translate(-parentElement.scrollLeft, -parentElement.scrollTop).multiply(originalElementAndAllParentsMultipliedMatrix);
962
979
  const ancestorZoom = getElementZoomScaleTransform(parentElement);
963
980
  if (!ancestorZoom.isIdentity)