@vertexvis/viewer 0.18.2-testing.0 → 0.18.2-testing.1

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 (228) hide show
  1. package/dist/cjs/index-b99cd335.js +126 -1
  2. package/dist/esm/index-fd7d7b68.js +126 -1
  3. package/package.json +7 -7
  4. package/dist/components/_commonjsHelpers.js +0 -41
  5. package/dist/components/_commonjsHelpers.js.map +0 -1
  6. package/dist/components/browser.esm.js +0 -3173
  7. package/dist/components/browser.esm.js.map +0 -1
  8. package/dist/components/bundle.esm.js +0 -2250
  9. package/dist/components/bundle.esm.js.map +0 -1
  10. package/dist/components/bundle.esm2.js +0 -39740
  11. package/dist/components/bundle.esm2.js.map +0 -1
  12. package/dist/components/config.js +0 -81
  13. package/dist/components/config.js.map +0 -1
  14. package/dist/components/controller.js +0 -7627
  15. package/dist/components/controller.js.map +0 -1
  16. package/dist/components/controller2.js +0 -124
  17. package/dist/components/controller2.js.map +0 -1
  18. package/dist/components/controller3.js +0 -111
  19. package/dist/components/controller3.js.map +0 -1
  20. package/dist/components/cursors.js +0 -110
  21. package/dist/components/cursors.js.map +0 -1
  22. package/dist/components/dom.js +0 -43
  23. package/dist/components/dom.js.map +0 -1
  24. package/dist/components/dom2.js +0 -10
  25. package/dist/components/dom2.js.map +0 -1
  26. package/dist/components/elementRectObserver.js +0 -25
  27. package/dist/components/elementRectObserver.js.map +0 -1
  28. package/dist/components/entities.js +0 -179
  29. package/dist/components/entities.js.map +0 -1
  30. package/dist/components/errors.js +0 -80
  31. package/dist/components/errors.js.map +0 -1
  32. package/dist/components/events.js +0 -11
  33. package/dist/components/events.js.map +0 -1
  34. package/dist/components/index.d.ts +0 -26
  35. package/dist/components/index.js +0 -365
  36. package/dist/components/index.js.map +0 -1
  37. package/dist/components/index2.js +0 -63
  38. package/dist/components/index2.js.map +0 -1
  39. package/dist/components/interactions.js +0 -236
  40. package/dist/components/interactions.js.map +0 -1
  41. package/dist/components/mapper.js +0 -9811
  42. package/dist/components/mapper.js.map +0 -1
  43. package/dist/components/markup.js +0 -33
  44. package/dist/components/markup.js.map +0 -1
  45. package/dist/components/model.js +0 -134
  46. package/dist/components/model.js.map +0 -1
  47. package/dist/components/model2.js +0 -157
  48. package/dist/components/model2.js.map +0 -1
  49. package/dist/components/overlays.js +0 -76
  50. package/dist/components/overlays.js.map +0 -1
  51. package/dist/components/png-decoder.js +0 -2405
  52. package/dist/components/png-decoder.js.map +0 -1
  53. package/dist/components/regl-component.js +0 -12582
  54. package/dist/components/regl-component.js.map +0 -1
  55. package/dist/components/results.js +0 -24
  56. package/dist/components/results.js.map +0 -1
  57. package/dist/components/row.js +0 -32
  58. package/dist/components/row.js.map +0 -1
  59. package/dist/components/scene-tree-search.js +0 -146
  60. package/dist/components/scene-tree-search.js.map +0 -1
  61. package/dist/components/scene-tree-table-layout.js +0 -928
  62. package/dist/components/scene-tree-table-layout.js.map +0 -1
  63. package/dist/components/scene-tree-toolbar.js +0 -35
  64. package/dist/components/scene-tree-toolbar.js.map +0 -1
  65. package/dist/components/scene.js +0 -1508
  66. package/dist/components/scene.js.map +0 -1
  67. package/dist/components/stencil.js +0 -25
  68. package/dist/components/stencil.js.map +0 -1
  69. package/dist/components/streamAttributes.js +0 -40833
  70. package/dist/components/streamAttributes.js.map +0 -1
  71. package/dist/components/templates.js +0 -36
  72. package/dist/components/templates.js.map +0 -1
  73. package/dist/components/tslib.es6.js +0 -125
  74. package/dist/components/tslib.es6.js.map +0 -1
  75. package/dist/components/vertex-scene-tree-search.d.ts +0 -11
  76. package/dist/components/vertex-scene-tree-search.js +0 -11
  77. package/dist/components/vertex-scene-tree-search.js.map +0 -1
  78. package/dist/components/vertex-scene-tree-table-cell.d.ts +0 -11
  79. package/dist/components/vertex-scene-tree-table-cell.js +0 -209
  80. package/dist/components/vertex-scene-tree-table-cell.js.map +0 -1
  81. package/dist/components/vertex-scene-tree-table-column.d.ts +0 -11
  82. package/dist/components/vertex-scene-tree-table-column.js +0 -42
  83. package/dist/components/vertex-scene-tree-table-column.js.map +0 -1
  84. package/dist/components/vertex-scene-tree-table-header.d.ts +0 -11
  85. package/dist/components/vertex-scene-tree-table-header.js +0 -38
  86. package/dist/components/vertex-scene-tree-table-header.js.map +0 -1
  87. package/dist/components/vertex-scene-tree-table-layout.d.ts +0 -11
  88. package/dist/components/vertex-scene-tree-table-layout.js +0 -11
  89. package/dist/components/vertex-scene-tree-table-layout.js.map +0 -1
  90. package/dist/components/vertex-scene-tree-table-resize-divider.d.ts +0 -11
  91. package/dist/components/vertex-scene-tree-table-resize-divider.js +0 -57
  92. package/dist/components/vertex-scene-tree-table-resize-divider.js.map +0 -1
  93. package/dist/components/vertex-scene-tree-toolbar-group.d.ts +0 -11
  94. package/dist/components/vertex-scene-tree-toolbar-group.js +0 -38
  95. package/dist/components/vertex-scene-tree-toolbar-group.js.map +0 -1
  96. package/dist/components/vertex-scene-tree-toolbar.d.ts +0 -11
  97. package/dist/components/vertex-scene-tree-toolbar.js +0 -11
  98. package/dist/components/vertex-scene-tree-toolbar.js.map +0 -1
  99. package/dist/components/vertex-scene-tree.d.ts +0 -11
  100. package/dist/components/vertex-scene-tree.js +0 -803
  101. package/dist/components/vertex-scene-tree.js.map +0 -1
  102. package/dist/components/vertex-viewer-box-query-tool.d.ts +0 -11
  103. package/dist/components/vertex-viewer-box-query-tool.js +0 -352
  104. package/dist/components/vertex-viewer-box-query-tool.js.map +0 -1
  105. package/dist/components/vertex-viewer-button.d.ts +0 -11
  106. package/dist/components/vertex-viewer-button.js +0 -11
  107. package/dist/components/vertex-viewer-button.js.map +0 -1
  108. package/dist/components/vertex-viewer-default-toolbar.d.ts +0 -11
  109. package/dist/components/vertex-viewer-default-toolbar.js +0 -99
  110. package/dist/components/vertex-viewer-default-toolbar.js.map +0 -1
  111. package/dist/components/vertex-viewer-dom-element.d.ts +0 -11
  112. package/dist/components/vertex-viewer-dom-element.js +0 -11
  113. package/dist/components/vertex-viewer-dom-element.js.map +0 -1
  114. package/dist/components/vertex-viewer-dom-group.d.ts +0 -11
  115. package/dist/components/vertex-viewer-dom-group.js +0 -11
  116. package/dist/components/vertex-viewer-dom-group.js.map +0 -1
  117. package/dist/components/vertex-viewer-dom-renderer.d.ts +0 -11
  118. package/dist/components/vertex-viewer-dom-renderer.js +0 -11
  119. package/dist/components/vertex-viewer-dom-renderer.js.map +0 -1
  120. package/dist/components/vertex-viewer-hit-result-indicator.d.ts +0 -11
  121. package/dist/components/vertex-viewer-hit-result-indicator.js +0 -335
  122. package/dist/components/vertex-viewer-hit-result-indicator.js.map +0 -1
  123. package/dist/components/vertex-viewer-icon.d.ts +0 -11
  124. package/dist/components/vertex-viewer-icon.js +0 -11
  125. package/dist/components/vertex-viewer-icon.js.map +0 -1
  126. package/dist/components/vertex-viewer-layer.d.ts +0 -11
  127. package/dist/components/vertex-viewer-layer.js +0 -11
  128. package/dist/components/vertex-viewer-layer.js.map +0 -1
  129. package/dist/components/vertex-viewer-markup-arrow.d.ts +0 -11
  130. package/dist/components/vertex-viewer-markup-arrow.js +0 -11
  131. package/dist/components/vertex-viewer-markup-arrow.js.map +0 -1
  132. package/dist/components/vertex-viewer-markup-circle.d.ts +0 -11
  133. package/dist/components/vertex-viewer-markup-circle.js +0 -11
  134. package/dist/components/vertex-viewer-markup-circle.js.map +0 -1
  135. package/dist/components/vertex-viewer-markup-freeform.d.ts +0 -11
  136. package/dist/components/vertex-viewer-markup-freeform.js +0 -11
  137. package/dist/components/vertex-viewer-markup-freeform.js.map +0 -1
  138. package/dist/components/vertex-viewer-markup-tool.d.ts +0 -11
  139. package/dist/components/vertex-viewer-markup-tool.js +0 -257
  140. package/dist/components/vertex-viewer-markup-tool.js.map +0 -1
  141. package/dist/components/vertex-viewer-markup.d.ts +0 -11
  142. package/dist/components/vertex-viewer-markup.js +0 -362
  143. package/dist/components/vertex-viewer-markup.js.map +0 -1
  144. package/dist/components/vertex-viewer-measurement-details.d.ts +0 -11
  145. package/dist/components/vertex-viewer-measurement-details.js +0 -307
  146. package/dist/components/vertex-viewer-measurement-details.js.map +0 -1
  147. package/dist/components/vertex-viewer-measurement-distance.d.ts +0 -11
  148. package/dist/components/vertex-viewer-measurement-distance.js +0 -1067
  149. package/dist/components/vertex-viewer-measurement-distance.js.map +0 -1
  150. package/dist/components/vertex-viewer-measurement-line.d.ts +0 -11
  151. package/dist/components/vertex-viewer-measurement-line.js +0 -11
  152. package/dist/components/vertex-viewer-measurement-line.js.map +0 -1
  153. package/dist/components/vertex-viewer-measurement-overlays.d.ts +0 -11
  154. package/dist/components/vertex-viewer-measurement-overlays.js +0 -11
  155. package/dist/components/vertex-viewer-measurement-overlays.js.map +0 -1
  156. package/dist/components/vertex-viewer-measurement-precise.d.ts +0 -11
  157. package/dist/components/vertex-viewer-measurement-precise.js +0 -362
  158. package/dist/components/vertex-viewer-measurement-precise.js.map +0 -1
  159. package/dist/components/vertex-viewer-pin-group.d.ts +0 -11
  160. package/dist/components/vertex-viewer-pin-group.js +0 -11
  161. package/dist/components/vertex-viewer-pin-group.js.map +0 -1
  162. package/dist/components/vertex-viewer-pin-label-line.d.ts +0 -11
  163. package/dist/components/vertex-viewer-pin-label-line.js +0 -11
  164. package/dist/components/vertex-viewer-pin-label-line.js.map +0 -1
  165. package/dist/components/vertex-viewer-pin-label.d.ts +0 -11
  166. package/dist/components/vertex-viewer-pin-label.js +0 -11
  167. package/dist/components/vertex-viewer-pin-label.js.map +0 -1
  168. package/dist/components/vertex-viewer-pin-tool.d.ts +0 -11
  169. package/dist/components/vertex-viewer-pin-tool.js +0 -430
  170. package/dist/components/vertex-viewer-pin-tool.js.map +0 -1
  171. package/dist/components/vertex-viewer-spinner.d.ts +0 -11
  172. package/dist/components/vertex-viewer-spinner.js +0 -11
  173. package/dist/components/vertex-viewer-spinner.js.map +0 -1
  174. package/dist/components/vertex-viewer-toolbar-group.d.ts +0 -11
  175. package/dist/components/vertex-viewer-toolbar-group.js +0 -11
  176. package/dist/components/vertex-viewer-toolbar-group.js.map +0 -1
  177. package/dist/components/vertex-viewer-toolbar.d.ts +0 -11
  178. package/dist/components/vertex-viewer-toolbar.js +0 -11
  179. package/dist/components/vertex-viewer-toolbar.js.map +0 -1
  180. package/dist/components/vertex-viewer-transform-widget.d.ts +0 -11
  181. package/dist/components/vertex-viewer-transform-widget.js +0 -838
  182. package/dist/components/vertex-viewer-transform-widget.js.map +0 -1
  183. package/dist/components/vertex-viewer-view-cube.d.ts +0 -11
  184. package/dist/components/vertex-viewer-view-cube.js +0 -270
  185. package/dist/components/vertex-viewer-view-cube.js.map +0 -1
  186. package/dist/components/vertex-viewer.d.ts +0 -11
  187. package/dist/components/vertex-viewer.js +0 -3543
  188. package/dist/components/vertex-viewer.js.map +0 -1
  189. package/dist/components/viewer-button.js +0 -35
  190. package/dist/components/viewer-button.js.map +0 -1
  191. package/dist/components/viewer-dom-element.js +0 -250
  192. package/dist/components/viewer-dom-element.js.map +0 -1
  193. package/dist/components/viewer-dom-group.js +0 -214
  194. package/dist/components/viewer-dom-group.js.map +0 -1
  195. package/dist/components/viewer-dom-renderer.js +0 -295
  196. package/dist/components/viewer-dom-renderer.js.map +0 -1
  197. package/dist/components/viewer-icon.js +0 -87
  198. package/dist/components/viewer-icon.js.map +0 -1
  199. package/dist/components/viewer-layer.js +0 -46
  200. package/dist/components/viewer-layer.js.map +0 -1
  201. package/dist/components/viewer-markup-arrow.js +0 -235
  202. package/dist/components/viewer-markup-arrow.js.map +0 -1
  203. package/dist/components/viewer-markup-circle-components.js +0 -42
  204. package/dist/components/viewer-markup-circle-components.js.map +0 -1
  205. package/dist/components/viewer-markup-circle.js +0 -201
  206. package/dist/components/viewer-markup-circle.js.map +0 -1
  207. package/dist/components/viewer-markup-freeform.js +0 -251
  208. package/dist/components/viewer-markup-freeform.js.map +0 -1
  209. package/dist/components/viewer-measurement-line.js +0 -77
  210. package/dist/components/viewer-measurement-line.js.map +0 -1
  211. package/dist/components/viewer-measurement-overlays.js +0 -184
  212. package/dist/components/viewer-measurement-overlays.js.map +0 -1
  213. package/dist/components/viewer-pin-group.js +0 -207
  214. package/dist/components/viewer-pin-group.js.map +0 -1
  215. package/dist/components/viewer-pin-label-line.js +0 -43
  216. package/dist/components/viewer-pin-label-line.js.map +0 -1
  217. package/dist/components/viewer-pin-label.js +0 -427
  218. package/dist/components/viewer-pin-label.js.map +0 -1
  219. package/dist/components/viewer-spinner.js +0 -53
  220. package/dist/components/viewer-spinner.js.map +0 -1
  221. package/dist/components/viewer-toolbar-group.js +0 -42
  222. package/dist/components/viewer-toolbar-group.js.map +0 -1
  223. package/dist/components/viewer-toolbar.js +0 -61
  224. package/dist/components/viewer-toolbar.js.map +0 -1
  225. package/dist/components/viewport.js +0 -188
  226. package/dist/components/viewport.js.map +0 -1
  227. package/dist/components/wrappers_pb.js +0 -1926
  228. package/dist/components/wrappers_pb.js.map +0 -1
