@pie-element/drawing-response 12.1.1 → 12.1.2-next.1

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/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/button.d.ts +29 -0
  4. package/dist/author/button.js +25 -0
  5. package/dist/author/defaults.d.ts +118 -0
  6. package/dist/author/defaults.js +86 -0
  7. package/dist/author/image-container.d.ts +42 -0
  8. package/dist/author/image-container.js +183 -0
  9. package/dist/author/index.d.ts +37 -0
  10. package/dist/author/index.js +79 -0
  11. package/dist/author/root.d.ts +17 -0
  12. package/dist/author/root.js +142 -0
  13. package/dist/browser/MenuItem-DbAfJgc1.js +10476 -0
  14. package/dist/browser/MenuItem-DbAfJgc1.js.map +1 -0
  15. package/dist/browser/author/index.js +37837 -0
  16. package/dist/browser/author/index.js.map +1 -0
  17. package/dist/browser/browser-kkT1XVKw.js +219 -0
  18. package/dist/browser/browser-kkT1XVKw.js.map +1 -0
  19. package/dist/browser/controller/index.js +61 -0
  20. package/dist/browser/controller/index.js.map +1 -0
  21. package/dist/browser/delivery/index.js +13560 -0
  22. package/dist/browser/delivery/index.js.map +1 -0
  23. package/dist/browser/drawing-response.css +2 -0
  24. package/dist/controller/defaults.d.ts +24 -0
  25. package/dist/controller/defaults.js +18 -0
  26. package/dist/controller/index.d.ts +13 -0
  27. package/dist/controller/index.js +46 -0
  28. package/dist/delivery/drawing-response/button.d.ts +31 -0
  29. package/dist/delivery/drawing-response/button.js +36 -0
  30. package/dist/delivery/drawing-response/constants.d.ts +16 -0
  31. package/dist/delivery/drawing-response/constants.js +40 -0
  32. package/dist/delivery/drawing-response/container.d.ts +32 -0
  33. package/dist/delivery/drawing-response/container.js +212 -0
  34. package/dist/delivery/drawing-response/drawable-circle.d.ts +18 -0
  35. package/dist/delivery/drawing-response/drawable-circle.js +51 -0
  36. package/dist/delivery/drawing-response/drawable-eraser.d.ts +17 -0
  37. package/dist/delivery/drawing-response/drawable-eraser.js +52 -0
  38. package/dist/delivery/drawing-response/drawable-free-path.d.ts +18 -0
  39. package/dist/delivery/drawing-response/drawable-free-path.js +52 -0
  40. package/dist/delivery/drawing-response/drawable-helper.d.ts +17 -0
  41. package/dist/delivery/drawing-response/drawable-helper.js +12 -0
  42. package/dist/delivery/drawing-response/drawable-image.d.ts +24 -0
  43. package/dist/delivery/drawing-response/drawable-image.js +28 -0
  44. package/dist/delivery/drawing-response/drawable-line.d.ts +18 -0
  45. package/dist/delivery/drawing-response/drawable-line.js +53 -0
  46. package/dist/delivery/drawing-response/drawable-main.d.ts +25 -0
  47. package/dist/delivery/drawing-response/drawable-main.js +210 -0
  48. package/dist/delivery/drawing-response/drawable-palette.d.ts +14 -0
  49. package/dist/delivery/drawing-response/drawable-palette.js +89 -0
  50. package/dist/delivery/drawing-response/drawable-rectangle.d.ts +18 -0
  51. package/dist/delivery/drawing-response/drawable-rectangle.js +49 -0
  52. package/dist/delivery/drawing-response/drawable-text.d.ts +30 -0
  53. package/dist/delivery/drawing-response/drawable-text.js +189 -0
  54. package/dist/delivery/drawing-response/drawable-transformer.d.ts +16 -0
  55. package/dist/delivery/drawing-response/drawable-transformer.js +35 -0
  56. package/dist/delivery/drawing-response/factory.d.ts +11 -0
  57. package/dist/delivery/drawing-response/factory.js +19 -0
  58. package/dist/delivery/drawing-response/icon.d.ts +19 -0
  59. package/dist/delivery/drawing-response/icon.js +52 -0
  60. package/dist/delivery/drawing-response/index.d.ts +18 -0
  61. package/dist/delivery/drawing-response/index.js +70 -0
  62. package/dist/delivery/index.d.ts +19 -0
  63. package/dist/delivery/index.js +47 -0
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.iife.d.ts +8 -0
  66. package/dist/index.iife.js +165 -0
  67. package/dist/index.js +2 -0
  68. package/dist/runtime-support.d.ts +12 -0
  69. package/dist/runtime-support.js +12 -0
  70. package/package.json +84 -20
  71. package/CHANGELOG.json +0 -547
  72. package/CHANGELOG.md +0 -1960
  73. package/LICENSE.md +0 -5
  74. package/README.md +0 -1
  75. package/configure/CHANGELOG.json +0 -367
  76. package/configure/CHANGELOG.md +0 -1760
  77. package/configure/lib/button.js +0 -37
  78. package/configure/lib/button.js.map +0 -1
  79. package/configure/lib/defaults.js +0 -116
  80. package/configure/lib/defaults.js.map +0 -1
  81. package/configure/lib/image-container.js +0 -307
  82. package/configure/lib/image-container.js.map +0 -1
  83. package/configure/lib/index.js +0 -147
  84. package/configure/lib/index.js.map +0 -1
  85. package/configure/lib/root.js +0 -219
  86. package/configure/lib/root.js.map +0 -1
  87. package/configure/package.json +0 -24
  88. package/configure/src/__tests__/image-container.test.jsx +0 -231
  89. package/configure/src/__tests__/index.test.js +0 -72
  90. package/configure/src/__tests__/root.test.jsx +0 -110
  91. package/configure/src/button.jsx +0 -33
  92. package/configure/src/defaults.js +0 -80
  93. package/configure/src/image-container.jsx +0 -316
  94. package/configure/src/index.js +0 -167
  95. package/configure/src/root.jsx +0 -198
  96. package/controller/CHANGELOG.json +0 -52
  97. package/controller/CHANGELOG.md +0 -261
  98. package/controller/lib/defaults.js +0 -22
  99. package/controller/lib/defaults.js.map +0 -1
  100. package/controller/lib/index.js +0 -84
  101. package/controller/lib/index.js.map +0 -1
  102. package/controller/package.json +0 -16
  103. package/controller/src/__tests__/index.test.js +0 -172
  104. package/controller/src/defaults.js +0 -12
  105. package/controller/src/index.js +0 -71
  106. package/docs/config-schema.json +0 -1766
  107. package/docs/config-schema.json.md +0 -1313
  108. package/docs/demo/config.js +0 -8
  109. package/docs/demo/generate.js +0 -14
  110. package/docs/demo/index.html +0 -1
  111. package/docs/demo/session.js +0 -37
  112. package/docs/pie-schema.json +0 -823
  113. package/docs/pie-schema.json.md +0 -606
  114. package/lib/drawing-response/button.js +0 -49
  115. package/lib/drawing-response/button.js.map +0 -1
  116. package/lib/drawing-response/constants.js +0 -43
  117. package/lib/drawing-response/constants.js.map +0 -1
  118. package/lib/drawing-response/container.js +0 -327
  119. package/lib/drawing-response/container.js.map +0 -1
  120. package/lib/drawing-response/drawable-circle.js +0 -80
  121. package/lib/drawing-response/drawable-circle.js.map +0 -1
  122. package/lib/drawing-response/drawable-eraser.js +0 -64
  123. package/lib/drawing-response/drawable-eraser.js.map +0 -1
  124. package/lib/drawing-response/drawable-free-path.js +0 -71
  125. package/lib/drawing-response/drawable-free-path.js.map +0 -1
  126. package/lib/drawing-response/drawable-helper.js +0 -34
  127. package/lib/drawing-response/drawable-helper.js.map +0 -1
  128. package/lib/drawing-response/drawable-image.js +0 -41
  129. package/lib/drawing-response/drawable-image.js.map +0 -1
  130. package/lib/drawing-response/drawable-line.js +0 -75
  131. package/lib/drawing-response/drawable-line.js.map +0 -1
  132. package/lib/drawing-response/drawable-main.js +0 -345
  133. package/lib/drawing-response/drawable-main.js.map +0 -1
  134. package/lib/drawing-response/drawable-palette.js +0 -140
  135. package/lib/drawing-response/drawable-palette.js.map +0 -1
  136. package/lib/drawing-response/drawable-rectangle.js +0 -80
  137. package/lib/drawing-response/drawable-rectangle.js.map +0 -1
  138. package/lib/drawing-response/drawable-text.js +0 -295
  139. package/lib/drawing-response/drawable-text.js.map +0 -1
  140. package/lib/drawing-response/drawable-transformer.js +0 -52
  141. package/lib/drawing-response/drawable-transformer.js.map +0 -1
  142. package/lib/drawing-response/factory.js +0 -22
  143. package/lib/drawing-response/factory.js.map +0 -1
  144. package/lib/drawing-response/icon.js +0 -55
  145. package/lib/drawing-response/icon.js.map +0 -1
  146. package/lib/drawing-response/index.js +0 -91
  147. package/lib/drawing-response/index.js.map +0 -1
  148. package/lib/index.js +0 -68
  149. package/lib/index.js.map +0 -1
  150. package/src/__tests__/drawing-index-test.jsx +0 -103
  151. package/src/drawing-response/__tests__/container.test.jsx +0 -82
  152. package/src/drawing-response/__tests__/drawable-helper.test.jsx +0 -24
  153. package/src/drawing-response/__tests__/drawing-main.test.jsx +0 -855
  154. package/src/drawing-response/__tests__/factory.test.js +0 -13
  155. package/src/drawing-response/button.jsx +0 -45
  156. package/src/drawing-response/constants.js +0 -44
  157. package/src/drawing-response/container.jsx +0 -301
  158. package/src/drawing-response/drawable-circle.jsx +0 -74
  159. package/src/drawing-response/drawable-eraser.jsx +0 -53
  160. package/src/drawing-response/drawable-free-path.jsx +0 -59
  161. package/src/drawing-response/drawable-helper.jsx +0 -21
  162. package/src/drawing-response/drawable-image.jsx +0 -36
  163. package/src/drawing-response/drawable-line.jsx +0 -62
  164. package/src/drawing-response/drawable-main.jsx +0 -333
  165. package/src/drawing-response/drawable-palette.jsx +0 -99
  166. package/src/drawing-response/drawable-rectangle.jsx +0 -69
  167. package/src/drawing-response/drawable-text.jsx +0 -318
  168. package/src/drawing-response/drawable-transformer.jsx +0 -52
  169. package/src/drawing-response/factory.js +0 -17
  170. package/src/drawing-response/icon.jsx +0 -52
  171. package/src/drawing-response/index.jsx +0 -92
  172. package/src/index.js +0 -72
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-helper.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
+ /**
10
+ * Not using React in order to avoid performance issues.
11
+ * If you switch this class to a React one make sure that
12
+ * this interaction will not have performance leaks in pie-website nor in pits.
13
+ */
14
+ export default class DrawableHelper {
15
+ constructor(props: any, type: any);
16
+ toJson(): any;
17
+ }
@@ -0,0 +1,12 @@
1
+ //#region src/delivery/drawing-response/drawable-helper.tsx
2
+ var e = class {
3
+ constructor(e, t) {
4
+ let { startx: n, starty: r, fillColor: i, outlineColor: a, createdAt: o } = e;
5
+ this.startx = n, this.starty = r, this.createdAt = o, this.fillColor = i, this.outlineColor = a, this.type = t;
6
+ }
7
+ toJson() {
8
+ return JSON.parse(JSON.stringify(this));
9
+ }
10
+ };
11
+ //#endregion
12
+ export { e as default };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-image.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 DrawableImage: {
12
+ ({ url, dimensions: { height, width } }: {
13
+ url: any;
14
+ dimensions: {
15
+ height: any;
16
+ width: any;
17
+ };
18
+ }): React.JSX.Element;
19
+ propTypes: {
20
+ dimensions: PropTypes.Validator<object>;
21
+ url: PropTypes.Validator<string>;
22
+ };
23
+ };
24
+ export default DrawableImage;
@@ -0,0 +1,28 @@
1
+ import "react";
2
+ import e from "prop-types";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import { styled as n } from "@mui/material/styles";
5
+ //#region src/delivery/drawing-response/drawable-image.tsx
6
+ var r = n("div")({
7
+ position: "relative",
8
+ width: "fit-content"
9
+ }), i = n("img")({
10
+ alignItems: "center",
11
+ display: "flex",
12
+ justifyContent: "center"
13
+ }), a = ({ url: e, dimensions: { height: n, width: a } }) => /* @__PURE__ */ t(r, { children: /* @__PURE__ */ t(i, {
14
+ alt: "drawing-response-image",
15
+ src: e,
16
+ style: {
17
+ height: n,
18
+ maxWidth: a,
19
+ maxHeight: 350,
20
+ width: a
21
+ }
22
+ }) });
23
+ a.propTypes = {
24
+ dimensions: e.object.isRequired,
25
+ url: e.string.isRequired
26
+ };
27
+ //#endregion
28
+ export { a as default };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-line.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 DrawableHelper from './drawable-helper.js';
11
+ export default class LineDrawable extends DrawableHelper {
12
+ static TYPE: string;
13
+ constructor(props: any);
14
+ registerMovement(x: any, y: any): void;
15
+ handleOnClick(props: any): void;
16
+ handleDragEnd: any;
17
+ render(props: any): React.JSX.Element;
18
+ }
@@ -0,0 +1,53 @@
1
+ import e from "./drawable-helper.js";
2
+ import "react";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import { Arrow as n } from "react-konva";
5
+ //#region src/delivery/drawing-response/drawable-line.tsx
6
+ function r(e) {
7
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
8
+ }
9
+ function i(e, t) {
10
+ return !e || r(e) ? e : r(e.default) ? e.default : t && r(e[t]) ? e[t] : t && r(e[t]?.default) ? e[t].default : e;
11
+ }
12
+ var a = i(n, "Arrow"), o = class n extends e {
13
+ static TYPE = "LineDrawable";
14
+ constructor(e) {
15
+ super(e, n.TYPE);
16
+ let { startx: t, starty: r, x: i, y: a, posX: o, posY: s } = e;
17
+ this.x = i || t, this.y = a || r, this.posX = o || 0, this.posY = s || 0;
18
+ }
19
+ registerMovement(e, t) {
20
+ this.x = e, this.y = t;
21
+ }
22
+ handleOnClick(e) {
23
+ let { paint: t, paintColor: n, forceUpdate: r } = e;
24
+ t && (this.paintColor = n, r());
25
+ }
26
+ handleDragEnd = (e, t) => {
27
+ this.posX = t.target.getX(), this.posY = t.target.getY(), e.handleSessionChange();
28
+ };
29
+ render(e) {
30
+ let { draggable: n, key: r, onMouseOverElement: i, onMouseOutElement: o } = e;
31
+ return /* @__PURE__ */ t(a, {
32
+ draggable: n,
33
+ points: [
34
+ this.startx,
35
+ this.starty,
36
+ this.x,
37
+ this.y
38
+ ],
39
+ fill: this.paintColor || this.outlineColor,
40
+ onClick: () => this.handleOnClick(e),
41
+ stroke: this.paintColor || this.outlineColor,
42
+ onDragEnd: this.handleDragEnd.bind(this, e),
43
+ onMouseEnter: i,
44
+ onMouseLeave: o,
45
+ x: this.posX,
46
+ y: this.posY,
47
+ pointerWidth: 0,
48
+ pointerLength: 0
49
+ }, r);
50
+ }
51
+ };
52
+ //#endregion
53
+ export { o as default };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-main.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 DrawableMain extends React.Component {
11
+ constructor(props: any);
12
+ componentWillUnmount(): void;
13
+ UNSAFE_componentWillReceiveProps(nextProps: any): void;
14
+ handleSessionChange: any;
15
+ onMouseOverElement: () => void;
16
+ onMouseOutElement: () => void;
17
+ handleMouseDown: any;
18
+ handleMouseUp: any;
19
+ handleMouseMove: any;
20
+ handleUndo: any;
21
+ handleClearAll: any;
22
+ toggleTextSelected: (textIsSelected: any) => void;
23
+ render(): React.JSX.Element;
24
+ }
25
+ export default DrawableMain;
@@ -0,0 +1,210 @@
1
+ import e from "./button.js";
2
+ import t from "./drawable-image.js";
3
+ import n from "./factory.js";
4
+ import r from "react";
5
+ import { cloneDeep as i, isEqual as a, omit as o } from "@pie-element/shared-lodash";
6
+ import s from "prop-types";
7
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
+ import { styled as u } from "@mui/material/styles";
9
+ import d from "@pie-lib/translator";
10
+ import { Layer as f, Stage as p } from "react-konva";
11
+ //#region src/delivery/drawing-response/drawable-main.tsx
12
+ function m(e) {
13
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
14
+ }
15
+ function h(e, t) {
16
+ return !e || m(e) ? e : m(e.default) ? e.default : t && m(e[t]) ? e[t] : t && m(e[t]?.default) ? e[t].default : e;
17
+ }
18
+ var g = h(p, "Stage"), _ = h(f, "Layer"), { translator: v } = d, y = u("div")({
19
+ display: "flex",
20
+ flexWrap: "wrap",
21
+ justifyContent: "flex-end"
22
+ }), b = u("div")({
23
+ position: "relative",
24
+ width: "100%"
25
+ }), x = u("div")({
26
+ marginTop: -43,
27
+ marginRight: 10,
28
+ position: "absolute"
29
+ }), S = class extends r.Component {
30
+ constructor(e) {
31
+ super(e), this.state = {
32
+ drawables: [],
33
+ newDrawable: [],
34
+ textIsSelected: !1
35
+ }, this.stage = null, this.layer = null;
36
+ }
37
+ componentWillUnmount() {
38
+ this.stage = null, this.layer = null;
39
+ }
40
+ UNSAFE_componentWillReceiveProps(e) {
41
+ if (e.session) {
42
+ let { TextEntry: t } = e, { drawables: r } = this.state;
43
+ if (e.session.drawables) {
44
+ let s = i(e.session.drawables);
45
+ if (JSON.stringify(r) !== JSON.stringify((s || []).map((e) => o(e, "type")))) {
46
+ let t = e.session.drawables;
47
+ this.setState({ drawables: t.map((e) => n(e.type, e)) });
48
+ }
49
+ a(t.all.map((e) => ({
50
+ ...e,
51
+ ...t[`text_${e.id}`] && t[`text_${e.id}`].attrs,
52
+ value: t[`textarea_${e.id}`] && t[`textarea_${e.id}`].value
53
+ })), e.session.texts) || t.setAll(e.session.texts || []);
54
+ }
55
+ } else this.handleSessionChange();
56
+ }
57
+ handleSessionChange = () => {
58
+ let { onSessionChange: e, session: t, TextEntry: n, drawableDimensions: r } = this.props, { drawables: i } = this.state, o = {
59
+ width: r.width,
60
+ drawables: i.map((e) => e.toJson()),
61
+ texts: n.all.map((e) => ({
62
+ ...e,
63
+ ...n[`text_${e.id}`] && n[`text_${e.id}`].attrs,
64
+ value: n[`textarea_${e.id}`] && n[`textarea_${e.id}`].value
65
+ }))
66
+ };
67
+ a(o, t) || e({
68
+ ...t,
69
+ ...o
70
+ });
71
+ };
72
+ onMouseOverElement = () => this.setState({ isOver: !0 });
73
+ onMouseOutElement = () => this.setState({ isOver: !1 });
74
+ handleMouseDown = (e) => {
75
+ document.body.style.overflow = "hidden";
76
+ let { newDrawable: t, textIsSelected: r } = this.state, { toolActive: i, fillColor: a, outlineColor: o, scale: s } = this.props;
77
+ if (t.length === 0 && !r) {
78
+ let t = e.target.getStage();
79
+ if (!t) return;
80
+ let { x: r, y: c } = t.getPointerPosition(), l = n(i.type, {
81
+ startx: r / s,
82
+ starty: c / s,
83
+ fillColor: a,
84
+ outlineColor: o,
85
+ createdAt: /* @__PURE__ */ new Date()
86
+ });
87
+ this.setState({ newDrawable: [l] });
88
+ }
89
+ };
90
+ handleMouseUp = (e) => {
91
+ document.body.style.overflow = "initial";
92
+ let { newDrawable: t, drawables: n } = this.state, { scale: r } = this.props;
93
+ if (t.length === 1) {
94
+ let i = e.target.getStage();
95
+ if (!i) return;
96
+ let { x: a, y: o } = i.getPointerPosition(), s = t[0];
97
+ s.registerMovement(a / r, o / r), n.push(s), this.setState({
98
+ newDrawable: [],
99
+ drawables: n
100
+ }, this.handleSessionChange.bind(this, s));
101
+ }
102
+ };
103
+ handleMouseMove = (e) => {
104
+ let { newDrawable: t } = this.state, { scale: n } = this.props;
105
+ if (t.length === 1) {
106
+ let r = e.target.getStage();
107
+ if (!r) return;
108
+ let { x: i, y: a } = r.getPointerPosition(), o = t[0];
109
+ o.registerMovement(i / n, a / n), this.setState({ newDrawable: [o] });
110
+ }
111
+ };
112
+ handleUndo = () => {
113
+ let { drawables: e } = this.state, { TextEntry: t } = this.props, n = [...e], r = [...e, ...t.all];
114
+ r.sort((e, t) => new Date(e.createdAt) - new Date(t.createdAt));
115
+ let i = r[r.length - 1];
116
+ i && i.type === "text-entry" ? (t.all.pop(), this.setState({ updatedAt: /* @__PURE__ */ new Date() }, this.handleSessionChange)) : (n.pop(), this.setState({ drawables: n }, this.handleSessionChange));
117
+ };
118
+ handleClearAll = () => {
119
+ let { TextEntry: e } = this.props;
120
+ e.all = [], this.setState({
121
+ drawables: [],
122
+ updatedAt: /* @__PURE__ */ new Date()
123
+ }, this.handleSessionChange);
124
+ };
125
+ toggleTextSelected = (e) => this.setState({ textIsSelected: e });
126
+ render() {
127
+ let { disabled: n, drawableDimensions: r, fillColor: i, imageDimensions: a, imageUrl: o, paintColor: s, outlineColor: u, TextEntry: d, backgroundImageEnabled: f = !0, toolActive: { type: p }, scale: m, language: h } = this.props, { isOver: S, newDrawable: C } = this.state, w = p === "Select", T = p === "PaintBucket", E = [...this.state.drawables, ...this.state.newDrawable], D = {
128
+ draggable: w && !n,
129
+ disabled: n,
130
+ paint: T,
131
+ fillColor: i,
132
+ forceUpdate: () => this.setState({ updatedAt: /* @__PURE__ */ new Date() }),
133
+ paintColor: s,
134
+ outlineColor: u,
135
+ toggleTextSelected: this.toggleTextSelected,
136
+ handleSessionChange: this.handleSessionChange,
137
+ stage: this.stage,
138
+ onMouseOverElement: this.onMouseOverElement,
139
+ onMouseOutElement: this.onMouseOutElement,
140
+ scale: m
141
+ }, O = {};
142
+ n || (O = {
143
+ onMouseUp: this.handleMouseUp,
144
+ onTouchEnd: this.handleMouseUp,
145
+ onMouseMove: this.handleMouseMove,
146
+ onTouchMove: this.handleMouseMove
147
+ }, w || (O.onMouseDown = this.handleMouseDown, O.onTouchStart = this.handleMouseDown));
148
+ let k = a?.height * m, A = a?.width * m;
149
+ return /* @__PURE__ */ l(y, { children: [/* @__PURE__ */ l(x, { children: [/* @__PURE__ */ c(e, {
150
+ disabled: n,
151
+ onClick: this.handleUndo,
152
+ label: v.t("common:undo", { lng: h })
153
+ }), /* @__PURE__ */ c(e, {
154
+ disabled: n,
155
+ onClick: this.handleClearAll,
156
+ label: v.t("common:clearAll", { lng: h })
157
+ })] }), /* @__PURE__ */ l(b, { children: [
158
+ f && o && /* @__PURE__ */ c(t, {
159
+ dimensions: {
160
+ height: k,
161
+ width: A
162
+ },
163
+ url: o
164
+ }),
165
+ d.renderTextareas(),
166
+ /* @__PURE__ */ c("div", {
167
+ style: {
168
+ position: "absolute",
169
+ left: 0,
170
+ top: 0,
171
+ touchAction: "none",
172
+ cursor: w && (S || C.length === 1) ? "pointer" : "default"
173
+ },
174
+ children: /* @__PURE__ */ c(g, {
175
+ scaleX: m,
176
+ scaleY: m,
177
+ ref: (e) => this.stage = e,
178
+ height: r.height,
179
+ width: r.width,
180
+ ...O,
181
+ children: /* @__PURE__ */ l(_, {
182
+ ref: (e) => this.layer = e,
183
+ children: [E.map((e, t) => e.render({
184
+ ...D,
185
+ key: t
186
+ })), d.render(D)]
187
+ })
188
+ }, "drawing-stage")
189
+ })
190
+ ] })] });
191
+ }
192
+ };
193
+ S.propTypes = {
194
+ disabled: s.bool,
195
+ drawableDimensions: s.object.isRequired,
196
+ imageDimensions: s.object.isRequired,
197
+ fillColor: s.string.isRequired,
198
+ onSessionChange: s.func.isRequired,
199
+ paintColor: s.string.isRequired,
200
+ outlineColor: s.string.isRequired,
201
+ imageUrl: s.string.isRequired,
202
+ TextEntry: s.object.isRequired,
203
+ toolActive: s.object.isRequired,
204
+ session: s.object.isRequired,
205
+ backgroundImageEnabled: s.bool.isRequired,
206
+ scale: s.number.isRequired,
207
+ language: s.string
208
+ };
209
+ //#endregion
210
+ export { S as default };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-palette.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 Palette extends React.Component {
11
+ onChange: (name: any) => (event: any) => void;
12
+ render(): React.JSX.Element;
13
+ }
14
+ export default Palette;
@@ -0,0 +1,89 @@
1
+ import e from "react";
2
+ import t from "prop-types";
3
+ import * as n from "@pie-lib/render-ui";
4
+ import { InputContainer as r } from "@pie-lib/render-ui";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ import { styled as o } from "@mui/material/styles";
7
+ import s from "@pie-lib/translator";
8
+ import c from "@mui/material/Select";
9
+ import l from "@mui/material/MenuItem";
10
+ //#region src/delivery/drawing-response/drawable-palette.tsx
11
+ function u(e) {
12
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
13
+ }
14
+ function d(e, t) {
15
+ return !e || u(e) ? e : u(e.default) ? e.default : t && u(e[t]) ? e[t] : t && u(e[t]?.default) ? e[t].default : e;
16
+ }
17
+ var f = d(r, "InputContainer") || d(h.InputContainer, "InputContainer"), p = n, m = p.default, h = m && typeof m == "object" ? m : p, { translator: g } = s, _ = o("div")(({ theme: e }) => ({
18
+ marginTop: e.spacing(2),
19
+ display: "flex"
20
+ })), v = o(f)({
21
+ flex: 1,
22
+ fontSize: "inherit",
23
+ width: "90%"
24
+ }), y = o(l)(({ theme: e, isBlackColor: t }) => ({
25
+ borderRadius: "2px",
26
+ fontSize: "inherit",
27
+ height: "22px",
28
+ marginLeft: e.spacing(2),
29
+ marginRight: e.spacing(2),
30
+ marginTop: e.spacing(2),
31
+ ...t && { color: e.palette.background.paper }
32
+ })), b = o(c)({
33
+ fontSize: "inherit",
34
+ transform: "translate(0%, 40%)"
35
+ }), x = class extends e.Component {
36
+ onChange = (e) => (t) => {
37
+ let { value: n } = t.target, { onFillColorChange: r, onOutlineColorChange: i, onPaintColorChange: a } = this.props;
38
+ e === "fill" ? r(n) : e === "outline" ? i(n) : a(n);
39
+ };
40
+ render() {
41
+ let { fillColor: e, outlineColor: t, fillList: n, outlineList: r, language: o } = this.props;
42
+ return /* @__PURE__ */ a(_, { children: [/* @__PURE__ */ i(v, {
43
+ label: g.t("drawingResponse.fillColor", { lng: o }),
44
+ children: /* @__PURE__ */ i(b, {
45
+ onChange: this.onChange("fill"),
46
+ value: e,
47
+ variant: "standard",
48
+ MenuProps: { transitionDuration: {
49
+ enter: 225,
50
+ exit: 195
51
+ } },
52
+ children: n.map(({ value: e, label: t }) => /* @__PURE__ */ i(y, {
53
+ value: e,
54
+ isBlackColor: e === "black",
55
+ style: { backgroundColor: e },
56
+ children: t
57
+ }, e))
58
+ })
59
+ }), /* @__PURE__ */ i(v, {
60
+ label: g.t("drawingResponse.outlineColor", { lng: o }),
61
+ children: /* @__PURE__ */ i(b, {
62
+ onChange: this.onChange("outline"),
63
+ value: t,
64
+ variant: "standard",
65
+ MenuProps: { transitionDuration: {
66
+ enter: 225,
67
+ exit: 195
68
+ } },
69
+ children: r.map(({ value: e, label: t }) => /* @__PURE__ */ i(y, {
70
+ value: e,
71
+ style: { border: `2px solid ${e}` },
72
+ children: t
73
+ }, e))
74
+ })
75
+ })] });
76
+ }
77
+ };
78
+ x.propTypes = {
79
+ fillColor: t.string.isRequired,
80
+ fillList: t.array.isRequired,
81
+ onFillColorChange: t.func.isRequired,
82
+ onOutlineColorChange: t.func.isRequired,
83
+ onPaintColorChange: t.func.isRequired,
84
+ outlineColor: t.string.isRequired,
85
+ outlineList: t.array.isRequired,
86
+ language: t.string
87
+ };
88
+ //#endregion
89
+ export { x as default };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-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
+ import DrawableHelper from './drawable-helper.js';
11
+ export default class RectangleDrawable extends DrawableHelper {
12
+ static TYPE: string;
13
+ constructor(props: any);
14
+ registerMovement(x: any, y: any): void;
15
+ handleOnClick(props: any): void;
16
+ handleDragEnd: any;
17
+ render(props: any): React.JSX.Element;
18
+ }
@@ -0,0 +1,49 @@
1
+ import e from "./drawable-helper.js";
2
+ import "react";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import { Rect as n } from "react-konva";
5
+ //#region src/delivery/drawing-response/drawable-rectangle.tsx
6
+ function r(e) {
7
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
8
+ }
9
+ function i(e, t) {
10
+ return !e || r(e) ? e : r(e.default) ? e.default : t && r(e[t]) ? e[t] : t && r(e[t]?.default) ? e[t].default : e;
11
+ }
12
+ var a = i(n, "Rect"), o = class n extends e {
13
+ static TYPE = "RectangleDrawable";
14
+ constructor(e) {
15
+ super(e, n.TYPE);
16
+ let { startx: t, starty: r, x: i, y: a } = e;
17
+ this.startx = t, this.starty = r, this.x = i || t, this.y = a || r, this.width = i - t || 0, this.height = a - r || 0;
18
+ }
19
+ registerMovement(e, t) {
20
+ this.x = e, this.y = t, this.width = this.x - this.startx, this.height = this.y - this.starty;
21
+ }
22
+ handleOnClick(e) {
23
+ let { paint: t, paintColor: n, forceUpdate: r } = e;
24
+ t && (this.paintColor = n, r());
25
+ }
26
+ handleDragEnd = (e, t) => {
27
+ let n = this.startx - t.target.getX(), r = this.starty - t.target.getY();
28
+ this.startx = t.target.getX(), this.starty = t.target.getY(), this.x -= n, this.y -= r, e.handleSessionChange();
29
+ };
30
+ render(e) {
31
+ let { draggable: n, key: r, onMouseOverElement: i, onMouseOutElement: o } = e;
32
+ return /* @__PURE__ */ t(a, {
33
+ height: this.height,
34
+ width: this.width,
35
+ fill: this.paintColor || this.fillColor,
36
+ onClick: () => this.handleOnClick(e),
37
+ onDragEnd: this.handleDragEnd.bind(this, e),
38
+ onMouseEnter: i,
39
+ onMouseLeave: o,
40
+ stroke: this.outlineColor,
41
+ draggable: n,
42
+ strokeWidth: 2,
43
+ x: this.startx,
44
+ y: this.starty
45
+ }, r);
46
+ }
47
+ };
48
+ //#endregion
49
+ export { o as default };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/drawing-response/src/drawing-response/drawable-text.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
+ export declare const generateId: () => string;
10
+ export default class TextDrawable {
11
+ static getTextareaNode(id: any): string;
12
+ static getTextNode(id: any): string;
13
+ static getTransformerNode(id: any): string;
14
+ constructor(props: any);
15
+ removeEventListeners: () => any;
16
+ setAll: any;
17
+ addNewTextEntry: any;
18
+ showOnlyTextNodes(): void;
19
+ toggleTextarea(id: any, value: any): void;
20
+ initializeDefault(id: any, isDefault: any): void;
21
+ saveValue(id: any, textareaNode: any): void;
22
+ handleMouseDown: () => any;
23
+ handleMouseUp: () => any;
24
+ handleClick: any;
25
+ handleDblClick: any;
26
+ handleTransform: any;
27
+ renderTextareas(): any;
28
+ setInitialProps(props: any): void;
29
+ render(props: any): any;
30
+ }