@pie-element/hotspot 11.1.1-next.0 → 11.1.1-next.101

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 (340) hide show
  1. package/CHANGELOG.json +997 -0
  2. package/CHANGELOG.md +2210 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +1 -0
  5. package/configure/CHANGELOG.json +682 -0
  6. package/configure/CHANGELOG.md +1947 -0
  7. package/configure/lib/DeleteWidget.js +64 -0
  8. package/configure/lib/DeleteWidget.js.map +1 -0
  9. package/configure/lib/button.js +42 -0
  10. package/configure/lib/button.js.map +1 -0
  11. package/configure/lib/buttons/circle.js +33 -0
  12. package/configure/lib/buttons/circle.js.map +1 -0
  13. package/configure/lib/buttons/polygon.js +39 -0
  14. package/configure/lib/buttons/polygon.js.map +1 -0
  15. package/configure/lib/buttons/rectangle.js +39 -0
  16. package/configure/lib/buttons/rectangle.js.map +1 -0
  17. package/configure/lib/defaults.js +155 -0
  18. package/configure/lib/defaults.js.map +1 -0
  19. package/configure/lib/hotspot-circle.js +192 -0
  20. package/configure/lib/hotspot-circle.js.map +1 -0
  21. package/configure/lib/hotspot-container.js +320 -0
  22. package/configure/lib/hotspot-container.js.map +1 -0
  23. package/configure/lib/hotspot-drawable.js +519 -0
  24. package/configure/lib/hotspot-drawable.js.map +1 -0
  25. package/configure/lib/hotspot-palette.js +107 -0
  26. package/configure/lib/hotspot-palette.js.map +1 -0
  27. package/configure/lib/hotspot-polygon.js +293 -0
  28. package/configure/lib/hotspot-polygon.js.map +1 -0
  29. package/configure/lib/hotspot-rectangle.js +190 -0
  30. package/configure/lib/hotspot-rectangle.js.map +1 -0
  31. package/configure/lib/icons.js +7 -0
  32. package/configure/lib/icons.js.map +1 -0
  33. package/configure/lib/image-konva.js +66 -0
  34. package/configure/lib/image-konva.js.map +1 -0
  35. package/configure/lib/index.js +198 -0
  36. package/configure/lib/index.js.map +1 -0
  37. package/configure/lib/root.js +331 -0
  38. package/configure/lib/root.js.map +1 -0
  39. package/configure/lib/shapes/circle.js +84 -0
  40. package/configure/lib/shapes/circle.js.map +1 -0
  41. package/configure/lib/shapes/index.js +50 -0
  42. package/configure/lib/shapes/index.js.map +1 -0
  43. package/configure/lib/shapes/polygon.js +82 -0
  44. package/configure/lib/shapes/polygon.js.map +1 -0
  45. package/configure/lib/shapes/rectagle.js +84 -0
  46. package/configure/lib/shapes/rectagle.js.map +1 -0
  47. package/configure/lib/shapes/utils.js +21 -0
  48. package/configure/lib/shapes/utils.js.map +1 -0
  49. package/configure/lib/upload-control.js +41 -0
  50. package/configure/lib/upload-control.js.map +1 -0
  51. package/configure/lib/utils.js +185 -0
  52. package/configure/lib/utils.js.map +1 -0
  53. package/configure/package.json +26 -0
  54. package/configure/src/DeleteWidget.jsx +51 -0
  55. package/configure/src/__tests__/DeleteWidget.test.jsx +366 -0
  56. package/configure/src/__tests__/button.test.jsx +198 -0
  57. package/configure/src/__tests__/hotspot-circle.test.jsx +259 -0
  58. package/configure/src/__tests__/hotspot-container.test.js +366 -0
  59. package/configure/src/__tests__/hotspot-drawable.test.js +271 -0
  60. package/configure/src/__tests__/hotspot-palette.test.jsx +71 -0
  61. package/configure/src/__tests__/image-konva.test.jsx +226 -0
  62. package/configure/src/__tests__/index.test.js +329 -0
  63. package/configure/src/__tests__/root.test.js +400 -0
  64. package/configure/src/__tests__/utils.test.js +241 -0
  65. package/configure/src/button.jsx +35 -0
  66. package/configure/src/buttons/circle.jsx +18 -0
  67. package/configure/src/buttons/polygon.jsx +29 -0
  68. package/configure/src/buttons/rectangle.jsx +29 -0
  69. package/configure/src/defaults.js +109 -0
  70. package/configure/src/hotspot-circle.jsx +183 -0
  71. package/configure/src/hotspot-container.jsx +330 -0
  72. package/configure/src/hotspot-drawable.jsx +527 -0
  73. package/configure/src/hotspot-palette.jsx +90 -0
  74. package/configure/src/hotspot-polygon.jsx +294 -0
  75. package/configure/src/hotspot-rectangle.jsx +169 -0
  76. package/configure/src/icons.js +5 -0
  77. package/configure/src/image-konva.jsx +63 -0
  78. package/configure/src/index.js +213 -0
  79. package/configure/src/root.jsx +342 -0
  80. package/configure/src/shapes/circle.js +81 -0
  81. package/configure/src/shapes/index.js +4 -0
  82. package/configure/src/shapes/polygon.js +81 -0
  83. package/configure/src/shapes/rectagle.js +82 -0
  84. package/configure/src/shapes/utils.js +16 -0
  85. package/configure/src/upload-control.jsx +33 -0
  86. package/configure/src/utils.js +210 -0
  87. package/controller/CHANGELOG.json +362 -0
  88. package/controller/CHANGELOG.md +1300 -0
  89. package/controller/lib/defaults.js +33 -0
  90. package/controller/lib/defaults.js.map +1 -0
  91. package/controller/lib/index.js +342 -0
  92. package/controller/lib/index.js.map +1 -0
  93. package/controller/lib/utils.js +32 -0
  94. package/controller/lib/utils.js.map +1 -0
  95. package/controller/package.json +18 -0
  96. package/controller/src/__tests__/index.test.js +419 -0
  97. package/controller/src/__tests__/utils.test.js +5 -0
  98. package/controller/src/defaults.js +19 -0
  99. package/controller/src/index.js +330 -0
  100. package/controller/src/utils.js +29 -0
  101. package/docs/config-schema.json +2023 -0
  102. package/docs/config-schema.json.md +1495 -0
  103. package/docs/demo/config.js +8 -0
  104. package/docs/demo/generate.js +122 -0
  105. package/docs/demo/index.html +1 -0
  106. package/docs/demo/session.js +11 -0
  107. package/docs/pie-schema.json +1204 -0
  108. package/docs/pie-schema.json.md +851 -0
  109. package/lib/hotspot/circle.js +160 -0
  110. package/lib/hotspot/circle.js.map +1 -0
  111. package/lib/hotspot/container.js +291 -0
  112. package/lib/hotspot/container.js.map +1 -0
  113. package/lib/hotspot/icons.js +8 -0
  114. package/lib/hotspot/icons.js.map +1 -0
  115. package/lib/hotspot/image-konva-tooltip.js +86 -0
  116. package/lib/hotspot/image-konva-tooltip.js.map +1 -0
  117. package/lib/hotspot/index.js +174 -0
  118. package/lib/hotspot/index.js.map +1 -0
  119. package/lib/hotspot/polygon.js +207 -0
  120. package/lib/hotspot/polygon.js.map +1 -0
  121. package/lib/hotspot/rectangle.js +178 -0
  122. package/lib/hotspot/rectangle.js.map +1 -0
  123. package/lib/index.js +214 -0
  124. package/lib/index.js.map +1 -0
  125. package/lib/session-updater.js +42 -0
  126. package/lib/session-updater.js.map +1 -0
  127. package/package.json +20 -58
  128. package/src/__tests__/container.test.jsx +58 -0
  129. package/src/__tests__/index.test.js +123 -0
  130. package/src/__tests__/session-updater.test.jsx +69 -0
  131. package/src/hotspot/__tests__/circle.test.jsx +464 -0
  132. package/src/hotspot/__tests__/container.test.jsx +546 -0
  133. package/src/hotspot/__tests__/image-konva-tooltip.test.jsx +510 -0
  134. package/src/hotspot/__tests__/index.test.jsx +64 -0
  135. package/src/hotspot/__tests__/polygon.test.jsx +502 -0
  136. package/src/hotspot/__tests__/rectangle.test.jsx +418 -0
  137. package/src/hotspot/circle.jsx +154 -0
  138. package/src/hotspot/container.jsx +297 -0
  139. package/src/hotspot/icons.js +7 -0
  140. package/src/hotspot/image-konva-tooltip.jsx +76 -0
  141. package/src/hotspot/index.jsx +179 -0
  142. package/src/hotspot/polygon.jsx +197 -0
  143. package/src/hotspot/rectangle.jsx +172 -0
  144. package/src/index.js +227 -0
  145. package/src/session-updater.js +29 -0
  146. package/dist/author/DeleteWidget.d.ts +0 -38
  147. package/dist/author/DeleteWidget.js +0 -46
  148. package/dist/author/button.d.ts +0 -31
  149. package/dist/author/button.js +0 -27
  150. package/dist/author/buttons/circle.d.ts +0 -18
  151. package/dist/author/buttons/circle.js +0 -25
  152. package/dist/author/buttons/polygon.d.ts +0 -18
  153. package/dist/author/buttons/polygon.js +0 -36
  154. package/dist/author/buttons/rectangle.d.ts +0 -18
  155. package/dist/author/buttons/rectangle.js +0 -36
  156. package/dist/author/defaults.d.ts +0 -157
  157. package/dist/author/defaults.js +0 -119
  158. package/dist/author/hotspot-circle.d.ts +0 -21
  159. package/dist/author/hotspot-circle.js +0 -124
  160. package/dist/author/hotspot-container.d.ts +0 -29
  161. package/dist/author/hotspot-container.js +0 -210
  162. package/dist/author/hotspot-drawable.d.ts +0 -31
  163. package/dist/author/hotspot-drawable.js +0 -312
  164. package/dist/author/hotspot-palette.d.ts +0 -14
  165. package/dist/author/hotspot-palette.js +0 -72
  166. package/dist/author/hotspot-polygon.d.ts +0 -38
  167. package/dist/author/hotspot-polygon.js +0 -200
  168. package/dist/author/hotspot-rectangle.d.ts +0 -20
  169. package/dist/author/hotspot-rectangle.js +0 -119
  170. package/dist/author/icons.d.ts +0 -9
  171. package/dist/author/icons.js +0 -4
  172. package/dist/author/image-konva.d.ts +0 -19
  173. package/dist/author/image-konva.js +0 -49
  174. package/dist/author/index.d.ts +0 -52
  175. package/dist/author/index.js +0 -143
  176. package/dist/author/root.d.ts +0 -15
  177. package/dist/author/root.js +0 -215
  178. package/dist/author/shapes/circle.d.ts +0 -18
  179. package/dist/author/shapes/circle.js +0 -47
  180. package/dist/author/shapes/index.d.ts +0 -12
  181. package/dist/author/shapes/polygon.d.ts +0 -19
  182. package/dist/author/shapes/polygon.js +0 -51
  183. package/dist/author/shapes/rectagle.d.ts +0 -18
  184. package/dist/author/shapes/rectagle.js +0 -57
  185. package/dist/author/shapes/utils.d.ts +0 -19
  186. package/dist/author/shapes/utils.js +0 -16
  187. package/dist/author/upload-control.d.ts +0 -29
  188. package/dist/author/upload-control.js +0 -28
  189. package/dist/author/utils.d.ts +0 -24
  190. package/dist/author/utils.js +0 -83
  191. package/dist/controller/defaults.d.ts +0 -35
  192. package/dist/controller/defaults.js +0 -29
  193. package/dist/controller/index.d.ts +0 -22
  194. package/dist/controller/index.js +0 -154
  195. package/dist/controller/utils.d.ts +0 -10
  196. package/dist/controller/utils.js +0 -13
  197. package/dist/delivery/hotspot/circle.d.ts +0 -19
  198. package/dist/delivery/hotspot/circle.js +0 -100
  199. package/dist/delivery/hotspot/container.d.ts +0 -16
  200. package/dist/delivery/hotspot/container.js +0 -150
  201. package/dist/delivery/hotspot/icons.d.ts +0 -10
  202. package/dist/delivery/hotspot/icons.js +0 -4
  203. package/dist/delivery/hotspot/image-konva-tooltip.d.ts +0 -19
  204. package/dist/delivery/hotspot/image-konva-tooltip.js +0 -66
  205. package/dist/delivery/hotspot/index.d.ts +0 -17
  206. package/dist/delivery/hotspot/index.js +0 -114
  207. package/dist/delivery/hotspot/polygon.d.ts +0 -21
  208. package/dist/delivery/hotspot/polygon.js +0 -108
  209. package/dist/delivery/hotspot/rectangle.d.ts +0 -19
  210. package/dist/delivery/hotspot/rectangle.js +0 -104
  211. package/dist/delivery/index.d.ts +0 -20
  212. package/dist/delivery/index.js +0 -107
  213. package/dist/delivery/session-updater.d.ts +0 -10
  214. package/dist/delivery/session-updater.js +0 -14
  215. package/dist/index.d.ts +0 -1
  216. package/dist/index.iife.d.ts +0 -8
  217. package/dist/index.iife.js +0 -169
  218. package/dist/index.js +0 -2
  219. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +0 -6
  220. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +0 -16
  221. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +0 -16
  222. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +0 -6
  223. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +0 -16
  224. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +0 -6
  225. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +0 -6
  226. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +0 -11
  227. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +0 -14
  228. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +0 -5
  229. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +0 -5
  230. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +0 -6
  231. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +0 -7
  232. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +0 -10
  233. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +0 -15
  234. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +0 -7
  235. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +0 -7
  236. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +0 -10
  237. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +0 -8
  238. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +0 -8
  239. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +0 -8
  240. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +0 -12
  241. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +0 -57
  242. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +0 -14
  243. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  244. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +0 -10
  245. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +0 -9
  246. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +0 -8
  247. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +0 -30
  248. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +0 -9
  249. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +0 -11
  250. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +0 -9
  251. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +0 -11
  252. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +0 -12
  253. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +0 -13
  254. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +0 -7
  255. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +0 -8
  256. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +0 -6
  257. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
  258. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +0 -10
  259. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +0 -8
  260. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +0 -8
  261. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +0 -8
  262. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +0 -8
  263. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +0 -8
  264. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +0 -14
  265. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +0 -8
  266. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +0 -8
  267. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +0 -5
  268. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +0 -10
  269. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +0 -35
  270. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +0 -35
  271. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +0 -32
  272. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +0 -4
  273. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +0 -9
  274. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +0 -9
  275. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +0 -8
  276. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +0 -9
  277. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +0 -5
  278. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +0 -14
  279. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +0 -10
  280. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +0 -11
  281. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +0 -23
  282. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +0 -6
  283. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +0 -7
  284. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +0 -7
  285. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +0 -13
  286. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +0 -9
  287. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +0 -9
  288. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +0 -8
  289. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +0 -33
  290. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +0 -9
  291. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +0 -8
  292. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +0 -7
  293. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +0 -11
  294. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +0 -8
  295. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +0 -6
  296. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +0 -9
  297. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +0 -8
  298. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +0 -7
  299. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +0 -8
  300. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +0 -13
  301. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  302. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +0 -7
  303. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +0 -7
  304. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +0 -8
  305. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +0 -9
  306. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +0 -5
  307. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +0 -5
  308. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +0 -8
  309. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +0 -9
  310. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +0 -7
  311. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +0 -8
  312. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +0 -5
  313. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +0 -7
  314. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +0 -6
  315. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +0 -9
  316. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +0 -7
  317. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +0 -7
  318. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +0 -6
  319. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +0 -6
  320. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +0 -16
  321. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +0 -15
  322. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +0 -8
  323. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +0 -6
  324. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +0 -10
  325. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +0 -4
  326. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +0 -8
  327. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +0 -6
  328. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +0 -21
  329. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +0 -7
  330. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +0 -11
  331. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +0 -7
  332. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +0 -7
  333. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +0 -7
  334. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +0 -6
  335. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +0 -7
  336. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +0 -7
  337. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +0 -9
  338. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +0 -9
  339. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +0 -6
  340. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +0 -6
