@visactor/vrender-kits 1.0.47-alpha.0 → 1.1.0-alpha.1

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 (812) hide show
  1. package/cjs/canvas/contributions/browser/canvas.js +3 -12
  2. package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
  3. package/cjs/canvas/contributions/browser/context.d.ts +2 -3
  4. package/cjs/canvas/contributions/browser/context.js +3 -12
  5. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  6. package/cjs/canvas/contributions/browser/modules.d.ts +3 -1
  7. package/cjs/canvas/contributions/browser/modules.js +2 -2
  8. package/cjs/canvas/contributions/browser/modules.js.map +1 -1
  9. package/cjs/canvas/contributions/create-canvas-module.d.ts +4 -2
  10. package/cjs/canvas/contributions/create-canvas-module.js +6 -4
  11. package/cjs/canvas/contributions/create-canvas-module.js.map +1 -1
  12. package/cjs/canvas/contributions/feishu/canvas.js +3 -12
  13. package/cjs/canvas/contributions/feishu/canvas.js.map +1 -1
  14. package/cjs/canvas/contributions/feishu/context.js +4 -11
  15. package/cjs/canvas/contributions/feishu/context.js.map +1 -1
  16. package/cjs/canvas/contributions/feishu/modules.d.ts +3 -1
  17. package/cjs/canvas/contributions/feishu/modules.js +2 -2
  18. package/cjs/canvas/contributions/feishu/modules.js.map +1 -1
  19. package/cjs/canvas/contributions/harmony/canvas.js +3 -12
  20. package/cjs/canvas/contributions/harmony/canvas.js.map +1 -1
  21. package/cjs/canvas/contributions/harmony/context.js +3 -10
  22. package/cjs/canvas/contributions/harmony/context.js.map +1 -1
  23. package/cjs/canvas/contributions/harmony/modules.d.ts +3 -1
  24. package/cjs/canvas/contributions/harmony/modules.js +2 -2
  25. package/cjs/canvas/contributions/harmony/modules.js.map +1 -1
  26. package/cjs/canvas/contributions/lynx/canvas.js +3 -12
  27. package/cjs/canvas/contributions/lynx/canvas.js.map +1 -1
  28. package/cjs/canvas/contributions/lynx/context.js +3 -10
  29. package/cjs/canvas/contributions/lynx/context.js.map +1 -1
  30. package/cjs/canvas/contributions/lynx/modules.d.ts +3 -1
  31. package/cjs/canvas/contributions/lynx/modules.js +2 -2
  32. package/cjs/canvas/contributions/lynx/modules.js.map +1 -1
  33. package/cjs/canvas/contributions/modules.d.ts +9 -9
  34. package/cjs/canvas/contributions/modules.js +11 -11
  35. package/cjs/canvas/contributions/modules.js.map +1 -1
  36. package/cjs/canvas/contributions/node/canvas.js +3 -12
  37. package/cjs/canvas/contributions/node/canvas.js.map +1 -1
  38. package/cjs/canvas/contributions/node/context.js +4 -13
  39. package/cjs/canvas/contributions/node/context.js.map +1 -1
  40. package/cjs/canvas/contributions/node/modules.d.ts +3 -1
  41. package/cjs/canvas/contributions/node/modules.js +2 -2
  42. package/cjs/canvas/contributions/node/modules.js.map +1 -1
  43. package/cjs/canvas/contributions/taro/canvas.js +4 -13
  44. package/cjs/canvas/contributions/taro/canvas.js.map +1 -1
  45. package/cjs/canvas/contributions/taro/context.js +3 -10
  46. package/cjs/canvas/contributions/taro/context.js.map +1 -1
  47. package/cjs/canvas/contributions/taro/modules.d.ts +3 -1
  48. package/cjs/canvas/contributions/taro/modules.js +2 -2
  49. package/cjs/canvas/contributions/taro/modules.js.map +1 -1
  50. package/cjs/canvas/contributions/tt/canvas.js +3 -12
  51. package/cjs/canvas/contributions/tt/canvas.js.map +1 -1
  52. package/cjs/canvas/contributions/tt/context.js +3 -10
  53. package/cjs/canvas/contributions/tt/context.js.map +1 -1
  54. package/cjs/canvas/contributions/tt/modules.d.ts +3 -1
  55. package/cjs/canvas/contributions/tt/modules.js +2 -2
  56. package/cjs/canvas/contributions/tt/modules.js.map +1 -1
  57. package/cjs/canvas/contributions/wx/canvas.js +3 -12
  58. package/cjs/canvas/contributions/wx/canvas.js.map +1 -1
  59. package/cjs/canvas/contributions/wx/context.js +4 -11
  60. package/cjs/canvas/contributions/wx/context.js.map +1 -1
  61. package/cjs/canvas/contributions/wx/modules.d.ts +3 -1
  62. package/cjs/canvas/contributions/wx/modules.js +2 -2
  63. package/cjs/canvas/contributions/wx/modules.js.map +1 -1
  64. package/cjs/common/explicit-binding.d.ts +3 -0
  65. package/cjs/common/explicit-binding.js +21 -0
  66. package/cjs/common/explicit-binding.js.map +1 -0
  67. package/cjs/common/legacy-container.d.ts +3 -0
  68. package/cjs/common/legacy-container.js +6 -0
  69. package/cjs/common/legacy-container.js.map +1 -0
  70. package/cjs/env/all.d.ts +3 -3
  71. package/cjs/env/all.js +3 -3
  72. package/cjs/env/all.js.map +1 -1
  73. package/cjs/env/browser.d.ts +3 -3
  74. package/cjs/env/browser.js +12 -10
  75. package/cjs/env/browser.js.map +1 -1
  76. package/cjs/env/contributions/browser-contribution.js +3 -10
  77. package/cjs/env/contributions/browser-contribution.js.map +1 -1
  78. package/cjs/env/contributions/feishu-contribution.js +3 -12
  79. package/cjs/env/contributions/feishu-contribution.js.map +1 -1
  80. package/cjs/env/contributions/harmony-contribution.js +3 -12
  81. package/cjs/env/contributions/harmony-contribution.js.map +1 -1
  82. package/cjs/env/contributions/lynx-contribution.js +3 -12
  83. package/cjs/env/contributions/lynx-contribution.js.map +1 -1
  84. package/cjs/env/contributions/node-contribution.js +2 -9
  85. package/cjs/env/contributions/node-contribution.js.map +1 -1
  86. package/cjs/env/contributions/taro-contribution.js +2 -11
  87. package/cjs/env/contributions/taro-contribution.js.map +1 -1
  88. package/cjs/env/contributions/tt-contribution.js +3 -10
  89. package/cjs/env/contributions/tt-contribution.js.map +1 -1
  90. package/cjs/env/contributions/wx-contribution.js +3 -10
  91. package/cjs/env/contributions/wx-contribution.js.map +1 -1
  92. package/cjs/env/feishu.d.ts +3 -3
  93. package/cjs/env/feishu.js +14 -10
  94. package/cjs/env/feishu.js.map +1 -1
  95. package/cjs/env/harmony.d.ts +3 -3
  96. package/cjs/env/harmony.js +13 -10
  97. package/cjs/env/harmony.js.map +1 -1
  98. package/cjs/env/lynx.d.ts +3 -3
  99. package/cjs/env/lynx.js +14 -10
  100. package/cjs/env/lynx.js.map +1 -1
  101. package/cjs/env/node.d.ts +3 -3
  102. package/cjs/env/node.js +13 -10
  103. package/cjs/env/node.js.map +1 -1
  104. package/cjs/env/taro.d.ts +3 -3
  105. package/cjs/env/taro.js +14 -10
  106. package/cjs/env/taro.js.map +1 -1
  107. package/cjs/env/tt.d.ts +3 -3
  108. package/cjs/env/tt.js +13 -10
  109. package/cjs/env/tt.js.map +1 -1
  110. package/cjs/env/wx.d.ts +3 -3
  111. package/cjs/env/wx.js +14 -12
  112. package/cjs/env/wx.js.map +1 -1
  113. package/cjs/graphic/constants.js +2 -1
  114. package/cjs/index-node.d.ts +5 -1
  115. package/cjs/index-node.js +34 -6
  116. package/cjs/index-node.js.map +1 -1
  117. package/cjs/index.d.ts +1 -0
  118. package/cjs/index.js +32 -2
  119. package/cjs/index.js.map +1 -1
  120. package/cjs/installers/app.d.ts +6 -0
  121. package/cjs/installers/app.js +138 -0
  122. package/cjs/installers/app.js.map +1 -0
  123. package/cjs/picker/canvas-module.d.ts +5 -4
  124. package/cjs/picker/canvas-module.js +22 -13
  125. package/cjs/picker/canvas-module.js.map +1 -1
  126. package/cjs/picker/canvas-picker-service.js +3 -20
  127. package/cjs/picker/canvas-picker-service.js.map +1 -1
  128. package/cjs/picker/contributions/canvas-picker/arc-module.d.ts +1 -2
  129. package/cjs/picker/contributions/canvas-picker/arc-module.js +9 -6
  130. package/cjs/picker/contributions/canvas-picker/arc-module.js.map +1 -1
  131. package/cjs/picker/contributions/canvas-picker/arc-picker.d.ts +1 -1
  132. package/cjs/picker/contributions/canvas-picker/arc-picker.js +2 -16
  133. package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  134. package/cjs/picker/contributions/canvas-picker/arc3d-module.d.ts +1 -2
  135. package/cjs/picker/contributions/canvas-picker/arc3d-module.js +11 -6
  136. package/cjs/picker/contributions/canvas-picker/arc3d-module.js.map +1 -1
  137. package/cjs/picker/contributions/canvas-picker/arc3d-picker.d.ts +1 -1
  138. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +2 -16
  139. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  140. package/cjs/picker/contributions/canvas-picker/area-module.d.ts +1 -2
  141. package/cjs/picker/contributions/canvas-picker/area-module.js +9 -6
  142. package/cjs/picker/contributions/canvas-picker/area-module.js.map +1 -1
  143. package/cjs/picker/contributions/canvas-picker/area-picker.d.ts +1 -1
  144. package/cjs/picker/contributions/canvas-picker/area-picker.js +2 -16
  145. package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  146. package/cjs/picker/contributions/canvas-picker/circle-module.d.ts +1 -2
  147. package/cjs/picker/contributions/canvas-picker/circle-module.js +9 -6
  148. package/cjs/picker/contributions/canvas-picker/circle-module.js.map +1 -1
  149. package/cjs/picker/contributions/canvas-picker/circle-picker.d.ts +1 -1
  150. package/cjs/picker/contributions/canvas-picker/circle-picker.js +2 -16
  151. package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  152. package/cjs/picker/contributions/canvas-picker/gif-image-module.d.ts +1 -2
  153. package/cjs/picker/contributions/canvas-picker/gif-image-module.js +8 -6
  154. package/cjs/picker/contributions/canvas-picker/gif-image-module.js.map +1 -1
  155. package/cjs/picker/contributions/canvas-picker/gif-image-picker.js +3 -10
  156. package/cjs/picker/contributions/canvas-picker/gif-image-picker.js.map +1 -1
  157. package/cjs/picker/contributions/canvas-picker/glyph-module.d.ts +1 -2
  158. package/cjs/picker/contributions/canvas-picker/glyph-module.js +9 -6
  159. package/cjs/picker/contributions/canvas-picker/glyph-module.js.map +1 -1
  160. package/cjs/picker/contributions/canvas-picker/glyph-picker.js +3 -17
  161. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  162. package/cjs/picker/contributions/canvas-picker/group-picker.d.ts +1 -1
  163. package/cjs/picker/contributions/canvas-picker/group-picker.js +2 -9
  164. package/cjs/picker/contributions/canvas-picker/group-picker.js.map +1 -1
  165. package/cjs/picker/contributions/canvas-picker/image-module.d.ts +1 -2
  166. package/cjs/picker/contributions/canvas-picker/image-module.js +9 -6
  167. package/cjs/picker/contributions/canvas-picker/image-module.js.map +1 -1
  168. package/cjs/picker/contributions/canvas-picker/image-picker.d.ts +1 -1
  169. package/cjs/picker/contributions/canvas-picker/image-picker.js +2 -16
  170. package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  171. package/cjs/picker/contributions/canvas-picker/line-module.d.ts +1 -2
  172. package/cjs/picker/contributions/canvas-picker/line-module.js +9 -6
  173. package/cjs/picker/contributions/canvas-picker/line-module.js.map +1 -1
  174. package/cjs/picker/contributions/canvas-picker/line-picker.d.ts +1 -1
  175. package/cjs/picker/contributions/canvas-picker/line-picker.js +2 -16
  176. package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  177. package/cjs/picker/contributions/canvas-picker/lottie-module.d.ts +1 -2
  178. package/cjs/picker/contributions/canvas-picker/lottie-module.js +9 -6
  179. package/cjs/picker/contributions/canvas-picker/lottie-module.js.map +1 -1
  180. package/cjs/picker/contributions/canvas-picker/lottie-picker.js +3 -17
  181. package/cjs/picker/contributions/canvas-picker/lottie-picker.js.map +1 -1
  182. package/cjs/picker/contributions/canvas-picker/module.d.ts +2 -3
  183. package/cjs/picker/contributions/canvas-picker/module.js +11 -7
  184. package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
  185. package/cjs/picker/contributions/canvas-picker/path-module.d.ts +1 -2
  186. package/cjs/picker/contributions/canvas-picker/path-module.js +9 -6
  187. package/cjs/picker/contributions/canvas-picker/path-module.js.map +1 -1
  188. package/cjs/picker/contributions/canvas-picker/path-picker.d.ts +1 -1
  189. package/cjs/picker/contributions/canvas-picker/path-picker.js +2 -16
  190. package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  191. package/cjs/picker/contributions/canvas-picker/polygon-module.d.ts +1 -2
  192. package/cjs/picker/contributions/canvas-picker/polygon-module.js +9 -6
  193. package/cjs/picker/contributions/canvas-picker/polygon-module.js.map +1 -1
  194. package/cjs/picker/contributions/canvas-picker/polygon-picker.d.ts +1 -1
  195. package/cjs/picker/contributions/canvas-picker/polygon-picker.js +2 -16
  196. package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  197. package/cjs/picker/contributions/canvas-picker/pyramid3d-module.d.ts +1 -2
  198. package/cjs/picker/contributions/canvas-picker/pyramid3d-module.js +11 -6
  199. package/cjs/picker/contributions/canvas-picker/pyramid3d-module.js.map +1 -1
  200. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +1 -1
  201. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +2 -16
  202. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  203. package/cjs/picker/contributions/canvas-picker/rect-module.d.ts +1 -2
  204. package/cjs/picker/contributions/canvas-picker/rect-module.js +9 -6
  205. package/cjs/picker/contributions/canvas-picker/rect-module.js.map +1 -1
  206. package/cjs/picker/contributions/canvas-picker/rect-picker.js +3 -17
  207. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  208. package/cjs/picker/contributions/canvas-picker/rect3d-module.d.ts +1 -2
  209. package/cjs/picker/contributions/canvas-picker/rect3d-module.js +11 -6
  210. package/cjs/picker/contributions/canvas-picker/rect3d-module.js.map +1 -1
  211. package/cjs/picker/contributions/canvas-picker/rect3d-picker.d.ts +1 -1
  212. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +2 -16
  213. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  214. package/cjs/picker/contributions/canvas-picker/richtext-module.d.ts +1 -2
  215. package/cjs/picker/contributions/canvas-picker/richtext-module.js +9 -6
  216. package/cjs/picker/contributions/canvas-picker/richtext-module.js.map +1 -1
  217. package/cjs/picker/contributions/canvas-picker/richtext-picker.d.ts +1 -1
  218. package/cjs/picker/contributions/canvas-picker/richtext-picker.js +2 -16
  219. package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  220. package/cjs/picker/contributions/canvas-picker/star-module.d.ts +1 -2
  221. package/cjs/picker/contributions/canvas-picker/star-module.js +11 -6
  222. package/cjs/picker/contributions/canvas-picker/star-module.js.map +1 -1
  223. package/cjs/picker/contributions/canvas-picker/star-picker.d.ts +1 -1
  224. package/cjs/picker/contributions/canvas-picker/star-picker.js +2 -16
  225. package/cjs/picker/contributions/canvas-picker/star-picker.js.map +1 -1
  226. package/cjs/picker/contributions/canvas-picker/symbol-module.d.ts +1 -2
  227. package/cjs/picker/contributions/canvas-picker/symbol-module.js +9 -6
  228. package/cjs/picker/contributions/canvas-picker/symbol-module.js.map +1 -1
  229. package/cjs/picker/contributions/canvas-picker/symbol-picker.d.ts +1 -1
  230. package/cjs/picker/contributions/canvas-picker/symbol-picker.js +2 -16
  231. package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  232. package/cjs/picker/contributions/canvas-picker/text-module.d.ts +1 -2
  233. package/cjs/picker/contributions/canvas-picker/text-module.js +9 -6
  234. package/cjs/picker/contributions/canvas-picker/text-module.js.map +1 -1
  235. package/cjs/picker/contributions/canvas-picker/text-picker.d.ts +1 -1
  236. package/cjs/picker/contributions/canvas-picker/text-picker.js +2 -16
  237. package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  238. package/cjs/picker/contributions/constants.d.ts +1 -0
  239. package/cjs/picker/contributions/constants.js +12 -11
  240. package/cjs/picker/contributions/constants.js.map +1 -1
  241. package/cjs/picker/contributions/math-picker/arc-module.d.ts +1 -2
  242. package/cjs/picker/contributions/math-picker/arc-module.js +9 -6
  243. package/cjs/picker/contributions/math-picker/arc-module.js.map +1 -1
  244. package/cjs/picker/contributions/math-picker/arc-picker.d.ts +1 -1
  245. package/cjs/picker/contributions/math-picker/arc-picker.js +2 -16
  246. package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
  247. package/cjs/picker/contributions/math-picker/area-module.d.ts +1 -2
  248. package/cjs/picker/contributions/math-picker/area-module.js +9 -6
  249. package/cjs/picker/contributions/math-picker/area-module.js.map +1 -1
  250. package/cjs/picker/contributions/math-picker/area-picker.d.ts +1 -1
  251. package/cjs/picker/contributions/math-picker/area-picker.js +2 -16
  252. package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
  253. package/cjs/picker/contributions/math-picker/circle-module.d.ts +1 -2
  254. package/cjs/picker/contributions/math-picker/circle-module.js +9 -6
  255. package/cjs/picker/contributions/math-picker/circle-module.js.map +1 -1
  256. package/cjs/picker/contributions/math-picker/circle-picker.d.ts +1 -1
  257. package/cjs/picker/contributions/math-picker/circle-picker.js +2 -16
  258. package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
  259. package/cjs/picker/contributions/math-picker/glyph-module.d.ts +1 -2
  260. package/cjs/picker/contributions/math-picker/glyph-module.js +9 -6
  261. package/cjs/picker/contributions/math-picker/glyph-module.js.map +1 -1
  262. package/cjs/picker/contributions/math-picker/glyph-picker.js +3 -17
  263. package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  264. package/cjs/picker/contributions/math-picker/image-module.d.ts +1 -2
  265. package/cjs/picker/contributions/math-picker/image-module.js +8 -6
  266. package/cjs/picker/contributions/math-picker/image-module.js.map +1 -1
  267. package/cjs/picker/contributions/math-picker/image-picker.d.ts +1 -1
  268. package/cjs/picker/contributions/math-picker/image-picker.js +2 -9
  269. package/cjs/picker/contributions/math-picker/image-picker.js.map +1 -1
  270. package/cjs/picker/contributions/math-picker/line-module.d.ts +1 -2
  271. package/cjs/picker/contributions/math-picker/line-module.js +9 -6
  272. package/cjs/picker/contributions/math-picker/line-module.js.map +1 -1
  273. package/cjs/picker/contributions/math-picker/line-picker.d.ts +1 -1
  274. package/cjs/picker/contributions/math-picker/line-picker.js +2 -16
  275. package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
  276. package/cjs/picker/contributions/math-picker/module.d.ts +2 -3
  277. package/cjs/picker/contributions/math-picker/module.js +9 -5
  278. package/cjs/picker/contributions/math-picker/module.js.map +1 -1
  279. package/cjs/picker/contributions/math-picker/path-module.d.ts +1 -2
  280. package/cjs/picker/contributions/math-picker/path-module.js +9 -6
  281. package/cjs/picker/contributions/math-picker/path-module.js.map +1 -1
  282. package/cjs/picker/contributions/math-picker/path-picker.d.ts +1 -1
  283. package/cjs/picker/contributions/math-picker/path-picker.js +2 -16
  284. package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
  285. package/cjs/picker/contributions/math-picker/polygon-module.d.ts +1 -2
  286. package/cjs/picker/contributions/math-picker/polygon-module.js +9 -6
  287. package/cjs/picker/contributions/math-picker/polygon-module.js.map +1 -1
  288. package/cjs/picker/contributions/math-picker/polygon-picker.d.ts +1 -1
  289. package/cjs/picker/contributions/math-picker/polygon-picker.js +2 -16
  290. package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  291. package/cjs/picker/contributions/math-picker/rect-module.d.ts +1 -2
  292. package/cjs/picker/contributions/math-picker/rect-module.js +9 -6
  293. package/cjs/picker/contributions/math-picker/rect-module.js.map +1 -1
  294. package/cjs/picker/contributions/math-picker/rect-picker.js +3 -17
  295. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
  296. package/cjs/picker/contributions/math-picker/richtext-module.d.ts +1 -2
  297. package/cjs/picker/contributions/math-picker/richtext-module.js +9 -6
  298. package/cjs/picker/contributions/math-picker/richtext-module.js.map +1 -1
  299. package/cjs/picker/contributions/math-picker/richtext-picker.d.ts +1 -1
  300. package/cjs/picker/contributions/math-picker/richtext-picker.js +2 -16
  301. package/cjs/picker/contributions/math-picker/richtext-picker.js.map +1 -1
  302. package/cjs/picker/contributions/math-picker/symbol-module.d.ts +1 -2
  303. package/cjs/picker/contributions/math-picker/symbol-module.js +9 -6
  304. package/cjs/picker/contributions/math-picker/symbol-module.js.map +1 -1
  305. package/cjs/picker/contributions/math-picker/symbol-picker.d.ts +1 -1
  306. package/cjs/picker/contributions/math-picker/symbol-picker.js +2 -16
  307. package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  308. package/cjs/picker/contributions/math-picker/text-module.d.ts +1 -2
  309. package/cjs/picker/contributions/math-picker/text-module.js +8 -6
  310. package/cjs/picker/contributions/math-picker/text-module.js.map +1 -1
  311. package/cjs/picker/contributions/math-picker/text-picker.d.ts +1 -1
  312. package/cjs/picker/contributions/math-picker/text-picker.js +2 -9
  313. package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
  314. package/cjs/picker/math-module.d.ts +5 -4
  315. package/cjs/picker/math-module.js +18 -19
  316. package/cjs/picker/math-module.js.map +1 -1
  317. package/cjs/picker/math-picker-service.js +3 -19
  318. package/cjs/picker/math-picker-service.js.map +1 -1
  319. package/cjs/register/register-arc.js +7 -2
  320. package/cjs/register/register-arc.js.map +1 -1
  321. package/cjs/register/register-arc3d.js +9 -7
  322. package/cjs/register/register-arc3d.js.map +1 -1
  323. package/cjs/register/register-area.js +7 -2
  324. package/cjs/register/register-area.js.map +1 -1
  325. package/cjs/register/register-circle.js +7 -2
  326. package/cjs/register/register-circle.js.map +1 -1
  327. package/cjs/register/register-gif.js +7 -3
  328. package/cjs/register/register-gif.js.map +1 -1
  329. package/cjs/register/register-glyph.js +7 -2
  330. package/cjs/register/register-glyph.js.map +1 -1
  331. package/cjs/register/register-image.js +7 -2
  332. package/cjs/register/register-image.js.map +1 -1
  333. package/cjs/register/register-line.js +7 -2
  334. package/cjs/register/register-line.js.map +1 -1
  335. package/cjs/register/register-path.js +7 -2
  336. package/cjs/register/register-path.js.map +1 -1
  337. package/cjs/register/register-polygon.js +7 -2
  338. package/cjs/register/register-polygon.js.map +1 -1
  339. package/cjs/register/register-pyramid3d.js +8 -5
  340. package/cjs/register/register-pyramid3d.js.map +1 -1
  341. package/cjs/register/register-rect.js +7 -2
  342. package/cjs/register/register-rect.js.map +1 -1
  343. package/cjs/register/register-rect3d.js +7 -4
  344. package/cjs/register/register-rect3d.js.map +1 -1
  345. package/cjs/register/register-richtext.js +7 -2
  346. package/cjs/register/register-richtext.js.map +1 -1
  347. package/cjs/register/register-star.js +7 -4
  348. package/cjs/register/register-star.js.map +1 -1
  349. package/cjs/register/register-symbol.js +8 -4
  350. package/cjs/register/register-symbol.js.map +1 -1
  351. package/cjs/register/register-text.js +7 -2
  352. package/cjs/register/register-text.js.map +1 -1
  353. package/cjs/render/contributions/canvas/gif-image-module.d.ts +1 -2
  354. package/cjs/render/contributions/canvas/gif-image-module.js +9 -6
  355. package/cjs/render/contributions/canvas/gif-image-module.js.map +1 -1
  356. package/cjs/render/contributions/canvas/gif-image-render.js +2 -16
  357. package/cjs/render/contributions/canvas/gif-image-render.js.map +1 -1
  358. package/cjs/render/contributions/canvas/lottie-module.d.ts +1 -2
  359. package/cjs/render/contributions/canvas/lottie-module.js +9 -6
  360. package/cjs/render/contributions/canvas/lottie-module.js.map +1 -1
  361. package/cjs/render/contributions/canvas/lottie-render.js +2 -9
  362. package/cjs/render/contributions/canvas/lottie-render.js.map +1 -1
  363. package/cjs/render/contributions/rough/module.d.ts +2 -3
  364. package/cjs/render/contributions/rough/module.js +27 -11
  365. package/cjs/render/contributions/rough/module.js.map +1 -1
  366. package/cjs/render/contributions/rough/rough-arc.js +3 -15
  367. package/cjs/render/contributions/rough/rough-arc.js.map +1 -1
  368. package/cjs/render/contributions/rough/rough-area.js +3 -8
  369. package/cjs/render/contributions/rough/rough-area.js.map +1 -1
  370. package/cjs/render/contributions/rough/rough-circle.js +3 -15
  371. package/cjs/render/contributions/rough/rough-circle.js.map +1 -1
  372. package/cjs/render/contributions/rough/rough-line.js +2 -16
  373. package/cjs/render/contributions/rough/rough-line.js.map +1 -1
  374. package/cjs/render/contributions/rough/rough-path.js +3 -15
  375. package/cjs/render/contributions/rough/rough-path.js.map +1 -1
  376. package/cjs/render/contributions/rough/rough-rect.js +2 -16
  377. package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
  378. package/cjs/render/contributions/rough/rough-symbol.js +2 -16
  379. package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
  380. package/cjs/tools/dynamicTexture.js +0 -2
  381. package/cjs/window/contributions/browser-contribution.d.ts +2 -2
  382. package/cjs/window/contributions/browser-contribution.js +18 -22
  383. package/cjs/window/contributions/browser-contribution.js.map +1 -1
  384. package/cjs/window/contributions/feishu-contribution.d.ts +3 -3
  385. package/cjs/window/contributions/feishu-contribution.js +15 -22
  386. package/cjs/window/contributions/feishu-contribution.js.map +1 -1
  387. package/cjs/window/contributions/harmony-contribution.d.ts +3 -3
  388. package/cjs/window/contributions/harmony-contribution.js +15 -22
  389. package/cjs/window/contributions/harmony-contribution.js.map +1 -1
  390. package/cjs/window/contributions/lynx-contribution.d.ts +3 -3
  391. package/cjs/window/contributions/lynx-contribution.js +15 -22
  392. package/cjs/window/contributions/lynx-contribution.js.map +1 -1
  393. package/cjs/window/contributions/native-contribution.js.map +1 -1
  394. package/cjs/window/contributions/node-contribution.d.ts +3 -3
  395. package/cjs/window/contributions/node-contribution.js +13 -22
  396. package/cjs/window/contributions/node-contribution.js.map +1 -1
  397. package/cjs/window/contributions/taro-contribution.d.ts +3 -3
  398. package/cjs/window/contributions/taro-contribution.js +15 -22
  399. package/cjs/window/contributions/taro-contribution.js.map +1 -1
  400. package/cjs/window/contributions/tt-contribution.d.ts +3 -3
  401. package/cjs/window/contributions/tt-contribution.js +15 -22
  402. package/cjs/window/contributions/tt-contribution.js.map +1 -1
  403. package/cjs/window/contributions/wx-contribution.d.ts +3 -3
  404. package/cjs/window/contributions/wx-contribution.js +15 -22
  405. package/cjs/window/contributions/wx-contribution.js.map +1 -1
  406. package/dist/index.es.js +5487 -5447
  407. package/es/canvas/contributions/browser/canvas.js +4 -14
  408. package/es/canvas/contributions/browser/canvas.js.map +1 -1
  409. package/es/canvas/contributions/browser/context.d.ts +2 -3
  410. package/es/canvas/contributions/browser/context.js +4 -14
  411. package/es/canvas/contributions/browser/context.js.map +1 -1
  412. package/es/canvas/contributions/browser/modules.d.ts +3 -1
  413. package/es/canvas/contributions/browser/modules.js +1 -1
  414. package/es/canvas/contributions/browser/modules.js.map +1 -1
  415. package/es/canvas/contributions/create-canvas-module.d.ts +4 -2
  416. package/es/canvas/contributions/create-canvas-module.js +7 -5
  417. package/es/canvas/contributions/create-canvas-module.js.map +1 -1
  418. package/es/canvas/contributions/feishu/canvas.js +4 -14
  419. package/es/canvas/contributions/feishu/canvas.js.map +1 -1
  420. package/es/canvas/contributions/feishu/context.js +3 -13
  421. package/es/canvas/contributions/feishu/context.js.map +1 -1
  422. package/es/canvas/contributions/feishu/modules.d.ts +3 -1
  423. package/es/canvas/contributions/feishu/modules.js +1 -1
  424. package/es/canvas/contributions/feishu/modules.js.map +1 -1
  425. package/es/canvas/contributions/harmony/canvas.js +4 -14
  426. package/es/canvas/contributions/harmony/canvas.js.map +1 -1
  427. package/es/canvas/contributions/harmony/context.js +4 -12
  428. package/es/canvas/contributions/harmony/context.js.map +1 -1
  429. package/es/canvas/contributions/harmony/modules.d.ts +3 -1
  430. package/es/canvas/contributions/harmony/modules.js +1 -1
  431. package/es/canvas/contributions/harmony/modules.js.map +1 -1
  432. package/es/canvas/contributions/lynx/canvas.js +4 -14
  433. package/es/canvas/contributions/lynx/canvas.js.map +1 -1
  434. package/es/canvas/contributions/lynx/context.js +4 -12
  435. package/es/canvas/contributions/lynx/context.js.map +1 -1
  436. package/es/canvas/contributions/lynx/modules.d.ts +3 -1
  437. package/es/canvas/contributions/lynx/modules.js +1 -1
  438. package/es/canvas/contributions/lynx/modules.js.map +1 -1
  439. package/es/canvas/contributions/modules.d.ts +9 -9
  440. package/es/canvas/contributions/modules.js +17 -17
  441. package/es/canvas/contributions/modules.js.map +1 -1
  442. package/es/canvas/contributions/node/canvas.js +4 -14
  443. package/es/canvas/contributions/node/canvas.js.map +1 -1
  444. package/es/canvas/contributions/node/context.js +3 -15
  445. package/es/canvas/contributions/node/context.js.map +1 -1
  446. package/es/canvas/contributions/node/modules.d.ts +3 -1
  447. package/es/canvas/contributions/node/modules.js +1 -1
  448. package/es/canvas/contributions/node/modules.js.map +1 -1
  449. package/es/canvas/contributions/taro/canvas.js +3 -15
  450. package/es/canvas/contributions/taro/canvas.js.map +1 -1
  451. package/es/canvas/contributions/taro/context.js +4 -12
  452. package/es/canvas/contributions/taro/context.js.map +1 -1
  453. package/es/canvas/contributions/taro/modules.d.ts +3 -1
  454. package/es/canvas/contributions/taro/modules.js +1 -1
  455. package/es/canvas/contributions/taro/modules.js.map +1 -1
  456. package/es/canvas/contributions/tt/canvas.js +4 -14
  457. package/es/canvas/contributions/tt/canvas.js.map +1 -1
  458. package/es/canvas/contributions/tt/context.js +2 -12
  459. package/es/canvas/contributions/tt/context.js.map +1 -1
  460. package/es/canvas/contributions/tt/modules.d.ts +3 -1
  461. package/es/canvas/contributions/tt/modules.js +1 -1
  462. package/es/canvas/contributions/tt/modules.js.map +1 -1
  463. package/es/canvas/contributions/wx/canvas.js +4 -14
  464. package/es/canvas/contributions/wx/canvas.js.map +1 -1
  465. package/es/canvas/contributions/wx/context.js +3 -13
  466. package/es/canvas/contributions/wx/context.js.map +1 -1
  467. package/es/canvas/contributions/wx/modules.d.ts +3 -1
  468. package/es/canvas/contributions/wx/modules.js +1 -1
  469. package/es/canvas/contributions/wx/modules.js.map +1 -1
  470. package/es/common/explicit-binding.d.ts +3 -0
  471. package/es/common/explicit-binding.js +14 -0
  472. package/es/common/explicit-binding.js.map +1 -0
  473. package/es/common/legacy-container.d.ts +3 -0
  474. package/es/common/legacy-container.js +2 -0
  475. package/es/common/legacy-container.js.map +1 -0
  476. package/es/env/all.d.ts +3 -3
  477. package/es/env/all.js +4 -4
  478. package/es/env/all.js.map +1 -1
  479. package/es/env/browser.d.ts +3 -3
  480. package/es/env/browser.js +12 -13
  481. package/es/env/browser.js.map +1 -1
  482. package/es/env/contributions/browser-contribution.js +4 -14
  483. package/es/env/contributions/browser-contribution.js.map +1 -1
  484. package/es/env/contributions/feishu-contribution.js +4 -16
  485. package/es/env/contributions/feishu-contribution.js.map +1 -1
  486. package/es/env/contributions/harmony-contribution.js +4 -16
  487. package/es/env/contributions/harmony-contribution.js.map +1 -1
  488. package/es/env/contributions/lynx-contribution.js +4 -16
  489. package/es/env/contributions/lynx-contribution.js.map +1 -1
  490. package/es/env/contributions/node-contribution.js +3 -13
  491. package/es/env/contributions/node-contribution.js.map +1 -1
  492. package/es/env/contributions/taro-contribution.js +3 -15
  493. package/es/env/contributions/taro-contribution.js.map +1 -1
  494. package/es/env/contributions/tt-contribution.js +4 -14
  495. package/es/env/contributions/tt-contribution.js.map +1 -1
  496. package/es/env/contributions/wx-contribution.js +4 -14
  497. package/es/env/contributions/wx-contribution.js.map +1 -1
  498. package/es/env/feishu.d.ts +3 -3
  499. package/es/env/feishu.js +12 -12
  500. package/es/env/feishu.js.map +1 -1
  501. package/es/env/harmony.d.ts +3 -3
  502. package/es/env/harmony.js +12 -12
  503. package/es/env/harmony.js.map +1 -1
  504. package/es/env/lynx.d.ts +3 -3
  505. package/es/env/lynx.js +12 -12
  506. package/es/env/lynx.js.map +1 -1
  507. package/es/env/node.d.ts +3 -3
  508. package/es/env/node.js +12 -13
  509. package/es/env/node.js.map +1 -1
  510. package/es/env/taro.d.ts +3 -3
  511. package/es/env/taro.js +12 -12
  512. package/es/env/taro.js.map +1 -1
  513. package/es/env/tt.d.ts +3 -3
  514. package/es/env/tt.js +12 -12
  515. package/es/env/tt.js.map +1 -1
  516. package/es/env/wx.d.ts +3 -3
  517. package/es/env/wx.js +13 -14
  518. package/es/env/wx.js.map +1 -1
  519. package/es/graphic/constants.js +2 -1
  520. package/es/index-node.d.ts +5 -1
  521. package/es/index-node.js +6 -0
  522. package/es/index-node.js.map +1 -1
  523. package/es/index.d.ts +1 -0
  524. package/es/index.js +2 -0
  525. package/es/index.js.map +1 -1
  526. package/es/installers/app.d.ts +6 -0
  527. package/es/installers/app.js +186 -0
  528. package/es/installers/app.js.map +1 -0
  529. package/es/picker/canvas-module.d.ts +5 -4
  530. package/es/picker/canvas-module.js +53 -7
  531. package/es/picker/canvas-module.js.map +1 -1
  532. package/es/picker/canvas-picker-service.js +3 -21
  533. package/es/picker/canvas-picker-service.js.map +1 -1
  534. package/es/picker/contributions/canvas-picker/arc-module.d.ts +1 -2
  535. package/es/picker/contributions/canvas-picker/arc-module.js +8 -6
  536. package/es/picker/contributions/canvas-picker/arc-module.js.map +1 -1
  537. package/es/picker/contributions/canvas-picker/arc-picker.d.ts +1 -1
  538. package/es/picker/contributions/canvas-picker/arc-picker.js +3 -19
  539. package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  540. package/es/picker/contributions/canvas-picker/arc3d-module.d.ts +1 -2
  541. package/es/picker/contributions/canvas-picker/arc3d-module.js +9 -5
  542. package/es/picker/contributions/canvas-picker/arc3d-module.js.map +1 -1
  543. package/es/picker/contributions/canvas-picker/arc3d-picker.d.ts +1 -1
  544. package/es/picker/contributions/canvas-picker/arc3d-picker.js +3 -19
  545. package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  546. package/es/picker/contributions/canvas-picker/area-module.d.ts +1 -2
  547. package/es/picker/contributions/canvas-picker/area-module.js +7 -5
  548. package/es/picker/contributions/canvas-picker/area-module.js.map +1 -1
  549. package/es/picker/contributions/canvas-picker/area-picker.d.ts +1 -1
  550. package/es/picker/contributions/canvas-picker/area-picker.js +3 -19
  551. package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  552. package/es/picker/contributions/canvas-picker/circle-module.d.ts +1 -2
  553. package/es/picker/contributions/canvas-picker/circle-module.js +7 -5
  554. package/es/picker/contributions/canvas-picker/circle-module.js.map +1 -1
  555. package/es/picker/contributions/canvas-picker/circle-picker.d.ts +1 -1
  556. package/es/picker/contributions/canvas-picker/circle-picker.js +3 -19
  557. package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  558. package/es/picker/contributions/canvas-picker/gif-image-module.d.ts +1 -2
  559. package/es/picker/contributions/canvas-picker/gif-image-module.js +4 -6
  560. package/es/picker/contributions/canvas-picker/gif-image-module.js.map +1 -1
  561. package/es/picker/contributions/canvas-picker/gif-image-picker.js +2 -14
  562. package/es/picker/contributions/canvas-picker/gif-image-picker.js.map +1 -1
  563. package/es/picker/contributions/canvas-picker/glyph-module.d.ts +1 -2
  564. package/es/picker/contributions/canvas-picker/glyph-module.js +7 -5
  565. package/es/picker/contributions/canvas-picker/glyph-module.js.map +1 -1
  566. package/es/picker/contributions/canvas-picker/glyph-picker.js +2 -20
  567. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  568. package/es/picker/contributions/canvas-picker/group-picker.d.ts +1 -1
  569. package/es/picker/contributions/canvas-picker/group-picker.js +3 -13
  570. package/es/picker/contributions/canvas-picker/group-picker.js.map +1 -1
  571. package/es/picker/contributions/canvas-picker/image-module.d.ts +1 -2
  572. package/es/picker/contributions/canvas-picker/image-module.js +7 -5
  573. package/es/picker/contributions/canvas-picker/image-module.js.map +1 -1
  574. package/es/picker/contributions/canvas-picker/image-picker.d.ts +1 -1
  575. package/es/picker/contributions/canvas-picker/image-picker.js +3 -19
  576. package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  577. package/es/picker/contributions/canvas-picker/line-module.d.ts +1 -2
  578. package/es/picker/contributions/canvas-picker/line-module.js +7 -5
  579. package/es/picker/contributions/canvas-picker/line-module.js.map +1 -1
  580. package/es/picker/contributions/canvas-picker/line-picker.d.ts +1 -1
  581. package/es/picker/contributions/canvas-picker/line-picker.js +3 -19
  582. package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  583. package/es/picker/contributions/canvas-picker/lottie-module.d.ts +1 -2
  584. package/es/picker/contributions/canvas-picker/lottie-module.js +7 -5
  585. package/es/picker/contributions/canvas-picker/lottie-module.js.map +1 -1
  586. package/es/picker/contributions/canvas-picker/lottie-picker.js +2 -20
  587. package/es/picker/contributions/canvas-picker/lottie-picker.js.map +1 -1
  588. package/es/picker/contributions/canvas-picker/module.d.ts +2 -3
  589. package/es/picker/contributions/canvas-picker/module.js +6 -8
  590. package/es/picker/contributions/canvas-picker/module.js.map +1 -1
  591. package/es/picker/contributions/canvas-picker/path-module.d.ts +1 -2
  592. package/es/picker/contributions/canvas-picker/path-module.js +7 -5
  593. package/es/picker/contributions/canvas-picker/path-module.js.map +1 -1
  594. package/es/picker/contributions/canvas-picker/path-picker.d.ts +1 -1
  595. package/es/picker/contributions/canvas-picker/path-picker.js +3 -19
  596. package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  597. package/es/picker/contributions/canvas-picker/polygon-module.d.ts +1 -2
  598. package/es/picker/contributions/canvas-picker/polygon-module.js +7 -5
  599. package/es/picker/contributions/canvas-picker/polygon-module.js.map +1 -1
  600. package/es/picker/contributions/canvas-picker/polygon-picker.d.ts +1 -1
  601. package/es/picker/contributions/canvas-picker/polygon-picker.js +3 -19
  602. package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  603. package/es/picker/contributions/canvas-picker/pyramid3d-module.d.ts +1 -2
  604. package/es/picker/contributions/canvas-picker/pyramid3d-module.js +9 -5
  605. package/es/picker/contributions/canvas-picker/pyramid3d-module.js.map +1 -1
  606. package/es/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +1 -1
  607. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +3 -19
  608. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  609. package/es/picker/contributions/canvas-picker/rect-module.d.ts +1 -2
  610. package/es/picker/contributions/canvas-picker/rect-module.js +7 -5
  611. package/es/picker/contributions/canvas-picker/rect-module.js.map +1 -1
  612. package/es/picker/contributions/canvas-picker/rect-picker.js +2 -20
  613. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  614. package/es/picker/contributions/canvas-picker/rect3d-module.d.ts +1 -2
  615. package/es/picker/contributions/canvas-picker/rect3d-module.js +9 -5
  616. package/es/picker/contributions/canvas-picker/rect3d-module.js.map +1 -1
  617. package/es/picker/contributions/canvas-picker/rect3d-picker.d.ts +1 -1
  618. package/es/picker/contributions/canvas-picker/rect3d-picker.js +3 -19
  619. package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  620. package/es/picker/contributions/canvas-picker/richtext-module.d.ts +1 -2
  621. package/es/picker/contributions/canvas-picker/richtext-module.js +7 -5
  622. package/es/picker/contributions/canvas-picker/richtext-module.js.map +1 -1
  623. package/es/picker/contributions/canvas-picker/richtext-picker.d.ts +1 -1
  624. package/es/picker/contributions/canvas-picker/richtext-picker.js +3 -19
  625. package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  626. package/es/picker/contributions/canvas-picker/star-module.d.ts +1 -2
  627. package/es/picker/contributions/canvas-picker/star-module.js +9 -5
  628. package/es/picker/contributions/canvas-picker/star-module.js.map +1 -1
  629. package/es/picker/contributions/canvas-picker/star-picker.d.ts +1 -1
  630. package/es/picker/contributions/canvas-picker/star-picker.js +3 -19
  631. package/es/picker/contributions/canvas-picker/star-picker.js.map +1 -1
  632. package/es/picker/contributions/canvas-picker/symbol-module.d.ts +1 -2
  633. package/es/picker/contributions/canvas-picker/symbol-module.js +7 -5
  634. package/es/picker/contributions/canvas-picker/symbol-module.js.map +1 -1
  635. package/es/picker/contributions/canvas-picker/symbol-picker.d.ts +1 -1
  636. package/es/picker/contributions/canvas-picker/symbol-picker.js +3 -19
  637. package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  638. package/es/picker/contributions/canvas-picker/text-module.d.ts +1 -2
  639. package/es/picker/contributions/canvas-picker/text-module.js +7 -5
  640. package/es/picker/contributions/canvas-picker/text-module.js.map +1 -1
  641. package/es/picker/contributions/canvas-picker/text-picker.d.ts +1 -1
  642. package/es/picker/contributions/canvas-picker/text-picker.js +3 -19
  643. package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  644. package/es/picker/contributions/constants.d.ts +1 -0
  645. package/es/picker/contributions/constants.js +2 -0
  646. package/es/picker/contributions/constants.js.map +1 -1
  647. package/es/picker/contributions/math-picker/arc-module.d.ts +1 -2
  648. package/es/picker/contributions/math-picker/arc-module.js +8 -6
  649. package/es/picker/contributions/math-picker/arc-module.js.map +1 -1
  650. package/es/picker/contributions/math-picker/arc-picker.d.ts +1 -1
  651. package/es/picker/contributions/math-picker/arc-picker.js +3 -19
  652. package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
  653. package/es/picker/contributions/math-picker/area-module.d.ts +1 -2
  654. package/es/picker/contributions/math-picker/area-module.js +7 -5
  655. package/es/picker/contributions/math-picker/area-module.js.map +1 -1
  656. package/es/picker/contributions/math-picker/area-picker.d.ts +1 -1
  657. package/es/picker/contributions/math-picker/area-picker.js +3 -19
  658. package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
  659. package/es/picker/contributions/math-picker/circle-module.d.ts +1 -2
  660. package/es/picker/contributions/math-picker/circle-module.js +7 -5
  661. package/es/picker/contributions/math-picker/circle-module.js.map +1 -1
  662. package/es/picker/contributions/math-picker/circle-picker.d.ts +1 -1
  663. package/es/picker/contributions/math-picker/circle-picker.js +3 -19
  664. package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
  665. package/es/picker/contributions/math-picker/glyph-module.d.ts +1 -2
  666. package/es/picker/contributions/math-picker/glyph-module.js +8 -6
  667. package/es/picker/contributions/math-picker/glyph-module.js.map +1 -1
  668. package/es/picker/contributions/math-picker/glyph-picker.js +2 -20
  669. package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  670. package/es/picker/contributions/math-picker/image-module.d.ts +1 -2
  671. package/es/picker/contributions/math-picker/image-module.js +5 -7
  672. package/es/picker/contributions/math-picker/image-module.js.map +1 -1
  673. package/es/picker/contributions/math-picker/image-picker.d.ts +1 -1
  674. package/es/picker/contributions/math-picker/image-picker.js +3 -13
  675. package/es/picker/contributions/math-picker/image-picker.js.map +1 -1
  676. package/es/picker/contributions/math-picker/line-module.d.ts +1 -2
  677. package/es/picker/contributions/math-picker/line-module.js +7 -5
  678. package/es/picker/contributions/math-picker/line-module.js.map +1 -1
  679. package/es/picker/contributions/math-picker/line-picker.d.ts +1 -1
  680. package/es/picker/contributions/math-picker/line-picker.js +3 -19
  681. package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
  682. package/es/picker/contributions/math-picker/module.d.ts +2 -3
  683. package/es/picker/contributions/math-picker/module.js +5 -7
  684. package/es/picker/contributions/math-picker/module.js.map +1 -1
  685. package/es/picker/contributions/math-picker/path-module.d.ts +1 -2
  686. package/es/picker/contributions/math-picker/path-module.js +7 -5
  687. package/es/picker/contributions/math-picker/path-module.js.map +1 -1
  688. package/es/picker/contributions/math-picker/path-picker.d.ts +1 -1
  689. package/es/picker/contributions/math-picker/path-picker.js +3 -19
  690. package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
  691. package/es/picker/contributions/math-picker/polygon-module.d.ts +1 -2
  692. package/es/picker/contributions/math-picker/polygon-module.js +7 -5
  693. package/es/picker/contributions/math-picker/polygon-module.js.map +1 -1
  694. package/es/picker/contributions/math-picker/polygon-picker.d.ts +1 -1
  695. package/es/picker/contributions/math-picker/polygon-picker.js +3 -19
  696. package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  697. package/es/picker/contributions/math-picker/rect-module.d.ts +1 -2
  698. package/es/picker/contributions/math-picker/rect-module.js +7 -5
  699. package/es/picker/contributions/math-picker/rect-module.js.map +1 -1
  700. package/es/picker/contributions/math-picker/rect-picker.js +2 -20
  701. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
  702. package/es/picker/contributions/math-picker/richtext-module.d.ts +1 -2
  703. package/es/picker/contributions/math-picker/richtext-module.js +9 -7
  704. package/es/picker/contributions/math-picker/richtext-module.js.map +1 -1
  705. package/es/picker/contributions/math-picker/richtext-picker.d.ts +1 -1
  706. package/es/picker/contributions/math-picker/richtext-picker.js +3 -19
  707. package/es/picker/contributions/math-picker/richtext-picker.js.map +1 -1
  708. package/es/picker/contributions/math-picker/symbol-module.d.ts +1 -2
  709. package/es/picker/contributions/math-picker/symbol-module.js +7 -5
  710. package/es/picker/contributions/math-picker/symbol-module.js.map +1 -1
  711. package/es/picker/contributions/math-picker/symbol-picker.d.ts +1 -1
  712. package/es/picker/contributions/math-picker/symbol-picker.js +3 -19
  713. package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  714. package/es/picker/contributions/math-picker/text-module.d.ts +1 -2
  715. package/es/picker/contributions/math-picker/text-module.js +4 -6
  716. package/es/picker/contributions/math-picker/text-module.js.map +1 -1
  717. package/es/picker/contributions/math-picker/text-picker.d.ts +1 -1
  718. package/es/picker/contributions/math-picker/text-picker.js +3 -13
  719. package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
  720. package/es/picker/math-module.d.ts +5 -4
  721. package/es/picker/math-module.js +27 -23
  722. package/es/picker/math-module.js.map +1 -1
  723. package/es/picker/math-picker-service.js +3 -21
  724. package/es/picker/math-picker-service.js.map +1 -1
  725. package/es/register/register-arc.js +9 -5
  726. package/es/register/register-arc.js.map +1 -1
  727. package/es/register/register-arc3d.js +9 -9
  728. package/es/register/register-arc3d.js.map +1 -1
  729. package/es/register/register-area.js +9 -5
  730. package/es/register/register-area.js.map +1 -1
  731. package/es/register/register-circle.js +9 -5
  732. package/es/register/register-circle.js.map +1 -1
  733. package/es/register/register-gif.js +9 -6
  734. package/es/register/register-gif.js.map +1 -1
  735. package/es/register/register-glyph.js +9 -5
  736. package/es/register/register-glyph.js.map +1 -1
  737. package/es/register/register-image.js +9 -5
  738. package/es/register/register-image.js.map +1 -1
  739. package/es/register/register-line.js +9 -5
  740. package/es/register/register-line.js.map +1 -1
  741. package/es/register/register-path.js +9 -5
  742. package/es/register/register-path.js.map +1 -1
  743. package/es/register/register-polygon.js +9 -5
  744. package/es/register/register-polygon.js.map +1 -1
  745. package/es/register/register-pyramid3d.js +8 -7
  746. package/es/register/register-pyramid3d.js.map +1 -1
  747. package/es/register/register-rect.js +9 -5
  748. package/es/register/register-rect.js.map +1 -1
  749. package/es/register/register-rect3d.js +8 -6
  750. package/es/register/register-rect3d.js.map +1 -1
  751. package/es/register/register-richtext.js +9 -5
  752. package/es/register/register-richtext.js.map +1 -1
  753. package/es/register/register-star.js +8 -6
  754. package/es/register/register-star.js.map +1 -1
  755. package/es/register/register-symbol.js +10 -7
  756. package/es/register/register-symbol.js.map +1 -1
  757. package/es/register/register-text.js +9 -5
  758. package/es/register/register-text.js.map +1 -1
  759. package/es/render/contributions/canvas/gif-image-module.d.ts +1 -2
  760. package/es/render/contributions/canvas/gif-image-module.js +7 -5
  761. package/es/render/contributions/canvas/gif-image-module.js.map +1 -1
  762. package/es/render/contributions/canvas/gif-image-render.js +3 -19
  763. package/es/render/contributions/canvas/gif-image-render.js.map +1 -1
  764. package/es/render/contributions/canvas/lottie-module.d.ts +1 -2
  765. package/es/render/contributions/canvas/lottie-module.js +7 -5
  766. package/es/render/contributions/canvas/lottie-module.js.map +1 -1
  767. package/es/render/contributions/canvas/lottie-render.js +3 -13
  768. package/es/render/contributions/canvas/lottie-render.js.map +1 -1
  769. package/es/render/contributions/rough/module.d.ts +2 -3
  770. package/es/render/contributions/rough/module.js +15 -10
  771. package/es/render/contributions/rough/module.js.map +1 -1
  772. package/es/render/contributions/rough/rough-arc.js +3 -19
  773. package/es/render/contributions/rough/rough-arc.js.map +1 -1
  774. package/es/render/contributions/rough/rough-area.js +3 -13
  775. package/es/render/contributions/rough/rough-area.js.map +1 -1
  776. package/es/render/contributions/rough/rough-circle.js +3 -19
  777. package/es/render/contributions/rough/rough-circle.js.map +1 -1
  778. package/es/render/contributions/rough/rough-line.js +3 -19
  779. package/es/render/contributions/rough/rough-line.js.map +1 -1
  780. package/es/render/contributions/rough/rough-path.js +3 -19
  781. package/es/render/contributions/rough/rough-path.js.map +1 -1
  782. package/es/render/contributions/rough/rough-rect.js +3 -19
  783. package/es/render/contributions/rough/rough-rect.js.map +1 -1
  784. package/es/render/contributions/rough/rough-symbol.js +3 -19
  785. package/es/render/contributions/rough/rough-symbol.js.map +1 -1
  786. package/es/tools/dynamicTexture.js +0 -2
  787. package/es/window/contributions/browser-contribution.d.ts +2 -2
  788. package/es/window/contributions/browser-contribution.js +15 -22
  789. package/es/window/contributions/browser-contribution.js.map +1 -1
  790. package/es/window/contributions/feishu-contribution.d.ts +3 -3
  791. package/es/window/contributions/feishu-contribution.js +12 -21
  792. package/es/window/contributions/feishu-contribution.js.map +1 -1
  793. package/es/window/contributions/harmony-contribution.d.ts +3 -3
  794. package/es/window/contributions/harmony-contribution.js +12 -21
  795. package/es/window/contributions/harmony-contribution.js.map +1 -1
  796. package/es/window/contributions/lynx-contribution.d.ts +3 -3
  797. package/es/window/contributions/lynx-contribution.js +12 -21
  798. package/es/window/contributions/lynx-contribution.js.map +1 -1
  799. package/es/window/contributions/native-contribution.js.map +1 -1
  800. package/es/window/contributions/node-contribution.d.ts +3 -3
  801. package/es/window/contributions/node-contribution.js +12 -22
  802. package/es/window/contributions/node-contribution.js.map +1 -1
  803. package/es/window/contributions/taro-contribution.d.ts +3 -3
  804. package/es/window/contributions/taro-contribution.js +12 -21
  805. package/es/window/contributions/taro-contribution.js.map +1 -1
  806. package/es/window/contributions/tt-contribution.d.ts +3 -3
  807. package/es/window/contributions/tt-contribution.js +12 -21
  808. package/es/window/contributions/tt-contribution.js.map +1 -1
  809. package/es/window/contributions/wx-contribution.d.ts +3 -3
  810. package/es/window/contributions/wx-contribution.js +12 -21
  811. package/es/window/contributions/wx-contribution.js.map +1 -1
  812. package/package.json +13 -5
