html2canvas-pro 2.0.4 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/README.md +8 -6
  2. package/dist/html2canvas-pro.esm.js +10103 -9993
  3. package/dist/html2canvas-pro.esm.js.map +1 -1
  4. package/dist/html2canvas-pro.js +10102 -9993
  5. package/dist/html2canvas-pro.js.map +1 -1
  6. package/dist/html2canvas-pro.min.js +5 -5
  7. package/dist/lib/config.js +3 -4
  8. package/dist/lib/core/bitwise.js +0 -1
  9. package/dist/lib/core/cache-storage.js +36 -50
  10. package/dist/lib/core/context.js +0 -1
  11. package/dist/lib/core/debugger.js +0 -1
  12. package/dist/lib/core/features.js +2 -3
  13. package/dist/lib/core/logger.js +0 -1
  14. package/dist/lib/core/origin-checker.js +0 -1
  15. package/dist/lib/core/performance-monitor.js +1 -24
  16. package/dist/lib/core/render-element.js +210 -0
  17. package/dist/lib/core/util.js +0 -1
  18. package/dist/lib/core/validator.js +0 -1
  19. package/dist/lib/css/index.js +149 -90
  20. package/dist/lib/css/layout/bounds.js +0 -1
  21. package/dist/lib/css/layout/text.js +0 -1
  22. package/dist/lib/css/{ITypeDescriptor.js → property-descriptor.js} +0 -1
  23. package/dist/lib/css/property-descriptors/background-clip.js +0 -1
  24. package/dist/lib/css/property-descriptors/background-color.js +0 -1
  25. package/dist/lib/css/property-descriptors/background-image.js +0 -1
  26. package/dist/lib/css/property-descriptors/background-origin.js +0 -1
  27. package/dist/lib/css/property-descriptors/background-position.js +0 -1
  28. package/dist/lib/css/property-descriptors/background-repeat.js +0 -1
  29. package/dist/lib/css/property-descriptors/background-size.js +0 -1
  30. package/dist/lib/css/property-descriptors/border-color.js +0 -1
  31. package/dist/lib/css/property-descriptors/border-radius.js +0 -1
  32. package/dist/lib/css/property-descriptors/border-style.js +0 -1
  33. package/dist/lib/css/property-descriptors/border-width.js +0 -1
  34. package/dist/lib/css/property-descriptors/box-shadow.js +0 -1
  35. package/dist/lib/css/property-descriptors/clip-path.js +0 -1
  36. package/dist/lib/css/property-descriptors/color.js +0 -1
  37. package/dist/lib/css/property-descriptors/content.js +0 -1
  38. package/dist/lib/css/property-descriptors/counter-increment.js +0 -1
  39. package/dist/lib/css/property-descriptors/counter-reset.js +0 -1
  40. package/dist/lib/css/property-descriptors/direction.js +0 -1
  41. package/dist/lib/css/property-descriptors/display.js +0 -1
  42. package/dist/lib/css/property-descriptors/duration.js +0 -1
  43. package/dist/lib/css/property-descriptors/float.js +0 -1
  44. package/dist/lib/css/property-descriptors/font-family.js +0 -1
  45. package/dist/lib/css/property-descriptors/font-size.js +0 -1
  46. package/dist/lib/css/property-descriptors/font-style.js +0 -1
  47. package/dist/lib/css/property-descriptors/font-variant.js +0 -1
  48. package/dist/lib/css/property-descriptors/font-weight.js +0 -1
  49. package/dist/lib/css/property-descriptors/image-rendering.js +0 -1
  50. package/dist/lib/css/property-descriptors/letter-spacing.js +0 -1
  51. package/dist/lib/css/property-descriptors/line-break.js +0 -1
  52. package/dist/lib/css/property-descriptors/line-height.js +0 -1
  53. package/dist/lib/css/property-descriptors/list-style-image.js +0 -1
  54. package/dist/lib/css/property-descriptors/list-style-position.js +0 -1
  55. package/dist/lib/css/property-descriptors/list-style-type.js +0 -1
  56. package/dist/lib/css/property-descriptors/margin.js +0 -1
  57. package/dist/lib/css/property-descriptors/mix-blend-mode.js +31 -0
  58. package/dist/lib/css/property-descriptors/object-fit.js +0 -1
  59. package/dist/lib/css/property-descriptors/opacity.js +0 -1
  60. package/dist/lib/css/property-descriptors/overflow-wrap.js +0 -1
  61. package/dist/lib/css/property-descriptors/overflow.js +0 -1
  62. package/dist/lib/css/property-descriptors/padding.js +0 -1
  63. package/dist/lib/css/property-descriptors/paint-order.js +0 -1
  64. package/dist/lib/css/property-descriptors/position.js +0 -1
  65. package/dist/lib/css/property-descriptors/quotes.js +0 -1
  66. package/dist/lib/css/property-descriptors/rotate.js +0 -1
  67. package/dist/lib/css/property-descriptors/text-align.js +0 -1
  68. package/dist/lib/css/property-descriptors/text-decoration-color.js +0 -1
  69. package/dist/lib/css/property-descriptors/text-decoration-line.js +0 -1
  70. package/dist/lib/css/property-descriptors/text-decoration-style.js +0 -1
  71. package/dist/lib/css/property-descriptors/text-decoration-thickness.js +0 -1
  72. package/dist/lib/css/property-descriptors/text-overflow.js +0 -1
  73. package/dist/lib/css/property-descriptors/text-shadow.js +0 -1
  74. package/dist/lib/css/property-descriptors/text-transform.js +0 -1
  75. package/dist/lib/css/property-descriptors/text-underline-offset.js +0 -1
  76. package/dist/lib/css/property-descriptors/transform-origin.js +0 -1
  77. package/dist/lib/css/property-descriptors/transform.js +0 -1
  78. package/dist/lib/css/property-descriptors/visibility.js +0 -1
  79. package/dist/lib/css/property-descriptors/webkit-line-clamp.js +0 -1
  80. package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +0 -1
  81. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +0 -1
  82. package/dist/lib/css/property-descriptors/word-break.js +0 -1
  83. package/dist/lib/css/property-descriptors/writing-mode.js +0 -1
  84. package/dist/lib/css/property-descriptors/z-index.js +0 -1
  85. package/dist/lib/css/syntax/parser.js +0 -1
  86. package/dist/lib/css/syntax/tokenizer.js +14 -1
  87. package/dist/lib/css/{IPropertyDescriptor.js → type-descriptor.js} +0 -1
  88. package/dist/lib/css/types/angle.js +0 -1
  89. package/dist/lib/css/types/color-math.js +0 -1
  90. package/dist/lib/css/types/color-spaces/a98.js +0 -1
  91. package/dist/lib/css/types/color-spaces/p3.js +0 -1
  92. package/dist/lib/css/types/color-spaces/pro-photo.js +0 -1
  93. package/dist/lib/css/types/color-spaces/rec2020.js +0 -1
  94. package/dist/lib/css/types/color-spaces/srgb.js +0 -1
  95. package/dist/lib/css/types/color-utilities.js +0 -1
  96. package/dist/lib/css/types/color.js +0 -1
  97. package/dist/lib/css/types/functions/-prefix-linear-gradient.js +0 -1
  98. package/dist/lib/css/types/functions/-prefix-radial-gradient.js +0 -1
  99. package/dist/lib/css/types/functions/-webkit-gradient.js +0 -1
  100. package/dist/lib/css/types/functions/counter.js +0 -1
  101. package/dist/lib/css/types/functions/gradient.js +0 -1
  102. package/dist/lib/css/types/functions/linear-gradient.js +0 -1
  103. package/dist/lib/css/types/functions/radial-gradient.js +0 -1
  104. package/dist/lib/css/types/image.js +0 -1
  105. package/dist/lib/css/types/index.js +0 -1
  106. package/dist/lib/css/types/length-percentage.js +0 -1
  107. package/dist/lib/css/types/length.js +0 -1
  108. package/dist/lib/css/types/time.js +0 -1
  109. package/dist/lib/dom/document-cloner.js +27 -22
  110. package/dist/lib/dom/dom-normalizer.js +0 -1
  111. package/dist/lib/dom/element-container.js +7 -6
  112. package/dist/lib/dom/elements/li-element-container.js +0 -1
  113. package/dist/lib/dom/elements/ol-element-container.js +0 -1
  114. package/dist/lib/dom/elements/select-element-container.js +0 -1
  115. package/dist/lib/dom/elements/textarea-element-container.js +0 -1
  116. package/dist/lib/dom/node-parser.js +37 -53
  117. package/dist/lib/dom/node-type-guards.js +62 -25
  118. package/dist/lib/dom/replaced-elements/canvas-element-container.js +0 -1
  119. package/dist/lib/dom/replaced-elements/iframe-element-container.js +0 -1
  120. package/dist/lib/dom/replaced-elements/image-element-container.js +0 -1
  121. package/dist/lib/dom/replaced-elements/index.js +0 -1
  122. package/dist/lib/dom/replaced-elements/input-element-container.js +0 -1
  123. package/dist/lib/dom/replaced-elements/pseudo-elements.js +0 -1
  124. package/dist/lib/dom/replaced-elements/svg-element-container.js +0 -1
  125. package/dist/lib/dom/text-container.js +0 -1
  126. package/dist/lib/index.js +32 -210
  127. package/dist/lib/options.js +2 -0
  128. package/dist/lib/render/background.js +0 -1
  129. package/dist/lib/render/bezier-curve.js +0 -1
  130. package/dist/lib/render/border.js +0 -1
  131. package/dist/lib/render/bound-curves.js +0 -1
  132. package/dist/lib/render/box-sizing.js +0 -1
  133. package/dist/lib/render/canvas/background-renderer.js +8 -24
  134. package/dist/lib/render/canvas/border-renderer.js +0 -1
  135. package/dist/lib/render/canvas/canvas-path.js +25 -0
  136. package/dist/lib/render/canvas/canvas-renderer.js +28 -97
  137. package/dist/lib/render/canvas/effects-renderer.js +3 -1
  138. package/dist/lib/render/canvas/foreignobject-renderer.js +13 -17
  139. package/dist/lib/render/canvas/text-renderer.js +61 -117
  140. package/dist/lib/render/effects.js +11 -2
  141. package/dist/lib/render/font-metrics.js +0 -1
  142. package/dist/lib/render/object-fit.js +87 -0
  143. package/dist/lib/render/path.js +0 -1
  144. package/dist/lib/render/renderer-interface.js +0 -1
  145. package/dist/lib/render/stacking-context.js +16 -8
  146. package/dist/lib/render/vector.js +0 -1
  147. package/dist/types/core/cache-storage.d.ts +5 -6
  148. package/dist/types/core/performance-monitor.d.ts +0 -11
  149. package/dist/types/core/render-element.d.ts +3 -0
  150. package/dist/types/css/index.d.ts +3 -0
  151. package/dist/types/css/property-descriptors/background-clip.d.ts +1 -1
  152. package/dist/types/css/property-descriptors/background-color.d.ts +1 -1
  153. package/dist/types/css/property-descriptors/background-image.d.ts +1 -1
  154. package/dist/types/css/property-descriptors/background-origin.d.ts +1 -1
  155. package/dist/types/css/property-descriptors/background-position.d.ts +1 -1
  156. package/dist/types/css/property-descriptors/background-repeat.d.ts +1 -1
  157. package/dist/types/css/property-descriptors/background-size.d.ts +1 -1
  158. package/dist/types/css/property-descriptors/border-color.d.ts +1 -1
  159. package/dist/types/css/property-descriptors/border-radius.d.ts +1 -1
  160. package/dist/types/css/property-descriptors/border-style.d.ts +1 -1
  161. package/dist/types/css/property-descriptors/border-width.d.ts +1 -1
  162. package/dist/types/css/property-descriptors/box-shadow.d.ts +1 -1
  163. package/dist/types/css/property-descriptors/clip-path.d.ts +1 -1
  164. package/dist/types/css/property-descriptors/color.d.ts +1 -1
  165. package/dist/types/css/property-descriptors/content.d.ts +1 -1
  166. package/dist/types/css/property-descriptors/counter-increment.d.ts +1 -1
  167. package/dist/types/css/property-descriptors/counter-reset.d.ts +1 -1
  168. package/dist/types/css/property-descriptors/direction.d.ts +1 -1
  169. package/dist/types/css/property-descriptors/display.d.ts +1 -1
  170. package/dist/types/css/property-descriptors/duration.d.ts +1 -1
  171. package/dist/types/css/property-descriptors/float.d.ts +1 -1
  172. package/dist/types/css/property-descriptors/font-family.d.ts +1 -1
  173. package/dist/types/css/property-descriptors/font-size.d.ts +1 -1
  174. package/dist/types/css/property-descriptors/font-style.d.ts +1 -1
  175. package/dist/types/css/property-descriptors/font-variant.d.ts +1 -1
  176. package/dist/types/css/property-descriptors/font-weight.d.ts +1 -1
  177. package/dist/types/css/property-descriptors/image-rendering.d.ts +1 -1
  178. package/dist/types/css/property-descriptors/letter-spacing.d.ts +1 -1
  179. package/dist/types/css/property-descriptors/line-break.d.ts +1 -1
  180. package/dist/types/css/property-descriptors/line-height.d.ts +1 -1
  181. package/dist/types/css/property-descriptors/list-style-image.d.ts +1 -1
  182. package/dist/types/css/property-descriptors/list-style-position.d.ts +1 -1
  183. package/dist/types/css/property-descriptors/list-style-type.d.ts +1 -1
  184. package/dist/types/css/property-descriptors/margin.d.ts +1 -1
  185. package/dist/types/css/property-descriptors/mix-blend-mode.d.ts +21 -0
  186. package/dist/types/css/property-descriptors/object-fit.d.ts +1 -1
  187. package/dist/types/css/property-descriptors/opacity.d.ts +1 -1
  188. package/dist/types/css/property-descriptors/overflow-wrap.d.ts +1 -1
  189. package/dist/types/css/property-descriptors/overflow.d.ts +1 -1
  190. package/dist/types/css/property-descriptors/padding.d.ts +1 -1
  191. package/dist/types/css/property-descriptors/paint-order.d.ts +1 -1
  192. package/dist/types/css/property-descriptors/position.d.ts +1 -1
  193. package/dist/types/css/property-descriptors/quotes.d.ts +1 -1
  194. package/dist/types/css/property-descriptors/rotate.d.ts +1 -1
  195. package/dist/types/css/property-descriptors/text-align.d.ts +1 -1
  196. package/dist/types/css/property-descriptors/text-decoration-color.d.ts +1 -1
  197. package/dist/types/css/property-descriptors/text-decoration-line.d.ts +1 -1
  198. package/dist/types/css/property-descriptors/text-decoration-style.d.ts +1 -1
  199. package/dist/types/css/property-descriptors/text-decoration-thickness.d.ts +1 -1
  200. package/dist/types/css/property-descriptors/text-overflow.d.ts +1 -1
  201. package/dist/types/css/property-descriptors/text-shadow.d.ts +1 -1
  202. package/dist/types/css/property-descriptors/text-transform.d.ts +1 -1
  203. package/dist/types/css/property-descriptors/text-underline-offset.d.ts +1 -1
  204. package/dist/types/css/property-descriptors/transform-origin.d.ts +1 -1
  205. package/dist/types/css/property-descriptors/transform.d.ts +1 -1
  206. package/dist/types/css/property-descriptors/visibility.d.ts +1 -1
  207. package/dist/types/css/property-descriptors/webkit-line-clamp.d.ts +1 -1
  208. package/dist/types/css/property-descriptors/webkit-text-stroke-color.d.ts +1 -1
  209. package/dist/types/css/property-descriptors/webkit-text-stroke-width.d.ts +1 -1
  210. package/dist/types/css/property-descriptors/word-break.d.ts +1 -1
  211. package/dist/types/css/property-descriptors/writing-mode.d.ts +1 -1
  212. package/dist/types/css/property-descriptors/z-index.d.ts +1 -1
  213. package/dist/types/css/syntax/tokenizer.d.ts +5 -0
  214. package/dist/types/css/types/angle.d.ts +1 -1
  215. package/dist/types/css/types/color.d.ts +1 -1
  216. package/dist/types/css/types/image.d.ts +1 -1
  217. package/dist/types/css/types/time.d.ts +1 -1
  218. package/dist/types/dom/element-container.d.ts +4 -11
  219. package/dist/types/dom/node-parser.d.ts +2 -15
  220. package/dist/types/dom/node-type-guards.d.ts +21 -22
  221. package/dist/types/index.d.ts +28 -48
  222. package/dist/types/options.d.ts +51 -0
  223. package/dist/types/render/canvas/background-renderer.d.ts +0 -6
  224. package/dist/types/render/canvas/canvas-path.d.ts +3 -0
  225. package/dist/types/render/canvas/canvas-renderer.d.ts +4 -2
  226. package/dist/types/render/canvas/foreignobject-renderer.d.ts +2 -3
  227. package/dist/types/render/canvas/text-renderer.d.ts +5 -0
  228. package/dist/types/render/effects.d.ts +9 -1
  229. package/dist/types/render/object-fit.d.ts +18 -0
  230. package/package.json +44 -44
  231. package/demo/image-smoothing-demo.html +0 -256
  232. package/demo/refactoring-test.html +0 -602
  233. package/dist/lib/__tests__/index.js +0 -85
  234. package/dist/lib/__tests__/index.js.map +0 -1
  235. package/dist/lib/config.js.map +0 -1
  236. package/dist/lib/core/__mocks__/cache-storage.js +0 -7
  237. package/dist/lib/core/__mocks__/cache-storage.js.map +0 -1
  238. package/dist/lib/core/__mocks__/context.js +0 -19
  239. package/dist/lib/core/__mocks__/context.js.map +0 -1
  240. package/dist/lib/core/__mocks__/features.js +0 -12
  241. package/dist/lib/core/__mocks__/features.js.map +0 -1
  242. package/dist/lib/core/__mocks__/logger.js +0 -16
  243. package/dist/lib/core/__mocks__/logger.js.map +0 -1
  244. package/dist/lib/core/__tests__/cache-storage.js +0 -225
  245. package/dist/lib/core/__tests__/cache-storage.js.map +0 -1
  246. package/dist/lib/core/__tests__/cache-storage.test.js +0 -158
  247. package/dist/lib/core/__tests__/cache-storage.test.js.map +0 -1
  248. package/dist/lib/core/__tests__/logger.js +0 -27
  249. package/dist/lib/core/__tests__/logger.js.map +0 -1
  250. package/dist/lib/core/__tests__/validator.js +0 -296
  251. package/dist/lib/core/__tests__/validator.js.map +0 -1
  252. package/dist/lib/core/bitwise.js.map +0 -1
  253. package/dist/lib/core/cache-storage.js.map +0 -1
  254. package/dist/lib/core/context.js.map +0 -1
  255. package/dist/lib/core/debugger.js.map +0 -1
  256. package/dist/lib/core/features.js.map +0 -1
  257. package/dist/lib/core/logger.js.map +0 -1
  258. package/dist/lib/core/origin-checker.js.map +0 -1
  259. package/dist/lib/core/performance-monitor.js.map +0 -1
  260. package/dist/lib/core/util.js.map +0 -1
  261. package/dist/lib/core/validator.js.map +0 -1
  262. package/dist/lib/css/IPropertyDescriptor.js.map +0 -1
  263. package/dist/lib/css/ITypeDescriptor.js.map +0 -1
  264. package/dist/lib/css/index.js.map +0 -1
  265. package/dist/lib/css/layout/__mocks__/bounds.js +0 -9
  266. package/dist/lib/css/layout/__mocks__/bounds.js.map +0 -1
  267. package/dist/lib/css/layout/bounds.js.map +0 -1
  268. package/dist/lib/css/layout/text.js.map +0 -1
  269. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +0 -49
  270. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +0 -1
  271. package/dist/lib/css/property-descriptors/__tests__/clip-path.test.js +0 -273
  272. package/dist/lib/css/property-descriptors/__tests__/clip-path.test.js.map +0 -1
  273. package/dist/lib/css/property-descriptors/__tests__/font-family.js +0 -19
  274. package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +0 -1
  275. package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js +0 -143
  276. package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js.map +0 -1
  277. package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js +0 -167
  278. package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js.map +0 -1
  279. package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js +0 -61
  280. package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js.map +0 -1
  281. package/dist/lib/css/property-descriptors/__tests__/paint-order.js +0 -66
  282. package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +0 -1
  283. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +0 -82
  284. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +0 -1
  285. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +0 -14
  286. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +0 -1
  287. package/dist/lib/css/property-descriptors/background-clip.js.map +0 -1
  288. package/dist/lib/css/property-descriptors/background-color.js.map +0 -1
  289. package/dist/lib/css/property-descriptors/background-image.js.map +0 -1
  290. package/dist/lib/css/property-descriptors/background-origin.js.map +0 -1
  291. package/dist/lib/css/property-descriptors/background-position.js.map +0 -1
  292. package/dist/lib/css/property-descriptors/background-repeat.js.map +0 -1
  293. package/dist/lib/css/property-descriptors/background-size.js.map +0 -1
  294. package/dist/lib/css/property-descriptors/border-color.js.map +0 -1
  295. package/dist/lib/css/property-descriptors/border-radius.js.map +0 -1
  296. package/dist/lib/css/property-descriptors/border-style.js.map +0 -1
  297. package/dist/lib/css/property-descriptors/border-width.js.map +0 -1
  298. package/dist/lib/css/property-descriptors/box-shadow.js.map +0 -1
  299. package/dist/lib/css/property-descriptors/clip-path.js.map +0 -1
  300. package/dist/lib/css/property-descriptors/color.js.map +0 -1
  301. package/dist/lib/css/property-descriptors/content.js.map +0 -1
  302. package/dist/lib/css/property-descriptors/counter-increment.js.map +0 -1
  303. package/dist/lib/css/property-descriptors/counter-reset.js.map +0 -1
  304. package/dist/lib/css/property-descriptors/direction.js.map +0 -1
  305. package/dist/lib/css/property-descriptors/display.js.map +0 -1
  306. package/dist/lib/css/property-descriptors/duration.js.map +0 -1
  307. package/dist/lib/css/property-descriptors/float.js.map +0 -1
  308. package/dist/lib/css/property-descriptors/font-family.js.map +0 -1
  309. package/dist/lib/css/property-descriptors/font-size.js.map +0 -1
  310. package/dist/lib/css/property-descriptors/font-style.js.map +0 -1
  311. package/dist/lib/css/property-descriptors/font-variant.js.map +0 -1
  312. package/dist/lib/css/property-descriptors/font-weight.js.map +0 -1
  313. package/dist/lib/css/property-descriptors/image-rendering.js.map +0 -1
  314. package/dist/lib/css/property-descriptors/letter-spacing.js.map +0 -1
  315. package/dist/lib/css/property-descriptors/line-break.js.map +0 -1
  316. package/dist/lib/css/property-descriptors/line-height.js.map +0 -1
  317. package/dist/lib/css/property-descriptors/list-style-image.js.map +0 -1
  318. package/dist/lib/css/property-descriptors/list-style-position.js.map +0 -1
  319. package/dist/lib/css/property-descriptors/list-style-type.js.map +0 -1
  320. package/dist/lib/css/property-descriptors/margin.js.map +0 -1
  321. package/dist/lib/css/property-descriptors/object-fit.js.map +0 -1
  322. package/dist/lib/css/property-descriptors/opacity.js.map +0 -1
  323. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +0 -1
  324. package/dist/lib/css/property-descriptors/overflow.js.map +0 -1
  325. package/dist/lib/css/property-descriptors/padding.js.map +0 -1
  326. package/dist/lib/css/property-descriptors/paint-order.js.map +0 -1
  327. package/dist/lib/css/property-descriptors/position.js.map +0 -1
  328. package/dist/lib/css/property-descriptors/quotes.js.map +0 -1
  329. package/dist/lib/css/property-descriptors/rotate.js.map +0 -1
  330. package/dist/lib/css/property-descriptors/text-align.js.map +0 -1
  331. package/dist/lib/css/property-descriptors/text-decoration-color.js.map +0 -1
  332. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +0 -1
  333. package/dist/lib/css/property-descriptors/text-decoration-style.js.map +0 -1
  334. package/dist/lib/css/property-descriptors/text-decoration-thickness.js.map +0 -1
  335. package/dist/lib/css/property-descriptors/text-overflow.js.map +0 -1
  336. package/dist/lib/css/property-descriptors/text-shadow.js.map +0 -1
  337. package/dist/lib/css/property-descriptors/text-transform.js.map +0 -1
  338. package/dist/lib/css/property-descriptors/text-underline-offset.js.map +0 -1
  339. package/dist/lib/css/property-descriptors/transform-origin.js.map +0 -1
  340. package/dist/lib/css/property-descriptors/transform.js.map +0 -1
  341. package/dist/lib/css/property-descriptors/visibility.js.map +0 -1
  342. package/dist/lib/css/property-descriptors/webkit-line-clamp.js.map +0 -1
  343. package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js.map +0 -1
  344. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +0 -1
  345. package/dist/lib/css/property-descriptors/word-break.js.map +0 -1
  346. package/dist/lib/css/property-descriptors/writing-mode.js.map +0 -1
  347. package/dist/lib/css/property-descriptors/z-index.js.map +0 -1
  348. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +0 -26
  349. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +0 -1
  350. package/dist/lib/css/syntax/parser.js.map +0 -1
  351. package/dist/lib/css/syntax/tokenizer.js.map +0 -1
  352. package/dist/lib/css/types/__tests__/color-tests.js +0 -111
  353. package/dist/lib/css/types/__tests__/color-tests.js.map +0 -1
  354. package/dist/lib/css/types/__tests__/image-tests.js +0 -215
  355. package/dist/lib/css/types/__tests__/image-tests.js.map +0 -1
  356. package/dist/lib/css/types/angle.js.map +0 -1
  357. package/dist/lib/css/types/color-math.js.map +0 -1
  358. package/dist/lib/css/types/color-spaces/a98.js.map +0 -1
  359. package/dist/lib/css/types/color-spaces/p3.js.map +0 -1
  360. package/dist/lib/css/types/color-spaces/pro-photo.js.map +0 -1
  361. package/dist/lib/css/types/color-spaces/rec2020.js.map +0 -1
  362. package/dist/lib/css/types/color-spaces/srgb.js.map +0 -1
  363. package/dist/lib/css/types/color-utilities.js.map +0 -1
  364. package/dist/lib/css/types/color.js.map +0 -1
  365. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +0 -1
  366. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +0 -1
  367. package/dist/lib/css/types/functions/-webkit-gradient.js.map +0 -1
  368. package/dist/lib/css/types/functions/__tests__/radial-gradient.js +0 -63
  369. package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +0 -1
  370. package/dist/lib/css/types/functions/counter.js.map +0 -1
  371. package/dist/lib/css/types/functions/gradient.js.map +0 -1
  372. package/dist/lib/css/types/functions/linear-gradient.js.map +0 -1
  373. package/dist/lib/css/types/functions/radial-gradient.js.map +0 -1
  374. package/dist/lib/css/types/image.js.map +0 -1
  375. package/dist/lib/css/types/index.js.map +0 -1
  376. package/dist/lib/css/types/length-percentage.js.map +0 -1
  377. package/dist/lib/css/types/length.js.map +0 -1
  378. package/dist/lib/css/types/time.js.map +0 -1
  379. package/dist/lib/dom/__mocks__/document-cloner.js +0 -23
  380. package/dist/lib/dom/__mocks__/document-cloner.js.map +0 -1
  381. package/dist/lib/dom/__tests__/dom-normalizer.test.js +0 -113
  382. package/dist/lib/dom/__tests__/dom-normalizer.test.js.map +0 -1
  383. package/dist/lib/dom/__tests__/element-container.test.js +0 -109
  384. package/dist/lib/dom/__tests__/element-container.test.js.map +0 -1
  385. package/dist/lib/dom/document-cloner.js.map +0 -1
  386. package/dist/lib/dom/dom-normalizer.js.map +0 -1
  387. package/dist/lib/dom/element-container.js.map +0 -1
  388. package/dist/lib/dom/elements/li-element-container.js.map +0 -1
  389. package/dist/lib/dom/elements/ol-element-container.js.map +0 -1
  390. package/dist/lib/dom/elements/select-element-container.js.map +0 -1
  391. package/dist/lib/dom/elements/textarea-element-container.js.map +0 -1
  392. package/dist/lib/dom/node-parser.js.map +0 -1
  393. package/dist/lib/dom/node-type-guards.js.map +0 -1
  394. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +0 -1
  395. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +0 -1
  396. package/dist/lib/dom/replaced-elements/image-element-container.js.map +0 -1
  397. package/dist/lib/dom/replaced-elements/index.js.map +0 -1
  398. package/dist/lib/dom/replaced-elements/input-element-container.js.map +0 -1
  399. package/dist/lib/dom/replaced-elements/pseudo-elements.js.map +0 -1
  400. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +0 -1
  401. package/dist/lib/dom/text-container.js.map +0 -1
  402. package/dist/lib/index.js.map +0 -1
  403. package/dist/lib/invariant.js +0 -10
  404. package/dist/lib/invariant.js.map +0 -1
  405. package/dist/lib/render/background.js.map +0 -1
  406. package/dist/lib/render/bezier-curve.js.map +0 -1
  407. package/dist/lib/render/border.js.map +0 -1
  408. package/dist/lib/render/bound-curves.js.map +0 -1
  409. package/dist/lib/render/box-sizing.js.map +0 -1
  410. package/dist/lib/render/canvas/__tests__/background-renderer.test.js +0 -65
  411. package/dist/lib/render/canvas/__tests__/background-renderer.test.js.map +0 -1
  412. package/dist/lib/render/canvas/__tests__/border-renderer.test.js +0 -23
  413. package/dist/lib/render/canvas/__tests__/border-renderer.test.js.map +0 -1
  414. package/dist/lib/render/canvas/__tests__/effects-renderer.test.js +0 -30
  415. package/dist/lib/render/canvas/__tests__/effects-renderer.test.js.map +0 -1
  416. package/dist/lib/render/canvas/__tests__/text-renderer.test.js +0 -402
  417. package/dist/lib/render/canvas/__tests__/text-renderer.test.js.map +0 -1
  418. package/dist/lib/render/canvas/background-renderer.js.map +0 -1
  419. package/dist/lib/render/canvas/border-renderer.js.map +0 -1
  420. package/dist/lib/render/canvas/canvas-renderer.js.map +0 -1
  421. package/dist/lib/render/canvas/effects-renderer.js.map +0 -1
  422. package/dist/lib/render/canvas/foreignobject-renderer.js.map +0 -1
  423. package/dist/lib/render/canvas/text-renderer.js.map +0 -1
  424. package/dist/lib/render/effects.js.map +0 -1
  425. package/dist/lib/render/font-metrics.js.map +0 -1
  426. package/dist/lib/render/path.js.map +0 -1
  427. package/dist/lib/render/renderer-interface.js.map +0 -1
  428. package/dist/lib/render/renderer.js +0 -11
  429. package/dist/lib/render/renderer.js.map +0 -1
  430. package/dist/lib/render/stacking-context.js.map +0 -1
  431. package/dist/lib/render/vector.js.map +0 -1
  432. package/dist/types/__tests__/index.d.ts +0 -1
  433. package/dist/types/core/__mocks__/cache-storage.d.ts +0 -2
  434. package/dist/types/core/__mocks__/context.d.ts +0 -9
  435. package/dist/types/core/__mocks__/features.d.ts +0 -8
  436. package/dist/types/core/__mocks__/logger.d.ts +0 -9
  437. package/dist/types/core/__tests__/cache-storage.d.ts +0 -1
  438. package/dist/types/core/__tests__/cache-storage.test.d.ts +0 -1
  439. package/dist/types/core/__tests__/logger.d.ts +0 -1
  440. package/dist/types/core/__tests__/validator.d.ts +0 -1
  441. package/dist/types/css/layout/__mocks__/bounds.d.ts +0 -2
  442. package/dist/types/css/property-descriptors/__tests__/background-tests.d.ts +0 -1
  443. package/dist/types/css/property-descriptors/__tests__/clip-path.test.d.ts +0 -1
  444. package/dist/types/css/property-descriptors/__tests__/font-family.d.ts +0 -1
  445. package/dist/types/css/property-descriptors/__tests__/image-rendering-integration.test.d.ts +0 -1
  446. package/dist/types/css/property-descriptors/__tests__/image-rendering-performance.test.d.ts +0 -1
  447. package/dist/types/css/property-descriptors/__tests__/image-rendering.test.d.ts +0 -1
  448. package/dist/types/css/property-descriptors/__tests__/paint-order.d.ts +0 -1
  449. package/dist/types/css/property-descriptors/__tests__/text-shadow.d.ts +0 -1
  450. package/dist/types/css/property-descriptors/__tests__/transform-tests.d.ts +0 -1
  451. package/dist/types/css/syntax/__tests__/tokernizer-tests.d.ts +0 -1
  452. package/dist/types/css/types/__tests__/color-tests.d.ts +0 -1
  453. package/dist/types/css/types/__tests__/image-tests.d.ts +0 -1
  454. package/dist/types/css/types/functions/__tests__/radial-gradient.d.ts +0 -1
  455. package/dist/types/dom/__mocks__/document-cloner.d.ts +0 -6
  456. package/dist/types/dom/__tests__/dom-normalizer.test.d.ts +0 -1
  457. package/dist/types/dom/__tests__/element-container.test.d.ts +0 -1
  458. package/dist/types/invariant.d.ts +0 -1
  459. package/dist/types/render/canvas/__tests__/background-renderer.test.d.ts +0 -1
  460. package/dist/types/render/canvas/__tests__/border-renderer.test.d.ts +0 -1
  461. package/dist/types/render/canvas/__tests__/effects-renderer.test.d.ts +0 -1
  462. package/dist/types/render/canvas/__tests__/text-renderer.test.d.ts +0 -1
  463. package/dist/types/render/renderer.d.ts +0 -7
  464. package/eslint.config.js +0 -35
  465. package/jest.config.cjs +0 -5
  466. package/karma.conf.cjs +0 -300
  467. /package/dist/types/css/{IPropertyDescriptor.d.ts → property-descriptor.d.ts} +0 -0
  468. /package/dist/types/css/{ITypeDescriptor.d.ts → type-descriptor.d.ts} +0 -0
