ducjs 2.0.0 → 2.1.0

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 (248) hide show
  1. package/README.md +1 -1
  2. package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -3
  3. package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -8
  4. package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -3
  5. package/dist/flatbuffers/duc/duc-leader-style.js +0 -8
  6. package/dist/flatbuffers/duc/duc-plot-style.d.ts +1 -4
  7. package/dist/flatbuffers/duc/duc-plot-style.js +1 -10
  8. package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -3
  9. package/dist/flatbuffers/duc/duc-table-style.js +0 -8
  10. package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -3
  11. package/dist/flatbuffers/duc/duc-text-style.js +0 -8
  12. package/dist/flatbuffers/duc/duc-viewport-style.d.ts +1 -4
  13. package/dist/flatbuffers/duc/duc-viewport-style.js +1 -10
  14. package/dist/flatbuffers/duc/duc-xray-style.d.ts +1 -4
  15. package/dist/flatbuffers/duc/duc-xray-style.js +1 -10
  16. package/dist/flatbuffers/duc/exported-data-state.d.ts +3 -0
  17. package/dist/flatbuffers/duc/exported-data-state.js +8 -1
  18. package/dist/index.d.ts +0 -1
  19. package/dist/index.js +0 -1
  20. package/dist/parse.d.ts +5 -5
  21. package/dist/parse.js +57 -20
  22. package/dist/restore/restoreDataState.d.ts +14 -10
  23. package/dist/restore/restoreDataState.js +29 -22
  24. package/dist/restore/restoreElements.d.ts +2 -2
  25. package/dist/restore/restoreElements.js +21 -14
  26. package/dist/restore/restoreStandards.d.ts +2 -2
  27. package/dist/restore/restoreStandards.js +4 -4
  28. package/dist/serialize.d.ts +3 -2
  29. package/dist/serialize.js +14 -27
  30. package/dist/technical/measurements.d.ts +2 -2
  31. package/dist/technical/measurements.js +1 -1
  32. package/dist/technical/scopes.d.ts +4 -4
  33. package/dist/technical/scopes.js +1 -1
  34. package/dist/technical/standards.d.ts +4 -4
  35. package/dist/types/elements/index.d.ts +13 -13
  36. package/dist/types/elements/typeChecks.d.ts +5 -4
  37. package/dist/types/elements/typeChecks.js +5 -2
  38. package/dist/types/geometryTypes.d.ts +2 -2
  39. package/dist/types/index.d.ts +11 -8
  40. package/dist/types/index.js +1 -0
  41. package/dist/types/typeChecks.d.ts +5 -0
  42. package/dist/types/typeChecks.js +10 -0
  43. package/dist/utils/bounds.d.ts +3 -3
  44. package/dist/utils/bounds.js +3 -3
  45. package/dist/utils/constants.d.ts +5 -3
  46. package/dist/utils/constants.js +3 -5
  47. package/dist/utils/elements/frameElement.d.ts +2 -1
  48. package/dist/utils/elements/frameElement.js +13 -1
  49. package/dist/utils/elements/freedrawElement.d.ts +1 -1
  50. package/dist/utils/elements/freedrawElement.js +1 -1
  51. package/dist/utils/elements/index.d.ts +4 -4
  52. package/dist/utils/elements/index.js +17 -21
  53. package/dist/utils/elements/linearElement.d.ts +6 -6
  54. package/dist/utils/elements/linearElement.js +4 -4
  55. package/dist/utils/elements/newElement.d.ts +3 -3
  56. package/dist/utils/elements/newElement.js +26 -26
  57. package/dist/utils/elements/textElement.d.ts +7 -7
  58. package/dist/utils/elements/textElement.js +11 -9
  59. package/dist/utils/elements/viewportElement.d.ts +1 -1
  60. package/dist/utils/functionCodec.js +2 -2
  61. package/dist/utils/index.d.ts +1 -0
  62. package/dist/utils/index.js +1 -0
  63. package/dist/utils/math/algebra/gadirections.d.ts +1 -1
  64. package/dist/utils/math/algebra/gadirections.js +1 -1
  65. package/dist/utils/math/algebra/galines.d.ts +1 -1
  66. package/dist/utils/math/algebra/galines.js +1 -1
  67. package/dist/utils/math/algebra/gapoints.d.ts +1 -1
  68. package/dist/utils/math/algebra/gapoints.js +3 -3
  69. package/dist/utils/math/algebra/gatransforms.d.ts +1 -1
  70. package/dist/utils/math/algebra/gatransforms.js +2 -2
  71. package/dist/utils/math/bbox.d.ts +2 -2
  72. package/dist/utils/math/geometry.d.ts +3 -3
  73. package/dist/utils/math/geometry.js +2 -2
  74. package/dist/utils/math/index.d.ts +6 -6
  75. package/dist/utils/math/index.js +3 -3
  76. package/dist/utils/normalize.d.ts +2 -2
  77. package/dist/utils/normalize.js +2 -2
  78. package/dist/utils/shape.d.ts +2 -2
  79. package/dist/utils/shape.js +8 -8
  80. package/dist/utils/state/grid.d.ts +1 -1
  81. package/dist/utils/state/grid.js +3 -3
  82. package/dist/utils/state/index.d.ts +1 -1
  83. package/dist/utils/state/index.js +7 -7
  84. package/dist/utils/traverse.d.ts +22 -0
  85. package/dist/utils/traverse.js +87 -0
  86. package/dist/utils/version.d.ts +1 -1
  87. package/dist/utils/version.js +1 -1
  88. package/package.json +4 -2
  89. package/dist/legacy/index.d.ts +0 -1
  90. package/dist/legacy/index.js +0 -1
  91. package/dist/legacy/v1/duc/app-state.d.ts +0 -124
  92. package/dist/legacy/v1/duc/app-state.js +0 -388
  93. package/dist/legacy/v1/duc/binary-file-data.d.ts +0 -27
  94. package/dist/legacy/v1/duc/binary-file-data.js +0 -90
  95. package/dist/legacy/v1/duc/binary-files-entry.d.ts +0 -16
  96. package/dist/legacy/v1/duc/binary-files-entry.js +0 -43
  97. package/dist/legacy/v1/duc/binary-files.d.ts +0 -17
  98. package/dist/legacy/v1/duc/binary-files.js +0 -55
  99. package/dist/legacy/v1/duc/binding-point.d.ts +0 -15
  100. package/dist/legacy/v1/duc/binding-point.js +0 -48
  101. package/dist/legacy/v1/duc/bound-element.d.ts +0 -17
  102. package/dist/legacy/v1/duc/bound-element.js +0 -48
  103. package/dist/legacy/v1/duc/duc-block-attribute-details.d.ts +0 -22
  104. package/dist/legacy/v1/duc/duc-block-attribute-details.js +0 -57
  105. package/dist/legacy/v1/duc/duc-block-attribute.d.ts +0 -16
  106. package/dist/legacy/v1/duc/duc-block-attribute.js +0 -43
  107. package/dist/legacy/v1/duc/duc-block-instance-element-override.d.ts +0 -17
  108. package/dist/legacy/v1/duc/duc-block-instance-element-override.js +0 -48
  109. package/dist/legacy/v1/duc/duc-block.d.ts +0 -34
  110. package/dist/legacy/v1/duc/duc-block.js +0 -110
  111. package/dist/legacy/v1/duc/duc-element.d.ts +0 -273
  112. package/dist/legacy/v1/duc/duc-element.js +0 -865
  113. package/dist/legacy/v1/duc/duc-group.d.ts +0 -40
  114. package/dist/legacy/v1/duc/duc-group.js +0 -114
  115. package/dist/legacy/v1/duc/duc-line-reference.d.ts +0 -15
  116. package/dist/legacy/v1/duc/duc-line-reference.js +0 -43
  117. package/dist/legacy/v1/duc/duc-line.d.ts +0 -15
  118. package/dist/legacy/v1/duc/duc-line.js +0 -43
  119. package/dist/legacy/v1/duc/duc-path.d.ts +0 -26
  120. package/dist/legacy/v1/duc/duc-path.js +0 -69
  121. package/dist/legacy/v1/duc/duc-table-cell.d.ts +0 -22
  122. package/dist/legacy/v1/duc/duc-table-cell.js +0 -57
  123. package/dist/legacy/v1/duc/duc-table-column.d.ts +0 -18
  124. package/dist/legacy/v1/duc/duc-table-column.js +0 -50
  125. package/dist/legacy/v1/duc/duc-table-row.d.ts +0 -18
  126. package/dist/legacy/v1/duc/duc-table-row.js +0 -50
  127. package/dist/legacy/v1/duc/duc-table-style-props.d.ts +0 -39
  128. package/dist/legacy/v1/duc/duc-table-style-props.js +0 -114
  129. package/dist/legacy/v1/duc/duc-table-style.d.ts +0 -14
  130. package/dist/legacy/v1/duc/duc-table-style.js +0 -41
  131. package/dist/legacy/v1/duc/element-background.d.ts +0 -14
  132. package/dist/legacy/v1/duc/element-background.js +0 -41
  133. package/dist/legacy/v1/duc/element-content-base.d.ts +0 -22
  134. package/dist/legacy/v1/duc/element-content-base.js +0 -64
  135. package/dist/legacy/v1/duc/element-stroke.d.ts +0 -23
  136. package/dist/legacy/v1/duc/element-stroke.js +0 -66
  137. package/dist/legacy/v1/duc/exported-data-state.d.ts +0 -51
  138. package/dist/legacy/v1/duc/exported-data-state.js +0 -155
  139. package/dist/legacy/v1/duc/image-crop.d.ts +0 -23
  140. package/dist/legacy/v1/duc/image-crop.js +0 -80
  141. package/dist/legacy/v1/duc/linear-element-editor.d.ts +0 -44
  142. package/dist/legacy/v1/duc/linear-element-editor.js +0 -119
  143. package/dist/legacy/v1/duc/point-binding.d.ts +0 -25
  144. package/dist/legacy/v1/duc/point-binding.js +0 -72
  145. package/dist/legacy/v1/duc/point.d.ts +0 -20
  146. package/dist/legacy/v1/duc/point.js +0 -63
  147. package/dist/legacy/v1/duc/pointer-down-state.d.ts +0 -32
  148. package/dist/legacy/v1/duc/pointer-down-state.js +0 -90
  149. package/dist/legacy/v1/duc/renderer-state.d.ts +0 -17
  150. package/dist/legacy/v1/duc/renderer-state.js +0 -54
  151. package/dist/legacy/v1/duc/segment-midpoint-state.d.ts +0 -18
  152. package/dist/legacy/v1/duc/segment-midpoint-state.js +0 -57
  153. package/dist/legacy/v1/duc/simple-point.d.ts +0 -15
  154. package/dist/legacy/v1/duc/simple-point.js +0 -48
  155. package/dist/legacy/v1/duc/stroke-sides.d.ts +0 -23
  156. package/dist/legacy/v1/duc/stroke-sides.js +0 -66
  157. package/dist/legacy/v1/duc/stroke-style.d.ts +0 -31
  158. package/dist/legacy/v1/duc/stroke-style.js +0 -102
  159. package/dist/legacy/v1/duc/tiling-properties.d.ts +0 -21
  160. package/dist/legacy/v1/duc/tiling-properties.js +0 -75
  161. package/dist/legacy/v1/duc.d.ts +0 -35
  162. package/dist/legacy/v1/duc.js +0 -37
  163. package/dist/legacy/v1/index.d.ts +0 -1
  164. package/dist/legacy/v1/index.js +0 -1
  165. package/dist/legacy/v1/parse/index.d.ts +0 -67
  166. package/dist/legacy/v1/parse/index.js +0 -101
  167. package/dist/legacy/v1/parse/parseAppStateFromBinary.d.ts +0 -3
  168. package/dist/legacy/v1/parse/parseAppStateFromBinary.js +0 -139
  169. package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.d.ts +0 -4
  170. package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.js +0 -32
  171. package/dist/legacy/v1/parse/parseBlockFromBinary.d.ts +0 -3
  172. package/dist/legacy/v1/parse/parseBlockFromBinary.js +0 -70
  173. package/dist/legacy/v1/parse/parseElementFromBinary.d.ts +0 -8
  174. package/dist/legacy/v1/parse/parseElementFromBinary.js +0 -387
  175. package/dist/legacy/v1/parse/parseGroupFromBinary.d.ts +0 -4
  176. package/dist/legacy/v1/parse/parseGroupFromBinary.js +0 -36
  177. package/dist/legacy/v1/parse/parseRendererStateFromBinary.d.ts +0 -4
  178. package/dist/legacy/v1/parse/parseRendererStateFromBinary.js +0 -15
  179. package/dist/legacy/v1/serialize/index.d.ts +0 -5
  180. package/dist/legacy/v1/serialize/index.js +0 -81
  181. package/dist/legacy/v1/serialize/serializationUtils.d.ts +0 -17
  182. package/dist/legacy/v1/serialize/serializationUtils.js +0 -27
  183. package/dist/legacy/v1/serialize/serializeAppStateFromDuc.d.ts +0 -4
  184. package/dist/legacy/v1/serialize/serializeAppStateFromDuc.js +0 -145
  185. package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.d.ts +0 -4
  186. package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.js +0 -46
  187. package/dist/legacy/v1/serialize/serializeBlockFromDuc.d.ts +0 -3
  188. package/dist/legacy/v1/serialize/serializeBlockFromDuc.js +0 -60
  189. package/dist/legacy/v1/serialize/serializeElementFromDuc.d.ts +0 -8
  190. package/dist/legacy/v1/serialize/serializeElementFromDuc.js +0 -435
  191. package/dist/legacy/v1/serialize/serializeGroupFromDuc.d.ts +0 -3
  192. package/dist/legacy/v1/serialize/serializeGroupFromDuc.js +0 -37
  193. package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.d.ts +0 -4
  194. package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.js +0 -7
  195. package/dist/legacy/v1/types/elements/index.d.ts +0 -480
  196. package/dist/legacy/v1/types/elements/index.js +0 -1
  197. package/dist/legacy/v1/types/elements/typeChecks.d.ts +0 -40
  198. package/dist/legacy/v1/types/elements/typeChecks.js +0 -179
  199. package/dist/legacy/v1/types/geometryTypes.d.ts +0 -78
  200. package/dist/legacy/v1/types/geometryTypes.js +0 -1
  201. package/dist/legacy/v1/types/index.d.ts +0 -496
  202. package/dist/legacy/v1/types/index.js +0 -1
  203. package/dist/legacy/v1/types/utility-types.d.ts +0 -31
  204. package/dist/legacy/v1/types/utility-types.js +0 -1
  205. package/dist/legacy/v1/utils/bounds.d.ts +0 -76
  206. package/dist/legacy/v1/utils/bounds.js +0 -415
  207. package/dist/legacy/v1/utils/constants.d.ts +0 -370
  208. package/dist/legacy/v1/utils/constants.js +0 -571
  209. package/dist/legacy/v1/utils/elements/index.d.ts +0 -26
  210. package/dist/legacy/v1/utils/elements/index.js +0 -108
  211. package/dist/legacy/v1/utils/elements/linearElement.d.ts +0 -133
  212. package/dist/legacy/v1/utils/elements/linearElement.js +0 -544
  213. package/dist/legacy/v1/utils/elements/textElement.d.ts +0 -89
  214. package/dist/legacy/v1/utils/elements/textElement.js +0 -563
  215. package/dist/legacy/v1/utils/index.d.ts +0 -26
  216. package/dist/legacy/v1/utils/index.js +0 -40
  217. package/dist/legacy/v1/utils/math/algebra/ga.d.ts +0 -63
  218. package/dist/legacy/v1/utils/math/algebra/ga.js +0 -268
  219. package/dist/legacy/v1/utils/math/algebra/gadirections.d.ts +0 -9
  220. package/dist/legacy/v1/utils/math/algebra/gadirections.js +0 -18
  221. package/dist/legacy/v1/utils/math/algebra/galines.d.ts +0 -23
  222. package/dist/legacy/v1/utils/math/algebra/galines.js +0 -32
  223. package/dist/legacy/v1/utils/math/algebra/gapoints.d.ts +0 -8
  224. package/dist/legacy/v1/utils/math/algebra/gapoints.js +0 -30
  225. package/dist/legacy/v1/utils/math/algebra/gatransforms.d.ts +0 -10
  226. package/dist/legacy/v1/utils/math/algebra/gatransforms.js +0 -23
  227. package/dist/legacy/v1/utils/math/bbox.d.ts +0 -10
  228. package/dist/legacy/v1/utils/math/bbox.js +0 -42
  229. package/dist/legacy/v1/utils/math/geometry.d.ts +0 -102
  230. package/dist/legacy/v1/utils/math/geometry.js +0 -790
  231. package/dist/legacy/v1/utils/math/index.d.ts +0 -309
  232. package/dist/legacy/v1/utils/math/index.js +0 -1140
  233. package/dist/legacy/v1/utils/math/random.d.ts +0 -4
  234. package/dist/legacy/v1/utils/math/random.js +0 -25
  235. package/dist/legacy/v1/utils/measurements.d.ts +0 -33
  236. package/dist/legacy/v1/utils/measurements.js +0 -65
  237. package/dist/legacy/v1/utils/normalize.d.ts +0 -14
  238. package/dist/legacy/v1/utils/normalize.js +0 -49
  239. package/dist/legacy/v1/utils/restore.d.ts +0 -197
  240. package/dist/legacy/v1/utils/restore.js +0 -1255
  241. package/dist/legacy/v1/utils/scopes.d.ts +0 -260
  242. package/dist/legacy/v1/utils/scopes.js +0 -661
  243. package/dist/legacy/v1/utils/standards.d.ts +0 -12
  244. package/dist/legacy/v1/utils/standards.js +0 -10
  245. package/dist/legacy/v1/utils/state/index.d.ts +0 -2
  246. package/dist/legacy/v1/utils/state/index.js +0 -68
  247. package/dist/legacy/v1/utils/url.d.ts +0 -8
  248. package/dist/legacy/v1/utils/url.js +0 -33
