ding-image-editor 3.15.3

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 (374) hide show
  1. package/README.md +193 -0
  2. package/dist/svg/icon-a.svg +376 -0
  3. package/dist/svg/icon-b.svg +369 -0
  4. package/dist/svg/icon-c.svg +369 -0
  5. package/dist/svg/icon-d.svg +369 -0
  6. package/dist/tui-image-editor.css +6 -0
  7. package/dist/tui-image-editor.js +62329 -0
  8. package/dist/tui-image-editor.min.css +5 -0
  9. package/dist/tui-image-editor.min.js +15 -0
  10. package/index.d.ts +334 -0
  11. package/package.json +52 -0
  12. package/src/css/buttons.styl +102 -0
  13. package/src/css/checkbox.styl +86 -0
  14. package/src/css/colorpicker.styl +98 -0
  15. package/src/css/gridtable.styl +45 -0
  16. package/src/css/icon.styl +44 -0
  17. package/src/css/index.styl +17 -0
  18. package/src/css/main.styl +163 -0
  19. package/src/css/position.styl +309 -0
  20. package/src/css/range.styl +91 -0
  21. package/src/css/submenu.styl +168 -0
  22. package/src/index.js +29 -0
  23. package/src/js/action.js +686 -0
  24. package/src/js/command/addIcon.js +42 -0
  25. package/src/js/command/addImageObject.js +34 -0
  26. package/src/js/command/addObject.js +43 -0
  27. package/src/js/command/addShape.js +51 -0
  28. package/src/js/command/addText.js +73 -0
  29. package/src/js/command/applyFilter.js +95 -0
  30. package/src/js/command/changeIconColor.js +48 -0
  31. package/src/js/command/changeSelection.js +31 -0
  32. package/src/js/command/changeShape.js +84 -0
  33. package/src/js/command/changeText.js +44 -0
  34. package/src/js/command/changeTextStyle.js +80 -0
  35. package/src/js/command/clearObjects.js +33 -0
  36. package/src/js/command/flip.js +36 -0
  37. package/src/js/command/loadImage.js +58 -0
  38. package/src/js/command/removeFilter.js +38 -0
  39. package/src/js/command/removeObject.js +37 -0
  40. package/src/js/command/resize.js +41 -0
  41. package/src/js/command/resizeCanvasDimension.js +40 -0
  42. package/src/js/command/rotate.js +64 -0
  43. package/src/js/command/setObjectPosition.js +50 -0
  44. package/src/js/command/setObjectProperties.js +55 -0
  45. package/src/js/component/cropper.js +407 -0
  46. package/src/js/component/filter.js +229 -0
  47. package/src/js/component/flip.js +146 -0
  48. package/src/js/component/freeDrawing.js +144 -0
  49. package/src/js/component/icon.js +246 -0
  50. package/src/js/component/imageLoader.js +84 -0
  51. package/src/js/component/line.js +205 -0
  52. package/src/js/component/resize.js +103 -0
  53. package/src/js/component/rotation.js +91 -0
  54. package/src/js/component/shape.js +601 -0
  55. package/src/js/component/text.js +572 -0
  56. package/src/js/component/zoom.js +708 -0
  57. package/src/js/consts.js +404 -0
  58. package/src/js/drawingMode/cropper.js +35 -0
  59. package/src/js/drawingMode/freeDrawing.js +36 -0
  60. package/src/js/drawingMode/icon.js +35 -0
  61. package/src/js/drawingMode/lineDrawing.js +36 -0
  62. package/src/js/drawingMode/resize.js +35 -0
  63. package/src/js/drawingMode/shape.js +35 -0
  64. package/src/js/drawingMode/text.js +35 -0
  65. package/src/js/drawingMode/zoom.js +37 -0
  66. package/src/js/extension/arrowLine.js +172 -0
  67. package/src/js/extension/blur.js +29 -0
  68. package/src/js/extension/colorFilter.js +104 -0
  69. package/src/js/extension/cropzone.js +568 -0
  70. package/src/js/extension/emboss.js +29 -0
  71. package/src/js/extension/mask.js +90 -0
  72. package/src/js/extension/sharpen.js +29 -0
  73. package/src/js/factory/command.js +36 -0
  74. package/src/js/factory/errorMessage.js +27 -0
  75. package/src/js/graphics.js +1539 -0
  76. package/src/js/helper/imagetracer.js +1396 -0
  77. package/src/js/helper/selectionModifyHelper.js +86 -0
  78. package/src/js/helper/shapeFilterFillHelper.js +564 -0
  79. package/src/js/helper/shapeResizeHelper.js +237 -0
  80. package/src/js/imageEditor.js +1795 -0
  81. package/src/js/interface/command.js +131 -0
  82. package/src/js/interface/component.js +127 -0
  83. package/src/js/interface/drawingMode.js +47 -0
  84. package/src/js/invoker.js +292 -0
  85. package/src/js/polyfill.js +498 -0
  86. package/src/js/ui/crop.js +139 -0
  87. package/src/js/ui/draw.js +187 -0
  88. package/src/js/ui/filter.js +510 -0
  89. package/src/js/ui/flip.js +87 -0
  90. package/src/js/ui/history.js +171 -0
  91. package/src/js/ui/icon.js +191 -0
  92. package/src/js/ui/locale/locale.js +19 -0
  93. package/src/js/ui/mask.js +96 -0
  94. package/src/js/ui/panelMenu.js +130 -0
  95. package/src/js/ui/resize.js +241 -0
  96. package/src/js/ui/rotate.js +123 -0
  97. package/src/js/ui/shape.js +265 -0
  98. package/src/js/ui/submenuBase.js +122 -0
  99. package/src/js/ui/template/controls.js +21 -0
  100. package/src/js/ui/template/mainContainer.js +38 -0
  101. package/src/js/ui/template/style.js +146 -0
  102. package/src/js/ui/template/submenu/crop.js +73 -0
  103. package/src/js/ui/template/submenu/draw.js +42 -0
  104. package/src/js/ui/template/submenu/filter.js +157 -0
  105. package/src/js/ui/template/submenu/flip.js +41 -0
  106. package/src/js/ui/template/submenu/history.js +22 -0
  107. package/src/js/ui/template/submenu/icon.js +108 -0
  108. package/src/js/ui/template/submenu/mask.js +30 -0
  109. package/src/js/ui/template/submenu/resize.js +54 -0
  110. package/src/js/ui/template/submenu/rotate.js +32 -0
  111. package/src/js/ui/template/submenu/shape.js +45 -0
  112. package/src/js/ui/template/submenu/text.js +67 -0
  113. package/src/js/ui/template/submenu/zoom.js +41 -0
  114. package/src/js/ui/text.js +279 -0
  115. package/src/js/ui/theme/standard.js +220 -0
  116. package/src/js/ui/theme/theme.js +249 -0
  117. package/src/js/ui/tools/colorpicker.js +250 -0
  118. package/src/js/ui/tools/range.js +390 -0
  119. package/src/js/ui.js +858 -0
  120. package/src/js/util.js +551 -0
  121. package/src/svg/default.svg +335 -0
  122. package/src/svg/icon-a/ic-apply.svg +6 -0
  123. package/src/svg/icon-a/ic-cancel.svg +6 -0
  124. package/src/svg/icon-a/ic-color-transparent-w.svg +12 -0
  125. package/src/svg/icon-a/ic-crop.svg +7 -0
  126. package/src/svg/icon-a/ic-delete-all.svg +6 -0
  127. package/src/svg/icon-a/ic-delete.svg +6 -0
  128. package/src/svg/icon-a/ic-draw-free.svg +5 -0
  129. package/src/svg/icon-a/ic-draw-line.svg +5 -0
  130. package/src/svg/icon-a/ic-draw.svg +6 -0
  131. package/src/svg/icon-a/ic-filter.svg +7 -0
  132. package/src/svg/icon-a/ic-flip-reset.svg +7 -0
  133. package/src/svg/icon-a/ic-flip-x.svg +6 -0
  134. package/src/svg/icon-a/ic-flip-y.svg +6 -0
  135. package/src/svg/icon-a/ic-flip.svg +6 -0
  136. package/src/svg/icon-a/ic-history-check.svg +5 -0
  137. package/src/svg/icon-a/ic-history-crop.svg +7 -0
  138. package/src/svg/icon-a/ic-history-delete.svg +9 -0
  139. package/src/svg/icon-a/ic-history-draw.svg +7 -0
  140. package/src/svg/icon-a/ic-history-filter.svg +8 -0
  141. package/src/svg/icon-a/ic-history-flip.svg +6 -0
  142. package/src/svg/icon-a/ic-history-group.svg +9 -0
  143. package/src/svg/icon-a/ic-history-icon.svg +6 -0
  144. package/src/svg/icon-a/ic-history-load.svg +7 -0
  145. package/src/svg/icon-a/ic-history-mask.svg +9 -0
  146. package/src/svg/icon-a/ic-history-resize.svg +12 -0
  147. package/src/svg/icon-a/ic-history-rotate.svg +16 -0
  148. package/src/svg/icon-a/ic-history-shape.svg +7 -0
  149. package/src/svg/icon-a/ic-history-text.svg +8 -0
  150. package/src/svg/icon-a/ic-history.svg +6 -0
  151. package/src/svg/icon-a/ic-icon-arrow-2.svg +5 -0
  152. package/src/svg/icon-a/ic-icon-arrow-3.svg +5 -0
  153. package/src/svg/icon-a/ic-icon-arrow.svg +5 -0
  154. package/src/svg/icon-a/ic-icon-bubble.svg +5 -0
  155. package/src/svg/icon-a/ic-icon-heart.svg +5 -0
  156. package/src/svg/icon-a/ic-icon-load.svg +8 -0
  157. package/src/svg/icon-a/ic-icon-location.svg +8 -0
  158. package/src/svg/icon-a/ic-icon-polygon.svg +5 -0
  159. package/src/svg/icon-a/ic-icon-star-2.svg +5 -0
  160. package/src/svg/icon-a/ic-icon-star.svg +5 -0
  161. package/src/svg/icon-a/ic-icon.svg +5 -0
  162. package/src/svg/icon-a/ic-mask-load.svg +8 -0
  163. package/src/svg/icon-a/ic-mask.svg +6 -0
  164. package/src/svg/icon-a/ic-redo.svg +7 -0
  165. package/src/svg/icon-a/ic-reset.svg +7 -0
  166. package/src/svg/icon-a/ic-resize.svg +13 -0
  167. package/src/svg/icon-a/ic-rotate-clockwise.svg +7 -0
  168. package/src/svg/icon-a/ic-rotate-counterclockwise.svg +7 -0
  169. package/src/svg/icon-a/ic-rotate.svg +7 -0
  170. package/src/svg/icon-a/ic-shape-circle.svg +5 -0
  171. package/src/svg/icon-a/ic-shape-rectangle.svg +5 -0
  172. package/src/svg/icon-a/ic-shape-triangle.svg +5 -0
  173. package/src/svg/icon-a/ic-shape.svg +6 -0
  174. package/src/svg/icon-a/ic-text-align-center.svg +6 -0
  175. package/src/svg/icon-a/ic-text-align-left.svg +6 -0
  176. package/src/svg/icon-a/ic-text-align-right.svg +6 -0
  177. package/src/svg/icon-a/ic-text-bold.svg +7 -0
  178. package/src/svg/icon-a/ic-text-italic.svg +6 -0
  179. package/src/svg/icon-a/ic-text-underline.svg +7 -0
  180. package/src/svg/icon-a/ic-text.svg +7 -0
  181. package/src/svg/icon-a/ic-undo.svg +7 -0
  182. package/src/svg/icon-a/ic-zoom-hand.svg +8 -0
  183. package/src/svg/icon-a/ic-zoom-zoom-in.svg +10 -0
  184. package/src/svg/icon-a/ic-zoom-zoom-out.svg +9 -0
  185. package/src/svg/icon-a/img-bi.svg +5 -0
  186. package/src/svg/icon-b/ic-apply.svg +6 -0
  187. package/src/svg/icon-b/ic-cancel.svg +6 -0
  188. package/src/svg/icon-b/ic-crop.svg +7 -0
  189. package/src/svg/icon-b/ic-delete-all.svg +6 -0
  190. package/src/svg/icon-b/ic-delete.svg +6 -0
  191. package/src/svg/icon-b/ic-draw-free.svg +5 -0
  192. package/src/svg/icon-b/ic-draw-line.svg +5 -0
  193. package/src/svg/icon-b/ic-draw.svg +6 -0
  194. package/src/svg/icon-b/ic-filter.svg +7 -0
  195. package/src/svg/icon-b/ic-flip-reset.svg +7 -0
  196. package/src/svg/icon-b/ic-flip-x.svg +6 -0
  197. package/src/svg/icon-b/ic-flip-y.svg +6 -0
  198. package/src/svg/icon-b/ic-flip.svg +6 -0
  199. package/src/svg/icon-b/ic-history-check.svg +5 -0
  200. package/src/svg/icon-b/ic-history-crop.svg +7 -0
  201. package/src/svg/icon-b/ic-history-delete.svg +9 -0
  202. package/src/svg/icon-b/ic-history-draw.svg +7 -0
  203. package/src/svg/icon-b/ic-history-filter.svg +8 -0
  204. package/src/svg/icon-b/ic-history-flip.svg +6 -0
  205. package/src/svg/icon-b/ic-history-group.svg +9 -0
  206. package/src/svg/icon-b/ic-history-icon.svg +6 -0
  207. package/src/svg/icon-b/ic-history-load.svg +7 -0
  208. package/src/svg/icon-b/ic-history-mask.svg +9 -0
  209. package/src/svg/icon-b/ic-history-resize.svg +12 -0
  210. package/src/svg/icon-b/ic-history-rotate.svg +16 -0
  211. package/src/svg/icon-b/ic-history-shape.svg +7 -0
  212. package/src/svg/icon-b/ic-history-text.svg +8 -0
  213. package/src/svg/icon-b/ic-history.svg +6 -0
  214. package/src/svg/icon-b/ic-icon-arrow-2.svg +5 -0
  215. package/src/svg/icon-b/ic-icon-arrow-3.svg +5 -0
  216. package/src/svg/icon-b/ic-icon-arrow.svg +5 -0
  217. package/src/svg/icon-b/ic-icon-bubble.svg +5 -0
  218. package/src/svg/icon-b/ic-icon-heart.svg +5 -0
  219. package/src/svg/icon-b/ic-icon-load.svg +8 -0
  220. package/src/svg/icon-b/ic-icon-location.svg +8 -0
  221. package/src/svg/icon-b/ic-icon-polygon.svg +5 -0
  222. package/src/svg/icon-b/ic-icon-star-2.svg +5 -0
  223. package/src/svg/icon-b/ic-icon-star.svg +5 -0
  224. package/src/svg/icon-b/ic-icon.svg +5 -0
  225. package/src/svg/icon-b/ic-mask-load.svg +8 -0
  226. package/src/svg/icon-b/ic-mask.svg +6 -0
  227. package/src/svg/icon-b/ic-redo.svg +7 -0
  228. package/src/svg/icon-b/ic-reset.svg +7 -0
  229. package/src/svg/icon-b/ic-resize.svg +13 -0
  230. package/src/svg/icon-b/ic-rotate-clockwise.svg +7 -0
  231. package/src/svg/icon-b/ic-rotate-counterclockwise.svg +7 -0
  232. package/src/svg/icon-b/ic-rotate.svg +7 -0
  233. package/src/svg/icon-b/ic-shape-circle.svg +5 -0
  234. package/src/svg/icon-b/ic-shape-rectangle.svg +5 -0
  235. package/src/svg/icon-b/ic-shape-triangle.svg +5 -0
  236. package/src/svg/icon-b/ic-shape.svg +6 -0
  237. package/src/svg/icon-b/ic-text-align-center.svg +6 -0
  238. package/src/svg/icon-b/ic-text-align-left.svg +6 -0
  239. package/src/svg/icon-b/ic-text-align-right.svg +6 -0
  240. package/src/svg/icon-b/ic-text-bold.svg +7 -0
  241. package/src/svg/icon-b/ic-text-italic.svg +6 -0
  242. package/src/svg/icon-b/ic-text-underline.svg +7 -0
  243. package/src/svg/icon-b/ic-text.svg +7 -0
  244. package/src/svg/icon-b/ic-undo.svg +7 -0
  245. package/src/svg/icon-b/ic-zoom-hand.svg +8 -0
  246. package/src/svg/icon-b/ic-zoom-zoom-in.svg +12 -0
  247. package/src/svg/icon-b/ic-zoom-zoom-out.svg +11 -0
  248. package/src/svg/icon-b/img-bi.svg +5 -0
  249. package/src/svg/icon-c/ic-apply.svg +6 -0
  250. package/src/svg/icon-c/ic-cancel.svg +6 -0
  251. package/src/svg/icon-c/ic-crop.svg +7 -0
  252. package/src/svg/icon-c/ic-delete-all.svg +6 -0
  253. package/src/svg/icon-c/ic-delete.svg +6 -0
  254. package/src/svg/icon-c/ic-draw-free.svg +5 -0
  255. package/src/svg/icon-c/ic-draw-line.svg +5 -0
  256. package/src/svg/icon-c/ic-draw.svg +6 -0
  257. package/src/svg/icon-c/ic-filter.svg +7 -0
  258. package/src/svg/icon-c/ic-flip-reset.svg +7 -0
  259. package/src/svg/icon-c/ic-flip-x.svg +6 -0
  260. package/src/svg/icon-c/ic-flip-y.svg +6 -0
  261. package/src/svg/icon-c/ic-flip.svg +6 -0
  262. package/src/svg/icon-c/ic-history-check.svg +5 -0
  263. package/src/svg/icon-c/ic-history-crop.svg +7 -0
  264. package/src/svg/icon-c/ic-history-delete.svg +9 -0
  265. package/src/svg/icon-c/ic-history-draw.svg +7 -0
  266. package/src/svg/icon-c/ic-history-filter.svg +8 -0
  267. package/src/svg/icon-c/ic-history-flip.svg +6 -0
  268. package/src/svg/icon-c/ic-history-group.svg +9 -0
  269. package/src/svg/icon-c/ic-history-icon.svg +6 -0
  270. package/src/svg/icon-c/ic-history-load.svg +7 -0
  271. package/src/svg/icon-c/ic-history-mask.svg +9 -0
  272. package/src/svg/icon-c/ic-history-resize.svg +12 -0
  273. package/src/svg/icon-c/ic-history-rotate.svg +16 -0
  274. package/src/svg/icon-c/ic-history-shape.svg +7 -0
  275. package/src/svg/icon-c/ic-history-text.svg +8 -0
  276. package/src/svg/icon-c/ic-history.svg +6 -0
  277. package/src/svg/icon-c/ic-icon-arrow-2.svg +5 -0
  278. package/src/svg/icon-c/ic-icon-arrow-3.svg +5 -0
  279. package/src/svg/icon-c/ic-icon-arrow.svg +5 -0
  280. package/src/svg/icon-c/ic-icon-bubble.svg +5 -0
  281. package/src/svg/icon-c/ic-icon-heart.svg +5 -0
  282. package/src/svg/icon-c/ic-icon-load.svg +8 -0
  283. package/src/svg/icon-c/ic-icon-location.svg +8 -0
  284. package/src/svg/icon-c/ic-icon-polygon.svg +5 -0
  285. package/src/svg/icon-c/ic-icon-star-2.svg +5 -0
  286. package/src/svg/icon-c/ic-icon-star.svg +5 -0
  287. package/src/svg/icon-c/ic-icon.svg +5 -0
  288. package/src/svg/icon-c/ic-mask-load.svg +8 -0
  289. package/src/svg/icon-c/ic-mask.svg +6 -0
  290. package/src/svg/icon-c/ic-redo.svg +7 -0
  291. package/src/svg/icon-c/ic-reset.svg +7 -0
  292. package/src/svg/icon-c/ic-resize.svg +13 -0
  293. package/src/svg/icon-c/ic-rotate-clockwise.svg +7 -0
  294. package/src/svg/icon-c/ic-rotate-counterclockwise.svg +7 -0
  295. package/src/svg/icon-c/ic-rotate.svg +7 -0
  296. package/src/svg/icon-c/ic-shape-circle.svg +5 -0
  297. package/src/svg/icon-c/ic-shape-rectangle.svg +5 -0
  298. package/src/svg/icon-c/ic-shape-triangle.svg +5 -0
  299. package/src/svg/icon-c/ic-shape.svg +6 -0
  300. package/src/svg/icon-c/ic-text-align-center.svg +6 -0
  301. package/src/svg/icon-c/ic-text-align-left.svg +6 -0
  302. package/src/svg/icon-c/ic-text-align-right.svg +6 -0
  303. package/src/svg/icon-c/ic-text-bold.svg +7 -0
  304. package/src/svg/icon-c/ic-text-italic.svg +6 -0
  305. package/src/svg/icon-c/ic-text-underline.svg +7 -0
  306. package/src/svg/icon-c/ic-text.svg +7 -0
  307. package/src/svg/icon-c/ic-undo.svg +7 -0
  308. package/src/svg/icon-c/ic-zoom-hand.svg +8 -0
  309. package/src/svg/icon-c/ic-zoom-zoom-in.svg +12 -0
  310. package/src/svg/icon-c/ic-zoom-zoom-out.svg +11 -0
  311. package/src/svg/icon-c/img-bi.svg +5 -0
  312. package/src/svg/icon-d/ic-apply.svg +6 -0
  313. package/src/svg/icon-d/ic-cancel.svg +6 -0
  314. package/src/svg/icon-d/ic-crop.svg +7 -0
  315. package/src/svg/icon-d/ic-delete-all.svg +6 -0
  316. package/src/svg/icon-d/ic-delete.svg +6 -0
  317. package/src/svg/icon-d/ic-draw-free.svg +5 -0
  318. package/src/svg/icon-d/ic-draw-line.svg +5 -0
  319. package/src/svg/icon-d/ic-draw.svg +6 -0
  320. package/src/svg/icon-d/ic-filter.svg +7 -0
  321. package/src/svg/icon-d/ic-flip-reset.svg +7 -0
  322. package/src/svg/icon-d/ic-flip-x.svg +6 -0
  323. package/src/svg/icon-d/ic-flip-y.svg +6 -0
  324. package/src/svg/icon-d/ic-flip.svg +6 -0
  325. package/src/svg/icon-d/ic-history-check.svg +5 -0
  326. package/src/svg/icon-d/ic-history-crop.svg +7 -0
  327. package/src/svg/icon-d/ic-history-delete.svg +9 -0
  328. package/src/svg/icon-d/ic-history-draw.svg +7 -0
  329. package/src/svg/icon-d/ic-history-filter.svg +8 -0
  330. package/src/svg/icon-d/ic-history-flip.svg +6 -0
  331. package/src/svg/icon-d/ic-history-group.svg +9 -0
  332. package/src/svg/icon-d/ic-history-icon.svg +6 -0
  333. package/src/svg/icon-d/ic-history-load.svg +7 -0
  334. package/src/svg/icon-d/ic-history-mask.svg +9 -0
  335. package/src/svg/icon-d/ic-history-resize.svg +12 -0
  336. package/src/svg/icon-d/ic-history-rotate.svg +16 -0
  337. package/src/svg/icon-d/ic-history-shape.svg +7 -0
  338. package/src/svg/icon-d/ic-history-text.svg +8 -0
  339. package/src/svg/icon-d/ic-history.svg +6 -0
  340. package/src/svg/icon-d/ic-icon-arrow-2.svg +5 -0
  341. package/src/svg/icon-d/ic-icon-arrow-3.svg +5 -0
  342. package/src/svg/icon-d/ic-icon-arrow.svg +5 -0
  343. package/src/svg/icon-d/ic-icon-bubble.svg +5 -0
  344. package/src/svg/icon-d/ic-icon-heart.svg +5 -0
  345. package/src/svg/icon-d/ic-icon-load.svg +8 -0
  346. package/src/svg/icon-d/ic-icon-location.svg +8 -0
  347. package/src/svg/icon-d/ic-icon-polygon.svg +5 -0
  348. package/src/svg/icon-d/ic-icon-star-2.svg +5 -0
  349. package/src/svg/icon-d/ic-icon-star.svg +5 -0
  350. package/src/svg/icon-d/ic-icon.svg +5 -0
  351. package/src/svg/icon-d/ic-mask-load.svg +8 -0
  352. package/src/svg/icon-d/ic-mask.svg +6 -0
  353. package/src/svg/icon-d/ic-redo.svg +7 -0
  354. package/src/svg/icon-d/ic-reset.svg +7 -0
  355. package/src/svg/icon-d/ic-resize.svg +13 -0
  356. package/src/svg/icon-d/ic-rotate-clockwise.svg +7 -0
  357. package/src/svg/icon-d/ic-rotate-counterclockwise.svg +7 -0
  358. package/src/svg/icon-d/ic-rotate.svg +7 -0
  359. package/src/svg/icon-d/ic-shape-circle.svg +5 -0
  360. package/src/svg/icon-d/ic-shape-rectangle.svg +5 -0
  361. package/src/svg/icon-d/ic-shape-triangle.svg +5 -0
  362. package/src/svg/icon-d/ic-shape.svg +6 -0
  363. package/src/svg/icon-d/ic-text-align-center.svg +6 -0
  364. package/src/svg/icon-d/ic-text-align-left.svg +6 -0
  365. package/src/svg/icon-d/ic-text-align-right.svg +6 -0
  366. package/src/svg/icon-d/ic-text-bold.svg +7 -0
  367. package/src/svg/icon-d/ic-text-italic.svg +6 -0
  368. package/src/svg/icon-d/ic-text-underline.svg +7 -0
  369. package/src/svg/icon-d/ic-text.svg +7 -0
  370. package/src/svg/icon-d/ic-undo.svg +7 -0
  371. package/src/svg/icon-d/ic-zoom-hand.svg +8 -0
  372. package/src/svg/icon-d/ic-zoom-zoom-in.svg +12 -0
  373. package/src/svg/icon-d/ic-zoom-zoom-out.svg +11 -0
  374. package/src/svg/icon-d/img-bi.svg +5 -0
