@pie-element/hotspot 11.1.1 → 11.1.2-next.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 (354) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/DeleteWidget.d.ts +38 -0
  4. package/dist/author/DeleteWidget.js +46 -0
  5. package/dist/author/button.d.ts +31 -0
  6. package/dist/author/button.js +27 -0
  7. package/dist/author/buttons/circle.d.ts +18 -0
  8. package/dist/author/buttons/circle.js +25 -0
  9. package/dist/author/buttons/polygon.d.ts +18 -0
  10. package/dist/author/buttons/polygon.js +36 -0
  11. package/dist/author/buttons/rectangle.d.ts +18 -0
  12. package/dist/author/buttons/rectangle.js +36 -0
  13. package/dist/author/defaults.d.ts +157 -0
  14. package/dist/author/defaults.js +119 -0
  15. package/dist/author/hotspot-circle.d.ts +21 -0
  16. package/dist/author/hotspot-circle.js +124 -0
  17. package/dist/author/hotspot-container.d.ts +29 -0
  18. package/dist/author/hotspot-container.js +210 -0
  19. package/dist/author/hotspot-drawable.d.ts +31 -0
  20. package/dist/author/hotspot-drawable.js +312 -0
  21. package/dist/author/hotspot-palette.d.ts +14 -0
  22. package/dist/author/hotspot-palette.js +72 -0
  23. package/dist/author/hotspot-polygon.d.ts +38 -0
  24. package/dist/author/hotspot-polygon.js +200 -0
  25. package/dist/author/hotspot-rectangle.d.ts +20 -0
  26. package/dist/author/hotspot-rectangle.js +119 -0
  27. package/dist/author/icons.d.ts +9 -0
  28. package/dist/author/icons.js +4 -0
  29. package/dist/author/image-konva.d.ts +19 -0
  30. package/dist/author/image-konva.js +49 -0
  31. package/dist/author/index.d.ts +52 -0
  32. package/dist/author/index.js +143 -0
  33. package/dist/author/root.d.ts +15 -0
  34. package/dist/author/root.js +215 -0
  35. package/dist/author/shapes/circle.d.ts +18 -0
  36. package/dist/author/shapes/circle.js +47 -0
  37. package/dist/author/shapes/index.d.ts +12 -0
  38. package/dist/author/shapes/polygon.d.ts +19 -0
  39. package/dist/author/shapes/polygon.js +51 -0
  40. package/dist/author/shapes/rectagle.d.ts +18 -0
  41. package/dist/author/shapes/rectagle.js +57 -0
  42. package/dist/author/shapes/utils.d.ts +19 -0
  43. package/dist/author/shapes/utils.js +16 -0
  44. package/dist/author/upload-control.d.ts +29 -0
  45. package/dist/author/upload-control.js +28 -0
  46. package/dist/author/utils.d.ts +24 -0
  47. package/dist/author/utils.js +83 -0
  48. package/dist/browser/ReactKonva-Z9-1H-UZ.js +19329 -0
  49. package/dist/browser/ReactKonva-Z9-1H-UZ.js.map +1 -0
  50. package/dist/browser/author/index.js +42297 -0
  51. package/dist/browser/author/index.js.map +1 -0
  52. package/dist/browser/browser-CfnAFove.js +210 -0
  53. package/dist/browser/browser-CfnAFove.js.map +1 -0
  54. package/dist/browser/controller/index.js +198 -0
  55. package/dist/browser/controller/index.js.map +1 -0
  56. package/dist/browser/delivery/index.js +2460 -0
  57. package/dist/browser/delivery/index.js.map +1 -0
  58. package/dist/browser/hotspot.css +2 -0
  59. package/dist/browser/isEqual-D3CTSc6W.js +601 -0
  60. package/dist/browser/isEqual-D3CTSc6W.js.map +1 -0
  61. package/dist/controller/defaults.d.ts +35 -0
  62. package/dist/controller/defaults.js +29 -0
  63. package/dist/controller/index.d.ts +22 -0
  64. package/dist/controller/index.js +154 -0
  65. package/dist/controller/utils.d.ts +10 -0
  66. package/dist/controller/utils.js +13 -0
  67. package/dist/delivery/hotspot/circle.d.ts +19 -0
  68. package/dist/delivery/hotspot/circle.js +100 -0
  69. package/dist/delivery/hotspot/container.d.ts +16 -0
  70. package/dist/delivery/hotspot/container.js +150 -0
  71. package/dist/delivery/hotspot/icons.d.ts +10 -0
  72. package/dist/delivery/hotspot/icons.js +4 -0
  73. package/dist/delivery/hotspot/image-konva-tooltip.d.ts +19 -0
  74. package/dist/delivery/hotspot/image-konva-tooltip.js +66 -0
  75. package/dist/delivery/hotspot/index.d.ts +17 -0
  76. package/dist/delivery/hotspot/index.js +114 -0
  77. package/dist/delivery/hotspot/polygon.d.ts +21 -0
  78. package/dist/delivery/hotspot/polygon.js +108 -0
  79. package/dist/delivery/hotspot/rectangle.d.ts +19 -0
  80. package/dist/delivery/hotspot/rectangle.js +104 -0
  81. package/dist/delivery/index.d.ts +20 -0
  82. package/dist/delivery/index.js +107 -0
  83. package/dist/delivery/session-updater.d.ts +10 -0
  84. package/dist/delivery/session-updater.js +14 -0
  85. package/dist/index.d.ts +1 -0
  86. package/dist/index.iife.d.ts +8 -0
  87. package/dist/index.iife.js +169 -0
  88. package/dist/index.js +2 -0
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +11 -0
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +7 -0
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +8 -0
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +6 -0
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +35 -0
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +35 -0
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +32 -0
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +9 -0
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
  181. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
  182. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
  183. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +7 -0
  184. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +6 -0
  185. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +9 -0
  186. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
  187. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
  188. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
  189. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
  190. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
  191. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
  192. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
  193. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
  194. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
  195. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
  196. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
  197. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
  198. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
  199. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +7 -0
  200. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
  201. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
  202. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
  203. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
  204. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
  205. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
  206. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
  207. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
  208. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
  209. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
  210. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
  211. package/package.json +78 -16
  212. package/CHANGELOG.json +0 -997
  213. package/CHANGELOG.md +0 -2214
  214. package/LICENSE.md +0 -5
  215. package/README.md +0 -1
  216. package/configure/CHANGELOG.json +0 -682
  217. package/configure/CHANGELOG.md +0 -1951
  218. package/configure/lib/DeleteWidget.js +0 -64
  219. package/configure/lib/DeleteWidget.js.map +0 -1
  220. package/configure/lib/button.js +0 -42
  221. package/configure/lib/button.js.map +0 -1
  222. package/configure/lib/buttons/circle.js +0 -33
  223. package/configure/lib/buttons/circle.js.map +0 -1
  224. package/configure/lib/buttons/polygon.js +0 -39
  225. package/configure/lib/buttons/polygon.js.map +0 -1
  226. package/configure/lib/buttons/rectangle.js +0 -39
  227. package/configure/lib/buttons/rectangle.js.map +0 -1
  228. package/configure/lib/defaults.js +0 -155
  229. package/configure/lib/defaults.js.map +0 -1
  230. package/configure/lib/hotspot-circle.js +0 -192
  231. package/configure/lib/hotspot-circle.js.map +0 -1
  232. package/configure/lib/hotspot-container.js +0 -320
  233. package/configure/lib/hotspot-container.js.map +0 -1
  234. package/configure/lib/hotspot-drawable.js +0 -519
  235. package/configure/lib/hotspot-drawable.js.map +0 -1
  236. package/configure/lib/hotspot-palette.js +0 -107
  237. package/configure/lib/hotspot-palette.js.map +0 -1
  238. package/configure/lib/hotspot-polygon.js +0 -293
  239. package/configure/lib/hotspot-polygon.js.map +0 -1
  240. package/configure/lib/hotspot-rectangle.js +0 -190
  241. package/configure/lib/hotspot-rectangle.js.map +0 -1
  242. package/configure/lib/icons.js +0 -7
  243. package/configure/lib/icons.js.map +0 -1
  244. package/configure/lib/image-konva.js +0 -66
  245. package/configure/lib/image-konva.js.map +0 -1
  246. package/configure/lib/index.js +0 -194
  247. package/configure/lib/index.js.map +0 -1
  248. package/configure/lib/root.js +0 -330
  249. package/configure/lib/root.js.map +0 -1
  250. package/configure/lib/shapes/circle.js +0 -84
  251. package/configure/lib/shapes/circle.js.map +0 -1
  252. package/configure/lib/shapes/index.js +0 -50
  253. package/configure/lib/shapes/index.js.map +0 -1
  254. package/configure/lib/shapes/polygon.js +0 -82
  255. package/configure/lib/shapes/polygon.js.map +0 -1
  256. package/configure/lib/shapes/rectagle.js +0 -84
  257. package/configure/lib/shapes/rectagle.js.map +0 -1
  258. package/configure/lib/shapes/utils.js +0 -21
  259. package/configure/lib/shapes/utils.js.map +0 -1
  260. package/configure/lib/upload-control.js +0 -41
  261. package/configure/lib/upload-control.js.map +0 -1
  262. package/configure/lib/utils.js +0 -185
  263. package/configure/lib/utils.js.map +0 -1
  264. package/configure/package.json +0 -26
  265. package/configure/src/DeleteWidget.jsx +0 -51
  266. package/configure/src/__tests__/DeleteWidget.test.jsx +0 -366
  267. package/configure/src/__tests__/button.test.jsx +0 -198
  268. package/configure/src/__tests__/hotspot-circle.test.jsx +0 -259
  269. package/configure/src/__tests__/hotspot-container.test.js +0 -366
  270. package/configure/src/__tests__/hotspot-drawable.test.js +0 -271
  271. package/configure/src/__tests__/hotspot-palette.test.jsx +0 -71
  272. package/configure/src/__tests__/image-konva.test.jsx +0 -226
  273. package/configure/src/__tests__/index.test.js +0 -329
  274. package/configure/src/__tests__/root.test.js +0 -400
  275. package/configure/src/__tests__/utils.test.js +0 -241
  276. package/configure/src/button.jsx +0 -35
  277. package/configure/src/buttons/circle.jsx +0 -18
  278. package/configure/src/buttons/polygon.jsx +0 -29
  279. package/configure/src/buttons/rectangle.jsx +0 -29
  280. package/configure/src/defaults.js +0 -109
  281. package/configure/src/hotspot-circle.jsx +0 -183
  282. package/configure/src/hotspot-container.jsx +0 -330
  283. package/configure/src/hotspot-drawable.jsx +0 -527
  284. package/configure/src/hotspot-palette.jsx +0 -90
  285. package/configure/src/hotspot-polygon.jsx +0 -294
  286. package/configure/src/hotspot-rectangle.jsx +0 -169
  287. package/configure/src/icons.js +0 -5
  288. package/configure/src/image-konva.jsx +0 -63
  289. package/configure/src/index.js +0 -208
  290. package/configure/src/root.jsx +0 -346
  291. package/configure/src/shapes/circle.js +0 -81
  292. package/configure/src/shapes/index.js +0 -4
  293. package/configure/src/shapes/polygon.js +0 -81
  294. package/configure/src/shapes/rectagle.js +0 -82
  295. package/configure/src/shapes/utils.js +0 -16
  296. package/configure/src/upload-control.jsx +0 -33
  297. package/configure/src/utils.js +0 -210
  298. package/controller/CHANGELOG.json +0 -362
  299. package/controller/CHANGELOG.md +0 -1304
  300. package/controller/lib/defaults.js +0 -33
  301. package/controller/lib/defaults.js.map +0 -1
  302. package/controller/lib/index.js +0 -341
  303. package/controller/lib/index.js.map +0 -1
  304. package/controller/lib/utils.js +0 -32
  305. package/controller/lib/utils.js.map +0 -1
  306. package/controller/package.json +0 -18
  307. package/controller/src/__tests__/index.test.js +0 -419
  308. package/controller/src/__tests__/utils.test.js +0 -5
  309. package/controller/src/defaults.js +0 -19
  310. package/controller/src/index.js +0 -328
  311. package/controller/src/utils.js +0 -29
  312. package/docs/config-schema.json +0 -2023
  313. package/docs/config-schema.json.md +0 -1495
  314. package/docs/demo/config.js +0 -8
  315. package/docs/demo/generate.js +0 -118
  316. package/docs/demo/index.html +0 -1
  317. package/docs/demo/session.js +0 -11
  318. package/docs/pie-schema.json +0 -1204
  319. package/docs/pie-schema.json.md +0 -851
  320. package/lib/hotspot/circle.js +0 -156
  321. package/lib/hotspot/circle.js.map +0 -1
  322. package/lib/hotspot/container.js +0 -206
  323. package/lib/hotspot/container.js.map +0 -1
  324. package/lib/hotspot/icons.js +0 -8
  325. package/lib/hotspot/icons.js.map +0 -1
  326. package/lib/hotspot/image-konva-tooltip.js +0 -86
  327. package/lib/hotspot/image-konva-tooltip.js.map +0 -1
  328. package/lib/hotspot/index.js +0 -163
  329. package/lib/hotspot/index.js.map +0 -1
  330. package/lib/hotspot/polygon.js +0 -203
  331. package/lib/hotspot/polygon.js.map +0 -1
  332. package/lib/hotspot/rectangle.js +0 -175
  333. package/lib/hotspot/rectangle.js.map +0 -1
  334. package/lib/index.js +0 -213
  335. package/lib/index.js.map +0 -1
  336. package/lib/session-updater.js +0 -42
  337. package/lib/session-updater.js.map +0 -1
  338. package/src/__tests__/container.test.jsx +0 -58
  339. package/src/__tests__/index.test.js +0 -123
  340. package/src/__tests__/session-updater.test.jsx +0 -69
  341. package/src/hotspot/__tests__/circle.test.jsx +0 -464
  342. package/src/hotspot/__tests__/container.test.jsx +0 -546
  343. package/src/hotspot/__tests__/image-konva-tooltip.test.jsx +0 -510
  344. package/src/hotspot/__tests__/polygon.test.jsx +0 -502
  345. package/src/hotspot/__tests__/rectangle.test.jsx +0 -418
  346. package/src/hotspot/circle.jsx +0 -152
  347. package/src/hotspot/container.jsx +0 -217
  348. package/src/hotspot/icons.js +0 -7
  349. package/src/hotspot/image-konva-tooltip.jsx +0 -76
  350. package/src/hotspot/index.jsx +0 -165
  351. package/src/hotspot/polygon.jsx +0 -195
  352. package/src/hotspot/rectangle.jsx +0 -171
  353. package/src/index.js +0 -226
  354. package/src/session-updater.js +0 -29
