@pie-element/drawing-response 12.1.2-next.2 → 12.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 (172) hide show
  1. package/CHANGELOG.json +547 -0
  2. package/CHANGELOG.md +1966 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +1 -0
  5. package/configure/CHANGELOG.json +367 -0
  6. package/configure/CHANGELOG.md +1766 -0
  7. package/configure/lib/button.js +37 -0
  8. package/configure/lib/button.js.map +1 -0
  9. package/configure/lib/defaults.js +116 -0
  10. package/configure/lib/defaults.js.map +1 -0
  11. package/configure/lib/image-container.js +307 -0
  12. package/configure/lib/image-container.js.map +1 -0
  13. package/configure/lib/index.js +147 -0
  14. package/configure/lib/index.js.map +1 -0
  15. package/configure/lib/root.js +219 -0
  16. package/configure/lib/root.js.map +1 -0
  17. package/configure/package.json +24 -0
  18. package/configure/src/__tests__/image-container.test.jsx +231 -0
  19. package/configure/src/__tests__/index.test.js +72 -0
  20. package/configure/src/__tests__/root.test.jsx +110 -0
  21. package/configure/src/button.jsx +33 -0
  22. package/configure/src/defaults.js +80 -0
  23. package/configure/src/image-container.jsx +316 -0
  24. package/configure/src/index.js +167 -0
  25. package/configure/src/root.jsx +198 -0
  26. package/controller/CHANGELOG.json +52 -0
  27. package/controller/CHANGELOG.md +261 -0
  28. package/controller/lib/defaults.js +22 -0
  29. package/controller/lib/defaults.js.map +1 -0
  30. package/controller/lib/index.js +84 -0
  31. package/controller/lib/index.js.map +1 -0
  32. package/controller/package.json +16 -0
  33. package/controller/src/__tests__/index.test.js +172 -0
  34. package/controller/src/defaults.js +12 -0
  35. package/controller/src/index.js +71 -0
  36. package/docs/config-schema.json +1766 -0
  37. package/docs/config-schema.json.md +1313 -0
  38. package/docs/demo/config.js +8 -0
  39. package/docs/demo/generate.js +14 -0
  40. package/docs/demo/index.html +1 -0
  41. package/docs/demo/session.js +37 -0
  42. package/docs/pie-schema.json +823 -0
  43. package/docs/pie-schema.json.md +606 -0
  44. package/lib/drawing-response/button.js +49 -0
  45. package/lib/drawing-response/button.js.map +1 -0
  46. package/lib/drawing-response/constants.js +43 -0
  47. package/lib/drawing-response/constants.js.map +1 -0
  48. package/lib/drawing-response/container.js +327 -0
  49. package/lib/drawing-response/container.js.map +1 -0
  50. package/lib/drawing-response/drawable-circle.js +80 -0
  51. package/lib/drawing-response/drawable-circle.js.map +1 -0
  52. package/lib/drawing-response/drawable-eraser.js +64 -0
  53. package/lib/drawing-response/drawable-eraser.js.map +1 -0
  54. package/lib/drawing-response/drawable-free-path.js +71 -0
  55. package/lib/drawing-response/drawable-free-path.js.map +1 -0
  56. package/lib/drawing-response/drawable-helper.js +34 -0
  57. package/lib/drawing-response/drawable-helper.js.map +1 -0
  58. package/lib/drawing-response/drawable-image.js +41 -0
  59. package/lib/drawing-response/drawable-image.js.map +1 -0
  60. package/lib/drawing-response/drawable-line.js +75 -0
  61. package/lib/drawing-response/drawable-line.js.map +1 -0
  62. package/lib/drawing-response/drawable-main.js +345 -0
  63. package/lib/drawing-response/drawable-main.js.map +1 -0
  64. package/lib/drawing-response/drawable-palette.js +140 -0
  65. package/lib/drawing-response/drawable-palette.js.map +1 -0
  66. package/lib/drawing-response/drawable-rectangle.js +80 -0
  67. package/lib/drawing-response/drawable-rectangle.js.map +1 -0
  68. package/lib/drawing-response/drawable-text.js +295 -0
  69. package/lib/drawing-response/drawable-text.js.map +1 -0
  70. package/lib/drawing-response/drawable-transformer.js +52 -0
  71. package/lib/drawing-response/drawable-transformer.js.map +1 -0
  72. package/lib/drawing-response/factory.js +22 -0
  73. package/lib/drawing-response/factory.js.map +1 -0
  74. package/lib/drawing-response/icon.js +55 -0
  75. package/lib/drawing-response/icon.js.map +1 -0
  76. package/lib/drawing-response/index.js +91 -0
  77. package/lib/drawing-response/index.js.map +1 -0
  78. package/lib/index.js +68 -0
  79. package/lib/index.js.map +1 -0
  80. package/package.json +19 -82
  81. package/src/__tests__/drawing-index-test.jsx +103 -0
  82. package/src/drawing-response/__tests__/container.test.jsx +82 -0
  83. package/src/drawing-response/__tests__/drawable-helper.test.jsx +24 -0
  84. package/src/drawing-response/__tests__/drawing-main.test.jsx +855 -0
  85. package/src/drawing-response/__tests__/factory.test.js +13 -0
  86. package/src/drawing-response/button.jsx +45 -0
  87. package/src/drawing-response/constants.js +44 -0
  88. package/src/drawing-response/container.jsx +301 -0
  89. package/src/drawing-response/drawable-circle.jsx +74 -0
  90. package/src/drawing-response/drawable-eraser.jsx +53 -0
  91. package/src/drawing-response/drawable-free-path.jsx +59 -0
  92. package/src/drawing-response/drawable-helper.jsx +21 -0
  93. package/src/drawing-response/drawable-image.jsx +36 -0
  94. package/src/drawing-response/drawable-line.jsx +62 -0
  95. package/src/drawing-response/drawable-main.jsx +333 -0
  96. package/src/drawing-response/drawable-palette.jsx +99 -0
  97. package/src/drawing-response/drawable-rectangle.jsx +69 -0
  98. package/src/drawing-response/drawable-text.jsx +318 -0
  99. package/src/drawing-response/drawable-transformer.jsx +52 -0
  100. package/src/drawing-response/factory.js +17 -0
  101. package/src/drawing-response/icon.jsx +52 -0
  102. package/src/drawing-response/index.jsx +92 -0
  103. package/src/index.js +72 -0
  104. package/configure.js +0 -2
  105. package/controller.js +0 -1
  106. package/dist/author/button.d.ts +0 -29
  107. package/dist/author/button.js +0 -25
  108. package/dist/author/defaults.d.ts +0 -118
  109. package/dist/author/defaults.js +0 -86
  110. package/dist/author/image-container.d.ts +0 -42
  111. package/dist/author/image-container.js +0 -183
  112. package/dist/author/index.d.ts +0 -37
  113. package/dist/author/index.js +0 -79
  114. package/dist/author/root.d.ts +0 -17
  115. package/dist/author/root.js +0 -142
  116. package/dist/browser/MenuItem-N0xdzWSs.js +0 -10483
  117. package/dist/browser/MenuItem-N0xdzWSs.js.map +0 -1
  118. package/dist/browser/author/index.js +0 -37837
  119. package/dist/browser/author/index.js.map +0 -1
  120. package/dist/browser/browser-kkT1XVKw.js +0 -219
  121. package/dist/browser/browser-kkT1XVKw.js.map +0 -1
  122. package/dist/browser/controller/index.js +0 -61
  123. package/dist/browser/controller/index.js.map +0 -1
  124. package/dist/browser/delivery/index.js +0 -13560
  125. package/dist/browser/delivery/index.js.map +0 -1
  126. package/dist/browser/drawing-response.css +0 -2
  127. package/dist/controller/defaults.d.ts +0 -24
  128. package/dist/controller/defaults.js +0 -18
  129. package/dist/controller/index.d.ts +0 -13
  130. package/dist/controller/index.js +0 -46
  131. package/dist/delivery/drawing-response/button.d.ts +0 -31
  132. package/dist/delivery/drawing-response/button.js +0 -36
  133. package/dist/delivery/drawing-response/constants.d.ts +0 -16
  134. package/dist/delivery/drawing-response/constants.js +0 -40
  135. package/dist/delivery/drawing-response/container.d.ts +0 -32
  136. package/dist/delivery/drawing-response/container.js +0 -212
  137. package/dist/delivery/drawing-response/drawable-circle.d.ts +0 -18
  138. package/dist/delivery/drawing-response/drawable-circle.js +0 -51
  139. package/dist/delivery/drawing-response/drawable-eraser.d.ts +0 -17
  140. package/dist/delivery/drawing-response/drawable-eraser.js +0 -52
  141. package/dist/delivery/drawing-response/drawable-free-path.d.ts +0 -18
  142. package/dist/delivery/drawing-response/drawable-free-path.js +0 -52
  143. package/dist/delivery/drawing-response/drawable-helper.d.ts +0 -17
  144. package/dist/delivery/drawing-response/drawable-helper.js +0 -12
  145. package/dist/delivery/drawing-response/drawable-image.d.ts +0 -24
  146. package/dist/delivery/drawing-response/drawable-image.js +0 -28
  147. package/dist/delivery/drawing-response/drawable-line.d.ts +0 -18
  148. package/dist/delivery/drawing-response/drawable-line.js +0 -53
  149. package/dist/delivery/drawing-response/drawable-main.d.ts +0 -25
  150. package/dist/delivery/drawing-response/drawable-main.js +0 -210
  151. package/dist/delivery/drawing-response/drawable-palette.d.ts +0 -14
  152. package/dist/delivery/drawing-response/drawable-palette.js +0 -89
  153. package/dist/delivery/drawing-response/drawable-rectangle.d.ts +0 -18
  154. package/dist/delivery/drawing-response/drawable-rectangle.js +0 -49
  155. package/dist/delivery/drawing-response/drawable-text.d.ts +0 -30
  156. package/dist/delivery/drawing-response/drawable-text.js +0 -189
  157. package/dist/delivery/drawing-response/drawable-transformer.d.ts +0 -16
  158. package/dist/delivery/drawing-response/drawable-transformer.js +0 -35
  159. package/dist/delivery/drawing-response/factory.d.ts +0 -11
  160. package/dist/delivery/drawing-response/factory.js +0 -19
  161. package/dist/delivery/drawing-response/icon.d.ts +0 -19
  162. package/dist/delivery/drawing-response/icon.js +0 -52
  163. package/dist/delivery/drawing-response/index.d.ts +0 -18
  164. package/dist/delivery/drawing-response/index.js +0 -70
  165. package/dist/delivery/index.d.ts +0 -19
  166. package/dist/delivery/index.js +0 -47
  167. package/dist/index.d.ts +0 -1
  168. package/dist/index.iife.d.ts +0 -8
  169. package/dist/index.iife.js +0 -165
  170. package/dist/index.js +0 -2
  171. package/dist/runtime-support.d.ts +0 -12
  172. package/dist/runtime-support.js +0 -12
