@pie-element/drawing-response 3.6.0 → 3.6.1-beta.587

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 (87) hide show
  1. package/CHANGELOG.md +507 -0
  2. package/configure/CHANGELOG.md +446 -0
  3. package/configure/lib/button.js.map +1 -1
  4. package/configure/lib/defaults.js +22 -7
  5. package/configure/lib/defaults.js.map +1 -1
  6. package/configure/lib/image-container.js +44 -24
  7. package/configure/lib/image-container.js.map +1 -1
  8. package/configure/lib/index.js +65 -12
  9. package/configure/lib/index.js.map +1 -1
  10. package/configure/lib/root.js +78 -48
  11. package/configure/lib/root.js.map +1 -1
  12. package/configure/package.json +4 -4
  13. package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +3 -2
  14. package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +38 -18
  15. package/configure/src/__tests__/image-container.test.jsx +42 -35
  16. package/configure/src/__tests__/index.test.js +7 -7
  17. package/configure/src/__tests__/root.test.jsx +18 -25
  18. package/configure/src/button.jsx +4 -4
  19. package/configure/src/defaults.js +25 -10
  20. package/configure/src/image-container.jsx +80 -59
  21. package/configure/src/index.js +46 -14
  22. package/configure/src/root.jsx +72 -76
  23. package/controller/CHANGELOG.md +58 -0
  24. package/controller/lib/defaults.js.map +1 -1
  25. package/controller/lib/index.js +13 -12
  26. package/controller/lib/index.js.map +1 -1
  27. package/controller/package.json +1 -1
  28. package/controller/src/__tests__/index.test.js +35 -34
  29. package/controller/src/defaults.js +2 -2
  30. package/controller/src/index.js +13 -17
  31. package/docs/config-schema.json +111 -1
  32. package/docs/config-schema.json.md +87 -3
  33. package/docs/demo/config.js +2 -2
  34. package/docs/demo/generate.js +5 -2
  35. package/docs/demo/session.js +4 -4
  36. package/docs/pie-schema.json +70 -6
  37. package/docs/pie-schema.json.md +55 -4
  38. package/lib/drawing-response/button.js.map +1 -1
  39. package/lib/drawing-response/constants.js.map +1 -1
  40. package/lib/drawing-response/container.js +80 -25
  41. package/lib/drawing-response/container.js.map +1 -1
  42. package/lib/drawing-response/drawable-circle.js +1 -1
  43. package/lib/drawing-response/drawable-circle.js.map +1 -1
  44. package/lib/drawing-response/drawable-eraser.js +1 -1
  45. package/lib/drawing-response/drawable-eraser.js.map +1 -1
  46. package/lib/drawing-response/drawable-free-path.js +1 -1
  47. package/lib/drawing-response/drawable-free-path.js.map +1 -1
  48. package/lib/drawing-response/drawable-helper.js.map +1 -1
  49. package/lib/drawing-response/drawable-image.js +1 -0
  50. package/lib/drawing-response/drawable-image.js.map +1 -1
  51. package/lib/drawing-response/drawable-line.js +1 -1
  52. package/lib/drawing-response/drawable-line.js.map +1 -1
  53. package/lib/drawing-response/drawable-main.js +46 -16
  54. package/lib/drawing-response/drawable-main.js.map +1 -1
  55. package/lib/drawing-response/drawable-palette.js +7 -2
  56. package/lib/drawing-response/drawable-palette.js.map +1 -1
  57. package/lib/drawing-response/drawable-rectangle.js +1 -1
  58. package/lib/drawing-response/drawable-rectangle.js.map +1 -1
  59. package/lib/drawing-response/drawable-text.js +15 -5
  60. package/lib/drawing-response/drawable-text.js.map +1 -1
  61. package/lib/drawing-response/drawable-transformer.js +1 -1
  62. package/lib/drawing-response/drawable-transformer.js.map +1 -1
  63. package/lib/drawing-response/factory.js.map +1 -1
  64. package/lib/drawing-response/icon.js.map +1 -1
  65. package/lib/drawing-response/index.js +11 -15
  66. package/lib/drawing-response/index.js.map +1 -1
  67. package/lib/index.js +4 -1
  68. package/lib/index.js.map +1 -1
  69. package/package.json +5 -4
  70. package/src/__tests__/drawing-index-test.jsx +4 -4
  71. package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +174 -290
  72. package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +26 -2
  73. package/src/drawing-response/__tests__/container.test.jsx +9 -2
  74. package/src/drawing-response/__tests__/drawable-helper.test.jsx +1 -1
  75. package/src/drawing-response/__tests__/drawing-main.test.jsx +74 -86
  76. package/src/drawing-response/button.jsx +5 -8
  77. package/src/drawing-response/constants.js +42 -34
  78. package/src/drawing-response/container.jsx +93 -70
  79. package/src/drawing-response/drawable-image.jsx +5 -4
  80. package/src/drawing-response/drawable-main.jsx +46 -17
  81. package/src/drawing-response/drawable-palette.jsx +18 -35
  82. package/src/drawing-response/drawable-text.jsx +34 -48
  83. package/src/drawing-response/drawable-transformer.jsx +3 -1
  84. package/src/drawing-response/factory.js +3 -11
  85. package/src/drawing-response/icon.jsx +19 -20
  86. package/src/drawing-response/index.jsx +14 -20
  87. package/src/index.js +8 -11
@@ -53,11 +53,6 @@
53
53
  "type": "string",
54
54
  "title": "teacherInstructions"
55
55
  },
56
- "rationaleEnabled": {
57
- "description": "Indicates if Rationale are enabled",
58
- "type": "boolean",
59
- "title": "rationaleEnabled"
60
- },
61
56
  "studentInstructionsEnabled": {
62
57
  "description": "Indicates if Student Instructions are enabled",
63
58
  "type": "boolean",
@@ -68,6 +63,31 @@
68
63
  "type": "boolean",
69
64
  "title": "teacherInstructionsEnabled"
70
65
  },
66
+ "spellCheckEnabled": {
67
+ "description": "Indicates if spellcheck is enabled for the author. Default value is true",
68
+ "type": "boolean",
69
+ "title": "spellCheckEnabled"
70
+ },
71
+ "backgroundImageEnabled": {
72
+ "description": "Indicates if Background Image is enabled",
73
+ "type": "boolean",
74
+ "title": "backgroundImageEnabled"
75
+ },
76
+ "toolbarEditorPosition": {
77
+ "description": "Indicates the editor's toolbar position which can be 'bottom' or 'top'",
78
+ "default": ": 'bottom'",
79
+ "enum": [
80
+ "bottom",
81
+ "top"
82
+ ],
83
+ "type": "string",
84
+ "title": "toolbarEditorPosition"
85
+ },
86
+ "rubricEnabled": {
87
+ "description": "Indicates if Rubric is enabled",
88
+ "type": "boolean",
89
+ "title": "rubricEnabled"
90
+ },
71
91
  "id": {
72
92
  "description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
73
93
  "type": "string",
@@ -80,10 +100,12 @@
80
100
  }
81
101
  },