@@ -1,20 +1,8 @@
1
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- }, __metadata = this && this.__metadata || function(k, v) {
6
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
- }, __param = this && this.__param || function(paramIndex, decorator) {
8
- return function(target, key) {
9
- decorator(target, key, paramIndex);
10
- };
11
- };
12
-
13
- import { SYMBOL_NUMBER_TYPE, DefaultCanvasSymbolRender, inject, injectable } from "@visactor/vrender-core";
1
+ import { SYMBOL_NUMBER_TYPE } from "@visactor/vrender-core";
14
2
 
15
3
  import { RoughBaseRender } from "./base-render";
16
4
 
17
- let RoughCanvasSymbolRender = class extends RoughBaseRender {
5
+ export class RoughCanvasSymbolRender extends RoughBaseRender {
18
6
  constructor(canvasRenderer) {
19
7
  super(), this.canvasRenderer = canvasRenderer, this.type = "symbol", this.numberType = SYMBOL_NUMBER_TYPE,
20
8
  this.style = "rough";
@@ -22,9 +10,5 @@ let RoughCanvasSymbolRender = class extends RoughBaseRender {
22
10
  draw(symbol, renderService, drawContext, params) {
23
11
  this.doDraw(symbol, renderService, drawContext, params);
24
12
  }
25
- };
26
-
27
- RoughCanvasSymbolRender = __decorate([ injectable(), __param(0, inject(DefaultCanvasSymbolRender)), __metadata("design:paramtypes", [ Object ]) ], RoughCanvasSymbolRender);
28
-
29
- export { RoughCanvasSymbolRender };
13
+ }
30
14
  //# sourceMappingURL=rough-symbol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/rough/rough-symbol.ts"],"names":[],"mappings":";;;;;;;;;;;;AAYA,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAIzB,MAAM,EACN,UAAU,EACX,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGzC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,eAAe;IAK1D,YAEkB,cAA8B;QAE9C,KAAK,EAAE,CAAC;QAFQ,mBAAc,GAAd,cAAc,CAAgB;QAG9C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAe,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC/G,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAlBY,uBAAuB;IADnC,UAAU,EAAE;IAOR,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;;GANzB,uBAAuB,CAkBnC;SAlBY,uBAAuB","file":"rough-symbol.js","sourcesContent":["import type {\n IGraphicRender,\n IRenderService,\n ISymbol,\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender-core';\nimport {\n SYMBOL_NUMBER_TYPE,\n DefaultCanvasSymbolRender,\n BaseRender,\n getTheme,\n CustomPath2D,\n inject,\n injectable\n} from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\nimport { RoughContext2d } from './context';\nimport { RoughBaseRender } from './base-render';\n\n@injectable()\nexport class RoughCanvasSymbolRender extends RoughBaseRender implements IGraphicRender {\n type: 'symbol';\n numberType: number;\n style: 'rough';\n\n constructor(\n @inject(DefaultCanvasSymbolRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n super();\n this.type = 'symbol';\n this.numberType = SYMBOL_NUMBER_TYPE;\n this.style = 'rough';\n }\n\n draw(symbol: ISymbol, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n this.doDraw(symbol, renderService, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/rough/rough-symbol.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,kBAAkB,EAKnB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAK1D,YAA4B,cAA8B;QACxD,KAAK,EAAE,CAAC;QADkB,mBAAc,GAAd,cAAc,CAAgB;QAExD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAe,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC/G,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF","file":"rough-symbol.js","sourcesContent":["import type {\n IGraphicRender,\n IRenderService,\n ISymbol,\n IGraphicAttribute,\n IContext2d,\n IGraphic,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IGraphicRenderDrawParams\n} from '@visactor/vrender-core';\nimport {\n SYMBOL_NUMBER_TYPE,\n DefaultCanvasSymbolRender,\n BaseRender,\n getTheme,\n CustomPath2D\n} from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\nimport { RoughContext2d } from './context';\nimport { RoughBaseRender } from './base-render';\n\nexport class RoughCanvasSymbolRender extends RoughBaseRender implements IGraphicRender {\n type: 'symbol';\n numberType: number;\n style: 'rough';\n\n constructor(public readonly canvasRenderer: IGraphicRender) {\n super();\n this.type = 'symbol';\n this.numberType = SYMBOL_NUMBER_TYPE;\n this.style = 'rough';\n }\n\n draw(symbol: ISymbol, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n this.doDraw(symbol, renderService, drawContext, params);\n }\n}\n"]}
@@ -1,3 +1 @@
1
-
2
-
3
1
  //# sourceMappingURL=dynamicTexture.js.map
@@ -1,4 +1,4 @@
1
- import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
1
+ import { BaseWindowHandlerContribution } from '@visactor/vrender-core';
2
2
  import type { IContext2d, ICanvas, IDomRectLike, EnvType, IWindowHandlerContribution, IWindowParams } from '@visactor/vrender-core';
3
3
  import type { IBoundsLike } from '@visactor/vutils';
4
4
  export declare class BrowserWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {
@@ -49,4 +49,4 @@ export declare class BrowserWindowHandlerContribution extends BaseWindowHandlerC
49
49
  left: number;
50
50
  };
51
51
  }
52
- export declare const browserWindowModule: ContainerModule;
52
+ export declare function bindBrowserWindowContribution(container: any): void;
@@ -1,23 +1,15 @@
1
- var BrowserWindowHandlerContribution_1, __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- }, __metadata = this && this.__metadata || function(k, v) {
6
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
- };
8
-
9
- import { injectable, BaseWindowHandlerContribution, ContainerModule, WindowHandlerContribution, application } from "@visactor/vrender-core";
1
+ import { BaseWindowHandlerContribution, WindowHandlerContribution, application } from "@visactor/vrender-core";
10
2
 