package/index.d.ts ADDED
@@ -0,0 +1,334 @@
1
+ // Type definitions for TOAST UI Image Editor v3.15.3
2
+ // TypeScript Version: 3.2.2
3
+
4
+ declare namespace tuiImageEditor {
5
+ type AngleType = number;
6
+
7
+ interface IThemeConfig {
8
+ 'common.bi.image'?: string;
9
+ 'common.bisize.width'?: string;
10
+ 'common.bisize.height'?: string;
11
+ 'common.backgroundImage'?: string;
12
+ 'common.backgroundColor'?: string;
13
+ 'common.border'?: string;
14
+ 'header.backgroundImage'?: string;
15
+ 'header.backgroundColor'?: string;
16
+ 'header.border'?: string;
17
+ 'loadButton.backgroundColor'?: string;
18
+ 'loadButton.border'?: string;
19
+ 'loadButton.color'?: string;
20
+ 'loadButton.fontFamily'?: string;
21
+ 'loadButton.fontSize'?: string;
22
+ 'downloadButton.backgroundColor'?: string;
23
+ 'downloadButton.border'?: string;
24
+ 'downloadButton.color'?: string;
25
+ 'downloadButton.fontFamily'?: string;
26
+ 'downloadButton.fontSize'?: string;
27
+ 'menu.normalIcon.path'?: string;
28
+ 'menu.normalIcon.name'?: string;
29
+ 'menu.activeIcon.path'?: string;
30
+ 'menu.activeIcon.name'?: string;
31
+ 'menu.iconSize.width'?: string;
32
+ 'menu.iconSize.height'?: string;
33
+ 'submenu.backgroundColor'?: string;
34
+ 'submenu.partition.color'?: string;
35
+ 'submenu.normalIcon.path'?: string;
36
+ 'submenu.normalIcon.name'?: string;
37
+ 'submenu.activeIcon.path'?: string;
38
+ 'submenu.activeIcon.name'?: string;
39
+ 'submenu.iconSize.width'?: string;
40
+ 'submenu.iconSize.height'?: string;
41
+ 'submenu.normalLabel.color'?: string;
42
+ 'submenu.normalLabel.fontWeight'?: string;
43
+ 'submenu.activeLabel.color'?: string;
44
+ 'submenu.activeLabel.fontWeight'?: string;
45
+ 'checkbox.border'?: string;
46
+ 'checkbox.backgroundColor'?: string;
47
+ 'range.pointer.color'?: string;
48
+ 'range.bar.color'?: string;
49
+ 'range.subbar.color'?: string;
50
+ 'range.value.color'?: string;
51
+ 'range.value.fontWeight'?: string;
52
+ 'range.value.fontSize'?: string;
53
+ 'range.value.border'?: string;
54
+ 'range.value.backgroundColor'?: string;
55
+ 'range.title.color'?: string;
56
+ 'range.title.fontWeight'?: string;
57
+ 'colorpicker.button.border'?: string;
58
+ 'colorpicker.title.color'?: string;
59
+ }
60
+
61
+ interface IIconInfo {
62
+ [propName: string]: string;
63
+ }
64
+
65
+ interface IIconOptions {
66
+ fill?: string;
67
+ left?: number;
68
+ top?: number;
69
+ }
70
+
71
+ interface IShapeOptions {
72
+ fill?: string;
73
+ stroke?: string;
74
+ strokeWidth?: number;
75
+ width?: number;
76
+ height?: number;
77
+ rx?: number;
78
+ ry?: number;
79
+ left?: number;
80
+ top?: number;
81
+ isRegular?: boolean;
82
+ }
83
+
84
+ interface IGenerateTextOptions {
85
+ styles?: ITextStyleConfig;
86
+ position?: {
87
+ x: number;
88
+ y: number;
89
+ };
90
+ }
91
+
92
+ type IFilterOptions =
93
+ | { blur: number }
94
+ | { brightness: number }
95
+ | { noise: number }
96
+ | { blocksize: number }
97
+ | { color: string; distance: number; useAlpha?: boolean }
98
+ | { mode: string; color: string; alpha?: number }
99
+ | { maskObjId: number };
100
+
101
+ interface ITextStyleConfig {
102
+ fill?: string;
103
+ fontFamily?: string;
104
+ fontSize?: number;
105
+ fontStyle?: string;
106
+ fontWeight?: string;
107
+ textAlign?: string;
108
+ textDecoration?: string;
109
+ }
110
+
111
+ interface IRectConfig {
112
+ left: number;
113
+ top: number;
114
+ width: number;
115
+ height: number;
116
+ }
117
+
118
+ interface ICanvasSize {
119
+ width: number;
120
+ height: number;
121
+ }
122
+
123
+ interface IBrushOptions {
124
+ width: number;
125
+ color: string;
126
+ }
127
+
128
+ interface IPositionConfig {
129
+ x: number;
130
+ y: number;
131
+ originX: string;
132
+ originY: string;
133
+ }
134
+
135
+ interface IToDataURLOptions {
136
+ format?: string;
137
+ quality?: number;
138
+ multiplier?: number;
139
+ left?: number;
140
+ top?: number;
141
+ width?: number;
142
+ height?: number;
143
+ }
144
+
145
+ interface IGraphicObjectProps {
146
+ id?: number;
147
+ type?: string;
148
+ text?: string;
149
+ left?: string | number;
150
+ top?: string | number;
151
+ width?: string | number;
152
+ height?: string | number;
153
+ fill?: string;
154
+ stroke?: string;
155
+ strokeWidth?: string | number;
156
+ fontFamily?: string;
157
+ fontSize?: number;
158
+ fontStyle?: string;
159
+ fontWeight?: string;
160
+ textAlign?: string;
161
+ textDecoration?: string;
162
+ opacity?: number;
163
+ [propName: string]: number | string | boolean | undefined;
164
+ }
165
+
166
+ interface IIncludeUIOptions {
167
+ loadImage?: {
168
+ path: string;
169
+ name: string;
170
+ };
171
+ theme?: IThemeConfig;
172
+ menu?: string[];
173
+ initMenu?: string;
174
+ uiSize?: {
175
+ width: string;
176
+ height: string;
177
+ };
178
+ menuBarPosition?: string;
179
+ usageStatistics?: boolean;
180
+ }
181
+
182
+ interface ISelectionStyleConfig {
183
+ cornerStyle?: string;
184
+ cornerSize?: number;
185
+ cornerColor?: string;
186
+ cornerStrokeColor?: string;
187
+ transparentCorners?: boolean;
188
+ lineWidth?: number;
189
+ borderColor?: string;
190
+ rotatingPointOffset?: number;
191
+ }
192
+
193
+ interface IObjectProps {
194
+ // icon, shape
195
+ fill: string;
196
+ height: number;
197
+ id: number;
198
+ left: number;
199
+ opacity: number;
200
+ stroke: string | null;
201
+ strokeWidth: number | null;
202
+ top: number;
203
+ type: string;
204
+ width: number;
205
+ }
206
+
207
+ interface ITextObjectProps extends IObjectProps {
208
+ fontFamily: string;
209
+ fontSize: string;
210
+ fontStyle: string;
211
+ text: string;
212
+ textAlign: string;
213
+ textDecoration: string;
214
+ }
215
+
216
+ interface IFilterResolveObject {
217
+ type: string;
218
+ action: string;
219
+ }
220
+
221
+ interface ICropResolveObject {
222
+ oldWidth: number;
223
+ oldHeight: number;
224
+ newWidth: number;
225
+ newHeight: number;
226
+ }
227
+
228
+ interface IFlipXYResolveObject {
229
+ flipX: boolean;
230
+ flipY: boolean;
231
+ angle: AngleType;
232
+ }
233
+
234
+ interface IOptions {
235
+ includeUI?: IIncludeUIOptions;
236
+ cssMaxWidth?: number;
237
+ cssMaxHeight?: number;
238
+ usageStatistics?: boolean;
239
+ selectionStyle?: ISelectionStyleConfig;
240
+ }
241
+
242
+ interface IUIDimension {
243
+ height?: string;
244
+ width?: string;
245
+ }
246
+
247
+ interface IImageDimension {
248
+ oldHeight?: number;
249
+ oldWidth?: number;
250
+ newHeight?: number;
251
+ newWidth?: number;
252
+ }
253
+
254
+ interface IEditorSize {
255
+ uiSize?: IUIDimension;
256
+ imageSize?: IImageDimension;
257
+ }
258
+
259
+ interface UI {
260
+ resizeEditor(dimension: IEditorSize): Promise<void>;
261
+ }
262
+
263
+ class ImageEditor {
264
+ constructor(wrapper: string | Element, options: IOptions);
265
+ public ui: UI;
266
+
267
+ public addIcon(type: string, options?: IIconOptions): Promise<IObjectProps>;
268
+ public addImageObject(imgUrl: string): Promise<void>;
269
+ public addShape(type: string, options?: IShapeOptions): Promise<IObjectProps>;
270
+ public addText(text: string, options?: IGenerateTextOptions): Promise<ITextObjectProps>;
271
+ public applyFilter(
272
+ type: string,
273
+ options?: IFilterOptions,
274
+ isSilent?: boolean
275
+ ): Promise<IFilterResolveObject>;
276
+ public changeCursor(cursorType: string): void;
277
+ public changeIconColor(id: number, color: string): Promise<void>;
278
+ public changeSelectableAll(selectable: boolean): void;
279
+ public changeShape(id: number, options?: IShapeOptions, isSilent?: boolean): Promise<void>;
280
+ public changeText(id: number, text?: string): Promise<void>;
281
+ public changeTextStyle(
282
+ id: number,
283
+ styleObj: ITextStyleConfig,
284
+ isSilent?: boolean
285
+ ): Promise<void>;
286
+ public clearObjects(): Promise<void>;
287
+ public clearRedoStack(): void;
288
+ public clearUndoStack(): void;
289
+ public crop(rect: IRectConfig): Promise<ICropResolveObject>;
290
+ public deactivateAll(): void;
291
+ public destroy(): void;
292
+ public discardSelection(): void;
293
+ public flipX(): Promise<IFlipXYResolveObject>;
294
+ public flipY(): Promise<IFlipXYResolveObject>;
295
+ public getCanvasSize(): ICanvasSize;
296
+ public getCropzoneRect(): IRectConfig;
297
+ public getDrawingMode(): string;
298
+ public getImageName(): string;
299
+ public getObjectPosition(id: number, originX: string, originY: string): ICanvasSize;
300
+ public getObjectProperties(
301
+ id: number,
302
+ keys: string | string[] | IGraphicObjectProps
303
+ ): IGraphicObjectProps;
304
+ public hasFilter(type: string): boolean;
305
+ public isEmptyRedoStack(): boolean;
306
+ public isEmptyUndoStack(): boolean;
307
+ public loadImageFromFile(imgFile: File, imageName?: string): Promise<ICropResolveObject>;
308
+ public loadImageFromURL(url: string, imageName?: string): Promise<ICropResolveObject>;
309
+ public redo(iterationCount: number): Promise<any>;
310
+ public registerIcons(infos: IIconInfo): void;
311
+ public removeActiveObject(): void;
312
+ public removeFilter(type?: string): Promise<IFilterResolveObject>;
313
+ public removeObject(id: number): Promise<void>;
314
+ public resetFlip(): Promise<IFlipXYResolveObject>;
315
+ public resizeCanvasDimension(dimension: ICanvasSize): Promise<void>;
316
+ public rotate(angle: AngleType, isSilent?: boolean): Promise<AngleType>;
317
+ public setAngle(angle: AngleType, isSilent?: boolean): Promise<AngleType>;
318
+ public setBrush(option: IBrushOptions): void;
319
+ public setCropzoneRect(mode?: number): void;
320
+ public setDrawingShape(type: string, options?: IShapeOptions): void;
321
+ public setObjectPosition(id: number, posInfo?: IPositionConfig): Promise<void>;
322
+ public setObjectProperties(id: number, keyValue?: IGraphicObjectProps): Promise<void>;
323
+ public setObjectPropertiesQuietly(id: number, keyValue?: IGraphicObjectProps): Promise<void>;
324
+ public startDrawingMode(mode: string, option?: { width?: number; color?: string }): boolean;
325
+ public stopDrawingMode(): void;
326
+ public toDataURL(options?: IToDataURLOptions): string;
327
+ public undo(iterationCount: number): Promise<any>;
328
+ public on(eventName: string, handler: (...args: any[]) => void): void;
329
+ }
330
+ }
331
+
332
+ declare module 'tui-image-editor' {
333
+ export = tuiImageEditor.ImageEditor;
334
+ }
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "ding-image-editor",
3
+ "version": "3.15.3",
4
+ "description": "TOAST UI ImageEditor",
5
+ "keywords": [
6
+ "nhn",
7
+ "nhn cloud",
8
+ "tui",
9
+ "component",
10
+ "image",
11
+ "editor",
12
+ "canvas",
13
+ "fabric"
14
+ ],
15
+ "main": "dist/tui-image-editor.js",
16
+ "files": [
17
+ "src",
18
+ "dist",
19
+ "index.d.ts"
20
+ ],
21
+ "scripts": {
22
+ "test": "jest --forceExit --detectOpenHandles",
23
+ "test:types": "tsc --project tests/types",
24
+ "build": "npm run build:clean && npm run build:svg && npm run build:prod && npm run build:minify && node tsBannerGenerator.js",
25
+ "build:clean": "rm -rf ./dist",
26
+ "build:prod": "webpack",
27
+ "build:minify": "webpack --env minify",
28
+ "build:svg": "node makesvg.js",
29
+ "serve": "webpack serve",
30
+ "doc:dev": "tuidoc --serv",
31
+ "doc": "tuidoc",
32
+ "update:wrapper": "node scripts/updateWrapper.js",
33
+ "publish:cdn": "node scripts/publishToCDN.js"
34
+ },
35
+ "homepage": "https://github.com/nhn/tui.image-editor",
36
+ "bugs": "https://github.com/nhn/tui.image-editor/issues",
37
+ "author": "NHN Cloud. FE Development Lab <dl_javascript@nhn.com>",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/nhn/tui.image-editor.git"
41
+ },
42
+ "license": "MIT",
43
+ "browserslist": [
44
+ "last 2 versions",
45
+ "not ie <= 9"
46
+ ],
47
+ "dependencies": {
48
+ "fabric": "^4.2.0",
49
+ "tui-code-snippet": "^2.3.3",
50
+ "tui-color-picker": "^2.2.6"
51
+ }
52
+ }
@@ -0,0 +1,102 @@
1
+ /* ICON BUTTON */
2
+ .tie-icon-add-button
3
+ &.icon-bubble .{prefix}-button[data-icontype="icon-bubble"] svg > use.active,
4
+ &.icon-heart .{prefix}-button[data-icontype="icon-heart"] svg > use.active,
5
+ &.icon-location .{prefix}-button[data-icontype="icon-location"] svg > use.active,
6
+ &.icon-polygon .{prefix}-button[data-icontype="icon-polygon"] svg > use.active,
7
+ &.icon-star .{prefix}-button[data-icontype="icon-star"] svg > use.active,
8
+ &.icon-star-2 .{prefix}-button[data-icontype="icon-star-2"] svg > use.active,
9
+ &.icon-arrow-3 .{prefix}-button[data-icontype="icon-arrow-3"] svg > use.active,
10
+ &.icon-arrow-2 .{prefix}-button[data-icontype="icon-arrow-2"] svg > use.active,
11
+ &.icon-arrow .{prefix}-button[data-icontype="icon-arrow"] svg > use.active,
12
+ &.icon-bubble .{prefix}-button[data-icontype="icon-bubble"] svg > use.active
13
+ display: block;
14
+
15
+ /* DRAW BUTTON */
16
+ .tie-draw-line-select-button
17
+ &.line .{prefix}-button.line svg > use.normal,
18
+ &.free .{prefix}-button.free svg > use.normal
19
+ display: none;
20
+
21
+ &.line .{prefix}-button.line svg > use.active,
22
+ &.free .{prefix}-button.free svg > use.active
23
+ display: block;
24
+
25
+ /* FLIP BUTTON */
26
+ .tie-flip-button
27
+ &.resetFlip .{prefix}-button.resetFlip,
28
+ &.flipX .{prefix}-button.flipX,
29
+ &.flipY .{prefix}-button.flipY
30
+ svg > use.normal
31
+ display: none;
32
+ svg > use.active
33
+ display: block;
34
+
35
+ /* MASK BUTTON */
36
+ .tie-mask-apply.apply.active .{prefix}-button.apply
37
+ label
38
+ color: #fff;
39
+ svg > use.active
40
+ display: block;
41
+
42
+ /* CROP BUTTON */
43
+ .tie-crop-button,
44
+ .tie-crop-preset-button
45
+ .{prefix}-button.apply
46
+ margin-right: 24px;
47
+ .{prefix}-button.preset.active svg > use.active
48
+ display: block;
49
+ .{prefix}-button.apply.active svg > use.active
50
+ display: block;
51
+
52
+ /* RESIZE BUTTON */
53
+ .tie-resize-button,
54
+ .tie-resize-preset-button
55
+ .{prefix}-button.apply
56
+ margin-right: 24px;
57
+ .{prefix}-button.preset.active svg > use.active
58
+ display: block;
59
+ .{prefix}-button.apply.active svg > use.active
60
+ display: block;
61
+
62
+
63
+ /* SHAPE BUTTON */
64
+ .tie-shape-button
65
+ &.rect .{prefix}-button.rect,
66
+ &.circle .{prefix}-button.circle,
67
+ &.triangle .{prefix}-button.triangle
68
+ svg > use.normal
69
+ display: none;
70
+ svg > use.active
71
+ display: block;
72
+
73
+ /* TEXT BUTTON */
74
+ .tie-text-effect-button
75
+ .{prefix}-button.active svg > use.active
76
+ display: block;
77
+ .tie-text-align-button
78
+ &.tie-text-align-left .{prefix}-button.left svg > use.active,
79
+ &.tie-text-align-center .{prefix}-button.center svg > use.active,
80
+ &.tie-text-align-right .{prefix}-button.right svg > use.active
81
+ display: block;
82
+ .tie-mask-image-file,
83
+ .tie-icon-image-file
84
+ opacity: 0;
85
+ position: absolute;
86
+ width: 100%;
87
+ height: 100%;
88
+ border: 1px solid green;
89
+ cursor: inherit;
90
+ left: 0;
91
+ top: 0;
92
+
93
+
94
+ /* FLIP BUTTON */
95
+ .tie-zoom-button
96
+ &.resetFlip .{prefix}-button.resetFlip,
97
+ &.flipX .{prefix}-button.flipX,
98
+ &.flipY .{prefix}-button.flipY
99
+ svg > use.normal
100
+ display: none;
101
+ svg > use.active
102
+ display: block;
@@ -0,0 +1,86 @@
1
+ /* VIRTUAL CHECKBOX */
2
+ .{prefix}-container
3
+ .filter-color-item
4
+ display: inline-block;
5
+ .tui-image-editor-checkbox
6
+ display: block;
7
+ .{prefix}-checkbox-wrap
8
+ display: inline-block !important;
9
+ text-align: left;
10
+ .{prefix}-checkbox-wrap.fixed-width
11
+ width: 187px;
12
+ white-space: normal;
13
+ .{prefix}-checkbox
14
+ display: inline-block;
15
+ margin: 1px 0 1px 0;
16
+ input
17
+ width: 14px;
18
+ height: 14px;
19
+ opacity: 0;
20
+ > label > span
21
+ color: #fff;
22
+ height: 14px;
23
+ position: relative;
24
+ input + label:before,
25
+ > label > span:before
26
+ content: '';
27
+ position: absolute;
28
+ width: 14px;
29
+ height: 14px;
30
+ background-color: #fff;
31
+ top: 6px;
32
+ left: -19px;
33
+ display: inline-block;
34
+ margin: 0;
35
+ text-align: center;
36
+ font-size: 11px;
37
+ border: 0;
38
+ border-radius: 2px;
39
+ padding-top: 1px;
40
+ box-sizing: border-box;
41
+ input[type='checkbox']:checked + span:before
42
+ background-size: cover;
43
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAMBJREFUKBWVkjEOwjAMRe2WgZW7IIHEDdhghhuwcQ42rlJugAQS54Cxa5cq1QM5TUpByZfS2j9+dlJVt/tX5ZxbS4ZU9VLkQvSHKTIGRaVJYFmKrBbTCJxE2UgCdDzMZDkHrOV6b95V0US6UmgKodujEZbJg0B0ZgEModO5lrY1TMQf1TpyJGBEjD+E2NPN7ukIUDiF/BfEXgRiGEw8NgkffYGYwCi808fpn/6OvfUfsDr/Vc1IfRf8sKnFVqeiVQfDu0tf/nWH9gAAAABJRU5ErkJggg==');
44
+
45
+ .{prefix}-selectlist-wrap
46
+ position: relative;
47
+ select
48
+ width: 100%;
49
+ height: 28px;
50
+ margin-top: 4px;
51
+ border: 0;
52
+ outline: 0;
53
+ border-radius: 0;
54
+ border: 1px solid #cbdbdb;
55
+ background-color: #fff;
56
+ -webkit-appearance: none;
57
+ -moz-appearance: none;
58
+ appearance: none;
59
+ padding: 0 7px 0 10px;
60
+ .{prefix}-selectlist
61
+ display: none;
62
+ position: relative;
63
+ top: -1px;
64
+ border: 1px solid #ccc;
65
+ background-color: #fff;
66
+ border-top: 0px;
67
+ padding: 4px 0;
68
+ li
69
+ display: block;
70
+ text-align: left;
71
+ padding: 7px 10px;
72
+ font-family: 'Noto Sans', sans-serif;
73
+ li:hover
74
+ background-color: rgba(81, 92, 230, 0.05);
75
+ .{prefix}-selectlist-wrap:before
76
+ content: '';
77
+ position: absolute;
78
+ display: inline-block;
79
+ width: 14px;
80
+ height: 14px;
81
+ right: 5px;
82
+ top: 10px;
83
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAHlJREFUKBVjYBgFOEOAEVkmPDxc89+/f6eAYjzI4kD2FyYmJrOVK1deh4kzwRggGiQBVJCELAZig8SQNYHEmEEEMrh69eo1HR0dfqCYJUickZGxf9WqVf3IakBsFBthklpaWmVA9mEQhrJhUoTp0NBQCRAmrHL4qgAAuu4cWZOZIGsAAAAASUVORK5CYII=');
84
+ background-size: cover;
85
+ .{prefix}-selectlist-wrap select::-ms-expand
86
+ display:none;
@@ -0,0 +1,98 @@
1
+ /* COLOR PICKER */
2
+ .{prefix}-container
3
+ div.tui-colorpicker-clearfix
4
+ width: 159px;
5
+ height: 28px;
6
+ border: 1px solid #d5d5d5;
7
+ border-radius: 2px;
8
+ background-color: #f5f5f5;
9
+ margin-top: 6px;
10
+ padding: 4px 7px 4px 7px;
11
+ .tui-colorpicker-palette-hex
12
+ width: 114px;
13
+ background-color: #f5f5f5;
14
+ border: 0;
15
+ font-size: 11px;
16
+ margin-top: 2px;
17
+ font-family: 'Noto Sans', sans-serif;
18
+ .tui-colorpicker-palette-hex[value='#ffffff'] + .tui-colorpicker-palette-preview,
19
+ .tui-colorpicker-palette-hex[value=''] + .tui-colorpicker-palette-preview
20
+ border: 1px solid #ccc;
21
+ .tui-colorpicker-palette-hex[value=''] + .tui-colorpicker-palette-preview
22
+ background-size: cover;
23
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAdBJREFUWAnFl0FuwjAQRZ0ukiugHqFSOQNdseuKW3ALzkA4BateICvUGyCxrtRFd4WuunH/TzykaYJrnLEYaTJJsP2+x8GZZCbQrLU5mj7Bn+EP8HvnCObd+R7xBV5lWfaNON4AnsA38E94qLEt+0yiFaBzAV/Bv+Cxxr4co7hKCDpw1q9wLeNYYdlAwyn8TYt8Hme3+8D5ozcTaMCZ68PXa2tnM2sbEcOZAJhrrpl2DAcTOGNjZPSfCdzkw6JrfbiMv+osBe4y9WOedhm4jZfhbENWuxS44H9Wz/xw4WzqLOAqh1+zycgAwzEMzr5k5gaHOa9ULBwuuDkFlHI1Kl4PJ66kgIpnoywOTmRFAYcbwYk9UMApWkD8zAV5ihcwHk4Rx7gl0IFTQL0EFc+CTQ9OZHWH3YhlVJiVpTHbrTGLhTHLZVgff6s9lyBsI9KduSS83oj+34rTwJutmBmCnMsvozRwZqB5GTkBw6/jdPDu69iJ6BYk6eCcfbcgcQIK/MByaaiMqm8rHcjol2TnpWDhyAKSGdA3FrxtJUToX0ODqatetfGE+8tyEUOV8GY5dGRwLP/MBS4RHQr4bT7NRAQjlcOTfZxmv2G+c4hI8nn+Ax5PG/zhI393AAAAAElFTkSuQmCC');
24
+ .tui-colorpicker-palette-preview
25
+ border-radius: 100%;
26
+ float: left;
27
+ width: 17px;
28
+ height: 17px;
29
+ border: 0;
30
+ .color-picker-control
31
+ position: absolute;
32
+ display: none;
33
+ z-index: 99;
34
+ width: 192px;
35
+ background-color: #fff;
36
+ box-shadow: 0 3px 22px 6px rgba(0, 0, 0, .15);
37
+ padding: 16px;
38
+ border-radius: 2px;
39
+ .tui-colorpicker-palette-toggle-slider
40
+ display: none;
41
+ .tui-colorpicker-palette-button
42
+ border: 0;
43
+ border-radius: 100%;
44
+ margin: 2px;
45
+ background-size: cover;
46
+ font-size: 1px;
47
+ &[title='#ffffff']
48
+ border: 1px solid #ccc;
49
+ &[title='']
50
+ border: 1px solid #ccc;
51
+ .triangle
52
+ width: 0;
53
+ height: 0;
54
+ border-right: 7px solid transparent;
55
+ border-top: 8px solid #fff;
56
+ border-left: 7px solid transparent;
57
+ position: absolute;
58
+ bottom: -8px;
59
+ left: 84px;
60
+ .tui-colorpicker-container,
61
+ .tui-colorpicker-palette-container ul,
62
+ .tui-colorpicker-palette-container
63
+ width: 100%;
64
+ height: auto;
65
+
66
+
67
+ .filter-color-item
68
+ .color-picker-control label
69
+ font-color: #333;
70
+ font-weight: normal;
71
+ margin-right: 7pxleft
72
+ .tui-image-editor-checkbox
73
+ margin-top: 0;
74
+ input + label:before,
75
+ > label:before
76
+ left: -16px;
77
+ .color-picker
78
+ width: 100%;
79
+ height: auto;
80
+ .color-picker-value
81
+ width: 32px;
82
+ height: 32px;
83
+ border: 0px;
84
+ border-radius: 100%;
85
+ margin: auto;
86
+ margin-bottom: 1px;
87
+ &.transparent
88
+ border: 1px solid #cbcbcb;
89
+ background-size: cover;
90
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAdBJREFUWAnFl0FuwjAQRZ0ukiugHqFSOQNdseuKW3ALzkA4BateICvUGyCxrtRFd4WuunH/TzykaYJrnLEYaTJJsP2+x8GZZCbQrLU5mj7Bn+EP8HvnCObd+R7xBV5lWfaNON4AnsA38E94qLEt+0yiFaBzAV/Bv+Cxxr4co7hKCDpw1q9wLeNYYdlAwyn8TYt8Hme3+8D5ozcTaMCZ68PXa2tnM2sbEcOZAJhrrpl2DAcTOGNjZPSfCdzkw6JrfbiMv+osBe4y9WOedhm4jZfhbENWuxS44H9Wz/xw4WzqLOAqh1+zycgAwzEMzr5k5gaHOa9ULBwuuDkFlHI1Kl4PJ66kgIpnoywOTmRFAYcbwYk9UMApWkD8zAV5ihcwHk4Rx7gl0IFTQL0EFc+CTQ9OZHWH3YhlVJiVpTHbrTGLhTHLZVgff6s9lyBsI9KduSS83oj+34rTwJutmBmCnMsvozRwZqB5GTkBw6/jdPDu69iJ6BYk6eCcfbcgcQIK/MByaaiMqm8rHcjol2TnpWDhyAKSGdA3FrxtJUToX0ODqatetfGE+8tyEUOV8GY5dGRwLP/MBS4RHQr4bT7NRAQjlcOTfZxmv2G+c4hI8nn+Ax5PG/zhI393AAAAAElFTkSuQmCC');
91
+
92
+ .color-picker-value + label
93
+ color: #fff;
94
+
95
+ .{prefix}-submenu svg > use
96
+ display: none;
97
+ .{prefix}-submenu svg > use.normal
98
+ display: block;