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

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,154 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _component = _interopRequireDefault(require("./component.js"));
8
- var _htmlOverlayContainer = _interopRequireDefault(require("./html-overlay-container.js"));
9
- var _logger = require("../core/logger.js");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- /*
12
- * Copyright © HatioLab Inc. All rights reserved.
13
- */
14
-
15
- const NATURE = {
16
- mutable: false,
17
- resizable: true,
18
- rotatable: true,
19
- properties: [{
20
- type: 'board-selector',
21
- label: 'scene-number',
22
- name: 'ref',
23
- placeholder: 'SCENE-1'
24
- }, {
25
- type: 'number',
26
- label: 'round',
27
- name: 'round',
28
- property: {
29
- min: 0
30
- }
31
- }, {
32
- type: 'select',
33
- label: 'fit',
34
- name: 'fit',
35
- property: {
36
- options: ['', 'both', 'ratio', 'width', 'height', 'none']
37
- }
38
- }, {
39
- type: 'select',
40
- label: 'mode',
41
- name: 'mode',
42
- property: {
43
- options: ['view', 'interaction']
44
- }
45
- }],
46
- 'value-property': 'ref',
47
- help: 'scene/component/global-ref'
48
- };
49
- class GlobalRef extends _htmlOverlayContainer.default {
50
- dispose() {
51
- this._releaseRef();
52
- super.dispose();
53
- }
54
- get nature() {
55
- return NATURE;
56
- }
57
- get hasTextProperty() {
58
- return false;
59
- }
60
- get tagName() {
61
- return 'div';
62
- }
63
- setElementProperties(element) {
64
- var {
65
- mode = 'view',
66
- round = 0
67
- } = this.state;
68
- if (mode == 'view') {
69
- element.style.pointerEvents = 'none';
70
- } else {
71
- element.style.pointerEvents = 'inherit';
72
- }
73
- element.style.borderRadius = round + 'px';
74
- }
75
- ready() {
76
- super.ready();
77
- this.fetchRef();
78
- }
79
- reposition() {
80
- if (!this.element) return;
81
- super.reposition();
82
-
83
- /* 컴포넌트 자신의 bound가 변화했다면, reference 를 다시 맞춘다. */
84
- let oldBounds = this._element_bounds;
85
- let {
86
- offsetWidth,
87
- offsetHeight
88
- } = this.element;
89
- this._element_bounds = {
90
- offsetWidth,
91
- offsetHeight
92
- };
93
- if (oldBounds && oldBounds.offsetWidth == offsetWidth && oldBounds.offsetHeight == offsetHeight) {
94
- return;
95
- }
96
- if (this.ref && this.root.target_element) {
97
- let {
98
- fit = 'ratio'
99
- } = this.state;
100
- this.ref.fit(fit);
101
- }
102
- }
103
- async fetchRef() {
104
- this._releaseRef();
105
- var {
106
- ref,
107
- fit = 'ratio'
108
- } = this.state;
109
- if (!ref) return;
110
- var provider = this.app.refProvider;
111
- if (provider && ref) {
112
- try {
113
- this.__ref = await provider.get(ref, true);
114
- this.__ref.target = this.element;
115
- this.__ref.fit(fit);
116
- this.__ref.data = this.data;
117
- } catch (e) {
118
- (0, _logger.error)(e);
119
- }
120
- }
121
- }
122
- get ref() {
123
- return this.__ref;
124
- }
125
- set ref(ref) {
126
- this.setState('ref', ref);
127
- }
128
- _releaseRef() {
129
- if (this.__ref && this.__ref.release) {
130
- this.__ref.release();
131
- }
132
- delete this.__ref;
133
- }
134
- onchange(after, before, hint) {
135
- super.onchange(after, before, hint);
136
- 'ref' in after && this.fetchRef();
137
- if ('fit' in after && this.ref) {
138
- requestAnimationFrame(() => {
139
- let {
140
- fit
141
- } = this.state;
142
- this.ref.fit(fit);
143
- });
144
- }
145
- if ('data' in after && this.ref) {
146
- requestAnimationFrame(() => {
147
- this.ref.data = after.data;
148
- });
149
- }
150
- }
151
- }
152
- exports.default = GlobalRef;
153
- _component.default.register('global-ref', GlobalRef);
154
- //# sourceMappingURL=global-ref.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-ref.js","names":["_component","_interopRequireDefault","require","_htmlOverlayContainer","_logger","e","__esModule","default","NATURE","mutable","resizable","rotatable","properties","type","label","name","placeholder","property","min","options","help","GlobalRef","HTMLOverlayContainer","dispose","_releaseRef","nature","hasTextProperty","tagName","setElementProperties","element","mode","round","state","style","pointerEvents","borderRadius","ready","fetchRef","reposition","oldBounds","_element_bounds","offsetWidth","offsetHeight","ref","root","target_element","fit","provider","app","refProvider","__ref","get","target","data","error","setState","release","onchange","after","before","hint","requestAnimationFrame","exports","Component","register"],"sources":["../../src/components/global-ref.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\nimport HTMLOverlayContainer from './html-overlay-container.js'\nimport { error } from '../core/logger.js'\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'board-selector',\n label: 'scene-number',\n name: 'ref',\n placeholder: 'SCENE-1'\n },\n {\n type: 'number',\n label: 'round',\n name: 'round',\n property: {\n min: 0\n }\n },\n {\n type: 'select',\n label: 'fit',\n name: 'fit',\n property: {\n options: ['', 'both', 'ratio', 'width', 'height', 'none']\n }\n },\n {\n type: 'select',\n label: 'mode',\n name: 'mode',\n property: {\n options: ['view', 'interaction']\n }\n }\n ],\n 'value-property': 'ref',\n help: 'scene/component/global-ref'\n}\n\nexport default class GlobalRef extends HTMLOverlayContainer {\n dispose() {\n this._releaseRef()\n super.dispose()\n }\n\n get nature() {\n return NATURE\n }\n\n get hasTextProperty() {\n return false\n }\n\n get tagName() {\n return 'div'\n }\n\n setElementProperties(element) {\n var { mode = 'view', round = 0 } = this.state\n\n if (mode == 'view') {\n element.style.pointerEvents = 'none'\n } else {\n element.style.pointerEvents = 'inherit'\n }\n\n element.style.borderRadius = round + 'px'\n }\n\n ready() {\n super.ready()\n this.fetchRef()\n }\n\n reposition() {\n if (!this.element) return\n\n super.reposition()\n\n /* 컴포넌트 자신의 bound가 변화했다면, reference 를 다시 맞춘다. */\n let oldBounds = this._element_bounds\n let { offsetWidth, offsetHeight } = this.element\n this._element_bounds = { offsetWidth, offsetHeight }\n\n if (oldBounds && oldBounds.offsetWidth == offsetWidth && oldBounds.offsetHeight == offsetHeight) {\n return\n }\n\n if (this.ref && this.root.target_element) {\n let { fit = 'ratio' } = this.state\n\n this.ref.fit(fit)\n }\n }\n\n async fetchRef() {\n this._releaseRef()\n\n var { ref, fit = 'ratio' } = this.state\n\n if (!ref) return\n\n var provider = this.app.refProvider\n\n if (provider && ref) {\n try {\n this.__ref = await provider.get(ref, true)\n this.__ref.target = this.element\n this.__ref.fit(fit)\n this.__ref.data = this.data\n } catch (e) {\n error(e)\n }\n }\n }\n\n get ref() {\n return this.__ref\n }\n\n set ref(ref) {\n this.setState('ref', ref)\n }\n\n _releaseRef() {\n if (this.__ref && this.__ref.release) {\n this.__ref.release()\n }\n delete this.__ref\n }\n\n onchange(after, before, hint) {\n super.onchange(after, before, hint)\n\n 'ref' in after && this.fetchRef()\n if ('fit' in after && this.ref) {\n requestAnimationFrame(() => {\n let { fit } = this.state\n this.ref.fit(fit)\n })\n }\n\n if ('data' in after && this.ref) {\n requestAnimationFrame(() => {\n this.ref.data = after.data\n })\n }\n }\n}\n\nComponent.register('global-ref', GlobalRef)\n"],"mappings":"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","ignoreList":[]}
@@ -1,171 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _container = _interopRequireDefault(require("./container.js"));
8
- var _component = _interopRequireDefault(require("./component.js"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- /*
11
- * Copyright © HatioLab Inc. All rights reserved.
12
- */
13
-
14
- const GROUP_PROPS = ['refid', 'left', 'top', 'width', 'height', 'rotation', 'animation'];
15
- class Group extends _container.default {
16
- isGroup() {
17
- return true;
18
- }
19
-
20
- /*
21
- * 컴포넌트의 모델 속성값을 가져오는 메쏘드.
22
- */
23
- get(property) {
24
- return this._model[property];
25
- }
26
-
27
- /*
28
- * 컴포넌트의 모델 속성값을 바꾸는 메쏘드. 그룹은 5개의 속성만을 가진다.
29
- *
30
- * - 하나의 속성을 변경하는 경우.
31
- * component.set('top', 10)
32
- * - 여러개의 속성을 변경하는 경우.
33
- * component.set({top:10, left:50})
34
- */
35
-
36
- set(props, propval) {
37
- if (typeof props === 'string') return this.set({
38
- [props]: propval
39
- });
40
- var filtered = GROUP_PROPS.reduce((filtered, prop) => {
41
- if (props.hasOwnProperty(prop)) filtered[prop] = props[prop];
42
- return filtered;
43
- }, {});
44
- return super.set(filtered);
45
- }
46
- capture(x, y, except) {
47
- var captured = super.capture(x, y, except);
48
-
49
- // 그룹 자신은 capture를 받을 수 없다.
50
- if (captured === this) return;
51
- return captured;
52
- }
53
- set bounds(bounds) {
54
- if (this.__MUTATING__) {
55
- super.bounds = bounds;
56
- return;
57
- }
58
-
59
- // 1. left, top의 변화만큼 translate 한다.
60
-
61
- var old_bounds = this.bounds;
62
-
63
- // 2. width, height의 변화비율을 scale-x, scale-y 에 보관한다.
64
-
65
- var scale = {
66
- x: bounds.width / old_bounds.width,
67
- y: bounds.height / old_bounds.height
68
- };
69
-
70
- // 3. 기존 포인트들을 기존 거리에 scale-x, scale-y 만큼 조정된 위치로 새로운 bounds의 left-top으로부터 설정한다.
71
-
72
- this.path = this.path.map(point => {
73
- return {
74
- x: bounds.left + (point.x - old_bounds.left) * scale.x,
75
- y: bounds.top + (point.y - old_bounds.top) * scale.y
76
- };
77
- });
78
-
79
- // 4. PATH스타일(mutable)의 도형은 mutatePath를 사용하고,
80
- // Bounds 스타일 도형은 기존 포인트들을 기존 거리에 scale-x, scale-y 만큼 조정된 center 위치로부터
81
- // 새로운 bounds를 설정한다.
82
-
83
- this.components && this.components.forEach(comp => {
84
- if (comp.mutable) {
85
- comp.mutatePath(null, function (path_in_parent) {
86
- return path_in_parent.map(function (point) {
87
- return {
88
- x: point.x * scale.x,
89
- y: point.y * scale.y
90
- };
91
- });
92
- });
93
- } else {
94
- let bounds = comp.bounds;
95
- let center = comp.center;
96
- let delta_center = {
97
- x: center.x * (1 - scale.x),
98
- y: center.y * (1 - scale.y)
99
- };
100
- let delta_width = bounds.width * (1 - scale.x);
101
- let delta_height = bounds.height * (1 - scale.y);
102
- let delta_left = -(delta_center.x - delta_width / 2);
103
- let delta_top = -(delta_center.y - delta_height / 2);
104
- comp.bounds = {
105
- left: bounds.left + delta_left,
106
- top: bounds.top + delta_top,
107
- width: bounds.width * scale.x,
108
- height: bounds.height * scale.y
109
- };
110
- }
111
- });
112
- }
113
- get focusible() {
114
- return false;
115
- }
116
- get bounds() {
117
- return super.bounds;
118
- }
119
- get hasTextProperty() {
120
- return false;
121
- }
122
- isIdentifiable() {
123
- return false;
124
- }
125
- calculateBounds() {
126
- this.clearCache();
127
- this.__MUTATING__ = true;
128
- this.mutateBounds(function (bounds) {
129
- var union = _component.default.union(this.components.map(component => {
130
- return component.bounds;
131
- }));
132
- this.components.forEach(component => {
133
- let cbounds = component.bounds;
134
- component.bounds = {
135
- left: cbounds.left - union.left,
136
- top: cbounds.top - union.top,
137
- width: cbounds.width,
138
- height: cbounds.height
139
- };
140
- });
141
- return {
142
- left: bounds.left + union.left,
143
- top: bounds.top + union.top,
144
- width: union.width,
145
- height: union.height
146
- };
147
- }, this);
148
- this.__MUTATING__ = false;
149
- if (this.parent.isGroup()) this.parent.calculateBounds();
150
- }
151
-
152
- /* 그룹은 자체적으로는 아무것도 그리지 않는다. */
153
-
154
- render(context) {}
155
- postrender(context) {
156
- /* 자식 컴포넌트들 그리기 */
157
- var {
158
- top,
159
- left,
160
- scale
161
- } = this.state;
162
- context.translate(left, top);
163
- this.layout.drawables(this).forEach(m => {
164
- m.draw(context);
165
- });
166
- context.translate(-left, -top);
167
- }
168
- }
169
- exports.default = Group;
170
- _component.default.register('group', Group);
171
- //# sourceMappingURL=group.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group.js","names":["_container","_interopRequireDefault","require","_component","e","__esModule","default","GROUP_PROPS","Group","Container","isGroup","get","property","_model","set","props","propval","filtered","reduce","prop","hasOwnProperty","capture","x","y","except","captured","bounds","__MUTATING__","old_bounds","scale","width","height","path","map","point","left","top","components","forEach","comp","mutable","mutatePath","path_in_parent","center","delta_center","delta_width","delta_height","delta_left","delta_top","focusible","hasTextProperty","isIdentifiable","calculateBounds","clearCache","mutateBounds","union","Component","component","cbounds","parent","render","context","postrender","state","translate","layout","drawables","m","draw","exports","register"],"sources":["../../src/components/group.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Container from './container.js'\nimport Component from './component.js'\n\nconst GROUP_PROPS = ['refid', 'left', 'top', 'width', 'height', 'rotation', 'animation']\n\nexport default class Group extends Container {\n isGroup() {\n return true\n }\n\n /*\n * 컴포넌트의 모델 속성값을 가져오는 메쏘드.\n */\n get(property) {\n return this._model[property]\n }\n\n /*\n * 컴포넌트의 모델 속성값을 바꾸는 메쏘드. 그룹은 5개의 속성만을 가진다.\n *\n * - 하나의 속성을 변경하는 경우.\n * component.set('top', 10)\n * - 여러개의 속성을 변경하는 경우.\n * component.set({top:10, left:50})\n */\n\n set(props, propval) {\n if (typeof props === 'string') return this.set({ [props]: propval })\n\n var filtered = GROUP_PROPS.reduce((filtered, prop) => {\n if (props.hasOwnProperty(prop)) filtered[prop] = props[prop]\n return filtered\n }, {})\n\n return super.set(filtered)\n }\n\n capture(x, y, except) {\n var captured = super.capture(x, y, except)\n\n // 그룹 자신은 capture를 받을 수 없다.\n if (captured === this) return\n\n return captured\n }\n\n set bounds(bounds) {\n if (this.__MUTATING__) {\n super.bounds = bounds\n return\n }\n\n // 1. left, top의 변화만큼 translate 한다.\n\n var old_bounds = this.bounds\n\n // 2. width, height의 변화비율을 scale-x, scale-y 에 보관한다.\n\n var scale = {\n x: bounds.width / old_bounds.width,\n y: bounds.height / old_bounds.height\n }\n\n // 3. 기존 포인트들을 기존 거리에 scale-x, scale-y 만큼 조정된 위치로 새로운 bounds의 left-top으로부터 설정한다.\n\n this.path = this.path.map(point => {\n return {\n x: bounds.left + (point.x - old_bounds.left) * scale.x,\n y: bounds.top + (point.y - old_bounds.top) * scale.y\n }\n })\n\n // 4. PATH스타일(mutable)의 도형은 mutatePath를 사용하고,\n // Bounds 스타일 도형은 기존 포인트들을 기존 거리에 scale-x, scale-y 만큼 조정된 center 위치로부터\n // 새로운 bounds를 설정한다.\n\n this.components &&\n this.components.forEach(comp => {\n if (comp.mutable) {\n comp.mutatePath(null, function (path_in_parent) {\n return path_in_parent.map(function (point) {\n return {\n x: point.x * scale.x,\n y: point.y * scale.y\n }\n })\n })\n } else {\n let bounds = comp.bounds\n let center = comp.center\n\n let delta_center = {\n x: center.x * (1 - scale.x),\n y: center.y * (1 - scale.y)\n }\n\n let delta_width = bounds.width * (1 - scale.x)\n let delta_height = bounds.height * (1 - scale.y)\n\n let delta_left = -(delta_center.x - delta_width / 2)\n let delta_top = -(delta_center.y - delta_height / 2)\n\n comp.bounds = {\n left: bounds.left + delta_left,\n top: bounds.top + delta_top,\n width: bounds.width * scale.x,\n height: bounds.height * scale.y\n }\n }\n })\n }\n\n get focusible() {\n return false\n }\n\n get bounds() {\n return super.bounds\n }\n\n get hasTextProperty() {\n return false\n }\n\n isIdentifiable() {\n return false\n }\n\n calculateBounds() {\n this.clearCache()\n\n this.__MUTATING__ = true\n\n this.mutateBounds(function (bounds) {\n var union = Component.union(\n this.components.map(component => {\n return component.bounds\n })\n )\n\n this.components.forEach(component => {\n let cbounds = component.bounds\n\n component.bounds = {\n left: cbounds.left - union.left,\n top: cbounds.top - union.top,\n width: cbounds.width,\n height: cbounds.height\n }\n })\n\n return {\n left: bounds.left + union.left,\n top: bounds.top + union.top,\n width: union.width,\n height: union.height\n }\n }, this)\n\n this.__MUTATING__ = false\n\n if (this.parent.isGroup()) this.parent.calculateBounds()\n }\n\n /* 그룹은 자체적으로는 아무것도 그리지 않는다. */\n\n render(context) {}\n\n postrender(context) {\n /* 자식 컴포넌트들 그리기 */\n var { top, left, scale } = this.state\n context.translate(left, top)\n\n this.layout.drawables(this).forEach(m => {\n m.draw(context)\n })\n\n context.translate(-left, -top)\n }\n}\n\nComponent.register('group', Group)\n"],"mappings":";;;;;;AAIA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AALtC;AACA;AACA;;AAKA,MAAMG,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC;AAEzE,MAAMC,KAAK,SAASC,kBAAS,CAAC;EAC3CC,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,GAAGA,CAACC,QAAQ,EAAE;IACZ,OAAO,IAAI,CAACC,MAAM,CAACD,QAAQ,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAEEE,GAAGA,CAACC,KAAK,EAAEC,OAAO,EAAE;IAClB,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI,CAACD,GAAG,CAAC;MAAE,CAACC,KAAK,GAAGC;IAAQ,CAAC,CAAC;IAEpE,IAAIC,QAAQ,GAAGV,WAAW,CAACW,MAAM,CAAC,CAACD,QAAQ,EAAEE,IAAI,KAAK;MACpD,IAAIJ,KAAK,CAACK,cAAc,CAACD,IAAI,CAAC,EAAEF,QAAQ,CAACE,IAAI,CAAC,GAAGJ,KAAK,CAACI,IAAI,CAAC;MAC5D,OAAOF,QAAQ;IACjB,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,OAAO,KAAK,CAACH,GAAG,CAACG,QAAQ,CAAC;EAC5B;EAEAI,OAAOA,CAACC,CAAC,EAAEC,CAAC,EAAEC,MAAM,EAAE;IACpB,IAAIC,QAAQ,GAAG,KAAK,CAACJ,OAAO,CAACC,CAAC,EAAEC,CAAC,EAAEC,MAAM,CAAC;;IAE1C;IACA,IAAIC,QAAQ,KAAK,IAAI,EAAE;IAEvB,OAAOA,QAAQ;EACjB;EAEA,IAAIC,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,IAAI,CAACC,YAAY,EAAE;MACrB,KAAK,CAACD,MAAM,GAAGA,MAAM;MACrB;IACF;;IAEA;;IAEA,IAAIE,UAAU,GAAG,IAAI,CAACF,MAAM;;IAE5B;;IAEA,IAAIG,KAAK,GAAG;MACVP,CAAC,EAAEI,MAAM,CAACI,KAAK,GAAGF,UAAU,CAACE,KAAK;MAClCP,CAAC,EAAEG,MAAM,CAACK,MAAM,GAAGH,UAAU,CAACG;IAChC,CAAC;;IAED;;IAEA,IAAI,CAACC,IAAI,GAAG,IAAI,CAACA,IAAI,CAACC,GAAG,CAACC,KAAK,IAAI;MACjC,OAAO;QACLZ,CAAC,EAAEI,MAAM,CAACS,IAAI,GAAG,CAACD,KAAK,CAACZ,CAAC,GAAGM,UAAU,CAACO,IAAI,IAAIN,KAAK,CAACP,CAAC;QACtDC,CAAC,EAAEG,MAAM,CAACU,GAAG,GAAG,CAACF,KAAK,CAACX,CAAC,GAAGK,UAAU,CAACQ,GAAG,IAAIP,KAAK,CAACN;MACrD,CAAC;IACH,CAAC,CAAC;;IAEF;IACA;IACA;;IAEA,IAAI,CAACc,UAAU,IACb,IAAI,CAACA,UAAU,CAACC,OAAO,CAACC,IAAI,IAAI;MAC9B,IAAIA,IAAI,CAACC,OAAO,EAAE;QAChBD,IAAI,CAACE,UAAU,CAAC,IAAI,EAAE,UAAUC,cAAc,EAAE;UAC9C,OAAOA,cAAc,CAACT,GAAG,CAAC,UAAUC,KAAK,EAAE;YACzC,OAAO;cACLZ,CAAC,EAAEY,KAAK,CAACZ,CAAC,GAAGO,KAAK,CAACP,CAAC;cACpBC,CAAC,EAAEW,KAAK,CAACX,CAAC,GAAGM,KAAK,CAACN;YACrB,CAAC;UACH,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAIG,MAAM,GAAGa,IAAI,CAACb,MAAM;QACxB,IAAIiB,MAAM,GAAGJ,IAAI,CAACI,MAAM;QAExB,IAAIC,YAAY,GAAG;UACjBtB,CAAC,EAAEqB,MAAM,CAACrB,CAAC,IAAI,CAAC,GAAGO,KAAK,CAACP,CAAC,CAAC;UAC3BC,CAAC,EAAEoB,MAAM,CAACpB,CAAC,IAAI,CAAC,GAAGM,KAAK,CAACN,CAAC;QAC5B,CAAC;QAED,IAAIsB,WAAW,GAAGnB,MAAM,CAACI,KAAK,IAAI,CAAC,GAAGD,KAAK,CAACP,CAAC,CAAC;QAC9C,IAAIwB,YAAY,GAAGpB,MAAM,CAACK,MAAM,IAAI,CAAC,GAAGF,KAAK,CAACN,CAAC,CAAC;QAEhD,IAAIwB,UAAU,GAAG,EAAEH,YAAY,CAACtB,CAAC,GAAGuB,WAAW,GAAG,CAAC,CAAC;QACpD,IAAIG,SAAS,GAAG,EAAEJ,YAAY,CAACrB,CAAC,GAAGuB,YAAY,GAAG,CAAC,CAAC;QAEpDP,IAAI,CAACb,MAAM,GAAG;UACZS,IAAI,EAAET,MAAM,CAACS,IAAI,GAAGY,UAAU;UAC9BX,GAAG,EAAEV,MAAM,CAACU,GAAG,GAAGY,SAAS;UAC3BlB,KAAK,EAAEJ,MAAM,CAACI,KAAK,GAAGD,KAAK,CAACP,CAAC;UAC7BS,MAAM,EAAEL,MAAM,CAACK,MAAM,GAAGF,KAAK,CAACN;QAChC,CAAC;MACH;IACF,CAAC,CAAC;EACN;EAEA,IAAI0B,SAASA,CAAA,EAAG;IACd,OAAO,KAAK;EACd;EAEA,IAAIvB,MAAMA,CAAA,EAAG;IACX,OAAO,KAAK,CAACA,MAAM;EACrB;EAEA,IAAIwB,eAAeA,CAAA,EAAG;IACpB,OAAO,KAAK;EACd;EAEAC,cAAcA,CAAA,EAAG;IACf,OAAO,KAAK;EACd;EAEAC,eAAeA,CAAA,EAAG;IAChB,IAAI,CAACC,UAAU,CAAC,CAAC;IAEjB,IAAI,CAAC1B,YAAY,GAAG,IAAI;IAExB,IAAI,CAAC2B,YAAY,CAAC,UAAU5B,MAAM,EAAE;MAClC,IAAI6B,KAAK,GAAGC,kBAAS,CAACD,KAAK,CACzB,IAAI,CAAClB,UAAU,CAACJ,GAAG,CAACwB,SAAS,IAAI;QAC/B,OAAOA,SAAS,CAAC/B,MAAM;MACzB,CAAC,CACH,CAAC;MAED,IAAI,CAACW,UAAU,CAACC,OAAO,CAACmB,SAAS,IAAI;QACnC,IAAIC,OAAO,GAAGD,SAAS,CAAC/B,MAAM;QAE9B+B,SAAS,CAAC/B,MAAM,GAAG;UACjBS,IAAI,EAAEuB,OAAO,CAACvB,IAAI,GAAGoB,KAAK,CAACpB,IAAI;UAC/BC,GAAG,EAAEsB,OAAO,CAACtB,GAAG,GAAGmB,KAAK,CAACnB,GAAG;UAC5BN,KAAK,EAAE4B,OAAO,CAAC5B,KAAK;UACpBC,MAAM,EAAE2B,OAAO,CAAC3B;QAClB,CAAC;MACH,CAAC,CAAC;MAEF,OAAO;QACLI,IAAI,EAAET,MAAM,CAACS,IAAI,GAAGoB,KAAK,CAACpB,IAAI;QAC9BC,GAAG,EAAEV,MAAM,CAACU,GAAG,GAAGmB,KAAK,CAACnB,GAAG;QAC3BN,KAAK,EAAEyB,KAAK,CAACzB,KAAK;QAClBC,MAAM,EAAEwB,KAAK,CAACxB;MAChB,CAAC;IACH,CAAC,EAAE,IAAI,CAAC;IAER,IAAI,CAACJ,YAAY,GAAG,KAAK;IAEzB,IAAI,IAAI,CAACgC,MAAM,CAACjD,OAAO,CAAC,CAAC,EAAE,IAAI,CAACiD,MAAM,CAACP,eAAe,CAAC,CAAC;EAC1D;;EAEA;;EAEAQ,MAAMA,CAACC,OAAO,EAAE,CAAC;EAEjBC,UAAUA,CAACD,OAAO,EAAE;IAClB;IACA,IAAI;MAAEzB,GAAG;MAAED,IAAI;MAAEN;IAAM,CAAC,GAAG,IAAI,CAACkC,KAAK;IACrCF,OAAO,CAACG,SAAS,CAAC7B,IAAI,EAAEC,GAAG,CAAC;IAE5B,IAAI,CAAC6B,MAAM,CAACC,SAAS,CAAC,IAAI,CAAC,CAAC5B,OAAO,CAAC6B,CAAC,IAAI;MACvCA,CAAC,CAACC,IAAI,CAACP,OAAO,CAAC;IACjB,CAAC,CAAC;IAEFA,OAAO,CAACG,SAAS,CAAC,CAAC7B,IAAI,EAAE,CAACC,GAAG,CAAC;EAChC;AACF;AAACiC,OAAA,CAAA/D,OAAA,GAAAE,KAAA;AAEDgD,kBAAS,CAACc,QAAQ,CAAC,OAAO,EAAE9D,KAAK,CAAC","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createElement = exports.createCanvas = void 0;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
-
11
- var createCanvas, createElement;
12
- if (typeof document === 'undefined') {
13
- exports.createCanvas = createCanvas = function (width, height) {
14
- return new Canvas(width, height);
15
- };
16
- } else {
17
- exports.createCanvas = createCanvas = function (width, height) {
18
- var canvas = document.createElement('canvas');
19
- canvas.width = width;
20
- canvas.height = height;
21
- return canvas;
22
- };
23
- }
24
- //# sourceMappingURL=elements.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elements.js","names":["createCanvas","createElement","document","exports","width","height","Canvas","canvas"],"sources":["../../../src/components/html/elements.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport var createCanvas, createElement\n\nif (typeof document === 'undefined') {\n createCanvas = function(width, height) {\n return new Canvas(width, height)\n }\n} else {\n createCanvas = function(width, height) {\n var canvas = document.createElement('canvas')\n canvas.width = width\n canvas.height = height\n return canvas\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEO,IAAIA,YAAY,EAAEC,aAAa;AAEtC,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EACnCC,OAAA,CAAAH,YAAA,GAAAA,YAAY,GAAG,SAAAA,CAASI,KAAK,EAAEC,MAAM,EAAE;IACrC,OAAO,IAAIC,MAAM,CAACF,KAAK,EAAEC,MAAM,CAAC;EAClC,CAAC;AACH,CAAC,MAAM;EACLF,OAAA,CAAAH,YAAA,GAAAA,YAAY,GAAG,SAAAA,CAASI,KAAK,EAAEC,MAAM,EAAE;IACrC,IAAIE,MAAM,GAAGL,QAAQ,CAACD,aAAa,CAAC,QAAQ,CAAC;IAC7CM,MAAM,CAACH,KAAK,GAAGA,KAAK;IACpBG,MAAM,CAACF,MAAM,GAAGA,MAAM;IACtB,OAAOE,MAAM;EACf,CAAC;AACH","ignoreList":[]}
@@ -1,126 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = fill;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
-
11
- function fill(component) {
12
- var element = component.element;
13
- var fillStyle = component.fillStyle;
14
- var style = element.style;
15
- if (!fillStyle) {
16
- style.background = 'transparent';
17
- return;
18
- }
19
- if (typeof fillStyle == 'string') {
20
- style.backgroundColor = fillStyle;
21
- } else {
22
- switch (fillStyle.type) {
23
- case 'pattern':
24
- style.backgroundImage = 'url(' + fillStyle.image + ')';
25
- style.backgroundColor = 'transparent';
26
- if (fillStyle.fitPattern) {
27
- style.backgroundSize = '100% 100%';
28
- } else if (!fillStyle.width && !fillStyle.height) {
29
- style.backgroundSize = 'contain';
30
- } else {
31
- style.backgroundSize = `${fillStyle.width ? fillStyle.width + 'px' : 'auto'} ${fillStyle.height ? fillStyle.height + 'px' : 'auto'}`;
32
- }
33
- if (fillStyle.fitPattern) {
34
- style.backgroundRepeat = 'no-repeat';
35
- } else {
36
- const {
37
- offsetX,
38
- offsetY,
39
- noRepeat,
40
- align,
41
- color
42
- } = fillStyle;
43
- if (noRepeat) {
44
- style.backgroundRepeat = 'no-repeat';
45
- }
46
- if (color) {
47
- style.backgroundColor = color;
48
- }
49
- if (align) {
50
- switch (align) {
51
- case 'center':
52
- style.backgroundPosition = 'center center';
53
- break;
54
- case 'left-top':
55
- style.backgroundPosition = 'left top';
56
- break;
57
- case 'left-bottom':
58
- style.backgroundPosition = 'left bottom';
59
- break;
60
- case 'right-top':
61
- style.backgroundPosition = 'right top';
62
- break;
63
- case 'right-bottom':
64
- style.backgroundPosition = 'right bottom';
65
- break;
66
- case 'left':
67
- style.backgroundPosition = 'left center';
68
- break;
69
- case 'right':
70
- style.backgroundPosition = 'right center';
71
- break;
72
- case 'top':
73
- style.backgroundPosition = 'center top';
74
- break;
75
- case 'bottom':
76
- style.backgroundPosition = 'center bottom';
77
- break;
78
- }
79
- } else if (offsetX || offsetY) {
80
- style.backgroundPosition = `${Number(offsetX) || 0}px ${Number(offsetY) || 0}px`;
81
- } else {
82
- delete style.backgroundPosition;
83
- }
84
- }
85
- break;
86
- case 'gradient':
87
- style.background = gradation(component, fillStyle);
88
- break;
89
- default:
90
- }
91
- }
92
- }
93
- function gradation(component, fillStyle) {
94
- var colorStops = fillStyle.colorStops;
95
- var type = fillStyle.gradientType;
96
- if (colorStops instanceof Array && colorStops.length > 0) {
97
- switch (type) {
98
- case 'radial':
99
- let center = fillStyle.center || 'center';
100
- return 'radial-gradient(farthest-corner at ' + position(component, center).map(p => p + 'px').join(' ') + ',' + colorStops.map(stop => `${stop.color} ${stop.position * 100}%`).join(',') + ')';
101
- case 'linear':
102
- let angle = (fillStyle.rotation || 0) * 180 / 3.141592653589793 + 90 + 'deg';
103
- return 'linear-gradient(' + angle + ', ' + colorStops.map(stop => `${stop.color} ${stop.position * 100}%`).join(',') + ')';
104
- }
105
- }
106
- return '';
107
- }
108
- function position(component, center) {
109
- var {
110
- width,
111
- height
112
- } = component.bounds;
113
- switch (center) {
114
- case 'center':
115
- return [width / 2, height / 2];
116
- case 'left-top':
117
- return [0, 0];
118
- case 'right-top':
119
- return [width, 0];
120
- case 'left-bottom':
121
- return [0, height];
122
- default:
123
- return [width, height];
124
- }
125
- }
126
- //# sourceMappingURL=fill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fill.js","names":["fill","component","element","fillStyle","style","background","backgroundColor","type","backgroundImage","image","fitPattern","backgroundSize","width","height","backgroundRepeat","offsetX","offsetY","noRepeat","align","color","backgroundPosition","Number","gradation","colorStops","gradientType","Array","length","center","position","map","p","join","stop","angle","rotation","bounds"],"sources":["../../../src/components/html/fill.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport default function fill(component) {\n var element = component.element\n var fillStyle = component.fillStyle\n var style = element.style\n\n if (!fillStyle) {\n style.background = 'transparent'\n return\n }\n\n if (typeof fillStyle == 'string') {\n style.backgroundColor = fillStyle\n } else {\n switch (fillStyle.type) {\n case 'pattern':\n style.backgroundImage = 'url(' + fillStyle.image + ')'\n style.backgroundColor = 'transparent'\n\n if (fillStyle.fitPattern) {\n style.backgroundSize = '100% 100%'\n } else if (!fillStyle.width && !fillStyle.height) {\n style.backgroundSize = 'contain'\n } else {\n style.backgroundSize = `${fillStyle.width ? fillStyle.width + 'px' : 'auto'} ${\n fillStyle.height ? fillStyle.height + 'px' : 'auto'\n }`\n }\n\n if (fillStyle.fitPattern) {\n style.backgroundRepeat = 'no-repeat'\n } else {\n const { offsetX, offsetY, noRepeat, align, color } = fillStyle\n if (noRepeat) {\n style.backgroundRepeat = 'no-repeat'\n }\n if (color) {\n style.backgroundColor = color\n }\n if (align) {\n switch (align) {\n case 'center':\n style.backgroundPosition = 'center center'\n break\n case 'left-top':\n style.backgroundPosition = 'left top'\n break\n case 'left-bottom':\n style.backgroundPosition = 'left bottom'\n break\n case 'right-top':\n style.backgroundPosition = 'right top'\n break\n case 'right-bottom':\n style.backgroundPosition = 'right bottom'\n break\n case 'left':\n style.backgroundPosition = 'left center'\n break\n case 'right':\n style.backgroundPosition = 'right center'\n break\n case 'top':\n style.backgroundPosition = 'center top'\n break\n case 'bottom':\n style.backgroundPosition = 'center bottom'\n break\n }\n } else if (offsetX || offsetY) {\n style.backgroundPosition = `${Number(offsetX) || 0}px ${Number(offsetY) || 0}px`\n } else {\n delete style.backgroundPosition\n }\n }\n break\n\n case 'gradient':\n style.background = gradation(component, fillStyle)\n break\n\n default:\n }\n }\n}\n\nfunction gradation(component, fillStyle) {\n var colorStops = fillStyle.colorStops\n var type = fillStyle.gradientType\n\n if (colorStops instanceof Array && colorStops.length > 0) {\n switch (type) {\n case 'radial':\n let center = fillStyle.center || 'center'\n return (\n 'radial-gradient(farthest-corner at ' +\n position(component, center)\n .map(p => p + 'px')\n .join(' ') +\n ',' +\n colorStops.map(stop => `${stop.color} ${stop.position * 100}%`).join(',') +\n ')'\n )\n\n case 'linear':\n let angle = ((fillStyle.rotation || 0) * 180) / 3.141592653589793 + 90 + 'deg'\n return (\n 'linear-gradient(' +\n angle +\n ', ' +\n colorStops.map(stop => `${stop.color} ${stop.position * 100}%`).join(',') +\n ')'\n )\n }\n }\n\n return ''\n}\n\nfunction position(component, center) {\n var { width, height } = component.bounds\n\n switch (center) {\n case 'center':\n return [width / 2, height / 2]\n case 'left-top':\n return [0, 0]\n case 'right-top':\n return [width, 0]\n case 'left-bottom':\n return [0, height]\n default:\n return [width, height]\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,119 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = reposition;
7
- var _const = require("../../const.js");
8
- var _fill = _interopRequireDefault(require("./fill.js"));
9
- var _shadow = _interopRequireDefault(require("./shadow.js"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- /*
12
- * Copyright © HatioLab Inc. All rights reserved.
13
- */
14
-
15
- const SCALE_DEFAULT = {
16
- x: 1,
17
- y: 1
18
- };
19
- const TRANSLATE_DEFAULT = {
20
- x: 0,
21
- y: 0
22
- };
23
- const DEFAULT_STYLE = {
24
- boxSizing: 'border-box',
25
- margin: '0px',
26
- position: 'absolute',
27
- outline: 'none'
28
- };
29
- function reposition(component) {
30
- var {
31
- id,
32
- scale = SCALE_DEFAULT,
33
- translate = TRANSLATE_DEFAULT,
34
- bold,
35
- italic,
36
- fontFamily = '',
37
- textAlign,
38
- textBaseline,
39
- textOverflow,
40
- paddingTop,
41
- paddingBottom,
42
- paddingLeft,
43
- paddingRight,
44
- fontSize = _const.DEFAULT.FONT_SIZE,
45
- lineWidth = 0,
46
- lineHeight,
47
- lineDash
48
- } = component.state;
49
- paddingBottom ||= 0;
50
- paddingTop ||= 0;
51
- paddingLeft ||= 0;
52
- paddingRight ||= 0;
53
- var className = component.state['class'];
54
- var text = component.text;
55
- var {
56
- strokeStyle,
57
- fillStyle,
58
- rotation = 0,
59
- fontColor,
60
- hidden
61
- } = component;
62
- var {
63
- left,
64
- top,
65
- width,
66
- height
67
- } = component.bounds;
68
-
69
- // element의 기본 속성을 설정한다.
70
- var element = component.element;
71
- element.hidden = hidden;
72
- if (id) element.id = id;
73
- if (className) element.className = className;
74
-
75
- // element의 기본 style을 설정한다.
76
-
77
- Object.assign(element.style, DEFAULT_STYLE, {
78
- fontFamily: fontFamily,
79
- fontSize: fontSize + 'px',
80
- width: width + 'px',
81
- height: height + 'px',
82
- paddingTop: paddingTop + 'px',
83
- paddingRight: paddingRight + 'px',
84
- paddingBottom: paddingBottom + 'px',
85
- paddingLeft: paddingLeft + 'px',
86
- border: lineWidth + 'px',
87
- borderColor: strokeStyle,
88
- borderStyle: lineWidth > 0 ? lineDash || _const.DEFAULT.LINE_DASH : '',
89
- color: fontColor,
90
- fontWeight: bold ? 'bold' : '',
91
- fontStyle: italic ? 'italic' : '',
92
- textAlign: textAlign == 'end' ? 'right' : textAlign == 'start' ? 'left' : textAlign,
93
- verticalAlign: textBaseline,
94
- lineHeight: lineHeight === undefined ? '' : lineHeight + 'px',
95
- whiteSpace: textOverflow ? 'nowrap' : '',
96
- overflow: textOverflow ? 'hidden' : '',
97
- textOverflow: textOverflow || ''
98
- }, /* 3D 공간에서는 자체적으로 위치를 조정하므로, left, top을 설정하지 않는다. */
99
- !component.isIn3DSpace() ? {
100
- left: left + 'px',
101
- top: top + 'px'
102
- } : {});
103
- (0, _fill.default)(component);
104
- (0, _shadow.default)(component);
105
- if (component.isIn3DSpace()) {
106
- /* 3D 공간에서는 자체적으로 transform을 사용하므로 종료한다. */
107
- return;
108
- }
109
- var delta = component.delta();
110
- var sx = (scale && scale.x || 1) * delta.sx;
111
- var sy = (scale && scale.y || 1) * delta.sy;
112
- var theta = (rotation || 0) + delta.theta;
113
- var tx = delta.tx || 0;
114
- var ty = delta.ty || 0;
115
-
116
- /* CONFIRM-ME `transform: perspective(1px)` 스타일 설정은 scaling된 dom element를 좀 더 선명하게 보이도록 해준다. (Chrome 브라우저에서) */
117
- element.style.transform = `rotate(${theta}rad) translate(${tx}px, ${ty}px) scale(${sx}, ${sy}) perspective(1px)`;
118
- }
119
- //# sourceMappingURL=reposition.js.map