@@ -1,236 +0,0 @@
1
- /*!
2
- * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
- */
4
- import { p as point, j as matrix, c as angle, e as rectangle, d as dimensions } from './bundle.esm.js';
5
- import { h } from '@stencil/core/internal/client';
6
-
7
- function createArrowheadPoints(start, end, arrowAngle = 60) {
8
- const distance = point.distance(start, end);
9
- const angle$1 = angle.normalize(angle.toDegrees(angle.fromPoints(start, end)) - 270);
10
- // Adjust the arrow height in relation to the distance between the to and from
11
- // points. Uses a min and max size so the arrow doesn't become cartoonish.
12
- const height = Math.max(4, Math.min(16, distance * 0.25));
13
- const sideLength = height / Math.cos(angle.toRadians(90 - arrowAngle));
14
- const rotation = matrix.rotation(angle$1);
15
- const arrowLeft = point.polar(sideLength, angle.toRadians(arrowAngle * 2));
16
- const arrowRight = point.polar(sideLength, angle.toRadians(arrowAngle));
17
- const arrowBase = point.polar(height, angle.toRadians(90));
18
- return {
19
- tip: end,
20
- left: point.add(end, matrix.transformPoint(rotation, arrowLeft)),
21
- right: point.add(end, matrix.transformPoint(rotation, arrowRight)),
22
- base: point.add(end, matrix.transformPoint(rotation, arrowBase)),
23
- };
24
- }
25
- function arrowheadPointsToPolygonPoints(points) {
26
- return [points.tip, points.right, points.base, points.left]
27
- .map((pt) => `${pt.x},${pt.y}`)
28
- .join(' ');
29
- }
30
- function isVertexViewerArrowMarkup(el) {
31
- return (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-ARROW');
32
- }
33
- function parsePoint(value) {
34
- return typeof value === 'string' ? point.fromJson(value) : value;
35
- }
36
-
37
- function isVertexViewerCircleMarkup(el) {
38
- return (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-CIRCLE');
39
- }
40
- function parseBounds(value) {
41
- return typeof value === 'string' ? rectangle.fromJson(value) : value;
42
- }
43
-
44
- function parsePoints(value) {
45
- return typeof value === 'string'
46
- ? JSON.parse(value).map((values) => point.fromJson(JSON.stringify(values)))
47
- : value;
48
- }
49
- function isVertexViewerFreeformMarkup(el) {
50
- return (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-FREEFORM');
51
- }
52
-
53
- function getBoundingBox2dAnchorPosition(rect, position) {
54
- switch (position) {
55
- case 'top-left':
56
- return point.create(rect.x, rect.y);
57
- case 'top':
58
- return point.create(rect.x + rect.width / 2, rect.y);
59
- case 'top-right':
60
- return point.create(rect.x + rect.width, rect.y);
61
- case 'right':
62
- return point.create(rect.x + rect.width, rect.y + rect.height / 2);
63
- case 'bottom-right':
64
- return point.create(rect.x + rect.width, rect.y + rect.height);
65
- case 'bottom':
66
- return point.create(rect.x + rect.width / 2, rect.y + rect.height);
67
- case 'bottom-left':
68
- return point.create(rect.x, rect.y + rect.height);
69
- case 'left':
70
- return point.create(rect.x, rect.y + rect.height / 2);
71
- case 'center':
72
- return rectangle.center(rect);
73
- }
74
- }
75
- function translatePointToScreen(pt, canvasDimensions) {
76
- const scaleFactor = canvasDimensions.height;
77
- return point.add(point.scale(pt, scaleFactor, scaleFactor), dimensions.center(canvasDimensions));
78
- }
79
- function translateDimensionsToScreen(dimensions$1, canvasDimensions) {
80
- const scaleFactor = canvasDimensions.height;
81
- return dimensions.scale(scaleFactor, scaleFactor, dimensions$1);
82
- }
83
- /**
84
- * Translates a rectangle in relative units, to a rectangle in screen units.
85
- *
86
- * Shape coordinates are persisted in relative units, so they can be presented
87
- * at any size.
88
- */
89
- function translateRectToScreen(rect, canvasDimensions) {
90
- const position = translatePointToScreen(rect, canvasDimensions);
91
- const dimensions = translateDimensionsToScreen(rect, canvasDimensions);
92
- return rectangle.fromPointAndDimensions(position, dimensions);
93
- }
94
- /**
95
- * Translates a point in screen units, to a point in relative units.
96
- */
97
- function translatePointToRelative(pt, canvasDimensions) {
98
- const scaleFactor = 1 / canvasDimensions.height;
99
- const point$1 = point.scale(point.subtract(pt, dimensions.center(canvasDimensions)), scaleFactor, scaleFactor);
100
- return point$1;
101
- }
102
- /**
103
- * Translates a set of points in relative `original` units to
104
- * points in relative `bounds` units.
105
- */
106
- function translatePointsToBounds(points, original, bounds) {
107
- return points.map((pt) => point.add(point.scale(point.subtract(pt, original), bounds.width / (original.width || 1), bounds.height / (original.height || 1)), bounds));
108
- }
109
- function createRectangle(initialPoint, currentPoint, maintainAspectRatio) {
110
- const bounds = rectangle.fromPoints(initialPoint, currentPoint);
111
- if (maintainAspectRatio) {
112
- const fitBoundsSize = Math.max(bounds.width, bounds.height);
113
- const isPortrait = bounds.height > bounds.width;
114
- const currentIsLeftOfInitial = currentPoint.x <= initialPoint.x;
115
- const currentIsAboveInitial = currentPoint.y <= initialPoint.y;
116
- const fitBoundsX = currentIsLeftOfInitial
117
- ? isPortrait
118
- ? initialPoint.x - fitBoundsSize
119
- : currentPoint.x
120
- : initialPoint.x;
121
- const fitBoundsY = currentIsAboveInitial
122
- ? isPortrait
123
- ? currentPoint.y
124
- : initialPoint.y - fitBoundsSize
125
- : initialPoint.y;
126
- return rectangle.create(fitBoundsX, fitBoundsY, fitBoundsSize, fitBoundsSize);
127
- }
128
- else {
129
- return bounds;
130
- }
131
- }
132
- function transformRectangle(bounds, start, current, anchor, maintainAspectRatio) {
133
- const delta = point.subtract(current, start);
134
- const { x: left, y: top, width: w, height: h } = bounds;
135
- const right = left + w;
136
- const bottom = top + h;
137
- const topLeft = point.create(left, top);
138
- const bottomLeft = point.create(left, bottom);
139
- const topRight = point.create(right, top);
140
- const bottomRight = point.create(right, bottom);
141
- switch (anchor) {
142
- case 'top-left':
143
- return createRectangle(bottomRight, current, !!maintainAspectRatio);
144
- case 'top':
145
- return createRectangle(bottomRight, point.create(left, current.y), !!maintainAspectRatio);
146
- case 'top-right':
147
- return createRectangle(bottomLeft, current, !!maintainAspectRatio);
148
- case 'right':
149
- return createRectangle(bottomLeft, point.create(current.x, top), !!maintainAspectRatio);
150
- case 'bottom-right':
151
- return createRectangle(topLeft, current, !!maintainAspectRatio);
152
- case 'bottom':
153
- return createRectangle(topLeft, point.create(right, current.y), !!maintainAspectRatio);
154
- case 'bottom-left':
155
- return createRectangle(topRight, current, !!maintainAspectRatio);
156
- case 'left':
157
- return createRectangle(bottomRight, point.create(current.x, top), !!maintainAspectRatio);
158
- case 'center':
159
- return rectangle.create(bounds.x + delta.x, bounds.y + delta.y, bounds.width, bounds.height);
160
- }
161
- }
162
- function isVertexViewerMarkupElement(el) {
163
- return (isVertexViewerArrowMarkup(el) ||
164
- isVertexViewerCircleMarkup(el) ||
165
- isVertexViewerFreeformMarkup(el));
166
- }
167
- function isValidPointData(...points) {
168
- return points.every((pt) => !isNaN(pt.x) && !isNaN(pt.y));
169
- }
170
- function isValidStartEvent(event) {
171
- const el = event.target;
172
- return isVertexViewerMarkupElement(el) && el.mode !== 'edit';
173
- }
174
-
175
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
176
- const RelativeAnchor = ({ id, rotation, name, point, onPointerDown }, children) => {
177
- return (h("div", { id: id, class: "bounds-anchor-position", style: {
178
- top: `${point.y}px`,
179
- left: `${point.x}px`,
180
- }, onTouchStart: (event) => event.preventDefault(), onPointerDown: onPointerDown },
181
- h("div", { class: "bounds-anchor", style: {
182
- transform: `rotateZ(${rotation !== null && rotation !== void 0 ? rotation : 0}deg)`,
183
- } },
184
- h("slot", { name: name }, children))));
185
- };
186
- const SvgShadow = ({ id }) => {
187
- return (h("filter", { id: id, filterUnits: "userSpaceOnUse" },
188
- h("feGaussianBlur", { in: "SourceAlpha", stdDeviation: "2" }),
189
- h("feOffset", { dx: "0", dy: "1", result: "offsetblur" }),
190
- h("feFlood", { "flood-color": "#000000", "flood-opacity": "0.25" }),
191
- h("feComposite", { in2: "offsetblur", operator: "in" }),
192
- h("feMerge", null,
193
- h("feMergeNode", null),
194
- h("feMergeNode", { in: "SourceGraphic" }))));
195
- };
196
-
197
- class MarkupInteractionHandler {
198
- constructor() {
199
- this.handlePointerDown = (event) => {
200
- this.handleInteractionAttempt(event);
201
- };
202
- this.handlePointerMove = (event) => {
203
- this.handleInteractionMove(event);
204
- };
205
- this.handlePointerUp = (event) => {
206
- window.removeEventListener('pointermove', this.handlePointerMove);
207
- window.removeEventListener('pointerup', this.handlePointerUp);
208
- this.handleInteractionEnd(event);
209
- };
210
- this.resizeObserver = new ResizeObserver(([entry]) => {
211
- this.elementBounds = this.computeBoundingRect();
212
- });
213
- }
214
- initialize(element, api) {
215
- this.element = element;
216
- this.api = api;
217
- this.elementBounds = this.computeBoundingRect();
218
- this.resizeObserver.observe(this.element);
219
- this.element.addEventListener('pointerdown', this.handlePointerDown);
220
- }
221
- dispose() {
222
- var _a;
223
- this.resizeObserver.disconnect();
224
- (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handlePointerDown);
225
- this.element = undefined;
226
- this.api = undefined;
227
- }
228
- acceptInteraction() {
229
- window.addEventListener('pointermove', this.handlePointerMove);
230
- window.addEventListener('pointerup', this.handlePointerUp);
231
- }
232
- }
233
-
234
- export { MarkupInteractionHandler as M, RelativeAnchor as R, SvgShadow as S, isVertexViewerCircleMarkup as a, isVertexViewerFreeformMarkup as b, translatePointToScreen as c, isValidStartEvent as d, createArrowheadPoints as e, isValidPointData as f, arrowheadPointsToPolygonPoints as g, transformRectangle as h, isVertexViewerArrowMarkup as i, parseBounds as j, translateRectToScreen as k, translatePointsToBounds as l, parsePoints as m, getBoundingBox2dAnchorPosition as n, parsePoint as p, translatePointToRelative as t };
235
-
236
- //# sourceMappingURL=interactions.js.map
@@ -1 +0,0 @@
1
- {"file":"interactions.js","mappings":";;;;;;SASgB,qBAAqB,CACnC,KAAkB,EAClB,GAAgB,EAChB,UAAU,GAAG,EAAE;EAEf,MAAM,QAAQ,GAAGA,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EAC5C,MAAMC,OAAK,GAAGC,KAAK,CAAC,SAAS,CAC3BA,KAAK,CAAC,SAAS,CAACA,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CACpD,CAAC;;;EAIF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;EAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAACA,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;EAEvE,MAAM,QAAQ,GAAGC,MAAM,CAAC,QAAQ,CAACF,OAAK,CAAC,CAAC;EACxC,MAAM,SAAS,GAAGD,KAAK,CAAC,KAAK,CAAC,UAAU,EAAEE,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;EAC3E,MAAM,UAAU,GAAGF,KAAK,CAAC,KAAK,CAAC,UAAU,EAAEE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;EACxE,MAAM,SAAS,GAAGF,KAAK,CAAC,KAAK,CAAC,MAAM,EAAEE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;EAE3D,OAAO;IACL,GAAG,EAAE,GAAG;IACR,IAAI,EAAEF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAEG,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChE,KAAK,EAAEH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAEG,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,EAAEH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAEG,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;GACjE,CAAC;AACJ,CAAC;SAEe,8BAA8B,CAC5C,MAAuB;EAEvB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;KACxD,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;SAEe,yBAAyB,CACvC,EAAW;EAEX,QACE,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,QAAQ,KAAK,4BAA4B,EACzE;AACJ,CAAC;SAEe,UAAU,CACxB,KAAuC;EAEvC,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAGH,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACnE;;SCvDgB,0BAA0B,CACxC,EAAW;EAEX,QACE,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,QAAQ,KAAK,6BAA6B,EAC1E;AACJ,CAAC;SAEe,WAAW,CACzB,KAA+C;EAE/C,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAGI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACvE;;SCZgB,WAAW,CACzB,KAAyC;EAEzC,OAAO,OAAO,KAAK,KAAK,QAAQ;MAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAgB,KACrCJ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CACvC;MACD,KAAK,CAAC;AACZ,CAAC;SAEe,4BAA4B,CAC1C,EAAW;EAEX,QACE,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,QAAQ,KAAK,+BAA+B,EAC5E;AACJ;;SCDgB,8BAA8B,CAC5C,IAAyB,EACzB,QAAqC;EAErC,QAAQ,QAAQ;IACd,KAAK,UAAU;MACb,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,KAAK;MACR,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,WAAW;MACd,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,OAAO;MACV,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,KAAK,cAAc;MACjB,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,KAAK,QAAQ;MACX,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,KAAK,aAAa;MAChB,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,KAAK,MAAM;MACT,OAAOA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,KAAK,QAAQ;MACX,OAAOI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;GACjC;AACH,CAAC;SAEe,sBAAsB,CACpC,EAAe,EACf,gBAAuC;EAEvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;EAC5C,OAAOJ,KAAK,CAAC,GAAG,CACdA,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,EACzCK,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACpC,CAAC;AACJ,CAAC;SAWe,2BAA2B,CACzCC,YAAiC,EACjC,gBAAuC;EAEvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;EAC5C,OAAOD,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAEC,YAAU,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;SAMgB,qBAAqB,CACnC,IAAyB,EACzB,gBAAuC;EAEvC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;EAChE,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;EACvE,OAAOF,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAChE,CAAC;AAED;;;SAGgB,wBAAwB,CACtC,EAAe,EACf,gBAAuC;EAEvC,MAAM,WAAW,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;EAChD,MAAMG,OAAK,GAAGP,KAAK,CAAC,KAAK,CACvBA,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAEK,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EACvD,WAAW,EACX,WAAW,CACZ,CAAC;EAEF,OAAOE,OAAK,CAAC;AACf,CAAC;AAED;;;;SAIgB,uBAAuB,CACrC,MAAqB,EACrB,QAA6B,EAC7B,MAA2B;EAE3B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KACnBP,KAAK,CAAC,GAAG,CACPA,KAAK,CAAC,KAAK,CACTA,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC5B,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,EACpC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CACvC,EACD,MAAM,CACP,CACF,CAAC;AACJ,CAAC;SAEe,eAAe,CAC7B,YAAyB,EACzB,YAAyB,EACzB,mBAA4B;EAE5B,MAAM,MAAM,GAAGI,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;EAChE,IAAI,mBAAmB,EAAE;IACvB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAChD,MAAM,sBAAsB,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;IAChE,MAAM,qBAAqB,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,sBAAsB;QACrC,UAAU;UACR,YAAY,CAAC,CAAC,GAAG,aAAa;UAC9B,YAAY,CAAC,CAAC;QAChB,YAAY,CAAC,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,qBAAqB;QACpC,UAAU;UACR,YAAY,CAAC,CAAC;UACd,YAAY,CAAC,CAAC,GAAG,aAAa;QAChC,YAAY,CAAC,CAAC,CAAC;IACnB,OAAOA,SAAS,CAAC,MAAM,CACrB,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,CACd,CAAC;GACH;OAAM;IACL,OAAO,MAAM,CAAC;GACf;AACH,CAAC;SAEe,kBAAkB,CAChC,MAA2B,EAC3B,KAAkB,EAClB,OAAoB,EACpB,MAAmC,EACnC,mBAA6B;EAE7B,MAAM,KAAK,GAAGJ,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EAC7C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;EACxD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;EACvB,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;EACvB,MAAM,OAAO,GAAGA,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EACxC,MAAM,UAAU,GAAGA,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;EAC9C,MAAM,QAAQ,GAAGA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EAC1C,MAAM,WAAW,GAAGA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;EAChD,QAAQ,MAAM;IACZ,KAAK,UAAU;MACb,OAAO,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACtE,KAAK,KAAK;MACR,OAAO,eAAe,CACpB,WAAW,EACXA,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAC7B,CAAC,CAAC,mBAAmB,CACtB,CAAC;IACJ,KAAK,WAAW;MACd,OAAO,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACrE,KAAK,OAAO;MACV,OAAO,eAAe,CACpB,UAAU,EACVA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,EAC5B,CAAC,CAAC,mBAAmB,CACtB,CAAC;IACJ,KAAK,cAAc;MACjB,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,KAAK,QAAQ;MACX,OAAO,eAAe,CACpB,OAAO,EACPA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAC9B,CAAC,CAAC,mBAAmB,CACtB,CAAC;IACJ,KAAK,aAAa;MAChB,OAAO,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,KAAK,MAAM;MACT,OAAO,eAAe,CACpB,WAAW,EACXA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,EAC5B,CAAC,CAAC,mBAAmB,CACtB,CAAC;IACJ,KAAK,QAAQ;MACX,OAAOI,SAAS,CAAC,MAAM,CACrB,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAClB,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAClB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CACd,CAAC;GACL;AACH,CAAC;SAEe,2BAA2B,CACzC,EAAe;EAKf,QACE,yBAAyB,CAAC,EAAE,CAAC;IAC7B,0BAA0B,CAAC,EAAE,CAAC;IAC9B,4BAA4B,CAAC,EAAE,CAAC,EAChC;AACJ,CAAC;SAEe,gBAAgB,CAAC,GAAG,MAAqB;EACvD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;SAEe,iBAAiB,CAAC,KAAmB;EACnD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAqB,CAAC;EAEvC,OAAO,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/D;;AC3OA;MAYa,cAAc,GAA6C,CACtE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,EAC5C,QAAQ;EAER,QACE,WACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE;MACL,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI;MACnB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI;KACrB,EACD,YAAY,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE,EAC/C,aAAa,EAAE,aAAa;IAE5B,WACE,KAAK,EAAC,eAAe,EACrB,KAAK,EAAE;QACL,SAAS,EAAE,WAAW,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,MAAM;OAC1C;MAED,YAAM,IAAI,EAAE,IAAI,IAAG,QAAQ,CAAQ,CAC/B,CACF,EACN;AACJ,EAAE;MAMW,SAAS,GAAwC,CAAC,EAAE,EAAE,EAAE;EACnE,QACE,cAAQ,EAAE,EAAE,EAAE,EAAE,WAAW,EAAC,gBAAgB;IAC1C,sBAAgB,EAAE,EAAC,aAAa,EAAC,YAAY,EAAC,GAAG,GAAG;IACpD,gBAAU,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,MAAM,EAAC,YAAY,GAAG;IAC9C,8BAAqB,SAAS,mBAAe,MAAM,GAAG;IACtD,mBAAa,GAAG,EAAC,YAAY,EAAC,QAAQ,EAAC,IAAI,GAAG;IAC9C;MACE,sBAAe;MACf,mBAAa,EAAE,EAAC,eAAe,GAAG,CAC1B,CACH,EACT;AACJ;;MCtDsB,wBAAwB;EAO5C;IA6BQ,sBAAiB,GAAG,CAAC,KAAmB;MAC9C,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;KACtC,CAAC;IAEM,sBAAiB,GAAG,CAAC,KAAmB;MAC9C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACnC,CAAC;IAEM,oBAAe,GAAG,CAAC,KAAmB;MAC5C,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;MAClE,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;MAE9D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KAClC,CAAC;IAzCA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;MAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;KACjD,CAAC,CAAC;GACJ;EAEM,UAAU,CAAC,OAAoB,EAAE,GAAmB;IACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAEf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAChD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;GACtE;EAEM,OAAO;;IACZ,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACjC,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEzE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;GACtB;EAES,iBAAiB;IACzB,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;GAC5D;;;;;","names":["Point","angle","Angle","Matrix","Rectangle","Dimensions","dimensions","point"],"sources":["./src/components/viewer-markup-arrow/utils.ts","./src/components/viewer-markup-circle/utils.ts","./src/components/viewer-markup-freeform/utils.ts","./src/components/viewer-markup/markup-utils.ts","./src/components/viewer-markup/viewer-markup-components.tsx","./src/lib/markup/interactions.ts"],"sourcesContent":["import { Angle, Matrix, Point } from '@vertexvis/geometry';\n\nexport interface ArrowheadPoints {\n tip: Point.Point;\n left: Point.Point;\n right: Point.Point;\n base: Point.Point;\n}\n\nexport function createArrowheadPoints(\n start: Point.Point,\n end: Point.Point,\n arrowAngle = 60\n): ArrowheadPoints {\n const distance = Point.distance(start, end);\n const angle = Angle.normalize(\n Angle.toDegrees(Angle.fromPoints(start, end)) - 270\n );\n\n // Adjust the arrow height in relation to the distance between the to and from\n // points. Uses a min and max size so the arrow doesn't become cartoonish.\n const height = Math.max(4, Math.min(16, distance * 0.25));\n const sideLength = height / Math.cos(Angle.toRadians(90 - arrowAngle));\n\n const rotation = Matrix.rotation(angle);\n const arrowLeft = Point.polar(sideLength, Angle.toRadians(arrowAngle * 2));\n const arrowRight = Point.polar(sideLength, Angle.toRadians(arrowAngle));\n const arrowBase = Point.polar(height, Angle.toRadians(90));\n\n return {\n tip: end,\n left: Point.add(end, Matrix.transformPoint(rotation, arrowLeft)),\n right: Point.add(end, Matrix.transformPoint(rotation, arrowRight)),\n base: Point.add(end, Matrix.transformPoint(rotation, arrowBase)),\n };\n}\n\nexport function arrowheadPointsToPolygonPoints(\n points: ArrowheadPoints\n): string {\n return [points.tip, points.right, points.base, points.left]\n .map((pt) => `${pt.x},${pt.y}`)\n .join(' ');\n}\n\nexport function isVertexViewerArrowMarkup(\n el: unknown\n): el is HTMLVertexViewerMarkupArrowElement {\n return (\n el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-ARROW'\n );\n}\n\nexport function parsePoint(\n value: string | Point.Point | undefined\n): Point.Point | undefined {\n return typeof value === 'string' ? Point.fromJson(value) : value;\n}\n","import { Rectangle } from '@vertexvis/geometry';\n\nexport function isVertexViewerCircleMarkup(\n el: unknown\n): el is HTMLVertexViewerMarkupCircleElement {\n return (\n el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-CIRCLE'\n );\n}\n\nexport function parseBounds(\n value: string | Rectangle.Rectangle | undefined\n): Rectangle.Rectangle | undefined {\n return typeof value === 'string' ? Rectangle.fromJson(value) : value;\n}\n","import { Point } from '@vertexvis/geometry';\n\nexport function parsePoints(\n value: string | Point.Point[] | undefined\n): Point.Point[] | undefined {\n return typeof value === 'string'\n ? JSON.parse(value).map((values: number[]) =>\n Point.fromJson(JSON.stringify(values))\n )\n : value;\n}\n\nexport function isVertexViewerFreeformMarkup(\n el: unknown\n): el is HTMLVertexViewerMarkupFreeformElement {\n return (\n el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-FREEFORM'\n );\n}\n","import { Dimensions, Point, Rectangle } from '@vertexvis/geometry';\n\nimport { isVertexViewerArrowMarkup } from '../viewer-markup-arrow/utils';\nimport { isVertexViewerCircleMarkup } from '../viewer-markup-circle/utils';\nimport { isVertexViewerFreeformMarkup } from '../viewer-markup-freeform/utils';\n\nexport type BoundingBox2dAnchorPosition =\n | 'left'\n | 'right'\n | 'top'\n | 'bottom'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n | 'center';\n\nexport function getBoundingBox2dAnchorPosition(\n rect: Rectangle.Rectangle,\n position: BoundingBox2dAnchorPosition\n): Point.Point {\n switch (position) {\n case 'top-left':\n return Point.create(rect.x, rect.y);\n case 'top':\n return Point.create(rect.x + rect.width / 2, rect.y);\n case 'top-right':\n return Point.create(rect.x + rect.width, rect.y);\n case 'right':\n return Point.create(rect.x + rect.width, rect.y + rect.height / 2);\n case 'bottom-right':\n return Point.create(rect.x + rect.width, rect.y + rect.height);\n case 'bottom':\n return Point.create(rect.x + rect.width / 2, rect.y + rect.height);\n case 'bottom-left':\n return Point.create(rect.x, rect.y + rect.height);\n case 'left':\n return Point.create(rect.x, rect.y + rect.height / 2);\n case 'center':\n return Rectangle.center(rect);\n }\n}\n\nexport function translatePointToScreen(\n pt: Point.Point,\n canvasDimensions: Dimensions.Dimensions\n): Point.Point {\n const scaleFactor = canvasDimensions.height;\n return Point.add(\n Point.scale(pt, scaleFactor, scaleFactor),\n Dimensions.center(canvasDimensions)\n );\n}\n\nexport function translatePointToBounds(\n pt: Point.Point,\n rect: Rectangle.Rectangle,\n canvasDimensions: Dimensions.Dimensions\n): Point.Point {\n const rectToScreen = translateRectToScreen(rect, canvasDimensions);\n return Point.add(pt, rectToScreen);\n}\n\nexport function translateDimensionsToScreen(\n dimensions: Dimensions.Dimensions,\n canvasDimensions: Dimensions.Dimensions\n): Dimensions.Dimensions {\n const scaleFactor = canvasDimensions.height;\n return Dimensions.scale(scaleFactor, scaleFactor, dimensions);\n}\n\n/**\n * Translates a rectangle in relative units, to a rectangle in screen units.\n *\n * Shape coordinates are persisted in relative units, so they can be presented\n * at any size.\n */\nexport function translateRectToScreen(\n rect: Rectangle.Rectangle,\n canvasDimensions: Dimensions.Dimensions\n): Rectangle.Rectangle {\n const position = translatePointToScreen(rect, canvasDimensions);\n const dimensions = translateDimensionsToScreen(rect, canvasDimensions);\n return Rectangle.fromPointAndDimensions(position, dimensions);\n}\n\n/**\n * Translates a point in screen units, to a point in relative units.\n */\nexport function translatePointToRelative(\n pt: Point.Point,\n canvasDimensions: Dimensions.Dimensions\n): Point.Point {\n const scaleFactor = 1 / canvasDimensions.height;\n const point = Point.scale(\n Point.subtract(pt, Dimensions.center(canvasDimensions)),\n scaleFactor,\n scaleFactor\n );\n\n return point;\n}\n\n/**\n * Translates a set of points in relative `original` units to\n * points in relative `bounds` units.\n */\nexport function translatePointsToBounds(\n points: Point.Point[],\n original: Rectangle.Rectangle,\n bounds: Rectangle.Rectangle\n): Point.Point[] {\n return points.map((pt) =>\n Point.add(\n Point.scale(\n Point.subtract(pt, original),\n bounds.width / (original.width || 1),\n bounds.height / (original.height || 1)\n ),\n bounds\n )\n );\n}\n\nexport function createRectangle(\n initialPoint: Point.Point,\n currentPoint: Point.Point,\n maintainAspectRatio: boolean\n): Rectangle.Rectangle {\n const bounds = Rectangle.fromPoints(initialPoint, currentPoint);\n if (maintainAspectRatio) {\n const fitBoundsSize = Math.max(bounds.width, bounds.height);\n const isPortrait = bounds.height > bounds.width;\n const currentIsLeftOfInitial = currentPoint.x <= initialPoint.x;\n const currentIsAboveInitial = currentPoint.y <= initialPoint.y;\n const fitBoundsX = currentIsLeftOfInitial\n ? isPortrait\n ? initialPoint.x - fitBoundsSize\n : currentPoint.x\n : initialPoint.x;\n const fitBoundsY = currentIsAboveInitial\n ? isPortrait\n ? currentPoint.y\n : initialPoint.y - fitBoundsSize\n : initialPoint.y;\n return Rectangle.create(\n fitBoundsX,\n fitBoundsY,\n fitBoundsSize,\n fitBoundsSize\n );\n } else {\n return bounds;\n }\n}\n\nexport function transformRectangle(\n bounds: Rectangle.Rectangle,\n start: Point.Point,\n current: Point.Point,\n anchor: BoundingBox2dAnchorPosition,\n maintainAspectRatio?: boolean\n): Rectangle.Rectangle {\n const delta = Point.subtract(current, start);\n const { x: left, y: top, width: w, height: h } = bounds;\n const right = left + w;\n const bottom = top + h;\n const topLeft = Point.create(left, top);\n const bottomLeft = Point.create(left, bottom);\n const topRight = Point.create(right, top);\n const bottomRight = Point.create(right, bottom);\n switch (anchor) {\n case 'top-left':\n return createRectangle(bottomRight, current, !!maintainAspectRatio);\n case 'top':\n return createRectangle(\n bottomRight,\n Point.create(left, current.y),\n !!maintainAspectRatio\n );\n case 'top-right':\n return createRectangle(bottomLeft, current, !!maintainAspectRatio);\n case 'right':\n return createRectangle(\n bottomLeft,\n Point.create(current.x, top),\n !!maintainAspectRatio\n );\n case 'bottom-right':\n return createRectangle(topLeft, current, !!maintainAspectRatio);\n case 'bottom':\n return createRectangle(\n topLeft,\n Point.create(right, current.y),\n !!maintainAspectRatio\n );\n case 'bottom-left':\n return createRectangle(topRight, current, !!maintainAspectRatio);\n case 'left':\n return createRectangle(\n bottomRight,\n Point.create(current.x, top),\n !!maintainAspectRatio\n );\n case 'center':\n return Rectangle.create(\n bounds.x + delta.x,\n bounds.y + delta.y,\n bounds.width,\n bounds.height\n );\n }\n}\n\nexport function isVertexViewerMarkupElement(\n el: HTMLElement\n): el is\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement {\n return (\n isVertexViewerArrowMarkup(el) ||\n isVertexViewerCircleMarkup(el) ||\n isVertexViewerFreeformMarkup(el)\n );\n}\n\nexport function isValidPointData(...points: Point.Point[]): boolean {\n return points.every((pt) => !isNaN(pt.x) && !isNaN(pt.y));\n}\n\nexport function isValidStartEvent(event: PointerEvent): boolean {\n const el = event.target as HTMLElement;\n\n return isVertexViewerMarkupElement(el) && el.mode !== 'edit';\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { FunctionalComponent, h } from '@stencil/core';\nimport { Point } from '@vertexvis/geometry';\n\nexport interface RelativeAnchorProps {\n id?: string;\n rotation?: number;\n name: string;\n point: Point.Point;\n onPointerDown?: (event: PointerEvent) => void;\n}\n\nexport const RelativeAnchor: FunctionalComponent<RelativeAnchorProps> = (\n { id, rotation, name, point, onPointerDown },\n children\n) => {\n return (\n <div\n id={id}\n class=\"bounds-anchor-position\"\n style={{\n top: `${point.y}px`,\n left: `${point.x}px`,\n }}\n onTouchStart={(event) => event.preventDefault()}\n onPointerDown={onPointerDown}\n >\n <div\n class=\"bounds-anchor\"\n style={{\n transform: `rotateZ(${rotation ?? 0}deg)`,\n }}\n >\n <slot name={name}>{children}</slot>\n </div>\n </div>\n );\n};\n\nexport interface SvgShadowProps {\n id: string;\n}\n\nexport const SvgShadow: FunctionalComponent<SvgShadowProps> = ({ id }) => {\n return (\n <filter id={id} filterUnits=\"userSpaceOnUse\">\n <feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"2\" />\n <feOffset dx=\"0\" dy=\"1\" result=\"offsetblur\" />\n <feFlood flood-color=\"#000000\" flood-opacity=\"0.25\" />\n <feComposite in2=\"offsetblur\" operator=\"in\" />\n <feMerge>\n <feMergeNode />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>\n );\n};\n","import type { InteractionApi, InteractionHandler } from '../interactions';\n\nexport abstract class MarkupInteractionHandler implements InteractionHandler {\n protected element?: HTMLElement;\n protected elementBounds?: DOMRect;\n protected api?: InteractionApi;\n\n private resizeObserver: ResizeObserver;\n\n public constructor() {\n this.resizeObserver = new ResizeObserver(([entry]) => {\n this.elementBounds = this.computeBoundingRect();\n });\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.api = api;\n\n this.elementBounds = this.computeBoundingRect();\n this.resizeObserver.observe(this.element);\n\n this.element.addEventListener('pointerdown', this.handlePointerDown);\n }\n\n public dispose(): void {\n this.resizeObserver.disconnect();\n this.element?.removeEventListener('pointerdown', this.handlePointerDown);\n\n this.element = undefined;\n this.api = undefined;\n }\n\n protected acceptInteraction(): void {\n window.addEventListener('pointermove', this.handlePointerMove);\n window.addEventListener('pointerup', this.handlePointerUp);\n }\n\n private handlePointerDown = (event: PointerEvent): void => {\n this.handleInteractionAttempt(event);\n };\n\n private handlePointerMove = (event: PointerEvent): void => {\n this.handleInteractionMove(event);\n };\n\n private handlePointerUp = (event: PointerEvent): void => {\n window.removeEventListener('pointermove', this.handlePointerMove);\n window.removeEventListener('pointerup', this.handlePointerUp);\n\n this.handleInteractionEnd(event);\n };\n\n protected abstract computeBoundingRect(): DOMRect;\n\n protected abstract handleInteractionAttempt(event: PointerEvent): void;\n\n protected abstract handleInteractionMove(event: PointerEvent): void;\n\n protected abstract handleInteractionEnd(event: PointerEvent): void;\n}\n"],"version":3}