@@ -0,0 +1,179 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import PropTypes from 'prop-types';
4
+ import CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';
5
+ import { color, Collapsible, hasText, PreviewPrompt, UiLayout, hasMedia } from '@pie-lib/render-ui';
6
+ import { renderMath } from '@pie-lib/math-rendering';
7
+ import { styled } from '@mui/material/styles';
8
+
9
+ import Container from './container';
10
+
11
+ const StyledUiLayout = styled(UiLayout)({
12
+ color: color.text(),
13
+ backgroundColor: color.background(),
14
+ position: 'relative',
15
+ });
16
+
17
+ const StyledCollapsible = styled(Collapsible)(({ theme }) => ({
18
+ marginBottom: theme.spacing(2),
19
+ }));
20
+
21
+ class HotspotComponent extends React.Component {
22
+ constructor(props) {
23
+ super(props);
24
+ this.state = {
25
+ showCorrect: false,
26
+ observer: null,
27
+ scale: 1,
28
+ };
29
+ }
30
+
31
+ componentDidMount() {
32
+ this.observer = new MutationObserver((mutations) => {
33
+ mutations.forEach(() => {
34
+ const target = document.getElementById('question-container')?.style?.cssText;
35
+ const zoom = target?.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));
36
+ const zoomParsed = zoom?.replace(/\s/g, '');
37
+
38
+ if (zoomParsed) {
39
+ const newScale = parseFloat(zoomParsed) / 100;
40
+
41
+ if (newScale !== this.state.scale) {
42
+ this.setState({
43
+ scale: parseFloat(zoomParsed) / 100,
44
+ });
45
+ }
46
+ } else if (!zoomParsed && this.state.scale !== 1) {
47
+ this.setState({
48
+ scale: 1,
49
+ });
50
+ }
51
+ });
52
+ });
53
+
54
+ const target = document.getElementById('question-container');
55
+
56
+ if (target) {
57
+ this.observer.observe(target, { attributes: true, attributeFilter: ['style'] });
58
+ }
59
+
60
+ // eslint-disable-next-line react/no-find-dom-node
61
+ const domNode = ReactDOM.findDOMNode(this);
62
+
63
+ renderMath(domNode);
64
+ }
65
+
66
+ componentDidUpdate() {
67
+ // eslint-disable-next-line react/no-find-dom-node
68
+ const domNode = ReactDOM.findDOMNode(this);
69
+
70
+ renderMath(domNode);
71
+ }
72
+
73
+ componentWillUnmount() {
74
+ this.observer?.disconnect();
75
+ }
76
+
77
+ onToggle = () => {
78
+ const { showCorrect } = this.state;
79
+ this.setState({ showCorrect: !showCorrect });
80
+ };
81
+
82
+ render() {
83
+ const {
84
+ session,
85
+ model: {
86
+ disabled,
87
+ extraCSSRules,
88
+ imageUrl,
89
+ prompt,
90
+ mode,
91
+ multipleCorrect,
92
+ shapes,
93
+ outlineColor,
94
+ hotspotColor,
95
+ hoverOutlineColor,
96
+ selectedHotspotColor,
97
+ dimensions,
98
+ rationale,
99
+ teacherInstructions,
100
+ strokeWidth,
101
+ responseCorrect,
102
+ language,
103
+ fontSizeFactor,
104
+ autoplayAudioEnabled,
105
+ customAudioButton,
106
+ },
107
+ onSelectChoice,
108
+ } = this.props;
109
+ const { showCorrect } = this.state;
110
+ const isEvaluateMode = mode === 'evaluate';
111
+ const isGatherMode = mode === 'gather';
112
+ const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
113
+ const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));
114
+ const showTeacherInstructions =
115
+ teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));
116
+
117
+ return (
118
+ <StyledUiLayout extraCSSRules={extraCSSRules} id={'main-container'} fontSizeFactor={fontSizeFactor}>
119
+ {showTeacherInstructions && (
120
+ <StyledCollapsible labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}>
121
+ <PreviewPrompt className="prompt" prompt={teacherInstructions} />
122
+ </StyledCollapsible>
123
+ )}
124
+
125
+ {prompt && (
126
+ <PreviewPrompt
127
+ className="prompt"
128
+ prompt={prompt}
129
+ autoplayAudioEnabled={autoplayAudioEnabled}
130
+ customAudioButton={customAudioButton}
131
+ />
132
+ )}
133
+
134
+ {showCorrectAnswerToggle && (
135
+ <CorrectAnswerToggle
136
+ show={showCorrectAnswerToggle}
137
+ toggled={showCorrect}
138
+ onToggle={this.onToggle.bind(this)}
139
+ language={language}
140
+ />
141
+ )}
142
+
143
+ {imageUrl ? (
144
+ <Container
145
+ isEvaluateMode={isEvaluateMode}
146
+ session={session}
147
+ dimensions={dimensions}
148
+ imageUrl={imageUrl}
149
+ hotspotColor={hotspotColor}
150
+ hoverOutlineColor={isGatherMode ? hoverOutlineColor : undefined}
151
+ selectedHotspotColor={selectedHotspotColor}
152
+ multipleCorrect={multipleCorrect}
153
+ outlineColor={outlineColor}
154
+ onSelectChoice={onSelectChoice}
155
+ shapes={shapes}
156
+ disabled={disabled}
157
+ strokeWidth={strokeWidth}
158
+ scale={this.state.scale}
159
+ showCorrect={showCorrect}
160
+ />
161
+ ) : null}
162
+
163
+ {showRationale && (
164
+ <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>
165
+ <PreviewPrompt className="prompt" prompt={rationale} />
166
+ </Collapsible>
167
+ )}
168
+ </StyledUiLayout>
169
+ );
170
+ }
171
+ }
172
+
173
+ HotspotComponent.propTypes = {
174
+ model: PropTypes.object.isRequired,
175
+ onSelectChoice: PropTypes.func.isRequired,
176
+ session: PropTypes.object.isRequired,
177
+ };
178
+
179
+ export default HotspotComponent;
@@ -0,0 +1,197 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Line, Group, Rect } from 'react-konva';
4
+ import ImageComponent from './image-konva-tooltip';
5
+ import { faCorrect, faWrong } from './icons';
6
+
7
+ class PolygonComponent extends React.Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this.state = {
11
+ hovered: false,
12
+ };
13
+ }
14
+
15
+ getPolygonCenter = (points) => {
16
+ const x = points.map(({ x }) => x);
17
+ const y = points.map(({ y }) => y);
18
+ const minX = Math.min.apply(null, x);
19
+ const maxX = Math.max.apply(null, x);
20
+ const minY = Math.min.apply(null, y);
21
+ const maxY = Math.max.apply(null, y);
22
+ return [(minX + maxX) / 2, (minY + maxY) / 2];
23
+ };
24
+
25
+ parsePointsForKonva = (points) => {
26
+ const parsedPoints = [];
27
+ points.forEach(({ x, y }) => {
28
+ parsedPoints.push(x);
29
+ parsedPoints.push(y);
30
+ });
31
+ return parsedPoints;
32
+ };
33
+
34
+ handleClick = (e) => {
35
+ const { onClick, id, selected, disabled } = this.props;
36
+
37
+ if (!disabled) {
38
+ e.cancelBubble = true;
39
+ onClick({ id, selected: !selected, selector: 'Mouse' });
40
+ }
41
+ };
42
+
43
+ handleMouseEnter = () => {
44
+ const { disabled } = this.props;
45
+
46
+ if (!disabled) {
47
+ document.body.style.cursor = 'pointer';
48
+ }
49
+ this.setState({ hovered: true });
50
+ };
51
+
52
+ handleMouseLeave = () => {
53
+ document.body.style.cursor = 'default';
54
+ this.setState({ hovered: false });
55
+ };
56
+
57
+ getEvaluateOutlineColor = (isCorrect, markAsCorrect, outlineColor) =>
58
+ markAsCorrect ? 'green' : isCorrect ? outlineColor : 'red';
59
+
60
+ getOutlineWidth = (showCorrectEnabled, selected, markAsCorrect, strokeWidth) =>
61
+ markAsCorrect || (!markAsCorrect && !showCorrectEnabled && selected) ? strokeWidth : 0;
62
+
63
+ render() {
64
+ const {
65
+ hotspotColor,
66
+ isCorrect,
67
+ isEvaluateMode,
68
+ hoverOutlineColor,
69
+ outlineColor,
70
+ selected,
71
+ focused,
72
+ points,
73
+ evaluateText,
74
+ strokeWidth,
75
+ scale,
76
+ markAsCorrect,
77
+ selectedHotspotColor,
78
+ showCorrectEnabled,
79
+ } = this.props;
80
+
81
+ const { hovered } = this.state;
82
+
83
+ const outlineColorParsed = isEvaluateMode
84
+ ? this.getEvaluateOutlineColor(isCorrect, markAsCorrect, outlineColor)
85
+ : outlineColor;
86
+ const outlineWidth = this.getOutlineWidth(showCorrectEnabled, selected, markAsCorrect, strokeWidth);
87
+
88
+ const pointsParsed = this.parsePointsForKonva(points);
89
+ const center = this.getPolygonCenter(points);
90
+ const iconX = center[0];
91
+ const iconY = center[1];
92
+
93
+ // "Show Correct Answer" Enabled:
94
+ // - Correctly Selected: white checkmark in green circle
95
+ // - Correctly Not Selected: none
96
+ // - Incorrectly Selected: none
97
+ // - Incorrectly Not Selected: white checkmark in green circle
98
+ // "Show Correct Answer" Disabled:
99
+ // - Correctly Selected:
100
+ // - white checkmark in green circle
101
+ // - heavy outline, as on “Gather”
102
+ // - Correctly Not Selected: none
103
+ // - Incorrectly Selected:
104
+ // - white "X" in red circle
105
+ // - heavy outline around the selection should appear in red
106
+ // - Incorrectly Not Selected: white "X" in red circle
107
+ let iconSrc;
108
+
109
+ if (showCorrectEnabled) {
110
+ if ((selected && isCorrect) || (!selected && !isCorrect)) {
111
+ iconSrc = faCorrect;
112
+ }
113
+ } else {
114
+ if (selected) {
115
+ if (isCorrect) {
116
+ iconSrc = faCorrect;
117
+ } else {
118
+ iconSrc = faWrong;
119
+ }
120
+ } else if (!isCorrect) {
121
+ iconSrc = faWrong;
122
+ }
123
+ }
124
+ const useHoveredStyle = (hovered || focused) && hoverOutlineColor;
125
+
126
+ const xValues = pointsParsed.filter((_, index) => index % 2 === 0); // Even indices are x-coordinates
127
+ const yValues = pointsParsed.filter((_, index) => index % 2 !== 0); // Odd indices are y-coordinates
128
+
129
+ const minX = Math.min(...xValues);
130
+ const maxX = Math.max(...xValues);
131
+ const minY = Math.min(...yValues);
132
+ const maxY = Math.max(...yValues);
133
+
134
+ const rectX = minX;
135
+ const rectY = minY;
136
+ const rectWidth = maxX - minX;
137
+ const rectHeight = maxY - minY;
138
+
139
+ return (
140
+ <Group scaleX={scale} scaleY={scale} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>
141
+ <Line
142
+ points={pointsParsed}
143
+ closed={true}
144
+ fill={selected && selectedHotspotColor ? selectedHotspotColor : hotspotColor}
145
+ onClick={this.handleClick}
146
+ onTap={this.handleClick}
147
+ draggable={false}
148
+ stroke={useHoveredStyle && !selected ? 'transparent' : outlineColorParsed}
149
+ strokeWidth={useHoveredStyle && !selected ? 0 : outlineWidth}
150
+ cursor="pointer"
151
+ position="relative"
152
+ />
153
+ {useHoveredStyle && (
154
+ <Rect
155
+ x={rectX}
156
+ y={rectY}
157
+ width={rectWidth}
158
+ height={rectHeight}
159
+ stroke={hoverOutlineColor}
160
+ strokeWidth={strokeWidth}
161
+ listening={false}
162
+ />
163
+ )}
164
+ {isEvaluateMode && iconSrc ? <ImageComponent src={iconSrc} x={iconX} y={iconY} tooltip={evaluateText} /> : null}
165
+ </Group>
166
+ );
167
+ }
168
+ }
169
+
170
+ PolygonComponent.propTypes = {
171
+ hotspotColor: PropTypes.string.isRequired,
172
+ id: PropTypes.string.isRequired,
173
+ isCorrect: PropTypes.bool.isRequired,
174
+ isEvaluateMode: PropTypes.bool.isRequired,
175
+ hoverOutlineColor: PropTypes.string,
176
+ disabled: PropTypes.bool.isRequired,
177
+ focused: PropTypes.bool,
178
+ onClick: PropTypes.func.isRequired,
179
+ outlineColor: PropTypes.string.isRequired,
180
+ points: PropTypes.array.isRequired,
181
+ selected: PropTypes.bool.isRequired,
182
+ evaluateText: PropTypes.string,
183
+ selectedHotspotColor: PropTypes.string,
184
+ strokeWidth: PropTypes.number,
185
+ scale: PropTypes.number,
186
+ markAsCorrect: PropTypes.bool.isRequired,
187
+ showCorrectEnabled: PropTypes.bool.isRequired,
188
+ };
189
+
190
+ PolygonComponent.defaultProps = {
191
+ evaluateText: null,
192
+ focused: false,
193
+ strokeWidth: 5,
194
+ scale: 1,
195
+ };
196
+
197
+ export default PolygonComponent;
@@ -0,0 +1,172 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Rect, Group } from 'react-konva';
4
+ import ImageComponent from './image-konva-tooltip';
5
+ import { faCorrect, faWrong } from './icons';
6
+
7
+ class RectComponent extends React.Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this.state = {
11
+ hovered: false,
12
+ };
13
+ }
14
+
15
+ handleClick = (e) => {
16
+ const { onClick, id, selected, disabled } = this.props;
17
+
18
+ if (!disabled) {
19
+ e.cancelBubble = true;
20
+ onClick({ id, selected: !selected, selector: 'Mouse' });
21
+ }
22
+ };
23
+
24
+ handleMouseEnter = () => {
25
+ const { disabled } = this.props;
26
+
27
+ if (!disabled) {
28
+ document.body.style.cursor = 'pointer';
29
+ }
30
+ this.setState({ hovered: true });
31
+ };
32
+
33
+ handleMouseLeave = () => {
34
+ document.body.style.cursor = 'default';
35
+ this.setState({ hovered: false });
36
+ };
37
+
38
+ getEvaluateOutlineColor = (isCorrect, markAsCorrect, outlineColor) =>
39
+ markAsCorrect ? 'green' : isCorrect ? outlineColor : 'red';
40
+
41
+ getOutlineWidth = (showCorrectEnabled, selected, markAsCorrect, strokeWidth) =>
42
+ markAsCorrect || (!markAsCorrect && !showCorrectEnabled && selected) ? strokeWidth : 0;
43
+
44
+ render() {
45
+ const {
46
+ height,
47
+ hotspotColor,
48
+ hoverOutlineColor,
49
+ selectedHotspotColor,
50
+ isCorrect,
51
+ isEvaluateMode,
52
+ outlineColor,
53
+ selected,
54
+ focused,
55
+ width,
56
+ x,
57
+ y,
58
+ evaluateText,
59
+ strokeWidth,
60
+ scale,
61
+ markAsCorrect,
62
+ showCorrectEnabled,
63
+ } = this.props;
64
+ const { hovered } = this.state;
65
+
66
+ const outlineColorParsed = isEvaluateMode
67
+ ? this.getEvaluateOutlineColor(isCorrect, markAsCorrect, outlineColor)
68
+ : outlineColor;
69
+
70
+ const outlineWidth = this.getOutlineWidth(showCorrectEnabled, selected, markAsCorrect, strokeWidth);
71
+
72
+ const iconX = x + width / 2 - 10;
73
+ const iconY = y + height / 2 - 10;
74
+
75
+ // "Show Correct Answer" Enabled:
76
+ // - Correctly Selected: white checkmark in green circle
77
+ // - Correctly Not Selected: none
78
+ // - Incorrectly Selected: none
79
+ // - Incorrectly Not Selected: white checkmark in green circle
80
+ // "Show Correct Answer" Disabled:
81
+ // - Correctly Selected:
82
+ // - white checkmark in green circle
83
+ // - heavy outline, as on “Gather”
84
+ // - Correctly Not Selected: none
85
+ // - Incorrectly Selected:
86
+ // - white "X" in red circle
87
+ // - heavy outline around the selection should appear in red
88
+ // - Incorrectly Not Selected: white "X" in red circle
89
+ let iconSrc;
90
+
91
+ if (showCorrectEnabled) {
92
+ if ((selected && isCorrect) || (!selected && !isCorrect)) {
93
+ iconSrc = faCorrect;
94
+ }
95
+ } else {
96
+ if (selected) {
97
+ if (isCorrect) {
98
+ iconSrc = faCorrect;
99
+ } else {
100
+ iconSrc = faWrong;
101
+ }
102
+ } else if (!isCorrect) {
103
+ iconSrc = faWrong;
104
+ }
105
+ }
106
+
107
+ const useHoveredStyle = (hovered || focused) && hoverOutlineColor;
108
+
109
+ return (
110
+ <Group scaleX={scale} scaleY={scale} onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter}>
111
+ <Rect
112
+ x={x}
113
+ y={y}
114
+ width={width}
115
+ height={height}
116
+ fill={selected && selectedHotspotColor ? selectedHotspotColor : hotspotColor}
117
+ onClick={this.handleClick}
118
+ onTap={this.handleClick}
119
+ draggable={false}
120
+ stroke={useHoveredStyle && !selected ? 'transparent' : outlineColorParsed}
121
+ strokeWidth={useHoveredStyle && !selected ? 0 : outlineWidth}
122
+ cursor="pointer"
123
+ />
124
+ {useHoveredStyle && (
125
+ <Rect
126
+ x={x}
127
+ y={y}
128
+ width={width}
129
+ height={height}
130
+ stroke={hoverOutlineColor}
131
+ strokeWidth={strokeWidth}
132
+ listening={false}
133
+ />
134
+ )}
135
+ {isEvaluateMode && iconSrc ? <ImageComponent src={iconSrc} x={iconX} y={iconY} tooltip={evaluateText} /> : null}
136
+ </Group>
137
+ );
138
+ }
139
+ }
140
+
141
+ RectComponent.propTypes = {
142
+ height: PropTypes.number.isRequired,
143
+ hotspotColor: PropTypes.string.isRequired,
144
+ id: PropTypes.string.isRequired,
145
+ isCorrect: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
146
+ isEvaluateMode: PropTypes.bool.isRequired,
147
+ hoverOutlineColor: PropTypes.string,
148
+ disabled: PropTypes.bool.isRequired,
149
+ focused: PropTypes.bool,
150
+ onClick: PropTypes.func.isRequired,
151
+ outlineColor: PropTypes.string.isRequired,
152
+ selected: PropTypes.bool.isRequired,
153
+ width: PropTypes.number.isRequired,
154
+ x: PropTypes.number.isRequired,
155
+ y: PropTypes.number.isRequired,
156
+ evaluateText: PropTypes.string,
157
+ strokeWidth: PropTypes.number,
158
+ scale: PropTypes.number,
159
+ selectedHotspotColor: PropTypes.string,
160
+ markAsCorrect: PropTypes.bool.isRequired,
161
+ showCorrectEnabled: PropTypes.bool.isRequired,
162
+ };
163
+
164
+ RectComponent.defaultProps = {
165
+ isCorrect: false,
166
+ evaluateText: null,
167
+ focused: false,
168
+ strokeWidth: 5,
169
+ scale: 1,
170
+ };
171
+
172
+ export default RectComponent;