@node-projects/web-component-designer 0.2.3 → 0.2.5

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 (211) hide show
  1. package/dist/elements/controls/NumericStyleInput.js +2 -7
  2. package/dist/elements/controls/NumericStyleInput.js.map +1 -1
  3. package/dist/elements/controls/NumericStyleInputValueHelpers.d.ts +1 -0
  4. package/dist/elements/controls/NumericStyleInputValueHelpers.js +8 -0
  5. package/dist/elements/controls/NumericStyleInputValueHelpers.js.map +1 -1
  6. package/dist/elements/helper/LayoutHelper.js +2 -3
  7. package/dist/elements/helper/LayoutHelper.js.map +1 -1
  8. package/dist/elements/helper/getBoxQuads.js +7 -1
  9. package/dist/elements/helper/getBoxQuads.js.map +1 -1
  10. package/dist/elements/services/placementService/AbsolutePlacementService.js +8 -1
  11. package/dist/elements/services/placementService/AbsolutePlacementService.js.map +1 -1
  12. package/dist/elements/services/placementService/DefaultPlacementService.js +8 -1
  13. package/dist/elements/services/placementService/DefaultPlacementService.js.map +1 -1
  14. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +4 -4
  15. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js.map +1 -1
  16. package/dist/elements/services/propertiesService/PropertyGroupsService.js +1 -2
  17. package/dist/elements/services/propertiesService/PropertyGroupsService.js.map +1 -1
  18. package/dist/elements/services/propertiesService/propertyEditors/{CssNumericPropertyEditor.d.ts → UnitPropertyEditor.d.ts} +1 -1
  19. package/dist/elements/services/propertiesService/propertyEditors/{CssNumericPropertyEditor.js → UnitPropertyEditor.js} +3 -3
  20. package/dist/elements/services/propertiesService/propertyEditors/UnitPropertyEditor.js.map +1 -0
  21. package/dist/elements/services/propertiesService/propertyEditors/UnitPropertyEditorConfig.d.ts +30 -0
  22. package/dist/elements/services/propertiesService/propertyEditors/{CssNumericPropertyEditorConfig.js → UnitPropertyEditorConfig.js} +36 -92
  23. package/dist/elements/services/propertiesService/propertyEditors/UnitPropertyEditorConfig.js.map +1 -0
  24. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js +1 -1
  25. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js.map +1 -1
  26. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.d.ts +0 -1
  27. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +3 -7
  28. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js.map +1 -1
  29. package/dist/elements/services/propertiesService/services/CssProperties.json +107 -33
  30. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +3 -0
  31. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +12 -2
  32. package/dist/elements/services/propertiesService/services/CssPropertiesService.js.map +1 -1
  33. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.d.ts +2 -0
  34. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js +39 -41
  35. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js.map +1 -1
  36. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  37. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js +3 -6
  38. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js.map +1 -1
  39. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.d.ts +4 -0
  40. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.js +24 -0
  41. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.js.map +1 -0
  42. package/dist/elements/widgets/designerView/extensions/svg/geometry/IGeometry.d.ts +13 -4
  43. package/dist/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.d.ts +2 -5
  44. package/dist/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.js +40 -9
  45. package/dist/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.js.map +1 -1
  46. package/dist/index-min.js +7 -7
  47. package/dist/index-min.js.map +4 -4
  48. package/dist/index.d.ts +1 -4
  49. package/dist/index.js +1 -4
  50. package/dist/index.js.map +1 -1
  51. package/jest.config.js +3 -0
  52. package/package.json +1 -1
  53. package/dist/basepath.d.ts +0 -2
  54. package/dist/basepath.js +0 -2
  55. package/dist/basepath.js.map +0 -1
  56. package/dist/elements/controls/NumericPopup.d.ts +0 -6
  57. package/dist/elements/controls/NumericPopup.js +0 -40
  58. package/dist/elements/controls/NumericPopup.js.map +0 -1
  59. package/dist/elements/helper/DesignItem.d.ts +0 -11
  60. package/dist/elements/helper/DesignItem.js +0 -67
  61. package/dist/elements/helper/DesignItem.js.map +0 -1
  62. package/dist/elements/helper/Screenshot copy.d.ts +0 -11
  63. package/dist/elements/helper/Screenshot copy.js +0 -67
  64. package/dist/elements/helper/Screenshot copy.js.map +0 -1
  65. package/dist/elements/services/collaborationService/DefaultCollaborationService.d.ts +0 -45
  66. package/dist/elements/services/collaborationService/DefaultCollaborationService.js +0 -298
  67. package/dist/elements/services/collaborationService/DefaultCollaborationService.js.map +0 -1
  68. package/dist/elements/services/collaborationService/WebRtcTabCollaborationTransport.d.ts +0 -95
  69. package/dist/elements/services/collaborationService/WebRtcTabCollaborationTransport.js +0 -571
  70. package/dist/elements/services/collaborationService/WebRtcTabCollaborationTransport.js.map +0 -1
  71. package/dist/elements/services/contentService/ContentService.d.ts +0 -9
  72. package/dist/elements/services/contentService/ContentService.js +0 -9
  73. package/dist/elements/services/contentService/ContentService.js.map +0 -1
  74. package/dist/elements/services/contentService/IContentChanged.d.ts +0 -10
  75. package/dist/elements/services/contentService/IContentChanged.js +0 -12
  76. package/dist/elements/services/contentService/IContentChanged.js.map +0 -1
  77. package/dist/elements/services/contentService/IContentService.d.ts +0 -7
  78. package/dist/elements/services/contentService/IContentService.js +0 -2
  79. package/dist/elements/services/contentService/IContentService.js.map +0 -1
  80. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +0 -10
  81. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +0 -53
  82. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js.map +0 -1
  83. package/dist/elements/services/miniatureViewService/IMinatureViewService copy.d.ts +0 -2
  84. package/dist/elements/services/miniatureViewService/IMinatureViewService copy.js +0 -2
  85. package/dist/elements/services/miniatureViewService/IMinatureViewService copy.js.map +0 -1
  86. package/dist/elements/services/miniatureViewService/IMinatureViewService.d.ts +0 -4
  87. package/dist/elements/services/miniatureViewService/IMinatureViewService.js +0 -2
  88. package/dist/elements/services/miniatureViewService/IMinatureViewService.js.map +0 -1
  89. package/dist/elements/services/miniatureViewService/MinatureViewService.d.ts +0 -5
  90. package/dist/elements/services/miniatureViewService/MinatureViewService.js +0 -10
  91. package/dist/elements/services/miniatureViewService/MinatureViewService.js.map +0 -1
  92. package/dist/elements/services/popupService/IPopupService.d.ts +0 -16
  93. package/dist/elements/services/popupService/IPopupService.js +0 -2
  94. package/dist/elements/services/popupService/IPopupService.js.map +0 -1
  95. package/dist/elements/services/popupService/PopupService.d.ts +0 -9
  96. package/dist/elements/services/popupService/PopupService.js +0 -21
  97. package/dist/elements/services/popupService/PopupService.js.map +0 -1
  98. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.d.ts +0 -1
  99. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.js +0 -2
  100. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.js.map +0 -1
  101. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.d.ts +0 -3
  102. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.js +0 -4
  103. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.js.map +0 -1
  104. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditor.js.map +0 -1
  105. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.d.ts +0 -30
  106. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.js.map +0 -1
  107. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor copy.d.ts +0 -7
  108. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor copy.js +0 -19
  109. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor copy.js.map +0 -1
  110. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.d.ts +0 -15
  111. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.js +0 -75
  112. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.js.map +0 -1
  113. package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtension.d.ts +0 -11
  114. package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtension.js +0 -72
  115. package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtension.js.map +0 -1
  116. package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtensionProvider.d.ts +0 -10
  117. package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtensionProvider.js +0 -22
  118. package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtensionProvider.js.map +0 -1
  119. package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtension.d.ts +0 -10
  120. package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtension.js +0 -116
  121. package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtension.js.map +0 -1
  122. package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.d.ts +0 -10
  123. package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.js +0 -31
  124. package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.js.map +0 -1
  125. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.d.ts +0 -11
  126. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.js +0 -20
  127. package/dist/elements/widgets/designerView/extensions/FlexboxExtension.js.map +0 -1
  128. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.d.ts +0 -11
  129. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.js +0 -18
  130. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.js.map +0 -1
  131. package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtension.d.ts +0 -33
  132. package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtension.js +0 -337
  133. package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtension.js.map +0 -1
  134. package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtensionProvider.d.ts +0 -10
  135. package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtensionProvider.js +0 -22
  136. package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtensionProvider.js.map +0 -1
  137. package/dist/elements/widgets/designerView/extensions/QuadEdgeHandleHelper.d.ts +0 -5
  138. package/dist/elements/widgets/designerView/extensions/QuadEdgeHandleHelper.js +0 -42
  139. package/dist/elements/widgets/designerView/extensions/QuadEdgeHandleHelper.js.map +0 -1
  140. package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +0 -16
  141. package/dist/elements/widgets/designerView/extensions/RotateExtension.js +0 -109
  142. package/dist/elements/widgets/designerView/extensions/RotateExtension.js.map +0 -1
  143. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +0 -12
  144. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +0 -25
  145. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js.map +0 -1
  146. package/dist/elements/widgets/designerView/extensions/RotateGroupExtension.d.ts +0 -29
  147. package/dist/elements/widgets/designerView/extensions/RotateGroupExtension.js +0 -229
  148. package/dist/elements/widgets/designerView/extensions/RotateGroupExtension.js.map +0 -1
  149. package/dist/elements/widgets/designerView/extensions/RotateGroupExtensionProvider.d.ts +0 -10
  150. package/dist/elements/widgets/designerView/extensions/RotateGroupExtensionProvider.js +0 -20
  151. package/dist/elements/widgets/designerView/extensions/RotateGroupExtensionProvider.js.map +0 -1
  152. package/dist/elements/widgets/designerView/extensions/SkewExtension.d.ts +0 -30
  153. package/dist/elements/widgets/designerView/extensions/SkewExtension.js +0 -291
  154. package/dist/elements/widgets/designerView/extensions/SkewExtension.js.map +0 -1
  155. package/dist/elements/widgets/designerView/extensions/SkewExtensionProvider.d.ts +0 -10
  156. package/dist/elements/widgets/designerView/extensions/SkewExtensionProvider.js +0 -20
  157. package/dist/elements/widgets/designerView/extensions/SkewExtensionProvider.js.map +0 -1
  158. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +0 -16
  159. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +0 -120
  160. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js.map +0 -1
  161. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +0 -12
  162. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +0 -34
  163. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js.map +0 -1
  164. package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu copy.d.ts +0 -11
  165. package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu copy.js +0 -16
  166. package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu copy.js.map +0 -1
  167. package/dist/elements/widgets/designerView/extensions/contextMenu/CollaborationCommentsContextMenu.d.ts +0 -9
  168. package/dist/elements/widgets/designerView/extensions/contextMenu/CollaborationCommentsContextMenu.js +0 -72
  169. package/dist/elements/widgets/designerView/extensions/contextMenu/CollaborationCommentsContextMenu.js.map +0 -1
  170. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.d.ts +0 -43
  171. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +0 -187
  172. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js.map +0 -1
  173. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.d.ts +0 -9
  174. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.js +0 -14
  175. package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.js.map +0 -1
  176. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.d.ts +0 -32
  177. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +0 -148
  178. package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js.map +0 -1
  179. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.d.ts +0 -9
  180. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.js +0 -15
  181. package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.js.map +0 -1
  182. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.d.ts +0 -31
  183. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +0 -330
  184. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js.map +0 -1
  185. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.d.ts +0 -9
  186. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.js +0 -15
  187. package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.js.map +0 -1
  188. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +0 -49
  189. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +0 -215
  190. package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js.map +0 -1
  191. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.d.ts +0 -9
  192. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.js +0 -15
  193. package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.js.map +0 -1
  194. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.d.ts +0 -26
  195. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.js +0 -145
  196. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.js.map +0 -1
  197. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.d.ts +0 -9
  198. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js +0 -17
  199. package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js.map +0 -1
  200. package/dist/elements/widgets/miniatureView/FirefoxElementMiniatiureView.d.ts +0 -9
  201. package/dist/elements/widgets/miniatureView/FirefoxElementMiniatiureView.js +0 -19
  202. package/dist/elements/widgets/miniatureView/FirefoxElementMiniatiureView.js.map +0 -1
  203. package/dist/elements/widgets/miniatureView/miniature-view.d.ts +0 -33
  204. package/dist/elements/widgets/miniatureView/miniature-view.js +0 -178
  205. package/dist/elements/widgets/miniatureView/miniature-view.js.map +0 -1
  206. package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.d.ts +0 -5
  207. package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.js +0 -13
  208. package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.js.map +0 -1
  209. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.d.ts +0 -4
  210. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.js +0 -31
  211. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.js.map +0 -1
