@pie-element/hotspot 9.0.2-esm.0 → 9.2.0-mui-update.0

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 (125) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/configure/CHANGELOG.md +74 -0
  3. package/configure/lib/DeleteWidget.js +31 -44
  4. package/configure/lib/DeleteWidget.js.map +1 -1
  5. package/configure/lib/__tests__/DeleteWidget.test.js +60 -0
  6. package/configure/lib/__tests__/hotspot-container.test.js +377 -0
  7. package/configure/lib/__tests__/hotspot-drawable.test.js +233 -0
  8. package/configure/lib/__tests__/index.test.js +211 -0
  9. package/configure/lib/__tests__/root.test.js +440 -0
  10. package/configure/lib/__tests__/utils.test.js +287 -0
  11. package/configure/lib/button.js +27 -46
  12. package/configure/lib/button.js.map +1 -1
  13. package/configure/lib/buttons/circle.js +21 -28
  14. package/configure/lib/buttons/circle.js.map +1 -1
  15. package/configure/lib/buttons/polygon.js +27 -34
  16. package/configure/lib/buttons/polygon.js.map +1 -1
  17. package/configure/lib/buttons/rectangle.js +27 -34
  18. package/configure/lib/buttons/rectangle.js.map +1 -1
  19. package/configure/lib/defaults.js +3 -4
  20. package/configure/lib/defaults.js.map +1 -1
  21. package/configure/lib/hotspot-circle.js +133 -199
  22. package/configure/lib/hotspot-circle.js.map +1 -1
  23. package/configure/lib/hotspot-container.js +251 -356
  24. package/configure/lib/hotspot-container.js.map +1 -1
  25. package/configure/lib/hotspot-drawable.js +361 -473
  26. package/configure/lib/hotspot-drawable.js.map +1 -1
  27. package/configure/lib/hotspot-palette.js +93 -140
  28. package/configure/lib/hotspot-palette.js.map +1 -1
  29. package/configure/lib/hotspot-polygon.js +213 -318
  30. package/configure/lib/hotspot-polygon.js.map +1 -1
  31. package/configure/lib/hotspot-rectangle.js +129 -193
  32. package/configure/lib/hotspot-rectangle.js.map +1 -1
  33. package/configure/lib/icons.js +4 -8
  34. package/configure/lib/icons.js.map +1 -1
  35. package/configure/lib/image-konva.js +47 -87
  36. package/configure/lib/image-konva.js.map +1 -1
  37. package/configure/lib/index.js +163 -223
  38. package/configure/lib/index.js.map +1 -1
  39. package/configure/lib/root.js +302 -394
  40. package/configure/lib/root.js.map +1 -1
  41. package/configure/lib/shapes/circle.js +70 -102
  42. package/configure/lib/shapes/circle.js.map +1 -1
  43. package/configure/lib/shapes/index.js +5 -13
  44. package/configure/lib/shapes/index.js.map +1 -1
  45. package/configure/lib/shapes/polygon.js +65 -97
  46. package/configure/lib/shapes/polygon.js.map +1 -1
  47. package/configure/lib/shapes/rectagle.js +70 -102
  48. package/configure/lib/shapes/rectagle.js.map +1 -1
  49. package/configure/lib/shapes/utils.js +3 -9
  50. package/configure/lib/shapes/utils.js.map +1 -1
  51. package/configure/lib/upload-control.js +26 -53
  52. package/configure/lib/upload-control.js.map +1 -1
  53. package/configure/lib/utils.js +85 -138
  54. package/configure/lib/utils.js.map +1 -1
  55. package/configure/package.json +11 -10
  56. package/configure/src/__tests__/index.test.js +11 -5
  57. package/configure/src/button.jsx +12 -20
  58. package/configure/src/hotspot-circle.jsx +5 -18
  59. package/configure/src/hotspot-container.jsx +82 -98
  60. package/configure/src/hotspot-drawable.jsx +43 -45
  61. package/configure/src/hotspot-palette.jsx +45 -37
  62. package/configure/src/hotspot-polygon.jsx +4 -20
  63. package/configure/src/hotspot-rectangle.jsx +4 -17
  64. package/configure/src/icons.js +4 -2
  65. package/configure/src/index.js +12 -2
  66. package/configure/src/root.jsx +85 -79
  67. package/configure/src/upload-control.jsx +6 -16
  68. package/controller/CHANGELOG.md +60 -0
  69. package/controller/lib/__tests__/index.test.js +586 -0
  70. package/controller/lib/__tests__/utils.test.js +8 -0
  71. package/controller/lib/defaults.js +3 -4
  72. package/controller/lib/defaults.js.map +1 -1
  73. package/controller/lib/index.js +152 -206
  74. package/controller/lib/index.js.map +1 -1
  75. package/controller/lib/utils.js +15 -35
  76. package/controller/lib/utils.js.map +1 -1
  77. package/controller/package.json +2 -2
  78. package/docs/demo/pie.manifest.json +11 -0
  79. package/lib/__tests__/container.test.js +221 -0
  80. package/lib/__tests__/index.test.js +113 -0
  81. package/lib/__tests__/polygon.test.js +245 -0
  82. package/lib/__tests__/rectangle.test.js +236 -0
  83. package/lib/__tests__/session-updater.test.js +69 -0
  84. package/lib/hotspot/circle.js +111 -170
  85. package/lib/hotspot/circle.js.map +1 -1
  86. package/lib/hotspot/container.js +175 -261
  87. package/lib/hotspot/container.js.map +1 -1
  88. package/lib/hotspot/icons.js +5 -10
  89. package/lib/hotspot/icons.js.map +1 -1
  90. package/lib/hotspot/image-konva-tooltip.js +66 -113
  91. package/lib/hotspot/image-konva-tooltip.js.map +1 -1
  92. package/lib/hotspot/index.js +136 -199
  93. package/lib/hotspot/index.js.map +1 -1
  94. package/lib/hotspot/polygon.js +151 -215
  95. package/lib/hotspot/polygon.js.map +1 -1
  96. package/lib/hotspot/rectangle.js +130 -186
  97. package/lib/hotspot/rectangle.js.map +1 -1
  98. package/lib/index.js +188 -257
  99. package/lib/index.js.map +1 -1
  100. package/lib/session-updater.js +13 -19
  101. package/lib/session-updater.js.map +1 -1
  102. package/package.json +15 -29
  103. package/src/hotspot/circle.jsx +2 -13
  104. package/src/hotspot/container.jsx +35 -50
  105. package/src/hotspot/icons.js +6 -5
  106. package/src/hotspot/index.jsx +16 -28
  107. package/src/hotspot/polygon.jsx +4 -13
  108. package/src/hotspot/rectangle.jsx +4 -13
  109. package/src/index.js +21 -12
  110. package/LICENSE.md +0 -5
  111. package/configure/node_modules/debug/CHANGELOG.md +0 -395
  112. package/configure/node_modules/debug/LICENSE +0 -19
  113. package/configure/node_modules/debug/README.md +0 -437
  114. package/configure/node_modules/debug/node.js +0 -1
  115. package/configure/node_modules/debug/package.json +0 -51
  116. package/configure/node_modules/debug/src/browser.js +0 -180
  117. package/configure/node_modules/debug/src/common.js +0 -249
  118. package/configure/node_modules/debug/src/index.js +0 -12
  119. package/configure/node_modules/debug/src/node.js +0 -177
  120. package/esm/configure.js +0 -25986
  121. package/esm/configure.js.map +0 -1
  122. package/esm/controller.js +0 -344
  123. package/esm/controller.js.map +0 -1
  124. package/esm/element.js +0 -1312
  125. package/esm/element.js.map +0 -1