@@ -1,189 +0,0 @@
1
- import e from "./drawable-transformer.js";
2
- import "react";
3
- import { jsx as t } from "react/jsx-runtime";
4
- import n from "@pie-lib/translator";
5
- import { Text as r } from "react-konva";
6
- //#region src/delivery/drawing-response/drawable-text.tsx
7
- function i(e) {
8
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
9
- }
10
- function a(e, t) {
11
- 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;
12
- }
13
- var o = a(r, "Text"), { translator: s } = n, c = () => Math.random().toString(36).substring(2) + (/* @__PURE__ */ new Date()).getTime().toString(36), l = class n {
14
- static getTextareaNode(e) {
15
- return `textarea_${e}`;
16
- }
17
- static getTextNode(e) {
18
- return `text_${e}`;
19
- }
20
- static getTransformerNode(e) {
21
- return `transformer_${e}`;
22
- }
23
- constructor(e) {
24
- this.all = e && e.all || [], this.eventListenersDetachArray = [];
25
- }
26
- removeEventListeners = () => this.eventListenersDetachArray.forEach((e) => e());
27
- setAll = (e) => {
28
- this.all = e, this.props.forceUpdate();
29
- };
30
- addNewTextEntry = (e) => {
31
- let t = this.all, n = c();
32
- t.push({
33
- id: n,
34
- text: "",
35
- isDefault: !0,
36
- label: s.t("drawingResponse.onDoubleClick", { lng: e }),
37
- width: 200,
38
- x: (t.length + 1) * 5 + 50,
39
- y: (t.length + 1) * 5 + 50,
40
- textVisible: !0,
41
- transformerVisible: !0,
42
- textareaVisible: !1,
43
- createdAt: /* @__PURE__ */ new Date(),
44
- type: "text-entry"
45
- }), this.props.handleSessionChange();
46
- };
47
- showOnlyTextNodes() {
48
- this.all.map((e) => {
49
- e.textVisible = !0, e.transformerVisible = !1, e.textareaVisible = !1;
50
- });
51
- }
52
- toggleTextarea(e, t) {
53
- this.all = this.all.map((n) => n.id === e ? {
54
- ...n,
55
- textVisible: !t,
56
- transformerVisible: !t,
57
- textareaVisible: t
58
- } : n), this.props.forceUpdate();
59
- }
60
- initializeDefault(e, t) {
61
- if (t) {
62
- let t = this.all.filter((t) => t.id === e)[0];
63
- t.isDefault = !1;
64
- }
65
- }
66
- saveValue(e, t) {
67
- let n = t.value;
68
- this.all = this.all.map((t) => t.id === e ? {
69
- ...t,
70
- text: n
71
- } : t), n || (this.all = this.all.filter((t) => t.id !== e)), this.toggleTextarea(e, !1), this.props.handleSessionChange(), this.props.forceUpdate();
72
- }
73
- handleMouseDown = () => this.props.toggleTextSelected(!0);
74
- handleMouseUp = () => this.props.toggleTextSelected(!1);
75
- handleClick = (e, t) => {
76
- let n = this.all.filter((e) => e.id === t)[0];
77
- n.transformerVisible = !0, this.props.forceUpdate();
78
- };
79
- handleDblClick = (e, t) => {
80
- let { id: r, isDefault: i } = t;
81
- this.toggleTextarea(r, !0);
82
- let a = this[n.getTextNode(r)], o = this[n.getTextareaNode(r)];
83
- if (!a || !o) return;
84
- let s = a.getAbsolutePosition();
85
- o.value = t.text || "", o.style.position = "absolute", o.style.top = s.y + "px", o.style.left = s.x + "px", o.style.width = a.width() - a.padding() * 2 + "px", o.style.height = a.height() - a.padding() * 2 + 5 + "px", o.style.fontSize = a.fontSize() + "px", o.style.border = "none", o.style.padding = "0px", o.style.margin = "0px", o.style.overflow = "hidden", o.style.background = "none", o.style.outline = "none", o.style.resize = "none", o.style.lineHeight = a.lineHeight(), o.style.fontFamily = a.fontFamily(), o.style.transformOrigin = "left top", o.style.textAlign = a.align(), o.style.color = a.fill(), o.style.display = "block";
86
- let c = a.rotation();
87
- o.style.transform = c ? `rotateZ(${c}deg)` : "", o.focus();
88
- let l = (e) => {
89
- e.key === "Enter" && !e.shiftKey && this.saveValue(r, o), e.key === "Escape" && this.toggleTextarea(r, !1);
90
- }, u = () => {
91
- this.showOnlyTextNodes(), this.saveValue(r, o);
92
- };
93
- o.addEventListener("keydown", l), o.addEventListener("blur", u), this.eventListenersDetachArray.push(() => {
94
- o.removeEventListener("keydown", l), o.removeEventListener("blur", u);
95
- }), this.initializeDefault(r, i), this.props.forceUpdate();
96
- };
97
- handleTransform = (e, t) => {
98
- this[t].setAttrs({
99
- width: this[t].width() * this[t].scaleX(),
100
- scaleX: this.props.scale
101
- });
102
- };
103
- renderTextareas() {
104
- return this.all.map((e) => {
105
- let { id: n, textareaVisible: r } = e, i = `textarea_${n}`;
106
- return /* @__PURE__ */ t("textarea", {
107
- ref: (e) => {
108
- this[i] = e;
109
- },
110
- style: { display: `${r ? "block" : "none"}` }
111
- }, i);
112
- });
113
- }
114
- setInitialProps(e) {
115
- this.props ||= e;
116
- }
117
- render(n) {
118
- if (this.setInitialProps(n), n.stage) {
119
- let e = n.stage;
120
- if (e !== this.stage) {
121
- let t = (e) => {
122
- e.target === this.stage && (this.showOnlyTextNodes(), this.props.forceUpdate());
123
- };
124
- e.on("click", t), this.eventListenersDetachArray.push(() => e.off("click", t));
125
- }
126
- this.stage = e;
127
- }
128
- return this.all.map((r) => {
129
- let { id: i, label: a, x: s, y: c, width: l, textVisible: u, rotation: d, transformerVisible: f } = r, p = `text_${i}`, m = `transformer_${i}`, h = {};
130
- return n.disabled || (h = {
131
- onClick: (e) => this.handleClick(e, i),
132
- onTap: (e) => this.handleClick(e, i),
133
- onDblClick: (e) => this.handleDblClick(e, r),
134
- onDblTap: (e) => this.handleDblClick(e, r),
135
- onTransform: (e) => this.handleTransform(e, p),
136
- onTransformEnd: this.props.handleSessionChange,
137
- onMouseDown: (e) => {
138
- e.cancelBubble = !0, this.props.toggleTextSelected(!0);
139
- },
140
- onTouchStart: (e) => {
141
- e.cancelBubble = !0, this.props.toggleTextSelected(!0);
142
- },
143
- onDragStart: (e) => {
144
- e.cancelBubble = !0, this.props.toggleTextSelected(!0);
145
- },
146
- onDragMove: (e) => {
147
- e.cancelBubble = !0;
148
- },
149
- onDragEnd: (e) => {
150
- e.cancelBubble = !0, this.props.toggleTextSelected(!1), this.props.handleSessionChange();
151
- },
152
- onMouseUp: (e) => {
153
- e.cancelBubble = !0, this.props.toggleTextSelected(!1);
154
- },
155
- onTouchEnd: (e) => {
156
- e.cancelBubble = !0, this.props.toggleTextSelected(!1);
157
- },
158
- onMouseEnter: this.props.onMouseOverElement,
159
- onMouseLeave: this.props.onMouseOutElement
160
- }), d && (h.rotation = d), [/* @__PURE__ */ t(o, {
161
- bubbles: !0,
162
- id: i,
163
- ref: (e) => {
164
- this[p] = e;
165
- },
166
- text: r.text || a,
167
- name: p,
168
- x: s,
169
- y: c,
170
- width: l,
171
- draggable: !n.disabled,
172
- visible: u,
173
- fontSize: 16,
174
- ...h
175
- }, i), f && /* @__PURE__ */ t(e, {
176
- ref: (e) => {
177
- this[m] = e;
178
- },
179
- selectedShapeName: p,
180
- onMouseDown: this.handleMouseDown,
181
- onTouchStart: this.handleMouseDown,
182
- onMouseUp: this.handleMouseUp,
183
- onTouchEnd: this.handleMouseUp
184
- }, `transformer_${i}`)];
185
- });
186
- }
187
- };
188
- //#endregion
189
- export { l as default };
@@ -1,16 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-transformer.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 TransformerComponent extends React.Component {
11
- componentDidMount(): void;
12
- componentDidUpdate(): void;
13
- checkNode(): void;
14
- render(): React.JSX.Element;
15
- }
16
- export default TransformerComponent;
@@ -1,35 +0,0 @@
1
- import e from "react";
2
- import t from "prop-types";
3
- import { jsx as n } from "react/jsx-runtime";
4
- import { Transformer as r } from "react-konva";
5
- //#region src/delivery/drawing-response/drawable-transformer.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, "Transformer"), s = class extends e.Component {
13
- componentDidMount() {
14
- this.checkNode();
15
- }
16
- componentDidUpdate() {
17
- this.checkNode();
18
- }
19
- checkNode() {
20
- let e = this.transformer.getStage(), { selectedShapeName: t } = this.props, n = e.findOne(`.${t}`);
21
- n !== this.transformer.node() && (n ? this.transformer.attachTo(n) : this.transformer.detach(), this.transformer.getLayer().batchDraw());
22
- }
23
- render() {
24
- return /* @__PURE__ */ n(o, {
25
- ref: (e) => {
26
- this.transformer = e;
27
- },
28
- enabledAnchors: ["middle-left", "middle-right"],
29
- ...this.props
30
- });
31
- }
32
- };
33
- s.propTypes = { selectedShapeName: t.string.isRequired };
34
- //#endregion
35
- export { s as default };
@@ -1,11 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/src/drawing-response/factory.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
- import EraserDrawable from './drawable-eraser.js';
10
- declare const _default: (type: any, props: any) => EraserDrawable;
11
- export default _default;
@@ -1,19 +0,0 @@
1
- import e from "./drawable-free-path.js";
2
- import t from "./drawable-line.js";
3
- import n from "./drawable-rectangle.js";
4
- import r from "./drawable-circle.js";
5
- import i from "./drawable-eraser.js";
6
- //#region src/delivery/drawing-response/factory.ts
7
- var a = [
8
- e,
9
- t,
10
- n,
11
- r,
12
- i
13
- ], o = (e, t) => {
14
- let n = a.find((t) => t.TYPE === e);
15
- if (n) return new n(t);
16
- throw Error(`Can't find drawable for type: ${e} and props: ${JSON.stringify(t)}`);
17
- };
18
- //#endregion
19
- export { o as default };
@@ -1,19 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/src/drawing-response/icon.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
- import PropTypes from 'prop-types';
11
- declare const IconWrapper: {
12
- ({ path }: {
13
- path: any;
14
- }): React.JSX.Element;
15
- propTypes: {
16
- path: PropTypes.Validator<string>;
17
- };
18
- };
19
- export default IconWrapper;
@@ -1,52 +0,0 @@
1
- import "react";
2
- import e from "prop-types";
3
- import { jsx as t } from "react/jsx-runtime";
4
- import n from "@mdi/react";
5
- import { mdiCircle as r, mdiCursorDefault as i, mdiEraser as a, mdiFormatColorFill as o, mdiFormatColorText as s, mdiMinus as c, mdiPencil as l, mdiRectangle as u } from "@mdi/js";
6
- //#region src/delivery/drawing-response/icon.tsx
7
- function d(e) {
8
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
9
- }
10
- function f(e, t) {
11
- return !e || d(e) ? e : d(e.default) ? e.default : t && d(e[t]) ? e[t] : t && d(e[t]?.default) ? e[t].default : e;
12
- }
13
- var p = f(n, "Icon"), m = ({ path: e }) => {
14
- let n;
15
- switch (e) {
16
- case "mdiPencil":
17
- n = l;
18
- break;
19
- case "mdiMinus":
20
- n = c;
21
- break;
22
- case "mdiCircle":
23
- n = r;
24
- break;
25
- case "mdiRectangle":
26
- n = u;
27
- break;
28
- case "mdiFormatColorText":
29
- n = s;
30
- break;
31
- case "mdiFormatColorFill":
32
- n = o;
33
- break;
34
- case "mdiEraser":
35
- n = a;
36
- break;
37
- default:
38
- n = i;
39
- break;
40
- }
41
- return /* @__PURE__ */ t(p, {
42
- path: n,
43
- size: .8,
44
- rotate: 180,
45
- horizontal: !0,
46
- vertical: !0,
47
- color: "#2B3963"
48
- });
49
- };
50
- m.propTypes = { path: e.string.isRequired };
51
- //#endregion
52
- export { m as default };
@@ -1,18 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/src/drawing-response/index.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 DrawingResponseComponent extends React.Component {
11
- constructor(props: any);
12
- static getDerivedStateFromError(error: any): {
13
- hasError: boolean;
14
- errorMessage: any;
15
- };
16
- render(): React.JSX.Element;
17
- }
18
- export default DrawingResponseComponent;
@@ -1,70 +0,0 @@
1
- import e from "./container.js";
2
- import t from "react";
3
- import n from "prop-types";
4
- import * as r from "@pie-lib/render-ui";
5
- import { Collapsible as i, PreviewPrompt as a, UiLayout as o, color as s } from "@pie-lib/render-ui";
6
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
- import { styled as u } from "@mui/material/styles";
8
- //#region src/delivery/drawing-response/index.tsx
9
- function d(e) {
10
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
11
- }
12
- function f(e, t) {
13
- return !e || d(e) ? e : d(e.default) ? e.default : t && d(e[t]) ? e[t] : t && d(e[t]?.default) ? e[t].default : e;
14
- }
15
- var p = f(o, "UiLayout") || f(v.UiLayout, "UiLayout"), m = f(a, "PreviewPrompt") || f(v.PreviewPrompt, "PreviewPrompt"), h = f(i, "Collapsible") || f(v.Collapsible, "Collapsible"), g = r, _ = g.default, v = _ && typeof _ == "object" ? _ : g, y = u(p)({
16
- color: s.text(),
17
- backgroundColor: s.background()
18
- }), b = u(h)(({ theme: e }) => ({ marginBottom: e.spacing(2) })), x = u("div")({
19
- color: s.text(),
20
- backgroundColor: s.background()
21
- }), S = class extends t.Component {
22
- constructor(e) {
23
- super(e), this.state = {
24
- showCorrect: !1,
25
- hasError: !1
26
- };
27
- }
28
- static getDerivedStateFromError(e) {
29
- return {
30
- hasError: !0,
31
- errorMessage: e.message
32
- };
33
- }
34
- render() {
35
- let { model: { extraCSSRules: t, disabled: n, imageDimensions: r, imageUrl: i, prompt: a, mode: o, teacherInstructions: s, backgroundImageEnabled: u, language: d }, session: f, onSessionChange: p } = this.props, { hasError: h, errorMessage: g } = this.state;
36
- return h ? /* @__PURE__ */ l(x, { children: ["An error occured: ", g] }) : /* @__PURE__ */ l(y, {
37
- extraCSSRules: t,
38
- children: [
39
- s && /* @__PURE__ */ c(b, {
40
- labels: {
41
- hidden: "Show Teacher Instructions",
42
- visible: "Hide Teacher Instructions"
43
- },
44
- children: /* @__PURE__ */ c(m, { prompt: s })
45
- }),
46
- a && /* @__PURE__ */ c(m, {
47
- tagName: "span",
48
- prompt: a
49
- }),
50
- /* @__PURE__ */ c(e, {
51
- session: f,
52
- onSessionChange: p,
53
- isEvaluateMode: o === "evaluate",
54
- imageDimensions: r,
55
- imageUrl: i,
56
- backgroundImageEnabled: u,
57
- disabled: n,
58
- language: d
59
- })
60
- ]
61
- });
62
- }
63
- };
64
- S.propTypes = {
65
- model: n.object.isRequired,
66
- onSessionChange: n.func.isRequired,
67
- session: n.object.isRequired
68
- };
69
- //#endregion
70
- export { S as default };
@@ -1,19 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/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 DrawingResponse extends HTMLElement {
10
- constructor();
11
- set model(m: any);
12
- isComplete(): any;
13
- sessionChanged: any;
14
- set session(s: any);
15
- get session(): any;
16
- connectedCallback(): void;
17
- _render(): void;
18
- disconnectedCallback(): void;
19
- }
@@ -1,47 +0,0 @@
1
- import e from "./drawing-response/index.js";
2
- import t from "react";
3
- import { createRoot as n } from "react-dom/client";
4
- import { isEmpty as r } from "@pie-element/shared-lodash";
5
- import { renderMath as i } from "@pie-element/shared-math-rendering-mathjax";
6
- import { ModelSetEvent as a, SessionChangedEvent as o } from "@pie-element/shared-player-events";
7
- //#region src/delivery/index.ts
8
- var s = class extends HTMLElement {
9
- constructor() {
10
- super(), this._root = null;
11
- }
12
- set model(e) {
13
- this._model = e, this.dispatchEvent(new a(this.tagName.toLowerCase(), this.isComplete(), !!this._model)), this._render();
14
- }
15
- isComplete() {
16
- return this._session && (!r(this._session.drawables) || !r(this._session.texts));
17
- }
18
- sessionChanged = (e) => {
19
- this._session.drawables = e.drawables, this._session.texts = e.texts, this._session.width = e.width, this.dispatchEvent(new o(this.tagName.toLowerCase(), this.isComplete())), this._render();
20
- };
21
- set session(e) {
22
- this._session = e, this._render();
23
- }
24
- get session() {
25
- return this._session;
26
- }
27
- connectedCallback() {
28
- this._render();
29
- }
30
- _render() {
31
- if (this._model && this._session) {
32
- let r = t.createElement(e, {
33
- model: this._model,
34
- session: this._session,
35
- onSessionChange: this.sessionChanged
36
- });
37
- this._root ||= n(this), this._root.render(r), queueMicrotask(() => {
38
- i(this);
39
- });
40
- }
41
- }
42
- disconnectedCallback() {
43
- this._root && this._root.unmount();
44
- }
45
- };
46
- //#endregion
47
- export { s as default };
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export { default } from './delivery/index.js';
@@ -1,8 +0,0 @@
1
- /**
2
- * IIFE entry point for drawing-response element
3
- * This file is only used for IIFE builds and includes auto-registration
4
- *
5
- * @sync-generated - Auto-generated during sync from pie-elements
6
- */
7
- import Element from './index.js';
8
- export default Element;