11
3
  import { Matrix, AABBBounds } from "@visactor/vutils";
12
4
 
13
5
  import { BrowserCanvas } from "../../canvas/contributions/browser";
14
6
 
15
- let BrowserWindowHandlerContribution = BrowserWindowHandlerContribution_1 = class extends BaseWindowHandlerContribution {
7
+ export class BrowserWindowHandlerContribution extends BaseWindowHandlerContribution {
16
8
  get container() {
17
9
  return this.canvas.nativeCanvas.parentElement;
18
10
  }
19
11
  static GenerateCanvasId() {
20
- return `${BrowserWindowHandlerContribution_1.idprefix}_${BrowserWindowHandlerContribution_1.prefix_count++}`;
12
+ return `${BrowserWindowHandlerContribution.idprefix}_${BrowserWindowHandlerContribution.prefix_count++}`;
21
13
  }
22
14
  constructor() {
23
15
  super(), this.type = "browser", this._canvasIsIntersecting = !0, this.global = application.global,
@@ -75,16 +67,17 @@ let BrowserWindowHandlerContribution = BrowserWindowHandlerContribution_1 = clas
75
67
  dpr: params.dpr,
76
68
  nativeCanvas: nativeCanvas,
77
69
  container: container,
78
- id: BrowserWindowHandlerContribution_1.GenerateCanvasId(),
70
+ id: BrowserWindowHandlerContribution.GenerateCanvasId(),
79
71
  canvasControled: !0
80
72
  };
81
73
  this.canvas = new BrowserCanvas(options);
82
74
  }
83
75
  createWindowByCanvas(params) {
84
- var _a;
76
+ var _a, _b;
85
77
  let canvas;
86
78
  if ("string" == typeof params.canvas) {
87
- if (canvas = this.global.getElementById(params.canvas), !canvas) throw new Error("canvasId 参数不正确,请确认canvas存在并插入dom");
79
+ if (canvas = this.global.getElementById(params.canvas), canvas || "undefined" == typeof document || (canvas = document.getElementById(params.canvas)),
80
+ !canvas) throw new Error("canvasId 参数不正确,请确认canvas存在并插入dom");
88
81
  } else canvas = params.canvas;
89
82
  if (!canvas) throw new Error("发生错误,传入的canvas不正确");
90
83
  let width = params.width, height = params.height;
@@ -101,7 +94,7 @@ let BrowserWindowHandlerContribution = BrowserWindowHandlerContribution_1 = clas
101
94
  height: height,
102
95
  dpr: dpr,
103
96
  nativeCanvas: canvas,
104
- canvasControled: params.canvasControled
97
+ canvasControled: null !== (_b = params.canvasControled) && void 0 !== _b && _b
105
98
  });
