@pie-element/hotspot 11.1.2-next.2 → 11.1.2

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 (234) hide show
  1. package/CHANGELOG.json +997 -0
  2. package/CHANGELOG.md +2220 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +1 -0
  5. package/configure/CHANGELOG.json +682 -0
  6. package/configure/CHANGELOG.md +1957 -0
  7. package/configure/lib/DeleteWidget.js +64 -0
  8. package/configure/lib/DeleteWidget.js.map +1 -0
  9. package/configure/lib/button.js +42 -0
  10. package/configure/lib/button.js.map +1 -0
  11. package/configure/lib/buttons/circle.js +33 -0
  12. package/configure/lib/buttons/circle.js.map +1 -0
  13. package/configure/lib/buttons/polygon.js +39 -0
  14. package/configure/lib/buttons/polygon.js.map +1 -0
  15. package/configure/lib/buttons/rectangle.js +39 -0
  16. package/configure/lib/buttons/rectangle.js.map +1 -0
  17. package/configure/lib/defaults.js +155 -0
  18. package/configure/lib/defaults.js.map +1 -0
  19. package/configure/lib/hotspot-circle.js +192 -0
  20. package/configure/lib/hotspot-circle.js.map +1 -0
  21. package/configure/lib/hotspot-container.js +320 -0
  22. package/configure/lib/hotspot-container.js.map +1 -0
  23. package/configure/lib/hotspot-drawable.js +519 -0
  24. package/configure/lib/hotspot-drawable.js.map +1 -0
  25. package/configure/lib/hotspot-palette.js +107 -0
  26. package/configure/lib/hotspot-palette.js.map +1 -0
  27. package/configure/lib/hotspot-polygon.js +293 -0
  28. package/configure/lib/hotspot-polygon.js.map +1 -0
  29. package/configure/lib/hotspot-rectangle.js +190 -0
  30. package/configure/lib/hotspot-rectangle.js.map +1 -0
  31. package/configure/lib/icons.js +7 -0
  32. package/configure/lib/icons.js.map +1 -0
  33. package/configure/lib/image-konva.js +66 -0
  34. package/configure/lib/image-konva.js.map +1 -0
  35. package/configure/lib/index.js +194 -0
  36. package/configure/lib/index.js.map +1 -0
  37. package/configure/lib/root.js +330 -0
  38. package/configure/lib/root.js.map +1 -0
  39. package/configure/lib/shapes/circle.js +84 -0
  40. package/configure/lib/shapes/circle.js.map +1 -0
  41. package/configure/lib/shapes/index.js +50 -0
  42. package/configure/lib/shapes/index.js.map +1 -0
  43. package/configure/lib/shapes/polygon.js +82 -0
  44. package/configure/lib/shapes/polygon.js.map +1 -0
  45. package/configure/lib/shapes/rectagle.js +84 -0
  46. package/configure/lib/shapes/rectagle.js.map +1 -0
  47. package/configure/lib/shapes/utils.js +21 -0
  48. package/configure/lib/shapes/utils.js.map +1 -0
  49. package/configure/lib/upload-control.js +41 -0
  50. package/configure/lib/upload-control.js.map +1 -0
  51. package/configure/lib/utils.js +185 -0
  52. package/configure/lib/utils.js.map +1 -0
  53. package/configure/package.json +26 -0
  54. package/configure/src/DeleteWidget.jsx +51 -0
  55. package/configure/src/__tests__/DeleteWidget.test.jsx +366 -0
  56. package/configure/src/__tests__/button.test.jsx +198 -0
  57. package/configure/src/__tests__/hotspot-circle.test.jsx +259 -0
  58. package/configure/src/__tests__/hotspot-container.test.js +366 -0
  59. package/configure/src/__tests__/hotspot-drawable.test.js +271 -0
  60. package/configure/src/__tests__/hotspot-palette.test.jsx +71 -0
  61. package/configure/src/__tests__/image-konva.test.jsx +226 -0
  62. package/configure/src/__tests__/index.test.js +329 -0
  63. package/configure/src/__tests__/root.test.js +400 -0
  64. package/configure/src/__tests__/utils.test.js +241 -0
  65. package/configure/src/button.jsx +35 -0
  66. package/configure/src/buttons/circle.jsx +18 -0
  67. package/configure/src/buttons/polygon.jsx +29 -0
  68. package/configure/src/buttons/rectangle.jsx +29 -0
  69. package/configure/src/defaults.js +109 -0
  70. package/configure/src/hotspot-circle.jsx +183 -0
  71. package/configure/src/hotspot-container.jsx +330 -0
  72. package/configure/src/hotspot-drawable.jsx +527 -0
  73. package/configure/src/hotspot-palette.jsx +90 -0
  74. package/configure/src/hotspot-polygon.jsx +294 -0
  75. package/configure/src/hotspot-rectangle.jsx +169 -0
  76. package/configure/src/icons.js +5 -0
  77. package/configure/src/image-konva.jsx +63 -0
  78. package/configure/src/index.js +208 -0
  79. package/configure/src/root.jsx +346 -0
  80. package/configure/src/shapes/circle.js +81 -0
  81. package/configure/src/shapes/index.js +4 -0
  82. package/configure/src/shapes/polygon.js +81 -0
  83. package/configure/src/shapes/rectagle.js +82 -0
  84. package/configure/src/shapes/utils.js +16 -0
  85. package/configure/src/upload-control.jsx +33 -0
  86. package/configure/src/utils.js +210 -0
  87. package/controller/CHANGELOG.json +362 -0
  88. package/controller/CHANGELOG.md +1304 -0
  89. package/controller/lib/defaults.js +33 -0
  90. package/controller/lib/defaults.js.map +1 -0
  91. package/controller/lib/index.js +341 -0
  92. package/controller/lib/index.js.map +1 -0
  93. package/controller/lib/utils.js +32 -0
  94. package/controller/lib/utils.js.map +1 -0
  95. package/controller/package.json +18 -0
  96. package/controller/src/__tests__/index.test.js +419 -0
  97. package/controller/src/__tests__/utils.test.js +5 -0
  98. package/controller/src/defaults.js +19 -0
  99. package/controller/src/index.js +328 -0
  100. package/controller/src/utils.js +29 -0
  101. package/docs/config-schema.json +2023 -0
  102. package/docs/config-schema.json.md +1495 -0
  103. package/docs/demo/config.js +8 -0
  104. package/docs/demo/generate.js +118 -0
  105. package/docs/demo/index.html +1 -0
  106. package/docs/demo/session.js +11 -0
  107. package/docs/pie-schema.json +1204 -0
  108. package/docs/pie-schema.json.md +851 -0
  109. package/lib/hotspot/circle.js +156 -0
  110. package/lib/hotspot/circle.js.map +1 -0
  111. package/lib/hotspot/container.js +206 -0
  112. package/lib/hotspot/container.js.map +1 -0
  113. package/lib/hotspot/icons.js +8 -0
  114. package/lib/hotspot/icons.js.map +1 -0
  115. package/lib/hotspot/image-konva-tooltip.js +86 -0
  116. package/lib/hotspot/image-konva-tooltip.js.map +1 -0
  117. package/lib/hotspot/index.js +163 -0
  118. package/lib/hotspot/index.js.map +1 -0
  119. package/lib/hotspot/polygon.js +203 -0
  120. package/lib/hotspot/polygon.js.map +1 -0
  121. package/lib/hotspot/rectangle.js +175 -0
  122. package/lib/hotspot/rectangle.js.map +1 -0
  123. package/lib/index.js +213 -0
  124. package/lib/index.js.map +1 -0
  125. package/lib/session-updater.js +42 -0
  126. package/lib/session-updater.js.map +1 -0
  127. package/package.json +18 -83
  128. package/src/__tests__/container.test.jsx +58 -0
  129. package/src/__tests__/index.test.js +123 -0
  130. package/src/__tests__/session-updater.test.jsx +69 -0
  131. package/src/hotspot/__tests__/circle.test.jsx +464 -0
  132. package/src/hotspot/__tests__/container.test.jsx +546 -0
  133. package/src/hotspot/__tests__/image-konva-tooltip.test.jsx +510 -0
  134. package/src/hotspot/__tests__/polygon.test.jsx +502 -0
  135. package/src/hotspot/__tests__/rectangle.test.jsx +418 -0
  136. package/src/hotspot/circle.jsx +152 -0
  137. package/src/hotspot/container.jsx +217 -0
  138. package/src/hotspot/icons.js +7 -0
  139. package/src/hotspot/image-konva-tooltip.jsx +76 -0
  140. package/src/hotspot/index.jsx +165 -0
  141. package/src/hotspot/polygon.jsx +195 -0
  142. package/src/hotspot/rectangle.jsx +171 -0
  143. package/src/index.js +226 -0
  144. package/src/session-updater.js +29 -0
  145. package/configure.js +0 -2
  146. package/controller.js +0 -1
  147. package/dist/author/DeleteWidget.d.ts +0 -38
  148. package/dist/author/DeleteWidget.js +0 -46
  149. package/dist/author/button.d.ts +0 -31
  150. package/dist/author/button.js +0 -27
  151. package/dist/author/buttons/circle.d.ts +0 -18
  152. package/dist/author/buttons/circle.js +0 -25
  153. package/dist/author/buttons/polygon.d.ts +0 -18
  154. package/dist/author/buttons/polygon.js +0 -36
  155. package/dist/author/buttons/rectangle.d.ts +0 -18
  156. package/dist/author/buttons/rectangle.js +0 -36
  157. package/dist/author/defaults.d.ts +0 -157
  158. package/dist/author/defaults.js +0 -119
  159. package/dist/author/hotspot-circle.d.ts +0 -21
  160. package/dist/author/hotspot-circle.js +0 -124
  161. package/dist/author/hotspot-container.d.ts +0 -29
  162. package/dist/author/hotspot-container.js +0 -210
  163. package/dist/author/hotspot-drawable.d.ts +0 -31
  164. package/dist/author/hotspot-drawable.js +0 -312
  165. package/dist/author/hotspot-palette.d.ts +0 -14
  166. package/dist/author/hotspot-palette.js +0 -72
  167. package/dist/author/hotspot-polygon.d.ts +0 -38
  168. package/dist/author/hotspot-polygon.js +0 -200
  169. package/dist/author/hotspot-rectangle.d.ts +0 -20
  170. package/dist/author/hotspot-rectangle.js +0 -119
  171. package/dist/author/icons.d.ts +0 -9
  172. package/dist/author/icons.js +0 -4
  173. package/dist/author/image-konva.d.ts +0 -19
  174. package/dist/author/image-konva.js +0 -49
  175. package/dist/author/index.d.ts +0 -52
  176. package/dist/author/index.js +0 -143
  177. package/dist/author/root.d.ts +0 -15
  178. package/dist/author/root.js +0 -215
  179. package/dist/author/shapes/circle.d.ts +0 -18
  180. package/dist/author/shapes/circle.js +0 -47
  181. package/dist/author/shapes/index.d.ts +0 -12
  182. package/dist/author/shapes/polygon.d.ts +0 -19
  183. package/dist/author/shapes/polygon.js +0 -51
  184. package/dist/author/shapes/rectagle.d.ts +0 -18
  185. package/dist/author/shapes/rectagle.js +0 -57
  186. package/dist/author/shapes/utils.d.ts +0 -19
  187. package/dist/author/shapes/utils.js +0 -16
  188. package/dist/author/upload-control.d.ts +0 -29
  189. package/dist/author/upload-control.js +0 -28
  190. package/dist/author/utils.d.ts +0 -24
  191. package/dist/author/utils.js +0 -83
  192. package/dist/browser/ReactKonva-DI5WIo8o.js +0 -19336
  193. package/dist/browser/ReactKonva-DI5WIo8o.js.map +0 -1
  194. package/dist/browser/author/index.js +0 -41646
  195. package/dist/browser/author/index.js.map +0 -1
  196. package/dist/browser/browser-CfnAFove.js +0 -219
  197. package/dist/browser/browser-CfnAFove.js.map +0 -1
  198. package/dist/browser/controller/index.js +0 -198
  199. package/dist/browser/controller/index.js.map +0 -1
  200. package/dist/browser/delivery/index.js +0 -2460
  201. package/dist/browser/delivery/index.js.map +0 -1
  202. package/dist/browser/dist-C78LDz6R.js +0 -96
  203. package/dist/browser/dist-C78LDz6R.js.map +0 -1
  204. package/dist/browser/hotspot.css +0 -2
  205. package/dist/controller/defaults.d.ts +0 -35
  206. package/dist/controller/defaults.js +0 -29
  207. package/dist/controller/index.d.ts +0 -22
  208. package/dist/controller/index.js +0 -154
  209. package/dist/controller/utils.d.ts +0 -10
  210. package/dist/controller/utils.js +0 -12
  211. package/dist/delivery/hotspot/circle.d.ts +0 -19
  212. package/dist/delivery/hotspot/circle.js +0 -100
  213. package/dist/delivery/hotspot/container.d.ts +0 -16
  214. package/dist/delivery/hotspot/container.js +0 -150
  215. package/dist/delivery/hotspot/icons.d.ts +0 -10
  216. package/dist/delivery/hotspot/icons.js +0 -4
  217. package/dist/delivery/hotspot/image-konva-tooltip.d.ts +0 -19
  218. package/dist/delivery/hotspot/image-konva-tooltip.js +0 -66
  219. package/dist/delivery/hotspot/index.d.ts +0 -17
  220. package/dist/delivery/hotspot/index.js +0 -114
  221. package/dist/delivery/hotspot/polygon.d.ts +0 -21
  222. package/dist/delivery/hotspot/polygon.js +0 -108
  223. package/dist/delivery/hotspot/rectangle.d.ts +0 -19
  224. package/dist/delivery/hotspot/rectangle.js +0 -104
  225. package/dist/delivery/index.d.ts +0 -20
  226. package/dist/delivery/index.js +0 -107
  227. package/dist/delivery/session-updater.d.ts +0 -10
  228. package/dist/delivery/session-updater.js +0 -14
  229. package/dist/index.d.ts +0 -1
  230. package/dist/index.iife.d.ts +0 -8
  231. package/dist/index.iife.js +0 -169
  232. package/dist/index.js +0 -2
  233. package/dist/runtime-support.d.ts +0 -12
  234. package/dist/runtime-support.js +0 -12