@@ -1,179 +0,0 @@
1
- import { assertNever } from "ducjs/legacy/v1/utils";
2
- export const isInitializedImageElement = (element) => {
3
- return !!element && element.type === "image" && !!element.fileId;
4
- };
5
- export const isImageElement = (element) => {
6
- return !!element && element.type === "image";
7
- };
8
- export const isEmbeddableElement = (element) => {
9
- return !!element && element.type === "embeddable";
10
- };
11
- export const isTableElement = (element) => {
12
- return !!element && element.type === "table";
13
- };
14
- export const isIframeLikeElement = (element) => {
15
- return (!!element && (element.type === "embeddable" ||
16
- element.type === "table" ||
17
- element.type === "doc"));
18
- };
19
- export const isTextElement = (element) => {
20
- return element != null && element.type === "text";
21
- };
22
- export const isFrameElement = (element) => {
23
- return element != null && element.type === "frame";
24
- };
25
- export const isFrameLikeElement = (element) => {
26
- return (element != null &&
27
- (element.type === "frame"));
28
- };
29
- export const isFreeDrawElement = (element) => {
30
- return element != null && isFreeDrawElementType(element.type);
31
- };
32
- export const isEllipseElement = (element) => {
33
- return element != null && element.type === "ellipse";
34
- };
35
- export const isPolygonElement = (element) => {
36
- return element != null && element.type === "polygon";
37
- };
38
- export const isFreeDrawElementType = (elementType) => {
39
- return elementType === "freedraw";
40
- };
41
- export const isLinearElement = (element) => {
42
- return element != null && isLinearElementType(element.type);
43
- };
44
- export const isLinearElementType = (elementType) => {
45
- return (elementType === "arrow" || elementType === "line");
46
- };
47
- export const isFlowchartNodeElement = (element) => {
48
- return (element.type === "rectangle" ||
49
- element.type === "ellipse" ||
50
- element.type === "polygon");
51
- };
52
- export const isShapeToLinearElementPossible = (element) => {
53
- return (element.type === "rectangle" ||
54
- element.type === "ellipse" ||
55
- element.type === "polygon");
56
- };
57
- export const isArrowElement = (element) => {
58
- return element != null && element.type === "arrow";
59
- };
60
- export const isElbowArrow = (element) => {
61
- return isArrowElement(element) && element.elbowed;
62
- };
63
- export const isBindingElement = (element, includeLocked = true) => {
64
- return (element != null &&
65
- (!element.locked || includeLocked === true) &&
66
- isBindingElementType(element.type));
67
- };
68
- export const isBindingElementType = (elementType) => {
69
- return elementType === "arrow";
70
- };
71
- export const isBindableElement = (element, includeLocked = true) => {
72
- return (element != null &&
73
- (!element.locked || includeLocked === true) &&
74
- (element.type === "rectangle" ||
75
- element.type === "polygon" ||
76
- element.type === "ellipse" ||
77
- element.type === "image" ||
78
- element.type === "embeddable" ||
79
- element.type === "frame" ||
80
- element.type === "line" ||
81
- element.type === "arrow" ||
82
- (element.type === "text" && !element.containerId)));
83
- };
84
- export const isRectanguloidElement = (element) => {
85
- return (element != null &&
86
- (element.type === "rectangle" ||
87
- element.type === "image" ||
88
- element.type === "embeddable" ||
89
- element.type === "frame" ||
90
- element.type === "table" ||
91
- (element.type === "text" && !element.containerId)));
92
- };
93
- export const isBlockInstanceElement = (element) => {
94
- return element != null && element.type === "blockinstance";
95
- };
96
- // TODO: Remove this when proper distance calculation is introduced
97
- // @see binding.ts:distanceToBindableElement()
98
- export const isRectangularElement = (element) => {
99
- return (element != null &&
100
- (element.type === "rectangle" ||
101
- element.type === "image" ||
102
- element.type === "text" ||
103
- element.type === "embeddable" ||
104
- element.type === "frame" ||
105
- element.type === "table"));
106
- };
107
- export const isTextBindableContainer = (element, includeLocked = true) => {
108
- return (element != null &&
109
- (!element.locked || includeLocked === true) &&
110
- (element.type === "rectangle" ||
111
- element.type === "polygon" ||
112
- element.type === "ellipse" ||
113
- isArrowElement(element)));
114
- };
115
- export const isDucElement = (element) => {
116
- const type = element === null || element === void 0 ? void 0 : element.type;
117
- if (!type) {
118
- return false;
119
- }
120
- switch (type) {
121
- case "text":
122
- case "polygon":
123
- case "rectangle":
124
- case "embeddable":
125
- case "ellipse":
126
- case "arrow":
127
- case "freedraw":
128
- case "line":
129
- case "frame":
130
- case "image":
131
- case "table":
132
- case "doc":
133
- case "blockinstance":
134
- case "selection": {
135
- return true;
136
- }
137
- default: {
138
- assertNever(type, null);
139
- return false;
140
- }
141
- }
142
- };
143
- export const hasBoundTextElement = (element) => {
144
- var _a;
145
- return (isTextBindableContainer(element) &&
146
- !!((_a = element.boundElements) === null || _a === void 0 ? void 0 : _a.some(({ type }) => type === "text")));
147
- };
148
- export const isBoundToContainer = (element) => {
149
- return (element !== null &&
150
- "containerId" in element &&
151
- element.containerId !== null &&
152
- isTextElement(element));
153
- };
154
- export const isUsingAdaptiveRadius = (type) => type === "rectangle" ||
155
- type === "embeddable" ||
156
- type === "image" ||
157
- type === "table";
158
- export const isUsingProportionalRadius = (type) => type === "line" || type === "arrow" || type === "diamond";
159
- // TODO: Move this to @excalidraw/math
160
- export const isPoint = (point) => Array.isArray(point) && point.length === 2;
161
- // TODO: Move this to @excalidraw/math
162
- export const isBounds = (box) => Array.isArray(box) &&
163
- box.length === 4 &&
164
- typeof box[0] === "number" &&
165
- typeof box[1] === "number" &&
166
- typeof box[2] === "number" &&
167
- typeof box[3] === "number";
168
- // TODO: Move this to @excalidraw/math
169
- export const isLineSegment = (segment) => Array.isArray(segment) &&
170
- segment.length === 2 &&
171
- isPoint(segment[0]) &&
172
- isPoint(segment[0]);
173
- export const isFixedPointBinding = (binding) => {
174
- return binding.fixedPoint != null;
175
- };
176
- export const isTable = (element) => {
177
- return (element === null || element === void 0 ? void 0 : element.type) === "table";
178
- };
179
- export const isNonDeletedElement = (element) => !element.isDeleted;
@@ -1,78 +0,0 @@
1
- import { ScopedValue } from "ducjs/legacy/v1/types";
2
- /**
3
- * x and y position of top left corner, x and y position of bottom right corner
4
- */
5
- export type Bounds = readonly [
6
- minX: ScopedValue,
7
- minY: ScopedValue,
8
- maxX: ScopedValue,
9
- maxY: ScopedValue
10
- ];
11
- /**
12
- * Angle in Radian
13
- * Ranges from 0 to 2π: 0 - 360°
14
- */
15
- export type Radian = number & {
16
- __brand: "Radian";
17
- };
18
- /**
19
- * Percentage
20
- * Ranges from 0 to 1: 0% - 100%
21
- */
22
- export type Percentage = number & {
23
- __brand: "Percentage";
24
- };
25
- export type GeometricPoint = {
26
- x: number;
27
- y: number;
28
- };
29
- export type GeometricVector = GeometricPoint;
30
- export type TuplePoint = [number, number];
31
- export type ElementsSegmentsMap = Map<string, GeometricPoint[]>;
32
- export type Line = [GeometricPoint, GeometricPoint];
33
- export type LineSegment = Line;
34
- export type Polyline = Line[];
35
- export type Curve = [GeometricPoint, GeometricPoint, GeometricPoint, GeometricPoint];
36
- export type Polycurve = Curve[];
37
- export type Polygon = GeometricPoint[];
38
- export type Ellipse = {
39
- center: GeometricPoint;
40
- angle: number;
41
- halfWidth: number;
42
- halfHeight: number;
43
- };
44
- export type GeometricShape = {
45
- type: "line";
46
- data: Line;
47
- } | {
48
- type: "polygon";
49
- data: Polygon;
50
- } | {
51
- type: "curve";
52
- data: Curve;
53
- } | {
54
- type: "ellipse";
55
- data: Ellipse;
56
- } | {
57
- type: "polyline";
58
- data: Polyline;
59
- } | {
60
- type: "polycurve";
61
- data: Polycurve;
62
- };
63
- /**
64
- * Defines the possible headings using the new Point interface.
65
- */
66
- export type Heading = {
67
- x: 1;
68
- y: 0;
69
- } | {
70
- x: 0;
71
- y: 1;
72
- } | {
73
- x: -1;
74
- y: 0;
75
- } | {
76
- x: 0;
77
- y: -1;
78
- };
@@ -1 +0,0 @@
1
- export {};