@api-client/ui 0.2.2 → 0.2.3

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 (170) hide show
  1. package/package.json +7 -2
  2. package/test/env.ts +15 -0
  3. package/test/tsconfig.json +1 -7
  4. package/web-test-runner.config.js +5 -1
  5. package/build/src/visualization/elements/VizAssociationElement.d.ts +0 -4
  6. package/build/src/visualization/elements/VizAssociationElement.d.ts.map +0 -1
  7. package/build/src/visualization/elements/VizAssociationElement.js +0 -4
  8. package/build/src/visualization/elements/VizAssociationElement.js.map +0 -1
  9. package/build/src/visualization/elements/VizWorkspaceElement.d.ts +0 -110
  10. package/build/src/visualization/elements/VizWorkspaceElement.d.ts.map +0 -1
  11. package/build/src/visualization/elements/VizWorkspaceElement.js +0 -321
  12. package/build/src/visualization/elements/VizWorkspaceElement.js.map +0 -1
  13. package/build/src/visualization/elements/WorkspaceStyles.d.ts +0 -3
  14. package/build/src/visualization/elements/WorkspaceStyles.d.ts.map +0 -1
  15. package/build/src/visualization/elements/WorkspaceStyles.js +0 -168
  16. package/build/src/visualization/elements/WorkspaceStyles.js.map +0 -1
  17. package/build/src/visualization/lib/AnchorFinder.d.ts +0 -64
  18. package/build/src/visualization/lib/AnchorFinder.d.ts.map +0 -1
  19. package/build/src/visualization/lib/AnchorFinder.js +0 -107
  20. package/build/src/visualization/lib/AnchorFinder.js.map +0 -1
  21. package/build/src/visualization/lib/AnchorUtils.d.ts +0 -10
  22. package/build/src/visualization/lib/AnchorUtils.d.ts.map +0 -1
  23. package/build/src/visualization/lib/AnchorUtils.js +0 -44
  24. package/build/src/visualization/lib/AnchorUtils.js.map +0 -1
  25. package/build/src/visualization/lib/AssociationAnchors.d.ts +0 -134
  26. package/build/src/visualization/lib/AssociationAnchors.d.ts.map +0 -1
  27. package/build/src/visualization/lib/AssociationAnchors.js +0 -351
  28. package/build/src/visualization/lib/AssociationAnchors.js.map +0 -1
  29. package/build/src/visualization/lib/LabelSketch.d.ts +0 -16
  30. package/build/src/visualization/lib/LabelSketch.d.ts.map +0 -1
  31. package/build/src/visualization/lib/LabelSketch.js +0 -53
  32. package/build/src/visualization/lib/LabelSketch.js.map +0 -1
  33. package/build/src/visualization/lib/LineSketch.d.ts +0 -26
  34. package/build/src/visualization/lib/LineSketch.d.ts.map +0 -1
  35. package/build/src/visualization/lib/LineSketch.js +0 -55
  36. package/build/src/visualization/lib/LineSketch.js.map +0 -1
  37. package/build/src/visualization/lib/Point.d.ts +0 -74
  38. package/build/src/visualization/lib/Point.d.ts.map +0 -1
  39. package/build/src/visualization/lib/Point.js +0 -121
  40. package/build/src/visualization/lib/Point.js.map +0 -1
  41. package/build/src/visualization/lib/PositionUtils.d.ts +0 -65
  42. package/build/src/visualization/lib/PositionUtils.d.ts.map +0 -1
  43. package/build/src/visualization/lib/PositionUtils.js +0 -205
  44. package/build/src/visualization/lib/PositionUtils.js.map +0 -1
  45. package/build/src/visualization/lib/SelectionManager.d.ts +0 -183
  46. package/build/src/visualization/lib/SelectionManager.d.ts.map +0 -1
  47. package/build/src/visualization/lib/SelectionManager.js +0 -481
  48. package/build/src/visualization/lib/SelectionManager.js.map +0 -1
  49. package/build/src/visualization/lib/ShapeArtist.d.ts +0 -45
  50. package/build/src/visualization/lib/ShapeArtist.d.ts.map +0 -1
  51. package/build/src/visualization/lib/ShapeArtist.js +0 -209
  52. package/build/src/visualization/lib/ShapeArtist.js.map +0 -1
  53. package/build/src/visualization/lib/SvgMarkers.d.ts +0 -14
  54. package/build/src/visualization/lib/SvgMarkers.d.ts.map +0 -1
  55. package/build/src/visualization/lib/SvgMarkers.js +0 -77
  56. package/build/src/visualization/lib/SvgMarkers.js.map +0 -1
  57. package/build/src/visualization/lib/TipSketch.d.ts +0 -26
  58. package/build/src/visualization/lib/TipSketch.d.ts.map +0 -1
  59. package/build/src/visualization/lib/TipSketch.js +0 -77
  60. package/build/src/visualization/lib/TipSketch.js.map +0 -1
  61. package/build/src/visualization/lib/TouchSupport.d.ts +0 -14
  62. package/build/src/visualization/lib/TouchSupport.d.ts.map +0 -1
  63. package/build/src/visualization/lib/TouchSupport.js +0 -55
  64. package/build/src/visualization/lib/TouchSupport.js.map +0 -1
  65. package/build/src/visualization/lib/Utils.d.ts +0 -25
  66. package/build/src/visualization/lib/Utils.d.ts.map +0 -1
  67. package/build/src/visualization/lib/Utils.js +0 -59
  68. package/build/src/visualization/lib/Utils.js.map +0 -1
  69. package/build/src/visualization/lib/VisualizationTypes.d.ts +0 -216
  70. package/build/src/visualization/lib/VisualizationTypes.d.ts.map +0 -1
  71. package/build/src/visualization/lib/VisualizationTypes.js +0 -3
  72. package/build/src/visualization/lib/VisualizationTypes.js.map +0 -1
  73. package/build/src/visualization/lib/WorkspaceAlignment.d.ts +0 -51
  74. package/build/src/visualization/lib/WorkspaceAlignment.d.ts.map +0 -1
  75. package/build/src/visualization/lib/WorkspaceAlignment.js +0 -243
  76. package/build/src/visualization/lib/WorkspaceAlignment.js.map +0 -1
  77. package/build/src/visualization/lib/WorkspaceDebugging.d.ts +0 -104
  78. package/build/src/visualization/lib/WorkspaceDebugging.d.ts.map +0 -1
  79. package/build/src/visualization/lib/WorkspaceDebugging.js +0 -286
  80. package/build/src/visualization/lib/WorkspaceDebugging.js.map +0 -1
  81. package/build/src/visualization/lib/WorkspaceEdges.d.ts +0 -293
  82. package/build/src/visualization/lib/WorkspaceEdges.d.ts.map +0 -1
  83. package/build/src/visualization/lib/WorkspaceEdges.js +0 -1073
  84. package/build/src/visualization/lib/WorkspaceEdges.js.map +0 -1
  85. package/build/src/visualization/lib/WorkspaceGestures.d.ts +0 -119
  86. package/build/src/visualization/lib/WorkspaceGestures.d.ts.map +0 -1
  87. package/build/src/visualization/lib/WorkspaceGestures.js +0 -376
  88. package/build/src/visualization/lib/WorkspaceGestures.js.map +0 -1
  89. package/build/src/visualization/lib/WorkspaceSizing.d.ts +0 -66
  90. package/build/src/visualization/lib/WorkspaceSizing.d.ts.map +0 -1
  91. package/build/src/visualization/lib/WorkspaceSizing.js +0 -168
  92. package/build/src/visualization/lib/WorkspaceSizing.js.map +0 -1
  93. package/build/src/visualization/lib/lines/RectilinearLine.d.ts +0 -114
  94. package/build/src/visualization/lib/lines/RectilinearLine.d.ts.map +0 -1
  95. package/build/src/visualization/lib/lines/RectilinearLine.js +0 -605
  96. package/build/src/visualization/lib/lines/RectilinearLine.js.map +0 -1
  97. package/build/src/visualization/lib/tips/RectilinearTip.d.ts +0 -26
  98. package/build/src/visualization/lib/tips/RectilinearTip.d.ts.map +0 -1
  99. package/build/src/visualization/lib/tips/RectilinearTip.js +0 -149
  100. package/build/src/visualization/lib/tips/RectilinearTip.js.map +0 -1
  101. package/build/src/visualization/lib/tips/TipArtist.d.ts +0 -22
  102. package/build/src/visualization/lib/tips/TipArtist.d.ts.map +0 -1
  103. package/build/src/visualization/lib/tips/TipArtist.js +0 -31
  104. package/build/src/visualization/lib/tips/TipArtist.js.map +0 -1
  105. package/build/src/visualization/lib/types.d.ts +0 -164
  106. package/build/src/visualization/lib/types.d.ts.map +0 -1
  107. package/build/src/visualization/lib/types.js +0 -2
  108. package/build/src/visualization/lib/types.js.map +0 -1
  109. package/build/src/visualization/plugin/dnd/DragAndDropPlugin.d.ts +0 -126
  110. package/build/src/visualization/plugin/dnd/DragAndDropPlugin.d.ts.map +0 -1
  111. package/build/src/visualization/plugin/dnd/DragAndDropPlugin.js +0 -260
  112. package/build/src/visualization/plugin/dnd/DragAndDropPlugin.js.map +0 -1
  113. package/build/src/visualization/plugin/group-selection/GroupSelection.d.ts +0 -93
  114. package/build/src/visualization/plugin/group-selection/GroupSelection.d.ts.map +0 -1
  115. package/build/src/visualization/plugin/group-selection/GroupSelection.js +0 -250
  116. package/build/src/visualization/plugin/group-selection/GroupSelection.js.map +0 -1
  117. package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts +0 -10
  118. package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts.map +0 -1
  119. package/build/src/visualization/plugin/positioning/DataModelLayout.js +0 -105
  120. package/build/src/visualization/plugin/positioning/DataModelLayout.js.map +0 -1
  121. package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts +0 -93
  122. package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts.map +0 -1
  123. package/build/src/visualization/plugin/positioning/WorkspaceLayout.js +0 -96
  124. package/build/src/visualization/plugin/positioning/WorkspaceLayout.js.map +0 -1
  125. package/build/src/visualization/viz-association.d.ts +0 -7
  126. package/build/src/visualization/viz-association.d.ts.map +0 -1
  127. package/build/src/visualization/viz-association.js +0 -3
  128. package/build/src/visualization/viz-association.js.map +0 -1
  129. package/build/src/visualization/viz-workspace.d.ts +0 -7
  130. package/build/src/visualization/viz-workspace.d.ts.map +0 -1
  131. package/build/src/visualization/viz-workspace.js +0 -3
  132. package/build/src/visualization/viz-workspace.js.map +0 -1
  133. package/src/visualization/elements/VizAssociationElement.ts +0 -3
  134. package/src/visualization/elements/VizWorkspaceElement.ts +0 -302
  135. package/src/visualization/elements/WorkspaceStyles.ts +0 -168
  136. package/src/visualization/lib/AnchorFinder.ts +0 -112
  137. package/src/visualization/lib/AnchorUtils.ts +0 -53
  138. package/src/visualization/lib/AssociationAnchors.ts +0 -418
  139. package/src/visualization/lib/LabelSketch.ts +0 -67
  140. package/src/visualization/lib/LineSketch.ts +0 -62
  141. package/src/visualization/lib/Point.ts +0 -134
  142. package/src/visualization/lib/PositionUtils.ts +0 -218
  143. package/src/visualization/lib/SelectionManager.ts +0 -513
  144. package/src/visualization/lib/ShapeArtist.ts +0 -222
  145. package/src/visualization/lib/SvgMarkers.ts +0 -80
  146. package/src/visualization/lib/TipSketch.ts +0 -91
  147. package/src/visualization/lib/TouchSupport.ts +0 -72
  148. package/src/visualization/lib/Utils.ts +0 -63
  149. package/src/visualization/lib/VisualizationTypes.ts +0 -232
  150. package/src/visualization/lib/WorkspaceAlignment.ts +0 -261
  151. package/src/visualization/lib/WorkspaceDebugging.ts +0 -313
  152. package/src/visualization/lib/WorkspaceEdges.ts +0 -1153
  153. package/src/visualization/lib/WorkspaceGestures.ts +0 -400
  154. package/src/visualization/lib/WorkspaceSizing.ts +0 -181
  155. package/src/visualization/lib/lines/RectilinearLine.ts +0 -589
  156. package/src/visualization/lib/tips/RectilinearTip.ts +0 -156
  157. package/src/visualization/lib/tips/TipArtist.ts +0 -34
  158. package/src/visualization/lib/types.ts +0 -173
  159. package/src/visualization/plugin/dnd/DragAndDropPlugin.ts +0 -294
  160. package/src/visualization/plugin/group-selection/GroupSelection.ts +0 -271
  161. package/src/visualization/plugin/positioning/DataModelLayout.ts +0 -114
  162. package/src/visualization/plugin/positioning/WorkspaceLayout.ts +0 -149
  163. package/src/visualization/viz-association.ts +0 -9
  164. package/src/visualization/viz-workspace.ts +0 -9
  165. package/test/env.d.ts +0 -9
  166. package/test/env.js +0 -7
  167. package/test/visualization/lib/AnchorFinder.test.ts +0 -313
  168. package/test/visualization/lib/AnchorUtils.test.ts +0 -178
  169. package/test/visualization/lib/PositionUtils.test.ts +0 -406
  170. package/test/visualization/lib/test-styles.css +0 -80
