create-ssnode-cli 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/package.json +1 -1
  2. package/templates/backend/config/config.develop.yaml +6 -4
  3. package/templates/backend/data/template.dev.sqlite-shm +0 -0
  4. package/templates/backend/data/template.dev.sqlite-wal +0 -0
  5. package/templates/backend/dist/app.module.js +85 -1
  6. package/templates/backend/dist/app.module.js.map +1 -1
  7. package/templates/backend/dist/common/all-exceptions.filter.js +47 -1
  8. package/templates/backend/dist/common/all-exceptions.filter.js.map +1 -1
  9. package/templates/backend/dist/common/app-crypto.js +119 -1
  10. package/templates/backend/dist/common/app-crypto.js.map +1 -1
  11. package/templates/backend/dist/common/app-sign.guard.js +72 -1
  12. package/templates/backend/dist/common/app-sign.guard.js.map +1 -1
  13. package/templates/backend/dist/common/app-sign.module.js +20 -1
  14. package/templates/backend/dist/common/app-sign.module.js.map +1 -1
  15. package/templates/backend/dist/common/response.js +23 -1
  16. package/templates/backend/dist/common/response.js.map +1 -1
  17. package/templates/backend/dist/common/throttle.guard.js +42 -1
  18. package/templates/backend/dist/common/throttle.guard.js.map +1 -1
  19. package/templates/backend/dist/common/transform.interceptor.js +28 -1
  20. package/templates/backend/dist/common/transform.interceptor.js.map +1 -1
  21. package/templates/backend/dist/config/config.interface.js +2 -1
  22. package/templates/backend/dist/config/config.interface.js.map +1 -1
  23. package/templates/backend/dist/config/configuration.js +91 -1
  24. package/templates/backend/dist/config/configuration.js.map +1 -1
  25. package/templates/backend/dist/database/migrations/0001-init.migration.js +69 -1
  26. package/templates/backend/dist/database/migrations/0001-init.migration.js.map +1 -1
  27. package/templates/backend/dist/database/sqlite.config.js +32 -1
  28. package/templates/backend/dist/database/sqlite.config.js.map +1 -1
  29. package/templates/backend/dist/entities/audit-log.entity.js +49 -1
  30. package/templates/backend/dist/entities/audit-log.entity.js.map +1 -1
  31. package/templates/backend/dist/entities/image.entity.js +50 -1
  32. package/templates/backend/dist/entities/image.entity.js.map +1 -1
  33. package/templates/backend/dist/entities/page-data.entity.js +60 -1
  34. package/templates/backend/dist/entities/page-data.entity.js.map +1 -1
  35. package/templates/backend/dist/entities/screen-config.entity.js +74 -1
  36. package/templates/backend/dist/entities/screen-config.entity.js.map +1 -1
  37. package/templates/backend/dist/entities/user.entity.js +59 -1
  38. package/templates/backend/dist/entities/user.entity.js.map +1 -1
  39. package/templates/backend/dist/main.js +56 -1
  40. package/templates/backend/dist/main.js.map +1 -1
  41. package/templates/backend/dist/modules/audit/audit.controller.js +51 -1
  42. package/templates/backend/dist/modules/audit/audit.controller.js.map +1 -1
  43. package/templates/backend/dist/modules/audit/audit.module.js +25 -1
  44. package/templates/backend/dist/modules/audit/audit.module.js.map +1 -1
  45. package/templates/backend/dist/modules/audit/audit.service.js +57 -1
  46. package/templates/backend/dist/modules/audit/audit.service.js.map +1 -1
  47. package/templates/backend/dist/modules/auth/auth.controller.js +74 -1
  48. package/templates/backend/dist/modules/auth/auth.controller.js.map +1 -1
  49. package/templates/backend/dist/modules/auth/auth.module.js +45 -1
  50. package/templates/backend/dist/modules/auth/auth.module.js.map +1 -1
  51. package/templates/backend/dist/modules/auth/auth.service.js +151 -1
  52. package/templates/backend/dist/modules/auth/auth.service.js.map +1 -1
  53. package/templates/backend/dist/modules/auth/captcha.service.js +56 -1
  54. package/templates/backend/dist/modules/auth/captcha.service.js.map +1 -1
  55. package/templates/backend/dist/modules/auth/jwt-auth.guard.js +17 -1
  56. package/templates/backend/dist/modules/auth/jwt-auth.guard.js.map +1 -1
  57. package/templates/backend/dist/modules/auth/jwt.strategy.js +37 -1
  58. package/templates/backend/dist/modules/auth/jwt.strategy.js.map +1 -1
  59. package/templates/backend/dist/modules/image/image.controller.js +75 -1
  60. package/templates/backend/dist/modules/image/image.controller.js.map +1 -1
  61. package/templates/backend/dist/modules/image/image.module.js +26 -1
  62. package/templates/backend/dist/modules/image/image.module.js.map +1 -1
  63. package/templates/backend/dist/modules/image/image.service.js +94 -1
  64. package/templates/backend/dist/modules/image/image.service.js.map +1 -1
  65. package/templates/backend/dist/modules/ops/backend-version.probe.js +58 -1
  66. package/templates/backend/dist/modules/ops/backend-version.probe.js.map +1 -1
  67. package/templates/backend/dist/modules/ops/ops-probe.interface.js +4 -1
  68. package/templates/backend/dist/modules/ops/ops-probe.interface.js.map +1 -1
  69. package/templates/backend/dist/modules/ops/ops.controller.js +52 -1
  70. package/templates/backend/dist/modules/ops/ops.controller.js.map +1 -1
  71. package/templates/backend/dist/modules/ops/ops.module.js +39 -1
  72. package/templates/backend/dist/modules/ops/ops.module.js.map +1 -1
  73. package/templates/backend/dist/modules/ops/ops.service.js +72 -1
  74. package/templates/backend/dist/modules/ops/ops.service.js.map +1 -1
  75. package/templates/backend/dist/modules/ops/sqlite-backup-list.probe.js +105 -1
  76. package/templates/backend/dist/modules/ops/sqlite-backup-list.probe.js.map +1 -1
  77. package/templates/backend/dist/modules/ops/sqlite-backup-log.probe.js +67 -1
  78. package/templates/backend/dist/modules/ops/sqlite-backup-log.probe.js.map +1 -1
  79. package/templates/backend/dist/modules/ops/sqlite-backup.probe.js +115 -1
  80. package/templates/backend/dist/modules/ops/sqlite-backup.probe.js.map +1 -1
  81. package/templates/backend/dist/modules/ops/version.controller.js +52 -1
  82. package/templates/backend/dist/modules/ops/version.controller.js.map +1 -1
  83. package/templates/backend/dist/modules/page-data/page-data.controller.js +109 -1
  84. package/templates/backend/dist/modules/page-data/page-data.controller.js.map +1 -1
  85. package/templates/backend/dist/modules/page-data/page-data.module.js +25 -1
  86. package/templates/backend/dist/modules/page-data/page-data.module.js.map +1 -1
  87. package/templates/backend/dist/modules/page-data/page-data.service.js +69 -1
  88. package/templates/backend/dist/modules/page-data/page-data.service.js.map +1 -1
  89. package/templates/backend/dist/modules/screen-config/screen-config.controller.js +61 -1
  90. package/templates/backend/dist/modules/screen-config/screen-config.controller.js.map +1 -1
  91. package/templates/backend/dist/modules/screen-config/screen-config.module.js +25 -1
  92. package/templates/backend/dist/modules/screen-config/screen-config.module.js.map +1 -1
  93. package/templates/backend/dist/modules/screen-config/screen-config.service.js +41 -1
  94. package/templates/backend/dist/modules/screen-config/screen-config.service.js.map +1 -1
  95. package/templates/backend/dist/modules/upload/upload.controller.js +65 -1
  96. package/templates/backend/dist/modules/upload/upload.controller.js.map +1 -1
  97. package/templates/backend/dist/modules/upload/upload.module.js +22 -1
  98. package/templates/backend/dist/modules/upload/upload.module.js.map +1 -1
  99. package/templates/backend/dist/modules/upload/upload.service.js +75 -1
  100. package/templates/backend/dist/modules/upload/upload.service.js.map +1 -1
  101. package/templates/backend/dist/modules/user/user.controller.js +149 -1
  102. package/templates/backend/dist/modules/user/user.controller.js.map +1 -1
  103. package/templates/backend/dist/modules/user/user.module.js +26 -1
  104. package/templates/backend/dist/modules/user/user.module.js.map +1 -1
  105. package/templates/backend/dist/modules/user/user.service.js +249 -1
  106. package/templates/backend/dist/modules/user/user.service.js.map +1 -1
  107. package/templates/backend/dist/modules/websocket/websocket.gateway.js +33 -1
  108. package/templates/backend/dist/modules/websocket/websocket.gateway.js.map +1 -1
  109. package/templates/backend/dist/modules/websocket/websocket.module.js +19 -1
  110. package/templates/backend/dist/modules/websocket/websocket.module.js.map +1 -1
  111. package/templates/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  112. package/templates/backend/package.json +1 -1
  113. package/templates/backend/src/modules/auth/captcha.service.ts +6 -5
  114. package/templates/web/dist/assets/{AuthLayout-bcf98efb.js → AuthLayout-f1e8d110.js} +1 -1
  115. package/templates/web/dist/assets/{AuthLayout-legacy-6e7a8ae1.js → AuthLayout-legacy-f871651c.js} +1 -1
  116. package/templates/web/dist/assets/{Background-eb77ef54.js → Background-955d549f.js} +1 -1
  117. package/templates/web/dist/assets/{Background-legacy-50457007.js → Background-legacy-fbad6e76.js} +1 -1
  118. package/templates/web/dist/assets/{Screen-318c3fc2.js → Screen-b14b0813.js} +1 -1
  119. package/templates/web/dist/assets/{Screen-legacy-af123b0f.js → Screen-legacy-154c8ee6.js} +1 -1
  120. package/templates/web/dist/assets/{api-beff4a3e.js → api-4d80e36e.js} +1 -1
  121. package/templates/web/dist/assets/{api-legacy-9fe41d4b.js → api-legacy-054fd569.js} +1 -1
  122. package/templates/web/dist/assets/{component-89b5253e.js → component-9d9f33fa.js} +1 -1
  123. package/templates/web/dist/assets/{component-legacy-8c5a28ef.js → component-legacy-4445386a.js} +1 -1
  124. package/templates/web/dist/assets/{index-a79e448b.js → index-107a0e80.js} +1 -1
  125. package/templates/web/dist/assets/{index-b60badf7.js → index-5afb70be.js} +1 -1
  126. package/templates/web/dist/assets/{index-cba19800.js → index-7b807c2d.js} +1 -1
  127. package/templates/web/dist/assets/{index-86214b19.js → index-ab64cd34.js} +1 -1
  128. package/templates/web/dist/assets/{index-7277cbfb.js → index-d8bfffb3.js} +1 -1
  129. package/templates/web/dist/assets/{index-d70eb540.js → index-db169639.js} +1 -1
  130. package/templates/web/dist/assets/{index-bd4ed808.js → index-e08dc495.js} +1 -1
  131. package/templates/web/dist/assets/index-e31f4b7c.js +1 -0
  132. package/templates/web/dist/assets/{index-legacy-783129a7.js → index-legacy-5cf7be80.js} +1 -1
  133. package/templates/web/dist/assets/index-legacy-6f112001.js +1 -0
  134. package/templates/web/dist/assets/{index-legacy-b3bd40c1.js → index-legacy-91e012ac.js} +1 -1
  135. package/templates/web/dist/assets/{index-legacy-0da8de82.js → index-legacy-aa61cf72.js} +1 -1
  136. package/templates/web/dist/assets/{index-legacy-06483318.js → index-legacy-afba9135.js} +1 -1
  137. package/templates/web/dist/assets/{index-legacy-d510e318.js → index-legacy-da51c769.js} +1 -1
  138. package/templates/web/dist/assets/{index-legacy-993ef005.js → index-legacy-eec0ca6e.js} +1 -1
  139. package/templates/web/dist/assets/{index-legacy-feb54578.js → index-legacy-f732db29.js} +1 -1
  140. package/templates/web/dist/index.html +2 -2
  141. package/templates/web/node_modules/.vite/deps/@ant-design_icons.js +4 -4
  142. package/templates/web/node_modules/.vite/deps/_metadata.json +57 -57
  143. package/templates/web/node_modules/.vite/deps/antd.js +6 -6
  144. package/templates/web/node_modules/.vite/deps/antd_locale_zh_CN.js +1 -1
  145. package/templates/web/node_modules/.vite/deps/axios.js +2793 -1104
  146. package/templates/web/node_modules/.vite/deps/axios.js.map +4 -4
  147. package/templates/web/node_modules/.vite/deps/{chunk-FADIZLW4.js → chunk-3EE4ABTD.js} +3 -3
  148. package/templates/web/node_modules/.vite/deps/{chunk-5JEEJ3ET.js → chunk-3KXTUEQ5.js} +2 -2
  149. package/templates/web/node_modules/.vite/deps/{chunk-DSEUD2VO.js → chunk-622VOE6C.js} +28 -237
  150. package/templates/web/node_modules/.vite/deps/chunk-622VOE6C.js.map +7 -0
  151. package/templates/web/node_modules/.vite/deps/{chunk-PCLWPLHU.js → chunk-AX2S74EI.js} +4 -4
  152. package/templates/web/node_modules/.vite/deps/{chunk-UX3FVGZU.js → chunk-DXNXWKU4.js} +1670 -1309
  153. package/templates/web/node_modules/.vite/deps/chunk-DXNXWKU4.js.map +7 -0
  154. package/templates/web/node_modules/.vite/deps/{chunk-OTDKR2HU.js → chunk-GT2UP6M4.js} +2 -2
  155. package/templates/web/node_modules/.vite/deps/{chunk-5WWUZCGV.js → chunk-HM4MQYWN.js} +10 -2
  156. package/templates/web/node_modules/.vite/deps/{chunk-Z4XTF2JV.js → chunk-NDUAOA7M.js} +2 -2
  157. package/templates/web/node_modules/.vite/deps/{chunk-PIIG5WB7.js → chunk-OKY2XKJX.js} +14406 -12416
  158. package/templates/web/node_modules/.vite/deps/chunk-OKY2XKJX.js.map +7 -0
  159. package/templates/web/node_modules/.vite/deps/{chunk-UIM57Q7Y.js → chunk-SC6QO7UO.js} +6086 -4354
  160. package/templates/web/node_modules/.vite/deps/chunk-SC6QO7UO.js.map +7 -0
  161. package/templates/web/node_modules/.vite/deps/classnames.js +2 -2
  162. package/templates/web/node_modules/.vite/deps/dayjs.js +2 -2
  163. package/templates/web/node_modules/.vite/deps/dayjs_locale_zh-cn.js +2 -2
  164. package/templates/web/node_modules/.vite/deps/echarts_charts.js +7172 -6102
  165. package/templates/web/node_modules/.vite/deps/echarts_charts.js.map +4 -4
  166. package/templates/web/node_modules/.vite/deps/echarts_components.js +3363 -1326
  167. package/templates/web/node_modules/.vite/deps/echarts_components.js.map +4 -4
  168. package/templates/web/node_modules/.vite/deps/echarts_core.js +57 -42
  169. package/templates/web/node_modules/.vite/deps/echarts_core.js.map +3 -3
  170. package/templates/web/node_modules/.vite/deps/echarts_renderers.js +432 -334
  171. package/templates/web/node_modules/.vite/deps/echarts_renderers.js.map +4 -4
  172. package/templates/web/node_modules/.vite/deps/exceljs.js +25762 -0
  173. package/templates/web/node_modules/.vite/deps/exceljs.js.map +7 -0
  174. package/templates/web/node_modules/.vite/deps/lodash.js +28 -10
  175. package/templates/web/node_modules/.vite/deps/lodash.js.map +3 -3
  176. package/templates/web/node_modules/.vite/deps/path-browserify.js +1 -1
  177. package/templates/web/node_modules/.vite/deps/prop-types.js +1 -1
  178. package/templates/web/node_modules/.vite/deps/qs.js +405 -138
  179. package/templates/web/node_modules/.vite/deps/qs.js.map +4 -4
  180. package/templates/web/node_modules/.vite/deps/react-dom.js +3 -3
  181. package/templates/web/node_modules/.vite/deps/react-dom_client.js +3 -3
  182. package/templates/web/node_modules/.vite/deps/react-router-dom.js +3445 -1283
  183. package/templates/web/node_modules/.vite/deps/react-router-dom.js.map +4 -4
  184. package/templates/web/node_modules/.vite/deps/react.js +2 -2
  185. package/templates/web/node_modules/.vite/deps/react_jsx-dev-runtime.js +2 -2
  186. package/templates/web/node_modules/.vite/deps/recoil.js +3 -3
  187. package/templates/web/src/pages/Login/index.tsx +8 -1
  188. package/templates/web/src/services/api.ts +6 -1
  189. package/templates/web/vite.config.js +5 -5
  190. package/templates/web/dist/assets/index-e6071630.js +0 -1
  191. package/templates/web/dist/assets/index-legacy-028ed5d5.js +0 -1
  192. package/templates/web/node_modules/.vite/deps/chunk-DSEUD2VO.js.map +0 -7
  193. package/templates/web/node_modules/.vite/deps/chunk-PIIG5WB7.js.map +0 -7
  194. package/templates/web/node_modules/.vite/deps/chunk-UIM57Q7Y.js.map +0 -7
  195. package/templates/web/node_modules/.vite/deps/chunk-UX3FVGZU.js.map +0 -7
  196. package/templates/web/node_modules/.vite/deps/xlsx.js +0 -33827
  197. package/templates/web/node_modules/.vite/deps/xlsx.js.map +0 -7
  198. /package/templates/web/node_modules/.vite/deps/{chunk-FADIZLW4.js.map → chunk-3EE4ABTD.js.map} +0 -0
  199. /package/templates/web/node_modules/.vite/deps/{chunk-5JEEJ3ET.js.map → chunk-3KXTUEQ5.js.map} +0 -0
  200. /package/templates/web/node_modules/.vite/deps/{chunk-PCLWPLHU.js.map → chunk-AX2S74EI.js.map} +0 -0
  201. /package/templates/web/node_modules/.vite/deps/{chunk-OTDKR2HU.js.map → chunk-GT2UP6M4.js.map} +0 -0
  202. /package/templates/web/node_modules/.vite/deps/{chunk-5WWUZCGV.js.map → chunk-HM4MQYWN.js.map} +0 -0
  203. /package/templates/web/node_modules/.vite/deps/{chunk-Z4XTF2JV.js.map → chunk-NDUAOA7M.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/SVGPathRebuilder.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/mapStyleToAttrs.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/core.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/cssClassId.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/cssAnimation.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/cssEmphasis.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/graphic.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/domapi.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/patch.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/svg/Painter.js", "../../../../../node_modules/.pnpm/echarts@5.5.0/node_modules/echarts/lib/renderer/installSVGRenderer.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/canvas/Layer.js", "../../../../../node_modules/.pnpm/zrender@5.5.0/node_modules/zrender/lib/canvas/Painter.js", "../../../../../node_modules/.pnpm/echarts@5.5.0/node_modules/echarts/lib/renderer/installCanvasRenderer.js"],
4
- "sourcesContent": ["import { isAroundZero } from './helper.js';\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nvar PI2 = Math.PI * 2;\nvar degree = 180 / PI;\nvar SVGPathRebuilder = (function () {\n function SVGPathRebuilder() {\n }\n SVGPathRebuilder.prototype.reset = function (precision) {\n this._start = true;\n this._d = [];\n this._str = '';\n this._p = Math.pow(10, precision || 4);\n };\n SVGPathRebuilder.prototype.moveTo = function (x, y) {\n this._add('M', x, y);\n };\n SVGPathRebuilder.prototype.lineTo = function (x, y) {\n this._add('L', x, y);\n };\n SVGPathRebuilder.prototype.bezierCurveTo = function (x, y, x2, y2, x3, y3) {\n this._add('C', x, y, x2, y2, x3, y3);\n };\n SVGPathRebuilder.prototype.quadraticCurveTo = function (x, y, x2, y2) {\n this._add('Q', x, y, x2, y2);\n };\n SVGPathRebuilder.prototype.arc = function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this.ellipse(cx, cy, r, r, 0, startAngle, endAngle, anticlockwise);\n };\n SVGPathRebuilder.prototype.ellipse = function (cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise) {\n var dTheta = endAngle - startAngle;\n var clockwise = !anticlockwise;\n var dThetaPositive = Math.abs(dTheta);\n var isCircle = isAroundZero(dThetaPositive - PI2)\n || (clockwise ? dTheta >= PI2 : -dTheta >= PI2);\n var unifiedTheta = dTheta > 0 ? dTheta % PI2 : (dTheta % PI2 + PI2);\n var large = false;\n if (isCircle) {\n large = true;\n }\n else if (isAroundZero(dThetaPositive)) {\n large = false;\n }\n else {\n large = (unifiedTheta >= PI) === !!clockwise;\n }\n var x0 = cx + rx * mathCos(startAngle);\n var y0 = cy + ry * mathSin(startAngle);\n if (this._start) {\n this._add('M', x0, y0);\n }\n var xRot = Math.round(psi * degree);\n if (isCircle) {\n var p = 1 / this._p;\n var dTheta_1 = (clockwise ? 1 : -1) * (PI2 - p);\n this._add('A', rx, ry, xRot, 1, +clockwise, cx + rx * mathCos(startAngle + dTheta_1), cy + ry * mathSin(startAngle + dTheta_1));\n if (p > 1e-2) {\n this._add('A', rx, ry, xRot, 0, +clockwise, x0, y0);\n }\n }\n else {\n var x = cx + rx * mathCos(endAngle);\n var y = cy + ry * mathSin(endAngle);\n this._add('A', rx, ry, xRot, +large, +clockwise, x, y);\n }\n };\n SVGPathRebuilder.prototype.rect = function (x, y, w, h) {\n this._add('M', x, y);\n this._add('l', w, 0);\n this._add('l', 0, h);\n this._add('l', -w, 0);\n this._add('Z');\n };\n SVGPathRebuilder.prototype.closePath = function () {\n if (this._d.length > 0) {\n this._add('Z');\n }\n };\n SVGPathRebuilder.prototype._add = function (cmd, a, b, c, d, e, f, g, h) {\n var vals = [];\n var p = this._p;\n for (var i = 1; i < arguments.length; i++) {\n var val = arguments[i];\n if (isNaN(val)) {\n this._invalid = true;\n return;\n }\n vals.push(Math.round(val * p) / p);\n }\n this._d.push(cmd + vals.join(' '));\n this._start = cmd === 'Z';\n };\n SVGPathRebuilder.prototype.generateStr = function () {\n this._str = this._invalid ? '' : this._d.join('');\n this._d = [];\n };\n SVGPathRebuilder.prototype.getStr = function () {\n return this._str;\n };\n return SVGPathRebuilder;\n}());\nexport default SVGPathRebuilder;\n", "import { DEFAULT_PATH_STYLE } from '../graphic/Path.js';\nimport ZRImage from '../graphic/Image.js';\nimport { getLineDash } from '../canvas/dashStyle.js';\nimport { map } from '../core/util.js';\nimport { normalizeColor } from './helper.js';\nvar NONE = 'none';\nvar mathRound = Math.round;\nfunction pathHasFill(style) {\n var fill = style.fill;\n return fill != null && fill !== NONE;\n}\nfunction pathHasStroke(style) {\n var stroke = style.stroke;\n return stroke != null && stroke !== NONE;\n}\nvar strokeProps = ['lineCap', 'miterLimit', 'lineJoin'];\nvar svgStrokeProps = map(strokeProps, function (prop) { return \"stroke-\" + prop.toLowerCase(); });\nexport default function mapStyleToAttrs(updateAttr, style, el, forceUpdate) {\n var opacity = style.opacity == null ? 1 : style.opacity;\n if (el instanceof ZRImage) {\n updateAttr('opacity', opacity);\n return;\n }\n if (pathHasFill(style)) {\n var fill = normalizeColor(style.fill);\n updateAttr('fill', fill.color);\n var fillOpacity = style.fillOpacity != null\n ? style.fillOpacity * fill.opacity * opacity\n : fill.opacity * opacity;\n if (forceUpdate || fillOpacity < 1) {\n updateAttr('fill-opacity', fillOpacity);\n }\n }\n else {\n updateAttr('fill', NONE);\n }\n if (pathHasStroke(style)) {\n var stroke = normalizeColor(style.stroke);\n updateAttr('stroke', stroke.color);\n var strokeScale = style.strokeNoScale\n ? el.getLineScale()\n : 1;\n var strokeWidth = (strokeScale ? (style.lineWidth || 0) / strokeScale : 0);\n var strokeOpacity = style.strokeOpacity != null\n ? style.strokeOpacity * stroke.opacity * opacity\n : stroke.opacity * opacity;\n var strokeFirst = style.strokeFirst;\n if (forceUpdate || strokeWidth !== 1) {\n updateAttr('stroke-width', strokeWidth);\n }\n if (forceUpdate || strokeFirst) {\n updateAttr('paint-order', strokeFirst ? 'stroke' : 'fill');\n }\n if (forceUpdate || strokeOpacity < 1) {\n updateAttr('stroke-opacity', strokeOpacity);\n }\n if (style.lineDash) {\n var _a = getLineDash(el), lineDash = _a[0], lineDashOffset = _a[1];\n if (lineDash) {\n lineDashOffset = mathRound(lineDashOffset || 0);\n updateAttr('stroke-dasharray', lineDash.join(','));\n if (lineDashOffset || forceUpdate) {\n updateAttr('stroke-dashoffset', lineDashOffset);\n }\n }\n }\n else if (forceUpdate) {\n updateAttr('stroke-dasharray', NONE);\n }\n for (var i = 0; i < strokeProps.length; i++) {\n var propName = strokeProps[i];\n if (forceUpdate || style[propName] !== DEFAULT_PATH_STYLE[propName]) {\n var val = style[propName] || DEFAULT_PATH_STYLE[propName];\n val && updateAttr(svgStrokeProps[i], val);\n }\n }\n }\n else if (forceUpdate) {\n updateAttr('stroke', NONE);\n }\n}\n", "import { keys, map } from '../core/util.js';\nimport { encodeHTML } from '../core/dom.js';\nexport var SVGNS = 'http://www.w3.org/2000/svg';\nexport var XLINKNS = 'http://www.w3.org/1999/xlink';\nexport var XMLNS = 'http://www.w3.org/2000/xmlns/';\nexport var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\nexport var META_DATA_PREFIX = 'ecmeta_';\nexport function createElement(name) {\n return document.createElementNS(SVGNS, name);\n}\n;\nexport function createVNode(tag, key, attrs, children, text) {\n return {\n tag: tag,\n attrs: attrs || {},\n children: children,\n text: text,\n key: key\n };\n}\nfunction createElementOpen(name, attrs) {\n var attrsStr = [];\n if (attrs) {\n for (var key in attrs) {\n var val = attrs[key];\n var part = key;\n if (val === false) {\n continue;\n }\n else if (val !== true && val != null) {\n part += \"=\\\"\" + val + \"\\\"\";\n }\n attrsStr.push(part);\n }\n }\n return \"<\" + name + \" \" + attrsStr.join(' ') + \">\";\n}\nfunction createElementClose(name) {\n return \"</\" + name + \">\";\n}\nexport function vNodeToString(el, opts) {\n opts = opts || {};\n var S = opts.newline ? '\\n' : '';\n function convertElToString(el) {\n var children = el.children, tag = el.tag, attrs = el.attrs, text = el.text;\n return createElementOpen(tag, attrs)\n + (tag !== 'style' ? encodeHTML(text) : text || '')\n + (children ? \"\" + S + map(children, function (child) { return convertElToString(child); }).join(S) + S : '')\n + createElementClose(tag);\n }\n return convertElToString(el);\n}\nexport function getCssString(selectorNodes, animationNodes, opts) {\n opts = opts || {};\n var S = opts.newline ? '\\n' : '';\n var bracketBegin = \" {\" + S;\n var bracketEnd = S + \"}\";\n var selectors = map(keys(selectorNodes), function (className) {\n return className + bracketBegin + map(keys(selectorNodes[className]), function (attrName) {\n return attrName + \":\" + selectorNodes[className][attrName] + \";\";\n }).join(S) + bracketEnd;\n }).join(S);\n var animations = map(keys(animationNodes), function (animationName) {\n return \"@keyframes \" + animationName + bracketBegin + map(keys(animationNodes[animationName]), function (percent) {\n return percent + bracketBegin + map(keys(animationNodes[animationName][percent]), function (attrName) {\n var val = animationNodes[animationName][percent][attrName];\n if (attrName === 'd') {\n val = \"path(\\\"\" + val + \"\\\")\";\n }\n return attrName + \":\" + val + \";\";\n }).join(S) + bracketEnd;\n }).join(S) + bracketEnd;\n }).join(S);\n if (!selectors && !animations) {\n return '';\n }\n return ['<![CDATA[', selectors, animations, ']]>'].join(S);\n}\nexport function createBrushScope(zrId) {\n return {\n zrId: zrId,\n shadowCache: {},\n patternCache: {},\n gradientCache: {},\n clipPathCache: {},\n defs: {},\n cssNodes: {},\n cssAnims: {},\n cssStyleCache: {},\n cssAnimIdx: 0,\n shadowIdx: 0,\n gradientIdx: 0,\n patternIdx: 0,\n clipPathIdx: 0\n };\n}\nexport function createSVGVNode(width, height, children, useViewBox) {\n return createVNode('svg', 'root', {\n 'width': width,\n 'height': height,\n 'xmlns': SVGNS,\n 'xmlns:xlink': XLINKNS,\n 'version': '1.1',\n 'baseProfile': 'full',\n 'viewBox': useViewBox ? \"0 0 \" + width + \" \" + height : false\n }, children);\n}\n", "var cssClassIdx = 0;\nexport function getClassId() {\n return cssClassIdx++;\n}\n", "import { copyTransform } from '../core/Transformable.js';\nimport { createBrushScope } from './core.js';\nimport SVGPathRebuilder from './SVGPathRebuilder.js';\nimport PathProxy from '../core/PathProxy.js';\nimport { getPathPrecision, getSRTTransformString } from './helper.js';\nimport { each, extend, filter, isNumber, isString, keys } from '../core/util.js';\nimport CompoundPath from '../graphic/CompoundPath.js';\nimport { createCubicEasingFunc } from '../animation/cubicEasing.js';\nimport { getClassId } from './cssClassId.js';\nexport var EASING_MAP = {\n cubicIn: '0.32,0,0.67,0',\n cubicOut: '0.33,1,0.68,1',\n cubicInOut: '0.65,0,0.35,1',\n quadraticIn: '0.11,0,0.5,0',\n quadraticOut: '0.5,1,0.89,1',\n quadraticInOut: '0.45,0,0.55,1',\n quarticIn: '0.5,0,0.75,0',\n quarticOut: '0.25,1,0.5,1',\n quarticInOut: '0.76,0,0.24,1',\n quinticIn: '0.64,0,0.78,0',\n quinticOut: '0.22,1,0.36,1',\n quinticInOut: '0.83,0,0.17,1',\n sinusoidalIn: '0.12,0,0.39,0',\n sinusoidalOut: '0.61,1,0.88,1',\n sinusoidalInOut: '0.37,0,0.63,1',\n exponentialIn: '0.7,0,0.84,0',\n exponentialOut: '0.16,1,0.3,1',\n exponentialInOut: '0.87,0,0.13,1',\n circularIn: '0.55,0,1,0.45',\n circularOut: '0,0.55,0.45,1',\n circularInOut: '0.85,0,0.15,1'\n};\nvar transformOriginKey = 'transform-origin';\nfunction buildPathString(el, kfShape, path) {\n var shape = extend({}, el.shape);\n extend(shape, kfShape);\n el.buildPath(path, shape);\n var svgPathBuilder = new SVGPathRebuilder();\n svgPathBuilder.reset(getPathPrecision(el));\n path.rebuildPath(svgPathBuilder, 1);\n svgPathBuilder.generateStr();\n return svgPathBuilder.getStr();\n}\nfunction setTransformOrigin(target, transform) {\n var originX = transform.originX, originY = transform.originY;\n if (originX || originY) {\n target[transformOriginKey] = originX + \"px \" + originY + \"px\";\n }\n}\nexport var ANIMATE_STYLE_MAP = {\n fill: 'fill',\n opacity: 'opacity',\n lineWidth: 'stroke-width',\n lineDashOffset: 'stroke-dashoffset'\n};\nfunction addAnimation(cssAnim, scope) {\n var animationName = scope.zrId + '-ani-' + scope.cssAnimIdx++;\n scope.cssAnims[animationName] = cssAnim;\n return animationName;\n}\nfunction createCompoundPathCSSAnimation(el, attrs, scope) {\n var paths = el.shape.paths;\n var composedAnim = {};\n var cssAnimationCfg;\n var cssAnimationName;\n each(paths, function (path) {\n var subScope = createBrushScope(scope.zrId);\n subScope.animation = true;\n createCSSAnimation(path, {}, subScope, true);\n var cssAnims = subScope.cssAnims;\n var cssNodes = subScope.cssNodes;\n var animNames = keys(cssAnims);\n var len = animNames.length;\n if (!len) {\n return;\n }\n cssAnimationName = animNames[len - 1];\n var lastAnim = cssAnims[cssAnimationName];\n for (var percent in lastAnim) {\n var kf = lastAnim[percent];\n composedAnim[percent] = composedAnim[percent] || { d: '' };\n composedAnim[percent].d += kf.d || '';\n }\n for (var className in cssNodes) {\n var val = cssNodes[className].animation;\n if (val.indexOf(cssAnimationName) >= 0) {\n cssAnimationCfg = val;\n }\n }\n });\n if (!cssAnimationCfg) {\n return;\n }\n attrs.d = false;\n var animationName = addAnimation(composedAnim, scope);\n return cssAnimationCfg.replace(cssAnimationName, animationName);\n}\nfunction getEasingFunc(easing) {\n return isString(easing)\n ? EASING_MAP[easing]\n ? \"cubic-bezier(\" + EASING_MAP[easing] + \")\"\n : createCubicEasingFunc(easing) ? easing : ''\n : '';\n}\nexport function createCSSAnimation(el, attrs, scope, onlyShape) {\n var animators = el.animators;\n var len = animators.length;\n var cssAnimations = [];\n if (el instanceof CompoundPath) {\n var animationCfg = createCompoundPathCSSAnimation(el, attrs, scope);\n if (animationCfg) {\n cssAnimations.push(animationCfg);\n }\n else if (!len) {\n return;\n }\n }\n else if (!len) {\n return;\n }\n var groupAnimators = {};\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n var cfgArr = [animator.getMaxTime() / 1000 + 's'];\n var easing = getEasingFunc(animator.getClip().easing);\n var delay = animator.getDelay();\n if (easing) {\n cfgArr.push(easing);\n }\n else {\n cfgArr.push('linear');\n }\n if (delay) {\n cfgArr.push(delay / 1000 + 's');\n }\n if (animator.getLoop()) {\n cfgArr.push('infinite');\n }\n var cfg = cfgArr.join(' ');\n groupAnimators[cfg] = groupAnimators[cfg] || [cfg, []];\n groupAnimators[cfg][1].push(animator);\n }\n function createSingleCSSAnimation(groupAnimator) {\n var animators = groupAnimator[1];\n var len = animators.length;\n var transformKfs = {};\n var shapeKfs = {};\n var finalKfs = {};\n var animationTimingFunctionAttrName = 'animation-timing-function';\n function saveAnimatorTrackToCssKfs(animator, cssKfs, toCssAttrName) {\n var tracks = animator.getTracks();\n var maxTime = animator.getMaxTime();\n for (var k = 0; k < tracks.length; k++) {\n var track = tracks[k];\n if (track.needsAnimate()) {\n var kfs = track.keyframes;\n var attrName = track.propName;\n toCssAttrName && (attrName = toCssAttrName(attrName));\n if (attrName) {\n for (var i = 0; i < kfs.length; i++) {\n var kf = kfs[i];\n var percent = Math.round(kf.time / maxTime * 100) + '%';\n var kfEasing = getEasingFunc(kf.easing);\n var rawValue = kf.rawValue;\n if (isString(rawValue) || isNumber(rawValue)) {\n cssKfs[percent] = cssKfs[percent] || {};\n cssKfs[percent][attrName] = kf.rawValue;\n if (kfEasing) {\n cssKfs[percent][animationTimingFunctionAttrName] = kfEasing;\n }\n }\n }\n }\n }\n }\n }\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n var targetProp = animator.targetName;\n if (!targetProp) {\n !onlyShape && saveAnimatorTrackToCssKfs(animator, transformKfs);\n }\n else if (targetProp === 'shape') {\n saveAnimatorTrackToCssKfs(animator, shapeKfs);\n }\n }\n for (var percent in transformKfs) {\n var transform = {};\n copyTransform(transform, el);\n extend(transform, transformKfs[percent]);\n var str = getSRTTransformString(transform);\n var timingFunction = transformKfs[percent][animationTimingFunctionAttrName];\n finalKfs[percent] = str ? {\n transform: str\n } : {};\n setTransformOrigin(finalKfs[percent], transform);\n if (timingFunction) {\n finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;\n }\n }\n ;\n var path;\n var canAnimateShape = true;\n for (var percent in shapeKfs) {\n finalKfs[percent] = finalKfs[percent] || {};\n var isFirst = !path;\n var timingFunction = shapeKfs[percent][animationTimingFunctionAttrName];\n if (isFirst) {\n path = new PathProxy();\n }\n var len_1 = path.len();\n path.reset();\n finalKfs[percent].d = buildPathString(el, shapeKfs[percent], path);\n var newLen = path.len();\n if (!isFirst && len_1 !== newLen) {\n canAnimateShape = false;\n break;\n }\n if (timingFunction) {\n finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;\n }\n }\n ;\n if (!canAnimateShape) {\n for (var percent in finalKfs) {\n delete finalKfs[percent].d;\n }\n }\n if (!onlyShape) {\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n var targetProp = animator.targetName;\n if (targetProp === 'style') {\n saveAnimatorTrackToCssKfs(animator, finalKfs, function (propName) { return ANIMATE_STYLE_MAP[propName]; });\n }\n }\n }\n var percents = keys(finalKfs);\n var allTransformOriginSame = true;\n var transformOrigin;\n for (var i = 1; i < percents.length; i++) {\n var p0 = percents[i - 1];\n var p1 = percents[i];\n if (finalKfs[p0][transformOriginKey] !== finalKfs[p1][transformOriginKey]) {\n allTransformOriginSame = false;\n break;\n }\n transformOrigin = finalKfs[p0][transformOriginKey];\n }\n if (allTransformOriginSame && transformOrigin) {\n for (var percent in finalKfs) {\n if (finalKfs[percent][transformOriginKey]) {\n delete finalKfs[percent][transformOriginKey];\n }\n }\n attrs[transformOriginKey] = transformOrigin;\n }\n if (filter(percents, function (percent) { return keys(finalKfs[percent]).length > 0; }).length) {\n var animationName = addAnimation(finalKfs, scope);\n return animationName + \" \" + groupAnimator[0] + \" both\";\n }\n }\n for (var key in groupAnimators) {\n var animationCfg = createSingleCSSAnimation(groupAnimators[key]);\n if (animationCfg) {\n cssAnimations.push(animationCfg);\n }\n }\n if (cssAnimations.length) {\n var className = scope.zrId + '-cls-' + getClassId();\n scope.cssNodes['.' + className] = {\n animation: cssAnimations.join(',')\n };\n attrs[\"class\"] = className;\n }\n}\n", "import { liftColor } from '../tool/color.js';\nimport { getClassId } from './cssClassId.js';\nexport function createCSSEmphasis(el, attrs, scope) {\n if (!el.ignore) {\n if (el.isSilent()) {\n var style = {\n 'pointer-events': 'none'\n };\n setClassAttribute(style, attrs, scope, true);\n }\n else {\n var emphasisStyle = el.states.emphasis && el.states.emphasis.style\n ? el.states.emphasis.style\n : {};\n var fill = emphasisStyle.fill;\n if (!fill) {\n var normalFill = el.style && el.style.fill;\n var selectFill = el.states.select\n && el.states.select.style\n && el.states.select.style.fill;\n var fromFill = el.currentStates.indexOf('select') >= 0\n ? (selectFill || normalFill)\n : normalFill;\n if (fromFill) {\n fill = liftColor(fromFill);\n }\n }\n var lineWidth = emphasisStyle.lineWidth;\n if (lineWidth) {\n var scaleX = (!emphasisStyle.strokeNoScale && el.transform)\n ? el.transform[0]\n : 1;\n lineWidth = lineWidth / scaleX;\n }\n var style = {\n cursor: 'pointer'\n };\n if (fill) {\n style.fill = fill;\n }\n if (emphasisStyle.stroke) {\n style.stroke = emphasisStyle.stroke;\n }\n if (lineWidth) {\n style['stroke-width'] = lineWidth;\n }\n setClassAttribute(style, attrs, scope, true);\n }\n }\n}\nfunction setClassAttribute(style, attrs, scope, withHover) {\n var styleKey = JSON.stringify(style);\n var className = scope.cssStyleCache[styleKey];\n if (!className) {\n className = scope.zrId + '-cls-' + getClassId();\n scope.cssStyleCache[styleKey] = className;\n scope.cssNodes['.' + className + (withHover ? ':hover' : '')] = style;\n }\n attrs[\"class\"] = attrs[\"class\"] ? (attrs[\"class\"] + ' ' + className) : className;\n}\n", "import { adjustTextY, getIdURL, getMatrixStr, getPathPrecision, getShadowKey, getSRTTransformString, hasShadow, isAroundZero, isGradient, isImagePattern, isLinearGradient, isPattern, isRadialGradient, normalizeColor, round4, TEXT_ALIGN_TO_ANCHOR } from './helper.js';\nimport Path from '../graphic/Path.js';\nimport ZRImage from '../graphic/Image.js';\nimport { getLineHeight } from '../contain/text.js';\nimport TSpan from '../graphic/TSpan.js';\nimport SVGPathRebuilder from './SVGPathRebuilder.js';\nimport mapStyleToAttrs from './mapStyleToAttrs.js';\nimport { createVNode, vNodeToString, META_DATA_PREFIX } from './core.js';\nimport { assert, clone, isFunction, isString, logError, map, retrieve2 } from '../core/util.js';\nimport { createOrUpdateImage } from '../graphic/helper/image.js';\nimport { createCSSAnimation } from './cssAnimation.js';\nimport { hasSeparateFont, parseFontSize } from '../graphic/Text.js';\nimport { DEFAULT_FONT, DEFAULT_FONT_FAMILY } from '../core/platform.js';\nimport { createCSSEmphasis } from './cssEmphasis.js';\nimport { getElementSSRData } from '../zrender.js';\nvar round = Math.round;\nfunction isImageLike(val) {\n return val && isString(val.src);\n}\nfunction isCanvasLike(val) {\n return val && isFunction(val.toDataURL);\n}\nfunction setStyleAttrs(attrs, style, el, scope) {\n mapStyleToAttrs(function (key, val) {\n var isFillStroke = key === 'fill' || key === 'stroke';\n if (isFillStroke && isGradient(val)) {\n setGradient(style, attrs, key, scope);\n }\n else if (isFillStroke && isPattern(val)) {\n setPattern(el, attrs, key, scope);\n }\n else if (isFillStroke && val === 'none') {\n attrs[key] = 'transparent';\n }\n else {\n attrs[key] = val;\n }\n }, style, el, false);\n setShadow(el, attrs, scope);\n}\nfunction setMetaData(attrs, el) {\n var metaData = getElementSSRData(el);\n if (metaData) {\n metaData.each(function (val, key) {\n val != null && (attrs[(META_DATA_PREFIX + key).toLowerCase()] = val + '');\n });\n if (el.isSilent()) {\n attrs[META_DATA_PREFIX + 'silent'] = 'true';\n }\n }\n}\nfunction noRotateScale(m) {\n return isAroundZero(m[0] - 1)\n && isAroundZero(m[1])\n && isAroundZero(m[2])\n && isAroundZero(m[3] - 1);\n}\nfunction noTranslate(m) {\n return isAroundZero(m[4]) && isAroundZero(m[5]);\n}\nfunction setTransform(attrs, m, compress) {\n if (m && !(noTranslate(m) && noRotateScale(m))) {\n var mul = compress ? 10 : 1e4;\n attrs.transform = noRotateScale(m)\n ? \"translate(\" + round(m[4] * mul) / mul + \" \" + round(m[5] * mul) / mul + \")\" : getMatrixStr(m);\n }\n}\nfunction convertPolyShape(shape, attrs, mul) {\n var points = shape.points;\n var strArr = [];\n for (var i = 0; i < points.length; i++) {\n strArr.push(round(points[i][0] * mul) / mul);\n strArr.push(round(points[i][1] * mul) / mul);\n }\n attrs.points = strArr.join(' ');\n}\nfunction validatePolyShape(shape) {\n return !shape.smooth;\n}\nfunction createAttrsConvert(desc) {\n var normalizedDesc = map(desc, function (item) {\n return (typeof item === 'string' ? [item, item] : item);\n });\n return function (shape, attrs, mul) {\n for (var i = 0; i < normalizedDesc.length; i++) {\n var item = normalizedDesc[i];\n var val = shape[item[0]];\n if (val != null) {\n attrs[item[1]] = round(val * mul) / mul;\n }\n }\n };\n}\nvar builtinShapesDef = {\n circle: [createAttrsConvert(['cx', 'cy', 'r'])],\n polyline: [convertPolyShape, validatePolyShape],\n polygon: [convertPolyShape, validatePolyShape]\n};\nfunction hasShapeAnimation(el) {\n var animators = el.animators;\n for (var i = 0; i < animators.length; i++) {\n if (animators[i].targetName === 'shape') {\n return true;\n }\n }\n return false;\n}\nexport function brushSVGPath(el, scope) {\n var style = el.style;\n var shape = el.shape;\n var builtinShpDef = builtinShapesDef[el.type];\n var attrs = {};\n var needsAnimate = scope.animation;\n var svgElType = 'path';\n var strokePercent = el.style.strokePercent;\n var precision = (scope.compress && getPathPrecision(el)) || 4;\n if (builtinShpDef\n && !scope.willUpdate\n && !(builtinShpDef[1] && !builtinShpDef[1](shape))\n && !(needsAnimate && hasShapeAnimation(el))\n && !(strokePercent < 1)) {\n svgElType = el.type;\n var mul = Math.pow(10, precision);\n builtinShpDef[0](shape, attrs, mul);\n }\n else {\n var needBuildPath = !el.path || el.shapeChanged();\n if (!el.path) {\n el.createPathProxy();\n }\n var path = el.path;\n if (needBuildPath) {\n path.beginPath();\n el.buildPath(path, el.shape);\n el.pathUpdated();\n }\n var pathVersion = path.getVersion();\n var elExt = el;\n var svgPathBuilder = elExt.__svgPathBuilder;\n if (elExt.__svgPathVersion !== pathVersion\n || !svgPathBuilder\n || strokePercent !== elExt.__svgPathStrokePercent) {\n if (!svgPathBuilder) {\n svgPathBuilder = elExt.__svgPathBuilder = new SVGPathRebuilder();\n }\n svgPathBuilder.reset(precision);\n path.rebuildPath(svgPathBuilder, strokePercent);\n svgPathBuilder.generateStr();\n elExt.__svgPathVersion = pathVersion;\n elExt.__svgPathStrokePercent = strokePercent;\n }\n attrs.d = svgPathBuilder.getStr();\n }\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n setMetaData(attrs, el);\n scope.animation && createCSSAnimation(el, attrs, scope);\n scope.emphasis && createCSSEmphasis(el, attrs, scope);\n return createVNode(svgElType, el.id + '', attrs);\n}\nexport function brushSVGImage(el, scope) {\n var style = el.style;\n var image = style.image;\n if (image && !isString(image)) {\n if (isImageLike(image)) {\n image = image.src;\n }\n else if (isCanvasLike(image)) {\n image = image.toDataURL();\n }\n }\n if (!image) {\n return;\n }\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var attrs = {\n href: image,\n width: dw,\n height: dh\n };\n if (x) {\n attrs.x = x;\n }\n if (y) {\n attrs.y = y;\n }\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n setMetaData(attrs, el);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode('image', el.id + '', attrs);\n}\n;\nexport function brushSVGTSpan(el, scope) {\n var style = el.style;\n var text = style.text;\n text != null && (text += '');\n if (!text || isNaN(style.x) || isNaN(style.y)) {\n return;\n }\n var font = style.font || DEFAULT_FONT;\n var x = style.x || 0;\n var y = adjustTextY(style.y || 0, getLineHeight(font), style.textBaseline);\n var textAlign = TEXT_ALIGN_TO_ANCHOR[style.textAlign]\n || style.textAlign;\n var attrs = {\n 'dominant-baseline': 'central',\n 'text-anchor': textAlign\n };\n if (hasSeparateFont(style)) {\n var separatedFontStr = '';\n var fontStyle = style.fontStyle;\n var fontSize = parseFontSize(style.fontSize);\n if (!parseFloat(fontSize)) {\n return;\n }\n var fontFamily = style.fontFamily || DEFAULT_FONT_FAMILY;\n var fontWeight = style.fontWeight;\n separatedFontStr += \"font-size:\" + fontSize + \";font-family:\" + fontFamily + \";\";\n if (fontStyle && fontStyle !== 'normal') {\n separatedFontStr += \"font-style:\" + fontStyle + \";\";\n }\n if (fontWeight && fontWeight !== 'normal') {\n separatedFontStr += \"font-weight:\" + fontWeight + \";\";\n }\n attrs.style = separatedFontStr;\n }\n else {\n attrs.style = \"font: \" + font;\n }\n if (text.match(/\\s/)) {\n attrs['xml:space'] = 'preserve';\n }\n if (x) {\n attrs.x = x;\n }\n if (y) {\n attrs.y = y;\n }\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n setMetaData(attrs, el);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode('text', el.id + '', attrs, undefined, text);\n}\nexport function brush(el, scope) {\n if (el instanceof Path) {\n return brushSVGPath(el, scope);\n }\n else if (el instanceof ZRImage) {\n return brushSVGImage(el, scope);\n }\n else if (el instanceof TSpan) {\n return brushSVGTSpan(el, scope);\n }\n}\nfunction setShadow(el, attrs, scope) {\n var style = el.style;\n if (hasShadow(style)) {\n var shadowKey = getShadowKey(el);\n var shadowCache = scope.shadowCache;\n var shadowId = shadowCache[shadowKey];\n if (!shadowId) {\n var globalScale = el.getGlobalScale();\n var scaleX = globalScale[0];\n var scaleY = globalScale[1];\n if (!scaleX || !scaleY) {\n return;\n }\n var offsetX = style.shadowOffsetX || 0;\n var offsetY = style.shadowOffsetY || 0;\n var blur_1 = style.shadowBlur;\n var _a = normalizeColor(style.shadowColor), opacity = _a.opacity, color = _a.color;\n var stdDx = blur_1 / 2 / scaleX;\n var stdDy = blur_1 / 2 / scaleY;\n var stdDeviation = stdDx + ' ' + stdDy;\n shadowId = scope.zrId + '-s' + scope.shadowIdx++;\n scope.defs[shadowId] = createVNode('filter', shadowId, {\n 'id': shadowId,\n 'x': '-100%',\n 'y': '-100%',\n 'width': '300%',\n 'height': '300%'\n }, [\n createVNode('feDropShadow', '', {\n 'dx': offsetX / scaleX,\n 'dy': offsetY / scaleY,\n 'stdDeviation': stdDeviation,\n 'flood-color': color,\n 'flood-opacity': opacity\n })\n ]);\n shadowCache[shadowKey] = shadowId;\n }\n attrs.filter = getIdURL(shadowId);\n }\n}\nexport function setGradient(style, attrs, target, scope) {\n var val = style[target];\n var gradientTag;\n var gradientAttrs = {\n 'gradientUnits': val.global\n ? 'userSpaceOnUse'\n : 'objectBoundingBox'\n };\n if (isLinearGradient(val)) {\n gradientTag = 'linearGradient';\n gradientAttrs.x1 = val.x;\n gradientAttrs.y1 = val.y;\n gradientAttrs.x2 = val.x2;\n gradientAttrs.y2 = val.y2;\n }\n else if (isRadialGradient(val)) {\n gradientTag = 'radialGradient';\n gradientAttrs.cx = retrieve2(val.x, 0.5);\n gradientAttrs.cy = retrieve2(val.y, 0.5);\n gradientAttrs.r = retrieve2(val.r, 0.5);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n logError('Illegal gradient type.');\n }\n return;\n }\n var colors = val.colorStops;\n var colorStops = [];\n for (var i = 0, len = colors.length; i < len; ++i) {\n var offset = round4(colors[i].offset) * 100 + '%';\n var stopColor = colors[i].color;\n var _a = normalizeColor(stopColor), color = _a.color, opacity = _a.opacity;\n var stopsAttrs = {\n 'offset': offset\n };\n stopsAttrs['stop-color'] = color;\n if (opacity < 1) {\n stopsAttrs['stop-opacity'] = opacity;\n }\n colorStops.push(createVNode('stop', i + '', stopsAttrs));\n }\n var gradientVNode = createVNode(gradientTag, '', gradientAttrs, colorStops);\n var gradientKey = vNodeToString(gradientVNode);\n var gradientCache = scope.gradientCache;\n var gradientId = gradientCache[gradientKey];\n if (!gradientId) {\n gradientId = scope.zrId + '-g' + scope.gradientIdx++;\n gradientCache[gradientKey] = gradientId;\n gradientAttrs.id = gradientId;\n scope.defs[gradientId] = createVNode(gradientTag, gradientId, gradientAttrs, colorStops);\n }\n attrs[target] = getIdURL(gradientId);\n}\nexport function setPattern(el, attrs, target, scope) {\n var val = el.style[target];\n var boundingRect = el.getBoundingRect();\n var patternAttrs = {};\n var repeat = val.repeat;\n var noRepeat = repeat === 'no-repeat';\n var repeatX = repeat === 'repeat-x';\n var repeatY = repeat === 'repeat-y';\n var child;\n if (isImagePattern(val)) {\n var imageWidth_1 = val.imageWidth;\n var imageHeight_1 = val.imageHeight;\n var imageSrc = void 0;\n var patternImage = val.image;\n if (isString(patternImage)) {\n imageSrc = patternImage;\n }\n else if (isImageLike(patternImage)) {\n imageSrc = patternImage.src;\n }\n else if (isCanvasLike(patternImage)) {\n imageSrc = patternImage.toDataURL();\n }\n if (typeof Image === 'undefined') {\n var errMsg = 'Image width/height must been given explictly in svg-ssr renderer.';\n assert(imageWidth_1, errMsg);\n assert(imageHeight_1, errMsg);\n }\n else if (imageWidth_1 == null || imageHeight_1 == null) {\n var setSizeToVNode_1 = function (vNode, img) {\n if (vNode) {\n var svgEl = vNode.elm;\n var width = imageWidth_1 || img.width;\n var height = imageHeight_1 || img.height;\n if (vNode.tag === 'pattern') {\n if (repeatX) {\n height = 1;\n width /= boundingRect.width;\n }\n else if (repeatY) {\n width = 1;\n height /= boundingRect.height;\n }\n }\n vNode.attrs.width = width;\n vNode.attrs.height = height;\n if (svgEl) {\n svgEl.setAttribute('width', width);\n svgEl.setAttribute('height', height);\n }\n }\n };\n var createdImage = createOrUpdateImage(imageSrc, null, el, function (img) {\n noRepeat || setSizeToVNode_1(patternVNode, img);\n setSizeToVNode_1(child, img);\n });\n if (createdImage && createdImage.width && createdImage.height) {\n imageWidth_1 = imageWidth_1 || createdImage.width;\n imageHeight_1 = imageHeight_1 || createdImage.height;\n }\n }\n child = createVNode('image', 'img', {\n href: imageSrc,\n width: imageWidth_1,\n height: imageHeight_1\n });\n patternAttrs.width = imageWidth_1;\n patternAttrs.height = imageHeight_1;\n }\n else if (val.svgElement) {\n child = clone(val.svgElement);\n patternAttrs.width = val.svgWidth;\n patternAttrs.height = val.svgHeight;\n }\n if (!child) {\n return;\n }\n var patternWidth;\n var patternHeight;\n if (noRepeat) {\n patternWidth = patternHeight = 1;\n }\n else if (repeatX) {\n patternHeight = 1;\n patternWidth = patternAttrs.width / boundingRect.width;\n }\n else if (repeatY) {\n patternWidth = 1;\n patternHeight = patternAttrs.height / boundingRect.height;\n }\n else {\n patternAttrs.patternUnits = 'userSpaceOnUse';\n }\n if (patternWidth != null && !isNaN(patternWidth)) {\n patternAttrs.width = patternWidth;\n }\n if (patternHeight != null && !isNaN(patternHeight)) {\n patternAttrs.height = patternHeight;\n }\n var patternTransform = getSRTTransformString(val);\n patternTransform && (patternAttrs.patternTransform = patternTransform);\n var patternVNode = createVNode('pattern', '', patternAttrs, [child]);\n var patternKey = vNodeToString(patternVNode);\n var patternCache = scope.patternCache;\n var patternId = patternCache[patternKey];\n if (!patternId) {\n patternId = scope.zrId + '-p' + scope.patternIdx++;\n patternCache[patternKey] = patternId;\n patternAttrs.id = patternId;\n patternVNode = scope.defs[patternId] = createVNode('pattern', patternId, patternAttrs, [child]);\n }\n attrs[target] = getIdURL(patternId);\n}\nexport function setClipPath(clipPath, attrs, scope) {\n var clipPathCache = scope.clipPathCache, defs = scope.defs;\n var clipPathId = clipPathCache[clipPath.id];\n if (!clipPathId) {\n clipPathId = scope.zrId + '-c' + scope.clipPathIdx++;\n var clipPathAttrs = {\n id: clipPathId\n };\n clipPathCache[clipPath.id] = clipPathId;\n defs[clipPathId] = createVNode('clipPath', clipPathId, clipPathAttrs, [brushSVGPath(clipPath, scope)]);\n }\n attrs['clip-path'] = getIdURL(clipPathId);\n}\n", "export function createTextNode(text) {\n return document.createTextNode(text);\n}\nexport function createComment(text) {\n return document.createComment(text);\n}\nexport function insertBefore(parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\nexport function removeChild(node, child) {\n node.removeChild(child);\n}\nexport function appendChild(node, child) {\n node.appendChild(child);\n}\nexport function parentNode(node) {\n return node.parentNode;\n}\nexport function nextSibling(node) {\n return node.nextSibling;\n}\nexport function tagName(elm) {\n return elm.tagName;\n}\nexport function setTextContent(node, text) {\n node.textContent = text;\n}\nexport function getTextContent(node) {\n return node.textContent;\n}\nexport function isElement(node) {\n return node.nodeType === 1;\n}\nexport function isText(node) {\n return node.nodeType === 3;\n}\nexport function isComment(node) {\n return node.nodeType === 8;\n}\n", "import { isArray, isObject } from '../core/util.js';\nimport { createElement, createVNode, XMLNS, XML_NAMESPACE, XLINKNS } from './core.js';\nimport * as api from './domapi.js';\nvar colonChar = 58;\nvar xChar = 120;\nvar emptyNode = createVNode('', '');\nfunction isUndef(s) {\n return s === undefined;\n}\nfunction isDef(s) {\n return s !== undefined;\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var map = {};\n for (var i = beginIdx; i <= endIdx; ++i) {\n var key = children[i].key;\n if (key !== undefined) {\n if (process.env.NODE_ENV !== 'production') {\n if (map[key] != null) {\n console.error(\"Duplicate key \" + key);\n }\n }\n map[key] = i;\n }\n }\n return map;\n}\nfunction sameVnode(vnode1, vnode2) {\n var isSameKey = vnode1.key === vnode2.key;\n var isSameTag = vnode1.tag === vnode2.tag;\n return isSameTag && isSameKey;\n}\nfunction createElm(vnode) {\n var i;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n var elm = (vnode.elm = createElement(tag));\n updateAttrs(emptyNode, vnode);\n if (isArray(children)) {\n for (i = 0; i < children.length; ++i) {\n var ch = children[i];\n if (ch != null) {\n api.appendChild(elm, createElm(ch));\n }\n }\n }\n else if (isDef(vnode.text) && !isObject(vnode.text)) {\n api.appendChild(elm, api.createTextNode(vnode.text));\n }\n }\n else {\n vnode.elm = api.createTextNode(vnode.text);\n }\n return vnode.elm;\n}\nfunction addVnodes(parentElm, before, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n api.insertBefore(parentElm, createElm(ch), before);\n }\n }\n}\nfunction removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n if (isDef(ch.tag)) {\n var parent_1 = api.parentNode(ch.elm);\n api.removeChild(parent_1, ch.elm);\n }\n else {\n api.removeChild(parentElm, ch.elm);\n }\n }\n }\n}\nexport function updateAttrs(oldVnode, vnode) {\n var key;\n var elm = vnode.elm;\n var oldAttrs = oldVnode && oldVnode.attrs || {};\n var attrs = vnode.attrs || {};\n if (oldAttrs === attrs) {\n return;\n }\n for (key in attrs) {\n var cur = attrs[key];\n var old = oldAttrs[key];\n if (old !== cur) {\n if (cur === true) {\n elm.setAttribute(key, '');\n }\n else if (cur === false) {\n elm.removeAttribute(key);\n }\n else {\n if (key === 'style') {\n elm.style.cssText = cur;\n }\n else if (key.charCodeAt(0) !== xChar) {\n elm.setAttribute(key, cur);\n }\n else if (key === 'xmlns:xlink' || key === 'xmlns') {\n elm.setAttributeNS(XMLNS, key, cur);\n }\n else if (key.charCodeAt(3) === colonChar) {\n elm.setAttributeNS(XML_NAMESPACE, key, cur);\n }\n else if (key.charCodeAt(5) === colonChar) {\n elm.setAttributeNS(XLINKNS, key, cur);\n }\n else {\n elm.setAttribute(key, cur);\n }\n }\n }\n }\n for (key in oldAttrs) {\n if (!(key in attrs)) {\n elm.removeAttribute(key);\n }\n }\n}\nfunction updateChildren(parentElm, oldCh, newCh) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx;\n var idxInOld;\n var elmToMove;\n var before;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newEndVnode)) {\n patchVnode(oldStartVnode, newEndVnode);\n api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldEndVnode, newStartVnode)) {\n patchVnode(oldEndVnode, newStartVnode);\n api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n if (isUndef(oldKeyToIdx)) {\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n }\n idxInOld = oldKeyToIdx[newStartVnode.key];\n if (isUndef(idxInOld)) {\n api.insertBefore(parentElm, createElm(newStartVnode), oldStartVnode.elm);\n }\n else {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.tag !== newStartVnode.tag) {\n api.insertBefore(parentElm, createElm(newStartVnode), oldStartVnode.elm);\n }\n else {\n patchVnode(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n if (oldStartIdx > oldEndIdx) {\n before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx);\n }\n else {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n}\nfunction patchVnode(oldVnode, vnode) {\n var elm = (vnode.elm = oldVnode.elm);\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (oldVnode === vnode) {\n return;\n }\n updateAttrs(oldVnode, vnode);\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) {\n updateChildren(elm, oldCh, ch);\n }\n }\n else if (isDef(ch)) {\n if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n addVnodes(elm, null, ch, 0, ch.length - 1);\n }\n else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n else if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n }\n else if (oldVnode.text !== vnode.text) {\n if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n api.setTextContent(elm, vnode.text);\n }\n}\nexport default function patch(oldVnode, vnode) {\n if (sameVnode(oldVnode, vnode)) {\n patchVnode(oldVnode, vnode);\n }\n else {\n var elm = oldVnode.elm;\n var parent_2 = api.parentNode(elm);\n createElm(vnode);\n if (parent_2 !== null) {\n api.insertBefore(parent_2, vnode.elm, api.nextSibling(elm));\n removeVnodes(parent_2, [oldVnode], 0, 0);\n }\n }\n return vnode;\n}\n", "import { brush, setClipPath, setGradient, setPattern } from './graphic.js';\nimport { createElement, createVNode, vNodeToString, getCssString, createBrushScope, createSVGVNode } from './core.js';\nimport { normalizeColor, encodeBase64, isGradient, isPattern } from './helper.js';\nimport { extend, keys, logError, map, noop, retrieve2 } from '../core/util.js';\nimport patch, { updateAttrs } from './patch.js';\nimport { getSize } from '../canvas/helper.js';\nvar svgId = 0;\nvar SVGPainter = (function () {\n function SVGPainter(root, storage, opts) {\n this.type = 'svg';\n this.refreshHover = createMethodNotSupport('refreshHover');\n this.configLayer = createMethodNotSupport('configLayer');\n this.storage = storage;\n this._opts = opts = extend({}, opts);\n this.root = root;\n this._id = 'zr' + svgId++;\n this._oldVNode = createSVGVNode(opts.width, opts.height);\n if (root && !opts.ssr) {\n var viewport = this._viewport = document.createElement('div');\n viewport.style.cssText = 'position:relative;overflow:hidden';\n var svgDom = this._svgDom = this._oldVNode.elm = createElement('svg');\n updateAttrs(null, this._oldVNode);\n viewport.appendChild(svgDom);\n root.appendChild(viewport);\n }\n this.resize(opts.width, opts.height);\n }\n SVGPainter.prototype.getType = function () {\n return this.type;\n };\n SVGPainter.prototype.getViewportRoot = function () {\n return this._viewport;\n };\n SVGPainter.prototype.getViewportRootOffset = function () {\n var viewportRoot = this.getViewportRoot();\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n };\n SVGPainter.prototype.getSvgDom = function () {\n return this._svgDom;\n };\n SVGPainter.prototype.refresh = function () {\n if (this.root) {\n var vnode = this.renderToVNode({\n willUpdate: true\n });\n vnode.attrs.style = 'position:absolute;left:0;top:0;user-select:none';\n patch(this._oldVNode, vnode);\n this._oldVNode = vnode;\n }\n };\n SVGPainter.prototype.renderOneToVNode = function (el) {\n return brush(el, createBrushScope(this._id));\n };\n SVGPainter.prototype.renderToVNode = function (opts) {\n opts = opts || {};\n var list = this.storage.getDisplayList(true);\n var width = this._width;\n var height = this._height;\n var scope = createBrushScope(this._id);\n scope.animation = opts.animation;\n scope.willUpdate = opts.willUpdate;\n scope.compress = opts.compress;\n scope.emphasis = opts.emphasis;\n var children = [];\n var bgVNode = this._bgVNode = createBackgroundVNode(width, height, this._backgroundColor, scope);\n bgVNode && children.push(bgVNode);\n var mainVNode = !opts.compress\n ? (this._mainVNode = createVNode('g', 'main', {}, [])) : null;\n this._paintList(list, scope, mainVNode ? mainVNode.children : children);\n mainVNode && children.push(mainVNode);\n var defs = map(keys(scope.defs), function (id) { return scope.defs[id]; });\n if (defs.length) {\n children.push(createVNode('defs', 'defs', {}, defs));\n }\n if (opts.animation) {\n var animationCssStr = getCssString(scope.cssNodes, scope.cssAnims, { newline: true });\n if (animationCssStr) {\n var styleNode = createVNode('style', 'stl', {}, [], animationCssStr);\n children.push(styleNode);\n }\n }\n return createSVGVNode(width, height, children, opts.useViewBox);\n };\n SVGPainter.prototype.renderToString = function (opts) {\n opts = opts || {};\n return vNodeToString(this.renderToVNode({\n animation: retrieve2(opts.cssAnimation, true),\n emphasis: retrieve2(opts.cssEmphasis, true),\n willUpdate: false,\n compress: true,\n useViewBox: retrieve2(opts.useViewBox, true)\n }), { newline: true });\n };\n SVGPainter.prototype.setBackgroundColor = function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n };\n SVGPainter.prototype.getSvgRoot = function () {\n return this._mainVNode && this._mainVNode.elm;\n };\n SVGPainter.prototype._paintList = function (list, scope, out) {\n var listLen = list.length;\n var clipPathsGroupsStack = [];\n var clipPathsGroupsStackDepth = 0;\n var currentClipPathGroup;\n var prevClipPaths;\n var clipGroupNodeIdx = 0;\n for (var i = 0; i < listLen; i++) {\n var displayable = list[i];\n if (!displayable.invisible) {\n var clipPaths = displayable.__clipPaths;\n var len = clipPaths && clipPaths.length || 0;\n var prevLen = prevClipPaths && prevClipPaths.length || 0;\n var lca = void 0;\n for (lca = Math.max(len - 1, prevLen - 1); lca >= 0; lca--) {\n if (clipPaths && prevClipPaths\n && clipPaths[lca] === prevClipPaths[lca]) {\n break;\n }\n }\n for (var i_1 = prevLen - 1; i_1 > lca; i_1--) {\n clipPathsGroupsStackDepth--;\n currentClipPathGroup = clipPathsGroupsStack[clipPathsGroupsStackDepth - 1];\n }\n for (var i_2 = lca + 1; i_2 < len; i_2++) {\n var groupAttrs = {};\n setClipPath(clipPaths[i_2], groupAttrs, scope);\n var g = createVNode('g', 'clip-g-' + clipGroupNodeIdx++, groupAttrs, []);\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(g);\n clipPathsGroupsStack[clipPathsGroupsStackDepth++] = g;\n currentClipPathGroup = g;\n }\n prevClipPaths = clipPaths;\n var ret = brush(displayable, scope);\n if (ret) {\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(ret);\n }\n }\n }\n };\n SVGPainter.prototype.resize = function (width, height) {\n var opts = this._opts;\n var root = this.root;\n var viewport = this._viewport;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n if (root && viewport) {\n viewport.style.display = 'none';\n width = getSize(root, 0, opts);\n height = getSize(root, 1, opts);\n viewport.style.display = '';\n }\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n if (viewport) {\n var viewportStyle = viewport.style;\n viewportStyle.width = width + 'px';\n viewportStyle.height = height + 'px';\n }\n if (!isPattern(this._backgroundColor)) {\n var svgDom = this._svgDom;\n if (svgDom) {\n svgDom.setAttribute('width', width);\n svgDom.setAttribute('height', height);\n }\n var bgEl = this._bgVNode && this._bgVNode.elm;\n if (bgEl) {\n bgEl.setAttribute('width', width);\n bgEl.setAttribute('height', height);\n }\n }\n else {\n this.refresh();\n }\n }\n };\n SVGPainter.prototype.getWidth = function () {\n return this._width;\n };\n SVGPainter.prototype.getHeight = function () {\n return this._height;\n };\n SVGPainter.prototype.dispose = function () {\n if (this.root) {\n this.root.innerHTML = '';\n }\n this._svgDom =\n this._viewport =\n this.storage =\n this._oldVNode =\n this._bgVNode =\n this._mainVNode = null;\n };\n SVGPainter.prototype.clear = function () {\n if (this._svgDom) {\n this._svgDom.innerHTML = null;\n }\n this._oldVNode = null;\n };\n SVGPainter.prototype.toDataURL = function (base64) {\n var str = this.renderToString();\n var prefix = 'data:image/svg+xml;';\n if (base64) {\n str = encodeBase64(str);\n return str && prefix + 'base64,' + str;\n }\n return prefix + 'charset=UTF-8,' + encodeURIComponent(str);\n };\n return SVGPainter;\n}());\nfunction createMethodNotSupport(method) {\n return function () {\n if (process.env.NODE_ENV !== 'production') {\n logError('In SVG mode painter not support method \"' + method + '\"');\n }\n };\n}\nfunction createBackgroundVNode(width, height, backgroundColor, scope) {\n var bgVNode;\n if (backgroundColor && backgroundColor !== 'none') {\n bgVNode = createVNode('rect', 'bg', {\n width: width,\n height: height,\n x: '0',\n y: '0'\n });\n if (isGradient(backgroundColor)) {\n setGradient({ fill: backgroundColor }, bgVNode.attrs, 'fill', scope);\n }\n else if (isPattern(backgroundColor)) {\n setPattern({\n style: {\n fill: backgroundColor\n },\n dirty: noop,\n getBoundingRect: function () { return ({ width: width, height: height }); }\n }, bgVNode.attrs, 'fill', scope);\n }\n else {\n var _a = normalizeColor(backgroundColor), color = _a.color, opacity = _a.opacity;\n bgVNode.attrs.fill = color;\n opacity < 1 && (bgVNode.attrs['fill-opacity'] = opacity);\n }\n }\n return bgVNode;\n}\nexport default SVGPainter;\n", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport SVGPainter from 'zrender/lib/svg/Painter.js';\nexport function install(registers) {\n registers.registerPainter('svg', SVGPainter);\n}", "import { __extends } from \"tslib\";\nimport * as util from '../core/util.js';\nimport { devicePixelRatio } from '../config.js';\nimport Eventful from '../core/Eventful.js';\nimport { getCanvasGradient } from './helper.js';\nimport { createCanvasPattern } from './graphic.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport { REDRAW_BIT } from '../graphic/constants.js';\nimport { platformApi } from '../core/platform.js';\nfunction createDom(id, painter, dpr) {\n var newDom = platformApi.createCanvas();\n var width = painter.getWidth();\n var height = painter.getHeight();\n var newDomStyle = newDom.style;\n if (newDomStyle) {\n newDomStyle.position = 'absolute';\n newDomStyle.left = '0';\n newDomStyle.top = '0';\n newDomStyle.width = width + 'px';\n newDomStyle.height = height + 'px';\n newDom.setAttribute('data-zr-dom-id', id);\n }\n newDom.width = width * dpr;\n newDom.height = height * dpr;\n return newDom;\n}\n;\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, painter, dpr) {\n var _this = _super.call(this) || this;\n _this.motionBlur = false;\n _this.lastFrameAlpha = 0.7;\n _this.dpr = 1;\n _this.virtual = false;\n _this.config = {};\n _this.incremental = false;\n _this.zlevel = 0;\n _this.maxRepaintRectCount = 5;\n _this.__dirty = true;\n _this.__firstTimePaint = true;\n _this.__used = false;\n _this.__drawIndex = 0;\n _this.__startIndex = 0;\n _this.__endIndex = 0;\n _this.__prevStartIndex = null;\n _this.__prevEndIndex = null;\n var dom;\n dpr = dpr || devicePixelRatio;\n if (typeof id === 'string') {\n dom = createDom(id, painter, dpr);\n }\n else if (util.isObject(id)) {\n dom = id;\n id = dom.id;\n }\n _this.id = id;\n _this.dom = dom;\n var domStyle = dom.style;\n if (domStyle) {\n util.disableUserSelect(dom);\n dom.onselectstart = function () { return false; };\n domStyle.padding = '0';\n domStyle.margin = '0';\n domStyle.borderWidth = '0';\n }\n _this.painter = painter;\n _this.dpr = dpr;\n return _this;\n }\n Layer.prototype.getElementCount = function () {\n return this.__endIndex - this.__startIndex;\n };\n Layer.prototype.afterBrush = function () {\n this.__prevStartIndex = this.__startIndex;\n this.__prevEndIndex = this.__endIndex;\n };\n Layer.prototype.initContext = function () {\n this.ctx = this.dom.getContext('2d');\n this.ctx.dpr = this.dpr;\n };\n Layer.prototype.setUnpainted = function () {\n this.__firstTimePaint = true;\n };\n Layer.prototype.createBackBuffer = function () {\n var dpr = this.dpr;\n this.domBack = createDom('back-' + this.id, this.painter, dpr);\n this.ctxBack = this.domBack.getContext('2d');\n if (dpr !== 1) {\n this.ctxBack.scale(dpr, dpr);\n }\n };\n Layer.prototype.createRepaintRects = function (displayList, prevList, viewWidth, viewHeight) {\n if (this.__firstTimePaint) {\n this.__firstTimePaint = false;\n return null;\n }\n var mergedRepaintRects = [];\n var maxRepaintRectCount = this.maxRepaintRectCount;\n var full = false;\n var pendingRect = new BoundingRect(0, 0, 0, 0);\n function addRectToMergePool(rect) {\n if (!rect.isFinite() || rect.isZero()) {\n return;\n }\n if (mergedRepaintRects.length === 0) {\n var boundingRect = new BoundingRect(0, 0, 0, 0);\n boundingRect.copy(rect);\n mergedRepaintRects.push(boundingRect);\n }\n else {\n var isMerged = false;\n var minDeltaArea = Infinity;\n var bestRectToMergeIdx = 0;\n for (var i = 0; i < mergedRepaintRects.length; ++i) {\n var mergedRect = mergedRepaintRects[i];\n if (mergedRect.intersect(rect)) {\n var pendingRect_1 = new BoundingRect(0, 0, 0, 0);\n pendingRect_1.copy(mergedRect);\n pendingRect_1.union(rect);\n mergedRepaintRects[i] = pendingRect_1;\n isMerged = true;\n break;\n }\n else if (full) {\n pendingRect.copy(rect);\n pendingRect.union(mergedRect);\n var aArea = rect.width * rect.height;\n var bArea = mergedRect.width * mergedRect.height;\n var pendingArea = pendingRect.width * pendingRect.height;\n var deltaArea = pendingArea - aArea - bArea;\n if (deltaArea < minDeltaArea) {\n minDeltaArea = deltaArea;\n bestRectToMergeIdx = i;\n }\n }\n }\n if (full) {\n mergedRepaintRects[bestRectToMergeIdx].union(rect);\n isMerged = true;\n }\n if (!isMerged) {\n var boundingRect = new BoundingRect(0, 0, 0, 0);\n boundingRect.copy(rect);\n mergedRepaintRects.push(boundingRect);\n }\n if (!full) {\n full = mergedRepaintRects.length >= maxRepaintRectCount;\n }\n }\n }\n for (var i = this.__startIndex; i < this.__endIndex; ++i) {\n var el = displayList[i];\n if (el) {\n var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);\n var prevRect = el.__isRendered && ((el.__dirty & REDRAW_BIT) || !shouldPaint)\n ? el.getPrevPaintRect()\n : null;\n if (prevRect) {\n addRectToMergePool(prevRect);\n }\n var curRect = shouldPaint && ((el.__dirty & REDRAW_BIT) || !el.__isRendered)\n ? el.getPaintRect()\n : null;\n if (curRect) {\n addRectToMergePool(curRect);\n }\n }\n }\n for (var i = this.__prevStartIndex; i < this.__prevEndIndex; ++i) {\n var el = prevList[i];\n var shouldPaint = el && el.shouldBePainted(viewWidth, viewHeight, true, true);\n if (el && (!shouldPaint || !el.__zr) && el.__isRendered) {\n var prevRect = el.getPrevPaintRect();\n if (prevRect) {\n addRectToMergePool(prevRect);\n }\n }\n }\n var hasIntersections;\n do {\n hasIntersections = false;\n for (var i = 0; i < mergedRepaintRects.length;) {\n if (mergedRepaintRects[i].isZero()) {\n mergedRepaintRects.splice(i, 1);\n continue;\n }\n for (var j = i + 1; j < mergedRepaintRects.length;) {\n if (mergedRepaintRects[i].intersect(mergedRepaintRects[j])) {\n hasIntersections = true;\n mergedRepaintRects[i].union(mergedRepaintRects[j]);\n mergedRepaintRects.splice(j, 1);\n }\n else {\n j++;\n }\n }\n i++;\n }\n } while (hasIntersections);\n this._paintRects = mergedRepaintRects;\n return mergedRepaintRects;\n };\n Layer.prototype.debugGetPaintRects = function () {\n return (this._paintRects || []).slice();\n };\n Layer.prototype.resize = function (width, height) {\n var dpr = this.dpr;\n var dom = this.dom;\n var domStyle = dom.style;\n var domBack = this.domBack;\n if (domStyle) {\n domStyle.width = width + 'px';\n domStyle.height = height + 'px';\n }\n dom.width = width * dpr;\n dom.height = height * dpr;\n if (domBack) {\n domBack.width = width * dpr;\n domBack.height = height * dpr;\n if (dpr !== 1) {\n this.ctxBack.scale(dpr, dpr);\n }\n }\n };\n Layer.prototype.clear = function (clearAll, clearColor, repaintRects) {\n var dom = this.dom;\n var ctx = this.ctx;\n var width = dom.width;\n var height = dom.height;\n clearColor = clearColor || this.clearColor;\n var haveMotionBLur = this.motionBlur && !clearAll;\n var lastFrameAlpha = this.lastFrameAlpha;\n var dpr = this.dpr;\n var self = this;\n if (haveMotionBLur) {\n if (!this.domBack) {\n this.createBackBuffer();\n }\n this.ctxBack.globalCompositeOperation = 'copy';\n this.ctxBack.drawImage(dom, 0, 0, width / dpr, height / dpr);\n }\n var domBack = this.domBack;\n function doClear(x, y, width, height) {\n ctx.clearRect(x, y, width, height);\n if (clearColor && clearColor !== 'transparent') {\n var clearColorGradientOrPattern = void 0;\n if (util.isGradientObject(clearColor)) {\n var shouldCache = clearColor.global || (clearColor.__width === width\n && clearColor.__height === height);\n clearColorGradientOrPattern = shouldCache\n && clearColor.__canvasGradient\n || getCanvasGradient(ctx, clearColor, {\n x: 0,\n y: 0,\n width: width,\n height: height\n });\n clearColor.__canvasGradient = clearColorGradientOrPattern;\n clearColor.__width = width;\n clearColor.__height = height;\n }\n else if (util.isImagePatternObject(clearColor)) {\n clearColor.scaleX = clearColor.scaleX || dpr;\n clearColor.scaleY = clearColor.scaleY || dpr;\n clearColorGradientOrPattern = createCanvasPattern(ctx, clearColor, {\n dirty: function () {\n self.setUnpainted();\n self.painter.refresh();\n }\n });\n }\n ctx.save();\n ctx.fillStyle = clearColorGradientOrPattern || clearColor;\n ctx.fillRect(x, y, width, height);\n ctx.restore();\n }\n if (haveMotionBLur) {\n ctx.save();\n ctx.globalAlpha = lastFrameAlpha;\n ctx.drawImage(domBack, x, y, width, height);\n ctx.restore();\n }\n }\n ;\n if (!repaintRects || haveMotionBLur) {\n doClear(0, 0, width, height);\n }\n else if (repaintRects.length) {\n util.each(repaintRects, function (rect) {\n doClear(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n });\n }\n };\n return Layer;\n}(Eventful));\nexport default Layer;\n", "import { devicePixelRatio } from '../config.js';\nimport * as util from '../core/util.js';\nimport Layer from './Layer.js';\nimport requestAnimationFrame from '../animation/requestAnimationFrame.js';\nimport env from '../core/env.js';\nimport { brush, brushSingle } from './graphic.js';\nimport { REDRAW_BIT } from '../graphic/constants.js';\nimport { getSize } from './helper.js';\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n if (layer.__builtin__) {\n return true;\n }\n if (typeof (layer.resize) !== 'function'\n || typeof (layer.refresh) !== 'function') {\n return false;\n }\n return true;\n}\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div');\n domRoot.style.cssText = [\n 'position:relative',\n 'width:' + width + 'px',\n 'height:' + height + 'px',\n 'padding:0',\n 'margin:0',\n 'border-width:0'\n ].join(';') + ';';\n return domRoot;\n}\nvar CanvasPainter = (function () {\n function CanvasPainter(root, storage, opts, id) {\n this.type = 'canvas';\n this._zlevelList = [];\n this._prevDisplayList = [];\n this._layers = {};\n this._layerConfig = {};\n this._needsManuallyCompositing = false;\n this.type = 'canvas';\n var singleCanvas = !root.nodeName\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n this._singleCanvas = singleCanvas;\n this.root = root;\n var rootStyle = root.style;\n if (rootStyle) {\n util.disableUserSelect(root);\n root.innerHTML = '';\n }\n this.storage = storage;\n var zlevelList = this._zlevelList;\n this._prevDisplayList = [];\n var layers = this._layers;\n if (!singleCanvas) {\n this._width = getSize(root, 0, opts);\n this._height = getSize(root, 1, opts);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n }\n else {\n var rootCanvas = root;\n var width = rootCanvas.width;\n var height = rootCanvas.height;\n if (opts.width != null) {\n width = opts.width;\n }\n if (opts.height != null) {\n height = opts.height;\n }\n this.dpr = opts.devicePixelRatio || 1;\n rootCanvas.width = width * this.dpr;\n rootCanvas.height = height * this.dpr;\n this._width = width;\n this._height = height;\n var mainLayer = new Layer(rootCanvas, this, this.dpr);\n mainLayer.__builtin__ = true;\n mainLayer.initContext();\n layers[CANVAS_ZLEVEL] = mainLayer;\n mainLayer.zlevel = CANVAS_ZLEVEL;\n zlevelList.push(CANVAS_ZLEVEL);\n this._domRoot = root;\n }\n }\n CanvasPainter.prototype.getType = function () {\n return 'canvas';\n };\n CanvasPainter.prototype.isSingleCanvas = function () {\n return this._singleCanvas;\n };\n CanvasPainter.prototype.getViewportRoot = function () {\n return this._domRoot;\n };\n CanvasPainter.prototype.getViewportRootOffset = function () {\n var viewportRoot = this.getViewportRoot();\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n };\n CanvasPainter.prototype.refresh = function (paintAll) {\n var list = this.storage.getDisplayList(true);\n var prevList = this._prevDisplayList;\n var zlevelList = this._zlevelList;\n this._redrawId = Math.random();\n this._paintList(list, prevList, paintAll, this._redrawId);\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n if (!layer.__builtin__ && layer.refresh) {\n var clearColor = i === 0 ? this._backgroundColor : null;\n layer.refresh(clearColor);\n }\n }\n if (this._opts.useDirtyRect) {\n this._prevDisplayList = list.slice();\n }\n return this;\n };\n CanvasPainter.prototype.refreshHover = function () {\n this._paintHoverList(this.storage.getDisplayList(false));\n };\n CanvasPainter.prototype._paintHoverList = function (list) {\n var len = list.length;\n var hoverLayer = this._hoverlayer;\n hoverLayer && hoverLayer.clear();\n if (!len) {\n return;\n }\n var scope = {\n inHover: true,\n viewWidth: this._width,\n viewHeight: this._height\n };\n var ctx;\n for (var i = 0; i < len; i++) {\n var el = list[i];\n if (el.__inHover) {\n if (!hoverLayer) {\n hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n }\n if (!ctx) {\n ctx = hoverLayer.ctx;\n ctx.save();\n }\n brush(ctx, el, scope, i === len - 1);\n }\n }\n if (ctx) {\n ctx.restore();\n }\n };\n CanvasPainter.prototype.getHoverLayer = function () {\n return this.getLayer(HOVER_LAYER_ZLEVEL);\n };\n CanvasPainter.prototype.paintOne = function (ctx, el) {\n brushSingle(ctx, el);\n };\n CanvasPainter.prototype._paintList = function (list, prevList, paintAll, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n paintAll = paintAll || false;\n this._updateLayerStatus(list);\n var _a = this._doPaintList(list, prevList, paintAll), finished = _a.finished, needsRefreshHover = _a.needsRefreshHover;\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n if (needsRefreshHover) {\n this._paintHoverList(list);\n }\n if (!finished) {\n var self_1 = this;\n requestAnimationFrame(function () {\n self_1._paintList(list, prevList, paintAll, redrawId);\n });\n }\n else {\n this.eachLayer(function (layer) {\n layer.afterBrush && layer.afterBrush();\n });\n }\n };\n CanvasPainter.prototype._compositeManually = function () {\n var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;\n var width = this._domRoot.width;\n var height = this._domRoot.height;\n ctx.clearRect(0, 0, width, height);\n this.eachBuiltinLayer(function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n });\n };\n CanvasPainter.prototype._doPaintList = function (list, prevList, paintAll) {\n var _this = this;\n var layerList = [];\n var useDirtyRect = this._opts.useDirtyRect;\n for (var zi = 0; zi < this._zlevelList.length; zi++) {\n var zlevel = this._zlevelList[zi];\n var layer = this._layers[zlevel];\n if (layer.__builtin__\n && layer !== this._hoverlayer\n && (layer.__dirty || paintAll)) {\n layerList.push(layer);\n }\n }\n var finished = true;\n var needsRefreshHover = false;\n var _loop_1 = function (k) {\n var layer = layerList[k];\n var ctx = layer.ctx;\n var repaintRects = useDirtyRect\n && layer.createRepaintRects(list, prevList, this_1._width, this_1._height);\n var start = paintAll ? layer.__startIndex : layer.__drawIndex;\n var useTimer = !paintAll && layer.incremental && Date.now;\n var startTime = useTimer && Date.now();\n var clearColor = layer.zlevel === this_1._zlevelList[0]\n ? this_1._backgroundColor : null;\n if (layer.__startIndex === layer.__endIndex) {\n layer.clear(false, clearColor, repaintRects);\n }\n else if (start === layer.__startIndex) {\n var firstEl = list[start];\n if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n layer.clear(false, clearColor, repaintRects);\n }\n }\n if (start === -1) {\n console.error('For some unknown reason. drawIndex is -1');\n start = layer.__startIndex;\n }\n var i;\n var repaint = function (repaintRect) {\n var scope = {\n inHover: false,\n allClipped: false,\n prevEl: null,\n viewWidth: _this._width,\n viewHeight: _this._height\n };\n for (i = start; i < layer.__endIndex; i++) {\n var el = list[i];\n if (el.__inHover) {\n needsRefreshHover = true;\n }\n _this._doPaintEl(el, layer, useDirtyRect, repaintRect, scope, i === layer.__endIndex - 1);\n if (useTimer) {\n var dTime = Date.now() - startTime;\n if (dTime > 15) {\n break;\n }\n }\n }\n if (scope.prevElClipPaths) {\n ctx.restore();\n }\n };\n if (repaintRects) {\n if (repaintRects.length === 0) {\n i = layer.__endIndex;\n }\n else {\n var dpr = this_1.dpr;\n for (var r = 0; r < repaintRects.length; ++r) {\n var rect = repaintRects[r];\n ctx.save();\n ctx.beginPath();\n ctx.rect(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n ctx.clip();\n repaint(rect);\n ctx.restore();\n }\n }\n }\n else {\n ctx.save();\n repaint();\n ctx.restore();\n }\n layer.__drawIndex = i;\n if (layer.__drawIndex < layer.__endIndex) {\n finished = false;\n }\n };\n var this_1 = this;\n for (var k = 0; k < layerList.length; k++) {\n _loop_1(k);\n }\n if (env.wxa) {\n util.each(this._layers, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n return {\n finished: finished,\n needsRefreshHover: needsRefreshHover\n };\n };\n CanvasPainter.prototype._doPaintEl = function (el, currentLayer, useDirtyRect, repaintRect, scope, isLast) {\n var ctx = currentLayer.ctx;\n if (useDirtyRect) {\n var paintRect = el.getPaintRect();\n if (!repaintRect || paintRect && paintRect.intersect(repaintRect)) {\n brush(ctx, el, scope, isLast);\n el.setPrevPaintRect(paintRect);\n }\n }\n else {\n brush(ctx, el, scope, isLast);\n }\n };\n CanvasPainter.prototype.getLayer = function (zlevel, virtual) {\n if (this._singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n }\n var layer = this._layers[zlevel];\n if (!layer) {\n layer = new Layer('zr_' + zlevel, this, this.dpr);\n layer.zlevel = zlevel;\n layer.__builtin__ = true;\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n }\n else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {\n util.merge(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);\n }\n if (virtual) {\n layer.virtual = virtual;\n }\n this.insertLayer(zlevel, layer);\n layer.initContext();\n }\n return layer;\n };\n CanvasPainter.prototype.insertLayer = function (zlevel, layer) {\n var layersMap = this._layers;\n var zlevelList = this._zlevelList;\n var len = zlevelList.length;\n var domRoot = this._domRoot;\n var prevLayer = null;\n var i = -1;\n if (layersMap[zlevel]) {\n if (process.env.NODE_ENV !== 'production') {\n util.logError('ZLevel ' + zlevel + ' has been used already');\n }\n return;\n }\n if (!isLayerValid(layer)) {\n if (process.env.NODE_ENV !== 'production') {\n util.logError('Layer of zlevel ' + zlevel + ' is not valid');\n }\n return;\n }\n if (len > 0 && zlevel > zlevelList[0]) {\n for (i = 0; i < len - 1; i++) {\n if (zlevelList[i] < zlevel\n && zlevelList[i + 1] > zlevel) {\n break;\n }\n }\n prevLayer = layersMap[zlevelList[i]];\n }\n zlevelList.splice(i + 1, 0, zlevel);\n layersMap[zlevel] = layer;\n if (!layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n }\n else {\n domRoot.appendChild(layer.dom);\n }\n }\n else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n }\n else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n layer.painter || (layer.painter = this);\n };\n CanvasPainter.prototype.eachLayer = function (cb, context) {\n var zlevelList = this._zlevelList;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n cb.call(context, this._layers[z], z);\n }\n };\n CanvasPainter.prototype.eachBuiltinLayer = function (cb, context) {\n var zlevelList = this._zlevelList;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n if (layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n };\n CanvasPainter.prototype.eachOtherLayer = function (cb, context) {\n var zlevelList = this._zlevelList;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n if (!layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n };\n CanvasPainter.prototype.getLayers = function () {\n return this._layers;\n };\n CanvasPainter.prototype._updateLayerStatus = function (list) {\n this.eachBuiltinLayer(function (layer, z) {\n layer.__dirty = layer.__used = false;\n });\n function updatePrevLayer(idx) {\n if (prevLayer) {\n if (prevLayer.__endIndex !== idx) {\n prevLayer.__dirty = true;\n }\n prevLayer.__endIndex = idx;\n }\n }\n if (this._singleCanvas) {\n for (var i_1 = 1; i_1 < list.length; i_1++) {\n var el = list[i_1];\n if (el.zlevel !== list[i_1 - 1].zlevel || el.incremental) {\n this._needsManuallyCompositing = true;\n break;\n }\n }\n }\n var prevLayer = null;\n var incrementalLayerCount = 0;\n var prevZlevel;\n var i;\n for (i = 0; i < list.length; i++) {\n var el = list[i];\n var zlevel = el.zlevel;\n var layer = void 0;\n if (prevZlevel !== zlevel) {\n prevZlevel = zlevel;\n incrementalLayerCount = 0;\n }\n if (el.incremental) {\n layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n layer.incremental = true;\n incrementalLayerCount = 1;\n }\n else {\n layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n }\n if (!layer.__builtin__) {\n util.logError('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n }\n if (layer !== prevLayer) {\n layer.__used = true;\n if (layer.__startIndex !== i) {\n layer.__dirty = true;\n }\n layer.__startIndex = i;\n if (!layer.incremental) {\n layer.__drawIndex = i;\n }\n else {\n layer.__drawIndex = -1;\n }\n updatePrevLayer(i);\n prevLayer = layer;\n }\n if ((el.__dirty & REDRAW_BIT) && !el.__inHover) {\n layer.__dirty = true;\n if (layer.incremental && layer.__drawIndex < 0) {\n layer.__drawIndex = i;\n }\n }\n }\n updatePrevLayer(i);\n this.eachBuiltinLayer(function (layer, z) {\n if (!layer.__used && layer.getElementCount() > 0) {\n layer.__dirty = true;\n layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n }\n if (layer.__dirty && layer.__drawIndex < 0) {\n layer.__drawIndex = layer.__startIndex;\n }\n });\n };\n CanvasPainter.prototype.clear = function () {\n this.eachBuiltinLayer(this._clearLayer);\n return this;\n };\n CanvasPainter.prototype._clearLayer = function (layer) {\n layer.clear();\n };\n CanvasPainter.prototype.setBackgroundColor = function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n util.each(this._layers, function (layer) {\n layer.setUnpainted();\n });\n };\n CanvasPainter.prototype.configLayer = function (zlevel, config) {\n if (config) {\n var layerConfig = this._layerConfig;\n if (!layerConfig[zlevel]) {\n layerConfig[zlevel] = config;\n }\n else {\n util.merge(layerConfig[zlevel], config, true);\n }\n for (var i = 0; i < this._zlevelList.length; i++) {\n var _zlevel = this._zlevelList[i];\n if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n var layer = this._layers[_zlevel];\n util.merge(layer, layerConfig[zlevel], true);\n }\n }\n }\n };\n CanvasPainter.prototype.delLayer = function (zlevel) {\n var layers = this._layers;\n var zlevelList = this._zlevelList;\n var layer = layers[zlevel];\n if (!layer) {\n return;\n }\n layer.dom.parentNode.removeChild(layer.dom);\n delete layers[zlevel];\n zlevelList.splice(util.indexOf(zlevelList, zlevel), 1);\n };\n CanvasPainter.prototype.resize = function (width, height) {\n if (!this._domRoot.style) {\n if (width == null || height == null) {\n return;\n }\n this._width = width;\n this._height = height;\n this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n }\n else {\n var domRoot = this._domRoot;\n domRoot.style.display = 'none';\n var opts = this._opts;\n var root = this.root;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = getSize(root, 0, opts);\n height = getSize(root, 1, opts);\n domRoot.style.display = '';\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].resize(width, height);\n }\n }\n this.refresh(true);\n }\n this._width = width;\n this._height = height;\n }\n return this;\n };\n CanvasPainter.prototype.clearLayer = function (zlevel) {\n var layer = this._layers[zlevel];\n if (layer) {\n layer.clear();\n }\n };\n CanvasPainter.prototype.dispose = function () {\n this.root.innerHTML = '';\n this.root =\n this.storage =\n this._domRoot =\n this._layers = null;\n };\n CanvasPainter.prototype.getRenderedCanvas = function (opts) {\n opts = opts || {};\n if (this._singleCanvas && !this._compositeManually) {\n return this._layers[CANVAS_ZLEVEL].dom;\n }\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n var ctx = imageLayer.ctx;\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width_1 = imageLayer.dom.width;\n var height_1 = imageLayer.dom.height;\n this.eachLayer(function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width_1, height_1);\n }\n else if (layer.renderToCanvas) {\n ctx.save();\n layer.renderToCanvas(ctx);\n ctx.restore();\n }\n });\n }\n else {\n var scope = {\n inHover: false,\n viewWidth: this._width,\n viewHeight: this._height\n };\n var displayList = this.storage.getDisplayList(true);\n for (var i = 0, len = displayList.length; i < len; i++) {\n var el = displayList[i];\n brush(ctx, el, scope, i === len - 1);\n }\n }\n return imageLayer.dom;\n };\n CanvasPainter.prototype.getWidth = function () {\n return this._width;\n };\n CanvasPainter.prototype.getHeight = function () {\n return this._height;\n };\n return CanvasPainter;\n}());\nexport default CanvasPainter;\n;\n", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport CanvasPainter from 'zrender/lib/canvas/Painter.js';\nexport function install(registers) {\n registers.registerPainter('canvas', CanvasPainter);\n}"],
5
- "mappings": "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",
6
- "names": ["SVGPathRebuilder", "el", "animators", "len", "animator", "i", "percent", "brush", "parentNode", "map", "SVGPainter", "brush", "Layer", "i", "width", "height", "CanvasPainter", "k", "layer", "Painter_default", "install", "Painter_default"]
3
+ "sources": ["../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/SVGPathRebuilder.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/mapStyleToAttrs.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/core.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/cssClassId.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/cssAnimation.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/cssEmphasis.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/graphic.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/domapi.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/patch.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/svg/Painter.js", "../../../../../node_modules/.pnpm/echarts@6.1.0/node_modules/echarts/lib/renderer/installSVGRenderer.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/canvas/Layer.js", "../../../../../node_modules/.pnpm/zrender@6.1.0/node_modules/zrender/lib/canvas/Painter.js", "../../../../../node_modules/.pnpm/echarts@6.1.0/node_modules/echarts/lib/renderer/installCanvasRenderer.js"],
4
+ "sourcesContent": ["import { isAroundZero } from './helper.js';\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nvar PI2 = Math.PI * 2;\nvar degree = 180 / PI;\nvar SVGPathRebuilder = (function () {\n function SVGPathRebuilder() {\n }\n SVGPathRebuilder.prototype.reset = function (precision) {\n this._start = true;\n this._d = [];\n this._str = '';\n this._p = Math.pow(10, precision || 4);\n };\n SVGPathRebuilder.prototype.moveTo = function (x, y) {\n this._add('M', x, y);\n };\n SVGPathRebuilder.prototype.lineTo = function (x, y) {\n this._add('L', x, y);\n };\n SVGPathRebuilder.prototype.bezierCurveTo = function (x, y, x2, y2, x3, y3) {\n this._add('C', x, y, x2, y2, x3, y3);\n };\n SVGPathRebuilder.prototype.quadraticCurveTo = function (x, y, x2, y2) {\n this._add('Q', x, y, x2, y2);\n };\n SVGPathRebuilder.prototype.arc = function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this.ellipse(cx, cy, r, r, 0, startAngle, endAngle, anticlockwise);\n };\n SVGPathRebuilder.prototype.ellipse = function (cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise) {\n var dTheta = endAngle - startAngle;\n var clockwise = !anticlockwise;\n var dThetaPositive = Math.abs(dTheta);\n var isCircle = isAroundZero(dThetaPositive - PI2)\n || (clockwise ? dTheta >= PI2 : -dTheta >= PI2);\n var unifiedTheta = dTheta > 0 ? dTheta % PI2 : (dTheta % PI2 + PI2);\n var large = false;\n if (isCircle) {\n large = true;\n }\n else if (isAroundZero(dThetaPositive)) {\n large = false;\n }\n else {\n large = (unifiedTheta >= PI) === !!clockwise;\n }\n var x0 = cx + rx * mathCos(startAngle);\n var y0 = cy + ry * mathSin(startAngle);\n if (this._start) {\n this._add('M', x0, y0);\n }\n var xRot = Math.round(psi * degree);\n if (isCircle) {\n var p = 1 / this._p;\n var dTheta_1 = (clockwise ? 1 : -1) * (PI2 - p);\n this._add('A', rx, ry, xRot, 1, +clockwise, cx + rx * mathCos(startAngle + dTheta_1), cy + ry * mathSin(startAngle + dTheta_1));\n if (p > 1e-2) {\n this._add('A', rx, ry, xRot, 0, +clockwise, x0, y0);\n }\n }\n else {\n var x = cx + rx * mathCos(endAngle);\n var y = cy + ry * mathSin(endAngle);\n this._add('A', rx, ry, xRot, +large, +clockwise, x, y);\n }\n };\n SVGPathRebuilder.prototype.rect = function (x, y, w, h) {\n this._add('M', x, y);\n this._add('l', w, 0);\n this._add('l', 0, h);\n this._add('l', -w, 0);\n this._add('Z');\n };\n SVGPathRebuilder.prototype.closePath = function () {\n if (this._d.length > 0) {\n this._add('Z');\n }\n };\n SVGPathRebuilder.prototype._add = function (cmd, a, b, c, d, e, f, g, h) {\n var vals = [];\n var p = this._p;\n for (var i = 1; i < arguments.length; i++) {\n var val = arguments[i];\n if (isNaN(val)) {\n this._invalid = true;\n return;\n }\n vals.push(Math.round(val * p) / p);\n }\n this._d.push(cmd + vals.join(' '));\n this._start = cmd === 'Z';\n };\n SVGPathRebuilder.prototype.generateStr = function () {\n this._str = this._invalid ? '' : this._d.join('');\n this._d = [];\n };\n SVGPathRebuilder.prototype.getStr = function () {\n return this._str;\n };\n return SVGPathRebuilder;\n}());\nexport default SVGPathRebuilder;\n", "import { DEFAULT_PATH_STYLE } from '../graphic/Path.js';\nimport ZRImage from '../graphic/Image.js';\nimport { getLineDash } from '../canvas/dashStyle.js';\nimport { map } from '../core/util.js';\nimport { normalizeColor } from './helper.js';\nvar NONE = 'none';\nvar mathRound = Math.round;\nfunction pathHasFill(style) {\n var fill = style.fill;\n return fill != null && fill !== NONE;\n}\nfunction pathHasStroke(style) {\n var stroke = style.stroke;\n return stroke != null && stroke !== NONE;\n}\nvar strokeProps = ['lineCap', 'miterLimit', 'lineJoin'];\nvar svgStrokeProps = map(strokeProps, function (prop) { return \"stroke-\" + prop.toLowerCase(); });\nexport default function mapStyleToAttrs(updateAttr, style, el, forceUpdate) {\n var opacity = style.opacity == null ? 1 : style.opacity;\n if (el instanceof ZRImage) {\n updateAttr('opacity', opacity);\n return;\n }\n if (pathHasFill(style)) {\n var fill = normalizeColor(style.fill);\n updateAttr('fill', fill.color);\n var fillOpacity = style.fillOpacity != null\n ? style.fillOpacity * fill.opacity * opacity\n : fill.opacity * opacity;\n if (forceUpdate || fillOpacity < 1) {\n updateAttr('fill-opacity', fillOpacity);\n }\n }\n else {\n updateAttr('fill', NONE);\n }\n if (pathHasStroke(style)) {\n var stroke = normalizeColor(style.stroke);\n updateAttr('stroke', stroke.color);\n var strokeScale = style.strokeNoScale\n ? el.getLineScale()\n : 1;\n var strokeWidth = (strokeScale ? (style.lineWidth || 0) / strokeScale : 0);\n var strokeOpacity = style.strokeOpacity != null\n ? style.strokeOpacity * stroke.opacity * opacity\n : stroke.opacity * opacity;\n var strokeFirst = style.strokeFirst;\n if (forceUpdate || strokeWidth !== 1) {\n updateAttr('stroke-width', strokeWidth);\n }\n if (forceUpdate || strokeFirst) {\n updateAttr('paint-order', strokeFirst ? 'stroke' : 'fill');\n }\n if (forceUpdate || strokeOpacity < 1) {\n updateAttr('stroke-opacity', strokeOpacity);\n }\n if (style.lineDash) {\n var _a = getLineDash(el), lineDash = _a[0], lineDashOffset = _a[1];\n if (lineDash) {\n lineDashOffset = mathRound(lineDashOffset || 0);\n updateAttr('stroke-dasharray', lineDash.join(','));\n if (lineDashOffset || forceUpdate) {\n updateAttr('stroke-dashoffset', lineDashOffset);\n }\n }\n }\n else if (forceUpdate) {\n updateAttr('stroke-dasharray', NONE);\n }\n for (var i = 0; i < strokeProps.length; i++) {\n var propName = strokeProps[i];\n if (forceUpdate || style[propName] !== DEFAULT_PATH_STYLE[propName]) {\n var val = style[propName] || DEFAULT_PATH_STYLE[propName];\n val && updateAttr(svgStrokeProps[i], val);\n }\n }\n }\n else if (forceUpdate) {\n updateAttr('stroke', NONE);\n }\n}\n", "import { keys, map } from '../core/util.js';\nimport { encodeHTML } from '../core/dom.js';\nexport var SVGNS = 'http://www.w3.org/2000/svg';\nexport var XLINKNS = 'http://www.w3.org/1999/xlink';\nexport var XMLNS = 'http://www.w3.org/2000/xmlns/';\nexport var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\nexport var META_DATA_PREFIX = 'ecmeta_';\nexport function createElement(name) {\n return document.createElementNS(SVGNS, name);\n}\n;\nexport function createVNode(tag, key, attrs, children, text) {\n return {\n tag: tag,\n attrs: attrs || {},\n children: children,\n text: text,\n key: key\n };\n}\nfunction createElementOpen(name, attrs) {\n var attrsStr = [];\n if (attrs) {\n for (var key in attrs) {\n var val = attrs[key];\n var part = key;\n if (val === false) {\n continue;\n }\n else if (val !== true && val != null) {\n part += \"=\\\"\" + val + \"\\\"\";\n }\n attrsStr.push(part);\n }\n }\n return \"<\" + name + \" \" + attrsStr.join(' ') + \">\";\n}\nfunction createElementClose(name) {\n return \"</\" + name + \">\";\n}\nexport function vNodeToString(el, opts) {\n opts = opts || {};\n var S = opts.newline ? '\\n' : '';\n function convertElToString(el) {\n var children = el.children, tag = el.tag, attrs = el.attrs, text = el.text;\n return createElementOpen(tag, attrs)\n + (tag !== 'style' ? encodeHTML(text) : text || '')\n + (children ? \"\" + S + map(children, function (child) { return convertElToString(child); }).join(S) + S : '')\n + createElementClose(tag);\n }\n return convertElToString(el);\n}\nexport function getCssString(selectorNodes, animationNodes, opts) {\n opts = opts || {};\n var S = opts.newline ? '\\n' : '';\n var bracketBegin = \" {\" + S;\n var bracketEnd = S + \"}\";\n var selectors = map(keys(selectorNodes), function (className) {\n return className + bracketBegin + map(keys(selectorNodes[className]), function (attrName) {\n return attrName + \":\" + selectorNodes[className][attrName] + \";\";\n }).join(S) + bracketEnd;\n }).join(S);\n var animations = map(keys(animationNodes), function (animationName) {\n return \"@keyframes \" + animationName + bracketBegin + map(keys(animationNodes[animationName]), function (percent) {\n return percent + bracketBegin + map(keys(animationNodes[animationName][percent]), function (attrName) {\n var val = animationNodes[animationName][percent][attrName];\n if (attrName === 'd') {\n val = \"path(\\\"\" + val + \"\\\")\";\n }\n return attrName + \":\" + val + \";\";\n }).join(S) + bracketEnd;\n }).join(S) + bracketEnd;\n }).join(S);\n if (!selectors && !animations) {\n return '';\n }\n return ['<![CDATA[', selectors, animations, ']]>'].join(S);\n}\nexport function createBrushScope(zrId) {\n return {\n zrId: zrId,\n shadowCache: {},\n patternCache: {},\n gradientCache: {},\n clipPathCache: {},\n defs: {},\n cssNodes: {},\n cssAnims: {},\n cssStyleCache: {},\n cssAnimIdx: 0,\n shadowIdx: 0,\n gradientIdx: 0,\n patternIdx: 0,\n clipPathIdx: 0\n };\n}\nexport function createSVGVNode(width, height, children, useViewBox) {\n return createVNode('svg', 'root', {\n 'width': width,\n 'height': height,\n 'xmlns': SVGNS,\n 'xmlns:xlink': XLINKNS,\n 'version': '1.1',\n 'baseProfile': 'full',\n 'viewBox': useViewBox ? \"0 0 \" + width + \" \" + height : false\n }, children);\n}\n", "var cssClassIdx = 0;\nexport function getClassId() {\n return cssClassIdx++;\n}\n", "import { copyTransform } from '../core/Transformable.js';\nimport { createBrushScope } from './core.js';\nimport SVGPathRebuilder from './SVGPathRebuilder.js';\nimport PathProxy from '../core/PathProxy.js';\nimport { getPathPrecision, getSRTTransformString } from './helper.js';\nimport { each, extend, filter, isNumber, isString, keys } from '../core/util.js';\nimport CompoundPath from '../graphic/CompoundPath.js';\nimport { createCubicEasingFunc } from '../animation/cubicEasing.js';\nimport { getClassId } from './cssClassId.js';\nexport var EASING_MAP = {\n cubicIn: '0.32,0,0.67,0',\n cubicOut: '0.33,1,0.68,1',\n cubicInOut: '0.65,0,0.35,1',\n quadraticIn: '0.11,0,0.5,0',\n quadraticOut: '0.5,1,0.89,1',\n quadraticInOut: '0.45,0,0.55,1',\n quarticIn: '0.5,0,0.75,0',\n quarticOut: '0.25,1,0.5,1',\n quarticInOut: '0.76,0,0.24,1',\n quinticIn: '0.64,0,0.78,0',\n quinticOut: '0.22,1,0.36,1',\n quinticInOut: '0.83,0,0.17,1',\n sinusoidalIn: '0.12,0,0.39,0',\n sinusoidalOut: '0.61,1,0.88,1',\n sinusoidalInOut: '0.37,0,0.63,1',\n exponentialIn: '0.7,0,0.84,0',\n exponentialOut: '0.16,1,0.3,1',\n exponentialInOut: '0.87,0,0.13,1',\n circularIn: '0.55,0,1,0.45',\n circularOut: '0,0.55,0.45,1',\n circularInOut: '0.85,0,0.15,1'\n};\nvar transformOriginKey = 'transform-origin';\nfunction buildPathString(el, kfShape, path) {\n var shape = extend({}, el.shape);\n extend(shape, kfShape);\n el.buildPath(path, shape);\n var svgPathBuilder = new SVGPathRebuilder();\n svgPathBuilder.reset(getPathPrecision(el));\n path.rebuildPath(svgPathBuilder, 1);\n svgPathBuilder.generateStr();\n return svgPathBuilder.getStr();\n}\nfunction setTransformOrigin(target, transform) {\n var originX = transform.originX, originY = transform.originY;\n if (originX || originY) {\n target[transformOriginKey] = originX + \"px \" + originY + \"px\";\n }\n}\nexport var ANIMATE_STYLE_MAP = {\n fill: 'fill',\n opacity: 'opacity',\n lineWidth: 'stroke-width',\n lineDashOffset: 'stroke-dashoffset'\n};\nfunction addAnimation(cssAnim, scope) {\n var animationName = scope.zrId + '-ani-' + scope.cssAnimIdx++;\n scope.cssAnims[animationName] = cssAnim;\n return animationName;\n}\nfunction createCompoundPathCSSAnimation(el, attrs, scope) {\n var paths = el.shape.paths;\n var composedAnim = {};\n var cssAnimationCfg;\n var cssAnimationName;\n each(paths, function (path) {\n var subScope = createBrushScope(scope.zrId);\n subScope.animation = true;\n createCSSAnimation(path, {}, subScope, true);\n var cssAnims = subScope.cssAnims;\n var cssNodes = subScope.cssNodes;\n var animNames = keys(cssAnims);\n var len = animNames.length;\n if (!len) {\n return;\n }\n cssAnimationName = animNames[len - 1];\n var lastAnim = cssAnims[cssAnimationName];\n for (var percent in lastAnim) {\n var kf = lastAnim[percent];\n composedAnim[percent] = composedAnim[percent] || { d: '' };\n composedAnim[percent].d += kf.d || '';\n }\n for (var className in cssNodes) {\n var val = cssNodes[className].animation;\n if (val.indexOf(cssAnimationName) >= 0) {\n cssAnimationCfg = val;\n }\n }\n });\n if (!cssAnimationCfg) {\n return;\n }\n attrs.d = false;\n var animationName = addAnimation(composedAnim, scope);\n return cssAnimationCfg.replace(cssAnimationName, animationName);\n}\nfunction getEasingFunc(easing) {\n return isString(easing)\n ? EASING_MAP[easing]\n ? \"cubic-bezier(\" + EASING_MAP[easing] + \")\"\n : createCubicEasingFunc(easing) ? easing : ''\n : '';\n}\nexport function createCSSAnimation(el, attrs, scope, onlyShape) {\n var animators = el.animators;\n var len = animators.length;\n var cssAnimations = [];\n if (el instanceof CompoundPath) {\n var animationCfg = createCompoundPathCSSAnimation(el, attrs, scope);\n if (animationCfg) {\n cssAnimations.push(animationCfg);\n }\n else if (!len) {\n return;\n }\n }\n else if (!len) {\n return;\n }\n var groupAnimators = {};\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n var cfgArr = [animator.getMaxTime() / 1000 + 's'];\n var easing = getEasingFunc(animator.getClip().easing);\n var delay = animator.getDelay();\n if (easing) {\n cfgArr.push(easing);\n }\n else {\n cfgArr.push('linear');\n }\n if (delay) {\n cfgArr.push(delay / 1000 + 's');\n }\n if (animator.getLoop()) {\n cfgArr.push('infinite');\n }\n var cfg = cfgArr.join(' ');\n groupAnimators[cfg] = groupAnimators[cfg] || [cfg, []];\n groupAnimators[cfg][1].push(animator);\n }\n function createSingleCSSAnimation(groupAnimator) {\n var animators = groupAnimator[1];\n var len = animators.length;\n var transformKfs = {};\n var shapeKfs = {};\n var finalKfs = {};\n var animationTimingFunctionAttrName = 'animation-timing-function';\n function saveAnimatorTrackToCssKfs(animator, cssKfs, toCssAttrName) {\n var tracks = animator.getTracks();\n var maxTime = animator.getMaxTime();\n for (var k = 0; k < tracks.length; k++) {\n var track = tracks[k];\n if (track.needsAnimate()) {\n var kfs = track.keyframes;\n var attrName = track.propName;\n toCssAttrName && (attrName = toCssAttrName(attrName));\n if (attrName) {\n for (var i = 0; i < kfs.length; i++) {\n var kf = kfs[i];\n var percent = Math.round(kf.time / maxTime * 100) + '%';\n var kfEasing = getEasingFunc(kf.easing);\n var rawValue = kf.rawValue;\n if (isString(rawValue) || isNumber(rawValue)) {\n cssKfs[percent] = cssKfs[percent] || {};\n cssKfs[percent][attrName] = kf.rawValue;\n if (kfEasing) {\n cssKfs[percent][animationTimingFunctionAttrName] = kfEasing;\n }\n }\n }\n }\n }\n }\n }\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n var targetProp = animator.targetName;\n if (!targetProp) {\n !onlyShape && saveAnimatorTrackToCssKfs(animator, transformKfs);\n }\n else if (targetProp === 'shape') {\n saveAnimatorTrackToCssKfs(animator, shapeKfs);\n }\n }\n for (var percent in transformKfs) {\n var transform = {};\n copyTransform(transform, el);\n extend(transform, transformKfs[percent]);\n var str = getSRTTransformString(transform);\n var timingFunction = transformKfs[percent][animationTimingFunctionAttrName];\n finalKfs[percent] = str ? {\n transform: str\n } : {};\n setTransformOrigin(finalKfs[percent], transform);\n if (timingFunction) {\n finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;\n }\n }\n ;\n var path;\n var canAnimateShape = true;\n for (var percent in shapeKfs) {\n finalKfs[percent] = finalKfs[percent] || {};\n var isFirst = !path;\n var timingFunction = shapeKfs[percent][animationTimingFunctionAttrName];\n if (isFirst) {\n path = new PathProxy();\n }\n var len_1 = path.len();\n path.reset();\n finalKfs[percent].d = buildPathString(el, shapeKfs[percent], path);\n var newLen = path.len();\n if (!isFirst && len_1 !== newLen) {\n canAnimateShape = false;\n break;\n }\n if (timingFunction) {\n finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;\n }\n }\n ;\n if (!canAnimateShape) {\n for (var percent in finalKfs) {\n delete finalKfs[percent].d;\n }\n }\n if (!onlyShape) {\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n var targetProp = animator.targetName;\n if (targetProp === 'style') {\n saveAnimatorTrackToCssKfs(animator, finalKfs, function (propName) { return ANIMATE_STYLE_MAP[propName]; });\n }\n }\n }\n var percents = keys(finalKfs);\n var allTransformOriginSame = true;\n var transformOrigin;\n for (var i = 1; i < percents.length; i++) {\n var p0 = percents[i - 1];\n var p1 = percents[i];\n if (finalKfs[p0][transformOriginKey] !== finalKfs[p1][transformOriginKey]) {\n allTransformOriginSame = false;\n break;\n }\n transformOrigin = finalKfs[p0][transformOriginKey];\n }\n if (allTransformOriginSame && transformOrigin) {\n for (var percent in finalKfs) {\n if (finalKfs[percent][transformOriginKey]) {\n delete finalKfs[percent][transformOriginKey];\n }\n }\n attrs[transformOriginKey] = transformOrigin;\n }\n if (filter(percents, function (percent) { return keys(finalKfs[percent]).length > 0; }).length) {\n var animationName = addAnimation(finalKfs, scope);\n return animationName + \" \" + groupAnimator[0] + \" both\";\n }\n }\n for (var key in groupAnimators) {\n var animationCfg = createSingleCSSAnimation(groupAnimators[key]);\n if (animationCfg) {\n cssAnimations.push(animationCfg);\n }\n }\n if (cssAnimations.length) {\n var className = scope.zrId + '-cls-' + getClassId();\n scope.cssNodes['.' + className] = {\n animation: cssAnimations.join(',')\n };\n attrs[\"class\"] = className;\n }\n}\n", "import { liftColor } from '../tool/color.js';\nimport { getClassId } from './cssClassId.js';\nexport function createCSSEmphasis(el, attrs, scope) {\n if (!el.ignore) {\n if (el.isSilent()) {\n var style = {\n 'pointer-events': 'none'\n };\n setClassAttribute(style, attrs, scope, true);\n }\n else {\n var emphasisStyle = el.states.emphasis && el.states.emphasis.style\n ? el.states.emphasis.style\n : {};\n var fill = emphasisStyle.fill;\n if (!fill) {\n var normalFill = el.style && el.style.fill;\n var selectFill = el.states.select\n && el.states.select.style\n && el.states.select.style.fill;\n var fromFill = el.currentStates.indexOf('select') >= 0\n ? (selectFill || normalFill)\n : normalFill;\n if (fromFill) {\n fill = liftColor(fromFill);\n }\n }\n var lineWidth = emphasisStyle.lineWidth;\n if (lineWidth) {\n var scaleX = (!emphasisStyle.strokeNoScale && el.transform)\n ? el.transform[0]\n : 1;\n lineWidth = lineWidth / scaleX;\n }\n var style = {\n cursor: 'pointer'\n };\n if (fill) {\n style.fill = fill;\n }\n if (emphasisStyle.stroke) {\n style.stroke = emphasisStyle.stroke;\n }\n if (lineWidth) {\n style['stroke-width'] = lineWidth;\n }\n setClassAttribute(style, attrs, scope, true);\n }\n }\n}\nfunction setClassAttribute(style, attrs, scope, withHover) {\n var styleKey = JSON.stringify(style);\n var className = scope.cssStyleCache[styleKey];\n if (!className) {\n className = scope.zrId + '-cls-' + getClassId();\n scope.cssStyleCache[styleKey] = className;\n scope.cssNodes['.' + className + (withHover ? ':hover' : '')] = style;\n }\n attrs[\"class\"] = attrs[\"class\"] ? (attrs[\"class\"] + ' ' + className) : className;\n}\n", "import { adjustTextY, getIdURL, getMatrixStr, getPathPrecision, getShadowKey, getSRTTransformString, hasShadow, isAroundZero, isGradient, isImagePattern, isLinearGradient, isPattern, isRadialGradient, normalizeColor, round4, TEXT_ALIGN_TO_ANCHOR } from './helper.js';\nimport Path from '../graphic/Path.js';\nimport ZRImage from '../graphic/Image.js';\nimport { getLineHeight } from '../contain/text.js';\nimport TSpan from '../graphic/TSpan.js';\nimport SVGPathRebuilder from './SVGPathRebuilder.js';\nimport mapStyleToAttrs from './mapStyleToAttrs.js';\nimport { createVNode, vNodeToString, META_DATA_PREFIX } from './core.js';\nimport { assert, clone, isFunction, isString, logError, map, retrieve2 } from '../core/util.js';\nimport { createOrUpdateImage } from '../graphic/helper/image.js';\nimport { createCSSAnimation } from './cssAnimation.js';\nimport { hasSeparateFont, parseFontSize } from '../graphic/Text.js';\nimport { DEFAULT_FONT, DEFAULT_FONT_FAMILY } from '../core/platform.js';\nimport { createCSSEmphasis } from './cssEmphasis.js';\nimport { getElementSSRData } from '../zrender.js';\nvar round = Math.round;\nfunction isImageLike(val) {\n return val && isString(val.src);\n}\nfunction isCanvasLike(val) {\n return val && isFunction(val.toDataURL);\n}\nfunction setStyleAttrs(attrs, style, el, scope) {\n mapStyleToAttrs(function (key, val) {\n var isFillStroke = key === 'fill' || key === 'stroke';\n if (isFillStroke && isGradient(val)) {\n setGradient(style, attrs, key, scope);\n }\n else if (isFillStroke && isPattern(val)) {\n setPattern(el, attrs, key, scope);\n }\n else {\n attrs[key] = val;\n }\n if (isFillStroke && scope.ssr && val === 'none') {\n attrs['pointer-events'] = 'visible';\n }\n }, style, el, false);\n setShadow(el, attrs, scope);\n}\nfunction setMetaData(attrs, el) {\n var metaData = getElementSSRData(el);\n if (metaData) {\n metaData.each(function (val, key) {\n val != null && (attrs[(META_DATA_PREFIX + key).toLowerCase()] = val + '');\n });\n if (el.isSilent()) {\n attrs[META_DATA_PREFIX + 'silent'] = 'true';\n }\n }\n}\nfunction noRotateScale(m) {\n return isAroundZero(m[0] - 1)\n && isAroundZero(m[1])\n && isAroundZero(m[2])\n && isAroundZero(m[3] - 1);\n}\nfunction noTranslate(m) {\n return isAroundZero(m[4]) && isAroundZero(m[5]);\n}\nfunction setTransform(attrs, m, compress) {\n if (m && !(noTranslate(m) && noRotateScale(m))) {\n var mul = compress ? 10 : 1e4;\n attrs.transform = noRotateScale(m)\n ? \"translate(\" + round(m[4] * mul) / mul + \" \" + round(m[5] * mul) / mul + \")\" : getMatrixStr(m);\n }\n}\nfunction convertPolyShape(shape, attrs, mul) {\n var points = shape.points;\n var strArr = [];\n for (var i = 0; i < points.length; i++) {\n strArr.push(round(points[i][0] * mul) / mul);\n strArr.push(round(points[i][1] * mul) / mul);\n }\n attrs.points = strArr.join(' ');\n}\nfunction validatePolyShape(shape) {\n return !shape.smooth;\n}\nfunction createAttrsConvert(desc) {\n var normalizedDesc = map(desc, function (item) {\n return (typeof item === 'string' ? [item, item] : item);\n });\n return function (shape, attrs, mul) {\n for (var i = 0; i < normalizedDesc.length; i++) {\n var item = normalizedDesc[i];\n var val = shape[item[0]];\n if (val != null) {\n attrs[item[1]] = round(val * mul) / mul;\n }\n }\n };\n}\nvar builtinShapesDef = {\n circle: [createAttrsConvert(['cx', 'cy', 'r'])],\n polyline: [convertPolyShape, validatePolyShape],\n polygon: [convertPolyShape, validatePolyShape]\n};\nfunction hasShapeAnimation(el) {\n var animators = el.animators;\n for (var i = 0; i < animators.length; i++) {\n if (animators[i].targetName === 'shape') {\n return true;\n }\n }\n return false;\n}\nexport function brushSVGPath(el, scope) {\n var style = el.style;\n var shape = el.shape;\n var builtinShpDef = builtinShapesDef[el.type];\n var attrs = {};\n var needsAnimate = scope.animation;\n var svgElType = 'path';\n var strokePercent = el.style.strokePercent;\n var precision = (scope.compress && getPathPrecision(el)) || 4;\n if (builtinShpDef\n && !scope.willUpdate\n && !(builtinShpDef[1] && !builtinShpDef[1](shape))\n && !(needsAnimate && hasShapeAnimation(el))\n && !(strokePercent < 1)) {\n svgElType = el.type;\n var mul = Math.pow(10, precision);\n builtinShpDef[0](shape, attrs, mul);\n }\n else {\n var needBuildPath = !el.path || el.shapeChanged();\n if (!el.path) {\n el.createPathProxy();\n }\n var path = el.path;\n if (needBuildPath) {\n path.beginPath();\n el.buildPath(path, el.shape);\n el.pathUpdated();\n }\n var pathVersion = path.getVersion();\n var elExt = el;\n var svgPathBuilder = elExt.__svgPathBuilder;\n if (elExt.__svgPathVersion !== pathVersion\n || !svgPathBuilder\n || strokePercent !== elExt.__svgPathStrokePercent) {\n if (!svgPathBuilder) {\n svgPathBuilder = elExt.__svgPathBuilder = new SVGPathRebuilder();\n }\n svgPathBuilder.reset(precision);\n path.rebuildPath(svgPathBuilder, strokePercent);\n svgPathBuilder.generateStr();\n elExt.__svgPathVersion = pathVersion;\n elExt.__svgPathStrokePercent = strokePercent;\n }\n attrs.d = svgPathBuilder.getStr();\n }\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n setMetaData(attrs, el);\n scope.animation && createCSSAnimation(el, attrs, scope);\n scope.emphasis && createCSSEmphasis(el, attrs, scope);\n return createVNode(svgElType, el.id + '', attrs);\n}\nexport function brushSVGImage(el, scope) {\n var style = el.style;\n var image = style.image;\n if (image && !isString(image)) {\n if (isImageLike(image)) {\n image = image.src;\n }\n else if (isCanvasLike(image)) {\n image = image.toDataURL();\n }\n }\n if (!image) {\n return;\n }\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var attrs = {\n href: image,\n width: dw,\n height: dh\n };\n if (x) {\n attrs.x = x;\n }\n if (y) {\n attrs.y = y;\n }\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n setMetaData(attrs, el);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode('image', el.id + '', attrs);\n}\n;\nexport function brushSVGTSpan(el, scope) {\n var style = el.style;\n var text = style.text;\n text != null && (text += '');\n if (!text || isNaN(style.x) || isNaN(style.y)) {\n return;\n }\n var font = style.font || DEFAULT_FONT;\n var x = style.x || 0;\n var y = adjustTextY(style.y || 0, getLineHeight(font), style.textBaseline);\n var textAlign = TEXT_ALIGN_TO_ANCHOR[style.textAlign]\n || style.textAlign;\n var attrs = {\n 'dominant-baseline': 'central',\n 'text-anchor': textAlign\n };\n if (hasSeparateFont(style)) {\n var separatedFontStr = '';\n var fontStyle = style.fontStyle;\n var fontSize = parseFontSize(style.fontSize);\n if (!parseFloat(fontSize)) {\n return;\n }\n var fontFamily = style.fontFamily || DEFAULT_FONT_FAMILY;\n var fontWeight = style.fontWeight;\n separatedFontStr += \"font-size:\" + fontSize + \";font-family:\" + fontFamily + \";\";\n if (fontStyle && fontStyle !== 'normal') {\n separatedFontStr += \"font-style:\" + fontStyle + \";\";\n }\n if (fontWeight && fontWeight !== 'normal') {\n separatedFontStr += \"font-weight:\" + fontWeight + \";\";\n }\n attrs.style = separatedFontStr;\n }\n else {\n attrs.style = \"font: \" + font;\n }\n if (text.match(/\\s/)) {\n attrs['xml:space'] = 'preserve';\n }\n if (x) {\n attrs.x = x;\n }\n if (y) {\n attrs.y = y;\n }\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n setMetaData(attrs, el);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode('text', el.id + '', attrs, undefined, text);\n}\nexport function brush(el, scope) {\n if (el instanceof Path) {\n return brushSVGPath(el, scope);\n }\n else if (el instanceof ZRImage) {\n return brushSVGImage(el, scope);\n }\n else if (el instanceof TSpan) {\n return brushSVGTSpan(el, scope);\n }\n}\nfunction setShadow(el, attrs, scope) {\n var style = el.style;\n if (hasShadow(style)) {\n var shadowKey = getShadowKey(el);\n var shadowCache = scope.shadowCache;\n var shadowId = shadowCache[shadowKey];\n if (!shadowId) {\n var globalScale = el.getGlobalScale();\n var scaleX = globalScale[0];\n var scaleY = globalScale[1];\n if (!scaleX || !scaleY) {\n return;\n }\n var offsetX = style.shadowOffsetX || 0;\n var offsetY = style.shadowOffsetY || 0;\n var blur_1 = style.shadowBlur;\n var _a = normalizeColor(style.shadowColor), opacity = _a.opacity, color = _a.color;\n var stdDx = blur_1 / 2 / scaleX;\n var stdDy = blur_1 / 2 / scaleY;\n var stdDeviation = stdDx + ' ' + stdDy;\n shadowId = scope.zrId + '-s' + scope.shadowIdx++;\n scope.defs[shadowId] = createVNode('filter', shadowId, {\n 'id': shadowId,\n 'x': '-100%',\n 'y': '-100%',\n 'width': '300%',\n 'height': '300%'\n }, [\n createVNode('feDropShadow', '', {\n 'dx': offsetX / scaleX,\n 'dy': offsetY / scaleY,\n 'stdDeviation': stdDeviation,\n 'flood-color': color,\n 'flood-opacity': opacity\n })\n ]);\n shadowCache[shadowKey] = shadowId;\n }\n attrs.filter = getIdURL(shadowId);\n }\n}\nexport function setGradient(style, attrs, target, scope) {\n var val = style[target];\n var gradientTag;\n var gradientAttrs = {\n 'gradientUnits': val.global\n ? 'userSpaceOnUse'\n : 'objectBoundingBox'\n };\n if (isLinearGradient(val)) {\n gradientTag = 'linearGradient';\n gradientAttrs.x1 = val.x;\n gradientAttrs.y1 = val.y;\n gradientAttrs.x2 = val.x2;\n gradientAttrs.y2 = val.y2;\n }\n else if (isRadialGradient(val)) {\n gradientTag = 'radialGradient';\n gradientAttrs.cx = retrieve2(val.x, 0.5);\n gradientAttrs.cy = retrieve2(val.y, 0.5);\n gradientAttrs.r = retrieve2(val.r, 0.5);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n logError('Illegal gradient type.');\n }\n return;\n }\n var colors = val.colorStops;\n var colorStops = [];\n for (var i = 0, len = colors.length; i < len; ++i) {\n var offset = round4(colors[i].offset) * 100 + '%';\n var stopColor = colors[i].color;\n var _a = normalizeColor(stopColor), color = _a.color, opacity = _a.opacity;\n var stopsAttrs = {\n 'offset': offset\n };\n stopsAttrs['stop-color'] = color;\n if (opacity < 1) {\n stopsAttrs['stop-opacity'] = opacity;\n }\n colorStops.push(createVNode('stop', i + '', stopsAttrs));\n }\n var gradientVNode = createVNode(gradientTag, '', gradientAttrs, colorStops);\n var gradientKey = vNodeToString(gradientVNode);\n var gradientCache = scope.gradientCache;\n var gradientId = gradientCache[gradientKey];\n if (!gradientId) {\n gradientId = scope.zrId + '-g' + scope.gradientIdx++;\n gradientCache[gradientKey] = gradientId;\n gradientAttrs.id = gradientId;\n scope.defs[gradientId] = createVNode(gradientTag, gradientId, gradientAttrs, colorStops);\n }\n attrs[target] = getIdURL(gradientId);\n}\nexport function setPattern(el, attrs, target, scope) {\n var val = el.style[target];\n var boundingRect = el.getBoundingRect();\n var patternAttrs = {};\n var repeat = val.repeat;\n var noRepeat = repeat === 'no-repeat';\n var repeatX = repeat === 'repeat-x';\n var repeatY = repeat === 'repeat-y';\n var child;\n if (isImagePattern(val)) {\n var imageWidth_1 = val.imageWidth;\n var imageHeight_1 = val.imageHeight;\n var imageSrc = void 0;\n var patternImage = val.image;\n if (isString(patternImage)) {\n imageSrc = patternImage;\n }\n else if (isImageLike(patternImage)) {\n imageSrc = patternImage.src;\n }\n else if (isCanvasLike(patternImage)) {\n imageSrc = patternImage.toDataURL();\n }\n if (typeof Image === 'undefined') {\n var errMsg = 'Image width/height must been given explictly in svg-ssr renderer.';\n assert(imageWidth_1, errMsg);\n assert(imageHeight_1, errMsg);\n }\n else if (imageWidth_1 == null || imageHeight_1 == null) {\n var setSizeToVNode_1 = function (vNode, img) {\n if (vNode) {\n var svgEl = vNode.elm;\n var width = imageWidth_1 || img.width;\n var height = imageHeight_1 || img.height;\n if (vNode.tag === 'pattern') {\n if (repeatX) {\n height = 1;\n width /= boundingRect.width;\n }\n else if (repeatY) {\n width = 1;\n height /= boundingRect.height;\n }\n }\n vNode.attrs.width = width;\n vNode.attrs.height = height;\n if (svgEl) {\n svgEl.setAttribute('width', width);\n svgEl.setAttribute('height', height);\n }\n }\n };\n var createdImage = createOrUpdateImage(imageSrc, null, el, function (img) {\n noRepeat || setSizeToVNode_1(patternVNode, img);\n setSizeToVNode_1(child, img);\n });\n if (createdImage && createdImage.width && createdImage.height) {\n imageWidth_1 = imageWidth_1 || createdImage.width;\n imageHeight_1 = imageHeight_1 || createdImage.height;\n }\n }\n child = createVNode('image', 'img', {\n href: imageSrc,\n width: imageWidth_1,\n height: imageHeight_1\n });\n patternAttrs.width = imageWidth_1;\n patternAttrs.height = imageHeight_1;\n }\n else if (val.svgElement) {\n child = clone(val.svgElement);\n patternAttrs.width = val.svgWidth;\n patternAttrs.height = val.svgHeight;\n }\n if (!child) {\n return;\n }\n var patternWidth;\n var patternHeight;\n if (noRepeat) {\n patternWidth = patternHeight = 1;\n }\n else if (repeatX) {\n patternHeight = 1;\n patternWidth = patternAttrs.width / boundingRect.width;\n }\n else if (repeatY) {\n patternWidth = 1;\n patternHeight = patternAttrs.height / boundingRect.height;\n }\n else {\n patternAttrs.patternUnits = 'userSpaceOnUse';\n }\n if (patternWidth != null && !isNaN(patternWidth)) {\n patternAttrs.width = patternWidth;\n }\n if (patternHeight != null && !isNaN(patternHeight)) {\n patternAttrs.height = patternHeight;\n }\n var patternTransform = getSRTTransformString(val);\n patternTransform && (patternAttrs.patternTransform = patternTransform);\n var patternVNode = createVNode('pattern', '', patternAttrs, [child]);\n var patternKey = vNodeToString(patternVNode);\n var patternCache = scope.patternCache;\n var patternId = patternCache[patternKey];\n if (!patternId) {\n patternId = scope.zrId + '-p' + scope.patternIdx++;\n patternCache[patternKey] = patternId;\n patternAttrs.id = patternId;\n patternVNode = scope.defs[patternId] = createVNode('pattern', patternId, patternAttrs, [child]);\n }\n attrs[target] = getIdURL(patternId);\n}\nexport function setClipPath(clipPath, attrs, scope) {\n var clipPathCache = scope.clipPathCache, defs = scope.defs;\n var clipPathId = clipPathCache[clipPath.id];\n if (!clipPathId) {\n clipPathId = scope.zrId + '-c' + scope.clipPathIdx++;\n var clipPathAttrs = {\n id: clipPathId\n };\n clipPathCache[clipPath.id] = clipPathId;\n defs[clipPathId] = createVNode('clipPath', clipPathId, clipPathAttrs, [brushSVGPath(clipPath, scope)]);\n }\n attrs['clip-path'] = getIdURL(clipPathId);\n}\n", "export function createTextNode(text) {\n return document.createTextNode(text);\n}\nexport function createComment(text) {\n return document.createComment(text);\n}\nexport function insertBefore(parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\nexport function removeChild(node, child) {\n node.removeChild(child);\n}\nexport function appendChild(node, child) {\n node.appendChild(child);\n}\nexport function parentNode(node) {\n return node.parentNode;\n}\nexport function nextSibling(node) {\n return node.nextSibling;\n}\nexport function tagName(elm) {\n return elm.tagName;\n}\nexport function setTextContent(node, text) {\n node.textContent = text;\n}\nexport function getTextContent(node) {\n return node.textContent;\n}\nexport function isElement(node) {\n return node.nodeType === 1;\n}\nexport function isText(node) {\n return node.nodeType === 3;\n}\nexport function isComment(node) {\n return node.nodeType === 8;\n}\n", "import { isArray, isObject } from '../core/util.js';\nimport { createElement, createVNode, XMLNS, XML_NAMESPACE, XLINKNS } from './core.js';\nimport * as api from './domapi.js';\nvar colonChar = 58;\nvar xChar = 120;\nvar emptyNode = createVNode('', '');\nfunction isUndef(s) {\n return s === undefined;\n}\nfunction isDef(s) {\n return s !== undefined;\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var map = {};\n for (var i = beginIdx; i <= endIdx; ++i) {\n var key = children[i].key;\n if (key !== undefined) {\n if (process.env.NODE_ENV !== 'production') {\n if (map[key] != null) {\n console.error(\"Duplicate key \" + key);\n }\n }\n map[key] = i;\n }\n }\n return map;\n}\nfunction sameVnode(vnode1, vnode2) {\n var isSameKey = vnode1.key === vnode2.key;\n var isSameTag = vnode1.tag === vnode2.tag;\n return isSameTag && isSameKey;\n}\nfunction createElm(vnode) {\n var i;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n var elm = (vnode.elm = createElement(tag));\n updateAttrs(emptyNode, vnode);\n if (isArray(children)) {\n for (i = 0; i < children.length; ++i) {\n var ch = children[i];\n if (ch != null) {\n api.appendChild(elm, createElm(ch));\n }\n }\n }\n else if (isDef(vnode.text) && !isObject(vnode.text)) {\n api.appendChild(elm, api.createTextNode(vnode.text));\n }\n }\n else {\n vnode.elm = api.createTextNode(vnode.text);\n }\n return vnode.elm;\n}\nfunction addVnodes(parentElm, before, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n api.insertBefore(parentElm, createElm(ch), before);\n }\n }\n}\nfunction removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n if (isDef(ch.tag)) {\n var parent_1 = api.parentNode(ch.elm);\n api.removeChild(parent_1, ch.elm);\n }\n else {\n api.removeChild(parentElm, ch.elm);\n }\n }\n }\n}\nexport function updateAttrs(oldVnode, vnode) {\n var key;\n var elm = vnode.elm;\n var oldAttrs = oldVnode && oldVnode.attrs || {};\n var attrs = vnode.attrs || {};\n if (oldAttrs === attrs) {\n return;\n }\n for (key in attrs) {\n var cur = attrs[key];\n var old = oldAttrs[key];\n if (old !== cur) {\n if (cur === true) {\n elm.setAttribute(key, '');\n }\n else if (cur === false) {\n elm.removeAttribute(key);\n }\n else {\n if (key === 'style') {\n elm.style.cssText = cur;\n }\n else if (key.charCodeAt(0) !== xChar) {\n elm.setAttribute(key, cur);\n }\n else if (key === 'xmlns:xlink' || key === 'xmlns') {\n elm.setAttributeNS(XMLNS, key, cur);\n }\n else if (key.charCodeAt(3) === colonChar) {\n elm.setAttributeNS(XML_NAMESPACE, key, cur);\n }\n else if (key.charCodeAt(5) === colonChar) {\n elm.setAttributeNS(XLINKNS, key, cur);\n }\n else {\n elm.setAttribute(key, cur);\n }\n }\n }\n }\n for (key in oldAttrs) {\n if (!(key in attrs)) {\n elm.removeAttribute(key);\n }\n }\n}\nfunction updateChildren(parentElm, oldCh, newCh) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx;\n var idxInOld;\n var elmToMove;\n var before;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newEndVnode)) {\n patchVnode(oldStartVnode, newEndVnode);\n api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldEndVnode, newStartVnode)) {\n patchVnode(oldEndVnode, newStartVnode);\n api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n if (isUndef(oldKeyToIdx)) {\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n }\n idxInOld = oldKeyToIdx[newStartVnode.key];\n if (isUndef(idxInOld)) {\n api.insertBefore(parentElm, createElm(newStartVnode), oldStartVnode.elm);\n }\n else {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.tag !== newStartVnode.tag) {\n api.insertBefore(parentElm, createElm(newStartVnode), oldStartVnode.elm);\n }\n else {\n patchVnode(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n if (oldStartIdx > oldEndIdx) {\n before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx);\n }\n else {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n}\nfunction patchVnode(oldVnode, vnode) {\n var elm = (vnode.elm = oldVnode.elm);\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (oldVnode === vnode) {\n return;\n }\n updateAttrs(oldVnode, vnode);\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) {\n updateChildren(elm, oldCh, ch);\n }\n }\n else if (isDef(ch)) {\n if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n addVnodes(elm, null, ch, 0, ch.length - 1);\n }\n else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n else if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n }\n else if (oldVnode.text !== vnode.text) {\n if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n api.setTextContent(elm, vnode.text);\n }\n}\nexport default function patch(oldVnode, vnode) {\n if (sameVnode(oldVnode, vnode)) {\n patchVnode(oldVnode, vnode);\n }\n else {\n var elm = oldVnode.elm;\n var parent_2 = api.parentNode(elm);\n createElm(vnode);\n if (parent_2 !== null) {\n api.insertBefore(parent_2, vnode.elm, api.nextSibling(elm));\n removeVnodes(parent_2, [oldVnode], 0, 0);\n }\n }\n return vnode;\n}\n", "import { brush, setClipPath, setGradient, setPattern } from './graphic.js';\nimport { createElement, createVNode, vNodeToString, getCssString, createBrushScope, createSVGVNode } from './core.js';\nimport { normalizeColor, encodeBase64, isGradient, isPattern } from './helper.js';\nimport { extend, keys, logError, map, noop, retrieve2 } from '../core/util.js';\nimport patch, { updateAttrs } from './patch.js';\nimport { getSize } from '../canvas/helper.js';\nvar svgId = 0;\nvar SVGPainter = (function () {\n function SVGPainter(root, storage, opts) {\n this.type = 'svg';\n this.configLayer = createMethodNotSupport('configLayer');\n this.storage = storage;\n this._opts = opts = extend({}, opts);\n this.root = root;\n this._id = 'zr' + svgId++;\n this._oldVNode = createSVGVNode(opts.width, opts.height);\n if (root && !opts.ssr) {\n var viewport = this._viewport = document.createElement('div');\n viewport.style.cssText = 'position:relative;overflow:hidden';\n var svgDom = this._svgDom = this._oldVNode.elm = createElement('svg');\n updateAttrs(null, this._oldVNode);\n viewport.appendChild(svgDom);\n root.appendChild(viewport);\n }\n this.resize(opts.width, opts.height);\n }\n SVGPainter.prototype.getType = function () {\n return this.type;\n };\n SVGPainter.prototype.getViewportRoot = function () {\n return this._viewport;\n };\n SVGPainter.prototype.getViewportRootOffset = function () {\n var viewportRoot = this.getViewportRoot();\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n };\n SVGPainter.prototype.getSvgDom = function () {\n return this._svgDom;\n };\n SVGPainter.prototype.refresh = function () {\n if (this.root) {\n var vnode = this.renderToVNode({\n willUpdate: true\n });\n vnode.attrs.style = 'position:absolute;left:0;top:0;user-select:none';\n patch(this._oldVNode, vnode);\n this._oldVNode = vnode;\n }\n };\n SVGPainter.prototype.renderOneToVNode = function (el) {\n return brush(el, createBrushScope(this._id));\n };\n SVGPainter.prototype.renderToVNode = function (opts) {\n opts = opts || {};\n var list = this.storage.getDisplayList(true);\n var width = this._width;\n var height = this._height;\n var scope = createBrushScope(this._id);\n scope.animation = opts.animation;\n scope.willUpdate = opts.willUpdate;\n scope.compress = opts.compress;\n scope.emphasis = opts.emphasis;\n scope.ssr = this._opts.ssr;\n var children = [];\n var bgVNode = this._bgVNode = createBackgroundVNode(width, height, this._backgroundColor, scope);\n bgVNode && children.push(bgVNode);\n var mainVNode = !opts.compress\n ? (this._mainVNode = createVNode('g', 'main', {}, [])) : null;\n this._paintList(list, scope, mainVNode ? mainVNode.children : children);\n mainVNode && children.push(mainVNode);\n var defs = map(keys(scope.defs), function (id) { return scope.defs[id]; });\n if (defs.length) {\n children.push(createVNode('defs', 'defs', {}, defs));\n }\n if (opts.animation) {\n var animationCssStr = getCssString(scope.cssNodes, scope.cssAnims, { newline: true });\n if (animationCssStr) {\n var styleNode = createVNode('style', 'stl', {}, [], animationCssStr);\n children.push(styleNode);\n }\n }\n return createSVGVNode(width, height, children, opts.useViewBox);\n };\n SVGPainter.prototype.renderToString = function (opts) {\n opts = opts || {};\n return vNodeToString(this.renderToVNode({\n animation: retrieve2(opts.cssAnimation, true),\n emphasis: retrieve2(opts.cssEmphasis, true),\n willUpdate: false,\n compress: true,\n useViewBox: retrieve2(opts.useViewBox, true)\n }), { newline: true });\n };\n SVGPainter.prototype.setBackgroundColor = function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n };\n SVGPainter.prototype.getSvgRoot = function () {\n return this._mainVNode && this._mainVNode.elm;\n };\n SVGPainter.prototype._paintList = function (list, scope, out) {\n var listLen = list.length;\n var clipPathsGroupsStack = [];\n var clipPathsGroupsStackDepth = 0;\n var currentClipPathGroup;\n var prevClipPaths;\n var clipGroupNodeIdx = 0;\n for (var i = 0; i < listLen; i++) {\n var displayable = list[i];\n if (!displayable.invisible) {\n var clipPaths = displayable.__clipPaths;\n var len = clipPaths && clipPaths.length || 0;\n var prevLen = prevClipPaths && prevClipPaths.length || 0;\n var lca = void 0;\n for (lca = Math.max(len - 1, prevLen - 1); lca >= 0; lca--) {\n if (clipPaths && prevClipPaths\n && clipPaths[lca] === prevClipPaths[lca]) {\n break;\n }\n }\n for (var i_1 = prevLen - 1; i_1 > lca; i_1--) {\n clipPathsGroupsStackDepth--;\n currentClipPathGroup = clipPathsGroupsStack[clipPathsGroupsStackDepth - 1];\n }\n for (var i_2 = lca + 1; i_2 < len; i_2++) {\n var groupAttrs = {};\n setClipPath(clipPaths[i_2], groupAttrs, scope);\n var g = createVNode('g', 'clip-g-' + clipGroupNodeIdx++, groupAttrs, []);\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(g);\n clipPathsGroupsStack[clipPathsGroupsStackDepth++] = g;\n currentClipPathGroup = g;\n }\n prevClipPaths = clipPaths;\n var ret = brush(displayable, scope);\n if (ret) {\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(ret);\n }\n }\n }\n };\n SVGPainter.prototype.resize = function (width, height) {\n var opts = this._opts;\n var root = this.root;\n var viewport = this._viewport;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n if (root && viewport) {\n viewport.style.display = 'none';\n width = getSize(root, 0, opts);\n height = getSize(root, 1, opts);\n viewport.style.display = '';\n }\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n if (viewport) {\n var viewportStyle = viewport.style;\n viewportStyle.width = width + 'px';\n viewportStyle.height = height + 'px';\n }\n if (!isPattern(this._backgroundColor)) {\n var svgDom = this._svgDom;\n if (svgDom) {\n svgDom.setAttribute('width', width);\n svgDom.setAttribute('height', height);\n }\n var bgEl = this._bgVNode && this._bgVNode.elm;\n if (bgEl) {\n bgEl.setAttribute('width', width);\n bgEl.setAttribute('height', height);\n }\n }\n else {\n this.refresh();\n }\n }\n };\n SVGPainter.prototype.getWidth = function () {\n return this._width;\n };\n SVGPainter.prototype.getHeight = function () {\n return this._height;\n };\n SVGPainter.prototype.dispose = function () {\n if (this.root) {\n this.root.innerHTML = '';\n }\n this._svgDom =\n this._viewport =\n this.storage =\n this._oldVNode =\n this._bgVNode =\n this._mainVNode = null;\n };\n SVGPainter.prototype.clear = function () {\n if (this._svgDom) {\n this._svgDom.innerHTML = null;\n }\n this._oldVNode = null;\n };\n SVGPainter.prototype.toDataURL = function (base64) {\n var str = this.renderToString();\n var prefix = 'data:image/svg+xml;';\n if (base64) {\n str = encodeBase64(str);\n return str && prefix + 'base64,' + str;\n }\n return prefix + 'charset=UTF-8,' + encodeURIComponent(str);\n };\n return SVGPainter;\n}());\nfunction createMethodNotSupport(method) {\n return function () {\n if (process.env.NODE_ENV !== 'production') {\n logError('In SVG mode painter not support method \"' + method + '\"');\n }\n };\n}\nfunction createBackgroundVNode(width, height, backgroundColor, scope) {\n var bgVNode;\n if (backgroundColor && backgroundColor !== 'none') {\n bgVNode = createVNode('rect', 'bg', {\n width: width,\n height: height,\n x: '0',\n y: '0'\n });\n if (isGradient(backgroundColor)) {\n setGradient({ fill: backgroundColor }, bgVNode.attrs, 'fill', scope);\n }\n else if (isPattern(backgroundColor)) {\n setPattern({\n style: {\n fill: backgroundColor\n },\n dirty: noop,\n getBoundingRect: function () { return ({ width: width, height: height }); }\n }, bgVNode.attrs, 'fill', scope);\n }\n else {\n var _a = normalizeColor(backgroundColor), color = _a.color, opacity = _a.opacity;\n bgVNode.attrs.fill = color;\n opacity < 1 && (bgVNode.attrs['fill-opacity'] = opacity);\n }\n }\n return bgVNode;\n}\nexport default SVGPainter;\n", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport SVGPainter from 'zrender/lib/svg/Painter.js';\nexport function install(registers) {\n registers.registerPainter('svg', SVGPainter);\n}", "import { __extends } from \"tslib\";\nimport * as util from '../core/util.js';\nimport { devicePixelRatio } from '../config.js';\nimport { INCREMENTAL_ID_FALSE, ZLEVEL2_NORMAL_BELOW } from '../core/types.js';\nimport Eventful from '../core/Eventful.js';\nimport { getCanvasGradient } from './helper.js';\nimport { createCanvasPattern } from './graphic.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport { REDRAW_BIT } from '../graphic/constants.js';\nimport { platformApi } from '../core/platform.js';\nfunction createDom(id, painter, dpr) {\n var newDom = platformApi.createCanvas();\n var width = painter.getWidth();\n var height = painter.getHeight();\n var newDomStyle = newDom.style;\n if (newDomStyle) {\n newDomStyle.position = 'absolute';\n newDomStyle.left = '0';\n newDomStyle.top = '0';\n newDomStyle.width = width + 'px';\n newDomStyle.height = height + 'px';\n newDom.setAttribute('data-zr-dom-id', id);\n }\n newDom.width = width * dpr;\n newDom.height = height * dpr;\n return newDom;\n}\nexport function isIncrementalLayer(layer) {\n return !layer.__cursors.get(INCREMENTAL_ID_FALSE);\n}\nfunction getStartEndFromCursor(layer) {\n var cursor = layer.__cursors.get(INCREMENTAL_ID_FALSE);\n return {\n startIdx: cursor ? cursor.startIdx : 0,\n endIdx: cursor ? cursor.endIdx : 0\n };\n}\n;\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, painter, dpr) {\n var _this = _super.call(this) || this;\n _this.motionBlur = false;\n _this.lastFrameAlpha = 0.7;\n _this.dpr = 1;\n _this.virtual = false;\n _this.config = {};\n _this.zlevel = 0;\n _this.zlevel2 = ZLEVEL2_NORMAL_BELOW;\n _this.maxRepaintRectCount = 5;\n _this.__dirty = true;\n _this.__firstTimePaint = true;\n _this.__prevIdx = { startIdx: 0, endIdx: 0 };\n var dom;\n dpr = dpr || devicePixelRatio;\n if (typeof id === 'string') {\n dom = createDom(id, painter, dpr);\n }\n else if (util.isObject(id)) {\n dom = id;\n id = dom.id;\n }\n _this.id = id;\n _this.dom = dom;\n var domStyle = dom.style;\n if (domStyle) {\n util.disableUserSelect(dom);\n dom.onselectstart = function () { return false; };\n domStyle.padding = '0';\n domStyle.margin = '0';\n domStyle.borderWidth = '0';\n }\n _this.painter = painter;\n _this.dpr = dpr;\n return _this;\n }\n Layer.prototype.afterBrush = function () {\n this.__prevIdx = getStartEndFromCursor(this);\n };\n Layer.prototype.initContext = function () {\n this.ctx = this.dom.getContext('2d');\n this.ctx.dpr = this.dpr;\n };\n Layer.prototype.setUnpainted = function () {\n this.__firstTimePaint = true;\n };\n Layer.prototype.createBackBuffer = function () {\n var dpr = this.dpr;\n this.domBack = createDom('back-' + this.id, this.painter, dpr);\n this.ctxBack = this.domBack.getContext('2d');\n if (dpr !== 1) {\n this.ctxBack.scale(dpr, dpr);\n }\n };\n Layer.prototype.createRepaintRects = function (displayList, prevList, viewWidth, viewHeight) {\n if (this.__firstTimePaint) {\n this.__firstTimePaint = false;\n return null;\n }\n var mergedRepaintRects = [];\n var maxRepaintRectCount = this.maxRepaintRectCount;\n var full = false;\n var pendingRect = new BoundingRect(0, 0, 0, 0);\n function addRectToMergePool(rect) {\n if (!rect.isFinite() || rect.isZero()) {\n return;\n }\n if (mergedRepaintRects.length === 0) {\n var boundingRect = new BoundingRect(0, 0, 0, 0);\n boundingRect.copy(rect);\n mergedRepaintRects.push(boundingRect);\n }\n else {\n var isMerged = false;\n var minDeltaArea = Infinity;\n var bestRectToMergeIdx = 0;\n for (var i = 0; i < mergedRepaintRects.length; ++i) {\n var mergedRect = mergedRepaintRects[i];\n if (mergedRect.intersect(rect)) {\n var pendingRect_1 = new BoundingRect(0, 0, 0, 0);\n pendingRect_1.copy(mergedRect);\n pendingRect_1.union(rect);\n mergedRepaintRects[i] = pendingRect_1;\n isMerged = true;\n break;\n }\n else if (full) {\n pendingRect.copy(rect);\n pendingRect.union(mergedRect);\n var aArea = rect.width * rect.height;\n var bArea = mergedRect.width * mergedRect.height;\n var pendingArea = pendingRect.width * pendingRect.height;\n var deltaArea = pendingArea - aArea - bArea;\n if (deltaArea < minDeltaArea) {\n minDeltaArea = deltaArea;\n bestRectToMergeIdx = i;\n }\n }\n }\n if (full) {\n mergedRepaintRects[bestRectToMergeIdx].union(rect);\n isMerged = true;\n }\n if (!isMerged) {\n var boundingRect = new BoundingRect(0, 0, 0, 0);\n boundingRect.copy(rect);\n mergedRepaintRects.push(boundingRect);\n }\n if (!full) {\n full = mergedRepaintRects.length >= maxRepaintRectCount;\n }\n }\n }\n var se = getStartEndFromCursor(this);\n for (var i = se.startIdx; i < se.endIdx; ++i) {\n var el = displayList[i];\n if (el) {\n var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);\n var prevRect = el.__isRendered && ((el.__dirty & REDRAW_BIT) || !shouldPaint)\n ? el.getPrevPaintRect()\n : null;\n if (prevRect) {\n addRectToMergePool(prevRect);\n }\n var curRect = shouldPaint && ((el.__dirty & REDRAW_BIT) || !el.__isRendered)\n ? el.getPaintRect()\n : null;\n if (curRect) {\n addRectToMergePool(curRect);\n }\n }\n }\n var prevIdx = this.__prevIdx;\n for (var i = prevIdx.startIdx; i < prevIdx.endIdx; ++i) {\n var el = prevList[i];\n var shouldPaint = el && el.shouldBePainted(viewWidth, viewHeight, true, true);\n if (el && (!shouldPaint || !el.__zr) && el.__isRendered) {\n var prevRect = el.getPrevPaintRect();\n if (prevRect) {\n addRectToMergePool(prevRect);\n }\n }\n }\n var hasIntersections;\n do {\n hasIntersections = false;\n for (var i = 0; i < mergedRepaintRects.length;) {\n if (mergedRepaintRects[i].isZero()) {\n mergedRepaintRects.splice(i, 1);\n continue;\n }\n for (var j = i + 1; j < mergedRepaintRects.length;) {\n if (mergedRepaintRects[i].intersect(mergedRepaintRects[j])) {\n hasIntersections = true;\n mergedRepaintRects[i].union(mergedRepaintRects[j]);\n mergedRepaintRects.splice(j, 1);\n }\n else {\n j++;\n }\n }\n i++;\n }\n } while (hasIntersections);\n this._paintRects = mergedRepaintRects;\n return mergedRepaintRects;\n };\n Layer.prototype.debugGetPaintRects = function () {\n return (this._paintRects || []).slice();\n };\n Layer.prototype.resize = function (width, height) {\n var dpr = this.dpr;\n var dom = this.dom;\n var domStyle = dom.style;\n var domBack = this.domBack;\n if (domStyle) {\n domStyle.width = width + 'px';\n domStyle.height = height + 'px';\n }\n dom.width = width * dpr;\n dom.height = height * dpr;\n if (domBack) {\n domBack.width = width * dpr;\n domBack.height = height * dpr;\n if (dpr !== 1) {\n this.ctxBack.scale(dpr, dpr);\n }\n }\n };\n Layer.prototype.clear = function (clearAll, clearColor, repaintRects) {\n var dom = this.dom;\n var ctx = this.ctx;\n var width = dom.width;\n var height = dom.height;\n clearColor = clearColor || this.clearColor;\n var haveMotionBLur = this.motionBlur && !clearAll;\n var lastFrameAlpha = this.lastFrameAlpha;\n var dpr = this.dpr;\n var self = this;\n if (haveMotionBLur) {\n if (!this.domBack) {\n this.createBackBuffer();\n }\n this.ctxBack.globalCompositeOperation = 'copy';\n this.ctxBack.drawImage(dom, 0, 0, width / dpr, height / dpr);\n }\n var domBack = this.domBack;\n function doClear(x, y, width, height) {\n ctx.clearRect(x, y, width, height);\n if (clearColor && clearColor !== 'transparent') {\n var clearColorGradientOrPattern = void 0;\n if (util.isGradientObject(clearColor)) {\n var shouldCache = clearColor.global || (clearColor.__width === width\n && clearColor.__height === height);\n clearColorGradientOrPattern = shouldCache\n && clearColor.__canvasGradient\n || getCanvasGradient(ctx, clearColor, {\n x: 0,\n y: 0,\n width: width,\n height: height\n });\n clearColor.__canvasGradient = clearColorGradientOrPattern;\n clearColor.__width = width;\n clearColor.__height = height;\n }\n else if (util.isImagePatternObject(clearColor)) {\n clearColor.scaleX = clearColor.scaleX || dpr;\n clearColor.scaleY = clearColor.scaleY || dpr;\n clearColorGradientOrPattern = createCanvasPattern(ctx, clearColor, {\n dirty: function () {\n self.setUnpainted();\n self.painter.refresh();\n }\n });\n }\n ctx.save();\n ctx.fillStyle = clearColorGradientOrPattern || clearColor;\n ctx.fillRect(x, y, width, height);\n ctx.restore();\n }\n if (haveMotionBLur) {\n ctx.save();\n ctx.globalAlpha = lastFrameAlpha;\n ctx.drawImage(domBack, x, y, width, height);\n ctx.restore();\n }\n }\n ;\n if (!repaintRects || haveMotionBLur) {\n doClear(0, 0, width, height);\n }\n else if (repaintRects.length) {\n util.each(repaintRects, function (rect) {\n doClear(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n });\n }\n };\n return Layer;\n}(Eventful));\nexport default Layer;\n", "import { devicePixelRatio } from '../config.js';\nimport * as util from '../core/util.js';\nimport Layer, { isIncrementalLayer } from './Layer.js';\nimport requestAnimationFrame from '../animation/requestAnimationFrame.js';\nimport env from '../core/env.js';\nimport { ZLEVEL2_INCREMENTAL, ZLEVEL2_NORMAL_ABOVE, ZLEVEL2_NORMAL_BELOW } from '../core/types.js';\nimport { brush, brushLoopFinalize, brushSingle } from './graphic.js';\nimport { REDRAW_BIT } from '../graphic/constants.js';\nimport { getSize } from './helper.js';\nimport { platformApi } from '../core/platform.js';\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar HOVER_LAYER_DIRTY_NO = undefined;\nvar HOVER_LAYER_DIRTY_REPAINT_IF_EXISTING = 1;\nvar HOVER_LAYER_DIRTY_REPAINT = 2;\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n if (layer.__builtin__) {\n return true;\n }\n if (typeof (layer.resize) !== 'function'\n || typeof (layer.refresh) !== 'function') {\n return false;\n }\n return true;\n}\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div');\n domRoot.style.cssText = [\n 'position:relative',\n 'width:' + width + 'px',\n 'height:' + height + 'px',\n 'padding:0',\n 'margin:0',\n 'border-width:0'\n ].join(';') + ';';\n return domRoot;\n}\nfunction createBuiltinLayer(id, painter, zlevel, zlevel2) {\n var layer = new Layer(id, painter, painter.dpr);\n layer.zlevel = zlevel;\n layer.zlevel2 = zlevel2;\n layer.__builtin__ = true;\n resetLayerDrawCursors(layer);\n return layer;\n}\nfunction resetLayerDrawCursors(layer) {\n layer.__cursorStack = [];\n layer.__cursors = util.createHashMap();\n}\nfunction resetLayerDrawCursor(cursor) {\n cursor.startIdx = cursor.drawIdx = cursor.endIdx = cursor.endIdxNew = 0;\n cursor.used = false;\n cursor.first = cursor.last = NaN;\n cursor.notClearIdx = -1;\n return cursor;\n}\nfunction ensureLayerDrawCursor(layer, incrementalCompat) {\n var cursors = layer.__cursors;\n var incremental = +incrementalCompat;\n return cursors.get(incremental)\n || (layer.__cursorStack.push(incremental),\n cursors.set(incremental, resetLayerDrawCursor({ key: incremental })));\n}\nfunction eachCursorInLayer(layer, cb) {\n var cursorStack = layer.__cursorStack;\n for (var i = 0; i < cursorStack.length; i++) {\n cb(layer.__cursors.get(cursorStack[i]));\n }\n}\nfunction ensureLayerListInZLevel(internal, zlevel) {\n var layers = internal.layers;\n return layers[zlevel] || (layers[zlevel] = new Array(3));\n}\nfunction eachLayer(internal, cb, filter) {\n var layerStack = internal.layerStack;\n for (var i = 0; i < layerStack.length; i++) {\n var zlevel = layerStack[i].zl;\n var zlevel2 = layerStack[i].zl2;\n var layer = internal.layers[zlevel][zlevel2];\n if (!filter || ((!(filter & EACH_LAYER_BUILTIN) || layer.__builtin__)\n && (!(filter & EACH_LAYER_NOT_BUILTIN) || !layer.__builtin__)\n && (!(filter & EACH_LAYER_NOT_HOVER) || layer !== internal.hoverlayer))) {\n cb(layer, zlevel, zlevel2, i);\n }\n }\n}\nvar EACH_LAYER_BUILTIN = 1;\nvar EACH_LAYER_NOT_BUILTIN = 2;\nvar EACH_LAYER_NOT_HOVER = 4;\nvar EACH_LAYER_BUILTIN_NOT_HOVER = EACH_LAYER_BUILTIN | EACH_LAYER_NOT_HOVER;\nvar CanvasPainter = (function () {\n function CanvasPainter(root, storage, opts, id) {\n this.type = 'canvas';\n this._prevDisplayList = [];\n this._layerConfig = {};\n this._needsManuallyCompositing = false;\n this.type = 'canvas';\n this._i = {\n layerStack: [],\n layers: []\n };\n var singleCanvas = !root.nodeName\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n this._singleCanvas = singleCanvas;\n this.root = root;\n var rootStyle = root.style;\n if (rootStyle) {\n util.disableUserSelect(root);\n root.innerHTML = '';\n }\n this.storage = storage;\n this._prevDisplayList = [];\n if (!singleCanvas) {\n this._width = getSize(root, 0, opts);\n this._height = getSize(root, 1, opts);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n }\n else {\n var rootCanvas = root;\n var width = rootCanvas.width;\n var height = rootCanvas.height;\n if (opts.width != null) {\n width = opts.width;\n }\n if (opts.height != null) {\n height = opts.height;\n }\n this.dpr = opts.devicePixelRatio || 1;\n rootCanvas.width = width * this.dpr;\n rootCanvas.height = height * this.dpr;\n this._width = width;\n this._height = height;\n var singleLayer = createBuiltinLayer(rootCanvas, this, CANVAS_ZLEVEL, ZLEVEL2_NORMAL_BELOW);\n singleLayer.initContext();\n this._insertLayer(singleLayer, CANVAS_ZLEVEL, ZLEVEL2_NORMAL_BELOW, true);\n this._domRoot = root;\n }\n }\n CanvasPainter.prototype.getType = function () {\n return 'canvas';\n };\n CanvasPainter.prototype.isSingleCanvas = function () {\n return this._singleCanvas;\n };\n CanvasPainter.prototype.getViewportRoot = function () {\n return this._domRoot;\n };\n CanvasPainter.prototype.getViewportRootOffset = function () {\n var viewportRoot = this.getViewportRoot();\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n };\n CanvasPainter.prototype.refresh = function (optOrPaintAll) {\n var opt;\n if (optOrPaintAll && !util.isObject(optOrPaintAll)) {\n opt = { paintAll: !!optOrPaintAll };\n }\n else {\n opt = optOrPaintAll || {};\n }\n var refresh = util.retrieve2(opt.refresh, true);\n var refreshHover = util.retrieve2(opt.refreshHover, false);\n if (refreshHover) {\n this._hoverLayerDirty = HOVER_LAYER_DIRTY_REPAINT;\n }\n if (!refresh) {\n if (refreshHover) {\n this._paintHoverList(this.storage.getDisplayList(false));\n }\n return this;\n }\n var list = this.storage.getDisplayList(true);\n this._updateLayerStatus(list, opt.paintAll);\n this._redrawId = Math.random();\n var prevList = this._prevDisplayList;\n this._paintList(list, prevList, this._redrawId);\n var bgColor = this._backgroundColor;\n eachLayer(this._i, function (layer, zlevel, zlevel2, idx) {\n if (layer.refresh) {\n layer.refresh(idx === 0 ? bgColor : null);\n }\n }, EACH_LAYER_NOT_BUILTIN);\n if (this._opts.useDirtyRect) {\n this._prevDisplayList = list.slice();\n }\n return this;\n };\n CanvasPainter.prototype._paintHoverList = function (list) {\n var hoverLayer = this._i.hoverlayer;\n var hoverLayerDirty = this._hoverLayerDirty;\n this._hoverLayerDirty = HOVER_LAYER_DIRTY_NO;\n if (hoverLayerDirty === HOVER_LAYER_DIRTY_NO) {\n return;\n }\n if (!hoverLayer && hoverLayerDirty === HOVER_LAYER_DIRTY_REPAINT) {\n hoverLayer = this._i.hoverlayer = this._ensureLayer(HOVER_LAYER_ZLEVEL);\n }\n if (!hoverLayer) {\n return;\n }\n hoverLayer.clear();\n var scope = {\n inHover: true,\n viewWidth: this._width,\n viewHeight: this._height,\n beforeBrushParam: {}\n };\n var ctx;\n for (var i = 0, len = list.length; i < len; i++) {\n var el = list[i];\n if (!el.__inHover) {\n continue;\n }\n if (!ctx) {\n ctx = hoverLayer.ctx;\n ctx.save();\n }\n var hoverStyle = el.__hoverStyle;\n var originalStyle = void 0;\n if (hoverStyle) {\n originalStyle = el.style;\n el.style = hoverStyle;\n }\n brush(ctx, el, scope);\n if (hoverStyle) {\n el.style = originalStyle;\n }\n }\n if (ctx) {\n brushLoopFinalize(ctx, scope);\n ctx.restore();\n }\n };\n CanvasPainter.prototype.getHoverLayer = function () {\n return this._ensureLayer(HOVER_LAYER_ZLEVEL);\n };\n CanvasPainter.prototype.paintOne = function (ctx, el) {\n brushSingle(ctx, el);\n };\n CanvasPainter.prototype._paintList = function (list, prevList, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n var finished = this._doPaintList(list, prevList);\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n if (!finished) {\n var self_1 = this;\n requestAnimationFrame(function () {\n self_1._paintList(list, prevList, redrawId);\n });\n }\n else {\n eachLayer(this._i, function (layer) {\n layer.afterBrush && layer.afterBrush();\n }, EACH_LAYER_BUILTIN_NOT_HOVER);\n this._paintHoverList(list);\n }\n };\n CanvasPainter.prototype._compositeManually = function () {\n var ctx = this._ensureLayer(CANVAS_ZLEVEL).ctx;\n var width = this._domRoot.width;\n var height = this._domRoot.height;\n ctx.clearRect(0, 0, width, height);\n eachLayer(this._i, function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n }, EACH_LAYER_BUILTIN);\n };\n CanvasPainter.prototype._doPaintList = function (list, prevList) {\n var painter = this;\n var finished = true;\n eachLayer(this._i, function (layer) {\n var needDraw = false;\n eachCursorInLayer(layer, function (cursor) {\n if (cursor.drawIdx < cursor.endIdx\n || cursor.notClearIdx >= 0) {\n needDraw = true;\n }\n });\n if (!needDraw && !layer.__dirty) {\n return;\n }\n var repaintRects = (painter._opts.useDirtyRect && !isIncrementalLayer(layer))\n ? layer.createRepaintRects(list, prevList, painter._width, painter._height) : null;\n var firstLayerKey = painter._i.layerStack[0];\n var contentRetained = true;\n if (layer.__dirty) {\n contentRetained = false;\n layer.__dirty = false;\n var clearColor = (layer.zlevel === firstLayerKey.zl && layer.zlevel2 === firstLayerKey.zl2)\n ? painter._backgroundColor : null;\n layer.clear(false, clearColor, repaintRects);\n }\n eachCursorInLayer(layer, function (cursor) {\n var cursorFinished = painter._paintPerCursor(layer, cursor, list, repaintRects, contentRetained);\n finished = finished && cursorFinished;\n });\n }, EACH_LAYER_BUILTIN_NOT_HOVER);\n if (env.wxa) {\n eachLayer(this._i, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n return finished;\n };\n CanvasPainter.prototype._paintPerCursor = function (layer, layerCursor, list, repaintRects, contentRetained) {\n var ctx = layer.ctx;\n if (repaintRects) {\n if (!repaintRects.length) {\n layerCursor.drawIdx = layerCursor.endIdx;\n }\n else {\n var dpr = this.dpr;\n for (var r = 0; r < repaintRects.length; ++r) {\n var rect = repaintRects[r];\n ctx.save();\n ctx.beginPath();\n ctx.rect(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n ctx.clip();\n this._paintPerCursorInRect(layer, layerCursor, list, rect, contentRetained);\n ctx.restore();\n }\n }\n }\n else {\n ctx.save();\n this._paintPerCursorInRect(layer, layerCursor, list, null, contentRetained);\n ctx.restore();\n }\n return layerCursor.drawIdx >= layerCursor.endIdx;\n };\n CanvasPainter.prototype._paintPerCursorInRect = function (layer, layerCursor, list, repaintRect, contentRetained) {\n var scope = {\n inHover: false,\n allClipped: false,\n prevEl: null,\n viewWidth: this._width,\n viewHeight: this._height,\n beforeBrushParam: { contentRetained: contentRetained }\n };\n var ctx = layer.ctx;\n var useTimer = isIncrementalLayer(layer);\n var startTime = useTimer && platformApi.getTime();\n var drawIdxBegin = layerCursor.drawIdx;\n var notClearIdx = layerCursor.notClearIdx;\n var idx = notClearIdx >= 0 ? Math.min(notClearIdx, drawIdxBegin) : drawIdxBegin;\n for (; idx < layerCursor.endIdx; idx++) {\n var el = list[idx];\n if (idx < drawIdxBegin && !el.notClear) {\n continue;\n }\n if (el.__inHover) {\n this._hoverLayerDirty = HOVER_LAYER_DIRTY_REPAINT;\n }\n if (repaintRect != null) {\n var paintRect = el.getPaintRect();\n if (paintRect && paintRect.intersect(repaintRect)) {\n brush(ctx, el, scope);\n el.setPrevPaintRect(paintRect);\n }\n }\n else {\n brush(ctx, el, scope);\n }\n if (useTimer) {\n var dTime = platformApi.getTime() - startTime;\n if (dTime > 15) {\n idx++;\n break;\n }\n }\n }\n brushLoopFinalize(ctx, scope);\n layerCursor.drawIdx = Math.max(idx, drawIdxBegin);\n };\n CanvasPainter.prototype.getLayer = function (zlevel, virtual) {\n return this._ensureLayer(zlevel, 0, virtual);\n };\n CanvasPainter.prototype._ensureLayer = function (zlevel, zlevel2, virtual) {\n zlevel2 = zlevel2 || 0;\n var singleCanvas = this._singleCanvas;\n if (singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n zlevel2 = 0;\n }\n var layer = ensureLayerListInZLevel(this._i, zlevel)[zlevel2];\n if (!layer) {\n layer = createBuiltinLayer('zr_' + zlevel + '.' + zlevel2, this, zlevel, zlevel2);\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n }\n if (virtual\n || (singleCanvas && zlevel !== CANVAS_ZLEVEL)) {\n layer.virtual = true;\n }\n this._insertLayer(layer, zlevel, zlevel2, false);\n layer.initContext();\n }\n return layer;\n };\n CanvasPainter.prototype.insertLayer = function (zlevel, layer) {\n this._insertLayer(layer, zlevel, 0, false);\n };\n CanvasPainter.prototype._insertLayer = function (layer, zlevel, zlevel2, suppressDOMInsert) {\n var internal = this._i;\n var layersMap = internal.layers;\n var layerStack = internal.layerStack;\n var domRoot = this._domRoot;\n var prevLayer = null;\n if (layersMap[zlevel] && layersMap[zlevel][zlevel2]) {\n if (process.env.NODE_ENV !== 'production') {\n util.logError('ZLevel ' + zlevel + '.' + zlevel2 + ' has been used already');\n }\n return;\n }\n if (!isLayerValid(layer)) {\n if (process.env.NODE_ENV !== 'production') {\n util.logError('Layer of zlevel ' + zlevel + ' is not valid');\n }\n return;\n }\n var len = layerStack.length;\n var i = 0;\n while (i < len\n && (layerStack[i].zl < zlevel\n || (layerStack[i].zl === zlevel && layerStack[i].zl2 < zlevel2))) {\n i++;\n }\n if (i > 0) {\n prevLayer = ensureLayerListInZLevel(internal, layerStack[i - 1].zl)[layerStack[i - 1].zl2];\n }\n layerStack.splice(i, 0, { zl: zlevel, zl2: zlevel2 });\n ensureLayerListInZLevel(internal, zlevel)[zlevel2] = layer;\n if (!suppressDOMInsert && !layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n }\n else {\n domRoot.appendChild(layer.dom);\n }\n }\n else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n }\n else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n layer.painter || (layer.painter = this);\n };\n CanvasPainter.prototype.eachLayer = function (cb, context) {\n return eachLayer(this._i, function (layer, zlevel) {\n cb.call(context, layer, zlevel);\n });\n };\n CanvasPainter.prototype.eachBuiltinLayer = function (cb, context) {\n return eachLayer(this._i, function (layer, zlevel) {\n cb.call(context, layer, zlevel);\n }, EACH_LAYER_BUILTIN);\n };\n CanvasPainter.prototype.eachOtherLayer = function (cb, context) {\n return eachLayer(this._i, function (layer, zlevel) {\n cb.call(context, layer, zlevel);\n }, EACH_LAYER_NOT_BUILTIN);\n };\n CanvasPainter.prototype.getLayers = function () {\n var layers = {};\n eachLayer(this._i, function (layer, zlevel, zlevel2) {\n layers[layer.id] = layer;\n });\n return layers;\n };\n CanvasPainter.prototype._updateLayerStatus = function (list, paintAll) {\n var painter = this;\n if (painter._singleCanvas) {\n for (var i = 1; i < list.length; i++) {\n var el = list[i];\n if (el.zlevel !== list[i - 1].zlevel || el.incremental) {\n painter._needsManuallyCompositing = true;\n break;\n }\n }\n }\n eachLayer(painter._i, function (layer) {\n layer.__dirty = false;\n eachCursorInLayer(layer, function (cursor) {\n cursor.used = false;\n cursor.endIdxNew = 0;\n cursor.notClearIdx = -1;\n });\n }, EACH_LAYER_BUILTIN_NOT_HOVER);\n var prevZLevel;\n var currLayer = null;\n var currCursor = null;\n var aboveIncrementalInCurrZLevel = false;\n for (var idx = 0, len = list.length; idx < len; idx++) {\n var el = list[idx];\n var zlevel = el.zlevel;\n var elIncremental = el.incremental;\n var zlevel2 = void 0;\n if (prevZLevel !== zlevel) {\n prevZLevel = zlevel;\n aboveIncrementalInCurrZLevel = false;\n }\n if (elIncremental) {\n aboveIncrementalInCurrZLevel = true;\n zlevel2 = ZLEVEL2_INCREMENTAL;\n }\n else {\n zlevel2 = aboveIncrementalInCurrZLevel ? ZLEVEL2_NORMAL_ABOVE : ZLEVEL2_NORMAL_BELOW;\n }\n if (!currLayer || zlevel !== currLayer.zlevel || zlevel2 !== currLayer.zlevel2) {\n currLayer = painter._ensureLayer(zlevel, zlevel2);\n currCursor = null;\n if (!currLayer.__builtin__) {\n util.logError('ZLevel ' + zlevel + ' has been used by unknown layer ' + currLayer.id);\n continue;\n }\n }\n if (!currCursor || elIncremental !== currCursor.key) {\n currCursor = ensureLayerDrawCursor(currLayer, elIncremental);\n if (!currCursor.used) {\n currCursor.used = true;\n if (!paintAll && currCursor.first === el.id) {\n var idxShift = idx - currCursor.startIdx;\n currCursor.startIdx = idx;\n currCursor.drawIdx += idxShift;\n currCursor.endIdx += idxShift;\n }\n else {\n currLayer.__dirty = true;\n currCursor.first = el.id;\n currCursor.startIdx = currCursor.drawIdx = idx;\n currCursor.endIdx = idx + 1;\n }\n }\n }\n currCursor.endIdxNew = idx + 1;\n if ((el.__dirty & REDRAW_BIT)\n && !el.__inHover) {\n if (!elIncremental\n || (!el.notClear && idx < currCursor.drawIdx)) {\n currLayer.__dirty = true;\n }\n if (elIncremental && el.notClear && currCursor.notClearIdx < 0) {\n currCursor.notClearIdx = idx;\n }\n }\n }\n eachLayer(painter._i, function (layer) {\n var cursorStack = layer.__cursorStack;\n var cursors = layer.__cursors;\n for (var i = cursorStack.length - 1; i >= 0; i--) {\n var cursor = cursors.get(cursorStack[i]);\n if (!cursor.used) {\n layer.__dirty = true;\n cursors.removeKey(cursorStack[i]);\n cursorStack.splice(i, 1);\n }\n else {\n var endIdxNew = cursor.endIdxNew;\n if (isIncrementalLayer(layer)\n ? endIdxNew < cursor.drawIdx\n : (endIdxNew !== cursor.endIdx\n || !endIdxNew\n || list[endIdxNew - 1].id !== cursor.last)) {\n layer.__dirty = true;\n }\n cursor.endIdx = cursor.endIdxNew;\n cursor.last = endIdxNew ? list[endIdxNew - 1].id : NaN;\n }\n }\n if (layer.__dirty) {\n eachCursorInLayer(layer, function (cursor) {\n cursor.drawIdx = cursor.startIdx;\n });\n if (painter._hoverLayerDirty === HOVER_LAYER_DIRTY_NO) {\n painter._hoverLayerDirty = HOVER_LAYER_DIRTY_REPAINT_IF_EXISTING;\n }\n }\n }, EACH_LAYER_BUILTIN_NOT_HOVER);\n };\n CanvasPainter.prototype.clear = function () {\n eachLayer(this._i, function (layer) {\n layer.clear();\n resetLayerDrawCursors(layer);\n }, EACH_LAYER_BUILTIN);\n return this;\n };\n CanvasPainter.prototype.setBackgroundColor = function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n eachLayer(this._i, function (layer) {\n layer.setUnpainted();\n });\n };\n CanvasPainter.prototype.configLayer = function (zlevel, config) {\n if (config) {\n var layerConfig_1 = this._layerConfig;\n if (!layerConfig_1[zlevel]) {\n layerConfig_1[zlevel] = config;\n }\n else {\n util.merge(layerConfig_1[zlevel], config, true);\n }\n eachLayer(this._i, function (layer, zlevel) {\n util.merge(layer, layerConfig_1[zlevel], true);\n });\n }\n };\n CanvasPainter.prototype.delLayer = function (zlevel) {\n var layerStack = this._i.layerStack;\n var layersMap = this._i.layers;\n for (var i = layerStack.length - 1; i >= 0; i--) {\n var key = layerStack[i];\n if (key.zl === zlevel) {\n var layer = layersMap[zlevel][key.zl2];\n if (layer.__builtin__) {\n continue;\n }\n layerStack.splice(i, 1);\n layersMap[zlevel][key.zl2] = undefined;\n if (!layer.virtual) {\n var parentNode = layer.dom.parentNode;\n parentNode && parentNode.removeChild(layer.dom);\n }\n }\n }\n };\n CanvasPainter.prototype.resize = function (width, height) {\n if (!this._domRoot.style) {\n if (width == null || height == null) {\n return;\n }\n this._width = width;\n this._height = height;\n this._ensureLayer(CANVAS_ZLEVEL).resize(width, height);\n }\n else {\n var domRoot = this._domRoot;\n domRoot.style.display = 'none';\n var opts = this._opts;\n var root = this.root;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = getSize(root, 0, opts);\n height = getSize(root, 1, opts);\n domRoot.style.display = '';\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n eachLayer(this._i, function (layer) {\n layer.resize(width, height);\n });\n this.refresh({ paintAll: true });\n }\n this._width = width;\n this._height = height;\n }\n return this;\n };\n CanvasPainter.prototype.clearLayer = function (zlevel) {\n util.each(this._i.layers[zlevel], function (layer) {\n if (layer && !layer.__builtin__) {\n layer.clear();\n }\n });\n };\n CanvasPainter.prototype.dispose = function () {\n this.root.innerHTML = '';\n this.root =\n this.storage =\n this._domRoot =\n this._i = null;\n };\n CanvasPainter.prototype.getRenderedCanvas = function (opts) {\n opts = opts || {};\n if (this._singleCanvas && !this._compositeManually) {\n return this._i.layers[CANVAS_ZLEVEL][0].dom;\n }\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n var ctx = imageLayer.ctx;\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width_1 = imageLayer.dom.width;\n var height_1 = imageLayer.dom.height;\n eachLayer(this._i, function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width_1, height_1);\n }\n else if (layer.renderToCanvas) {\n ctx.save();\n layer.renderToCanvas(ctx);\n ctx.restore();\n }\n });\n }\n else {\n var scope = {\n inHover: false,\n viewWidth: this._width,\n viewHeight: this._height,\n beforeBrushParam: {}\n };\n var displayList = this.storage.getDisplayList(true);\n for (var i = 0, len = displayList.length; i < len; i++) {\n var el = displayList[i];\n brush(ctx, el, scope);\n }\n brushLoopFinalize(ctx, scope);\n }\n return imageLayer.dom;\n };\n CanvasPainter.prototype.getWidth = function () {\n return this._width;\n };\n CanvasPainter.prototype.getHeight = function () {\n return this._height;\n };\n return CanvasPainter;\n}());\nexport default CanvasPainter;\n;\n", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport CanvasPainter from 'zrender/lib/canvas/Painter.js';\nexport function install(registers) {\n registers.registerPainter('canvas', CanvasPainter);\n}"],
5
+ "mappings": "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",
6
+ "names": ["SVGPathRebuilder", "el", "animators", "len", "animator", "i", "percent", "brush", "parentNode", "map", "SVGPainter", "brush", "Layer", "i", "width", "height", "filter", "CanvasPainter", "i", "cursor", "zlevel", "parentNode", "Painter_default", "install", "Painter_default"]
7
7
  }