82
102
  "required": [
103
+ "backgroundImageEnabled",
83
104
  "element",
84
105
  "id",
85
106
  "imageDimensions",
86
- "rationaleEnabled",
107
+ "rubricEnabled",
108
+ "spellCheckEnabled",
87
109
  "studentInstructionsEnabled",
88
110
  "teacherInstructionsEnabled"
89
111
  ],
@@ -125,6 +147,48 @@
125
147
  }
126
148
  }
127
149
  },
150
+ "ConfigureMaxImageDimensionsProp": {
151
+ "title": "ConfigureMaxImageDimensionsProp",
152
+ "type": "object",
153
+ "properties": {
154
+ "teacherInstructions": {
155
+ "description": "Indicates the max dimension for images in teacher instructions",
156
+ "type": "number",
157
+ "title": "teacherInstructions"
158
+ },
159
+ "prompt": {
160
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
161
+ "type": "number",
162
+ "title": "prompt"
163
+ },
164
+ "rationale": {
165
+ "description": "Indicates the max dimension for images in rationale",
166
+ "type": "number",
167
+ "title": "rationale"
168
+ }
169
+ }
170
+ },
171
+ "ConfigureWithForceProp": {
172
+ "title": "ConfigureWithForceProp",
173
+ "type": "object",
174
+ "properties": {
175
+ "settings": {
176
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
177
+ "type": "boolean",
178
+ "title": "settings"
179
+ },
180
+ "label": {
181
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
182
+ "type": "string",
183
+ "title": "label"
184
+ },
185
+ "forceEnabled": {
186
+ "description": "Indicates the value for the toggle; if true, this property will not be visible in Settings Panel",
187
+ "type": "boolean",
188
+ "title": "forceEnabled"
189
+ }
190
+ }
191
+ },
128
192
  "Dimension": {
129
193
  "title": "Dimension",
130
194
  "type": "object",
@@ -38,10 +38,6 @@ Indicates student instructions
38
38
 
39
39
  Indicates teacher instructions
40
40
 
41
- # `rationaleEnabled` (boolean, required)
42
-
43
- Indicates if Rationale are enabled
44
-
45
41
  # `studentInstructionsEnabled` (boolean, required)
46
42
 
47
43
  Indicates if Student Instructions are enabled
@@ -50,6 +46,29 @@ Indicates if Student Instructions are enabled
50
46
 
51
47
  Indicates if Teacher Instructions are enabled
52
48
 
49
+ # `spellCheckEnabled` (boolean, required)
50
+
51
+ Indicates if spellcheck is enabled for the author. Default value is true
52
+
53
+ # `backgroundImageEnabled` (boolean, required)
54
+
55
+ Indicates if Background Image is enabled
56
+
57
+ # `toolbarEditorPosition` (string, enum)
58
+
59
+ Indicates the editor's toolbar position which can be 'bottom' or 'top'
60
+
61
+ This element must be one of the following enum values:
62
+
63
+ * `bottom`
64
+ * `top`
65
+
66
+ Default: `": 'bottom'"`
67
+
68
+ # `rubricEnabled` (boolean, required)
69
+
70
+ Indicates if Rubric is enabled
71
+
53
72
  # `id` (string, required)
54
73
 
55
74
  Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
@@ -93,6 +112,38 @@ Indicates if the item has to be displayed in the Settings Panel
93
112
 
94
113
  Indicates the label for the item that has to be displayed in the Settings Panel
95
114
 
115
+ ## `ConfigureMaxImageDimensionsProp` (object)
116
+
117
+ Properties of the `ConfigureMaxImageDimensionsProp` object:
118
+
119
+ ### `teacherInstructions` (number)
120
+
121
+ Indicates the max dimension for images in teacher instructions
122
+
123
+ ### `prompt` (number)
124
+
125
+ Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
126
+
127
+ ### `rationale` (number)
128
+
129
+ Indicates the max dimension for images in rationale
130
+
131
+ ## `ConfigureWithForceProp` (object)
132
+
133
+ Properties of the `ConfigureWithForceProp` object:
134
+
135
+ ### `settings` (boolean)
136
+
137
+ Indicates if the item has to be displayed in the Settings Panel
138
+
139
+ ### `label` (string)
140
+
141
+ Indicates the label for the item that has to be displayed in the Settings Panel
142
+
143
+ ### `forceEnabled` (boolean)
144
+
145
+ Indicates the value for the toggle; if true, this property will not be visible in Settings Panel
146
+
96
147
  ## `Dimension` (object)
97
148
 
98
149
  Properties of the `Dimension` object:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/button.jsx"],"names":["RawButton","classes","className","label","onClick","disabled","title","addButton","propTypes","PropTypes","object","isRequired","string","bool","oneOfType","func","defaultProps","styles","fontSize","marginLeft","minWidth","height","width","ButtonStyled"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,SAAZ,QAAYA,SAAZ;AAAA,MAAuBC,KAAvB,QAAuBA,KAAvB;AAAA,MAA8BC,OAA9B,QAA8BA,OAA9B;AAAA,MAAuCC,QAAvC,QAAuCA,QAAvC;AAAA,MAAiDC,KAAjD,QAAiDA,KAAjD;AAAA,sBAChB,gCAAC,kBAAD;AACE,IAAA,KAAK,EAAEA,KADT;AAEE,IAAA,OAAO,EAAEF,OAFX;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAE,4BAAWJ,OAAO,CAACM,SAAnB,EAA8BL,SAA9B,CAJb;AAKE,IAAA,IAAI,EAAC,OALP;AAME,IAAA,OAAO,EAAC,WANV;AAOE,IAAA,KAAK,EAAC;AAPR,KASGC,KATH,CADgB;AAAA,CAAlB;;AAcAH,SAAS,CAACQ,SAAV,GAAsB;AACpBP,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBC,UADN;AAEpBT,EAAAA,SAAS,EAAEO,sBAAUG,MAFD;AAGpBP,EAAAA,QAAQ,EAAEI,sBAAUI,IAHA;AAIpBV,EAAAA,KAAK,EAAEM,sBAAUK,SAAV,CAAoB,CACzBL,sBAAUG,MADe,EAEzBH,sBAAUC,MAFe,CAApB,CAJa;AAQpBN,EAAAA,OAAO,EAAEK,sBAAUM,IARC;AASpBT,EAAAA,KAAK,EAAEG,sBAAUG;AATG,CAAtB;AAYAZ,SAAS,CAACgB,YAAV,GAAyB;AACvBd,EAAAA,SAAS,EAAE,EADY;AAEvBG,EAAAA,QAAQ,EAAE,KAFa;AAGvBF,EAAAA,KAAK,EAAE,KAHgB;AAIvBC,EAAAA,OAAO,EAAE,mBAAM,CAAE,CAJM;AAKvBE,EAAAA,KAAK,EAAE;AALgB,CAAzB;;AAQA,IAAMW,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBV,IAAAA,SAAS,EAAE;AACTW,MAAAA,QAAQ,EAAE,OADD;AAETC,MAAAA,UAAU,EAAE,CAFH;AAGTC,MAAAA,QAAQ,EAAE,EAHD;AAITC,MAAAA,MAAM,EAAE,EAJC;AAMT,gBAAU;AACR,iBAAS;AACPC,UAAAA,KAAK,EAAE,kBADA;AAEPD,UAAAA,MAAM,EAAE;AAFD;AADD;AAND;AADS,GAAP;AAAA,CAAf;;AAgBA,IAAME,YAAY,GAAG,wBAAWN,MAAX,EAAmBjB,SAAnB,CAArB;eAEeuB,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\n\nconst RawButton = ({ classes, className, label, onClick, disabled, title }) => (\n <Button\n title={title}\n onClick={onClick}\n disabled={disabled}\n className={classNames(classes.addButton, className)}\n size=\"small\"\n variant=\"contained\"\n color=\"default\"\n >\n {label}\n </Button>\n);\n\nRawButton.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onClick: PropTypes.func,\n title: PropTypes.string\n};\n\nRawButton.defaultProps = {\n className: '',\n disabled: false,\n label: 'Add',\n onClick: () => {},\n title: ''\n};\n\nconst styles = () => ({\n addButton: {\n fontSize: '0.9em',\n marginLeft: 8,\n minWidth: 32,\n height: 32,\n\n '& span': {\n '& svg': {\n width: '1.3em !important',\n height: '1.3em !important',\n }\n }\n },\n});\n\nconst ButtonStyled = withStyles(styles)(RawButton);\n\nexport default ButtonStyled;\n"],"file":"button.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/button.jsx"],"names":["RawButton","classes","className","label","onClick","disabled","title","addButton","propTypes","PropTypes","object","isRequired","string","bool","oneOfType","func","defaultProps","styles","fontSize","marginLeft","minWidth","height","width","ButtonStyled"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,SAAZ,QAAYA,SAAZ;AAAA,MAAuBC,KAAvB,QAAuBA,KAAvB;AAAA,MAA8BC,OAA9B,QAA8BA,OAA9B;AAAA,MAAuCC,QAAvC,QAAuCA,QAAvC;AAAA,MAAiDC,KAAjD,QAAiDA,KAAjD;AAAA,sBAChB,gCAAC,kBAAD;AACE,IAAA,KAAK,EAAEA,KADT;AAEE,IAAA,OAAO,EAAEF,OAFX;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAE,4BAAWJ,OAAO,CAACM,SAAnB,EAA8BL,SAA9B,CAJb;AAKE,IAAA,IAAI,EAAC,OALP;AAME,IAAA,OAAO,EAAC,WANV;AAOE,IAAA,KAAK,EAAC;AAPR,KASGC,KATH,CADgB;AAAA,CAAlB;;AAcAH,SAAS,CAACQ,SAAV,GAAsB;AACpBP,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBC,UADN;AAEpBT,EAAAA,SAAS,EAAEO,sBAAUG,MAFD;AAGpBP,EAAAA,QAAQ,EAAEI,sBAAUI,IAHA;AAIpBV,EAAAA,KAAK,EAAEM,sBAAUK,SAAV,CAAoB,CAACL,sBAAUG,MAAX,EAAmBH,sBAAUC,MAA7B,CAApB,CAJa;AAKpBN,EAAAA,OAAO,EAAEK,sBAAUM,IALC;AAMpBT,EAAAA,KAAK,EAAEG,sBAAUG;AANG,CAAtB;AASAZ,SAAS,CAACgB,YAAV,GAAyB;AACvBd,EAAAA,SAAS,EAAE,EADY;AAEvBG,EAAAA,QAAQ,EAAE,KAFa;AAGvBF,EAAAA,KAAK,EAAE,KAHgB;AAIvBC,EAAAA,OAAO,EAAE,mBAAM,CAAE,CAJM;AAKvBE,EAAAA,KAAK,EAAE;AALgB,CAAzB;;AAQA,IAAMW,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBV,IAAAA,SAAS,EAAE;AACTW,MAAAA,QAAQ,EAAE,OADD;AAETC,MAAAA,UAAU,EAAE,CAFH;AAGTC,MAAAA,QAAQ,EAAE,EAHD;AAITC,MAAAA,MAAM,EAAE,EAJC;AAMT,gBAAU;AACR,iBAAS;AACPC,UAAAA,KAAK,EAAE,kBADA;AAEPD,UAAAA,MAAM,EAAE;AAFD;AADD;AAND;AADS,GAAP;AAAA,CAAf;;AAgBA,IAAME,YAAY,GAAG,wBAAWN,MAAX,EAAmBjB,SAAnB,CAArB;eAEeuB,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\n\nconst RawButton = ({ classes, className, label, onClick, disabled, title }) => (\n <Button\n title={title}\n onClick={onClick}\n disabled={disabled}\n className={classNames(classes.addButton, className)}\n size=\"small\"\n variant=\"contained\"\n color=\"default\"\n >\n {label}\n </Button>\n);\n\nRawButton.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n onClick: PropTypes.func,\n title: PropTypes.string,\n};\n\nRawButton.defaultProps = {\n className: '',\n disabled: false,\n label: 'Add',\n onClick: () => {},\n title: '',\n};\n\nconst styles = () => ({\n addButton: {\n fontSize: '0.9em',\n marginLeft: 8,\n minWidth: 32,\n height: 32,\n\n '& span': {\n '& svg': {\n width: '1.3em !important',\n height: '1.3em !important',\n },\n },\n },\n});\n\nconst ButtonStyled = withStyles(styles)(RawButton);\n\nexport default ButtonStyled;\n"],"file":"button.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/constants.js"],"names":["tools","type","label","icon"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE,CAAC;AACNC,IAAAA,IAAI,EAAE,QADA;AAENC,IAAAA,KAAK,EAAE,QAFD;AAGNC,IAAAA,IAAI,EAAE;AAHA,GAAD,EAIL;AACAF,IAAAA,IAAI,EAAE,kBADN;AAEAC,IAAAA,KAAK,EAAE,WAFP;AAGAC,IAAAA,IAAI,EAAE;AAHN,GAJK,EAQL;AACAF,IAAAA,IAAI,EAAE,cADN;AAEAC,IAAAA,KAAK,EAAE,MAFP;AAGAC,IAAAA,IAAI,EAAE;AAHN,GARK,EAYL;AACAF,IAAAA,IAAI,EAAE,mBADN;AAEAC,IAAAA,KAAK,EAAE,WAFP;AAGAC,IAAAA,IAAI,EAAE;AAHN,GAZK,EAgBL;AACAF,IAAAA,IAAI,EAAE,gBADN;AAEAC,IAAAA,KAAK,EAAE,QAFP;AAGAC,IAAAA,IAAI,EAAE;AAHN,GAhBK,EAoBL;AACAF,IAAAA,IAAI,EAAE,MADN;AAEAC,IAAAA,KAAK,EAAE,YAFP;AAGAC,IAAAA,IAAI,EAAE;AAHN,GApBK,EAwBL;AACA;AACA;AACA;AACA;AACA;AACAF,IAAAA,IAAI,EAAE,gBANN;AAOAC,IAAAA,KAAK,EAAE,QAPP;AAQAC,IAAAA,IAAI,EAAE;AARN,GAxBK;AADM,C","sourcesContent":["export default {\n tools: [{\n type: 'Select',\n label: 'Select',\n icon: 'mdiCursorDefault'\n },{\n type: 'FreePathDrawable',\n label: 'Free Draw',\n icon: 'mdiPencil'\n },{\n type: 'LineDrawable',\n label: 'Line',\n icon: 'mdiMinus'\n },{\n type: 'RectangleDrawable',\n label: 'Rectangle',\n icon: 'mdiRectangle'\n },{\n type: 'CircleDrawable',\n label: 'Circle',\n icon: 'mdiCircle'\n },{\n type: 'Text',\n label: 'Text Entry',\n icon: 'mdiFormatColorText'\n },{\n // ,{\n // type: 'PaintBucket',\n // label: 'Paint Bucket',\n // icon: 'mdiFormatColorFill'\n // },\n type: 'EraserDrawable',\n label: 'Eraser',\n icon: 'mdiEraser'\n }]\n};\n"],"file":"constants.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/constants.js"],"names":["tools","type","label","icon"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE,CACL;AACEC,IAAAA,IAAI,EAAE,QADR;AAEEC,IAAAA,KAAK,EAAE,QAFT;AAGEC,IAAAA,IAAI,EAAE;AAHR,GADK,EAML;AACEF,IAAAA,IAAI,EAAE,kBADR;AAEEC,IAAAA,KAAK,EAAE,WAFT;AAGEC,IAAAA,IAAI,EAAE;AAHR,GANK,EAWL;AACEF,IAAAA,IAAI,EAAE,cADR;AAEEC,IAAAA,KAAK,EAAE,MAFT;AAGEC,IAAAA,IAAI,EAAE;AAHR,GAXK,EAgBL;AACEF,IAAAA,IAAI,EAAE,mBADR;AAEEC,IAAAA,KAAK,EAAE,WAFT;AAGEC,IAAAA,IAAI,EAAE;AAHR,GAhBK,EAqBL;AACEF,IAAAA,IAAI,EAAE,gBADR;AAEEC,IAAAA,KAAK,EAAE,QAFT;AAGEC,IAAAA,IAAI,EAAE;AAHR,GArBK,EA0BL;AACEF,IAAAA,IAAI,EAAE,MADR;AAEEC,IAAAA,KAAK,EAAE,YAFT;AAGEC,IAAAA,IAAI,EAAE;AAHR,GA1BK,EA+BL;AACE;AACA;AACA;AACA;AACA;AACAF,IAAAA,IAAI,EAAE,gBANR;AAOEC,IAAAA,KAAK,EAAE,QAPT;AAQEC,IAAAA,IAAI,EAAE;AARR,GA/BK;AADM,C","sourcesContent":["export default {\n tools: [\n {\n type: 'Select',\n label: 'Select',\n icon: 'mdiCursorDefault',\n },\n {\n type: 'FreePathDrawable',\n label: 'Free Draw',\n icon: 'mdiPencil',\n },\n {\n type: 'LineDrawable',\n label: 'Line',\n icon: 'mdiMinus',\n },\n {\n type: 'RectangleDrawable',\n label: 'Rectangle',\n icon: 'mdiRectangle',\n },\n {\n type: 'CircleDrawable',\n label: 'Circle',\n icon: 'mdiCircle',\n },\n {\n type: 'Text',\n label: 'Text Entry',\n icon: 'mdiFormatColorText',\n },\n {\n // ,{\n // type: 'PaintBucket',\n // label: 'Paint Bucket',\n // icon: 'mdiFormatColorFill'\n // },\n type: 'EraserDrawable',\n label: 'Eraser',\n icon: 'mdiEraser',\n },\n ],\n};\n"],"file":"constants.js"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -43,9 +43,13 @@ var _drawableText = _interopRequireDefault(require("./drawable-text"));
43
43
 
44
44
  var _icon = _interopRequireDefault(require("./icon"));
45
45
 
46
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
+
48
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
49
+
46
50
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
47
51
 
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
52
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
53
 
50
54
  var TOOLS = _constants["default"].tools;
51
55
  var ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map(function (c) {
@@ -77,6 +81,7 @@ var Container = /*#__PURE__*/function (_Component) {
77
81
  });
78
82
  var TextEntry = new _drawableText["default"]();
79
83
  _this.state = {
84
+ scale: 1,
80
85
  drawableDimensions: {
81
86
  height: 0,
82
87
  width: 0
@@ -88,10 +93,10 @@ var Container = /*#__PURE__*/function (_Component) {
88
93
  label: 'no fill'
89
94
  }, {
90
95
  value: 'lightblue',
91
- label: 'lightblue'
96
+ label: 'light blue'
92
97
  }, {
93
98
  value: 'lightyellow',
94
- label: 'lightyellow'
99
+ label: 'light yellow'
95
100
  }].concat((0, _toConsumableArray2["default"])(ROGVAIV)),
96
101
  outlineColor: 'black',
97
102
  outlineColorList: ROGVAIV,
@@ -132,13 +137,49 @@ var Container = /*#__PURE__*/function (_Component) {
132
137
  }, {
133
138
  key: "componentDidMount",
134
139
  value: function componentDidMount() {
140
+ var _this3 = this;
141
+
135
142
  this.setDimensions();
143
+ this.observer = new MutationObserver(function (mutations) {
144
+ mutations.forEach(function () {
145
+ var _document$getElementB, _document$getElementB2;
146
+
147
+ var target = (_document$getElementB = document.getElementById('question-container')) === null || _document$getElementB === void 0 ? void 0 : (_document$getElementB2 = _document$getElementB.style) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.cssText;
148
+ var zoom = target === null || target === void 0 ? void 0 : target.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));
149
+ var zoomParsed = zoom === null || zoom === void 0 ? void 0 : zoom.replace(/\s/g, '');
150
+
151
+ if (zoomParsed) {
152
+ var newScale = parseFloat(zoomParsed) / 100;
153
+
154
+ if (newScale !== _this3.state.scale) {
155
+ _this3.setState({
156
+ scale: parseFloat(zoomParsed) / 100
157
+ });
158
+ }
159
+ } else if (!zoomParsed && _this3.state.scale !== 1) {
160
+ _this3.setState({
161
+ scale: 1
162
+ });
163
+ }
164
+ });
165
+ });
166
+ var target = document.getElementById('question-container');
167
+
168
+ if (target) {
169
+ this.observer.observe(target, {
170
+ attributes: true,
171
+ attributeFilter: ['style']
172
+ });
173
+ }
136
174
  }
137
175
  }, {
138
176
  key: "componentWillUnmount",
139
177
  value: function componentWillUnmount() {
178
+ var _this$observer;
179
+
140
180
  var TextEntry = this.state.TextEntry;
141
181
  TextEntry.removeEventListeners();
182
+ (_this$observer = this.observer) === null || _this$observer === void 0 ? void 0 : _this$observer.disconnect();
142
183
  }
143
184
  }, {
144
185
  key: "handleMakeToolActive",
@@ -167,7 +208,7 @@ var Container = /*#__PURE__*/function (_Component) {
167
208
  }, {
168
209
  key: "render",
169
210
  value: function render() {
170
- var _this3 = this;
211
+ var _this4 = this;
171
212
 
172
213
  var _this$props = this.props,
173
214
  classes = _this$props.classes,
@@ -175,7 +216,8 @@ var Container = /*#__PURE__*/function (_Component) {
175
216
  imageUrl = _this$props.imageUrl,
176
217
  imageDimensions = _this$props.imageDimensions,
177
218
  onSessionChange = _this$props.onSessionChange,
178
- session = _this$props.session;
219
+ session = _this$props.session,
220
+ backgroundImageEnabled = _this$props.backgroundImageEnabled;
179
221
  var _this$state = this.state,
180
222
  drawableDimensions = _this$state.drawableDimensions,
181
223
  toolActive = _this$state.toolActive,
@@ -186,9 +228,10 @@ var Container = /*#__PURE__*/function (_Component) {
186
228
  paintColor = _this$state.paintColor,
187
229
  paintColorList = _this$state.paintColorList,
188
230
  TextEntry = _this$state.TextEntry;
231
+ var heightToUse = drawableDimensions.height * this.state.scale;
189
232
  return /*#__PURE__*/_react["default"].createElement("div", {
190
233
  className: classes.base
191
- }, /*#__PURE__*/_react["default"].createElement(_drawablePalette["default"], {
234
+ }, !disabled && /*#__PURE__*/_react["default"].createElement(_drawablePalette["default"], {
192
235
  fillColor: fillColor,
193
236
  fillList: fillColorList,
194
237
  outlineColor: outlineColor,
@@ -196,39 +239,44 @@ var Container = /*#__PURE__*/function (_Component) {
196
239
  paintColor: paintColor,
197
240
  paintList: paintColorList,
198
241
  onFillColorChange: function onFillColorChange(color) {
199
- return _this3.handleColorChange('fill', color);
242
+ return _this4.handleColorChange('fill', color);
200
243
  },
201
244
  onOutlineColorChange: function onOutlineColorChange(color) {
202
- return _this3.handleColorChange('outline', color);
245
+ return _this4.handleColorChange('outline', color);
203
246
  },
204
247
  onPaintColorChange: function onPaintColorChange(color) {
205
- return _this3.handleColorChange('paint', color);
248
+ return _this4.handleColorChange('paint', color);
206
249
  }
207
250
  }), /*#__PURE__*/_react["default"].createElement("div", {
208
251
  className: classes.box
209
252
  }, /*#__PURE__*/_react["default"].createElement("div", {
210
253
  className: classes.toolbar
211
- }, /*#__PURE__*/_react["default"].createElement("div", null, TOOLS.map(function (tool) {
254
+ }, TOOLS.map(function (tool) {
212
255
  var type = tool.type,
213
256
  label = tool.label,
214
257
  icon = tool.icon;
215
258
  return /*#__PURE__*/_react["default"].createElement(_button["default"], {
216
259
  title: label,
217
260
  key: type,
218
- disabled: _this3.checkIfToolIsDisabled(type),
261
+ disabled: _this4.checkIfToolIsDisabled(type),
219
262
  onClick: function onClick() {
220
- return _this3.handleMakeToolActive(tool);
263
+ return _this4.handleMakeToolActive(tool);
221
264
  },
222
265
  label: /*#__PURE__*/_react["default"].createElement(_icon["default"], {
223
266
  path: icon
224
267
  })
225
268
  });
226
- }))), /*#__PURE__*/_react["default"].createElement("div", {
269
+ })), /*#__PURE__*/_react["default"].createElement("div", {
227
270
  ref: function ref(drawable) {
228
- _this3.drawable = drawable;
271
+ _this4.drawable = drawable;
229
272
  },
230
- className: classes.drawableHeight
273
+ className: classes.drawableHeight,
274
+ style: {
275
+ height: heightToUse,
276
+ maxHeight: heightToUse
277
+ }
231
278
  }, /*#__PURE__*/_react["default"].createElement(_drawableMain["default"], {
279
+ scale: this.state.scale,
232
280
  session: session,
233
281
  disabled: disabled,
234
282
  onSessionChange: onSessionChange,
@@ -239,7 +287,8 @@ var Container = /*#__PURE__*/function (_Component) {
239
287
  drawableDimensions: drawableDimensions,
240
288
  imageDimensions: imageDimensions,
241
289
  toolActive: toolActive,
242
- TextEntry: TextEntry
290
+ TextEntry: TextEntry,
291
+ backgroundImageEnabled: backgroundImageEnabled
243
292
  }))));
244
293
  }
245
294
  }]);
@@ -253,7 +302,8 @@ exports.Container = Container;
253
302
  session: _propTypes["default"].object.isRequired,
254
303
  onSessionChange: _propTypes["default"].func.isRequired,
255
304
  imageDimensions: _propTypes["default"].object.isRequired,
256
- imageUrl: _propTypes["default"].string.isRequired
305
+ imageUrl: _propTypes["default"].string.isRequired,
306
+ backgroundImageEnabled: _propTypes["default"].bool.isRequired
257
307
  });
258
308
 
259
309
  var styles = function styles(theme) {
@@ -264,19 +314,24 @@ var styles = function styles(theme) {
264
314
  box: {
265
315
  border: '1px solid #E0E1E6',
266
316
  borderRadius: '5px',
267
- marginTop: theme.spacing.unit * 2
317
+ marginTop: theme.spacing.unit * 2,
318
+ backgroundColor: '#ECEDF1'
268
319
  },
269
320
  drawableHeight: {
270
- minHeight: 350
321
+ minHeight: 350,
322
+ backgroundColor: '#fff'
271
323
  },
272
324
  toolbar: {
273
- backgroundColor: '#ECEDF1',
274
325
  borderBottom: '1px solid #E0E1E6',
275
326
  borderTopLeftRadius: '5px',
276
327
  borderTopRightRadius: '5px',
277
- display: 'flex',
278
- justifyContent: 'space-between',
279
- padding: '12px 8px'
328
+ padding: '12px 8px 4px',
329
+ boxSizing: 'border-box',
330
+ maxWidth: 'calc(100% - 163px)',
331
+ // 163px is the width set on undoControls
332
+ '& button': {
333
+ marginBottom: '8px'
334
+ }
280
335
  }
281
336
  };
282
337
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/container.jsx"],"names":["TOOLS","constants","tools","ROGVAIV","map","c","value","label","Container","props","type","disabled","toolActive","state","TextEntry","DrawableText","drawableDimensions","height","width","fillColor","fillColorList","outlineColor","outlineColorList","paintColor","paintColorList","checkExist","setInterval","drawable","getBoundingClientRect","setState","e","console","warn","clearInterval","setDimensions","removeEventListeners","tool","addNewTextEntry","updatedAt","Date","color","cType","classes","imageUrl","imageDimensions","onSessionChange","session","base","handleColorChange","box","toolbar","icon","checkIfToolIsDisabled","handleMakeToolActive","drawableHeight","Component","PropTypes","object","isRequired","bool","func","string","styles","theme","marginTop","spacing","unit","border","borderRadius","minHeight","backgroundColor","borderBottom","borderTopLeftRadius","borderTopRightRadius","display","justifyContent","padding"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport constants from './constants';\nimport Button from './button';\nimport DrawablePalette from './drawable-palette';\nimport DrawableMain from './drawable-main';\nimport DrawableText from './drawable-text';\nimport Icon from './icon';\n\nconst { tools: TOOLS } = constants;\n\nconst ROGVAIV = [\n 'red',\n 'orange',\n 'yellow',\n 'violet',\n 'blue',\n 'green',\n 'white',\n 'black'\n].map(c => ({ value: c, label: c }));\n\nexport class Container extends Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired\n };\n\n constructor(props) {\n super(props);\n const TextEntry = new DrawableText();\n\n this.state = {\n drawableDimensions: {\n height: 0,\n width: 0\n },\n toolActive: TOOLS[0],\n fillColor: 'white',\n fillColorList: [\n { value: 'transparent', label: 'no fill' },\n { value: 'lightblue', label: 'lightblue' },\n { value: 'lightyellow', label: 'lightyellow' },\n ...ROGVAIV\n ],\n outlineColor: 'black',\n outlineColorList: ROGVAIV,\n paintColor: 'red',\n paintColorList: ROGVAIV,\n TextEntry\n };\n }\n\n setDimensions() {\n const checkExist = setInterval(() => {\n try {\n const { height, width } = this.drawable.getBoundingClientRect();\n if (height !== 0 && width !== 0) {\n this.setState({\n drawableDimensions: {\n height,\n width\n }\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('setDimensions Error: ', e);\n } finally {\n clearInterval(checkExist);\n }\n }, 100);\n }\n\n componentDidMount() {\n this.setDimensions();\n }\n\n componentWillUnmount() {\n const { TextEntry } = this.state;\n\n TextEntry.removeEventListeners();\n }\n\n handleMakeToolActive(tool) {\n const { TextEntry } = this.state;\n const { type } = tool;\n\n if (type !== 'Text') {\n this.setState({\n toolActive: tool\n });\n } else {\n TextEntry.addNewTextEntry();\n // Force update\n this.setState({\n updatedAt: new Date()\n });\n }\n }\n\n checkIfToolIsDisabled = type => {\n if (this.props.disabled) return true;\n\n\n const { toolActive } = this.state;\n // Text will never be disabled since on each \"Text Entry\" click a new text is added\n if (type === 'Text') {\n return false;\n }\n return type === toolActive.type;\n };\n\n handleColorChange(type, color) {\n const cType = `${type}Color`;\n this.setState({\n [cType]: color\n });\n }\n\n render() {\n const {\n classes,\n disabled,\n imageUrl,\n imageDimensions,\n onSessionChange,\n session\n } = this.props;\n const {\n drawableDimensions,\n toolActive,\n fillColor,\n fillColorList,\n outlineColor,\n outlineColorList,\n paintColor,\n paintColorList,\n TextEntry\n } = this.state;\n\n return (\n <div className={classes.base}>\n <DrawablePalette\n fillColor={fillColor}\n fillList={fillColorList}\n outlineColor={outlineColor}\n outlineList={outlineColorList}\n paintColor={paintColor}\n paintList={paintColorList}\n onFillColorChange={color => this.handleColorChange('fill', color)}\n onOutlineColorChange={color =>\n this.handleColorChange('outline', color)\n }\n onPaintColorChange={color => this.handleColorChange('paint', color)}\n />\n\n <div className={classes.box}>\n <div className={classes.toolbar}>\n <div>\n {TOOLS.map(tool => {\n const { type, label, icon } = tool;\n\n return (\n <Button\n title={label}\n key={type}\n disabled={this.checkIfToolIsDisabled(type)}\n onClick={() => this.handleMakeToolActive(tool)}\n label={<Icon path={icon} />}\n />\n );\n })}\n </div>\n </div>\n\n <div\n ref={drawable => {\n this.drawable = drawable;\n }}\n className={classes.drawableHeight}\n >\n <DrawableMain\n session={session}\n disabled={disabled}\n onSessionChange={onSessionChange}\n fillColor={fillColor}\n outlineColor={outlineColor}\n paintColor={paintColor}\n imageUrl={imageUrl}\n drawableDimensions={drawableDimensions}\n imageDimensions={imageDimensions}\n toolActive={toolActive}\n TextEntry={TextEntry}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n marginTop: theme.spacing.unit * 2\n },\n drawableHeight: {\n minHeight: 350\n },\n toolbar: {\n backgroundColor: '#ECEDF1',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n justifyContent: 'space-between',\n padding: '12px 8px'\n }\n});\n\nexport default withStyles(styles)(Container);\n"],"file":"container.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/container.jsx"],"names":["TOOLS","constants","tools","ROGVAIV","map","c","value","label","Container","props","type","disabled","toolActive","state","TextEntry","DrawableText","scale","drawableDimensions","height","width","fillColor","fillColorList","outlineColor","outlineColorList","paintColor","paintColorList","checkExist","setInterval","drawable","getBoundingClientRect","setState","e","console","warn","clearInterval","setDimensions","observer","MutationObserver","mutations","forEach","target","document","getElementById","style","cssText","zoom","substring","indexOf","lastIndexOf","zoomParsed","replace","newScale","parseFloat","observe","attributes","attributeFilter","removeEventListeners","disconnect","tool","addNewTextEntry","updatedAt","Date","color","cType","classes","imageUrl","imageDimensions","onSessionChange","session","backgroundImageEnabled","heightToUse","base","handleColorChange","box","toolbar","icon","checkIfToolIsDisabled","handleMakeToolActive","drawableHeight","maxHeight","Component","PropTypes","object","isRequired","bool","func","string","styles","theme","marginTop","spacing","unit","border","borderRadius","backgroundColor","minHeight","borderBottom","borderTopLeftRadius","borderTopRightRadius","padding","boxSizing","maxWidth","marginBottom"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport constants from './constants';\nimport Button from './button';\nimport DrawablePalette from './drawable-palette';\nimport DrawableMain from './drawable-main';\nimport DrawableText from './drawable-text';\nimport Icon from './icon';\n\nconst { tools: TOOLS } = constants;\n\nconst ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map((c) => ({\n value: c,\n label: c,\n}));\n\nexport class Container extends Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired,\n backgroundImageEnabled: PropTypes.bool.isRequired,\n };\n\n constructor(props) {\n super(props);\n const TextEntry = new DrawableText();\n\n this.state = {\n scale: 1,\n drawableDimensions: {\n height: 0,\n width: 0,\n },\n toolActive: TOOLS[0],\n fillColor: 'white',\n fillColorList: [\n { value: 'transparent', label: 'no fill' },\n { value: 'lightblue', label: 'light blue' },\n { value: 'lightyellow', label: 'light yellow' },\n ...ROGVAIV,\n ],\n outlineColor: 'black',\n outlineColorList: ROGVAIV,\n paintColor: 'red',\n paintColorList: ROGVAIV,\n TextEntry,\n };\n }\n\n setDimensions() {\n const checkExist = setInterval(() => {\n try {\n const { height, width } = this.drawable.getBoundingClientRect();\n if (height !== 0 && width !== 0) {\n this.setState({\n drawableDimensions: {\n height,\n width,\n },\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('setDimensions Error: ', e);\n } finally {\n clearInterval(checkExist);\n }\n }, 100);\n }\n\n componentDidMount() {\n this.setDimensions();\n\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach(() => {\n const target = document.getElementById('question-container')?.style?.cssText;\n const zoom = target?.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));\n const zoomParsed = zoom?.replace(/\\s/g, '');\n\n if (zoomParsed) {\n const newScale = parseFloat(zoomParsed) / 100;\n if (newScale !== this.state.scale) {\n this.setState({\n scale: parseFloat(zoomParsed) / 100,\n });\n }\n } else if (!zoomParsed && this.state.scale !== 1) {\n this.setState({\n scale: 1,\n });\n }\n });\n });\n\n const target = document.getElementById('question-container');\n if (target) {\n this.observer.observe(target, { attributes: true, attributeFilter: ['style'] });\n }\n }\n\n componentWillUnmount() {\n const { TextEntry } = this.state;\n\n TextEntry.removeEventListeners();\n this.observer?.disconnect();\n }\n\n handleMakeToolActive(tool) {\n const { TextEntry } = this.state;\n const { type } = tool;\n\n if (type !== 'Text') {\n this.setState({\n toolActive: tool,\n });\n } else {\n TextEntry.addNewTextEntry();\n // Force update\n this.setState({\n updatedAt: new Date(),\n });\n }\n }\n\n checkIfToolIsDisabled = (type) => {\n if (this.props.disabled) return true;\n\n const { toolActive } = this.state;\n // Text will never be disabled since on each \"Text Entry\" click a new text is added\n if (type === 'Text') {\n return false;\n }\n return type === toolActive.type;\n };\n\n handleColorChange(type, color) {\n const cType = `${type}Color`;\n this.setState({\n [cType]: color,\n });\n }\n\n render() {\n const { classes, disabled, imageUrl, imageDimensions, onSessionChange, session, backgroundImageEnabled } =\n this.props;\n const {\n drawableDimensions,\n toolActive,\n fillColor,\n fillColorList,\n outlineColor,\n outlineColorList,\n paintColor,\n paintColorList,\n TextEntry,\n } = this.state;\n\n const heightToUse = drawableDimensions.height * this.state.scale;\n\n return (\n <div className={classes.base}>\n {!disabled && (\n <DrawablePalette\n fillColor={fillColor}\n fillList={fillColorList}\n outlineColor={outlineColor}\n outlineList={outlineColorList}\n paintColor={paintColor}\n paintList={paintColorList}\n onFillColorChange={(color) => this.handleColorChange('fill', color)}\n onOutlineColorChange={(color) => this.handleColorChange('outline', color)}\n onPaintColorChange={(color) => this.handleColorChange('paint', color)}\n />\n )}\n\n <div className={classes.box}>\n <div className={classes.toolbar}>\n {TOOLS.map((tool) => {\n const { type, label, icon } = tool;\n\n return (\n <Button\n title={label}\n key={type}\n disabled={this.checkIfToolIsDisabled(type)}\n onClick={() => this.handleMakeToolActive(tool)}\n label={<Icon path={icon} />}\n />\n );\n })}\n </div>\n\n <div\n ref={(drawable) => {\n this.drawable = drawable;\n }}\n className={classes.drawableHeight}\n style={{ height: heightToUse, maxHeight: heightToUse }}\n >\n <DrawableMain\n scale={this.state.scale}\n session={session}\n disabled={disabled}\n onSessionChange={onSessionChange}\n fillColor={fillColor}\n outlineColor={outlineColor}\n paintColor={paintColor}\n imageUrl={imageUrl}\n drawableDimensions={drawableDimensions}\n imageDimensions={imageDimensions}\n toolActive={toolActive}\n TextEntry={TextEntry}\n backgroundImageEnabled={backgroundImageEnabled}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n base: {\n marginTop: theme.spacing.unit * 2,\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n marginTop: theme.spacing.unit * 2,\n backgroundColor: '#ECEDF1',\n },\n drawableHeight: {\n minHeight: 350,\n backgroundColor: '#fff',\n },\n toolbar: {\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n padding: '12px 8px 4px',\n boxSizing: 'border-box',\n maxWidth: 'calc(100% - 163px)', // 163px is the width set on undoControls\n '& button': {\n marginBottom: '8px',\n },\n },\n});\n\nexport default withStyles(styles)(Container);\n"],"file":"container.js"}
@@ -29,7 +29,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
29
29
 
30
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
31
31
 
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
32
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
33
 
34
34
  var CircleDrawable = /*#__PURE__*/function (_DrawableHelper) {
35
35
  (0, _inherits2["default"])(CircleDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-circle.jsx"],"names":["CircleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","dx","dy","radius","Math","sqrt","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Circle } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class CircleDrawable extends DrawableHelper {\n static TYPE = 'CircleDrawable';\n constructor(props) {\n super(props, CircleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n handleOnClick(props) {\n const { paint, paintColor, forceUpdate } = props;\n\n if (paint) {\n this.paintColor = paintColor;\n forceUpdate();\n }\n }\n\n handleDragEnd = (props, event) => {\n const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Circle\n key={key}\n draggable={draggable}\n radius={this.radius}\n x={this.startx}\n y={this.starty}\n fill={this.paintColor || this.fillColor}\n onClick={() => this.handleOnClick(props)}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n stroke={this.outlineColor}\n />\n );\n }\n}\n"],"file":"drawable-circle.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-circle.jsx"],"names":["CircleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","dx","dy","radius","Math","sqrt","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Circle } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class CircleDrawable extends DrawableHelper {\n static TYPE = 'CircleDrawable';\n constructor(props) {\n super(props, CircleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n handleOnClick(props) {\n const { paint, paintColor, forceUpdate } = props;\n\n if (paint) {\n this.paintColor = paintColor;\n forceUpdate();\n }\n }\n\n handleDragEnd = (props, event) => {\n const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Circle\n key={key}\n draggable={draggable}\n radius={this.radius}\n x={this.startx}\n y={this.starty}\n fill={this.paintColor || this.fillColor}\n onClick={() => this.handleOnClick(props)}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n stroke={this.outlineColor}\n />\n );\n }\n}\n"],"file":"drawable-circle.js"}
@@ -31,7 +31,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  var EraserDrawable = /*#__PURE__*/function (_DrawableHelper) {
37
37
  (0, _inherits2["default"])(EraserDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-eraser.jsx"],"names":["EraserDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","x","y","draggable","key","onMouseOverElement","onMouseOutElement","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,c;;;;;AAEnB,0BAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,cAAc,CAACE,IAA5B;AADiB,sGAaH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KAlBkB;AAAA,QAETC,MAFS,GAE8BT,MAF9B,CAETS,MAFS;AAAA,QAEDC,MAFC,GAE8BV,MAF9B,CAEDU,MAFC;AAAA,QAEOC,MAFP,GAE8BX,MAF9B,CAEOW,MAFP;AAAA,QAEeR,IAFf,GAE8BH,MAF9B,CAEeG,IAFf;AAAA,QAEqBG,IAFrB,GAE8BN,MAF9B,CAEqBM,IAFrB;AAIjB,UAAKK,MAAL,GAAcA,MAAM,IAAI,CAACF,MAAD,EAASC,MAAT,CAAxB;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AANiB;AAOlB;;;;WAED,0BAAiBM,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKF,MAAL,iDAAkB,KAAKA,MAAvB,IAA+BC,CAA/B,EAAkCC,CAAlC;AACD;;;WASD,gBAAOb,KAAP,EAAc;AAAA,UACJc,SADI,GACsDd,KADtD,CACJc,SADI;AAAA,UACOC,GADP,GACsDf,KADtD,CACOe,GADP;AAAA,UACYC,kBADZ,GACsDhB,KADtD,CACYgB,kBADZ;AAAA,UACgCC,iBADhC,GACsDjB,KADtD,CACgCiB,iBADhC;AAGZ,0BACE,gCAAC,gBAAD;AACE,QAAA,GAAG,EAAEF,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,wBAAwB,EAAC,iBAH3B;AAIE,QAAA,OAAO,EAAE,CAJX;AAKE,QAAA,MAAM,EAAE,IALV;AAME,QAAA,MAAM,EAAE,KAAKH,MANf;AAOE,QAAA,SAAS,EAAE,KAAKO,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BnB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEgB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,WAAW,EAAC,SAVd;AAWE,QAAA,QAAQ,EAAC,OAXX;AAYE,QAAA,SAAS,EAAC,GAZZ;AAaE,QAAA,IAAI,EAAC,OAbP;AAcE,QAAA,MAAM,EAAC,OAdT;AAeE,QAAA,WAAW,EAAE,CAff;AAgBE,QAAA,CAAC,EAAE,KAAKd,IAhBV;AAiBE,QAAA,CAAC,EAAE,KAAKG;AAjBV,QADF;AAqBD;;;EA9CyCc,0B;;;iCAAvBrB,c,UACL,gB","sourcesContent":["import React from 'react';\nimport { Line } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class EraserDrawable extends DrawableHelper {\n static TYPE = 'EraserDrawable';\n constructor(props) {\n super(props, EraserDrawable.TYPE);\n const { startx, starty, points, posX, posY } = props;\n\n this.points = points || [startx, starty];\n this.posX = posX || 0;\n this.posY = posY || 0;\n }\n\n registerMovement(x, y) {\n this.points = [...this.points, x, y];\n }\n\n handleDragEnd = (props, event) => {\n this.posX = event.target.getX();\n this.posY = event.target.getY();\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Line\n key={key}\n draggable={draggable}\n globalCompositeOperation=\"destination-out\"\n tension={0}\n bezier={true}\n points={this.points}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n strokeStyle=\"#df4b26\"\n lineJoin=\"round\"\n lineWidth=\"5\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth={5}\n x={this.posX}\n y={this.posY}\n />\n );\n }\n}\n"],"file":"drawable-eraser.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-eraser.jsx"],"names":["EraserDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","x","y","draggable","key","onMouseOverElement","onMouseOutElement","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,c;;;;;AAEnB,0BAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,cAAc,CAACE,IAA5B;AADiB,sGAaH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KAlBkB;AAEjB,QAAQC,MAAR,GAA+CT,MAA/C,CAAQS,MAAR;AAAA,QAAgBC,MAAhB,GAA+CV,MAA/C,CAAgBU,MAAhB;AAAA,QAAwBC,MAAxB,GAA+CX,MAA/C,CAAwBW,MAAxB;AAAA,QAAgCR,IAAhC,GAA+CH,MAA/C,CAAgCG,IAAhC;AAAA,QAAsCG,IAAtC,GAA+CN,MAA/C,CAAsCM,IAAtC;AAEA,UAAKK,MAAL,GAAcA,MAAM,IAAI,CAACF,MAAD,EAASC,MAAT,CAAxB;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AANiB;AAOlB;;;;WAED,0BAAiBM,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKF,MAAL,iDAAkB,KAAKA,MAAvB,IAA+BC,CAA/B,EAAkCC,CAAlC;AACD;;;WASD,gBAAOb,KAAP,EAAc;AACZ,UAAQc,SAAR,GAAkEd,KAAlE,CAAQc,SAAR;AAAA,UAAmBC,GAAnB,GAAkEf,KAAlE,CAAmBe,GAAnB;AAAA,UAAwBC,kBAAxB,GAAkEhB,KAAlE,CAAwBgB,kBAAxB;AAAA,UAA4CC,iBAA5C,GAAkEjB,KAAlE,CAA4CiB,iBAA5C;AAEA,0BACE,gCAAC,gBAAD;AACE,QAAA,GAAG,EAAEF,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,wBAAwB,EAAC,iBAH3B;AAIE,QAAA,OAAO,EAAE,CAJX;AAKE,QAAA,MAAM,EAAE,IALV;AAME,QAAA,MAAM,EAAE,KAAKH,MANf;AAOE,QAAA,SAAS,EAAE,KAAKO,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BnB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEgB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,WAAW,EAAC,SAVd;AAWE,QAAA,QAAQ,EAAC,OAXX;AAYE,QAAA,SAAS,EAAC,GAZZ;AAaE,QAAA,IAAI,EAAC,OAbP;AAcE,QAAA,MAAM,EAAC,OAdT;AAeE,QAAA,WAAW,EAAE,CAff;AAgBE,QAAA,CAAC,EAAE,KAAKd,IAhBV;AAiBE,QAAA,CAAC,EAAE,KAAKG;AAjBV,QADF;AAqBD;;;EA9CyCc,0B;;;iCAAvBrB,c,UACL,gB","sourcesContent":["import React from 'react';\nimport { Line } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class EraserDrawable extends DrawableHelper {\n static TYPE = 'EraserDrawable';\n constructor(props) {\n super(props, EraserDrawable.TYPE);\n const { startx, starty, points, posX, posY } = props;\n\n this.points = points || [startx, starty];\n this.posX = posX || 0;\n this.posY = posY || 0;\n }\n\n registerMovement(x, y) {\n this.points = [...this.points, x, y];\n }\n\n handleDragEnd = (props, event) => {\n this.posX = event.target.getX();\n this.posY = event.target.getY();\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Line\n key={key}\n draggable={draggable}\n globalCompositeOperation=\"destination-out\"\n tension={0}\n bezier={true}\n points={this.points}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n strokeStyle=\"#df4b26\"\n lineJoin=\"round\"\n lineWidth=\"5\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth={5}\n x={this.posX}\n y={this.posY}\n />\n );\n }\n}\n"],"file":"drawable-eraser.js"}
@@ -31,7 +31,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  var FreePathDrawable = /*#__PURE__*/function (_DrawableHelper) {
37
37
  (0, _inherits2["default"])(FreePathDrawable, _DrawableHelper);