@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,115 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = format;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
-
11
- /*
12
- * Source Code from https://github.com/Mottie/javascript-number-formatter
13
- * 소스코드 출처 : https://github.com/Mottie/javascript-number-formatter
14
- */
15
-
16
- function format(mask, value) {
17
- if (!mask || isNaN(+value)) {
18
- return value; // return as it is.
19
- }
20
- var isNegative,
21
- result,
22
- decimal,
23
- group,
24
- posLeadZero,
25
- posTrailZero,
26
- posSeparator,
27
- part,
28
- szSep,
29
- integer,
30
- // find prefix/suffix
31
- len = mask.length,
32
- start = mask.search(/[0-9\-\+#]/),
33
- prefix = start > 0 ? mask.substring(0, start) : '',
34
- // reverse string: not an ideal method if there are surrogate pairs
35
- str = mask.split('').reverse().join(''),
36
- end = str.search(/[0-9\-\+#]/),
37
- offset = len - end,
38
- substr = mask.substring(offset, offset + 1),
39
- indx = offset + (substr === '.' || substr === ',' ? 1 : 0),
40
- suffix = end > 0 ? mask.substring(indx, len) : '';
41
-
42
- // mask with prefix & suffix removed
43
- mask = mask.substring(start, indx);
44
-
45
- // convert any string to number according to formation sign.
46
- value = mask.charAt(0) === '-' ? -value : +value;
47
- isNegative = value < 0 ? value = -value : 0; // process only abs(), and turn on flag.
48
-
49
- // search for separator for grp & decimal, anything not digit, not +/- sign, not #.
50
- result = mask.match(/[^\d\-\+#]/g);
51
- decimal = '.'; // ( result && result[ result.length - 1 ] ) || '.'; // ','는 소수점이 되지 않게 함
52
- group = result && result[1] && result[0] || ','; // treat the left most symbol as group separator
53
-
54
- // split the decimal for the format string if any.
55
- mask = mask.split(decimal);
56
- // Fix the decimal first, toFixed will auto fill trailing zero.
57
- value = value.toFixed(mask[1] && mask[1].length);
58
- value = +value + ''; // convert number to string to trim off *all* trailing decimal zero(es)
59
-
60
- // fill back any trailing zero according to format
61
- posTrailZero = mask[1] && mask[1].lastIndexOf('0'); // look for last zero in format
62
- part = value.split('.');
63
- // integer will get !part[1]
64
- if (!part[1] || part[1] && part[1].length <= posTrailZero) {
65
- value = (+value).toFixed(posTrailZero + 1);
66
- }
67
- szSep = mask[0].split(group); // look for separator
68
- mask[0] = szSep.join(''); // join back without separator for counting the pos of any leading 0.
69
-
70
- posLeadZero = mask[0] && mask[0].indexOf('0');
71
- if (posLeadZero > -1) {
72
- while (part[0].length < mask[0].length - posLeadZero) {
73
- part[0] = '0' + part[0];
74
- }
75
- } else if (+part[0] === 0) {
76
- part[0] = '';
77
- }
78
- value = value.split('.');
79
- value[0] = part[0];
80
-
81
- // process the first group separator from decimal (.) only, the rest ignore.
82
- // get the length of the last slice of split result.
83
- posSeparator = szSep[1] && szSep[szSep.length - 1].length;
84
- if (posSeparator) {
85
- integer = value[0];
86
- str = '';
87
- offset = integer.length % posSeparator;
88
- len = integer.length;
89
- for (indx = 0; indx < len; indx++) {
90
- str += integer.charAt(indx); // ie6 only support charAt for sz.
91
- // -posSeparator so that won't trail separator on full length
92
- /*jshint -W018 */
93
- if (!((indx - offset + 1) % posSeparator) && indx < len - posSeparator) {
94
- str += group;
95
- }
96
- }
97
- value[0] = str;
98
- }
99
- value[1] = mask[1] && value[1] ? decimal + value[1] : '';
100
-
101
- // remove negative sign if result is zero
102
- result = value.join('');
103
- if (result === '0' || result === '') {
104
- // remove negative sign if result is zero
105
- isNegative = false;
106
- }
107
-
108
- // 앞에 +가 붙는다면 양수일 경우에도 +를 표기해줌
109
- var fixedPlusSign;
110
- if (mask[0].substring(0, 1) == '+') fixedPlusSign = isNegative ? '-' : '+';else fixedPlusSign = isNegative ? '-' : '';
111
-
112
- // put back any negation, combine integer and fraction, and add back prefix & suffix
113
- return prefix + (fixedPlusSign + result) + suffix;
114
- }
115
- //# sourceMappingURL=format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.js","names":["format","mask","value","isNaN","isNegative","result","decimal","group","posLeadZero","posTrailZero","posSeparator","part","szSep","integer","len","length","start","search","prefix","substring","str","split","reverse","join","end","offset","substr","indx","suffix","charAt","match","toFixed","lastIndexOf","indexOf","fixedPlusSign"],"sources":["../../../src/components/drawer/format.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * Source Code from https://github.com/Mottie/javascript-number-formatter\n * 소스코드 출처 : https://github.com/Mottie/javascript-number-formatter\n */\n\nexport default function format(mask, value) {\n if (!mask || isNaN(+value)) {\n return value // return as it is.\n }\n\n var isNegative,\n result,\n decimal,\n group,\n posLeadZero,\n posTrailZero,\n posSeparator,\n part,\n szSep,\n integer,\n // find prefix/suffix\n len = mask.length,\n start = mask.search(/[0-9\\-\\+#]/),\n prefix = start > 0 ? mask.substring(0, start) : '',\n // reverse string: not an ideal method if there are surrogate pairs\n str = mask\n .split('')\n .reverse()\n .join(''),\n end = str.search(/[0-9\\-\\+#]/),\n offset = len - end,\n substr = mask.substring(offset, offset + 1),\n indx = offset + (substr === '.' || substr === ',' ? 1 : 0),\n suffix = end > 0 ? mask.substring(indx, len) : ''\n\n // mask with prefix & suffix removed\n mask = mask.substring(start, indx)\n\n // convert any string to number according to formation sign.\n value = mask.charAt(0) === '-' ? -value : +value\n isNegative = value < 0 ? (value = -value) : 0 // process only abs(), and turn on flag.\n\n // search for separator for grp & decimal, anything not digit, not +/- sign, not #.\n result = mask.match(/[^\\d\\-\\+#]/g)\n decimal = '.' // ( result && result[ result.length - 1 ] ) || '.'; // ','는 소수점이 되지 않게 함\n group = (result && result[1] && result[0]) || ',' // treat the left most symbol as group separator\n\n // split the decimal for the format string if any.\n mask = mask.split(decimal)\n // Fix the decimal first, toFixed will auto fill trailing zero.\n value = value.toFixed(mask[1] && mask[1].length)\n value = +value + '' // convert number to string to trim off *all* trailing decimal zero(es)\n\n // fill back any trailing zero according to format\n posTrailZero = mask[1] && mask[1].lastIndexOf('0') // look for last zero in format\n part = value.split('.')\n // integer will get !part[1]\n if (!part[1] || (part[1] && part[1].length <= posTrailZero)) {\n value = (+value).toFixed(posTrailZero + 1)\n }\n szSep = mask[0].split(group) // look for separator\n mask[0] = szSep.join('') // join back without separator for counting the pos of any leading 0.\n\n posLeadZero = mask[0] && mask[0].indexOf('0')\n if (posLeadZero > -1) {\n while (part[0].length < mask[0].length - posLeadZero) {\n part[0] = '0' + part[0]\n }\n } else if (+part[0] === 0) {\n part[0] = ''\n }\n\n value = value.split('.')\n value[0] = part[0]\n\n // process the first group separator from decimal (.) only, the rest ignore.\n // get the length of the last slice of split result.\n posSeparator = szSep[1] && szSep[szSep.length - 1].length\n if (posSeparator) {\n integer = value[0]\n str = ''\n offset = integer.length % posSeparator\n len = integer.length\n for (indx = 0; indx < len; indx++) {\n str += integer.charAt(indx) // ie6 only support charAt for sz.\n // -posSeparator so that won't trail separator on full length\n /*jshint -W018 */\n if (!((indx - offset + 1) % posSeparator) && indx < len - posSeparator) {\n str += group\n }\n }\n value[0] = str\n }\n value[1] = mask[1] && value[1] ? decimal + value[1] : ''\n\n // remove negative sign if result is zero\n result = value.join('')\n if (result === '0' || result === '') {\n // remove negative sign if result is zero\n isNegative = false\n }\n\n // 앞에 +가 붙는다면 양수일 경우에도 +를 표기해줌\n var fixedPlusSign\n\n if (mask[0].substring(0, 1) == '+') fixedPlusSign = isNegative ? '-' : '+'\n else fixedPlusSign = isNegative ? '-' : ''\n\n // put back any negation, combine integer and fraction, and add back prefix & suffix\n return prefix + (fixedPlusSign + result) + suffix\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,191 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.containedInPath = containedInPath;
7
- exports.drawEndTips = drawEndTips;
8
- exports.getTipNeckPos = getTipNeckPos;
9
- /*
10
- * Copyright © HatioLab Inc. All rights reserved.
11
- */
12
-
13
- const EPSILON = 5;
14
- const WING_FACTOR = Math.sqrt(3);
15
- const LINEWIDTH = 2;
16
- function containedInLine(x, y, p1, p2, lineWidth) {
17
- var epsilon = EPSILON + lineWidth;
18
- var x1 = p1.x,
19
- y1 = p1.y,
20
- x2 = p2.x,
21
- y2 = p2.y;
22
- if (Math.abs(x1 - x2) > epsilon && Math.abs(y1 - y2) > epsilon) {
23
- var m = (y2 - y1) / (x2 - x1);
24
- var b = y1 - m * x1;
25
- if (Math.abs(y - (m * x + b)) > epsilon) return false;
26
- }
27
- var minx, maxx, miny, maxy;
28
- if (x1 > x2) {
29
- maxx = x1;
30
- minx = x2;
31
- } else {
32
- maxx = x2;
33
- minx = x1;
34
- }
35
- if (y1 > y2) {
36
- maxy = y1;
37
- miny = y2;
38
- } else {
39
- maxy = y2;
40
- miny = y1;
41
- }
42
- if (maxx + EPSILON < x) return false;
43
- if (minx - EPSILON > x) return false;
44
- if (maxy + EPSILON < y) return false;
45
- if (miny - EPSILON > y) return false;
46
- return true;
47
- }
48
- function containedInPath(x, y, path, lineWidth = 2) {
49
- for (let idx = 0; idx < path.length - 1; idx++) {
50
- if (containedInLine(x, y, path[idx], path[idx + 1], lineWidth)) return true;
51
- }
52
- return false;
53
- }
54
- function getTipNeckPos(tipType, lineWidth, p1, p2) {
55
- if (tipType.slice(-5) != 'arrow') return p1;
56
- var {
57
- x,
58
- y
59
- } = p1;
60
- var theta = Math.atan2(p2.y - p1.y, p2.x - p1.x);
61
- var diff = lineWidth * 1.5;
62
- return {
63
- x: p1.x + Math.cos(theta) * diff,
64
- y: p1.y + Math.sin(theta) * diff
65
- };
66
- }
67
- function drawEndTips(ctx, path, style) {
68
- var {
69
- lineWidth = LINEWIDTH,
70
- strokeStyle = '#000000',
71
- lineCap = false,
72
- alpha = 1,
73
- begin = 'none',
74
- end = 'none',
75
- beginSize = 'size5',
76
- endSize = 'size5'
77
- } = style;
78
-
79
- // 양 끝 라인 그리기.
80
- if (begin != 'none' || end != 'none') {
81
- lineWidth = Number(lineWidth) || LINEWIDTH;
82
- ctx.lineCap = lineCap;
83
- ctx.lineWidth = lineWidth;
84
- ctx.strokeStyle = strokeStyle;
85
- ctx.fillStyle = strokeStyle;
86
- ctx.globalAlpha *= alpha;
87
-
88
- // 선 그리기.
89
- if (begin != 'none') drawTip(ctx, path[0], path[1], lineWidth, begin, tipSize(beginSize, lineWidth));
90
- if (end != 'none') {
91
- let length = path.length;
92
- drawTip(ctx, path[length - 1], path[length - 2], lineWidth, end, tipSize(endSize, lineWidth));
93
- }
94
- }
95
- }
96
- function drawTip(ctx, p1, p2, lineWidth, type, size) {
97
- var {
98
- x,
99
- y
100
- } = p1;
101
- var theta = Math.atan2(p2.y - y, p2.x - x);
102
- ctx.beginPath();
103
- ctx.translate(x, y);
104
- ctx.rotate(theta);
105
- switch (type) {
106
- case 'oval':
107
- ctx.ellipse(0, 0, size.X, size.Y, 0, 0, 2 * Math.PI);
108
- ctx.fill();
109
- // ctx.scale(1, 1 / arc_scale_y)
110
- break;
111
- case 'diamond':
112
- ctx.moveTo(-size.X, 0);
113
- ctx.lineTo(0, -size.Y);
114
- ctx.lineTo(size.X, 0);
115
- ctx.lineTo(0, size.Y);
116
- ctx.fill();
117
- break;
118
- case 'arrow':
119
- ctx.moveTo(0, 0);
120
- ctx.lineTo(WING_FACTOR * size.X, -size.Y);
121
- ctx.lineTo(WING_FACTOR * size.X, size.Y);
122
- ctx.fill();
123
- break;
124
- case 'sharp-arrow':
125
- ctx.moveTo(0, 0);
126
- ctx.lineTo(WING_FACTOR * size.X, -size.Y);
127
- ctx.lineTo(-size.X / 1.5 + WING_FACTOR * size.X, 0);
128
- ctx.lineTo(WING_FACTOR * size.X, size.Y);
129
- ctx.fill();
130
- break;
131
- case 'open-arrow':
132
- ctx.moveTo(WING_FACTOR * size.X + lineWidth, -size.Y);
133
- ctx.lineTo(lineWidth, 0);
134
- ctx.lineTo(WING_FACTOR * size.X + lineWidth, size.Y);
135
- ctx.stroke();
136
- break;
137
- default:
138
- break;
139
- }
140
- ctx.rotate(-theta);
141
- ctx.translate(-x, -y);
142
- ctx.closePath();
143
- }
144
- function tipSize(size, lineWidth) {
145
- let length = {};
146
- lineWidth = lineWidth * 1.2;
147
- switch (size) {
148
- case 'size1':
149
- length.X = lineWidth;
150
- length.Y = lineWidth;
151
- break;
152
- case 'size2':
153
- length.X = lineWidth * 1.5;
154
- length.Y = lineWidth;
155
- break;
156
- case 'size3':
157
- length.X = lineWidth * 2;
158
- length.Y = lineWidth;
159
- break;
160
- case 'size4':
161
- length.X = lineWidth;
162
- length.Y = lineWidth * 1.5;
163
- break;
164
- case 'size5':
165
- length.X = lineWidth * 1.5;
166
- length.Y = lineWidth * 1.5;
167
- break;
168
- case 'size6':
169
- length.X = lineWidth * 2;
170
- length.Y = lineWidth * 1.5;
171
- break;
172
- case 'size7':
173
- length.X = lineWidth;
174
- length.Y = lineWidth * 2;
175
- break;
176
- case 'size8':
177
- length.X = lineWidth * 1.5;
178
- length.Y = lineWidth * 2;
179
- break;
180
- case 'size9':
181
- length.X = lineWidth * 2;
182
- length.Y = lineWidth * 2;
183
- break;
184
- default:
185
- length.X = lineWidth * 1.5;
186
- length.Y = lineWidth * 1.5;
187
- break;
188
- }
189
- return length;
190
- }
191
- //# sourceMappingURL=line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line.js","names":["EPSILON","WING_FACTOR","Math","sqrt","LINEWIDTH","containedInLine","x","y","p1","p2","lineWidth","epsilon","x1","y1","x2","y2","abs","m","b","minx","maxx","miny","maxy","containedInPath","path","idx","length","getTipNeckPos","tipType","slice","theta","atan2","diff","cos","sin","drawEndTips","ctx","style","strokeStyle","lineCap","alpha","begin","end","beginSize","endSize","Number","fillStyle","globalAlpha","drawTip","tipSize","type","size","beginPath","translate","rotate","ellipse","X","Y","PI","fill","moveTo","lineTo","stroke","closePath"],"sources":["../../../src/components/drawer/line.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nconst EPSILON = 5\nconst WING_FACTOR = Math.sqrt(3)\nconst LINEWIDTH = 2\n\nfunction containedInLine(x, y, p1, p2, lineWidth) {\n var epsilon = EPSILON + lineWidth\n var x1 = p1.x,\n y1 = p1.y,\n x2 = p2.x,\n y2 = p2.y\n\n if (Math.abs(x1 - x2) > epsilon && Math.abs(y1 - y2) > epsilon) {\n var m = (y2 - y1) / (x2 - x1)\n var b = y1 - m * x1\n\n if (Math.abs(y - (m * x + b)) > epsilon) return false\n }\n\n var minx, maxx, miny, maxy\n\n if (x1 > x2) {\n maxx = x1\n minx = x2\n } else {\n maxx = x2\n minx = x1\n }\n\n if (y1 > y2) {\n maxy = y1\n miny = y2\n } else {\n maxy = y2\n miny = y1\n }\n\n if (maxx + EPSILON < x) return false\n if (minx - EPSILON > x) return false\n\n if (maxy + EPSILON < y) return false\n if (miny - EPSILON > y) return false\n\n return true\n}\n\nexport function containedInPath(x, y, path, lineWidth = 2) {\n for (let idx = 0; idx < path.length - 1; idx++) {\n if (containedInLine(x, y, path[idx], path[idx + 1], lineWidth)) return true\n }\n\n return false\n}\n\nexport function getTipNeckPos(tipType, lineWidth, p1, p2) {\n if (tipType.slice(-5) != 'arrow') return p1\n\n var { x, y } = p1\n var theta = Math.atan2(p2.y - p1.y, p2.x - p1.x)\n var diff = lineWidth * 1.5\n\n return {\n x: p1.x + Math.cos(theta) * diff,\n y: p1.y + Math.sin(theta) * diff\n }\n}\n\nexport function drawEndTips(ctx, path, style) {\n var {\n lineWidth = LINEWIDTH,\n strokeStyle = '#000000',\n lineCap = false,\n alpha = 1,\n begin = 'none',\n end = 'none',\n beginSize = 'size5',\n endSize = 'size5'\n } = style\n\n // 양 끝 라인 그리기.\n if (begin != 'none' || end != 'none') {\n lineWidth = Number(lineWidth) || LINEWIDTH\n\n ctx.lineCap = lineCap\n ctx.lineWidth = lineWidth\n ctx.strokeStyle = strokeStyle\n ctx.fillStyle = strokeStyle\n ctx.globalAlpha *= alpha\n\n // 선 그리기.\n if (begin != 'none') drawTip(ctx, path[0], path[1], lineWidth, begin, tipSize(beginSize, lineWidth))\n if (end != 'none') {\n let length = path.length\n drawTip(ctx, path[length - 1], path[length - 2], lineWidth, end, tipSize(endSize, lineWidth))\n }\n }\n}\n\nfunction drawTip(ctx, p1, p2, lineWidth, type, size) {\n var { x, y } = p1\n var theta = Math.atan2(p2.y - y, p2.x - x)\n\n ctx.beginPath()\n\n ctx.translate(x, y)\n ctx.rotate(theta)\n\n switch (type) {\n case 'oval':\n ctx.ellipse(0, 0, size.X, size.Y, 0, 0, 2 * Math.PI)\n ctx.fill()\n // ctx.scale(1, 1 / arc_scale_y)\n break\n case 'diamond':\n ctx.moveTo(-size.X, 0)\n ctx.lineTo(0, -size.Y)\n ctx.lineTo(size.X, 0)\n ctx.lineTo(0, size.Y)\n ctx.fill()\n break\n case 'arrow':\n ctx.moveTo(0, 0)\n ctx.lineTo(WING_FACTOR * size.X, -size.Y)\n ctx.lineTo(WING_FACTOR * size.X, size.Y)\n ctx.fill()\n break\n case 'sharp-arrow':\n ctx.moveTo(0, 0)\n ctx.lineTo(WING_FACTOR * size.X, -size.Y)\n ctx.lineTo(-size.X / 1.5 + WING_FACTOR * size.X, 0)\n ctx.lineTo(WING_FACTOR * size.X, size.Y)\n ctx.fill()\n break\n case 'open-arrow':\n ctx.moveTo(WING_FACTOR * size.X + lineWidth, -size.Y)\n ctx.lineTo(lineWidth, 0)\n ctx.lineTo(WING_FACTOR * size.X + lineWidth, size.Y)\n ctx.stroke()\n break\n default:\n break\n }\n\n ctx.rotate(-theta)\n ctx.translate(-x, -y)\n\n ctx.closePath()\n}\n\nfunction tipSize(size, lineWidth) {\n let length = {}\n lineWidth = lineWidth * 1.2\n\n switch (size) {\n case 'size1':\n length.X = lineWidth\n length.Y = lineWidth\n break\n case 'size2':\n length.X = lineWidth * 1.5\n length.Y = lineWidth\n break\n case 'size3':\n length.X = lineWidth * 2\n length.Y = lineWidth\n break\n case 'size4':\n length.X = lineWidth\n length.Y = lineWidth * 1.5\n break\n case 'size5':\n length.X = lineWidth * 1.5\n length.Y = lineWidth * 1.5\n break\n case 'size6':\n length.X = lineWidth * 2\n length.Y = lineWidth * 1.5\n break\n case 'size7':\n length.X = lineWidth\n length.Y = lineWidth * 2\n break\n case 'size8':\n length.X = lineWidth * 1.5\n length.Y = lineWidth * 2\n break\n case 'size9':\n length.X = lineWidth * 2\n length.Y = lineWidth * 2\n break\n default:\n length.X = lineWidth * 1.5\n length.Y = lineWidth * 1.5\n break\n }\n return length\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = stroke;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
-
11
- function stroke(context, style, hostComponent) {
12
- var {
13
- strokeStyle,
14
- lineDash,
15
- lineWidth,
16
- lineCap,
17
- lineJoin,
18
- alpha
19
- } = style;
20
- // var strokeStyle = hostComponent.strokeStyle;
21
-
22
- if (!strokeStyle || lineWidth == 0)
23
- // 라인색이나 굵기가 없을시 무조건 그리지 않음
24
- return;
25
- if (lineCap) context.lineCap = lineCap;
26
- if (lineDash) {
27
- var isRound = lineCap == 'round';
28
- switch (lineDash) {
29
- case 'solid':
30
- lineDash = [0, 0];
31
- break;
32
- case 'round-dot':
33
- if (isRound) lineDash = [0, lineWidth * 2];else lineDash = [lineWidth, lineWidth];
34
- break;
35
- case 'square-dot':
36
- if (isRound) lineDash = [lineWidth, lineWidth * 2];else lineDash = [lineWidth * 2, lineWidth];
37
- break;
38
- case 'dash':
39
- if (isRound) lineDash = [lineWidth * 3, lineWidth * 2.5];else lineDash = [lineWidth * 4, lineWidth * 1.5];
40
- break;
41
- case 'dash-dot':
42
- if (isRound) lineDash = [lineWidth * 3, lineWidth * 3, 0, lineWidth * 3];else lineDash = [lineWidth * 4, lineWidth * 2, lineWidth, lineWidth * 2];
43
- break;
44
- case 'long-dash':
45
- if (isRound) lineDash = [lineWidth * 5, lineWidth * 4];else lineDash = [lineWidth * 6, lineWidth * 3];
46
- break;
47
- case 'long-dash-dot':
48
- if (isRound) lineDash = [lineWidth * 5, lineWidth * 3, 0, lineWidth * 3];else lineDash = [lineWidth * 6, lineWidth * 2, lineWidth, lineWidth * 2];
49
- break;
50
- case 'long-dash-dot-dot':
51
- if (isRound) lineDash = [lineWidth * 5, lineWidth * 2, 0, lineWidth * 2, 0, lineWidth * 2];else lineDash = [lineWidth * 6, lineWidth, lineWidth, lineWidth, lineWidth, lineWidth];
52
- break;
53
- }
54
- context.setLineDash(lineDash);
55
- }
56
- context.globalAlpha *= alpha;
57
- context.strokeStyle = strokeStyle;
58
- context.lineWidth = lineWidth;
59
- context.lineJoin = lineJoin;
60
- context.stroke();
61
- }
62
- //# sourceMappingURL=stroke.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stroke.js","names":["stroke","context","style","hostComponent","strokeStyle","lineDash","lineWidth","lineCap","lineJoin","alpha","isRound","setLineDash","globalAlpha"],"sources":["../../../src/components/drawer/stroke.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport default function stroke(context, style, hostComponent) {\n var { strokeStyle, lineDash, lineWidth, lineCap, lineJoin, alpha } = style\n // var strokeStyle = hostComponent.strokeStyle;\n\n if (!strokeStyle || lineWidth == 0)\n // 라인색이나 굵기가 없을시 무조건 그리지 않음\n return\n\n if (lineCap) context.lineCap = lineCap\n\n if (lineDash) {\n var isRound = lineCap == 'round'\n\n switch (lineDash) {\n case 'solid':\n lineDash = [0, 0]\n break\n case 'round-dot':\n if (isRound) lineDash = [0, lineWidth * 2]\n else lineDash = [lineWidth, lineWidth]\n break\n case 'square-dot':\n if (isRound) lineDash = [lineWidth, lineWidth * 2]\n else lineDash = [lineWidth * 2, lineWidth]\n break\n case 'dash':\n if (isRound) lineDash = [lineWidth * 3, lineWidth * 2.5]\n else lineDash = [lineWidth * 4, lineWidth * 1.5]\n break\n case 'dash-dot':\n if (isRound) lineDash = [lineWidth * 3, lineWidth * 3, 0, lineWidth * 3]\n else lineDash = [lineWidth * 4, lineWidth * 2, lineWidth, lineWidth * 2]\n break\n case 'long-dash':\n if (isRound) lineDash = [lineWidth * 5, lineWidth * 4]\n else lineDash = [lineWidth * 6, lineWidth * 3]\n break\n case 'long-dash-dot':\n if (isRound) lineDash = [lineWidth * 5, lineWidth * 3, 0, lineWidth * 3]\n else lineDash = [lineWidth * 6, lineWidth * 2, lineWidth, lineWidth * 2]\n break\n case 'long-dash-dot-dot':\n if (isRound) lineDash = [lineWidth * 5, lineWidth * 2, 0, lineWidth * 2, 0, lineWidth * 2]\n else lineDash = [lineWidth * 6, lineWidth, lineWidth, lineWidth, lineWidth, lineWidth]\n break\n }\n context.setLineDash(lineDash)\n }\n\n context.globalAlpha *= alpha\n context.strokeStyle = strokeStyle\n context.lineWidth = lineWidth\n context.lineJoin = lineJoin\n\n context.stroke()\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEe,SAASA,MAAMA,CAACC,OAAO,EAAEC,KAAK,EAAEC,aAAa,EAAE;EAC5D,IAAI;IAAEC,WAAW;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGP,KAAK;EAC1E;;EAEA,IAAI,CAACE,WAAW,IAAIE,SAAS,IAAI,CAAC;IAChC;IACA;EAEF,IAAIC,OAAO,EAAEN,OAAO,CAACM,OAAO,GAAGA,OAAO;EAEtC,IAAIF,QAAQ,EAAE;IACZ,IAAIK,OAAO,GAAGH,OAAO,IAAI,OAAO;IAEhC,QAAQF,QAAQ;MACd,KAAK,OAAO;QACVA,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACjB;MACF,KAAK,WAAW;QACd,IAAIK,OAAO,EAAEL,QAAQ,GAAG,CAAC,CAAC,EAAEC,SAAS,GAAG,CAAC,CAAC,MACrCD,QAAQ,GAAG,CAACC,SAAS,EAAEA,SAAS,CAAC;QACtC;MACF,KAAK,YAAY;QACf,IAAII,OAAO,EAAEL,QAAQ,GAAG,CAACC,SAAS,EAAEA,SAAS,GAAG,CAAC,CAAC,MAC7CD,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,CAAC;QAC1C;MACF,KAAK,MAAM;QACT,IAAII,OAAO,EAAEL,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,GAAG,CAAC,MACnDD,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,GAAG,CAAC;QAChD;MACF,KAAK,UAAU;QACb,IAAII,OAAO,EAAEL,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,EAAE,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,MACnED,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,EAAEA,SAAS,EAAEA,SAAS,GAAG,CAAC,CAAC;QACxE;MACF,KAAK,WAAW;QACd,IAAII,OAAO,EAAEL,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,MACjDD,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC;QAC9C;MACF,KAAK,eAAe;QAClB,IAAII,OAAO,EAAEL,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,EAAE,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,MACnED,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,EAAEA,SAAS,EAAEA,SAAS,GAAG,CAAC,CAAC;QACxE;MACF,KAAK,mBAAmB;QACtB,IAAII,OAAO,EAAEL,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,EAAE,CAAC,EAAEA,SAAS,GAAG,CAAC,EAAE,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,MACrFD,QAAQ,GAAG,CAACC,SAAS,GAAG,CAAC,EAAEA,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEA,SAAS,CAAC;QACtF;IACJ;IACAL,OAAO,CAACU,WAAW,CAACN,QAAQ,CAAC;EAC/B;EAEAJ,OAAO,CAACW,WAAW,IAAIH,KAAK;EAC5BR,OAAO,CAACG,WAAW,GAAGA,WAAW;EACjCH,OAAO,CAACK,SAAS,GAAGA,SAAS;EAC7BL,OAAO,CAACO,QAAQ,GAAGA,QAAQ;EAE3BP,OAAO,CAACD,MAAM,CAAC,CAAC;AAClB","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = splitTextToLines;
7
- function wrapWord(context, word, width, letterSpacing = 0) {
8
- if (word.length < 2) return word;
9
- let index = 2;
10
- for (; index < word.length; index++) {
11
- const substring = word.substring(0, index);
12
- const textWidth = context.measureText(substring).width + (substring.length - 1) * letterSpacing;
13
- if (textWidth < width) continue;
14
- break;
15
- }
16
- return word.substring(0, index - 1);
17
- }
18
- function wrapLine(context, line, width, letterSpacing = 0) {
19
- const words = line.split(' '); // 공백으로 단어를 분리함.
20
- const lines = [];
21
- let begin, end;
22
- let slice = [];
23
- for (begin = 0, end = 1; end <= words.length; end++) {
24
- slice = words.slice(begin, end); // 단어를 하나씩 추가하면서 계산을 시작함.
25
-
26
- const sliceWidth = context.measureText(slice.join(' ')).width + (slice.join('').length - 1) * letterSpacing;
27
- if (sliceWidth > width) {
28
- if (end - begin == 1) {
29
- const line = wrapWord(context, slice[0], width, letterSpacing);
30
- lines.push([line]);
31
- words.splice(begin, 1, line, slice[0].substring(line.length));
32
- } else {
33
- while (words[end - 1] == '') end++;
34
- lines.push(words.slice(begin, --end));
35
- }
36
- begin = end;
37
- }
38
- }
39
- if (end - begin > 1) lines.push(slice);
40
- if (lines.length == 0) lines.push(['']);
41
- return lines;
42
- }
43
- function splitTextToLines(context, text, width, wrap, letterSpacing = 0) {
44
- const lines = String(text).split('\n');
45
- if (wrap) {
46
- return [].concat.apply([], lines.map(line => wrapLine(context, line, width, letterSpacing)));
47
- } else {
48
- return lines.map(line => line.split(' '));
49
- }
50
- }
51
- //# sourceMappingURL=text-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-wrapper.js","names":["wrapWord","context","word","width","letterSpacing","length","index","substring","textWidth","measureText","wrapLine","line","words","split","lines","begin","end","slice","sliceWidth","join","push","splice","splitTextToLines","text","wrap","String","concat","apply","map"],"sources":["../../../src/components/drawer/text-wrapper.js"],"sourcesContent":["function wrapWord(context, word, width, letterSpacing = 0) {\n if (word.length < 2) return word\n\n let index = 2\n for (; index < word.length; index++) {\n const substring = word.substring(0, index)\n const textWidth = context.measureText(substring).width + (substring.length - 1) * letterSpacing\n if (textWidth < width) continue\n\n break\n }\n\n return word.substring(0, index - 1)\n}\n\nfunction wrapLine(context, line, width, letterSpacing = 0) {\n const words = line.split(' ') // 공백으로 단어를 분리함.\n const lines = []\n let begin, end\n let slice = []\n\n for (begin = 0, end = 1; end <= words.length; end++) {\n slice = words.slice(begin, end) // 단어를 하나씩 추가하면서 계산을 시작함.\n\n const sliceWidth = context.measureText(slice.join(' ')).width + (slice.join('').length - 1) * letterSpacing\n if (sliceWidth > width) {\n if (end - begin == 1) {\n const line = wrapWord(context, slice[0], width, letterSpacing)\n lines.push([line])\n words.splice(begin, 1, line, slice[0].substring(line.length))\n } else {\n while (words[end - 1] == '') end++\n lines.push(words.slice(begin, --end))\n }\n begin = end\n }\n }\n\n if (end - begin > 1) lines.push(slice)\n if (lines.length == 0) lines.push([''])\n\n return lines\n}\n\nexport default function splitTextToLines(context, text, width, wrap, letterSpacing = 0) {\n const lines = String(text).split('\\n')\n if (wrap) {\n return [].concat.apply(\n [],\n lines.map(line => wrapLine(context, line, width, letterSpacing))\n )\n } else {\n return lines.map(line => line.split(' '))\n }\n}\n"],"mappings":"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","ignoreList":[]}