@hatiolab/things-scene 9.0.0-beta.36 → 9.0.0-beta.38

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 (397) hide show
  1. package/package.json +1 -1
  2. package/things-scene-min.js +11 -11
  3. package/things-scene-min.js.map +1 -1
  4. package/things-scene.mjs +11 -11
  5. package/things-scene.mjs.map +1 -1
  6. package/.cursorignore +0 -62
  7. package/.prettierrc +0 -21
  8. package/assets/icon-audio.png +0 -0
  9. package/assets/icon-gif-viewer.png +0 -0
  10. package/assets/images/spinner.png +0 -0
  11. package/babel.config.js +0 -23
  12. package/db.sqlite +0 -0
  13. package/dist/animation/animate.js +0 -63
  14. package/dist/animation/animate.js.map +0 -1
  15. package/dist/animation/animations/animation.js +0 -122
  16. package/dist/animation/animations/animation.js.map +0 -1
  17. package/dist/animation/animations/fade.js +0 -28
  18. package/dist/animation/animations/fade.js.map +0 -1
  19. package/dist/animation/animations/heartbeat.js +0 -28
  20. package/dist/animation/animations/heartbeat.js.map +0 -1
  21. package/dist/animation/animations/moving.js +0 -24
  22. package/dist/animation/animations/moving.js.map +0 -1
  23. package/dist/animation/animations/outline.js +0 -47
  24. package/dist/animation/animations/outline.js.map +0 -1
  25. package/dist/animation/animations/rotation.js +0 -22
  26. package/dist/animation/animations/rotation.js.map +0 -1
  27. package/dist/animation/animations/vibration.js +0 -31
  28. package/dist/animation/animations/vibration.js.map +0 -1
  29. package/dist/animation/compile.js +0 -31
  30. package/dist/animation/compile.js.map +0 -1
  31. package/dist/animation/delta.js +0 -51
  32. package/dist/animation/delta.js.map +0 -1
  33. package/dist/animation/index.js +0 -14
  34. package/dist/animation/index.js.map +0 -1
  35. package/dist/command/command-change.js +0 -33
  36. package/dist/command/command-change.js.map +0 -1
  37. package/dist/command/command-migrate.js +0 -103
  38. package/dist/command/command-migrate.js.map +0 -1
  39. package/dist/command/command.js +0 -18
  40. package/dist/command/command.js.map +0 -1
  41. package/dist/command/snapshot-commander.js +0 -84
  42. package/dist/command/snapshot-commander.js.map +0 -1
  43. package/dist/components/anchor/anchor.js +0 -105
  44. package/dist/components/anchor/anchor.js.map +0 -1
  45. package/dist/components/anchor/ellipse-anchors.js +0 -53
  46. package/dist/components/anchor/ellipse-anchors.js.map +0 -1
  47. package/dist/components/anchor/rect-anchors.js +0 -53
  48. package/dist/components/anchor/rect-anchors.js.map +0 -1
  49. package/dist/components/audio.js +0 -154
  50. package/dist/components/audio.js.map +0 -1
  51. package/dist/components/cloud.js +0 -44
  52. package/dist/components/cloud.js.map +0 -1
  53. package/dist/components/component.js +0 -1086
  54. package/dist/components/component.js.map +0 -1
  55. package/dist/components/container-abstract.js +0 -387
  56. package/dist/components/container-abstract.js.map +0 -1
  57. package/dist/components/container.js +0 -331
  58. package/dist/components/container.js.map +0 -1
  59. package/dist/components/data/data-mapping.js +0 -82
  60. package/dist/components/data/data-mapping.js.map +0 -1
  61. package/dist/components/data/data.js +0 -166
  62. package/dist/components/data/data.js.map +0 -1
  63. package/dist/components/data/evaluator.js +0 -103
  64. package/dist/components/data/evaluator.js.map +0 -1
  65. package/dist/components/donut.js +0 -104
  66. package/dist/components/donut.js.map +0 -1
  67. package/dist/components/drawer/draw-image-pendable.js +0 -20
  68. package/dist/components/drawer/draw-image-pendable.js.map +0 -1
  69. package/dist/components/drawer/effect.js +0 -19
  70. package/dist/components/drawer/effect.js.map +0 -1
  71. package/dist/components/drawer/fill.js +0 -228
  72. package/dist/components/drawer/fill.js.map +0 -1
  73. package/dist/components/drawer/format.js +0 -115
  74. package/dist/components/drawer/format.js.map +0 -1
  75. package/dist/components/drawer/line.js +0 -191
  76. package/dist/components/drawer/line.js.map +0 -1
  77. package/dist/components/drawer/stroke.js +0 -62
  78. package/dist/components/drawer/stroke.js.map +0 -1
  79. package/dist/components/drawer/text-wrapper.js +0 -51
  80. package/dist/components/drawer/text-wrapper.js.map +0 -1
  81. package/dist/components/drawer/text.js +0 -269
  82. package/dist/components/drawer/text.js.map +0 -1
  83. package/dist/components/ellipse.js +0 -110
  84. package/dist/components/ellipse.js.map +0 -1
  85. package/dist/components/file/ondropfile.js +0 -19
  86. package/dist/components/file/ondropfile.js.map +0 -1
  87. package/dist/components/fit/fit.js +0 -137
  88. package/dist/components/fit/fit.js.map +0 -1
  89. package/dist/components/geometry/transcoord.js +0 -339
  90. package/dist/components/geometry/transcoord.js.map +0 -1
  91. package/dist/components/geometry/union.js +0 -35
  92. package/dist/components/geometry/union.js.map +0 -1
  93. package/dist/components/gif-view.js +0 -128
  94. package/dist/components/gif-view.js.map +0 -1
  95. package/dist/components/global-ref.js +0 -154
  96. package/dist/components/global-ref.js.map +0 -1
  97. package/dist/components/group.js +0 -171
  98. package/dist/components/group.js.map +0 -1
  99. package/dist/components/html/elements.js +0 -24
  100. package/dist/components/html/elements.js.map +0 -1
  101. package/dist/components/html/fill.js +0 -126
  102. package/dist/components/html/fill.js.map +0 -1
  103. package/dist/components/html/reposition.js +0 -119
  104. package/dist/components/html/reposition.js.map +0 -1
  105. package/dist/components/html/shadow.js +0 -24
  106. package/dist/components/html/shadow.js.map +0 -1
  107. package/dist/components/html-overlay-container.js +0 -27
  108. package/dist/components/html-overlay-container.js.map +0 -1
  109. package/dist/components/html-overlay-element.js +0 -22
  110. package/dist/components/html-overlay-element.js.map +0 -1
  111. package/dist/components/image-view.js +0 -193
  112. package/dist/components/image-view.js.map +0 -1
  113. package/dist/components/index.js +0 -231
  114. package/dist/components/index.js.map +0 -1
  115. package/dist/components/info-window.js +0 -416
  116. package/dist/components/info-window.js.map +0 -1
  117. package/dist/components/line.js +0 -374
  118. package/dist/components/line.js.map +0 -1
  119. package/dist/components/local-ref.js +0 -114
  120. package/dist/components/local-ref.js.map +0 -1
  121. package/dist/components/mixins/connectable.js +0 -128
  122. package/dist/components/mixins/connectable.js.map +0 -1
  123. package/dist/components/mixins/data-source.js +0 -34
  124. package/dist/components/mixins/data-source.js.map +0 -1
  125. package/dist/components/mixins/html-element.js +0 -107
  126. package/dist/components/mixins/html-element.js.map +0 -1
  127. package/dist/components/mixins/move-handle.js +0 -73
  128. package/dist/components/mixins/move-handle.js.map +0 -1
  129. package/dist/components/mixins/rect-path.js +0 -113
  130. package/dist/components/mixins/rect-path.js.map +0 -1
  131. package/dist/components/mixins/value-holder.js +0 -81
  132. package/dist/components/mixins/value-holder.js.map +0 -1
  133. package/dist/components/mutater/bounds.js +0 -68
  134. package/dist/components/mutater/bounds.js.map +0 -1
  135. package/dist/components/mutater/path.js +0 -73
  136. package/dist/components/mutater/path.js.map +0 -1
  137. package/dist/components/ortholine.js +0 -763
  138. package/dist/components/ortholine.js.map +0 -1
  139. package/dist/components/outline/ellipse-outline.js +0 -23
  140. package/dist/components/outline/ellipse-outline.js.map +0 -1
  141. package/dist/components/outline/path-outline.js +0 -48
  142. package/dist/components/outline/path-outline.js.map +0 -1
  143. package/dist/components/path.js +0 -49
  144. package/dist/components/path.js.map +0 -1
  145. package/dist/components/polygon.js +0 -91
  146. package/dist/components/polygon.js.map +0 -1
  147. package/dist/components/polyline.js +0 -114
  148. package/dist/components/polyline.js.map +0 -1
  149. package/dist/components/popup.js +0 -160
  150. package/dist/components/popup.js.map +0 -1
  151. package/dist/components/rect.js +0 -72
  152. package/dist/components/rect.js.map +0 -1
  153. package/dist/components/retention/retention-manager.js +0 -81
  154. package/dist/components/retention/retention-manager.js.map +0 -1
  155. package/dist/components/root-container.js +0 -519
  156. package/dist/components/root-container.js.map +0 -1
  157. package/dist/components/ruler.js +0 -103
  158. package/dist/components/ruler.js.map +0 -1
  159. package/dist/components/shape.js +0 -97
  160. package/dist/components/shape.js.map +0 -1
  161. package/dist/components/star.js +0 -103
  162. package/dist/components/star.js.map +0 -1
  163. package/dist/components/text/substitutor.js +0 -92
  164. package/dist/components/text/substitutor.js.map +0 -1
  165. package/dist/components/text.js +0 -21
  166. package/dist/components/text.js.map +0 -1
  167. package/dist/components/triangle.js +0 -92
  168. package/dist/components/triangle.js.map +0 -1
  169. package/dist/const.js +0 -71
  170. package/dist/const.js.map +0 -1
  171. package/dist/core/collection.js +0 -28
  172. package/dist/core/collection.js.map +0 -1
  173. package/dist/core/debug.js +0 -12
  174. package/dist/core/debug.js.map +0 -1
  175. package/dist/core/deep-equals.js +0 -112
  176. package/dist/core/deep-equals.js.map +0 -1
  177. package/dist/core/dom-to-image.js +0 -617
  178. package/dist/core/dom-to-image.js.map +0 -1
  179. package/dist/core/event.js +0 -205
  180. package/dist/core/event.js.map +0 -1
  181. package/dist/core/index.js +0 -21
  182. package/dist/core/index.js.map +0 -1
  183. package/dist/core/list.js +0 -87
  184. package/dist/core/list.js.map +0 -1
  185. package/dist/core/logger.js +0 -29
  186. package/dist/core/logger.js.map +0 -1
  187. package/dist/core/memoize.js +0 -40
  188. package/dist/core/memoize.js.map +0 -1
  189. package/dist/core/mixin.js +0 -26
  190. package/dist/core/mixin.js.map +0 -1
  191. package/dist/core/obj-accessor.js +0 -26
  192. package/dist/core/obj-accessor.js.map +0 -1
  193. package/dist/core/reference-map.js +0 -147
  194. package/dist/core/reference-map.js.map +0 -1
  195. package/dist/core/round-rect.js +0 -62
  196. package/dist/core/round-rect.js.map +0 -1
  197. package/dist/core/safe-round.js +0 -10
  198. package/dist/core/safe-round.js.map +0 -1
  199. package/dist/core/script-loader.js +0 -148
  200. package/dist/core/script-loader.js.map +0 -1
  201. package/dist/core/snapshot-taker.js +0 -59
  202. package/dist/core/snapshot-taker.js.map +0 -1
  203. package/dist/core/stack.js +0 -18
  204. package/dist/core/stack.js.map +0 -1
  205. package/dist/core/timecapsule.js +0 -88
  206. package/dist/core/timecapsule.js.map +0 -1
  207. package/dist/core/utils.js +0 -309
  208. package/dist/core/utils.js.map +0 -1
  209. package/dist/decorator/anchors-decorator.js +0 -53
  210. package/dist/decorator/anchors-decorator.js.map +0 -1
  211. package/dist/decorator/bouncing-arrow-decorator.js +0 -52
  212. package/dist/decorator/bouncing-arrow-decorator.js.map +0 -1
  213. package/dist/decorator/data-spread-decorator.js +0 -69
  214. package/dist/decorator/data-spread-decorator.js.map +0 -1
  215. package/dist/decorator/decotag-decorator.js +0 -33
  216. package/dist/decorator/decotag-decorator.js.map +0 -1
  217. package/dist/decorator/index.js +0 -31
  218. package/dist/decorator/index.js.map +0 -1
  219. package/dist/decorator/link-decorator.js +0 -66
  220. package/dist/decorator/link-decorator.js.map +0 -1
  221. package/dist/effect/gradation.js +0 -37
  222. package/dist/effect/gradation.js.map +0 -1
  223. package/dist/effect/index.js +0 -23
  224. package/dist/effect/index.js.map +0 -1
  225. package/dist/effect/shadow.js +0 -33
  226. package/dist/effect/shadow.js.map +0 -1
  227. package/dist/effect/turn.js +0 -25
  228. package/dist/effect/turn.js.map +0 -1
  229. package/dist/event/event-engine.js +0 -76
  230. package/dist/event/event-engine.js.map +0 -1
  231. package/dist/event/event-pump.js +0 -92
  232. package/dist/event/event-pump.js.map +0 -1
  233. package/dist/event/event-tracker.js +0 -97
  234. package/dist/event/event-tracker.js.map +0 -1
  235. package/dist/event/index.js +0 -21
  236. package/dist/event/index.js.map +0 -1
  237. package/dist/event/ua-event-handler.js +0 -453
  238. package/dist/event/ua-event-handler.js.map +0 -1
  239. package/dist/event-map/animator-handler.js +0 -225
  240. package/dist/event-map/animator-handler.js.map +0 -1
  241. package/dist/event-map/animators/animated-icon.js +0 -265
  242. package/dist/event-map/animators/animated-icon.js.map +0 -1
  243. package/dist/event-map/animators/border-highlighting.js +0 -476
  244. package/dist/event-map/animators/border-highlighting.js.map +0 -1
  245. package/dist/event-map/animators/bouncing-arrow.js +0 -226
  246. package/dist/event-map/animators/bouncing-arrow.js.map +0 -1
  247. package/dist/event-map/event-map.js +0 -36
  248. package/dist/event-map/event-map.js.map +0 -1
  249. package/dist/event-map/index.js +0 -20
  250. package/dist/event-map/index.js.map +0 -1
  251. package/dist/event-map/move-handler.js +0 -233
  252. package/dist/event-map/move-handler.js.map +0 -1
  253. package/dist/event-map/paste-handler.js +0 -176
  254. package/dist/event-map/paste-handler.js.map +0 -1
  255. package/dist/event-map/shift-handler.js +0 -55
  256. package/dist/event-map/shift-handler.js.map +0 -1
  257. package/dist/event-map/text-editor-lite.js +0 -276
  258. package/dist/event-map/text-editor-lite.js.map +0 -1
  259. package/dist/event-map/zoom-handler.js +0 -49
  260. package/dist/event-map/zoom-handler.js.map +0 -1
  261. package/dist/index.js +0 -20
  262. package/dist/index.js.map +0 -1
  263. package/dist/layer/action/emphasize.js +0 -42
  264. package/dist/layer/action/emphasize.js.map +0 -1
  265. package/dist/layer/action/popup.js +0 -461
  266. package/dist/layer/action/popup.js.map +0 -1
  267. package/dist/layer/action/pressed.js +0 -31
  268. package/dist/layer/action/pressed.js.map +0 -1
  269. package/dist/layer/add-layer.js +0 -180
  270. package/dist/layer/add-layer.js.map +0 -1
  271. package/dist/layer/decotag-layer.js +0 -121
  272. package/dist/layer/decotag-layer.js.map +0 -1
  273. package/dist/layer/guide-layer.js +0 -292
  274. package/dist/layer/guide-layer.js.map +0 -1
  275. package/dist/layer/index.js +0 -70
  276. package/dist/layer/index.js.map +0 -1
  277. package/dist/layer/layer.js +0 -230
  278. package/dist/layer/layer.js.map +0 -1
  279. package/dist/layer/minimap-layer.js +0 -84
  280. package/dist/layer/minimap-layer.js.map +0 -1
  281. package/dist/layer/model-layer.js +0 -465
  282. package/dist/layer/model-layer.js.map +0 -1
  283. package/dist/layer/modeler/anchor-handler.js +0 -193
  284. package/dist/layer/modeler/anchor-handler.js.map +0 -1
  285. package/dist/layer/modeler/control-handler.js +0 -95
  286. package/dist/layer/modeler/control-handler.js.map +0 -1
  287. package/dist/layer/modeler/focus-outline.js +0 -41
  288. package/dist/layer/modeler/focus-outline.js.map +0 -1
  289. package/dist/layer/modeler/group-outline.js +0 -30
  290. package/dist/layer/modeler/group-outline.js.map +0 -1
  291. package/dist/layer/modeler/index.js +0 -56
  292. package/dist/layer/modeler/index.js.map +0 -1
  293. package/dist/layer/modeler/path-handler.js +0 -300
  294. package/dist/layer/modeler/path-handler.js.map +0 -1
  295. package/dist/layer/modeler/resizer.js +0 -333
  296. package/dist/layer/modeler/resizer.js.map +0 -1
  297. package/dist/layer/modeler/rotator.js +0 -134
  298. package/dist/layer/modeler/rotator.js.map +0 -1
  299. package/dist/layer/modeling-layer.js +0 -491
  300. package/dist/layer/modeling-layer.js.map +0 -1
  301. package/dist/layer/reaction-layer.js +0 -111
  302. package/dist/layer/reaction-layer.js.map +0 -1
  303. package/dist/layer/scroll-layer.js +0 -191
  304. package/dist/layer/scroll-layer.js.map +0 -1
  305. package/dist/layer/selection/selected-finder.js +0 -96
  306. package/dist/layer/selection/selected-finder.js.map +0 -1
  307. package/dist/layer/selection-layer.js +0 -373
  308. package/dist/layer/selection-layer.js.map +0 -1
  309. package/dist/layer/shift-layer.js +0 -83
  310. package/dist/layer/shift-layer.js.map +0 -1
  311. package/dist/layout/absolute.js +0 -30
  312. package/dist/layout/absolute.js.map +0 -1
  313. package/dist/layout/card.js +0 -52
  314. package/dist/layout/card.js.map +0 -1
  315. package/dist/layout/html-absolute.js +0 -32
  316. package/dist/layout/html-absolute.js.map +0 -1
  317. package/dist/layout/index.js +0 -56
  318. package/dist/layout/index.js.map +0 -1
  319. package/dist/layout/layout.js +0 -36
  320. package/dist/layout/layout.js.map +0 -1
  321. package/dist/layout/linear-horizontal.js +0 -56
  322. package/dist/layout/linear-horizontal.js.map +0 -1
  323. package/dist/layout/linear-vertical.js +0 -56
  324. package/dist/layout/linear-vertical.js.map +0 -1
  325. package/dist/layout/table.js +0 -106
  326. package/dist/layout/table.js.map +0 -1
  327. package/dist/license/license.js +0 -170
  328. package/dist/license/license.js.map +0 -1
  329. package/dist/model/compile.js +0 -40
  330. package/dist/model/compile.js.map +0 -1
  331. package/dist/model/duplicate.js +0 -19
  332. package/dist/model/duplicate.js.map +0 -1
  333. package/dist/model/index.js +0 -34
  334. package/dist/model/index.js.map +0 -1
  335. package/dist/model/selector.js +0 -104
  336. package/dist/model/selector.js.map +0 -1
  337. package/dist/style/compile.js +0 -14
  338. package/dist/style/compile.js.map +0 -1
  339. package/dist/style/index.js +0 -14
  340. package/dist/style/index.js.map +0 -1
  341. package/dist/things-scene/api/add-start.js +0 -18
  342. package/dist/things-scene/api/add-start.js.map +0 -1
  343. package/dist/things-scene/api/add.js +0 -71
  344. package/dist/things-scene/api/add.js.map +0 -1
  345. package/dist/things-scene/api/align.js +0 -116
  346. package/dist/things-scene/api/align.js.map +0 -1
  347. package/dist/things-scene/api/center-to.js +0 -50
  348. package/dist/things-scene/api/center-to.js.map +0 -1
  349. package/dist/things-scene/api/change.js +0 -27
  350. package/dist/things-scene/api/change.js.map +0 -1
  351. package/dist/things-scene/api/clipboard.js +0 -45
  352. package/dist/things-scene/api/clipboard.js.map +0 -1
  353. package/dist/things-scene/api/distribute.js +0 -57
  354. package/dist/things-scene/api/distribute.js.map +0 -1
  355. package/dist/things-scene/api/duplicate.js +0 -47
  356. package/dist/things-scene/api/duplicate.js.map +0 -1
  357. package/dist/things-scene/api/fullscreen.js +0 -26
  358. package/dist/things-scene/api/fullscreen.js.map +0 -1
  359. package/dist/things-scene/api/group.js +0 -91
  360. package/dist/things-scene/api/group.js.map +0 -1
  361. package/dist/things-scene/api/ids.js +0 -28
  362. package/dist/things-scene/api/ids.js.map +0 -1
  363. package/dist/things-scene/api/index.js +0 -192
  364. package/dist/things-scene/api/index.js.map +0 -1
  365. package/dist/things-scene/api/listener.js +0 -69
  366. package/dist/things-scene/api/listener.js.map +0 -1
  367. package/dist/things-scene/api/paste-start.js +0 -27
  368. package/dist/things-scene/api/paste-start.js.map +0 -1
  369. package/dist/things-scene/api/place.js +0 -98
  370. package/dist/things-scene/api/place.js.map +0 -1
  371. package/dist/things-scene/api/remove.js +0 -57
  372. package/dist/things-scene/api/remove.js.map +0 -1
  373. package/dist/things-scene/api/symmetry.js +0 -47
  374. package/dist/things-scene/api/symmetry.js.map +0 -1
  375. package/dist/things-scene/api/to-data-url.js +0 -76
  376. package/dist/things-scene/api/to-data-url.js.map +0 -1
  377. package/dist/things-scene/api/zorder.js +0 -68
  378. package/dist/things-scene/api/zorder.js.map +0 -1
  379. package/dist/things-scene/application-context.js +0 -168
  380. package/dist/things-scene/application-context.js.map +0 -1
  381. package/dist/things-scene/config.js +0 -18
  382. package/dist/things-scene/config.js.map +0 -1
  383. package/dist/things-scene/create.js +0 -67
  384. package/dist/things-scene/create.js.map +0 -1
  385. package/dist/things-scene/fps.js +0 -26
  386. package/dist/things-scene/fps.js.map +0 -1
  387. package/dist/things-scene/index.js +0 -152
  388. package/dist/things-scene/index.js.map +0 -1
  389. package/dist/things-scene/polyfill.js +0 -111
  390. package/dist/things-scene/polyfill.js.map +0 -1
  391. package/dist/things-scene/scene.js +0 -442
  392. package/dist/things-scene/scene.js.map +0 -1
  393. package/dist/things-scene/version.js +0 -12
  394. package/dist/things-scene/version.js.map +0 -1
  395. package/rollup.config.js +0 -67
  396. package/schema.graphql +0 -4606
  397. package/tsconfig.json +0 -31