@@ -1,116 +0,0 @@
1
- import { AbstractExtension } from './AbstractExtension.js';
2
- import { OverlayLayer } from './OverlayLayer.js';
3
- import { getCollaborationNodeIndex } from '../../../services/collaborationService/CollaborationNodeIndex.js';
4
- const collaborationOverlayCacheKey = Symbol('collaborationOverlayCache');
5
- function getOverlayCache(designItem, cache) {
6
- if (cache[collaborationOverlayCacheKey])
7
- return cache[collaborationOverlayCacheKey];
8
- const collaborationService = designItem.instanceServiceContainer.collaborationService;
9
- const peerMap = new Map;
10
- const commentMap = new Map;
11
- const localPeerId = collaborationService?.session?.peerId;
12
- for (const peer of collaborationService?.peers ?? []) {
13
- if (!peer || peer.peerId === localPeerId)
14
- continue;
15
- const indexes = new Set();
16
- if (peer.activeNodeIndex != null)
17
- indexes.add(peer.activeNodeIndex);
18
- for (const nodeIndex of peer.selectedNodeIndexes ?? [])
19
- indexes.add(nodeIndex);
20
- for (const nodeIndex of indexes) {
21
- const peers = peerMap.get(nodeIndex) ?? [];
22
- peers.push(peer);
23
- peerMap.set(nodeIndex, peers);
24
- }
25
- }
26
- for (const comment of collaborationService?.comments ?? []) {
27
- if (comment.targetNodeIndex == null)
28
- continue;
29
- const comments = commentMap.get(comment.targetNodeIndex) ?? [];
30
- comments.push(comment);
31
- commentMap.set(comment.targetNodeIndex, comments);
32
- }
33
- const overlayCache = { peerMap, commentMap };
34
- cache[collaborationOverlayCacheKey] = overlayCache;
35
- return overlayCache;
36
- }
37
- function truncateText(text, maxLength) {
38
- if (!text || text.length <= maxLength)
39
- return text;
40
- return text.substring(0, Math.max(0, maxLength - 1)) + '…';
41
- }
42
- export class CollaborationOverlayExtension extends AbstractExtension {
43
- constructor(extensionManager, designerView, extendedItem) {
44
- super(extensionManager, designerView, extendedItem);
45
- }
46
- extend(cache, event) {
47
- this.refresh(cache, event);
48
- }
49
- refresh(cache, event) {
50
- const collaborationService = this.extendedItem.instanceServiceContainer.collaborationService;
51
- if (!collaborationService) {
52
- if (this.overlays.length)
53
- this._removeAllOverlays();
54
- return;
55
- }
56
- const nodeIndex = getCollaborationNodeIndex(this.extendedItem, cache);
57
- if (nodeIndex == null) {
58
- if (this.overlays.length)
59
- this._removeAllOverlays();
60
- return;
61
- }
62
- const overlayCache = getOverlayCache(this.extendedItem, cache);
63
- const peers = [...(overlayCache.peerMap.get(nodeIndex) ?? [])].sort((a, b) => a.peerId.localeCompare(b.peerId));
64
- const comments = [...(overlayCache.commentMap.get(nodeIndex) ?? [])].sort((a, b) => a.createdAt - b.createdAt);
65
- if (!peers.length && !comments.length) {
66
- if (this.overlays.length)
67
- this._removeAllOverlays();
68
- return;
69
- }
70
- const rect = this.designerCanvas.getNormalizedElementCoordinates(this.extendedItem.element);
71
- const overlayState = JSON.stringify({
72
- x: rect.x,
73
- y: rect.y,
74
- width: rect.width,
75
- height: rect.height,
76
- peers: peers.map(x => ({
77
- peerId: x.peerId,
78
- displayName: x.displayName,
79
- color: x.color,
80
- activeNodeIndex: x.activeNodeIndex,
81
- selectedNodeIndexes: x.selectedNodeIndexes
82
- })),
83
- comments: comments.map(x => ({ id: x.id, resolved: x.resolved, text: x.text, authorPeerId: x.authorPeerId }))
84
- });
85
- if (!this._valuesHaveChanges(overlayState))
86
- return;
87
- this._removeAllOverlays();
88
- peers.forEach((peer, index) => {
89
- const offset = index * 3;
90
- const peerRect = this._drawRect(rect.x - offset, rect.y - offset, rect.width + (offset * 2), rect.height + (offset * 2), 'svg-collaboration-peer', null, OverlayLayer.Foreground);
91
- peerRect.style.stroke = peer.color ?? '#1f7ae0';
92
- peerRect.style.strokeWidth = peer.activeNodeIndex === nodeIndex ? '2.5px' : '1.5px';
93
- peerRect.style.opacity = peer.activeNodeIndex === nodeIndex ? '1' : '0.75';
94
- peerRect.style.fill = 'none';
95
- const labelText = truncateText(peer.displayName ?? peer.peerId, 24);
96
- this._drawTextWithBackground(labelText, rect.x - offset, rect.y - 8 - (index * 14), peer.color ?? '#1f7ae0', 'svg-collaboration-label', null, OverlayLayer.Foreground);
97
- });
98
- if (comments.length) {
99
- const unresolvedComments = comments.filter(x => !x.resolved);
100
- const badgeColor = unresolvedComments.length ? '#f57c00' : '#9e9e9e';
101
- const commentRect = this._drawRect(rect.x + 2, rect.y + 2, Math.max(0, rect.width - 4), Math.max(0, rect.height - 4), 'svg-collaboration-comment', null, OverlayLayer.Foreground);
102
- commentRect.style.stroke = badgeColor;
103
- commentRect.style.fill = 'none';
104
- const commentLabel = unresolvedComments.length
105
- ? `${unresolvedComments.length} comment${unresolvedComments.length === 1 ? '' : 's'}`
106
- : `${comments.length} resolved`;
107
- this._drawTextWithBackground(commentLabel, rect.x + rect.width - 12, rect.y + 14, badgeColor, 'svg-collaboration-comment-label', null, OverlayLayer.Foreground);
108
- const previewComment = comments[comments.length - 1];
109
- this._drawTextWithBackground(truncateText(previewComment.text, 28), rect.x + 4, rect.y + rect.height + 16, badgeColor, 'svg-collaboration-comment-preview', null, OverlayLayer.Foreground);
110
- }
111
- }
112
- dispose() {
113
- this._removeAllOverlays();
114
- }
115
- }
116
- //# sourceMappingURL=CollaborationOverlayExtension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollaborationOverlayExtension.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/extensions/CollaborationOverlayExtension.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { IDesignItem } from '../../../item/IDesignItem.js';
2
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
3
- import { IDesignerExtension } from './IDesignerExtension.js';
4
- import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
5
- import { IExtensionManager } from './IExtensionManger.js';
6
- export declare class CollaborationOverlayExtensionProvider implements IDesignerExtensionProvider {
7
- shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
8
- getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
9
- static readonly style: CSSStyleSheet;
10
- }
@@ -1,31 +0,0 @@
1
- import { css } from '@node-projects/base-custom-webcomponent';
2
- import { CollaborationOverlayExtension } from './CollaborationOverlayExtension.js';
3
- export class CollaborationOverlayExtensionProvider {
4
- shouldExtend(extensionManager, designerView, designItem) {
5
- return !designItem.isRootItem && !(designItem.element instanceof HTMLTemplateElement);
6
- }
7
- getExtension(extensionManager, designerView, designItem) {
8
- return new CollaborationOverlayExtension(extensionManager, designerView, designItem);
9
- }
10
- static style = css `
11
- .svg-collaboration-peer {
12
- stroke-dasharray: 5 3;
13
- vector-effect: non-scaling-stroke;
14
- pointer-events: none;
15
- }
16
-
17
- .svg-collaboration-comment {
18
- stroke-dasharray: 2 4;
19
- vector-effect: non-scaling-stroke;
20
- pointer-events: none;
21
- }
22
-
23
- .svg-collaboration-label,
24
- .svg-collaboration-comment-label,
25
- .svg-collaboration-comment-preview {
26
- font-size: 11px;
27
- pointer-events: none;
28
- }
29
- `;
30
- }
31
- //# sourceMappingURL=CollaborationOverlayExtensionProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollaborationOverlayExtensionProvider.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AAM9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,OAAO,qCAAqC;IAChD,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,YAAY,mBAAmB,CAAC,CAAC;IACxF,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,OAAO,IAAI,6BAA6B,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,CAAU,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;GAmB1B,CAAC"}
@@ -1,11 +0,0 @@
1
- import { IDesignItem } from '../../../item/IDesignItem.js';
2
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
3
- import { AbstractExtension } from './AbstractExtension.js';
4
- import { IExtensionManager } from './IExtensionManger.js';
5
- export declare class FlexboxExtension extends AbstractExtension {
6
- private _path;
7
- constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
8
- extend(): void;
9
- refresh(): void;
10
- dispose(): void;
11
- }
@@ -1,20 +0,0 @@
1
- import { AbstractExtension } from './AbstractExtension.js';
2
- import { OverlayLayer } from './OverlayLayer.js';
3
- export class FlexboxExtension extends AbstractExtension {
4
- _path;
5
- constructor(extensionManager, designerView, extendedItem) {
6
- super(extensionManager, designerView, extendedItem);
7
- }
8
- extend() {
9
- const transformedCornerPoints = this.extendedItem.element.getBoxQuads({ relativeTo: this.designerCanvas.canvas })[0];
10
- this._path = this._drawTransformedRect(transformedCornerPoints, 'svg-flexbox', this._path, OverlayLayer.Background);
11
- }
12
- refresh() {
13
- this._removeAllOverlays();
14
- this.extend();
15
- }
16
- dispose() {
17
- this._removeAllOverlays();
18
- }
19
- }
20
- //# sourceMappingURL=FlexboxExtension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlexboxExtension.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/extensions/FlexboxExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IAC7C,KAAK,CAAiB;IAE9B,YAAY,gBAAmC,EAAE,YAA6B,EAAE,YAAyB;QACvG,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAEQ,MAAM;QACb,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACtH,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -1,11 +0,0 @@
1
- import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
2
- import { IDesignItem } from '../../../item/IDesignItem.js';
3
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
4
- import { IDesignerExtension } from './IDesignerExtension.js';
5
- import { IExtensionManager } from './IExtensionManger.js';
6
- export declare const flexboxExtensionShowOverlayOptionName = "flexboxExtensionShowOverlay";
7
- export declare class FlexboxExtensionProvider implements IDesignerExtensionProvider {
8
- shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
9
- getExtension(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
10
- readonly style: CSSStyleSheet;
11
- }
@@ -1,18 +0,0 @@
1
- import { css } from "@node-projects/base-custom-webcomponent";
2
- import { FlexboxExtension } from './FlexboxExtension.js';
3
- export const flexboxExtensionShowOverlayOptionName = 'flexboxExtensionShowOverlay';
4
- export class FlexboxExtensionProvider {
5
- shouldExtend(extensionManager, designerCanvas, designItem) {
6
- const display = getComputedStyle(designItem.element).display;
7
- if (display == 'flex' || display == 'inline-flex')
8
- return designerCanvas.instanceServiceContainer.designContext.extensionOptions[flexboxExtensionShowOverlayOptionName] !== false;
9
- return false;
10
- }
11
- getExtension(extensionManager, designerCanvas, designItem) {
12
- return new FlexboxExtension(extensionManager, designerCanvas, designItem);
13
- }
14
- style = css `
15
- .svg-flexbox { stroke: orange; fill: #9a47ff22; }
16
- `;
17
- }
18
- //# sourceMappingURL=FlexboxExtensionProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlexboxExtensionProvider.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/extensions/FlexboxExtensionProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,qCAAqC,GAAG,6BAA6B,CAAC;AAEnF,MAAM,OAAO,wBAAwB;IAEnC,YAAY,CAAC,gBAAmC,EAAE,cAA+B,EAAE,UAAuB;QACxG,MAAM,OAAO,GAAG,gBAAgB,CAAe,UAAU,CAAC,OAAQ,CAAC,CAAC,OAAO,CAAC;QAC5E,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,aAAa;YAC/C,OAAO,cAAc,CAAC,wBAAwB,CAAC,aAAa,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,KAAK,KAAK,CAAC;QACjI,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,cAA+B,EAAE,UAAuB;QACxG,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAEQ,KAAK,GAAG,GAAG,CAAA;;GAEnB,CAAC;CACH"}
@@ -1,33 +0,0 @@
1
- import { IDesignItem } from '../../../item/IDesignItem.js';
2
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
3
- import { AbstractExtension } from './AbstractExtension.js';
4
- import { IExtensionManager } from './IExtensionManger.js';
5
- export declare class ProjectiveTransformExtension extends AbstractExtension {
6
- private _outline?;
7
- private _handles;
8
- private _handleCrossHorizontalLines;
9
- private _handleCrossVerticalLines;
10
- private _activeHandleIndex;
11
- private _baseTransform;
12
- private _projectiveTransform;
13
- private _targetPoints;
14
- constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
15
- extend(cache: Record<string | symbol, any>, event?: Event): void;
16
- refresh(cache: Record<string | symbol, any>, event?: Event): void;
17
- dispose(): void;
18
- private _handlePointerEvent;
19
- private _startDrag;
20
- private _convertQuadToLocalPoints;
21
- private _getLocalPointerPoint;
22
- private _applyPreviewTransform;
23
- private _commitTransform;
24
- private _restorePersistedTransform;
25
- private _buildProjectiveTransform;
26
- private _createProjectiveMatrix;
27
- private _serializeMatrix3d;
28
- private _formatMatrixNumber;
29
- private _buildTransform;
30
- private _parseTransform;
31
- private _splitTransformFunctions;
32
- private _pointsApproximatelyEqual;
33
- }
@@ -1,337 +0,0 @@
1
- import { EventNames } from '../../../../enums/EventNames.js';
2
- import { getElementSize } from '../../../helper/getBoxQuads.js';
3
- import { AbstractExtension } from './AbstractExtension.js';
4
- export class ProjectiveTransformExtension extends AbstractExtension {
5
- _outline;
6
- _handles = [];
7
- _handleCrossHorizontalLines = [];
8
- _handleCrossVerticalLines = [];
9
- _activeHandleIndex = null;
10
- _baseTransform = '';
11
- _projectiveTransform = '';
12
- _targetPoints = [];
13
- constructor(extensionManager, designerView, extendedItem) {
14
- super(extensionManager, designerView, extendedItem);
15
- }
16
- extend(cache, event) {
17
- this.refresh(cache, event);
18
- }
19
- refresh(cache, event) {
20
- const transformedCornerPoints = this.extendedItem.element.getBoxQuads({ box: 'border', relativeTo: this.designerCanvas.canvas })[0];
21
- if (!transformedCornerPoints) {
22
- return;
23
- }
24
- const points = [transformedCornerPoints.p1, transformedCornerPoints.p2, transformedCornerPoints.p3, transformedCornerPoints.p4];
25
- if (points.some(point => !Number.isFinite(point.x) || !Number.isFinite(point.y))) {
26
- this.remove();
27
- return;
28
- }
29
- if (this._valuesHaveChanges(this.designerCanvas.zoomFactor, ...points.flatMap(point => [point.x, point.y]))) {
30
- this._outline = this._drawTransformedRect(transformedCornerPoints, 'svg-primary-projective-outline', this._outline);
31
- this._outline.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
32
- this._outline.style.pointerEvents = 'none';
33
- const radius = 5 / this.designerCanvas.zoomFactor;
34
- const crossRadius = radius * 0.55;
35
- for (let index = 0; index < points.length; index++) {
36
- const cornerIndex = index;
37
- const point = points[index];
38
- let handle = this._handles[index];
39
- if (!handle) {
40
- handle = this._drawCircle(point.x, point.y, radius, 'svg-primary-projective-handle');
41
- handle.addEventListener(EventNames.PointerDown, event => this._handlePointerEvent(cornerIndex, event));
42
- handle.addEventListener(EventNames.PointerMove, event => this._handlePointerEvent(cornerIndex, event));
43
- handle.addEventListener(EventNames.PointerUp, event => this._handlePointerEvent(cornerIndex, event));
44
- this._handles[index] = handle;
45
- }
46
- else {
47
- handle = this._drawCircle(point.x, point.y, radius, 'svg-primary-projective-handle', handle);
48
- this._handles[index] = handle;
49
- }
50
- handle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
51
- handle.style.cursor = 'move';
52
- let horizontalLine = this._handleCrossHorizontalLines[index];
53
- horizontalLine = this._drawLine(point.x - crossRadius, point.y, point.x + crossRadius, point.y, 'svg-primary-projective-handle-cross', horizontalLine);
54
- horizontalLine.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
55
- horizontalLine.style.pointerEvents = 'none';
56
- this._handleCrossHorizontalLines[index] = horizontalLine;
57
- let verticalLine = this._handleCrossVerticalLines[index];
58
- verticalLine = this._drawLine(point.x, point.y - crossRadius, point.x, point.y + crossRadius, 'svg-primary-projective-handle-cross', verticalLine);
59
- verticalLine.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
60
- verticalLine.style.pointerEvents = 'none';
61
- this._handleCrossVerticalLines[index] = verticalLine;
62
- }
63
- }
64
- }
65
- dispose() {
66
- this._activeHandleIndex = null;
67
- this._restorePersistedTransform();
68
- this._removeAllOverlays();
69
- }
70
- _handlePointerEvent(index, event) {
71
- event.stopPropagation();
72
- const target = event.target;
73
- switch (event.type) {
74
- case EventNames.PointerDown:
75
- if (!this._startDrag(index)) {
76
- return;
77
- }
78
- target.setPointerCapture(event.pointerId);
79
- this._activeHandleIndex = index;
80
- break;
81
- case EventNames.PointerMove:
82
- if (this._activeHandleIndex === index && event.buttons > 0) {
83
- const localPoint = this._getLocalPointerPoint(event);
84
- if (!localPoint) {
85
- return;
86
- }
87
- this._targetPoints[index] = localPoint;
88
- this._applyPreviewTransform();
89
- }
90
- break;
91
- case EventNames.PointerUp:
92
- if (this._activeHandleIndex === index) {
93
- const localPoint = this._getLocalPointerPoint(event);
94
- if (localPoint) {
95
- this._targetPoints[index] = localPoint;
96
- this._applyPreviewTransform();
97
- }
98
- target.releasePointerCapture(event.pointerId);
99
- this._commitTransform();
100
- this._activeHandleIndex = null;
101
- }
102
- break;
103
- }
104
- }
105
- _startDrag(index) {
106
- const { baseTransform, projectiveTransform } = this._parseTransform(this.extendedItem.getStyleFromSheetOrLocal('transform') ?? '');
107
- this._baseTransform = baseTransform;
108
- this._projectiveTransform = projectiveTransform;
109
- const currentQuad = this.extendedItem.element.getBoxQuads({ box: 'border', relativeTo: this.designerCanvas.canvas })[0];
110
- if (!currentQuad) {
111
- return false;
112
- }
113
- const element = this.extendedItem.element;
114
- element.style.transform = this._buildTransform(this._baseTransform, '');
115
- this._targetPoints = this._convertQuadToLocalPoints(currentQuad);
116
- if (this._targetPoints.length !== 4 || this._targetPoints.some(point => !Number.isFinite(point.x) || !Number.isFinite(point.y))) {
117
- this._restorePersistedTransform();
118
- return false;
119
- }
120
- element.style.transform = this._buildTransform(this._baseTransform, this._projectiveTransform);
121
- return this._targetPoints[index] != null;
122
- }
123
- _convertQuadToLocalPoints(quad) {
124
- return [quad.p1, quad.p2, quad.p3, quad.p4].map(point => {
125
- const localPoint = this.extendedItem.element.convertPointFromNode({ x: point.x, y: point.y }, this.designerCanvas.canvas);
126
- return { x: localPoint.x, y: localPoint.y };
127
- });
128
- }
129
- _getLocalPointerPoint(event) {
130
- const element = this.extendedItem.element;
131
- const previewTransform = element.style.transform;
132
- element.style.transform = this._buildTransform(this._baseTransform, '');
133
- const mousePoint = this.designerCanvas.getNormalizedEventCoordinates(event);
134
- const localPoint = element.convertPointFromNode({ x: mousePoint.x, y: mousePoint.y }, this.designerCanvas.canvas);
135
- element.style.transform = previewTransform;
136
- if (!Number.isFinite(localPoint.x) || !Number.isFinite(localPoint.y)) {
137
- return null;
138
- }
139
- return { x: localPoint.x, y: localPoint.y };
140
- }
141
- _applyPreviewTransform() {
142
- const projectiveTransform = this._buildProjectiveTransform(this._targetPoints);
143
- if (projectiveTransform == null) {
144
- return;
145
- }
146
- this._projectiveTransform = projectiveTransform;
147
- this.extendedItem.element.style.transform = this._buildTransform(this._baseTransform, this._projectiveTransform);
148
- }
149
- _commitTransform() {
150
- const projectiveTransform = this._buildProjectiveTransform(this._targetPoints);
151
- if (projectiveTransform != null) {
152
- this._projectiveTransform = projectiveTransform;
153
- }
154
- const finalTransform = this._buildTransform(this._baseTransform, this._projectiveTransform);
155
- if (finalTransform) {
156
- this.extendedItem.updateStyleInSheetOrLocal('transform', finalTransform);
157
- }
158
- else if (this.extendedItem.hasStyle('transform')) {
159
- this.extendedItem.removeStyle('transform');
160
- }
161
- else {
162
- this.extendedItem.updateStyleInSheetOrLocal('transform', null);
163
- }
164
- this._restorePersistedTransform();
165
- }
166
- _restorePersistedTransform() {
167
- const element = this.extendedItem.element;
168
- if (this.extendedItem.hasStyle('transform')) {
169
- element.style.transform = this.extendedItem.getStyle('transform') ?? '';
170
- }
171
- else {
172
- element.style.transform = '';
173
- }
174
- }
175
- _buildProjectiveTransform(points) {
176
- const size = getElementSize(this.extendedItem.element);
177
- if (!size.width || !size.height || points.length !== 4) {
178
- return '';
179
- }
180
- const sourcePoints = [
181
- { x: 0, y: 0 },
182
- { x: size.width, y: 0 },
183
- { x: size.width, y: size.height },
184
- { x: 0, y: size.height }
185
- ];
186
- if (this._pointsApproximatelyEqual(points, sourcePoints)) {
187
- return '';
188
- }
189
- const matrix = this._createProjectiveMatrix(points, size.width, size.height);
190
- if (!matrix) {
191
- return null;
192
- }
193
- const transformOrigin = getComputedStyle(this.extendedItem.element).transformOrigin.split(' ');
194
- const origin = {
195
- x: parseFloat(transformOrigin[0]) || 0,
196
- y: parseFloat(transformOrigin[1]) || 0
197
- };
198
- const correctedMatrix = new DOMMatrix()
199
- .translate(-origin.x, -origin.y)
200
- .multiply(matrix)
201
- .multiply(new DOMMatrix().translate(origin.x, origin.y));
202
- return this._serializeMatrix3d(correctedMatrix);
203
- }
204
- _createProjectiveMatrix(points, width, height) {
205
- const [p1, p2, p3, p4] = points;
206
- const dx1 = p2.x - p3.x;
207
- const dx2 = p4.x - p3.x;
208
- const dx3 = p1.x - p2.x + p3.x - p4.x;
209
- const dy1 = p2.y - p3.y;
210
- const dy2 = p4.y - p3.y;
211
- const dy3 = p1.y - p2.y + p3.y - p4.y;
212
- let aUnit;
213
- let bUnit;
214
- let dUnit;
215
- let eUnit;
216
- let gUnit;
217
- let hUnit;
218
- if (Math.abs(dx3) < 1e-8 && Math.abs(dy3) < 1e-8) {
219
- aUnit = p2.x - p1.x;
220
- bUnit = p4.x - p1.x;
221
- dUnit = p2.y - p1.y;
222
- eUnit = p4.y - p1.y;
223
- gUnit = 0;
224
- hUnit = 0;
225
- }
226
- else {
227
- const determinant = dx1 * dy2 - dx2 * dy1;
228
- if (Math.abs(determinant) < 1e-8) {
229
- return null;
230
- }
231
- gUnit = (dx3 * dy2 - dx2 * dy3) / determinant;
232
- hUnit = (dx1 * dy3 - dx3 * dy1) / determinant;
233
- aUnit = p2.x - p1.x + gUnit * p2.x;
234
- bUnit = p4.x - p1.x + hUnit * p4.x;
235
- dUnit = p2.y - p1.y + gUnit * p2.y;
236
- eUnit = p4.y - p1.y + hUnit * p4.y;
237
- }
238
- const matrix = new DOMMatrix([
239
- aUnit / width, dUnit / width, 0, gUnit / width,
240
- bUnit / height, eUnit / height, 0, hUnit / height,
241
- 0, 0, 1, 0,
242
- p1.x, p1.y, 0, 1
243
- ]);
244
- const values = [
245
- matrix.m11, matrix.m12, matrix.m13, matrix.m14,
246
- matrix.m21, matrix.m22, matrix.m23, matrix.m24,
247
- matrix.m31, matrix.m32, matrix.m33, matrix.m34,
248
- matrix.m41, matrix.m42, matrix.m43, matrix.m44
249
- ];
250
- if (values.some(value => !Number.isFinite(value))) {
251
- return null;
252
- }
253
- return matrix;
254
- }
255
- _serializeMatrix3d(matrix) {
256
- const values = [
257
- matrix.m11, matrix.m12, matrix.m13, matrix.m14,
258
- matrix.m21, matrix.m22, matrix.m23, matrix.m24,
259
- matrix.m31, matrix.m32, matrix.m33, matrix.m34,
260
- matrix.m41, matrix.m42, matrix.m43, matrix.m44
261
- ].map(value => this._formatMatrixNumber(value));
262
- return `matrix3d(${values.join(', ')})`;
263
- }
264
- _formatMatrixNumber(value) {
265
- if (Math.abs(value) < 1e-10) {
266
- return '0';
267
- }
268
- let rounded = value.toFixed(8);
269
- if (rounded.includes('.')) {
270
- rounded = rounded.replace(/0+$/, '').replace(/\.$/, '');
271
- }
272
- return rounded === '-0' ? '0' : rounded;
273
- }
274
- _buildTransform(baseTransform, projectiveTransform) {
275
- const transforms = [];
276
- if (baseTransform?.trim()) {
277
- transforms.push(baseTransform.trim());
278
- }
279
- if (projectiveTransform?.trim()) {
280
- transforms.push(projectiveTransform.trim());
281
- }
282
- return transforms.join(' ').trim();
283
- }
284
- _parseTransform(transform) {
285
- if (!transform || transform === 'none') {
286
- return { baseTransform: '', projectiveTransform: '' };
287
- }
288
- const parts = this._splitTransformFunctions(transform);
289
- if (!parts.length) {
290
- return { baseTransform: transform.trim(), projectiveTransform: '' };
291
- }
292
- const lastPart = parts[parts.length - 1];
293
- const functionName = lastPart.slice(0, lastPart.indexOf('(')).trim().toLowerCase();
294
- if (functionName === 'matrix' || functionName === 'matrix3d') {
295
- return {
296
- baseTransform: parts.slice(0, -1).join(' ').trim(),
297
- projectiveTransform: lastPart.trim()
298
- };
299
- }
300
- return { baseTransform: transform.trim(), projectiveTransform: '' };
301
- }
302
- _splitTransformFunctions(transform) {
303
- const parts = [];
304
- let startIndex = -1;
305
- let depth = 0;
306
- for (let index = 0; index < transform.length; index++) {
307
- const character = transform[index];
308
- if (character === '(') {
309
- depth++;
310
- }
311
- else if (character === ')') {
312
- depth--;
313
- if (depth === 0 && startIndex !== -1) {
314
- parts.push(transform.slice(startIndex, index + 1).trim());
315
- startIndex = -1;
316
- }
317
- }
318
- else if (depth === 0 && startIndex === -1 && character.trim()) {
319
- startIndex = index;
320
- }
321
- }
322
- if (!parts.length && transform.trim()) {
323
- parts.push(transform.trim());
324
- }
325
- return parts;
326
- }
327
- _pointsApproximatelyEqual(pointsA, pointsB) {
328
- if (pointsA.length !== pointsB.length) {
329
- return false;
330
- }
331
- return pointsA.every((point, index) => {
332
- const compareTo = pointsB[index];
333
- return Math.abs(point.x - compareTo.x) < 0.01 && Math.abs(point.y - compareTo.y) < 0.01;
334
- });
335
- }
336
- }
337
- //# sourceMappingURL=ProjectiveTransformExtension.js.map