@@ -9,6 +9,7 @@ const ol_element_container_1 = require("../dom/elements/ol-element-container");
9
9
  const li_element_container_1 = require("../dom/elements/li-element-container");
10
10
  const counter_1 = require("../css/types/functions/counter");
11
11
  const length_percentage_1 = require("../css/types/length-percentage");
12
+ const mix_blend_mode_1 = require("../css/property-descriptors/mix-blend-mode");
12
13
  class StackingContext {
13
14
  constructor(container) {
14
15
  this.element = container;
@@ -50,7 +51,7 @@ class ElementPaint {
50
51
  const matrix = this.container.styles.transform;
51
52
  this.effects.push(new effects_1.TransformEffect(offsetX, offsetY, matrix));
52
53
  }
53
- if (this.container.styles.overflowX !== 0 /* OVERFLOW.VISIBLE */) {
54
+ if (hasOverflowClip(this.container.styles)) {
54
55
  const borderBox = (0, bound_curves_1.calculateBorderBoxPath)(this.curves);
55
56
  const paddingBox = (0, bound_curves_1.calculatePaddingBoxPath)(this.curves);
56
57
  if ((0, path_1.equalPath)(borderBox, paddingBox)) {
@@ -67,6 +68,9 @@ class ElementPaint {
67
68
  this.effects.push(clipPathEffect);
68
69
  }
69
70
  }
71
+ if (this.container.styles.mixBlendMode !== mix_blend_mode_1.MIX_BLEND_MODE.NORMAL) {
72
+ this.effects.push(new effects_1.BlendEffect(this.container.styles.mixBlendMode));
73
+ }
70
74
  }
71
75
  getEffects(target) {
72
76
  let inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(this.container.styles.position) === -1;
@@ -76,7 +80,7 @@ class ElementPaint {
76
80
  const croplessEffects = parent.effects.filter((effect) => !(0, effects_1.isClipEffect)(effect));
77
81
  if (inFlow || parent.container.styles.position !== 0 /* POSITION.STATIC */ || !parent.parent) {
78
82
  inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(parent.container.styles.position) === -1;
79
- if (parent.container.styles.overflowX !== 0 /* OVERFLOW.VISIBLE */) {
83
+ if (hasOverflowClip(parent.container.styles)) {
80
84
  const borderBox = (0, bound_curves_1.calculateBorderBoxPath)(parent.curves);
81
85
  const paddingBox = (0, bound_curves_1.calculatePaddingBoxPath)(parent.curves);
82
86
  if (!(0, path_1.equalPath)(borderBox, paddingBox)) {
@@ -94,6 +98,7 @@ class ElementPaint {
94
98
  }
95
99
  }
96
100
  exports.ElementPaint = ElementPaint;
101
+ const hasOverflowClip = (styles) => styles.overflowX !== 0 /* OVERFLOW.VISIBLE */ || styles.overflowY !== 0 /* OVERFLOW.VISIBLE */;
97
102
  /**
98
103
  * Resolve a `closest-side` or `farthest-side` shape-radius keyword to pixels
99
104
  * for a single axis. Used by both `circle()` (per-axis) and `ellipse()`.
@@ -195,11 +200,15 @@ const buildClipPathEffect = (clipPath, bounds) => {
195
200
  // by a preceding TransformEffect, so the path coordinates end up correctly in
196
201
  // the element's transformed local space — matching browser behaviour.
197
202
  const { d } = clipPath;
203
+ let cachedPath = null;
198
204
  return new effects_1.ClipPathEffect((ctx) => {
199
205
  try {
206
+ if (!cachedPath) {
207
+ cachedPath = new Path2D(d);
208
+ }
200
209
  const savedTransform = ctx.getTransform();
201
210
  ctx.translate(bLeft, bTop);
202
- ctx.clip(new Path2D(d));
211
+ ctx.clip(cachedPath);
203
212
  ctx.setTransform(savedTransform);
204
213
  }
205
214
  catch (_e) {
@@ -221,13 +230,13 @@ const buildClipPathEffect = (clipPath, bounds) => {
221
230
  };
222
231
  const parseStackTree = (parent, stackingContext, realStackingContext, listItems) => {
223
232
  parent.container.elements.forEach((child) => {
224
- const treatAsRealStackingContext = (0, bitwise_1.contains)(child.flags, 4 /* FLAGS.CREATES_REAL_STACKING_CONTEXT */);
225
- const createsStackingContext = (0, bitwise_1.contains)(child.flags, 2 /* FLAGS.CREATES_STACKING_CONTEXT */);
233
+ const treatAsRealStackingContext = child.createsRealStackingContext;
234
+ const createsStackingContext = child.createsStackingContext;
226
235
  const paintContainer = new ElementPaint(child, parent);
227
236
  if ((0, bitwise_1.contains)(child.styles.display, 2048 /* DISPLAY.LIST_ITEM */)) {
228
237
  listItems.push(paintContainer);
229
238
  }
230
- const listOwnerItems = (0, bitwise_1.contains)(child.flags, 8 /* FLAGS.IS_LIST_OWNER */) ? [] : listItems;
239
+ const listOwnerItems = child.isListOwner ? [] : listItems;
231
240
  if (treatAsRealStackingContext || createsStackingContext) {
232
241
  const parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
233
242
  const stack = new StackingContext(paintContainer);
@@ -284,7 +293,7 @@ const parseStackTree = (parent, stackingContext, realStackingContext, listItems)
284
293
  }
285
294
  parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems);
286
295
  }
287
- if ((0, bitwise_1.contains)(child.flags, 8 /* FLAGS.IS_LIST_OWNER */)) {
296
+ if (child.isListOwner) {
288
297
  processListItems(child, listOwnerItems);
289
298
  }
290
299
  });
@@ -312,4 +321,3 @@ const parseStackingContexts = (container) => {
312
321
  return root;
313
322
  };
314
323
  exports.parseStackingContexts = parseStackingContexts;
315
- //# sourceMappingURL=stacking-context.js.map
@@ -14,4 +14,3 @@ class Vector {
14
14
  exports.Vector = Vector;
15
15
  const isVector = (path) => path.type === 0 /* PathType.VECTOR */;
16
16
  exports.isVector = isVector;
17
- //# sourceMappingURL=vector.js.map
@@ -40,15 +40,14 @@ export declare class Cache {
40
40
  constructor(context: Context, _options: ResourceOptions);
41
41
  addImage(src: string): Promise<void>;
42
42
  private _addImageInternal;
43
- match(src: string): Promise<any> | undefined;
43
+ private withTimeout;
44
+ match(src: string): Promise<HTMLImageElement | HTMLCanvasElement | undefined> | undefined;
44
45
  /**
45
- * Set a value in cache with LRU eviction
46
+ * Set a value in cache with LRU eviction (O(1) via Map insertion order).
47
+ * Map preserves insertion order; delete+set on access moves items to the end.
48
+ * The first key in Map.keys() is always the least recently used.
46
49
  */
47
50
  private set;
48
- /**
49
- * Evict least recently used entry
50
- */
51
- private evictLRU;
52
51
  /**
53
52
  * Get cache size
54
53
  */
@@ -118,14 +118,3 @@ export declare class PerformanceMonitor {
118
118
  */
119
119
  getActiveMetrics(): string[];
120
120
  }
121
- /**
122
- * Create a no-op performance monitor for production
123
- * Has minimal overhead when disabled
124
- */
125
- export declare class NoOpPerformanceMonitor extends PerformanceMonitor {
126
- constructor();
127
- start(): void;
128
- end(): undefined;
129
- measure<T>(_name: string, fn: () => T): T;
130
- measureAsync<T>(_name: string, fn: () => Promise<T>): Promise<T>;
131
- }
@@ -0,0 +1,3 @@
1
+ import { Html2CanvasConfig } from '../config';
2
+ import type { Options } from '../options';
3
+ export declare const renderElement: (element: HTMLElement, opts: Partial<Options>, config: Html2CanvasConfig) => Promise<HTMLCanvasElement>;
@@ -54,6 +54,7 @@ import { Context } from '../core/context';
54
54
  import { objectFit } from './property-descriptors/object-fit';
55
55
  import { textOverflow } from './property-descriptors/text-overflow';
56
56
  import { imageRendering } from './property-descriptors/image-rendering';
57
+ import { MixBlendMode } from './property-descriptors/mix-blend-mode';
57
58
  export declare class CSSParsedDeclaration {
58
59
  animationDuration: ReturnType<typeof duration.parse>;
59
60
  backgroundClip: ReturnType<typeof backgroundClip.parse>;
@@ -131,6 +132,8 @@ export declare class CSSParsedDeclaration {
131
132
  zIndex: ReturnType<typeof zIndex.parse>;
132
133
  objectFit: ReturnType<typeof objectFit.parse>;
133
134
  imageRendering: ReturnType<typeof imageRendering.parse>;
135
+ mixBlendMode: MixBlendMode;
136
+ private static readonly standardProps;
134
137
  constructor(context: Context, declaration: CSSStyleDeclaration);
135
138
  isVisible(): boolean;
136
139
  isTransparent(): boolean;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum BACKGROUND_CLIP {
3
3
  BORDER_BOX = 0,
4
4
  PADDING_BOX = 1,
@@ -1,2 +1,2 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const backgroundColor: IPropertyTypeValueDescriptor;
@@ -1,3 +1,3 @@
1
1
  import { ICSSImage } from '../types/image';
2
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
2
+ import { IPropertyListDescriptor } from '../property-descriptor';
3
3
  export declare const backgroundImage: IPropertyListDescriptor<ICSSImage[]>;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum BACKGROUND_ORIGIN {
3
3
  BORDER_BOX = 0,
4
4
  PADDING_BOX = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { LengthPercentageTuple } from '../types/length-percentage';
3
3
  export type BackgroundPosition = BackgroundImagePosition[];
4
4
  export type BackgroundImagePosition = LengthPercentageTuple;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export type BackgroundRepeat = BACKGROUND_REPEAT[];
3
3
  export declare const enum BACKGROUND_REPEAT {
4
4
  REPEAT = 0,
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { LengthPercentage } from '../types/length-percentage';
3
3
  import { StringValueToken } from '../syntax/tokenizer';
4
4
  export declare enum BACKGROUND_SIZE {
@@ -1,4 +1,4 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const borderTopColor: IPropertyTypeValueDescriptor;
3
3
  export declare const borderRightColor: IPropertyTypeValueDescriptor;
4
4
  export declare const borderBottomColor: IPropertyTypeValueDescriptor;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { LengthPercentageTuple } from '../types/length-percentage';
3
3
  export type BorderRadius = LengthPercentageTuple;
4
4
  export declare const borderTopLeftRadius: IPropertyListDescriptor<BorderRadius>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum BORDER_STYLE {
3
3
  NONE = 0,
4
4
  SOLID = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export declare const borderTopWidth: IPropertyValueDescriptor<number>;
3
3
  export declare const borderRightWidth: IPropertyValueDescriptor<number>;
4
4
  export declare const borderBottomWidth: IPropertyValueDescriptor<number>;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { Color } from '../types/color';
3
3
  import { Length } from '../types/length';
4
4
  export type BoxShadow = BoxShadowItem[];
@@ -1,4 +1,4 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  import { LengthPercentage } from '../types/length-percentage';
3
3
  export declare const enum CLIP_PATH_TYPE {
4
4
  NONE = 0,
@@ -1,2 +1,2 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const color: IPropertyTypeValueDescriptor;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { CSSValue } from '../syntax/parser';
3
3
  export type Content = CSSValue[];
4
4
  export declare const content: IPropertyListDescriptor<Content>;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export interface COUNTER_INCREMENT {
3
3
  counter: string;
4
4
  increment: number;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export interface COUNTER_RESET {
3
3
  counter: string;
4
4
  reset: number;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum DIRECTION {
3
3
  LTR = 0,
4
4
  RTL = 1
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum DISPLAY {
3
3
  NONE = 0,
4
4
  BLOCK = 2,
@@ -1,2 +1,2 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const duration: IPropertyListDescriptor<number[]>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum FLOAT {
3
3
  NONE = 0,
4
4
  LEFT = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export type FONT_FAMILY = string;
3
3
  export type FontFamily = FONT_FAMILY[];
4
4
  export declare const fontFamily: IPropertyListDescriptor<FontFamily>;
@@ -1,2 +1,2 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const fontSize: IPropertyTypeValueDescriptor;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum FONT_STYLE {
3
3
  NORMAL = "normal",
4
4
  ITALIC = "italic",
@@ -1,2 +1,2 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const fontVariant: IPropertyListDescriptor<string[]>;
@@ -1,2 +1,2 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export declare const fontWeight: IPropertyValueDescriptor<number>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare enum IMAGE_RENDERING {
3
3
  AUTO = 0,
4
4
  CRISP_EDGES = 1,
@@ -1,2 +1,2 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export declare const letterSpacing: IPropertyValueDescriptor<number>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare enum LINE_BREAK {
3
3
  NORMAL = "normal",
4
4
  STRICT = "strict"
@@ -1,4 +1,4 @@
1
- import { IPropertyTokenValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTokenValueDescriptor } from '../property-descriptor';
2
2
  import { CSSValue } from '../syntax/parser';
3
3
  export declare const lineHeight: IPropertyTokenValueDescriptor;
4
4
  export declare const computeLineHeight: (token: CSSValue, fontSize: number) => number;
@@ -1,3 +1,3 @@
1
1
  import { ICSSImage } from '../types/image';
2
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
2
+ import { IPropertyValueDescriptor } from '../property-descriptor';
3
3
  export declare const listStyleImage: IPropertyValueDescriptor<ICSSImage | null>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum LIST_STYLE_POSITION {
3
3
  INSIDE = 0,
4
4
  OUTSIDE = 1
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum LIST_STYLE_TYPE {
3
3
  NONE = -1,
4
4
  DISC = 0,
@@ -1,4 +1,4 @@
1
- import { IPropertyTokenValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTokenValueDescriptor } from '../property-descriptor';
2
2
  export declare const marginTop: IPropertyTokenValueDescriptor;
3
3
  export declare const marginRight: IPropertyTokenValueDescriptor;
4
4
  export declare const marginBottom: IPropertyTokenValueDescriptor;
@@ -0,0 +1,21 @@
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
+ export declare const MIX_BLEND_MODE: {
3
+ readonly NORMAL: "normal";
4
+ readonly MULTIPLY: "multiply";
5
+ readonly SCREEN: "screen";
6
+ readonly OVERLAY: "overlay";
7
+ readonly DARKEN: "darken";
8
+ readonly LIGHTEN: "lighten";
9
+ readonly COLOR_DODGE: "color-dodge";
10
+ readonly COLOR_BURN: "color-burn";
11
+ readonly HARD_LIGHT: "hard-light";
12
+ readonly SOFT_LIGHT: "soft-light";
13
+ readonly DIFFERENCE: "difference";
14
+ readonly EXCLUSION: "exclusion";
15
+ readonly HUE: "hue";
16
+ readonly SATURATION: "saturation";
17
+ readonly COLOR: "color";
18
+ readonly LUMINOSITY: "luminosity";
19
+ };
20
+ export type MixBlendMode = (typeof MIX_BLEND_MODE)[keyof typeof MIX_BLEND_MODE];
21
+ export declare const mixBlendMode: IPropertyIdentValueDescriptor<MixBlendMode>;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum OBJECT_FIT {
3
3
  FILL = 0,
4
4
  CONTAIN = 2,
@@ -1,2 +1,2 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export declare const opacity: IPropertyValueDescriptor<number>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum OVERFLOW_WRAP {
3
3
  NORMAL = "normal",
4
4
  BREAK_WORD = "break-word"
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum OVERFLOW {
3
3
  VISIBLE = 0,
4
4
  HIDDEN = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const paddingTop: IPropertyTypeValueDescriptor;
3
3
  export declare const paddingRight: IPropertyTypeValueDescriptor;
4
4
  export declare const paddingBottom: IPropertyTypeValueDescriptor;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum PAINT_ORDER_LAYER {
3
3
  FILL = 0,
4
4
  STROKE = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum POSITION {
3
3
  STATIC = 0,
4
4
  RELATIVE = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export interface QUOTE {
3
3
  open: string;
4
4
  close: string;
@@ -1,3 +1,3 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export type Rotate = number | null;
3
3
  export declare const rotate: IPropertyValueDescriptor<Rotate>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum TEXT_ALIGN {
3
3
  LEFT = 0,
4
4
  CENTER = 1,
@@ -1,2 +1,2 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const textDecorationColor: IPropertyTypeValueDescriptor;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  export declare const enum TEXT_DECORATION_LINE {
3
3
  NONE = 0,
4
4
  UNDERLINE = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum TEXT_DECORATION_STYLE {
3
3
  SOLID = 0,
4
4
  DOUBLE = 1,
@@ -1,3 +1,3 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export type TextDecorationThickness = number | 'auto' | 'from-font';
3
3
  export declare const textDecorationThickness: IPropertyValueDescriptor<TextDecorationThickness>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum TEXT_OVERFLOW {
3
3
  CLIP = 0,
4
4
  ELLIPSIS = 1
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { Color } from '../types/color';
3
3
  import { Length } from '../types/length';
4
4
  export type TextShadow = TextShadowItem[];
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum TEXT_TRANSFORM {
3
3
  NONE = 0,
4
4
  LOWERCASE = 1,
@@ -1,3 +1,3 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export type TextUnderlineOffset = number | 'auto';
3
3
  export declare const textUnderlineOffset: IPropertyValueDescriptor<TextUnderlineOffset>;
@@ -1,4 +1,4 @@
1
- import { IPropertyListDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyListDescriptor } from '../property-descriptor';
2
2
  import { LengthPercentage } from '../types/length-percentage';
3
3
  export type TransformOrigin = [LengthPercentage, LengthPercentage];
4
4
  export declare const transformOrigin: IPropertyListDescriptor<TransformOrigin>;
@@ -1,4 +1,4 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export type Matrix = [number, number, number, number, number, number];
3
3
  export type Transform = Matrix | null;
4
4
  export declare const transform: IPropertyValueDescriptor<Transform>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum VISIBILITY {
3
3
  VISIBLE = 0,
4
4
  HIDDEN = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  /**
3
3
  * -webkit-line-clamp property descriptor
4
4
  * Used with display: -webkit-box and -webkit-box-orient: vertical
@@ -1,2 +1,2 @@
1
- import { IPropertyTypeValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyTypeValueDescriptor } from '../property-descriptor';
2
2
  export declare const webkitTextStrokeColor: IPropertyTypeValueDescriptor;
@@ -1,2 +1,2 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  export declare const webkitTextStrokeWidth: IPropertyValueDescriptor<number>;
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare enum WORD_BREAK {
3
3
  NORMAL = "normal",
4
4
  BREAK_ALL = "break-all",
@@ -1,4 +1,4 @@
1
- import { IPropertyIdentValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyIdentValueDescriptor } from '../property-descriptor';
2
2
  export declare const enum WRITING_MODE {
3
3
  HORIZONTAL_TB = 0,
4
4
  VERTICAL_RL = 1,
@@ -1,4 +1,4 @@
1
- import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
1
+ import { IPropertyValueDescriptor } from '../property-descriptor';
2
2
  interface zIndex {
3
3
  order: number;
4
4
  auto: boolean;