106
99
  }
107
100
  releaseWindow() {
@@ -166,14 +159,14 @@ let BrowserWindowHandlerContribution = BrowserWindowHandlerContribution_1 = clas
166
159
  getTopLeft(baseWindow) {
167
160
  return this.global.getElementTopLeft(this.canvas.nativeCanvas, baseWindow);
168
161
  }
169
- };
162
+ }
170
163
 
171
164
  BrowserWindowHandlerContribution.env = "browser", BrowserWindowHandlerContribution.idprefix = "visactor_window",
172
- BrowserWindowHandlerContribution.prefix_count = 0, BrowserWindowHandlerContribution = BrowserWindowHandlerContribution_1 = __decorate([ injectable(), __metadata("design:paramtypes", []) ], BrowserWindowHandlerContribution);
173
-
174
- export { BrowserWindowHandlerContribution };
165
+ BrowserWindowHandlerContribution.prefix_count = 0;
175
166
 
176
- export const browserWindowModule = new ContainerModule((bind => {
177
- bind(BrowserWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(BrowserWindowHandlerContribution))).whenTargetNamed(BrowserWindowHandlerContribution.env);
178
- }));
167
+ export function bindBrowserWindowContribution(container) {
168
+ var _a, _b;
169
+ (null === (_a = container.isBound) || void 0 === _a ? void 0 : _a.call(container, BrowserWindowHandlerContribution)) || container.bind(BrowserWindowHandlerContribution).toSelf(),
170
+ (null === (_b = container.getNamed) || void 0 === _b ? void 0 : _b.call(container, WindowHandlerContribution, BrowserWindowHandlerContribution.env)) || container.bind(WindowHandlerContribution).toService(BrowserWindowHandlerContribution).whenTargetNamed(BrowserWindowHandlerContribution.env);
171
+ }
179
172
  //# sourceMappingURL=browser-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/window/contributions/browser-contribution.ts"],"names":[],"mappings":"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","file":"browser-contribution.js","sourcesContent":["import {\n inject,\n injectable,\n Generator,\n BaseWindowHandlerContribution,\n ContainerModule,\n WindowHandlerContribution,\n application\n} from '@visactor/vrender-core';\nimport type {\n IContext2d,\n ICanvas,\n IDomRectLike,\n EnvType,\n IGlobal,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike, IMatrix, IBounds } from '@visactor/vutils';\nimport { Matrix, AABBBounds } from '@visactor/vutils';\nimport { BrowserCanvas } from '../../canvas/contributions/browser';\n\n@injectable()\nexport class BrowserWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'browser';\n\n type: EnvType = 'browser';\n\n declare canvas: ICanvas;\n\n declare observer?: MutationObserver;\n\n protected _canvasIsIntersecting: boolean;\n protected _onVisibleChangeCb: (currentVisible: boolean) => void;\n\n private readonly global: IGlobal;\n\n get container(): HTMLElement | null {\n return this.canvas.nativeCanvas.parentElement;\n }\n\n static idprefix: string = 'visactor_window';\n static prefix_count: number = 0;\n\n static GenerateCanvasId() {\n return `${BrowserWindowHandlerContribution.idprefix}_${BrowserWindowHandlerContribution.prefix_count++}`;\n }\n\n constructor() {\n super();\n this._canvasIsIntersecting = true;\n this.global = application.global;\n this.viewBox = new AABBBounds();\n this.modelMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n }\n\n getTitle(): string {\n return this.canvas.id && this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return this.canvas.nativeCanvas.getBoundingClientRect();\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n\n this.postInit();\n\n // this.bindOnChangeEvent();\n }\n\n protected postInit() {\n if (!this.global.optimizeVisible) {\n return;\n }\n try {\n this.observerCanvas();\n } catch (err) {\n console.error('发生错误,该环境不存在IntersectionObserver');\n }\n }\n\n isElementVisible(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n const vWidth = window.innerWidth || document.documentElement.clientWidth;\n const vHeight = window.innerHeight || document.documentElement.clientHeight;\n\n if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight) {\n return false;\n }\n\n return true;\n }\n\n protected observerCanvas() {\n this._canvasIsIntersecting = this.isElementVisible(this.canvas.nativeCanvas);\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (this._canvasIsIntersecting !== entry.isIntersecting) {\n this._canvasIsIntersecting = entry.isIntersecting;\n this._onVisibleChangeCb && this._onVisibleChangeCb(entry.isIntersecting);\n } else {\n this._canvasIsIntersecting = entry.isIntersecting;\n }\n });\n });\n if (!observer) {\n return;\n }\n observer.observe(this.canvas.nativeCanvas);\n }\n\n // private bindOnChangeEvent() {\n // const { nativeCanvas } = this.canvas;\n // const observer = new MutationObserver((mutations, observer) => {\n // mutations.forEach((mutaion) => {\n // console.log(mutaion);\n // })\n // });\n // observer.observe(nativeCanvas, { attributes: true, childList: true, subtree: true })\n // }\n\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n // 保存到dom中\n let container: HTMLElement | null;\n if (typeof params.container === 'string') {\n container = this.global.getElementById(params.container);\n } else if (params.container) {\n container = params.container;\n } else {\n container = this.global.getRootElement();\n }\n if (!container) {\n throw new Error('发生错误,containerId可能传入有误');\n }\n\n if (!params.offscreen) {\n container.appendChild(nativeCanvas);\n } else {\n container = null;\n }\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n container,\n id: BrowserWindowHandlerContribution.GenerateCanvasId(),\n canvasControled: true\n };\n this.canvas = new BrowserCanvas(options);\n // 应用位置属性\n // window上的不需要设置position\n // this.canvas.applyPosition();\n // this.canvas.resetStyle(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n if (!canvas) {\n throw new Error('发生错误,传入的canvas不正确');\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n // if (params.canvasControled === false) {\n // if (dpr) {\n // console.warn('canvasControled为false后,dpr参数将无效');\n // }\n // dpr = null;\n // }\n if (dpr == null) {\n const ctx = canvas.getContext('2d');\n // 兼容XTable\n dpr = (ctx as any).pixelRatio ?? canvas.width / width;\n }\n this.canvas = new BrowserCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n // if (params.canvasControled) {\n // this.canvas.resetStyle({\n // width,\n // height,\n // dpr\n // });\n // }\n }\n releaseWindow(): void {\n this.canvas.release();\n }\n resizeWindow(width: number, height: number): void {\n this.canvas.resize(width, height);\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).addEventListener(type, listener, options);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).removeEventListener(type, listener, options);\n }\n dispatchEvent(event: any): boolean {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).dispatchEvent(event);\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return this.canvas.nativeCanvas.style ?? {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n this.canvas.nativeCanvas.style = style;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const c = this.canvas.nativeCanvas as HTMLCanvasElement;\n const wh = this.getWH();\n if (!c.parentElement) {\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n return this.canvas.nativeCanvas.getBoundingClientRect();\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n\n isVisible(bbox?: IBoundsLike) {\n return this._canvasIsIntersecting;\n }\n\n onVisibleChange(cb: (currentVisible: boolean) => void) {\n this._onVisibleChangeCb = cb;\n }\n\n getTopLeft(baseWindow?: boolean): { top: number; left: number } {\n return this.global.getElementTopLeft(this.canvas.nativeCanvas, baseWindow);\n }\n}\n\nexport const browserWindowModule = new ContainerModule(bind => {\n // browser\n bind(BrowserWindowHandlerContribution).toSelf();\n bind(WindowHandlerContribution)\n .toDynamicValue(ctx => ctx.container.get(BrowserWindowHandlerContribution))\n .whenTargetNamed(BrowserWindowHandlerContribution.env);\n});\n"]}
