@pie-element/drawing-response 12.1.2-next.5 → 12.1.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 (172) hide show
  1. package/CHANGELOG.json +547 -0
  2. package/CHANGELOG.md +1972 -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 +1772 -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-HceGvxhZ.js +0 -10487
  117. package/dist/browser/MenuItem-HceGvxhZ.js.map +0 -1
  118. package/dist/browser/author/index.js +0 -43740
  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,118 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/configure/src/defaults.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
- declare const _default: {
10
- model: {
11
- backgroundImageEnabled: boolean;
12
- imageDimensions: {
13
- height: number;
14
- width: number;
15
- };
16
- imageUrl: string;
17
- prompt: string;
18
- promptEnabled: boolean;
19
- spellCheckEnabled: boolean;
20
- studentInstructionsEnabled: boolean;
21
- teacherInstructions: string;
22
- teacherInstructionsEnabled: boolean;
23
- toolbarEditorPosition: string;
24
- };
25
- configuration: {
26
- baseInputConfiguration: {
27
- h3: {
28
- disabled: boolean;
29
- };
30
- audio: {
31
- disabled: boolean;
32
- };
33
- video: {
34
- disabled: boolean;
35
- };
36
- image: {
37
- disabled: boolean;
38
- };
39
- textAlign: {
40
- disabled: boolean;
41
- };
42
- showParagraphs: {
43
- disabled: boolean;
44
- };
45
- separateParagraphs: {
46
- disabled: boolean;
47
- };
48
- };
49
- spellCheck: {
50
- label: string;
51
- settings: boolean;
52
- enabled: boolean;
53
- };
54
- backgroundImage: {
55
- settings: boolean;
56
- label: string;
57
- };
58
- prompt: {
59
- settings: boolean;
60
- label: string;
61
- inputConfiguration: {
62
- audio: {
63
- disabled: boolean;
64
- };
65
- video: {
66
- disabled: boolean;
67
- };
68
- image: {
69
- disabled: boolean;
70
- };
71
- };
72
- required: boolean;
73
- };
74
- settingsPanelDisabled: boolean;
75
- teacherInstructions: {
76
- settings: boolean;
77
- label: string;
78
- inputConfiguration: {
79
- audio: {
80
- disabled: boolean;
81
- };
82
- video: {
83
- disabled: boolean;
84
- };
85
- image: {
86
- disabled: boolean;
87
- };
88
- };
89
- required: boolean;
90
- };
91
- maxImageWidth: {
92
- teacherInstructions: number;
93
- prompt: number;
94
- };
95
- maxImageHeight: {
96
- teacherInstructions: number;
97
- prompt: number;
98
- };
99
- withRubric: {
100
- settings: boolean;
101
- label: string;
102
- };
103
- mathMlOptions: {
104
- mmlOutput: boolean;
105
- mmlEditing: boolean;
106
- };
107
- language: {
108
- settings: boolean;
109
- label: string;
110
- enabled: boolean;
111
- };
112
- languageChoices: {
113
- label: string;
114
- options: never[];
115
- };
116
- };
117
- };
118
- export default _default;
@@ -1,86 +0,0 @@
1
- //#region src/author/defaults.ts
2
- var e = {
3
- model: {
4
- backgroundImageEnabled: !0,
5
- imageDimensions: {
6
- height: 0,
7
- width: 0
8
- },
9
- imageUrl: "",
10
- prompt: "",
11
- promptEnabled: !0,
12
- spellCheckEnabled: !0,
13
- studentInstructionsEnabled: !0,
14
- teacherInstructions: "",
15
- teacherInstructionsEnabled: !0,
16
- toolbarEditorPosition: "bottom"
17
- },
18
- configuration: {
19
- baseInputConfiguration: {
20
- h3: { disabled: !0 },
21
- audio: { disabled: !1 },
22
- video: { disabled: !1 },
23
- image: { disabled: !1 },
24
- textAlign: { disabled: !0 },
25
- showParagraphs: { disabled: !1 },
26
- separateParagraphs: { disabled: !0 }
27
- },
28
- spellCheck: {
29
- label: "Spellcheck",
30
- settings: !1,
31
- enabled: !0
32
- },
33
- backgroundImage: {
34
- settings: !0,
35
- label: "Background Image"
36
- },
37
- prompt: {
38
- settings: !0,
39
- label: "Prompt",
40
- inputConfiguration: {
41
- audio: { disabled: !1 },
42
- video: { disabled: !1 },
43
- image: { disabled: !1 }
44
- },
45
- required: !1
46
- },
47
- settingsPanelDisabled: !1,
48
- teacherInstructions: {
49
- settings: !0,
50
- label: "Teacher Instructions",
51
- inputConfiguration: {
52
- audio: { disabled: !1 },
53
- video: { disabled: !1 },
54
- image: { disabled: !1 }
55
- },
56
- required: !1
57
- },
58
- maxImageWidth: {
59
- teacherInstructions: 300,
60
- prompt: 300
61
- },
62
- maxImageHeight: {
63
- teacherInstructions: 300,
64
- prompt: 300
65
- },
66
- withRubric: {
67
- settings: !1,
68
- label: "Add Rubric"
69
- },
70
- mathMlOptions: {
71
- mmlOutput: !1,
72
- mmlEditing: !1
73
- },
74
- language: {
75
- settings: !1,
76
- label: "Specify Language",
77
- enabled: !1
78
- },
79
- languageChoices: {
80
- label: "Language Choices",
81
- options: []
82
- }
83
- }
84
- };
85
- //#endregion
86
- export { e as default };
@@ -1,42 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/configure/src/image-container.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, { Component } from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare class ImageContainer extends Component {
12
- static propTypes: {
13
- imageDimensions: PropTypes.Requireable<object>;
14
- };
15
- static defaultProps: {};
16
- constructor(props: any);
17
- componentDidMount(): void;
18
- handleFileRead: any;
19
- handleUploadImage: any;
20
- makeDropzoneActive: () => void;
21
- makeDropzoneInactive: () => void;
22
- handleOnDrop: any;
23
- handleOnDragOver: any;
24
- handleOnDragExit: any;
25
- handleEnableDrag: () => void;
26
- handleDisableDrag: () => void;
27
- handleInputClick: any;
28
- handleOnImageLoad: ({ target: { offsetHeight, offsetWidth, naturalHeight, naturalWidth } }: {
29
- target: {
30
- offsetHeight: any;
31
- offsetWidth: any;
32
- naturalHeight: any;
33
- naturalWidth: any;
34
- };
35
- }) => void;
36
- initialiseResize: any;
37
- stopResizing: any;
38
- startResizing: any;
39
- renderUploadControl(label: any): React.JSX.Element;
40
- render(): React.JSX.Element;
41
- }
42
- export default ImageContainer;
@@ -1,183 +0,0 @@
1
- import e from "./button.js";
2
- import { Component as t } from "react";
3
- import n from "prop-types";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import { styled as a } from "@mui/material/styles";
6
- //#region src/author/image-container.tsx
7
- var o = (e) => e.type.match(/image.*/), s = a("div")(({ theme: e }) => ({ marginTop: e.spacing(1) })), c = a("div")(({ active: e }) => ({
8
- border: e ? "1px solid #0032C2" : "1px solid #E0E1E6",
9
- borderRadius: "5px"
10
- })), l = a("div")({
11
- alignItems: "center",
12
- display: "flex",
13
- flexDirection: "column",
14
- justifyContent: "center"
15
- }), u = a("div")({ minHeight: 350 }), d = a("img")({
16
- alignItems: "center",
17
- display: "flex",
18
- justifyContent: "center"
19
- }), f = a("div")({
20
- position: "relative",
21
- width: "fit-content"
22
- }), p = a("div")({
23
- borderBottom: "1px solid #727272",
24
- borderRight: "1px solid #727272",
25
- bottom: "-10px",
26
- cursor: "se-resize",
27
- height: "10px",
28
- position: "absolute",
29
- right: "-10px",
30
- width: "10px"
31
- }), m = a("input")({ display: "none" }), h = a("div")({
32
- backgroundColor: "#ECEDF1",
33
- borderBottom: "1px solid #E0E1E6",
34
- borderTopLeftRadius: "5px",
35
- borderTopRightRadius: "5px",
36
- display: "flex",
37
- padding: "12px 8px"
38
- }), g = class extends t {
39
- static propTypes = { imageDimensions: n.object };
40
- static defaultProps = {};
41
- constructor(e) {
42
- super(e), this.state = {
43
- maxImageWidth: "100%",
44
- maxImageHeight: "auto",
45
- dragEnabled: !0,
46
- dropzoneActive: !1
47
- }, this.fakeImageHandler = {
48
- cancel: () => {},
49
- done: (e, t) => this.props.onImageUpload(t),
50
- fileChosen: () => {},
51
- progress: () => {}
52
- };
53
- }
54
- componentDidMount() {
55
- if (this.imageSection) {
56
- let { height: e, width: t } = this.imageSection.getBoundingClientRect();
57
- this.setState({
58
- maxImageWidth: t,
59
- maxImageHeight: e
60
- });
61
- }
62
- }
63
- handleFileRead = (e) => {
64
- let { onImageUpload: t, insertImage: n } = this.props, r = new FileReader();
65
- r.onloadend = () => t(r.result), r.readAsDataURL(e), n && n({
66
- ...this.fakeImageHandler,
67
- getChosenFile: () => e,
68
- isPasted: !0
69
- });
70
- };
71
- handleUploadImage = (e) => {
72
- e.preventDefault();
73
- let t = e.target.files[0];
74
- this.handleFileRead(t);
75
- };
76
- makeDropzoneActive = () => this.setState({ dropzoneActive: !0 });
77
- makeDropzoneInactive = () => this.setState({ dropzoneActive: !1 });
78
- handleOnDrop = (e) => {
79
- e.preventDefault();
80
- let { items: t, files: n } = e.dataTransfer;
81
- if (t && t[0].kind === "file") {
82
- let e = t[0].getAsFile();
83
- o(e) && this.handleFileRead(e);
84
- } else o(n[0]) && this.handleFileRead(n[0]);
85
- this.makeDropzoneInactive();
86
- };
87
- handleOnDragOver = (e) => {
88
- e.preventDefault();
89
- let { dropzoneActive: t } = this.state;
90
- t || this.makeDropzoneActive();
91
- };
92
- handleOnDragExit = (e) => {
93
- e.preventDefault(), this.makeDropzoneInactive();
94
- };
95
- handleEnableDrag = () => this.setState({ dragEnabled: !0 });
96
- handleDisableDrag = () => this.setState({ dragEnabled: !1 });
97
- handleInputClick = () => {
98
- let { insertImage: e } = this.props;
99
- e && e(this.fakeImageHandler);
100
- };
101
- handleOnImageLoad = ({ target: { offsetHeight: e, offsetWidth: t, naturalHeight: n, naturalWidth: r } }) => {
102
- let { onUpdateImageDimension: i, imageDimensions: a } = this.props, o = this.resize, s = {
103
- height: a && a.height || e || n,
104
- width: a && a.width || t || r
105
- }, c = r / n;
106
- s.width !== s.height * c && (s.width = s.height * c), this.setState({ dimensions: s }), i(s), o.addEventListener("mousedown", this.initialiseResize, !1);
107
- };
108
- initialiseResize = () => {
109
- window.addEventListener("mousemove", this.startResizing, !1), window.addEventListener("mouseup", this.stopResizing, !1);
110
- };
111
- stopResizing = () => {
112
- let { onUpdateImageDimension: e } = this.props, { dimensions: t } = this.state;
113
- this.handleEnableDrag(), e(t), window.removeEventListener("mousemove", this.startResizing, !1), window.removeEventListener("mouseup", this.stopResizing, !1);
114
- };
115
- startResizing = (e) => {
116
- let t = this.image, { maxImageWidth: n, maxImageHeight: r, dimensions: i } = this.state, a = e.target.getBoundingClientRect(), o = e.clientX - a.left, s = e.clientY - a.top, c = i.width / i.height;
117
- o <= n + 5 && o / c <= r + 5 && o > 150 && s > 150 && t && (t.style.width = `${o}px`, t.style.height = `${o / c}px`, this.setState({ dimensions: {
118
- width: o,
119
- height: o / c
120
- } })), this.handleDisableDrag();
121
- };
122
- renderUploadControl(t) {
123
- return /* @__PURE__ */ i("div", { children: [/* @__PURE__ */ r(e, {
124
- label: t,
125
- onClick: this.handleInputClick
126
- }), /* @__PURE__ */ r(m, {
127
- accept: "image/*",
128
- onChange: this.handleUploadImage,
129
- ref: (e) => {
130
- this.input = e;
131
- },
132
- type: "file"
133
- })] });
134
- }
135
- render() {
136
- let { imageUrl: e, imageDimensions: t } = this.props, { dropzoneActive: n, dragEnabled: a, maxImageHeight: o, maxImageWidth: m } = this.state;
137
- return /* @__PURE__ */ r(s, { children: /* @__PURE__ */ i(c, {
138
- active: n,
139
- ...a ? {
140
- onDragExit: this.handleOnDragExit,
141
- onDragLeave: this.handleOnDragExit,
142
- onDragOver: this.handleOnDragOver,
143
- onDrop: this.handleOnDrop
144
- } : {},
145
- children: [/* @__PURE__ */ r(h, { children: this.renderUploadControl(e ? "Replace Image" : "Upload Image") }), /* @__PURE__ */ r(u, {
146
- ref: (e) => {
147
- this.imageSection = e;
148
- },
149
- children: e ? /* @__PURE__ */ i(f, { children: [/* @__PURE__ */ r(d, {
150
- height: "auto",
151
- onLoad: this.handleOnImageLoad,
152
- ref: (e) => {
153
- this.image = e;
154
- },
155
- src: e,
156
- style: {
157
- width: t && t.width ? t.width : void 0,
158
- maxWidth: m,
159
- maxHeight: o
160
- },
161
- alt: ""
162
- }), /* @__PURE__ */ r(p, { ref: (e) => {
163
- this.resize = e;
164
- } })] }) : /* @__PURE__ */ i(u, {
165
- as: l,
166
- children: [
167
- /* @__PURE__ */ r("label", { children: "Drag and drop or upload image from computer" }),
168
- /* @__PURE__ */ r("br", {}),
169
- this.renderUploadControl("Upload Image")
170
- ]
171
- })
172
- })]
173
- }) });
174
- }
175
- };
176
- g.propTypes = {
177
- imageUrl: n.string.isRequired,
178
- onImageUpload: n.func.isRequired,
179
- onUpdateImageDimension: n.func.isRequired,
180
- insertImage: n.func
181
- };
182
- //#endregion
183
- export { g as default };
@@ -1,37 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/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 DrawableResponseConfigure extends HTMLElement {
10
- static createDefaultModel: (model: {} | undefined, config: any) => {
11
- backgroundImageEnabled: boolean;
12
- imageDimensions: {
13
- height: number;
14
- width: number;
15
- };
16
- imageUrl: string;
17
- prompt: string;
18
- promptEnabled: boolean;
19
- spellCheckEnabled: boolean;
20
- studentInstructionsEnabled: boolean;
21
- teacherInstructions: string;
22
- teacherInstructionsEnabled: boolean;
23
- toolbarEditorPosition: string;
24
- };
25
- constructor();
26
- set model(s: any);
27
- set configuration(c: any);
28
- dispatchModelUpdated(reset: any): void;
29
- onModelChanged: any;
30
- onConfigurationChanged: any;
31
- insertImage: any;
32
- onDeleteImage: any;
33
- insertSound(handler: any): void;
34
- onDeleteSound(src: any, done: any): void;
35
- _render(): void;
36
- disconnectedCallback(): void;
37
- }
@@ -1,79 +0,0 @@
1
- import e from "./root.js";
2
- import t from "./defaults.js";
3
- import n from "react";
4
- import { createRoot as r } from "react-dom/client";
5
- import i from "debug";
6
- import { DeleteImageEvent as a, DeleteSoundEvent as o, InsertImageEvent as s, InsertSoundEvent as c, ModelUpdatedEvent as l } from "@pie-element/shared-configure-events";
7
- //#region src/author/index.ts
8
- var u = i("hotspot:configure"), d = class i extends HTMLElement {
9
- static createDefaultModel = (e = {}, n) => {
10
- let r = {
11
- ...t.model,
12
- ...e
13
- };
14
- return n?.withRubric?.forceEnabled && !r.rubricEnabled && (r.rubricEnabled = !0), r;
15
- };
16
- constructor() {
17
- super(), this._root = null, this._configuration = t.configuration, this._configuration.withRubric?.forceEnabled && (this._configuration.withRubric.settings = !1), this._model = i.createDefaultModel({}, this._configuration), this.onModelChanged = this.onModelChanged.bind(this);
18
- }
19
- set model(e) {
20
- this._model = i.createDefaultModel(e, this._configuration), this._render();
21
- }
22
- set configuration(e) {
23
- let n = {
24
- ...t.configuration,
25
- ...e
26
- };
27
- this._configuration = n;
28
- let { withRubric: r = {} } = e || {};
29
- r?.forceEnabled && (this._configuration.withRubric.settings = !1, this._model.rubricEnabled || (this._model.rubricEnabled = !0)), n?.language?.enabled ? n?.languageChoices?.options?.length && (this._model.language = n?.languageChoices.options[0].value) : n.language.settings && this._model.language ? (this._configuration.language.enabled = !0, (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) && (this._configuration.languageChoices.options = []), this._configuration.languageChoices.options.find((e) => e.value === this._model.language) || this._configuration.languageChoices.options.push({
30
- value: this._model.language,
31
- label: this._model.language
32
- })) : delete this._model.language, this._render();
33
- }
34
- dispatchModelUpdated(e) {
35
- let t = !!e;
36
- this.dispatchEvent(new l(this._model, t));
37
- }
38
- onModelChanged = (e, t) => {
39
- this._model = e, this.dispatchModelUpdated(t), this._render();
40
- };
41
- onConfigurationChanged = (e) => {
42
- this._configuration = e, this._render();
43
- };
44
- insertImage = (e) => {
45
- this.dispatchEvent(new s(e));
46
- };
47
- onDeleteImage = (e, t) => {
48
- this.dispatchEvent(new a(e, t));
49
- };
50
- insertSound(e) {
51
- this.dispatchEvent(new c(e));
52
- }
53
- onDeleteSound(e, t) {
54
- this.dispatchEvent(new o(e, t));
55
- }
56
- _render() {
57
- u("_render");
58
- let t = n.createElement(e, {
59
- model: this._model,
60
- configuration: this._configuration,
61
- onModelChanged: this.onModelChanged,
62
- onConfigurationChanged: this.onConfigurationChanged,
63
- imageSupport: {
64
- add: this.insertImage,
65
- delete: this.onDeleteImage
66
- },
67
- uploadSoundSupport: {
68
- add: this.insertSound.bind(this),
69
- delete: this.onDeleteSound.bind(this)
70
- }
71
- });
72
- this._root ||= r(this), this._root.render(t);
73
- }
74
- disconnectedCallback() {
75
- this._root && this._root.unmount();
76
- }
77
- };
78
- //#endregion
79
- export { d as default };
@@ -1,17 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/drawing-response/configure/src/root.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
- export declare class Root extends React.Component {
11
- onPromptChanged: any;
12
- onTeacherInstructionsChanged: any;
13
- onUpdateImageDimension: any;
14
- onImageUpload: any;
15
- render(): React.JSX.Element;
16
- }
17
- export default Root;