@@ -1,38 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/hotspot/configure/src/hotspot-polygon.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- declare class PolComponent extends React.Component {
11
- static getDerivedStateFromProps(nextProps: any, prevState: any): {
12
- id: any;
13
- x: number;
14
- y: number;
15
- points: any;
16
- imageHeight: any;
17
- imageWidth: any;
18
- } | null;
19
- getOffset: any;
20
- serialize: any;
21
- getInitialState: any;
22
- state: any;
23
- handleClick: any;
24
- handleMouseEnter: any;
25
- handleMouseLeave: any;
26
- handleOnDragEnd: any;
27
- handleOnDragVertex: any;
28
- onDragStart: any;
29
- handleDelete: any;
30
- getBoundingBox(points: any): {
31
- x: number;
32
- y: number;
33
- width: number;
34
- height: number;
35
- };
36
- render(): React.JSX.Element;
37
- }
38
- export default PolComponent;
@@ -1,200 +0,0 @@
1
- import e from "./DeleteWidget.js";
2
- import t from "react";
3
- import n from "prop-types";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import { Circle as a, Group as o, Line as s } from "react-konva";
6
- import { Rect as c } from "react-konva/lib/ReactKonvaCore.js";
7
- //#region src/author/hotspot-polygon.tsx
8
- function l(e) {
9
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
10
- }
11
- function u(e, t) {
12
- return !e || l(e) ? e : l(e.default) ? e.default : t && l(e[t]) ? e[t] : t && l(e[t]?.default) ? e[t].default : e;
13
- }
14
- var d = u(a, "Circle"), f = u(s, "Line"), p = u(o, "Group"), m = "#00BFFF", h = class extends t.Component {
15
- static getDerivedStateFromProps(e, t) {
16
- let { id: n, points: r, imageHeight: i, imageWidth: a } = e;
17
- if (t.imageHeight !== i || t.imageWidth !== a || t.id !== e.id || JSON.stringify(t.points) !== JSON.stringify(r)) {
18
- let e = r.map((e) => e.x), t = r.map((e) => e.y);
19
- return {
20
- id: n,
21
- x: Math.min(...e),
22
- y: Math.max(...t),
23
- points: r,
24
- imageHeight: i,
25
- imageWidth: a
26
- };
27
- }
28
- return null;
29
- }
30
- getOffset = (e) => {
31
- let t = e.map((e) => e.x), n = e.map((e) => e.y);
32
- return {
33
- x: Math.min(...t),
34
- y: Math.max(...n)
35
- };
36
- };
37
- serialize = (e) => {
38
- let { x: t, y: n } = this.getOffset(e);
39
- return e.reduce((e, r) => [
40
- ...e,
41
- r.x - t,
42
- r.y - n
43
- ], []);
44
- };
45
- getInitialState = (e) => {
46
- if (e.length) {
47
- let { x: t, y: n } = this.getOffset(e);
48
- return {
49
- x: t,
50
- y: n,
51
- points: e
52
- };
53
- }
54
- return {
55
- id: "",
56
- x: 0,
57
- y: 0,
58
- points: []
59
- };
60
- };
61
- state = {
62
- hovered: !1,
63
- isDragging: !1,
64
- ...this.getInitialState(this.props.points)
65
- };
66
- handleClick = (e) => {
67
- let { points: t } = this.props, n = t.map((e) => e.x), r = t.map((e) => e.y), i = Math.max(...n) - Math.min(...n), a = Math.max(...r) - Math.min(...r), { isDrawing: o, onClick: s, id: c } = this.props;
68
- if (!(i < 0 && a < 0 && o)) {
69
- if (o && c === "newPolygon") {
70
- this.props.addPolygonPoint(e);
71
- return;
72
- }
73
- e.cancelBubble = !0, s(c);
74
- }
75
- };
76
- handleMouseEnter = () => {
77
- this.setState({ hovered: !0 }), document.body.style.cursor = "pointer";
78
- };
79
- handleMouseLeave = () => {
80
- this.setState({ hovered: !1 }), document.body.style.cursor = "default";
81
- };
82
- handleOnDragEnd = (e, t = !1) => {
83
- let { onDragEnd: n, id: r } = this.props, i = e.target.points() || this.serialize(this.state.points), a = i.reduce((t, n, r) => r % 2 == 0 && r + 1 < i.length ? [...t, {
84
- x: n + e.target.x(),
85
- y: i[r + 1] + e.target.y()
86
- }] : t, []);
87
- this.setState({
88
- points: a,
89
- ...this.getOffset(a),
90
- isDragging: t ? !1 : this.state.isDragging
91
- }), t && n(r, { points: a });
92
- };
93
- handleOnDragVertex = (e, t, n) => {
94
- let { onDragEnd: r, id: i } = this.props, { points: a } = this.state, o = a.map((n, r) => r === t ? {
95
- x: e.target.x(),
96
- y: e.target.y()
97
- } : n);
98
- this.setState({
99
- points: o,
100
- ...this.getOffset(o),
101
- isDragging: n ? !1 : this.state.isDragging
102
- }), n && r(i, { points: o });
103
- };
104
- onDragStart = () => {
105
- this.setState({ isDragging: !0 });
106
- };
107
- handleDelete = (e) => {
108
- let { onDeleteShape: t } = this.props;
109
- t(e);
110
- };
111
- getBoundingBox(e) {
112
- let t = e.map((e) => e.x), n = e.map((e) => e.y), r = Math.min(...t), i = Math.max(...t), a = Math.min(...n), o = Math.max(...n);
113
- return {
114
- x: r,
115
- y: a,
116
- width: i - r,
117
- height: o - a
118
- };
119
- }
120
- render() {
121
- let { correct: t, id: n, hotspotColor: a, outlineColor: o, selectedHotspotColor: s, hoverOutlineColor: l, strokeWidth: u = 5 } = this.props, { points: h, x: g, y: _, hovered: v } = this.state, y = n === "newPolygon", b = v || n === "newPolygon", x = t ? u : +!!v, S = t ? o : v ? m : "", C = this.getBoundingBox(h), w = t && s ? s : a;
122
- return /* @__PURE__ */ i(p, {
123
- onMouseLeave: this.handleMouseLeave,
124
- onMouseEnter: this.handleMouseEnter,
125
- children: [
126
- l && v && /* @__PURE__ */ r(c, {
127
- x: C.x,
128
- y: C.y,
129
- width: C.width,
130
- height: C.height,
131
- stroke: l,
132
- strokeWidth: 2,
133
- listening: !1
134
- }),
135
- /* @__PURE__ */ r(f, {
136
- points: this.serialize(h),
137
- closed: !y,
138
- fill: y ? "transparent" : w,
139
- onClick: this.handleClick,
140
- onTap: this.handleClick,
141
- draggable: !0,
142
- stroke: y ? o : S,
143
- strokeWidth: y ? 1 : x,
144
- onDragStart: this.onDragStart,
145
- onDragMove: this.handleOnDragEnd,
146
- onDragEnd: (e) => this.handleOnDragEnd(e, !0),
147
- x: g,
148
- y: _
149
- }),
150
- b && h.map((e, t) => /* @__PURE__ */ r(d, {
151
- x: e.x,
152
- y: e.y,
153
- radius: 5,
154
- fill: t === 0 && n === "newPolygon" ? "blue" : "white",
155
- stroke: m,
156
- strokeWidth: 1,
157
- onClick: this.handleClick,
158
- onDragStart: this.onDragStart,
159
- onDragMove: (e) => {
160
- this.handleOnDragVertex(e, t);
161
- },
162
- onDragEnd: (e) => {
163
- this.handleOnDragVertex(e, t, !0);
164
- },
165
- draggable: !0,
166
- opacity: 4
167
- }, t)),
168
- !this.state.isDragging && this.state.hovered && /* @__PURE__ */ r(e, {
169
- x: g,
170
- y: _,
171
- id: n,
172
- handleWidgetClick: this.handleDelete,
173
- points: h
174
- })
175
- ]
176
- });
177
- }
178
- };
179
- h.propTypes = {
180
- correct: n.bool,
181
- isDrawing: n.bool.isRequired,
182
- id: n.string.isRequired,
183
- imageHeight: n.number,
184
- imageWidth: n.number,
185
- hotspotColor: n.string.isRequired,
186
- selectedHotspotColor: n.string,
187
- hoverOutlineColor: n.string,
188
- onClick: n.func.isRequired,
189
- addPolygonPoint: n.func.isRequired,
190
- onDeleteShape: n.func.isRequired,
191
- onDragEnd: n.func.isRequired,
192
- outlineColor: n.string.isRequired,
193
- points: n.arrayOf(n.shape({
194
- x: n.number,
195
- y: n.number
196
- })).isRequired,
197
- strokeWidth: n.number
198
- }, h.defaultProps = { correct: !1 };
199
- //#endregion
200
- export { h as default };
@@ -1,20 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/hotspot/configure/src/hotspot-rectangle.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- declare class RectComponent extends React.Component {
11
- constructor(props: any);
12
- handleClick: any;
13
- handleMouseEnter: any;
14
- handleMouseLeave: any;
15
- handleOnDragEnd: any;
16
- onResizeEnd: any;
17
- handleDelete: any;
18
- render(): React.JSX.Element;
19
- }
20
- export default RectComponent;
@@ -1,119 +0,0 @@
1
- import e from "./DeleteWidget.js";
2
- import t from "react";
3
- import n from "prop-types";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import { Group as a, Rect as o, Transformer as s } from "react-konva";
6
- //#region src/author/hotspot-rectangle.tsx
7
- function c(e) {
8
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
9
- }
10
- function l(e, t) {
11
- return !e || c(e) ? e : c(e.default) ? e.default : t && c(e[t]) ? e[t] : t && c(e[t]?.default) ? e[t].default : e;
12
- }
13
- var u = l(s, "Transformer"), d = l(a, "Group"), f = l(o, "Rect"), p = class extends t.Component {
14
- constructor(e) {
15
- super(e), this.state = {
16
- hovered: !1,
17
- isDragging: !1
18
- }, this.shapeRef = t.createRef(), this.trRef = t.createRef();
19
- }
20
- handleClick = (e) => {
21
- let { width: t, height: n, isDrawing: r, onClick: i, id: a } = this.props;
22
- t < 0 && n < 0 && r || (e.cancelBubble = !0, i(a));
23
- };
24
- handleMouseEnter = () => {
25
- document.body.style.cursor = "pointer", this.setState({ hovered: !0 }), this.trRef.current.setNode(this.shapeRef.current), this.trRef.current.getLayer().batchDraw();
26
- };
27
- handleMouseLeave = () => {
28
- this.state.isDragging || (this.setState({ hovered: !1 }), document.body.style.cursor = "default");
29
- };
30
- handleOnDragEnd = (e) => {
31
- let { onDragEnd: t, id: n } = this.props;
32
- this.setState({ isDragging: !1 }), t(n, {
33
- x: e.target.x(),
34
- y: e.target.y()
35
- });
36
- };
37
- onResizeEnd = () => {
38
- let { onDragEnd: e, id: t } = this.props, n = this.shapeRef.current, r = n.scaleX(), i = n.scaleY();
39
- n.scaleX(1), n.scaleY(1), this.setState({ isDragging: !1 }), e(t, {
40
- x: n.x(),
41
- y: n.y(),
42
- width: Math.max(5, n.width() * r),
43
- height: Math.max(n.height() * i)
44
- });
45
- };
46
- handleDelete = (e) => {
47
- let { onDeleteShape: t } = this.props;
48
- t(e);
49
- };
50
- render() {
51
- let { correct: t, height: n, hotspotColor: a, id: o, outlineColor: s, width: c, x: l, y: p, strokeWidth: m = 5, selectedHotspotColor: h, hoverOutlineColor: g } = this.props, { hovered: _ } = this.state;
52
- return /* @__PURE__ */ i(d, {
53
- onMouseLeave: this.handleMouseLeave,
54
- onMouseEnter: this.handleMouseEnter,
55
- padding: 12,
56
- children: [
57
- g && _ && /* @__PURE__ */ r(f, {
58
- x: l,
59
- y: p,
60
- width: c,
61
- height: n,
62
- stroke: g,
63
- strokeWidth: 2,
64
- listening: !1
65
- }),
66
- /* @__PURE__ */ r(f, {
67
- ref: this.shapeRef,
68
- width: c,
69
- height: n,
70
- fill: t && h ? h : a,
71
- onClick: this.handleClick,
72
- onTap: this.handleClick,
73
- draggable: !0,
74
- stroke: _ ? "transparent" : s,
75
- strokeWidth: t && !_ ? m : 0,
76
- onDragStart: () => this.setState({ isDragging: !0 }),
77
- onDragEnd: this.handleOnDragEnd,
78
- onTransformStart: () => this.setState({ isDragging: !0 }),
79
- onTransformEnd: this.onResizeEnd,
80
- x: l,
81
- y: p,
82
- cursor: "pointer"
83
- }),
84
- !this.state.isDragging && this.state.hovered && /* @__PURE__ */ r(e, {
85
- id: o,
86
- height: n,
87
- width: c,
88
- x: l,
89
- y: p,
90
- handleWidgetClick: this.handleDelete
91
- }),
92
- this.state.hovered && /* @__PURE__ */ r(u, {
93
- ref: this.trRef,
94
- rotateEnabled: !1,
95
- boundBoxFunc: (e, t) => t.width < 10 || t.height < 10 ? e : t
96
- })
97
- ]
98
- });
99
- }
100
- };
101
- p.propTypes = {
102
- correct: n.bool,
103
- isDrawing: n.bool.isRequired,
104
- id: n.string.isRequired,
105
- height: n.number.isRequired,
106
- hotspotColor: n.string.isRequired,
107
- selectedHotspotColor: n.string,
108
- hoverOutlineColor: n.string,
109
- onClick: n.func.isRequired,
110
- onDeleteShape: n.func.isRequired,
111
- onDragEnd: n.func.isRequired,
112
- outlineColor: n.string.isRequired,
113
- width: n.number.isRequired,
114
- x: n.number.isRequired,
115
- y: n.number.isRequired,
116
- strokeWidth: n.number
117
- }, p.defaultProps = { correct: !1 };
118
- //#endregion
119
- export { p as default };
@@ -1,9 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/hotspot/configure/src/icons.js
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- export declare const faDelete = "data:image/png;base64,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";
@@ -1,4 +0,0 @@
1
- //#region src/author/icons.ts
2
- var e = "data:image/png;base64,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";
3
- //#endregion
4
- export { e as faDelete };
@@ -1,19 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/hotspot/configure/src/image-konva.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- declare class ImageComponent extends React.Component {
11
- constructor(props: any);
12
- componentDidMount(): void;
13
- componentDidUpdate(oldProps: any): void;
14
- componentWillUnmount(): void;
15
- loadImage(): void;
16
- handleLoad: any;
17
- render(): React.JSX.Element;
18
- }
19
- export default ImageComponent;
@@ -1,49 +0,0 @@
1
- import e from "react";
2
- import t from "prop-types";
3
- import { jsx as n } from "react/jsx-runtime";
4
- import { Image as r } from "react-konva";
5
- //#region src/author/image-konva.tsx
6
- function i(e) {
7
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
8
- }
9
- function a(e, t) {
10
- return !e || i(e) ? e : i(e.default) ? e.default : t && i(e[t]) ? e[t] : t && i(e[t]?.default) ? e[t].default : e;
11
- }
12
- var o = a(r, "Image"), s = class extends e.Component {
13
- constructor(e) {
14
- super(e), this.state = { image: null };
15
- }
16
- componentDidMount() {
17
- this.loadImage();
18
- }
19
- componentDidUpdate(e) {
20
- e.src !== this.props.src && this.loadImage();
21
- }
22
- componentWillUnmount() {
23
- this.image.removeEventListener("load", this.handleLoad);
24
- }
25
- loadImage() {
26
- let { src: e } = this.props;
27
- this.image = new window.Image(), this.image.src = e, this.image.addEventListener("load", this.handleLoad);
28
- }
29
- handleLoad = () => {
30
- this.setState({ image: this.image });
31
- };
32
- render() {
33
- let { x: e, y: t } = this.props, { image: r } = this.state;
34
- return /* @__PURE__ */ n(o, {
35
- width: 20,
36
- height: 20,
37
- x: e,
38
- y: t,
39
- image: r
40
- });
41
- }
42
- };
43
- s.propTypes = {
44
- src: t.string.isRequired,
45
- x: t.number.isRequired,
46
- y: t.number.isRequired
47
- };
48
- //#endregion
49
- export { s as default };
@@ -1,52 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/hotspot/configure/src/index.js
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- export default class HotspotConfigure extends HTMLElement {
10
- static createDefaultModel: (model?: {}) => {
11
- hotspotList: any;
12
- outlineList: any;
13
- shapes: any;
14
- dimensions: {
15
- height: number;
16
- width: number;
17
- };
18
- hotspotColor: string;
19
- imageUrl: string;
20
- multipleCorrect: boolean;
21
- outlineColor: string;
22
- partialScoring: boolean;
23
- prompt: string;
24
- promptEnabled: boolean;
25
- rationaleEnabled: boolean;
26
- strokeWidth: number;
27
- studentInstructionsEnabled: boolean;
28
- teacherInstructions: string;
29
- teacherInstructionsEnabled: boolean;
30
- toolbarEditorPosition: string;
31
- };
32
- constructor();
33
- set model(s: any);
34
- set configuration(c: any);
35
- dispatchModelUpdated(reset: any): void;
36
- onModelChanged(m: any, reset: any): void;
37
- onConfigurationChanged: any;
38
- onModelChangedByConfig: any;
39
- onColorChanged: any;
40
- onPromptChanged: any;
41
- onRationaleChanged: any;
42
- onTeacherInstructionsChanged: any;
43
- onUpdateImageDimension: any;
44
- onUpdateShapes: any;
45
- onImageUpload: any;
46
- insertImage: any;
47
- onDeleteImage: any;
48
- insertSound(handler: any): void;
49
- onDeleteSound(src: any, done: any): void;
50
- _render(): void;
51
- disconnectedCallback(): void;
52
- }