1
+ {"version":3,"sources":["../src/window/contributions/browser-contribution.ts"],"names":[],"mappings":"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","file":"browser-contribution.js","sourcesContent":["import {\n Generator,\n BaseWindowHandlerContribution,\n WindowHandlerContribution,\n application\n} from '@visactor/vrender-core';\nimport type {\n IContext2d,\n ICanvas,\n IDomRectLike,\n EnvType,\n IGlobal,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike, IMatrix, IBounds } from '@visactor/vutils';\nimport { Matrix, AABBBounds } from '@visactor/vutils';\nimport { BrowserCanvas } from '../../canvas/contributions/browser';\n\nexport class BrowserWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'browser';\n\n type: EnvType = 'browser';\n\n declare canvas: ICanvas;\n\n declare observer?: MutationObserver;\n\n protected _canvasIsIntersecting: boolean;\n protected _onVisibleChangeCb: (currentVisible: boolean) => void;\n\n private readonly global: IGlobal;\n\n get container(): HTMLElement | null {\n return this.canvas.nativeCanvas.parentElement;\n }\n\n static idprefix: string = 'visactor_window';\n static prefix_count: number = 0;\n\n static GenerateCanvasId() {\n return `${BrowserWindowHandlerContribution.idprefix}_${BrowserWindowHandlerContribution.prefix_count++}`;\n }\n\n constructor() {\n super();\n this._canvasIsIntersecting = true;\n this.global = application.global;\n this.viewBox = new AABBBounds();\n this.modelMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n }\n\n getTitle(): string {\n return this.canvas.id && this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return this.canvas.nativeCanvas.getBoundingClientRect();\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n\n this.postInit();\n\n // this.bindOnChangeEvent();\n }\n\n protected postInit() {\n if (!this.global.optimizeVisible) {\n return;\n }\n try {\n this.observerCanvas();\n } catch (err) {\n console.error('发生错误,该环境不存在IntersectionObserver');\n }\n }\n\n isElementVisible(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n const vWidth = window.innerWidth || document.documentElement.clientWidth;\n const vHeight = window.innerHeight || document.documentElement.clientHeight;\n\n if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight) {\n return false;\n }\n\n return true;\n }\n\n protected observerCanvas() {\n this._canvasIsIntersecting = this.isElementVisible(this.canvas.nativeCanvas);\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (this._canvasIsIntersecting !== entry.isIntersecting) {\n this._canvasIsIntersecting = entry.isIntersecting;\n this._onVisibleChangeCb && this._onVisibleChangeCb(entry.isIntersecting);\n } else {\n this._canvasIsIntersecting = entry.isIntersecting;\n }\n });\n });\n if (!observer) {\n return;\n }\n observer.observe(this.canvas.nativeCanvas);\n }\n\n // private bindOnChangeEvent() {\n // const { nativeCanvas } = this.canvas;\n // const observer = new MutationObserver((mutations, observer) => {\n // mutations.forEach((mutaion) => {\n // console.log(mutaion);\n // })\n // });\n // observer.observe(nativeCanvas, { attributes: true, childList: true, subtree: true })\n // }\n\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n // 保存到dom中\n let container: HTMLElement | null;\n if (typeof params.container === 'string') {\n container = this.global.getElementById(params.container);\n } else if (params.container) {\n container = params.container;\n } else {\n container = this.global.getRootElement();\n }\n if (!container) {\n throw new Error('发生错误,containerId可能传入有误');\n }\n\n if (!params.offscreen) {\n container.appendChild(nativeCanvas);\n } else {\n container = null;\n }\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n container,\n id: BrowserWindowHandlerContribution.GenerateCanvasId(),\n canvasControled: true\n };\n this.canvas = new BrowserCanvas(options);\n // 应用位置属性\n // window上的不需要设置position\n // this.canvas.applyPosition();\n // this.canvas.resetStyle(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas && typeof document !== 'undefined') {\n canvas = document.getElementById(params.canvas) as HTMLCanvasElement | null;\n }\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n if (!canvas) {\n throw new Error('发生错误,传入的canvas不正确');\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n // if (params.canvasControled === false) {\n // if (dpr) {\n // console.warn('canvasControled为false后,dpr参数将无效');\n // }\n // dpr = null;\n // }\n if (dpr == null) {\n const ctx = canvas.getContext('2d');\n // 兼容XTable\n dpr = (ctx as any).pixelRatio ?? canvas.width / width;\n }\n this.canvas = new BrowserCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled ?? false\n });\n // if (params.canvasControled) {\n // this.canvas.resetStyle({\n // width,\n // height,\n // dpr\n // });\n // }\n }\n releaseWindow(): void {\n this.canvas.release();\n }\n resizeWindow(width: number, height: number): void {\n this.canvas.resize(width, height);\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).addEventListener(type, listener, options);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).removeEventListener(type, listener, options);\n }\n dispatchEvent(event: any): boolean {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).dispatchEvent(event);\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return this.canvas.nativeCanvas.style ?? {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n this.canvas.nativeCanvas.style = style;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const c = this.canvas.nativeCanvas as HTMLCanvasElement;\n const wh = this.getWH();\n if (!c.parentElement) {\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n return this.canvas.nativeCanvas.getBoundingClientRect();\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n\n isVisible(bbox?: IBoundsLike) {\n return this._canvasIsIntersecting;\n }\n\n onVisibleChange(cb: (currentVisible: boolean) => void) {\n this._onVisibleChangeCb = cb;\n }\n\n getTopLeft(baseWindow?: boolean): { top: number; left: number } {\n return this.global.getElementTopLeft(this.canvas.nativeCanvas, baseWindow);\n }\n}\n\nexport function bindBrowserWindowContribution(container: any) {\n if (!container.isBound?.(BrowserWindowHandlerContribution)) {\n container.bind(BrowserWindowHandlerContribution).toSelf();\n }\n if (!container.getNamed?.(WindowHandlerContribution, BrowserWindowHandlerContribution.env)) {\n container\n .bind(WindowHandlerContribution)\n .toService(BrowserWindowHandlerContribution)\n .whenTargetNamed(BrowserWindowHandlerContribution.env);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
1
+ import { BaseWindowHandlerContribution } from '@visactor/vrender-core';
2
2
  import type { EnvType, IGlobal, IContext2d, ICanvas, IDomRectLike, IWindowHandlerContribution, IWindowParams } from '@visactor/vrender-core';
3
3
  declare class MiniAppEventManager {
4
4
  addEventListener(type: string, func: EventListenerOrEventListenerObject): void;
@@ -15,7 +15,7 @@ export declare class FeishuWindowHandlerContribution extends BaseWindowHandlerCo
15
15
  protected eventManager: MiniAppEventManager;
16
16
  canvas: ICanvas;
17
17
  get container(): HTMLElement | null;
18
- constructor(global: IGlobal);
18
+ constructor(global?: IGlobal);
19
19
  getTitle(): string;
20
20
  getWH(): {
21
21
  width: number;
@@ -42,5 +42,5 @@ export declare class FeishuWindowHandlerContribution extends BaseWindowHandlerCo
42
42
  getBoundingClientRect(): IDomRectLike;
43
43
  clearViewBox(color?: string): void;
44
44
  }
45
- export declare const feishuWindowModule: ContainerModule;
45
+ export declare function bindFeishuWindowContribution(container: any): void;
46
46
  export {};
@@ -1,19 +1,9 @@
1
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- }, __metadata = this && this.__metadata || function(k, v) {
6
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
- }, __param = this && this.__param || function(paramIndex, decorator) {
8
- return function(target, key) {
9
- decorator(target, key, paramIndex);
10
- };
11
- };
12
-
13
- import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core";
1
+ import { Generator, BaseWindowHandlerContribution, WindowHandlerContribution } from "@visactor/vrender-core";
14
2
 
15
3
  import { FeishuCanvas } from "../../canvas/contributions/feishu";
16
4
 
5
+ import { application } from "@visactor/vrender-core";
6
+
17
7
  class MiniAppEventManager {
18
8
  constructor() {
19
9
  this.cache = {};
@@ -34,11 +24,11 @@ class MiniAppEventManager {
34
24
  }
35
25
  }
36
26
 
37
- let FeishuWindowHandlerContribution = class extends BaseWindowHandlerContribution {
27
+ export class FeishuWindowHandlerContribution extends BaseWindowHandlerContribution {
38
28
  get container() {
39
29
  return null;
40
30
  }
41
- constructor(global) {
31
+ constructor(global = application.global) {
42
32
  super(), this.global = global, this.type = "feishu", this.eventManager = new MiniAppEventManager;
43
33
  }
44
34
  getTitle() {
@@ -145,13 +135,14 @@ let FeishuWindowHandlerContribution = class extends BaseWindowHandlerContributio
145
135
  context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
146
136
  context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
147
137
  }
148
- };
138
+ }
149
139
 
150
- FeishuWindowHandlerContribution.env = "feishu", FeishuWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], FeishuWindowHandlerContribution);
140
+ FeishuWindowHandlerContribution.env = "feishu";
151
141
 
152
- export { FeishuWindowHandlerContribution };
142
+ let feishuWindowContributionBound = !1;
153
143
 
154
- export const feishuWindowModule = new ContainerModule((bind => {
155
- bind(FeishuWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(FeishuWindowHandlerContribution))).whenTargetNamed(FeishuWindowHandlerContribution.env);
156
- }));
144
+ export function bindFeishuWindowContribution(container) {
145
+ feishuWindowContributionBound || (feishuWindowContributionBound = !0, container.bind(FeishuWindowHandlerContribution).toSelf(),
146
+ container.bind(WindowHandlerContribution).toService(FeishuWindowHandlerContribution).whenTargetNamed(FeishuWindowHandlerContribution.env));
147
+ }
157
148
  //# sourceMappingURL=feishu-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/window/contributions/feishu-contribution.ts"],"names":[],"mappings":"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","file":"feishu-contribution.js","sourcesContent":["import {\n inject,\n injectable,\n Generator,\n BaseWindowHandlerContribution,\n VGlobal,\n ContainerModule,\n WindowHandlerContribution\n} from '@visactor/vrender-core';\nimport type {\n EnvType,\n IGlobal,\n IContext2d,\n ICanvas,\n IDomRectLike,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { FeishuCanvas } from '../../canvas/contributions/feishu';\n\nclass MiniAppEventManager {\n addEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n this.cache[type] = this.cache[type] || {\n listener: []\n };\n this.cache[type].listener.push(func);\n }\n removeEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n if (!this.cache[type]) {\n return;\n }\n const index = this.cache[type].listener.findIndex((f: EventListenerOrEventListenerObject) => f === func);\n if (index >= 0) {\n this.cache[type].listener.splice(index, 1);\n }\n }\n cleanEvent() {\n this.cache = {};\n }\n cache: Record<string, { listener: EventListenerOrEventListenerObject[] }> = {};\n}\n\n@injectable()\nexport class FeishuWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'feishu';\n type: EnvType = 'feishu';\n\n protected eventManager = new MiniAppEventManager();\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(@inject(VGlobal) private readonly global: IGlobal) {\n super();\n }\n\n getTitle(): string {\n return this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: false\n };\n this.canvas = new FeishuCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n if (dpr == null) {\n dpr = canvas.width / width;\n }\n this.canvas = new FeishuCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n return;\n }\n resizeWindow(width: number, height: number): void {\n return;\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.addEventListener(type, listener);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.removeEventListener(type, listener);\n }\n dispatchEvent(event: any): boolean {\n const { type } = event;\n if (!this.eventManager.cache[type]) {\n return false;\n }\n\n // hack for offsetX offsetY\n if (event.changedTouches && event.changedTouches[0]) {\n event.offsetX = event.changedTouches[0].x;\n event.changedTouches[0].offsetX = event.changedTouches[0].x;\n event.changedTouches[0].clientX = event.changedTouches[0].x;\n event.offsetY = event.changedTouches[0].y;\n event.changedTouches[0].offsetY = event.changedTouches[0].y;\n event.changedTouches[0].clientY = event.changedTouches[0].y;\n }\n event.preventDefault = () => {\n return;\n };\n event.stopPropagation = () => {\n return;\n };\n if (this.eventManager.cache[type].listener) {\n this.eventManager.cache[type].listener.forEach((f: EventListener) => {\n f(event);\n });\n }\n return true;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const wh = this.getWH();\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n}\n\nexport const feishuWindowModule = new ContainerModule(bind => {\n // feishu\n bind(FeishuWindowHandlerContribution).toSelf();\n bind(WindowHandlerContribution)\n .toDynamicValue(ctx => ctx.container.get(FeishuWindowHandlerContribution))\n .whenTargetNamed(FeishuWindowHandlerContribution.env);\n});\n"]}
1
+ {"version":3,"sources":["../src/window/contributions/feishu-contribution.ts"],"names":[],"mappings":"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","file":"feishu-contribution.js","sourcesContent":["import { Generator, BaseWindowHandlerContribution, WindowHandlerContribution } from '@visactor/vrender-core';\nimport type {\n EnvType,\n IGlobal,\n IContext2d,\n ICanvas,\n IDomRectLike,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { FeishuCanvas } from '../../canvas/contributions/feishu';\nimport { application } from '@visactor/vrender-core';\n\nclass MiniAppEventManager {\n addEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n this.cache[type] = this.cache[type] || {\n listener: []\n };\n this.cache[type].listener.push(func);\n }\n removeEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n if (!this.cache[type]) {\n return;\n }\n const index = this.cache[type].listener.findIndex((f: EventListenerOrEventListenerObject) => f === func);\n if (index >= 0) {\n this.cache[type].listener.splice(index, 1);\n }\n }\n cleanEvent() {\n this.cache = {};\n }\n cache: Record<string, { listener: EventListenerOrEventListenerObject[] }> = {};\n}\n\nexport class FeishuWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'feishu';\n type: EnvType = 'feishu';\n\n protected eventManager = new MiniAppEventManager();\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(private readonly global: IGlobal = application.global) {\n super();\n }\n\n getTitle(): string {\n return this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: false\n };\n this.canvas = new FeishuCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n if (dpr == null) {\n dpr = canvas.width / width;\n }\n this.canvas = new FeishuCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n return;\n }\n resizeWindow(width: number, height: number): void {\n return;\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.addEventListener(type, listener);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.removeEventListener(type, listener);\n }\n dispatchEvent(event: any): boolean {\n const { type } = event;\n if (!this.eventManager.cache[type]) {\n return false;\n }\n\n // hack for offsetX offsetY\n if (event.changedTouches && event.changedTouches[0]) {\n event.offsetX = event.changedTouches[0].x;\n event.changedTouches[0].offsetX = event.changedTouches[0].x;\n event.changedTouches[0].clientX = event.changedTouches[0].x;\n event.offsetY = event.changedTouches[0].y;\n event.changedTouches[0].offsetY = event.changedTouches[0].y;\n event.changedTouches[0].clientY = event.changedTouches[0].y;\n }\n event.preventDefault = () => {\n return;\n };\n event.stopPropagation = () => {\n return;\n };\n if (this.eventManager.cache[type].listener) {\n this.eventManager.cache[type].listener.forEach((f: EventListener) => {\n f(event);\n });\n }\n return true;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const wh = this.getWH();\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n}\n\nlet feishuWindowContributionBound = false;\n\nexport function bindFeishuWindowContribution(container: any) {\n if (feishuWindowContributionBound) {\n return;\n }\n feishuWindowContributionBound = true;\n container.bind(FeishuWindowHandlerContribution).toSelf();\n container\n .bind(WindowHandlerContribution)\n .toService(FeishuWindowHandlerContribution)\n .whenTargetNamed(FeishuWindowHandlerContribution.env);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
1
+ import { BaseWindowHandlerContribution } from '@visactor/vrender-core';
2
2
  import type { EnvType, IGlobal, IContext2d, ICanvas, IDomRectLike, IWindowParams, IWindowHandlerContribution } from '@visactor/vrender-core';
3
3
  declare class MiniAppEventManager {
4
4
  addEventListener(type: string, func: EventListenerOrEventListenerObject): void;
@@ -15,7 +15,7 @@ export declare class HarmonyWindowHandlerContribution extends BaseWindowHandlerC
15
15
  protected eventManager: MiniAppEventManager;
16
16
  canvas: ICanvas;
17
17
  get container(): HTMLElement | null;
18
- constructor(global: IGlobal);
18
+ constructor(global?: IGlobal);
19
19
  getTitle(): string;
20
20
  getWH(): {
21
21
  width: number;
@@ -42,5 +42,5 @@ export declare class HarmonyWindowHandlerContribution extends BaseWindowHandlerC
42
42
  getBoundingClientRect(): IDomRectLike;
43
43
  clearViewBox(color?: string): void;
44
44
  }
45
- export declare const harmonyWindowModule: ContainerModule;
45
+ export declare function bindHarmonyWindowContribution(container: any): void;
46
46
  export {};
@@ -1,19 +1,9 @@
1
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- }, __metadata = this && this.__metadata || function(k, v) {
6
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
- }, __param = this && this.__param || function(paramIndex, decorator) {
8
- return function(target, key) {
9
- decorator(target, key, paramIndex);
10
- };
11
- };
12
-
13
- import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core";
1
+ import { Generator, BaseWindowHandlerContribution, WindowHandlerContribution } from "@visactor/vrender-core";
14
2
 
15
3
  import { HarmonyCanvas } from "../../canvas/contributions/harmony";
16
4
 
5
+ import { application } from "@visactor/vrender-core";
6
+
17
7
  class MiniAppEventManager {
18
8
  constructor() {
19
9
  this.cache = {};
@@ -34,11 +24,11 @@ class MiniAppEventManager {
34
24
  }
35
25
  }
36
26
 
37
- let HarmonyWindowHandlerContribution = class extends BaseWindowHandlerContribution {
27
+ export class HarmonyWindowHandlerContribution extends BaseWindowHandlerContribution {
38
28
  get container() {
39
29
  return null;
40
30
  }
41
- constructor(global) {
31
+ constructor(global = application.global) {
42
32
  super(), this.global = global, this.type = "harmony", this.eventManager = new MiniAppEventManager;
43
33
  }
44
34
  getTitle() {
@@ -146,13 +136,14 @@ let HarmonyWindowHandlerContribution = class extends BaseWindowHandlerContributi
146
136
  context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
147
137
  context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
148
138
  }
149
- };
139
+ }
150
140
 
151
- HarmonyWindowHandlerContribution.env = "harmony", HarmonyWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], HarmonyWindowHandlerContribution);
141
+ HarmonyWindowHandlerContribution.env = "harmony";
152
142
 
153
- export { HarmonyWindowHandlerContribution };
143
+ let harmonyWindowContributionBound = !1;
154
144
 
155
- export const harmonyWindowModule = new ContainerModule((bind => {
156
- bind(HarmonyWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(HarmonyWindowHandlerContribution))).whenTargetNamed(HarmonyWindowHandlerContribution.env);
157
- }));
145
+ export function bindHarmonyWindowContribution(container) {
146
+ harmonyWindowContributionBound || (harmonyWindowContributionBound = !0, container.bind(HarmonyWindowHandlerContribution).toSelf(),
147
+ container.bind(WindowHandlerContribution).toService(HarmonyWindowHandlerContribution).whenTargetNamed(HarmonyWindowHandlerContribution.env));
148
+ }
158
149
  //# sourceMappingURL=harmony-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/window/contributions/harmony-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,OAAO,EACP,eAAe,EACf,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAUhC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,MAAM,mBAAmB;IAAzB;QAyBE,UAAK,GAAuE,EAAE,CAAC;IACjF,CAAC;IAzBC,gBAAgB,CAAC,IAAY,EAAE,IAAwC;QACrE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;YACrC,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,mBAAmB,CAAC,IAAY,EAAE,IAAwC;QACxE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAqC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACzG,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC5C;IACH,CAAC;IACD,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CAEF;AAGM,IAAM,gCAAgC,GAAtC,MAAM,gCACX,SAAQ,6BAA6B;IASrC,IAAI,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAA8C,MAAe;QAC3D,KAAK,EAAE,CAAC;QADoC,WAAM,GAAN,MAAM,CAAS;QAT7D,SAAI,GAAY,SAAS,CAAC;QAEhB,iBAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;IASnD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IACrD,CAAC;IAED,KAAK;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,MAAqB;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACnC;IACH,CAAC;IACO,oBAAoB,CAAC,MAAqB;QAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAGH,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,YAAY;YACZ,EAAE,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE;YAC7C,eAAe,EAAE,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACO,oBAAoB,CAAC,MAAqB;QAEhD,IAAI,MAAgC,CAAC;QACrC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;YACrC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAA6B,CAAC;YAC/E,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACrD;SACF;aAAM;YACL,MAAM,GAAG,MAAO,CAAC,MAAkC,CAAC;SACrD;QAGD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC5C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC;YAC9B,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,CAAC;YACN,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,CAAC;IACL,CAAC;IACD,aAAa;QACX,OAAO;IACT,CAAC;IACD,YAAY,CAAC,KAAa,EAAE,MAAc;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACzB,CAAC;IAOD,gBAAgB,CAAC,IAAY,EAAE,QAA4C;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAMD,mBAAmB,CAAC,IAAY,EAAE,QAA4C;QAC5E,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,aAAa,CAAC,KAAU;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QAGD,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YACnD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7D;QACD,KAAK,CAAC,cAAc,GAAG,GAAG,EAAE;YAC1B,OAAO;QACT,CAAC,CAAC;QACF,KAAK,CAAC,eAAe,GAAG,GAAG,EAAE;YAC3B,OAAO;QACT,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAgB,EAAE,EAAE;gBAClE,CAAC,CAAC,KAAK,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,QAAQ,CAAC,KAAgD;QACvD,OAAO;IACT,CAAC;IAED,qBAAqB;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,aAA0C,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9D;QACD,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;;AArLM,oCAAG,GAAY,SAAS,CAAC;AAJrB,gCAAgC;IAD5C,UAAU,EAAE;IAeE,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;;GAdjB,gCAAgC,CA0L5C;SA1LY,gCAAgC;AA4L7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAE5D,IAAI,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,IAAI,CAAC,yBAAyB,CAAC;SAC5B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;SAC1E,eAAe,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC","file":"harmony-contribution.js","sourcesContent":["import {\n inject,\n injectable,\n Generator,\n BaseWindowHandlerContribution,\n VGlobal,\n ContainerModule,\n WindowHandlerContribution\n} from '@visactor/vrender-core';\nimport type {\n EnvType,\n IGlobal,\n IContext2d,\n ICanvas,\n IDomRectLike,\n IWindowParams,\n IWindowHandlerContribution\n} from '@visactor/vrender-core';\nimport { HarmonyCanvas } from '../../canvas/contributions/harmony';\n\nclass MiniAppEventManager {\n addEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n this.cache[type] = this.cache[type] || {\n listener: []\n };\n this.cache[type].listener.push(func);\n }\n removeEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n if (!this.cache[type]) {\n return;\n }\n const index = this.cache[type].listener.findIndex((f: EventListenerOrEventListenerObject) => f === func);\n if (index >= 0) {\n this.cache[type].listener.splice(index, 1);\n }\n }\n cleanEvent() {\n this.cache = {};\n }\n cache: Record<string, { listener: EventListenerOrEventListenerObject[] }> = {};\n}\n\n@injectable()\nexport class HarmonyWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'harmony';\n type: EnvType = 'harmony';\n\n protected eventManager = new MiniAppEventManager();\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(@inject(VGlobal) private readonly global: IGlobal) {\n super();\n }\n\n getTitle(): string {\n return this.canvas.id && this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: false\n };\n this.canvas = new HarmonyCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n this.canvas = new HarmonyCanvas({\n width: width,\n height: height,\n dpr: 1,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n return;\n }\n resizeWindow(width: number, height: number): void {\n this.canvas.resize(width, height);\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.addEventListener(type, listener);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.removeEventListener(type, listener);\n }\n dispatchEvent(event: any): boolean {\n const { type } = event;\n if (!this.eventManager.cache[type]) {\n return false;\n }\n\n // hack for offsetX offsetY\n if (event.changedTouches && event.changedTouches[0]) {\n event.offsetX = event.changedTouches[0].x;\n event.changedTouches[0].offsetX = event.changedTouches[0].x;\n event.changedTouches[0].clientX = event.changedTouches[0].x;\n event.offsetY = event.changedTouches[0].y;\n event.changedTouches[0].offsetY = event.changedTouches[0].y;\n event.changedTouches[0].clientY = event.changedTouches[0].y;\n }\n event.preventDefault = () => {\n return;\n };\n event.stopPropagation = () => {\n return;\n };\n if (this.eventManager.cache[type].listener) {\n this.eventManager.cache[type].listener.forEach((f: EventListener) => {\n f(event);\n });\n }\n return true;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const wh = this.getWH();\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n}\n\nexport const harmonyWindowModule = new ContainerModule(bind => {\n // harmony\n bind(HarmonyWindowHandlerContribution).toSelf();\n bind(WindowHandlerContribution)\n .toDynamicValue(ctx => ctx.container.get(HarmonyWindowHandlerContribution))\n .whenTargetNamed(HarmonyWindowHandlerContribution.env);\n});\n"]}
1
+ {"version":3,"sources":["../src/window/contributions/harmony-contribution.ts"],"names":[],"mappings":"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","file":"harmony-contribution.js","sourcesContent":["import { Generator, BaseWindowHandlerContribution, WindowHandlerContribution } from '@visactor/vrender-core';\nimport type {\n EnvType,\n IGlobal,\n IContext2d,\n ICanvas,\n IDomRectLike,\n IWindowParams,\n IWindowHandlerContribution\n} from '@visactor/vrender-core';\nimport { HarmonyCanvas } from '../../canvas/contributions/harmony';\nimport { application } from '@visactor/vrender-core';\n\nclass MiniAppEventManager {\n addEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n this.cache[type] = this.cache[type] || {\n listener: []\n };\n this.cache[type].listener.push(func);\n }\n removeEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n if (!this.cache[type]) {\n return;\n }\n const index = this.cache[type].listener.findIndex((f: EventListenerOrEventListenerObject) => f === func);\n if (index >= 0) {\n this.cache[type].listener.splice(index, 1);\n }\n }\n cleanEvent() {\n this.cache = {};\n }\n cache: Record<string, { listener: EventListenerOrEventListenerObject[] }> = {};\n}\n\nexport class HarmonyWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'harmony';\n type: EnvType = 'harmony';\n\n protected eventManager = new MiniAppEventManager();\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(private readonly global: IGlobal = application.global) {\n super();\n }\n\n getTitle(): string {\n return this.canvas.id && this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: false\n };\n this.canvas = new HarmonyCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n this.canvas = new HarmonyCanvas({\n width: width,\n height: height,\n dpr: 1,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n return;\n }\n resizeWindow(width: number, height: number): void {\n this.canvas.resize(width, height);\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.addEventListener(type, listener);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.removeEventListener(type, listener);\n }\n dispatchEvent(event: any): boolean {\n const { type } = event;\n if (!this.eventManager.cache[type]) {\n return false;\n }\n\n // hack for offsetX offsetY\n if (event.changedTouches && event.changedTouches[0]) {\n event.offsetX = event.changedTouches[0].x;\n event.changedTouches[0].offsetX = event.changedTouches[0].x;\n event.changedTouches[0].clientX = event.changedTouches[0].x;\n event.offsetY = event.changedTouches[0].y;\n event.changedTouches[0].offsetY = event.changedTouches[0].y;\n event.changedTouches[0].clientY = event.changedTouches[0].y;\n }\n event.preventDefault = () => {\n return;\n };\n event.stopPropagation = () => {\n return;\n };\n if (this.eventManager.cache[type].listener) {\n this.eventManager.cache[type].listener.forEach((f: EventListener) => {\n f(event);\n });\n }\n return true;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const wh = this.getWH();\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n}\n\nlet harmonyWindowContributionBound = false;\n\nexport function bindHarmonyWindowContribution(container: any) {\n if (harmonyWindowContributionBound) {\n return;\n }\n harmonyWindowContributionBound = true;\n container.bind(HarmonyWindowHandlerContribution).toSelf();\n container\n .bind(WindowHandlerContribution)\n .toService(HarmonyWindowHandlerContribution)\n .whenTargetNamed(HarmonyWindowHandlerContribution.env);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
1
+ import { BaseWindowHandlerContribution } from '@visactor/vrender-core';
2
2
  import type { EnvType, IGlobal, IContext2d, ICanvas, IDomRectLike, IWindowParams, IWindowHandlerContribution } from '@visactor/vrender-core';
3
3
  declare class MiniAppEventManager {
4
4
  addEventListener(type: string, func: EventListenerOrEventListenerObject): void;
@@ -15,7 +15,7 @@ export declare class LynxWindowHandlerContribution extends BaseWindowHandlerCont
15
15
  protected eventManager: MiniAppEventManager;
16
16
  canvas: ICanvas;
17
17
  get container(): HTMLElement | null;
18
- constructor(global: IGlobal);
18
+ constructor(global?: IGlobal);
19
19
  getTitle(): string;
20
20
  getWH(): {
21
21
  width: number;
@@ -42,5 +42,5 @@ export declare class LynxWindowHandlerContribution extends BaseWindowHandlerCont
42
42
  getBoundingClientRect(): IDomRectLike;
43
43
  clearViewBox(color?: string): void;
44
44
  }
45
- export declare const lynxWindowModule: ContainerModule;
45
+ export declare function bindLynxWindowContribution(container: any): void;
46
46
  export {};
@@ -1,19 +1,9 @@
1
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- }, __metadata = this && this.__metadata || function(k, v) {
6
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
- }, __param = this && this.__param || function(paramIndex, decorator) {
8
- return function(target, key) {
9
- decorator(target, key, paramIndex);
10
- };
11
- };
12
-
13
- import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core";
1
+ import { Generator, BaseWindowHandlerContribution, WindowHandlerContribution } from "@visactor/vrender-core";
14
2
 
15
3
  import { LynxCanvas } from "../../canvas/contributions/lynx";
16
4
 
5
+ import { application } from "@visactor/vrender-core";
6
+
17
7
  class MiniAppEventManager {
18
8
  constructor() {
19
9
  this.cache = {};
@@ -34,11 +24,11 @@ class MiniAppEventManager {
34
24
  }
35
25
  }
36
26
 
37
- let LynxWindowHandlerContribution = class extends BaseWindowHandlerContribution {
27
+ export class LynxWindowHandlerContribution extends BaseWindowHandlerContribution {
38
28
  get container() {
39
29
  return null;
40
30
  }
41
- constructor(global) {
31
+ constructor(global = application.global) {
42
32
  super(), this.global = global, this.type = "lynx", this.eventManager = new MiniAppEventManager;
43
33
  }
44
34
  getTitle() {
@@ -147,13 +137,14 @@ let LynxWindowHandlerContribution = class extends BaseWindowHandlerContribution
147
137
  context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
148
138
  context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
149
139
  }
150
- };
140
+ }
151
141
 
152
- LynxWindowHandlerContribution.env = "lynx", LynxWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], LynxWindowHandlerContribution);
142
+ LynxWindowHandlerContribution.env = "lynx";
153
143
 
154
- export { LynxWindowHandlerContribution };
144
+ let lynxWindowContributionBound = !1;
155
145
 
156
- export const lynxWindowModule = new ContainerModule((bind => {
157
- bind(LynxWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(LynxWindowHandlerContribution))).whenTargetNamed(LynxWindowHandlerContribution.env);
158
- }));
146
+ export function bindLynxWindowContribution(container) {
147
+ lynxWindowContributionBound || (lynxWindowContributionBound = !0, container.bind(LynxWindowHandlerContribution).toSelf(),
148
+ container.bind(WindowHandlerContribution).toService(LynxWindowHandlerContribution).whenTargetNamed(LynxWindowHandlerContribution.env));
149
+ }
159
150
  //# sourceMappingURL=lynx-contribution.js.map