@@ -1,218 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- import VizWorkspaceElement from '../elements/VizWorkspaceElement.js'
3
- import { Point } from './Point.js'
4
- import { IEdgeDirections, GeoDirection } from './types.js'
5
-
6
- /**
7
- * Computes a point from the `x` and `y` coordinates of the viewport and applies
8
- * the current scale to it to correctly position the click coordinates.
9
- *
10
- * @param wrapper The relatively positioned wrapper
11
- * @param container The absolutely positioned container
12
- * @param scale The current scale applied to the container
13
- * @returns A point with x and y scaled coordinates.
14
- */
15
- export function clickPoint(x: number, y: number, wrapper: HTMLElement, container: HTMLElement, scale: number): Point {
16
- const { left: vLeft, top: vTop } = wrapper.getBoundingClientRect()
17
- const { left: cLeft, top: cTop } = container.getBoundingClientRect()
18
- const workspaceRelativeX = cLeft - vLeft
19
- const workspaceRelativeY = cTop - vTop
20
- const viewportRelativeXClick = x - vLeft
21
- const viewportRelativeYClick = y - vTop
22
- const realWorkspaceXClick = viewportRelativeXClick - workspaceRelativeX
23
- const realWorkspaceYClick = viewportRelativeYClick - workspaceRelativeY
24
- const relativeXClick = realWorkspaceXClick / scale
25
- const relativeYClick = realWorkspaceYClick / scale
26
- return new Point(relativeXClick, relativeYClick)
27
- }
28
-
29
- /**
30
- * Computes a point from the `x` and `y` coordinates of the viewport and applies
31
- * the current scale to it to correctly position the click coordinates.
32
- *
33
- * @param workspace The workspace element
34
- * @returns A point with x and y scaled coordinates.
35
- */
36
- export function getRelativeClickPoint(x: number, y: number, workspace: VizWorkspaceElement): Point {
37
- const { scale, canvas } = workspace
38
- return clickPoint(x, y, workspace, canvas!, scale)
39
- }
40
-
41
- /**
42
- * Computes the direction for both start and end points relative to their
43
- * shapes.
44
- * The `end` property describes the direction of an abstract arrow would be pointing to.
45
- * The `start` is the direction facing the beginning of the path.
46
- *
47
- * @param sp The start point to calculate the direction from
48
- * @param ep The end point to calculate the direction to
49
- * @param sBox DOM rectangle of the source
50
- * @param eBox DOM rectangle of the target
51
- */
52
- export function findDirection(sp: Point, ep: Point, sBox: DOMRect, eBox: DOMRect): IEdgeDirections {
53
- const padding = 10
54
- let end: GeoDirection
55
- let start: GeoDirection
56
- if (Math.abs(eBox.left - ep.x) < padding) {
57
- end = 'east'
58
- } else if (Math.abs(eBox.right - ep.x) < padding) {
59
- end = 'west'
60
- } else if (Math.abs(eBox.bottom - ep.y) < padding) {
61
- end = 'south'
62
- } else {
63
- end = 'north'
64
- }
65
-
66
- if (Math.abs(sBox.left - sp.x) < padding) {
67
- start = 'west'
68
- } else if (Math.abs(sBox.right - sp.x) < padding) {
69
- start = 'east'
70
- } else if (Math.abs(sBox.top - sp.y) < padding) {
71
- start = 'north'
72
- } else {
73
- start = 'south'
74
- }
75
-
76
- return {
77
- end,
78
- start,
79
- }
80
- }
81
-
82
- // /**
83
- // * @param {Point} p1
84
- // * @param {Point} p2
85
- // * @param {Point} p3
86
- // * @param {Point} p4
87
- // * @returns {boolean} True when the pair of points (p1, p2) and (p3, p4) are the same on any order.
88
- // */
89
- // export function theSamePair(p1, p2, p3, p4) {
90
- // if (p1.x === p3.x && p1.y === p3.y && p2.x === p4.x && p2.y === p4.y) {
91
- // return true;
92
- // }
93
- // if (p1.x === p4.x && p1.y === p4.y && p2.x === p3.x && p2.y === p3.y) {
94
- // return true;
95
- // }
96
- // return false;
97
- // }
98
-
99
- /**
100
- * Finds a pair of points closest to each other but from both sets.
101
- *
102
- * @param s1 First set.
103
- * @param s2 Second set.
104
- * @param avoid1 Avoid these points (when possible) from the set1
105
- * @param avoid2 Avoid these points (when possible) from the set2
106
- * @returns A list of two points closest to each other or null if there were no points in the set.
107
- */
108
- export function closetsPair(s1: Point[], s2: Point[], avoid1: Point[] = [], avoid2: Point[] = []): Point[] | null {
109
- const avoidSet1 = new Set(avoid1.map((p) => `${p.x},${p.y}`))
110
- const avoidSet2 = new Set(avoid2.map((p) => `${p.x},${p.y}`))
111
-
112
- const filteredS1 = s1.filter((p) => !avoidSet1.has(`${p.x},${p.y}`))
113
- const filteredS2 = s2.filter((p) => !avoidSet2.has(`${p.x},${p.y}`))
114
-
115
- if (filteredS1.length === 0 || filteredS2.length === 0) {
116
- return null
117
- }
118
-
119
- let minSquaredDistance = Number.MAX_SAFE_INTEGER
120
- let p: Point | undefined
121
- let q: Point | undefined
122
-
123
- filteredS1.forEach((sp) => {
124
- filteredS2.forEach((sq) => {
125
- const squaredDistance = (sp.x - sq.x) ** 2 + (sp.y - sq.y) ** 2
126
- if (squaredDistance < minSquaredDistance) {
127
- minSquaredDistance = squaredDistance
128
- p = sp
129
- q = sq
130
- }
131
- })
132
- })
133
-
134
- if (p && q) {
135
- return [p, q]
136
- }
137
-
138
- return null // Return null if no pair is found.
139
- }
140
- // export function closetsPair(s1: Point[], s2: Point[], avoid1: Point[] = [], avoid2: Point[] = []): Point[] | null {
141
- // let distance = Number.MAX_SAFE_INTEGER
142
- // let p: Point | undefined
143
- // let q: Point | undefined
144
- // s1.forEach((sp) => {
145
- // if (avoid1.some((i) => i.x === sp.x && i.y === sp.y)) {
146
- // return
147
- // }
148
- // s2.forEach((sq) => {
149
- // if (avoid2.some((i) => i.x === sq.x && i.y === sq.y)) {
150
- // return
151
- // }
152
- // const d = sp.distance(sq)
153
- // if (d < distance) {
154
- // distance = d
155
- // p = sp
156
- // q = sq
157
- // }
158
- // })
159
- // })
160
- // if (!p && !!(avoid1.length || avoid2.length)) {
161
- // return closetsPair(s1, s2)
162
- // }
163
- // if (!p) {
164
- // return null
165
- // }
166
- // if (q) {
167
- // return [p, q]
168
- // }
169
- // return [p]
170
- // }
171
-
172
- /**
173
- * Filters out invalid points
174
- */
175
- export function filterPoints(points: Point[]): Point[] {
176
- return points.filter((v) => v.validate())
177
- }
178
-
179
- /**
180
- * Computes a point of the click inside the workspace element (not the content wrapper).
181
- * This then can be used to position elements that are not inside the visualization
182
- * workspace.
183
- *
184
- * @param workspace The workspace element
185
- * @returns A point with x and y scaled coordinates.
186
- */
187
- export function getWorkspaceClick(x: number, y: number, workspace: VizWorkspaceElement): Point {
188
- const { left, top } = workspace.getBoundingClientRect()
189
- const workspaceX = x - left
190
- const workspaceY = y - top
191
- return new Point(workspaceX, workspaceY)
192
- }
193
-
194
- export function getObjectBoundingClientRect(element: Element, workspace: VizWorkspaceElement): DOMRect {
195
- const box = element.getBoundingClientRect()
196
- const { x, y } = getRelativeClickPoint(box.x, box.y, workspace)
197
- const { scale } = workspace
198
- return new DOMRect(x, y, box.width / scale, box.height / scale)
199
- }
200
-
201
- /**
202
- * Dispatches the `positionchange` custom event on an element that has been positioned.
203
- *
204
- * @param dx The difference in the `x` position in relation to the object position before the move
205
- * @param dy The difference in the `y` position in relation to the object position before the move
206
- */
207
- export function notifyMoved(element: EventTarget, dx: number, dy: number): void {
208
- const e = new CustomEvent('positionchange', {
209
- composed: true,
210
- cancelable: true,
211
- bubbles: true,
212
- detail: {
213
- dx,
214
- dy,
215
- },
216
- })
217
- element.dispatchEvent(e)
218
- }