@@ -5,39 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.updateSessionMetadata = updateSessionMetadata;
7
7
  exports.updateSessionValue = updateSessionValue;
8
-
9
8
  function updateSessionValue(session, model, data) {
10
- var id = data.id,
11
- selected = data.selected;
12
-
13
- var _ref = model || {},
14
- multipleCorrect = _ref.multipleCorrect;
15
-
9
+ const {
10
+ id,
11
+ selected
12
+ } = data;
13
+ const {
14
+ multipleCorrect
15
+ } = model || {};
16
16
  session.answers = session.answers || [];
17
-
18
17
  if (!selected) {
19
- session.answers = session.answers.filter(function (answer) {
20
- return answer.id !== id;
21
- });
18
+ session.answers = session.answers.filter(answer => answer.id !== id);
22
19
  } else {
23
- var item = {
24
- id: id
20
+ const item = {
21
+ id
25
22
  };
26
-
27
23
  if (multipleCorrect) {
28
24
  session.answers.push(item);
29
25
  } else {
30
26
  session.answers = [item];
31
- } //update session metadata
32
-
27
+ }
33
28
 
29
+ //update session metadata
34
30
  session.selector = data.selector;
35
31
  }
36
32
  }
37
-
38
33
  function updateSessionMetadata(session, metadata) {
39
34
  session.audioStartTime = session.audioStartTime || metadata.audioStartTime; //timestamp when auto-played audio started playing
40
-
41
35
  session.audioEndTime = session.audioEndTime || metadata.audioEndTime; //timestamp when auto-played audio completed playing
42
36
 
43
37
  if (!session.waitTime && session.audioStartTime && session.audioEndTime) {
@@ -45,4 +39,4 @@ function updateSessionMetadata(session, metadata) {
45
39
  session.waitTime = session.audioEndTime - session.audioStartTime;
46
40
  }
47
41
  }
48
- //# sourceMappingURL=session-updater.js.map
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1cGRhdGVTZXNzaW9uVmFsdWUiLCJzZXNzaW9uIiwibW9kZWwiLCJkYXRhIiwiaWQiLCJzZWxlY3RlZCIsIm11bHRpcGxlQ29ycmVjdCIsImFuc3dlcnMiLCJmaWx0ZXIiLCJhbnN3ZXIiLCJpdGVtIiwicHVzaCIsInNlbGVjdG9yIiwidXBkYXRlU2Vzc2lvbk1ldGFkYXRhIiwibWV0YWRhdGEiLCJhdWRpb1N0YXJ0VGltZSIsImF1ZGlvRW5kVGltZSIsIndhaXRUaW1lIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Nlc3Npb24tdXBkYXRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdXBkYXRlU2Vzc2lvblZhbHVlKHNlc3Npb24sIG1vZGVsLCBkYXRhKSB7XG4gIGNvbnN0IHsgaWQsIHNlbGVjdGVkIH0gPSBkYXRhO1xuICBjb25zdCB7IG11bHRpcGxlQ29ycmVjdCB9ID0gbW9kZWwgfHwge307XG4gIHNlc3Npb24uYW5zd2VycyA9IHNlc3Npb24uYW5zd2VycyB8fCBbXTtcblxuICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgc2Vzc2lvbi5hbnN3ZXJzID0gc2Vzc2lvbi5hbnN3ZXJzLmZpbHRlcigoYW5zd2VyKSA9PiBhbnN3ZXIuaWQgIT09IGlkKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBpdGVtID0geyBpZCB9O1xuICAgIGlmIChtdWx0aXBsZUNvcnJlY3QpIHtcbiAgICAgIHNlc3Npb24uYW5zd2Vycy5wdXNoKGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXNzaW9uLmFuc3dlcnMgPSBbaXRlbV07XG4gICAgfVxuXG4gICAgLy91cGRhdGUgc2Vzc2lvbiBtZXRhZGF0YVxuICAgIHNlc3Npb24uc2VsZWN0b3IgPSBkYXRhLnNlbGVjdG9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTZXNzaW9uTWV0YWRhdGEoc2Vzc2lvbiwgbWV0YWRhdGEpIHtcbiAgc2Vzc2lvbi5hdWRpb1N0YXJ0VGltZSA9IHNlc3Npb24uYXVkaW9TdGFydFRpbWUgfHwgbWV0YWRhdGEuYXVkaW9TdGFydFRpbWU7IC8vdGltZXN0YW1wIHdoZW4gYXV0by1wbGF5ZWQgYXVkaW8gc3RhcnRlZCBwbGF5aW5nXG4gIHNlc3Npb24uYXVkaW9FbmRUaW1lID0gc2Vzc2lvbi5hdWRpb0VuZFRpbWUgfHwgbWV0YWRhdGEuYXVkaW9FbmRUaW1lOyAvL3RpbWVzdGFtcCB3aGVuIGF1dG8tcGxheWVkIGF1ZGlvIGNvbXBsZXRlZCBwbGF5aW5nXG5cbiAgaWYgKCFzZXNzaW9uLndhaXRUaW1lICYmIHNlc3Npb24uYXVkaW9TdGFydFRpbWUgJiYgc2Vzc2lvbi5hdWRpb0VuZFRpbWUpIHtcbiAgICAvLyB3YWl0VGltZSBpcyBlbGFwc2VkIHRpbWUgdGhlIHVzZXIgd2FpdGVkIGZvciBhdXRvLXBsYXllZCBhdWRpbyB0byBmaW5pc2hcbiAgICBzZXNzaW9uLndhaXRUaW1lID0gc2Vzc2lvbi5hdWRpb0VuZFRpbWUgLSBzZXNzaW9uLmF1ZGlvU3RhcnRUaW1lO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxTQUFTQSxrQkFBa0JBLENBQUNDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUU7RUFDdkQsTUFBTTtJQUFFQyxFQUFFO0lBQUVDO0VBQVMsQ0FBQyxHQUFHRixJQUFJO0VBQzdCLE1BQU07SUFBRUc7RUFBZ0IsQ0FBQyxHQUFHSixLQUFLLElBQUksQ0FBQyxDQUFDO0VBQ3ZDRCxPQUFPLENBQUNNLE9BQU8sR0FBR04sT0FBTyxDQUFDTSxPQUFPLElBQUksRUFBRTtFQUV2QyxJQUFJLENBQUNGLFFBQVEsRUFBRTtJQUNiSixPQUFPLENBQUNNLE9BQU8sR0FBR04sT0FBTyxDQUFDTSxPQUFPLENBQUNDLE1BQU0sQ0FBRUMsTUFBTSxJQUFLQSxNQUFNLENBQUNMLEVBQUUsS0FBS0EsRUFBRSxDQUFDO0VBQ3hFLENBQUMsTUFBTTtJQUNMLE1BQU1NLElBQUksR0FBRztNQUFFTjtJQUFHLENBQUM7SUFDbkIsSUFBSUUsZUFBZSxFQUFFO01BQ25CTCxPQUFPLENBQUNNLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDRCxJQUFJLENBQUM7SUFDNUIsQ0FBQyxNQUFNO01BQ0xULE9BQU8sQ0FBQ00sT0FBTyxHQUFHLENBQUNHLElBQUksQ0FBQztJQUMxQjs7SUFFQTtJQUNBVCxPQUFPLENBQUNXLFFBQVEsR0FBR1QsSUFBSSxDQUFDUyxRQUFRO0VBQ2xDO0FBQ0Y7QUFFTyxTQUFTQyxxQkFBcUJBLENBQUNaLE9BQU8sRUFBRWEsUUFBUSxFQUFFO0VBQ3ZEYixPQUFPLENBQUNjLGNBQWMsR0FBR2QsT0FBTyxDQUFDYyxjQUFjLElBQUlELFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7RUFDNUVkLE9BQU8sQ0FBQ2UsWUFBWSxHQUFHZixPQUFPLENBQUNlLFlBQVksSUFBSUYsUUFBUSxDQUFDRSxZQUFZLENBQUMsQ0FBQzs7RUFFdEUsSUFBSSxDQUFDZixPQUFPLENBQUNnQixRQUFRLElBQUloQixPQUFPLENBQUNjLGNBQWMsSUFBSWQsT0FBTyxDQUFDZSxZQUFZLEVBQUU7SUFDdkU7SUFDQWYsT0FBTyxDQUFDZ0IsUUFBUSxHQUFHaEIsT0FBTyxDQUFDZSxZQUFZLEdBQUdmLE9BQU8sQ0FBQ2MsY0FBYztFQUNsRTtBQUNGIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/session-updater.js"],"names":["updateSessionValue","session","model","data","id","selected","multipleCorrect","answers","filter","answer","item","push","selector","updateSessionMetadata","metadata","audioStartTime","audioEndTime","waitTime"],"mappings":";;;;;;;;AAAO,SAASA,kBAAT,CAA4BC,OAA5B,EAAqCC,KAArC,EAA4CC,IAA5C,EAAkD;AACvD,MAAQC,EAAR,GAAyBD,IAAzB,CAAQC,EAAR;AAAA,MAAYC,QAAZ,GAAyBF,IAAzB,CAAYE,QAAZ;;AACA,aAA4BH,KAAK,IAAI,EAArC;AAAA,MAAQI,eAAR,QAAQA,eAAR;;AACAL,EAAAA,OAAO,CAACM,OAAR,GAAkBN,OAAO,CAACM,OAAR,IAAmB,EAArC;;AAEA,MAAI,CAACF,QAAL,EAAe;AACbJ,IAAAA,OAAO,CAACM,OAAR,GAAkBN,OAAO,CAACM,OAAR,CAAgBC,MAAhB,CAAuB,UAACC,MAAD;AAAA,aAAYA,MAAM,CAACL,EAAP,KAAcA,EAA1B;AAAA,KAAvB,CAAlB;AACD,GAFD,MAEO;AACL,QAAMM,IAAI,GAAG;AAAEN,MAAAA,EAAE,EAAFA;AAAF,KAAb;;AACA,QAAIE,eAAJ,EAAqB;AACnBL,MAAAA,OAAO,CAACM,OAAR,CAAgBI,IAAhB,CAAqBD,IAArB;AACD,KAFD,MAEO;AACLT,MAAAA,OAAO,CAACM,OAAR,GAAkB,CAACG,IAAD,CAAlB;AACD,KANI,CAQL;;;AACAT,IAAAA,OAAO,CAACW,QAAR,GAAmBT,IAAI,CAACS,QAAxB;AACD;AACF;;AAEM,SAASC,qBAAT,CAA+BZ,OAA/B,EAAwCa,QAAxC,EAAkD;AACvDb,EAAAA,OAAO,CAACc,cAAR,GAAyBd,OAAO,CAACc,cAAR,IAA0BD,QAAQ,CAACC,cAA5D,CADuD,CACqB;;AAC5Ed,EAAAA,OAAO,CAACe,YAAR,GAAuBf,OAAO,CAACe,YAAR,IAAwBF,QAAQ,CAACE,YAAxD,CAFuD,CAEe;;AAEtE,MAAI,CAACf,OAAO,CAACgB,QAAT,IAAqBhB,OAAO,CAACc,cAA7B,IAA+Cd,OAAO,CAACe,YAA3D,EAAyE;AACvE;AACAf,IAAAA,OAAO,CAACgB,QAAR,GAAmBhB,OAAO,CAACe,YAAR,GAAuBf,OAAO,CAACc,cAAlD;AACD;AACF","sourcesContent":["export function updateSessionValue(session, model, data) {\n const { id, selected } = data;\n const { multipleCorrect } = model || {};\n session.answers = session.answers || [];\n\n if (!selected) {\n session.answers = session.answers.filter((answer) => answer.id !== id);\n } else {\n const item = { id };\n if (multipleCorrect) {\n session.answers.push(item);\n } else {\n session.answers = [item];\n }\n\n //update session metadata\n session.selector = data.selector;\n }\n}\n\nexport function updateSessionMetadata(session, metadata) {\n session.audioStartTime = session.audioStartTime || metadata.audioStartTime; //timestamp when auto-played audio started playing\n session.audioEndTime = session.audioEndTime || metadata.audioEndTime; //timestamp when auto-played audio completed playing\n\n if (!session.waitTime && session.audioStartTime && session.audioEndTime) {\n // waitTime is elapsed time the user waited for auto-played audio to finish\n session.waitTime = session.audioEndTime - session.audioStartTime;\n }\n}\n"],"file":"session-updater.js"}
1
+ {"version":3,"file":"session-updater.js","names":["updateSessionValue","session","model","data","id","selected","multipleCorrect","answers","filter","answer","item","push","selector","updateSessionMetadata","metadata","audioStartTime","audioEndTime","waitTime"],"sources":["../src/session-updater.js"],"sourcesContent":["export function updateSessionValue(session, model, data) {\n const { id, selected } = data;\n const { multipleCorrect } = model || {};\n session.answers = session.answers || [];\n\n if (!selected) {\n session.answers = session.answers.filter((answer) => answer.id !== id);\n } else {\n const item = { id };\n if (multipleCorrect) {\n session.answers.push(item);\n } else {\n session.answers = [item];\n }\n\n //update session metadata\n session.selector = data.selector;\n }\n}\n\nexport function updateSessionMetadata(session, metadata) {\n session.audioStartTime = session.audioStartTime || metadata.audioStartTime; //timestamp when auto-played audio started playing\n session.audioEndTime = session.audioEndTime || metadata.audioEndTime; //timestamp when auto-played audio completed playing\n\n if (!session.waitTime && session.audioStartTime && session.audioEndTime) {\n // waitTime is elapsed time the user waited for auto-played audio to finish\n session.waitTime = session.audioEndTime - session.audioStartTime;\n }\n}\n"],"mappings":";;;;;;;AAAO,SAASA,kBAAkBA,CAACC,OAAO,EAAEC,KAAK,EAAEC,IAAI,EAAE;EACvD,MAAM;IAAEC,EAAE;IAAEC;EAAS,CAAC,GAAGF,IAAI;EAC7B,MAAM;IAAEG;EAAgB,CAAC,GAAGJ,KAAK,IAAI,CAAC,CAAC;EACvCD,OAAO,CAACM,OAAO,GAAGN,OAAO,CAACM,OAAO,IAAI,EAAE;EAEvC,IAAI,CAACF,QAAQ,EAAE;IACbJ,OAAO,CAACM,OAAO,GAAGN,OAAO,CAACM,OAAO,CAACC,MAAM,CAAEC,MAAM,IAAKA,MAAM,CAACL,EAAE,KAAKA,EAAE,CAAC;EACxE,CAAC,MAAM;IACL,MAAMM,IAAI,GAAG;MAAEN;IAAG,CAAC;IACnB,IAAIE,eAAe,EAAE;MACnBL,OAAO,CAACM,OAAO,CAACI,IAAI,CAACD,IAAI,CAAC;IAC5B,CAAC,MAAM;MACLT,OAAO,CAACM,OAAO,GAAG,CAACG,IAAI,CAAC;IAC1B;;IAEA;IACAT,OAAO,CAACW,QAAQ,GAAGT,IAAI,CAACS,QAAQ;EAClC;AACF;AAEO,SAASC,qBAAqBA,CAACZ,OAAO,EAAEa,QAAQ,EAAE;EACvDb,OAAO,CAACc,cAAc,GAAGd,OAAO,CAACc,cAAc,IAAID,QAAQ,CAACC,cAAc,CAAC,CAAC;EAC5Ed,OAAO,CAACe,YAAY,GAAGf,OAAO,CAACe,YAAY,IAAIF,QAAQ,CAACE,YAAY,CAAC,CAAC;;EAEtE,IAAI,CAACf,OAAO,CAACgB,QAAQ,IAAIhB,OAAO,CAACc,cAAc,IAAId,OAAO,CAACe,YAAY,EAAE;IACvE;IACAf,OAAO,CAACgB,QAAQ,GAAGhB,OAAO,CAACe,YAAY,GAAGf,OAAO,CAACc,cAAc;EAClE;AACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,47 +1,33 @@
1
1
  {
2
2
  "name": "@pie-element/hotspot",
3
- "version": "9.0.2-esm.0",
3
+ "version": "9.2.0-mui-update.0",
4
4
  "description": "",
5
5
  "repository": "pie-framework/pie-elements",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "dependencies": {
10
- "@material-ui/core": "^3.9.3",
10
+ "@emotion/react": "^11.14.0",
11
+ "@emotion/style": "^0.8.0",
12
+ "@mui/icons-material": "^7.3.4",
13
+ "@mui/material": "^7.3.4",
11
14
  "@pie-framework/pie-player-events": "^0.1.0",
12
- "@pie-lib/correct-answer-toggle": "^2.22.1",
13
- "@pie-lib/math-rendering": "^3.19.0",
14
- "@pie-lib/render-ui": "^4.32.1",
15
- "@pie-lib/test-utils": "^0.19.1",
16
- "konva": "^3.2.5",
15
+ "@pie-lib/correct-answer-toggle": "2.37.0-mui-update.0",
16
+ "@pie-lib/math-rendering": "3.38.0-mui-update.0",
17
+ "@pie-lib/render-ui": "4.47.0-mui-update.0",
18
+ "@pie-lib/test-utils": "0.34.0-mui-update.0",
19
+ "konva": "8.3.0",
17
20
  "prop-types": "^15.6.1",
18
- "react": "^16.8.1",
19
- "react-dom": "^16.8.1",
20
- "react-konva": "^16.9.0-0"
21
+ "react": "18.2.0",
22
+ "react-dom": "18.2.0",
23
+ "react-konva": "18.1.0"
21
24
  },
22
25
  "author": "pie framework developers",
23
26
  "license": "ISC",
24
- "gitHead": "007ac5f6be719f57eccb8af3c08e7014c2797f1e",
27
+ "gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
25
28
  "scripts": {
26
29
  "postpublish": "../../scripts/postpublish"
27
30
  },
28
31
  "main": "lib/index.js",
29
- "module": "src/index.js",
30
- "exports": {
31
- ".": {
32
- "import": "./esm/element.js",
33
- "require": "./lib/index.js",
34
- "default": "./esm/element.js"
35
- },
36
- "./configure": {
37
- "import": "./esm/configure.js",
38
- "require": "./configure/lib/index.js",
39
- "default": "./esm/configure.js"
40
- },
41
- "./controller": {
42
- "import": "./esm/controller.js",
43
- "require": "./controller/lib/index.js",
44
- "default": "./esm/controller.js"
45
- }
46
- }
32
+ "module": "src/index.js"
47
33
  }
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Circle, Group, Rect } from 'react-konva';
4
- import { withStyles } from '@material-ui/core/styles';
5
4
  import ImageComponent from './image-konva-tooltip';
6
5
  import { faCorrect, faWrong } from './icons';
7
6
 
@@ -44,7 +43,6 @@ class CircleComponent extends React.Component {
44
43
 
45
44
  render() {
46
45
  const {
47
- classes,
48
46
  radius,
49
47
  hotspotColor,
50
48
  isCorrect,
@@ -105,7 +103,6 @@ class CircleComponent extends React.Component {
105
103
  />
106
104
  )}
107
105
  <Circle
108
- classes={classes.base}
109
106
  radius={radius}
110
107
  fill={selected && selectedHotspotColor ? selectedHotspotColor : hotspotColor}
111
108
  onClick={this.handleClick}
@@ -117,6 +114,7 @@ class CircleComponent extends React.Component {
117
114
  onMouseEnter={this.handleMouseEnter}
118
115
  x={x}
119
116
  y={y}
117
+ opacity={0.5}
120
118
  />
121
119
  {isEvaluateMode && iconSrc ? <ImageComponent src={iconSrc} x={iconX} y={iconY} tooltip={evaluateText} /> : null}
122
120
  </Group>
@@ -124,16 +122,7 @@ class CircleComponent extends React.Component {
124
122
  }
125
123
  }
126
124
 
127
- const styles = () => ({
128
- base: {
129
- cursor: 'pointer',
130
- opacity: 0.5,
131
- position: 'relative',
132
- },
133
- });
134
-
135
125
  CircleComponent.propTypes = {
136
- classes: PropTypes.object.isRequired,
137
126
  radius: PropTypes.number.isRequired,
138
127
  hotspotColor: PropTypes.string.isRequired,
139
128
  id: PropTypes.string.isRequired,
@@ -161,4 +150,4 @@ CircleComponent.defaultProps = {
161
150
  scale: 1,
162
151
  };
163
152
 
164
- export default withStyles(styles)(CircleComponent);
153
+ export default CircleComponent;
@@ -1,13 +1,38 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Layer, Stage } from 'react-konva';
4
- import { withStyles } from '@material-ui/core/styles';
5
- import { color } from '@pie-lib/render-ui';
4
+ import { styled } from '@mui/material/styles';
6
5
 
7
6
  import Rectangle from './rectangle';
8
7
  import Polygon from './polygon';
9
8
  import Circle from './circle';
10
9
 
10
+ const BaseContainer = styled('div')(({ theme }) => ({
11
+ marginTop: theme.spacing(2),
12
+ marginBottom: theme.spacing(2),
13
+ position: 'relative',
14
+ background: theme.palette.common.white,
15
+ border: `${theme.spacing(1)} solid ${theme.palette.common.white}`,
16
+ width: 'fit-content',
17
+ }));
18
+
19
+ const ImageContainer = styled('div')({
20
+ position: 'relative',
21
+ width: 'fit-content',
22
+ });
23
+
24
+ const Image = styled('img')({
25
+ alignItems: 'center',
26
+ display: 'flex',
27
+ justifyContent: 'center',
28
+ });
29
+
30
+ const StyledStage = styled(Stage)({
31
+ left: 0,
32
+ top: 0,
33
+ position: 'absolute',
34
+ });
35
+
11
36
  export class Container extends React.Component {
12
37
  isSelected(shape) {
13
38
  const selectedShape = this.props.session.answers.filter((answer) => answer.id === shape.id)[0];
@@ -34,7 +59,6 @@ export class Container extends React.Component {
34
59
 
35
60
  render() {
36
61
  const {
37
- classes,
38
62
  dimensions: { width: withProp, height: heightProp },
39
63
  disabled,
40
64
  hotspotColor,
@@ -54,21 +78,19 @@ export class Container extends React.Component {
54
78
  const height = heightProp * SCALE;
55
79
 
56
80
  return (
57
- <div className={classes.base} style={{ padding: strokeWidth / 2 }}>
81
+ <BaseContainer style={{ padding: strokeWidth / 2 }}>
58
82
  {imageUrl ? (
59
- <div className={classes.imageContainer}>
60
- <img
83
+ <ImageContainer>
84
+ <Image
61
85
  alt="hotspot-image"
62
- className={classes.image}
63
86
  height="auto"
64
87
  src={imageUrl}
65
88
  style={{ width, height, maxWidth: width, maxHeight: height }}
66
89
  />
67
- </div>
90
+ </ImageContainer>
68
91
  ) : null}
69
92
 
70
- <Stage
71
- className={classes.stage}
93
+ <StyledStage
72
94
  height={height + strokeWidth}
73
95
  width={width + strokeWidth}
74
96
  x={strokeWidth / 2}
@@ -142,7 +164,6 @@ export class Container extends React.Component {
142
164
 
143
165
  return (
144
166
  <Circle
145
- classes={classes}
146
167
  scale={SCALE}
147
168
  isEvaluateMode={isEvaluateMode}
148
169
  isCorrect={isCorrect}
@@ -166,49 +187,13 @@ export class Container extends React.Component {
166
187
  );
167
188
  })}
168
189
  </Layer>
169
- </Stage>
170
- </div>
190
+ </StyledStage>
191
+ </BaseContainer>
171
192
  );
172
193
  }
173
194
  }
174
195
 
175
- const styles = (theme) => ({
176
- base: {
177
- marginTop: theme.spacing.unit * 2,
178
- marginBottom: theme.spacing.unit * 2,
179
- position: 'relative',
180
- background: theme.palette.common.white,
181
- border: `${theme.spacing.unit}px solid ${theme.palette.common.white}`,
182
- width: 'fit-content',
183
- },
184
- image: {
185
- alignItems: 'center',
186
- display: 'flex',
187
- justifyContent: 'center',
188
- },
189
- imageContainer: {
190
- position: 'relative',
191
- width: 'fit-content',
192
- },
193
- stage: {
194
- left: 0,
195
- top: 0,
196
- position: 'absolute',
197
- },
198
- resize: {
199
- borderBottom: `1px solid ${color.disabled()}`,
200
- borderRight: `1px solid ${color.disabled()}`,
201
- bottom: '-10px',
202
- cursor: 'se-resize',
203
- height: '10px',
204
- position: 'absolute',
205
- right: '-10px',
206
- width: '10px',
207
- },
208
- });
209
-
210
196
  Container.propTypes = {
211
- classes: PropTypes.object.isRequired,
212
197
  dimensions: PropTypes.object.isRequired,
213
198
  disabled: PropTypes.bool.isRequired,
214
199
  hotspotColor: PropTypes.string.isRequired,
@@ -229,4 +214,4 @@ Container.defaultProps = {
229
214
  scale: 1,
230
215
  };
231
216
 
232
- export default withStyles(styles)(Container);
217
+ export default Container;