@@ -0,0 +1,66 @@
1
+ import e from "react";
2
+ import t from "prop-types";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { Group as i, Image as a, Label as o, Tag as s, Text as c } from "react-konva";
5
+ //#region src/delivery/hotspot/image-konva-tooltip.tsx
6
+ function l(e) {
7
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
8
+ }
9
+ function u(e, t) {
10
+ return !e || l(e) ? e : l(e.default) ? e.default : t && l(e[t]) ? e[t] : t && l(e[t]?.default) ? e[t].default : e;
11
+ }
12
+ var d = u(o, "Label"), f = u(s, "Tag"), p = u(c, "Text"), m = u(a, "Image"), h = u(i, "Group"), g = class extends e.Component {
13
+ constructor(e) {
14
+ super(e), this.state = {
15
+ image: null,
16
+ showTooltip: !1
17
+ };
18
+ }
19
+ componentDidMount() {
20
+ this.loadImage();
21
+ }
22
+ componentDidUpdate(e) {
23
+ e.src !== this.props.src && this.loadImage();
24
+ }
25
+ componentWillUnmount() {
26
+ this.image.removeEventListener("load", this.handleLoad);
27
+ }
28
+ loadImage() {
29
+ let { src: e } = this.props;
30
+ this.image = new window.Image(), this.image.src = e, this.image.addEventListener("load", this.handleLoad);
31
+ }
32
+ handleLoad = () => {
33
+ this.setState({ image: this.image });
34
+ };
35
+ render() {
36
+ let { x: e, y: t, tooltip: i } = this.props, { image: a, showTooltip: o } = this.state;
37
+ return /* @__PURE__ */ r(h, { children: [/* @__PURE__ */ n(m, {
38
+ width: 20,
39
+ height: 20,
40
+ x: e,
41
+ y: t,
42
+ image: a,
43
+ onMouseEnter: () => this.setState({ showTooltip: !0 }),
44
+ onMouseLeave: () => this.setState({ showTooltip: !1 })
45
+ }), o && i && /* @__PURE__ */ r(d, {
46
+ x: e - 30,
47
+ y: t + 25,
48
+ children: [/* @__PURE__ */ n(f, {
49
+ fill: "white",
50
+ cornerRadius: 5,
51
+ opacity: .9
52
+ }), /* @__PURE__ */ n(p, {
53
+ text: i,
54
+ padding: 5
55
+ })]
56
+ })] });
57
+ }
58
+ };
59
+ g.propTypes = {
60
+ src: t.string.isRequired,
61
+ x: t.number.isRequired,
62
+ y: t.number.isRequired,
63
+ tooltip: t.string.isRequired
64
+ };
65
+ //#endregion
66
+ export { g as default };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/hotspot/src/hotspot/index.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ declare class HotspotComponent extends React.Component {
11
+ constructor(props: any);
12
+ componentDidMount(): void;
13
+ componentWillUnmount(): void;
14
+ onToggle: any;
15
+ render(): React.JSX.Element;
16
+ }
17
+ export default HotspotComponent;
@@ -0,0 +1,114 @@
1
+ import e from "./container.js";
2
+ import t from "react";
3
+ import * as n from "@pie-lib/render-ui";
4
+ import { Collapsible as r, PreviewPrompt as i, UiLayout as a, color as o, hasMedia as s, hasText as c } from "@pie-lib/render-ui";
5
+ import l from "prop-types";
6
+ import u from "@pie-lib/correct-answer-toggle";
7
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
8
+ import { styled as p } from "@mui/material/styles";
9
+ //#region src/delivery/hotspot/index.tsx
10
+ function m(e) {
11
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
12
+ }
13
+ function h(e, t) {
14
+ return !e || m(e) ? e : m(e.default) ? e.default : t && m(e[t]) ? e[t] : t && m(e[t]?.default) ? e[t].default : e;
15
+ }
16
+ var g = h(a, "UiLayout") || h(x.UiLayout, "UiLayout"), _ = h(i, "PreviewPrompt") || h(x.PreviewPrompt, "PreviewPrompt"), v = h(r, "Collapsible") || h(x.Collapsible, "Collapsible"), y = n, b = y.default, x = b && typeof b == "object" ? b : y, S = p(g)({
17
+ color: o.text(),
18
+ backgroundColor: o.background(),
19
+ position: "relative"
20
+ }), C = p(v)(({ theme: e }) => ({ marginBottom: e.spacing(2) })), w = class extends t.Component {
21
+ constructor(e) {
22
+ super(e), this.state = {
23
+ showCorrect: !1,
24
+ observer: null,
25
+ scale: 1
26
+ };
27
+ }
28
+ componentDidMount() {
29
+ this.observer = new MutationObserver((e) => {
30
+ e.forEach(() => {
31
+ let e = document.getElementById("question-container")?.style?.cssText, t = (e?.substring(e.indexOf("--pie-zoom") + 11, e.lastIndexOf("%")))?.replace(/\s/g, "");
32
+ t ? parseFloat(t) / 100 !== this.state.scale && this.setState({ scale: parseFloat(t) / 100 }) : !t && this.state.scale !== 1 && this.setState({ scale: 1 });
33
+ });
34
+ });
35
+ let e = document.getElementById("question-container");
36
+ e && this.observer.observe(e, {
37
+ attributes: !0,
38
+ attributeFilter: ["style"]
39
+ });
40
+ }
41
+ componentWillUnmount() {
42
+ this.observer?.disconnect();
43
+ }
44
+ onToggle = () => {
45
+ let { showCorrect: e } = this.state;
46
+ this.setState({ showCorrect: !e });
47
+ };
48
+ render() {
49
+ let { session: t, model: { disabled: n, extraCSSRules: r, imageUrl: i, prompt: a, mode: o, multipleCorrect: l, shapes: p, outlineColor: m, hotspotColor: h, hoverOutlineColor: g, selectedHotspotColor: y, dimensions: b, rationale: x, teacherInstructions: w, strokeWidth: T, responseCorrect: E, language: D, fontSizeFactor: O, autoplayAudioEnabled: k, customAudioButton: A }, onSelectChoice: j } = this.props, { showCorrect: M } = this.state, N = o === "evaluate", P = o === "gather", F = N && !E, I = x && (c(x) || s(x));
50
+ return /* @__PURE__ */ f(S, {
51
+ extraCSSRules: r,
52
+ id: "main-container",
53
+ fontSizeFactor: O,
54
+ children: [
55
+ w && (c(w) || s(w)) && /* @__PURE__ */ d(C, {
56
+ labels: {
57
+ hidden: "Show Teacher Instructions",
58
+ visible: "Hide Teacher Instructions"
59
+ },
60
+ children: /* @__PURE__ */ d(_, {
61
+ className: "prompt",
62
+ prompt: w
63
+ })
64
+ }),
65
+ a && /* @__PURE__ */ d(_, {
66
+ className: "prompt",
67
+ prompt: a,
68
+ autoplayAudioEnabled: k,
69
+ customAudioButton: A
70
+ }),
71
+ F && /* @__PURE__ */ d(u, {
72
+ show: F,
73
+ toggled: M,
74
+ onToggle: this.onToggle.bind(this),
75
+ language: D
76
+ }),
77
+ i ? /* @__PURE__ */ d(e, {
78
+ isEvaluateMode: N,
79
+ session: t,
80
+ dimensions: b,
81
+ imageUrl: i,
82
+ hotspotColor: h,
83
+ hoverOutlineColor: P ? g : void 0,
84
+ selectedHotspotColor: y,
85
+ multipleCorrect: l,
86
+ outlineColor: m,
87
+ onSelectChoice: j,
88
+ shapes: p,
89
+ disabled: n,
90
+ strokeWidth: T,
91
+ scale: this.state.scale,
92
+ showCorrect: M
93
+ }) : null,
94
+ I && /* @__PURE__ */ d(v, {
95
+ labels: {
96
+ hidden: "Show Rationale",
97
+ visible: "Hide Rationale"
98
+ },
99
+ children: /* @__PURE__ */ d(_, {
100
+ className: "prompt",
101
+ prompt: x
102
+ })
103
+ })
104
+ ]
105
+ });
106
+ }
107
+ };
108
+ w.propTypes = {
109
+ model: l.object.isRequired,
110
+ onSelectChoice: l.func.isRequired,
111
+ session: l.object.isRequired
112
+ };
113
+ //#endregion
114
+ export { w as default };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/hotspot/src/hotspot/polygon.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ declare class PolygonComponent extends React.Component {
11
+ constructor(props: any);
12
+ getPolygonCenter: any;
13
+ parsePointsForKonva: any;
14
+ handleClick: any;
15
+ handleMouseEnter: any;
16
+ handleMouseLeave: any;
17
+ getEvaluateOutlineColor: (isCorrect: any, markAsCorrect: any, outlineColor: any) => any;
18
+ getOutlineWidth: (showCorrectEnabled: any, selected: any, markAsCorrect: any, strokeWidth: any) => any;
19
+ render(): React.JSX.Element;
20
+ }
21
+ export default PolygonComponent;
@@ -0,0 +1,108 @@
1
+ import e from "./image-konva-tooltip.js";
2
+ import { faCorrect as t, faWrong as n } from "./icons.js";
3
+ import r from "react";
4
+ import i from "prop-types";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { Group as s, Line as c, Rect as l } from "react-konva";
7
+ //#region src/delivery/hotspot/polygon.tsx
8
+ function u(e) {
9
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
10
+ }
11
+ function d(e, t) {
12
+ return !e || u(e) ? e : u(e.default) ? e.default : t && u(e[t]) ? e[t] : t && u(e[t]?.default) ? e[t].default : e;
13
+ }
14
+ var f = d(l, "Rect"), p = d(s, "Group"), m = d(c, "Line"), h = class extends r.Component {
15
+ constructor(e) {
16
+ super(e), this.state = { hovered: !1 };
17
+ }
18
+ getPolygonCenter = (e) => {
19
+ let t = e.map(({ x: e }) => e), n = e.map(({ y: e }) => e), r = Math.min.apply(null, t), i = Math.max.apply(null, t), a = Math.min.apply(null, n), o = Math.max.apply(null, n);
20
+ return [(r + i) / 2, (a + o) / 2];
21
+ };
22
+ parsePointsForKonva = (e) => {
23
+ let t = [];
24
+ return e.forEach(({ x: e, y: n }) => {
25
+ t.push(e), t.push(n);
26
+ }), t;
27
+ };
28
+ handleClick = (e) => {
29
+ let { onClick: t, id: n, selected: r, disabled: i } = this.props;
30
+ i || (e.cancelBubble = !0, t({
31
+ id: n,
32
+ selected: !r,
33
+ selector: "Mouse"
34
+ }));
35
+ };
36
+ handleMouseEnter = () => {
37
+ let { disabled: e } = this.props;
38
+ e || (document.body.style.cursor = "pointer"), this.setState({ hovered: !0 });
39
+ };
40
+ handleMouseLeave = () => {
41
+ document.body.style.cursor = "default", this.setState({ hovered: !1 });
42
+ };
43
+ getEvaluateOutlineColor = (e, t, n) => t ? "green" : e ? n : "red";
44
+ getOutlineWidth = (e, t, n, r) => n || !n && !e && t ? r : 0;
45
+ render() {
46
+ let { hotspotColor: r, isCorrect: i, isEvaluateMode: s, hoverOutlineColor: c, outlineColor: l, selected: u, points: d, evaluateText: h, strokeWidth: g, scale: _, markAsCorrect: v, selectedHotspotColor: y, showCorrectEnabled: b } = this.props, { hovered: x } = this.state, S = s ? this.getEvaluateOutlineColor(i, v, l) : l, C = this.getOutlineWidth(b, u, v, g), w = this.parsePointsForKonva(d), T = this.getPolygonCenter(d), E = T[0], D = T[1], O;
47
+ b ? (u && i || !u && !i) && (O = t) : u ? O = i ? t : n : i || (O = n);
48
+ let k = x && c, A = w.filter((e, t) => t % 2 == 0), j = w.filter((e, t) => t % 2 != 0), M = Math.min(...A), N = Math.max(...A), P = Math.min(...j), F = Math.max(...j), I = M, L = P, R = N - M, z = F - P;
49
+ return /* @__PURE__ */ o(p, {
50
+ scaleX: _,
51
+ scaleY: _,
52
+ children: [
53
+ k && /* @__PURE__ */ a(f, {
54
+ x: I,
55
+ y: L,
56
+ width: R,
57
+ height: z,
58
+ stroke: u ? "transparent" : c,
59
+ strokeWidth: g
60
+ }),
61
+ /* @__PURE__ */ a(m, {
62
+ points: w,
63
+ closed: !0,
64
+ fill: u && y ? y : r,
65
+ onClick: this.handleClick,
66
+ onTap: this.handleClick,
67
+ draggable: !1,
68
+ stroke: k && !u ? "transparent" : S,
69
+ strokeWidth: k && !u ? 0 : C,
70
+ onMouseLeave: this.handleMouseLeave,
71
+ onMouseEnter: this.handleMouseEnter,
72
+ cursor: "pointer",
73
+ position: "relative"
74
+ }),
75
+ s && O ? /* @__PURE__ */ a(e, {
76
+ src: O,
77
+ x: E,
78
+ y: D,
79
+ tooltip: h
80
+ }) : null
81
+ ]
82
+ });
83
+ }
84
+ };
85
+ h.propTypes = {
86
+ hotspotColor: i.string.isRequired,
87
+ id: i.string.isRequired,
88
+ isCorrect: i.bool.isRequired,
89
+ isEvaluateMode: i.bool.isRequired,
90
+ hoverOutlineColor: i.string,
91
+ disabled: i.bool.isRequired,
92
+ onClick: i.func.isRequired,
93
+ outlineColor: i.string.isRequired,
94
+ points: i.array.isRequired,
95
+ selected: i.bool.isRequired,
96
+ evaluateText: i.string,
97
+ selectedHotspotColor: i.string,
98
+ strokeWidth: i.number,
99
+ scale: i.number,
100
+ markAsCorrect: i.bool.isRequired,
101
+ showCorrectEnabled: i.bool.isRequired
102
+ }, h.defaultProps = {
103
+ evaluateText: null,
104
+ strokeWidth: 5,
105
+ scale: 1
106
+ };
107
+ //#endregion
108
+ export { h as default };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/hotspot/src/hotspot/rectangle.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ declare class RectComponent extends React.Component {
11
+ constructor(props: any);
12
+ handleClick: any;
13
+ handleMouseEnter: any;
14
+ handleMouseLeave: any;
15
+ getEvaluateOutlineColor: (isCorrect: any, markAsCorrect: any, outlineColor: any) => any;
16
+ getOutlineWidth: (showCorrectEnabled: any, selected: any, markAsCorrect: any, strokeWidth: any) => any;
17
+ render(): React.JSX.Element;
18
+ }
19
+ export default RectComponent;
@@ -0,0 +1,104 @@
1
+ import e from "./image-konva-tooltip.js";
2
+ import { faCorrect as t, faWrong as n } from "./icons.js";
3
+ import r from "react";
4
+ import i from "prop-types";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { Group as s, Rect as c } from "react-konva";
7
+ //#region src/delivery/hotspot/rectangle.tsx
8
+ function l(e) {
9
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
10
+ }
11
+ function u(e, t) {
12
+ return !e || l(e) ? e : l(e.default) ? e.default : t && l(e[t]) ? e[t] : t && l(e[t]?.default) ? e[t].default : e;
13
+ }
14
+ var d = u(s, "Group"), f = u(c, "Rect"), p = class extends r.Component {
15
+ constructor(e) {
16
+ super(e), this.state = { hovered: !1 };
17
+ }
18
+ handleClick = (e) => {
19
+ let { onClick: t, id: n, selected: r, disabled: i } = this.props;
20
+ i || (e.cancelBubble = !0, t({
21
+ id: n,
22
+ selected: !r,
23
+ selector: "Mouse"
24
+ }));
25
+ };
26
+ handleMouseEnter = () => {
27
+ let { disabled: e } = this.props;
28
+ e || (document.body.style.cursor = "pointer"), this.setState({ hovered: !0 });
29
+ };
30
+ handleMouseLeave = () => {
31
+ document.body.style.cursor = "default", this.setState({ hovered: !1 });
32
+ };
33
+ getEvaluateOutlineColor = (e, t, n) => t ? "green" : e ? n : "red";
34
+ getOutlineWidth = (e, t, n, r) => n || !n && !e && t ? r : 0;
35
+ render() {
36
+ let { height: r, hotspotColor: i, hoverOutlineColor: s, selectedHotspotColor: c, isCorrect: l, isEvaluateMode: u, outlineColor: p, selected: m, width: h, x: g, y: _, evaluateText: v, strokeWidth: y, scale: b, markAsCorrect: x, showCorrectEnabled: S } = this.props, C = u ? this.getEvaluateOutlineColor(l, x, p) : p, w = this.getOutlineWidth(S, m, x, y), T = g + h / 2 - 10, E = _ + r / 2 - 10, D;
37
+ S ? (m && l || !m && !l) && (D = t) : m ? D = l ? t : n : l || (D = n);
38
+ let { hovered: O } = this.state, k = O && s;
39
+ return /* @__PURE__ */ o(d, {
40
+ scaleX: b,
41
+ scaleY: b,
42
+ children: [
43
+ k && /* @__PURE__ */ a(f, {
44
+ x: g,
45
+ y: _,
46
+ width: h,
47
+ height: r,
48
+ stroke: m ? "transparent" : s,
49
+ strokeWidth: y,
50
+ listening: !1
51
+ }),
52
+ /* @__PURE__ */ a(f, {
53
+ x: g,
54
+ y: _,
55
+ width: h,
56
+ height: r,
57
+ fill: m && c ? c : i,
58
+ onClick: this.handleClick,
59
+ onTap: this.handleClick,
60
+ draggable: !1,
61
+ stroke: k && !m ? "transparent" : C,
62
+ strokeWidth: k && !m ? 0 : w,
63
+ onMouseLeave: this.handleMouseLeave,
64
+ onMouseEnter: this.handleMouseEnter,
65
+ cursor: "pointer"
66
+ }),
67
+ u && D ? /* @__PURE__ */ a(e, {
68
+ src: D,
69
+ x: T,
70
+ y: E,
71
+ tooltip: v
72
+ }) : null
73
+ ]
74
+ });
75
+ }
76
+ };
77
+ p.propTypes = {
78
+ height: i.number.isRequired,
79
+ hotspotColor: i.string.isRequired,
80
+ id: i.string.isRequired,
81
+ isCorrect: i.oneOfType([i.bool, i.string]),
82
+ isEvaluateMode: i.bool.isRequired,
83
+ hoverOutlineColor: i.string,
84
+ disabled: i.bool.isRequired,
85
+ onClick: i.func.isRequired,
86
+ outlineColor: i.string.isRequired,
87
+ selected: i.bool.isRequired,
88
+ width: i.number.isRequired,
89
+ x: i.number.isRequired,
90
+ y: i.number.isRequired,
91
+ evaluateText: i.string,
92
+ strokeWidth: i.number,
93
+ scale: i.number,
94
+ selectedHotspotColor: i.string,
95
+ markAsCorrect: i.bool.isRequired,
96
+ showCorrectEnabled: i.bool.isRequired
97
+ }, p.defaultProps = {
98
+ isCorrect: !1,
99
+ evaluateText: null,
100
+ strokeWidth: 5,
101
+ scale: 1
102
+ };
103
+ //#endregion
104
+ export { p as default };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/hotspot/src/index.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ export default class Hotspot extends HTMLElement {
10
+ constructor();
11
+ set model(m: any);
12
+ isComplete(): boolean;
13
+ set session(s: any);
14
+ get session(): any;
15
+ onSelectChoice(data: any): void;
16
+ _createAudioInfoToast(): HTMLDivElement;
17
+ connectedCallback(): void;
18
+ _render(): void;
19
+ disconnectedCallback(): void;
20
+ }
@@ -0,0 +1,107 @@
1
+ import e from "./hotspot/index.js";
2
+ import { updateSessionMetadata as t, updateSessionValue as n } from "./session-updater.js";
3
+ import r from "react";
4
+ import { createRoot as i } from "react-dom/client";
5
+ import { renderMath as a } from "@pie-element/shared-math-rendering-mathjax";
6
+ import * as o from "@pie-lib/render-ui";
7
+ import { EnableAudioAutoplayImage as s } from "@pie-lib/render-ui";
8
+ import { ModelSetEvent as c, SessionChangedEvent as l } from "@pie-element/shared-player-events";
9
+ //#region src/delivery/index.ts
10
+ function u(e) {
11
+ return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
12
+ }
13
+ function d(e, t) {
14
+ return !e || u(e) ? e : u(e.default) ? e.default : t && u(e[t]) ? e[t] : t && u(e[t]?.default) ? e[t].default : e;
15
+ }
16
+ var f = d(s, "EnableAudioAutoplayImage") || d(h.EnableAudioAutoplayImage, "EnableAudioAutoplayImage"), p = o, m = p.default, h = m && typeof m == "object" ? m : p, g = class extends HTMLElement {
17
+ constructor() {
18
+ super(), this._model = null, this._session = null, this._audioInitialized = !1, this.audioComplete = !1, this._root = null;
19
+ }
20
+ set model(e) {
21
+ this._model = e, this.dispatchEvent(new c(this.tagName.toLowerCase(), this.isComplete(), !!this._model)), this._audioInitialized = !1, this._render();
22
+ }
23
+ isComplete() {
24
+ if (!this._session || !this._session.answers) return !1;
25
+ let { autoplayAudioEnabled: e, completeAudioEnabled: t } = this._model || {}, n = this;
26
+ if (e && t && !this.audioComplete && n) {
27
+ let e = n.querySelector("audio"), t = e && e.closest("#preview-prompt");
28
+ if (e && t) return !1;
29
+ }
30
+ return Array.isArray(this._session.answers) ? this._session.answers.length > 0 : !1;
31
+ }
32
+ set session(e) {
33
+ e && !e.answers && (e.answers = []), this._session = e, this._render();
34
+ }
35
+ get session() {
36
+ return this._session;
37
+ }
38
+ onSelectChoice(e) {
39
+ n(this._session, this._model, e), this.dispatchEvent(new l(this.tagName.toLowerCase(), this.isComplete())), this._render();
40
+ }
41
+ _createAudioInfoToast() {
42
+ let e = document.createElement("div");
43
+ e.id = "play-audio-info", Object.assign(e.style, {
44
+ position: "absolute",
45
+ top: 0,
46
+ width: "100%",
47
+ height: "100%",
48
+ display: "flex",
49
+ justifyContent: "center",
50
+ alignItems: "center",
51
+ background: "white",
52
+ zIndex: "1000",
53
+ cursor: "pointer"
54
+ });
55
+ let t = document.createElement("img");
56
+ return t.src = f, t.alt = "Click anywhere to enable audio autoplay", t.width = 500, t.height = 300, e.appendChild(t), e;
57
+ }
58
+ connectedCallback() {
59
+ this._render(), new MutationObserver((e, n) => {
60
+ e.forEach((e) => {
61
+ if (e.type === "childList") {
62
+ if (this._audioInitialized) return;
63
+ let e = this.querySelector("audio"), r = e && e.closest("#preview-prompt");
64
+ if (!this._model || !this._model.autoplayAudioEnabled || e && !r || !e) return;
65
+ let i = this._createAudioInfoToast(), a = this.querySelector("#main-container"), o = () => {
66
+ this.querySelector("#play-audio-info") && (e.play(), a.removeChild(i)), document.removeEventListener("click", o);
67
+ };
68
+ setTimeout(() => {
69
+ e.paused && !this.querySelector("#play-audio-info") ? (a.appendChild(i), document.addEventListener("click", o)) : document.removeEventListener("click", o);
70
+ }, 500);
71
+ let s = () => {
72
+ t(this._session, { audioStartTime: (/* @__PURE__ */ new Date()).getTime() });
73
+ let n = this.querySelector("#play-audio-info");
74
+ n && a.removeChild(n), e.removeEventListener("playing", s);
75
+ };
76
+ e.addEventListener("playing", s);
77
+ let c = () => {
78
+ t(this._session, { audioEndTime: (/* @__PURE__ */ new Date()).getTime() });
79
+ let { audioStartTime: n, audioEndTime: r, waitTime: i } = this._session;
80
+ !i && n && r && (this._session.waitTime = r - n), this.audioComplete = !0, this.dispatchEvent(new l(this.tagName.toLowerCase(), this.isComplete())), e.removeEventListener("ended", c);
81
+ };
82
+ e.addEventListener("ended", c), this._audio = e, this._handlePlaying = s, this._handleEnded = c, this._enableAudio = o, this._audioInitialized = !0, n.disconnect();
83
+ }
84
+ });
85
+ }).observe(this, {
86
+ childList: !0,
87
+ subtree: !0
88
+ });
89
+ }
90
+ _render() {
91
+ if (this._model && this._session) {
92
+ let t = r.createElement(e, {
93
+ model: this._model,
94
+ session: this._session,
95
+ onSelectChoice: this.onSelectChoice.bind(this)
96
+ });
97
+ this._root ||= i(this), this._root.render(t), queueMicrotask(() => {
98
+ a(this);
99
+ });
100
+ }
101
+ }
102
+ disconnectedCallback() {
103
+ document.removeEventListener("click", this._enableAudio), this._audio &&= (this._audio.removeEventListener("playing", this._handlePlaying), this._audio.removeEventListener("ended", this._handleEnded), null), this._root && this._root.unmount();
104
+ }
105
+ };
106
+ //#endregion
107
+ export { g as default };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @synced-from pie-elements/packages/hotspot/src/session-updater.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ export declare function updateSessionValue(session: any, model: any, data: any): void;
10
+ export declare function updateSessionMetadata(session: any, metadata: any): void;
@@ -0,0 +1,14 @@
1
+ //#region src/delivery/session-updater.ts
2
+ function e(e, t, n) {
3
+ let { id: r, selected: i } = n, { multipleCorrect: a } = t || {};
4
+ if (e.answers = e.answers || [], !i) e.answers = e.answers.filter((e) => e.id !== r);
5
+ else {
6
+ let t = { id: r };
7
+ a ? e.answers.push(t) : e.answers = [t], e.selector = n.selector;
8
+ }
9
+ }
10
+ function t(e, t) {
11
+ e.audioStartTime = e.audioStartTime || t.audioStartTime, e.audioEndTime = e.audioEndTime || t.audioEndTime, !e.waitTime && e.audioStartTime && e.audioEndTime && (e.waitTime = e.audioEndTime - e.audioStartTime);
12
+ }
13
+ //#endregion
14
+ export { t as updateSessionMetadata, e as updateSessionValue };
@@ -0,0 +1 @@
1
+ export { default } from './delivery/index.js';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * IIFE entry point for hotspot element
3
+ * This file is only used for IIFE builds and includes auto-registration
4
+ *
5
+ * @sync-generated - Auto-generated during sync from pie-elements
6
+ */
7
+ import Element from './index.js';
8
+ export default Element;