@@ -1,225 +0,0 @@
1
- "use strict";
2
-
3
- var _eventMap = _interopRequireDefault(require("./event-map.js"));
4
- var _animatedIcon = _interopRequireDefault(require("./animators/animated-icon.js"));
5
- var _borderHighlighting = _interopRequireDefault(require("./animators/border-highlighting.js"));
6
- var _bouncingArrow = _interopRequireDefault(require("./animators/bouncing-arrow.js"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- /*
9
- * Copyright © HatioLab Inc. All rights reserved.
10
- */
11
-
12
- /**
13
- * AnimatorHandler is a layer that shows material icons with animation effects at the relative position of the target component.
14
- *
15
- * @class
16
- * @extends EventMapHandler
17
- */
18
- class AnimatorHandler {
19
- /**
20
- * Adds the target to the targets array.
21
- *
22
- * @param {Object} target - The target object.
23
- */
24
- icon(target, config) {
25
- if (this.targets && this.targets.lastIndexOf(target) !== -1) {
26
- return;
27
- }
28
- const animatedIcon = new _animatedIcon.default(target.root.model_layer.overlay, target, config);
29
- this.targets = (this.targets || []).concat(target);
30
- this.animators = (this.animators || []).concat(animatedIcon);
31
- animatedIcon.start();
32
- }
33
-
34
- /**
35
- * Adds the target to the targets array and starts the border highlighting animation.
36
- *
37
- * @param {Object} target - The target object.
38
- * @param {Object} decorator - The decorator object.
39
- */
40
- border(target, decorator) {
41
- if (this.targets && this.targets.lastIndexOf(target) !== -1) {
42
- return;
43
- }
44
- const borderHighlighting = new _borderHighlighting.default(target.root.model_layer.overlay, target, decorator);
45
- this.targets = (this.targets || []).concat(target);
46
- this.animators = (this.animators || []).concat(borderHighlighting);
47
- borderHighlighting.start();
48
- }
49
-
50
- /**
51
- * Adds the target to the targets array and starts the bouncing arrow animation.
52
- *
53
- * @param {Object} target - The target object.
54
- * @param {Object} decorator - The decorator object.
55
- */
56
- bouncing(target, decorator) {
57
- if (this.targets && this.targets.lastIndexOf(target) !== -1) {
58
- return;
59
- }
60
- const bouncingArrow = new _bouncingArrow.default(target.root.model_layer.overlay, target, decorator);
61
- this.targets = (this.targets || []).concat(target);
62
- this.animators = (this.animators || []).concat(bouncingArrow);
63
- bouncingArrow.start();
64
- }
65
-
66
- /**
67
- * Removes the target from the targets array.
68
- *
69
- * @param {Object} target - The target object.
70
- */
71
- off(target) {
72
- if (!this.targets) {
73
- return;
74
- }
75
- let copiedTarget = this.targets.slice();
76
- let copiedAnimations = this.animators.slice();
77
- let index = this.targets.lastIndexOf(target);
78
- if (index == -1) {
79
- return;
80
- }
81
- copiedTarget.splice(index, 1);
82
- const removedAnimatedIcons = copiedAnimations.splice(index, 1);
83
- removedAnimatedIcons[0]?.stop();
84
- this.targets = copiedTarget;
85
- this.animators = copiedAnimations;
86
- }
87
-
88
- /**
89
- * Handles the animator reset event.
90
- *
91
- * @param {Object} hint - The hint object.
92
- */
93
- reset(hint) {
94
- this.animators?.forEach(animator => animator.stop());
95
- this.targets = [];
96
- this.animators = [];
97
- }
98
- }
99
-
100
- /**
101
- * Handles the decoration animation event.
102
- *
103
- * @param {Object} config - The config object.
104
- * @param {'top' | 'bottom' | 'left' | 'right' | 'on'} config.location - The location of the icon.
105
- * @param {string} config.icon - The name of the icon from material icons.
106
- * @param {string} config.color - The color of the icon. ie. 'red', '#123456', ...
107
- * @param {string} config.size - The size of the icon. ie. 14px, 1.5em, ..
108
- * @param {Object} config.animations - The animation options of the icon.
109
- * @param {Object} hint - The hint object.
110
- * @param {Object} hint.origin - The origin of the hint.
111
- */
112
- function icon(config, hint) {
113
- const {
114
- origin
115
- } = hint;
116
- const root = origin.root;
117
- let {
118
- animatorHandler
119
- } = root;
120
- if (!animatorHandler) {
121
- animatorHandler = new AnimatorHandler();
122
- root.animatorHandler = animatorHandler;
123
- }
124
- animatorHandler.icon(origin, config);
125
- }
126
-
127
- /**
128
- * Handles the border highlighting event.
129
- *
130
- * @param {Object} decorator - The decorator object.
131
- * @param {Object} hint - The hint object.
132
- */
133
- function border(decorator, hint) {
134
- const {
135
- origin
136
- } = hint;
137
- const root = origin.root;
138
- let {
139
- animatorHandler
140
- } = root;
141
- if (!animatorHandler) {
142
- animatorHandler = new AnimatorHandler();
143
- root.animatorHandler = animatorHandler;
144
- }
145
- animatorHandler.border(origin, decorator);
146
- }
147
-
148
- /**
149
- * Handles the bouncing arrow event.
150
- *
151
- * @param {Object} decorator - The decorator object.
152
- * @param {Object} hint - The hint object.
153
- */
154
- function bouncing(decorator, hint) {
155
- const {
156
- origin
157
- } = hint;
158
- const root = origin.root;
159
- let {
160
- animatorHandler
161
- } = root;
162
- if (!animatorHandler) {
163
- animatorHandler = new AnimatorHandler();
164
- root.animatorHandler = animatorHandler;
165
- }
166
- animatorHandler.bouncing(origin, decorator);
167
- }
168
-
169
- /**
170
- * Handles the animator off event.
171
- *
172
- * @param {Object} hint - The hint object.
173
- */
174
- function animatoroff(hint) {
175
- const {
176
- origin
177
- } = hint;
178
- const root = origin.root;
179
- const {
180
- animatorHandler
181
- } = root;
182
- if (animatorHandler) {
183
- animatorHandler.off(origin);
184
- } else {
185
- console.warn('animator-handler not found');
186
- }
187
- }
188
-
189
- /**
190
- * Resets the animator.
191
- *
192
- * @param {Object} hint - The hint object.
193
- */
194
- function animatorreset(hint) {
195
- const {
196
- origin
197
- } = hint;
198
- const root = origin.root;
199
- const {
200
- animatorHandler
201
- } = root;
202
- animatorHandler?.reset();
203
- }
204
- function disposer(root) {
205
- const {
206
- animatorHandler
207
- } = root;
208
- animatorHandler?.reset();
209
- delete root.animatorHandler;
210
- }
211
- _eventMap.default.register('animator-handler', {
212
- 'model-layer': {
213
- '(descendant)': {
214
- icon,
215
- border,
216
- bouncing,
217
- animatoroff,
218
- animatorreset
219
- },
220
- '(self)': {
221
- animatorreset
222
- }
223
- }
224
- }, disposer);
225
- //# sourceMappingURL=animator-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animator-handler.js","names":["_eventMap","_interopRequireDefault","require","_animatedIcon","_borderHighlighting","_bouncingArrow","e","__esModule","default","AnimatorHandler","icon","target","config","targets","lastIndexOf","animatedIcon","AnimatedIcon","root","model_layer","overlay","concat","animators","start","border","decorator","borderHighlighting","BorderHighlighting","bouncing","bouncingArrow","BouncingArrow","off","copiedTarget","slice","copiedAnimations","index","splice","removedAnimatedIcons","stop","reset","hint","forEach","animator","origin","animatorHandler","animatoroff","console","warn","animatorreset","disposer","EventMap","register"],"sources":["../../src/event-map/animator-handler.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport EventMap from './event-map.js'\nimport AnimatedIcon from './animators/animated-icon.js'\nimport BorderHighlighting from './animators/border-highlighting.js'\nimport BouncingArrow from './animators/bouncing-arrow.js'\n\n/**\n * AnimatorHandler is a layer that shows material icons with animation effects at the relative position of the target component.\n *\n * @class\n * @extends EventMapHandler\n */\nclass AnimatorHandler {\n /**\n * Adds the target to the targets array.\n *\n * @param {Object} target - The target object.\n */\n icon(target, config) {\n if (this.targets && this.targets.lastIndexOf(target) !== -1) {\n return\n }\n\n const animatedIcon = new AnimatedIcon(target.root.model_layer.overlay, target, config)\n\n this.targets = (this.targets || []).concat(target)\n this.animators = (this.animators || []).concat(animatedIcon)\n\n animatedIcon.start()\n }\n\n /**\n * Adds the target to the targets array and starts the border highlighting animation.\n *\n * @param {Object} target - The target object.\n * @param {Object} decorator - The decorator object.\n */\n border(target, decorator) {\n if (this.targets && this.targets.lastIndexOf(target) !== -1) {\n return\n }\n\n const borderHighlighting = new BorderHighlighting(target.root.model_layer.overlay, target, decorator)\n\n this.targets = (this.targets || []).concat(target)\n this.animators = (this.animators || []).concat(borderHighlighting)\n\n borderHighlighting.start()\n }\n\n /**\n * Adds the target to the targets array and starts the bouncing arrow animation.\n *\n * @param {Object} target - The target object.\n * @param {Object} decorator - The decorator object.\n */\n bouncing(target, decorator) {\n if (this.targets && this.targets.lastIndexOf(target) !== -1) {\n return\n }\n\n const bouncingArrow = new BouncingArrow(target.root.model_layer.overlay, target, decorator)\n\n this.targets = (this.targets || []).concat(target)\n this.animators = (this.animators || []).concat(bouncingArrow)\n\n bouncingArrow.start()\n }\n\n /**\n * Removes the target from the targets array.\n *\n * @param {Object} target - The target object.\n */\n off(target) {\n if (!this.targets) {\n return\n }\n\n let copiedTarget = this.targets.slice()\n let copiedAnimations = this.animators.slice()\n let index = this.targets.lastIndexOf(target)\n\n if (index == -1) {\n return\n }\n\n copiedTarget.splice(index, 1)\n const removedAnimatedIcons = copiedAnimations.splice(index, 1)\n removedAnimatedIcons[0]?.stop()\n\n this.targets = copiedTarget\n this.animators = copiedAnimations\n }\n\n /**\n * Handles the animator reset event.\n *\n * @param {Object} hint - The hint object.\n */\n reset(hint) {\n this.animators?.forEach(animator => animator.stop())\n\n this.targets = []\n this.animators = []\n }\n}\n\n/**\n * Handles the decoration animation event.\n *\n * @param {Object} config - The config object.\n * @param {'top' | 'bottom' | 'left' | 'right' | 'on'} config.location - The location of the icon.\n * @param {string} config.icon - The name of the icon from material icons.\n * @param {string} config.color - The color of the icon. ie. 'red', '#123456', ...\n * @param {string} config.size - The size of the icon. ie. 14px, 1.5em, ..\n * @param {Object} config.animations - The animation options of the icon.\n * @param {Object} hint - The hint object.\n * @param {Object} hint.origin - The origin of the hint.\n */\nfunction icon(config, hint) {\n const { origin } = hint\n const root = origin.root\n let { animatorHandler } = root\n\n if (!animatorHandler) {\n animatorHandler = new AnimatorHandler()\n root.animatorHandler = animatorHandler\n }\n\n animatorHandler.icon(origin, config)\n}\n\n/**\n * Handles the border highlighting event.\n *\n * @param {Object} decorator - The decorator object.\n * @param {Object} hint - The hint object.\n */\nfunction border(decorator, hint) {\n const { origin } = hint\n const root = origin.root\n let { animatorHandler } = root\n\n if (!animatorHandler) {\n animatorHandler = new AnimatorHandler()\n root.animatorHandler = animatorHandler\n }\n\n animatorHandler.border(origin, decorator)\n}\n\n/**\n * Handles the bouncing arrow event.\n *\n * @param {Object} decorator - The decorator object.\n * @param {Object} hint - The hint object.\n */\nfunction bouncing(decorator, hint) {\n const { origin } = hint\n const root = origin.root\n let { animatorHandler } = root\n\n if (!animatorHandler) {\n animatorHandler = new AnimatorHandler()\n root.animatorHandler = animatorHandler\n }\n\n animatorHandler.bouncing(origin, decorator)\n}\n\n/**\n * Handles the animator off event.\n *\n * @param {Object} hint - The hint object.\n */\nfunction animatoroff(hint) {\n const { origin } = hint\n const root = origin.root\n const { animatorHandler } = root\n\n if (animatorHandler) {\n animatorHandler.off(origin)\n } else {\n console.warn('animator-handler not found')\n }\n}\n\n/**\n * Resets the animator.\n *\n * @param {Object} hint - The hint object.\n */\nfunction animatorreset(hint) {\n const { origin } = hint\n const root = origin.root\n const { animatorHandler } = root\n\n animatorHandler?.reset()\n}\n\nfunction disposer(root) {\n const { animatorHandler } = root\n\n animatorHandler?.reset()\n\n delete root.animatorHandler\n}\n\nEventMap.register(\n 'animator-handler',\n {\n 'model-layer': {\n '(descendant)': {\n icon,\n border,\n bouncing,\n animatoroff,\n animatorreset\n },\n '(self)': {\n animatorreset\n }\n }\n },\n disposer\n)\n"],"mappings":"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","ignoreList":[]}
@@ -1,265 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var Animation = _interopRequireWildcard(require("../../animation/index.js"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
13
- * Copyright © HatioLab Inc. All rights reserved.
14
- */
15
- class AnimatedIcon {
16
- constructor(overlay, target, config) {
17
- _defineProperty(this, "_delta", {
18
- theta: 0,
19
- tx: 0,
20
- ty: 0,
21
- sx: 1,
22
- sy: 1,
23
- fade: 0
24
- });
25
- _defineProperty(this, "_location", null);
26
- const {
27
- animations,
28
- ...decorator
29
- } = config;
30
- this.overlay = overlay;
31
- this.target = target;
32
- this.decorator = decorator || {};
33
- this.animations = [];
34
- if (Array.isArray(animations)) {
35
- this.animations = animations.map(animation => {
36
- if ('theta' in animation) {
37
- animation = {
38
- ...animation,
39
- theta: animation.theta * (Math.PI / 180)
40
- };
41
- }
42
- return Animation.compile(this, animation);
43
- });
44
- } else if (animations) {
45
- if ('theta' in animations) {
46
- animations = {
47
- ...animations,
48
- theta: animations.theta * (Math.PI / 180)
49
- };
50
- }
51
- this.animations = [Animation.compile(this, animations)];
52
- }
53
- }
54
- delta(attr, value) {
55
- if (value === undefined) {
56
- return attr ? this._delta[attr] : this._delta;
57
- }
58
- this._delta[attr] = value;
59
- const {
60
- tx,
61
- ty,
62
- sx,
63
- sy,
64
- theta,
65
- fade
66
- } = this._delta;
67
- Object.assign(this.element.style, {
68
- opacity: 1 - fade,
69
- transform: `rotate(${theta}rad) translate(${tx}px, ${ty}px) scale(${sx}, ${sy}) perspective(1px)`
70
- });
71
- }
72
- get location() {
73
- if (this._location) return this._location;
74
- const {
75
- location,
76
- size
77
- } = this.decorator;
78
- const {
79
- left,
80
- top,
81
- width,
82
- height
83
- } = this.target.bounds;
84
- let leftTop;
85
- switch (location) {
86
- case 'top-left':
87
- leftTop = {
88
- x: left,
89
- y: top - size
90
- };
91
- break;
92
- case 'top':
93
- leftTop = {
94
- x: left + (width - size) / 2,
95
- y: top - size
96
- };
97
- break;
98
- case 'top-right':
99
- leftTop = {
100
- x: left + width - size,
101
- y: top - size
102
- };
103
- break;
104
- case 'bottom-left':
105
- leftTop = {
106
- x: left,
107
- y: top + height
108
- };
109
- break;
110
- case 'bottom':
111
- leftTop = {
112
- x: left + (width - size) / 2,
113
- y: top + height
114
- };
115
- break;
116
- case 'bottom-right':
117
- leftTop = {
118
- x: left + width - size,
119
- y: top + height
120
- };
121
- break;
122
- case 'left-top':
123
- leftTop = {
124
- x: left - size,
125
- y: top
126
- };
127
- break;
128
- case 'left':
129
- leftTop = {
130
- x: left - size,
131
- y: top + (height - size) / 2
132
- };
133
- break;
134
- case 'left-bottom':
135
- leftTop = {
136
- x: left - size,
137
- y: top + (height - size)
138
- };
139
- break;
140
- case 'right-top':
141
- leftTop = {
142
- x: left + width,
143
- y: top
144
- };
145
- break;
146
- case 'right':
147
- leftTop = {
148
- x: left + width,
149
- y: top + (height - size) / 2
150
- };
151
- break;
152
- case 'right-bottom':
153
- leftTop = {
154
- x: left + width,
155
- y: top + (height - size)
156
- };
157
- break;
158
- case 'top-left-corner':
159
- leftTop = {
160
- x: left - size / 2,
161
- y: top - size / 2
162
- };
163
- break;
164
- case 'top-right-corner':
165
- leftTop = {
166
- x: left + width - size / 2,
167
- y: top - size / 2
168
- };
169
- break;
170
- case 'bottom-left-corner':
171
- leftTop = {
172
- x: left - size / 2,
173
- y: top + height - size / 2
174
- };
175
- break;
176
- case 'bottom-right-corner':
177
- leftTop = {
178
- x: left + width - size / 2,
179
- y: top + height - size / 2
180
- };
181
- break;
182
- default:
183
- leftTop = {
184
- x: left + width / 2 - size / 2,
185
- y: top + height / 2 - size / 2
186
- };
187
- }
188
- this._location = this.target.transcoordS2T(leftTop.x, leftTop.y);
189
- return this._location;
190
- }
191
- get element() {
192
- if (!this._element) {
193
- const {
194
- icon,
195
- size,
196
- color
197
- } = this.decorator;
198
- const {
199
- x: left,
200
- y: top
201
- } = this.location;
202
- const element = document.createElement('div');
203
- element.setAttribute('scene', 'animated-icon');
204
- Object.assign(element.style, {
205
- position: 'absolute',
206
- fontVariationSettings: `'FILL' 1`,
207
- fontFamily: 'Material Symbols Outlined',
208
- fontSize: size + 'px',
209
- width: size + 'px',
210
- height: size + 'px',
211
- lineHeight: size + 'px',
212
- padding: 0,
213
- margin: 0,
214
- color: color,
215
- textAlign: 'center',
216
- verticalAlign: 'middle',
217
- left: left + 'px',
218
- top: top + 'px',
219
- pointerEvents: 'none'
220
- });
221
- element.textContent = icon;
222
- this._element = element;
223
- }
224
- return this._element;
225
- }
226
- touch() {}
227
- invalidate() {}
228
- start() {
229
- this.overlay.appendChild(this.element);
230
- this.animations.forEach(animation => animation.start());
231
- }
232
- stop() {
233
- this.overlay.removeChild(this.element);
234
- this.animations.forEach(animation => animation.stop());
235
- this._location = null;
236
- }
237
- get root() {
238
- return this.target.root;
239
- }
240
- get center() {
241
- const {
242
- size
243
- } = this.decorator;
244
- const {
245
- x,
246
- y
247
- } = this.location;
248
- return {
249
- x: x + size / 2,
250
- y: y + size / 2
251
- };
252
- }
253
- transcoordS2T(x, y) {
254
- const {
255
- tx,
256
- ty
257
- } = this._delta;
258
- return {
259
- x: x + tx,
260
- y: y + ty
261
- };
262
- }
263
- }
264
- exports.default = AnimatedIcon;
265
- //# sourceMappingURL=animated-icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animated-icon.js","names":["Animation","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AnimatedIcon","constructor","overlay","target","config","theta","tx","ty","sx","sy","fade","animations","decorator","Array","isArray","map","animation","Math","PI","compile","delta","attr","undefined","_delta","assign","element","style","opacity","transform","location","_location","size","left","top","width","height","bounds","leftTop","x","y","transcoordS2T","_element","icon","color","document","createElement","setAttribute","position","fontVariationSettings","fontFamily","fontSize","lineHeight","padding","margin","textAlign","verticalAlign","pointerEvents","textContent","touch","invalidate","start","appendChild","forEach","stop","removeChild","root","center","exports"],"sources":["../../../src/event-map/animators/animated-icon.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport * as Animation from '../../animation/index.js'\n\nexport default class AnimatedIcon {\n constructor(overlay, target, config) {\n const { animations, ...decorator } = config\n\n this.overlay = overlay\n this.target = target\n this.decorator = decorator || {}\n\n this.animations = []\n\n if (Array.isArray(animations)) {\n this.animations = animations.map(animation => {\n if ('theta' in animation) {\n animation = { ...animation, theta: animation.theta * (Math.PI / 180) }\n }\n return Animation.compile(this, animation)\n })\n } else if (animations) {\n if ('theta' in animations) {\n animations = { ...animations, theta: animations.theta * (Math.PI / 180) }\n }\n this.animations = [Animation.compile(this, animations)]\n }\n }\n\n _delta = {\n theta: 0,\n tx: 0,\n ty: 0,\n sx: 1,\n sy: 1,\n fade: 0\n }\n\n _location = null\n\n delta(attr, value) {\n if (value === undefined) {\n return attr ? this._delta[attr] : this._delta\n }\n\n this._delta[attr] = value\n\n const { tx, ty, sx, sy, theta, fade } = this._delta\n\n Object.assign(this.element.style, {\n opacity: 1 - fade,\n transform: `rotate(${theta}rad) translate(${tx}px, ${ty}px) scale(${sx}, ${sy}) perspective(1px)`\n })\n }\n\n get location() {\n if (this._location) return this._location\n\n const { location, size } = this.decorator\n const { left, top, width, height } = this.target.bounds\n\n let leftTop\n\n switch (location) {\n case 'top-left':\n leftTop = { x: left, y: top - size }\n break\n case 'top':\n leftTop = { x: left + (width - size) / 2, y: top - size }\n break\n case 'top-right':\n leftTop = { x: left + width - size, y: top - size }\n break\n\n case 'bottom-left':\n leftTop = { x: left, y: top + height }\n break\n case 'bottom':\n leftTop = { x: left + (width - size) / 2, y: top + height }\n break\n case 'bottom-right':\n leftTop = { x: left + width - size, y: top + height }\n break\n\n case 'left-top':\n leftTop = { x: left - size, y: top }\n break\n case 'left':\n leftTop = { x: left - size, y: top + (height - size) / 2 }\n break\n case 'left-bottom':\n leftTop = { x: left - size, y: top + (height - size) }\n break\n\n case 'right-top':\n leftTop = { x: left + width, y: top }\n break\n case 'right':\n leftTop = { x: left + width, y: top + (height - size) / 2 }\n break\n case 'right-bottom':\n leftTop = { x: left + width, y: top + (height - size) }\n break\n\n case 'top-left-corner':\n leftTop = { x: left - size / 2, y: top - size / 2 }\n break\n case 'top-right-corner':\n leftTop = { x: left + width - size / 2, y: top - size / 2 }\n break\n case 'bottom-left-corner':\n leftTop = { x: left - size / 2, y: top + height - size / 2 }\n break\n case 'bottom-right-corner':\n leftTop = { x: left + width - size / 2, y: top + height - size / 2 }\n break\n\n default:\n leftTop = { x: left + width / 2 - size / 2, y: top + height / 2 - size / 2 }\n }\n\n this._location = this.target.transcoordS2T(leftTop.x, leftTop.y)\n return this._location\n }\n\n get element() {\n if (!this._element) {\n const { icon, size, color } = this.decorator\n const { x: left, y: top } = this.location\n\n const element = document.createElement('div')\n element.setAttribute('scene', 'animated-icon')\n\n Object.assign(element.style, {\n position: 'absolute',\n fontVariationSettings: `'FILL' 1`,\n fontFamily: 'Material Symbols Outlined',\n fontSize: size + 'px',\n width: size + 'px',\n height: size + 'px',\n lineHeight: size + 'px',\n padding: 0,\n margin: 0,\n color: color,\n textAlign: 'center',\n verticalAlign: 'middle',\n left: left + 'px',\n top: top + 'px',\n pointerEvents: 'none'\n })\n\n element.textContent = icon\n this._element = element\n }\n\n return this._element\n }\n\n touch() {}\n invalidate() {}\n\n start() {\n this.overlay.appendChild(this.element)\n this.animations.forEach(animation => animation.start())\n }\n\n stop() {\n this.overlay.removeChild(this.element)\n this.animations.forEach(animation => animation.stop())\n this._location = null\n }\n\n get root() {\n return this.target.root\n }\n\n get center() {\n const { size } = this.decorator\n const { x, y } = this.location\n return { x: x + size / 2, y: y + size / 2 }\n }\n\n transcoordS2T(x, y) {\n const { tx, ty } = this._delta\n return { x: x + tx, y: y + ty }\n }\n}\n"],"mappings":"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","ignoreList":[]}