@unicom-cloud/utils 0.1.24 → 0.1.25

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 (290) hide show
  1. package/case-name/index.js +1 -1
  2. package/caseName.js +1 -1
  3. package/class-name/index.js +1 -1
  4. package/className.js +1 -1
  5. package/clipboard-copy/index.js +1 -1
  6. package/clipboardCopy.js +1 -1
  7. package/constant/address.js +1 -1
  8. package/constant/chineseCharacters.js +1 -1
  9. package/constant/constellations.js +1 -1
  10. package/constant/domain.js +1 -1
  11. package/constant/emoji.js +1 -1
  12. package/constant/identity.js +1 -1
  13. package/constant/index.js +1 -1
  14. package/constant/keyboardCode.js +1 -1
  15. package/constant/licensePlate.js +1 -1
  16. package/constant/name.js +1 -1
  17. package/constant/platform.js +1 -1
  18. package/constant/protocol.js +1 -1
  19. package/constant/ui.js +1 -1
  20. package/constant.js +1 -1
  21. package/content-disposition/index.js +1 -1
  22. package/contentDisposition.js +1 -1
  23. package/cookie/index.js +1 -1
  24. package/cookie/src/index.js +1 -1
  25. package/cookie.js +1 -1
  26. package/date/convertTime.js +1 -1
  27. package/date/convertToDuration.js +1 -1
  28. package/date/index.js +1 -1
  29. package/date.js +1 -1
  30. package/decimal/decimal.js +22 -22
  31. package/decimal/index.js +1 -1
  32. package/decimal.js +1 -1
  33. package/dom-helpers/activeElement.js +1 -1
  34. package/dom-helpers/addClass.js +1 -1
  35. package/dom-helpers/addEventListener.js +1 -1
  36. package/dom-helpers/animate.js +1 -1
  37. package/dom-helpers/animationFrame.js +1 -1
  38. package/dom-helpers/attribute.js +1 -1
  39. package/dom-helpers/camelize.js +1 -1
  40. package/dom-helpers/camelizeStyle.js +1 -1
  41. package/dom-helpers/canUseDOM.js +1 -1
  42. package/dom-helpers/childElements.js +1 -1
  43. package/dom-helpers/childNodes.js +1 -1
  44. package/dom-helpers/clear.js +1 -1
  45. package/dom-helpers/closest.js +1 -1
  46. package/dom-helpers/collectElements.js +1 -1
  47. package/dom-helpers/collectSiblings.js +1 -1
  48. package/dom-helpers/contains.js +1 -1
  49. package/dom-helpers/css.js +1 -1
  50. package/dom-helpers/filterEventHandler.js +1 -1
  51. package/dom-helpers/getComputedStyle.js +1 -1
  52. package/dom-helpers/getScrollAccessor.js +1 -1
  53. package/dom-helpers/hasClass.js +1 -1
  54. package/dom-helpers/height.js +1 -1
  55. package/dom-helpers/hyphenate.js +1 -1
  56. package/dom-helpers/hyphenateStyle.js +1 -1
  57. package/dom-helpers/index.js +1 -1
  58. package/dom-helpers/insertAfter.js +1 -1
  59. package/dom-helpers/isDocument.js +1 -1
  60. package/dom-helpers/isInput.js +1 -1
  61. package/dom-helpers/isTransform.js +1 -1
  62. package/dom-helpers/isVisible.js +1 -1
  63. package/dom-helpers/isWindow.js +1 -1
  64. package/dom-helpers/listen.js +1 -1
  65. package/dom-helpers/matches.js +1 -1
  66. package/dom-helpers/nextUntil.js +1 -1
  67. package/dom-helpers/offset.js +1 -1
  68. package/dom-helpers/offsetParent.js +1 -1
  69. package/dom-helpers/ownerDocument.js +1 -1
  70. package/dom-helpers/ownerWindow.js +1 -1
  71. package/dom-helpers/parents.js +1 -1
  72. package/dom-helpers/position.js +1 -1
  73. package/dom-helpers/prepend.js +1 -1
  74. package/dom-helpers/querySelectorAll.js +1 -1
  75. package/dom-helpers/reflow.js +1 -1
  76. package/dom-helpers/remove.js +1 -1
  77. package/dom-helpers/removeClass.js +1 -1
  78. package/dom-helpers/removeEventListener.js +1 -1
  79. package/dom-helpers/scrollLeft.js +1 -1
  80. package/dom-helpers/scrollParent.js +1 -1
  81. package/dom-helpers/scrollTo.js +1 -1
  82. package/dom-helpers/scrollTop.js +1 -1
  83. package/dom-helpers/scrollbarSize.js +1 -1
  84. package/dom-helpers/siblings.js +1 -1
  85. package/dom-helpers/text.js +1 -1
  86. package/dom-helpers/toggleClass.js +1 -1
  87. package/dom-helpers/transitionEnd.js +1 -1
  88. package/dom-helpers/triggerEvent.js +1 -1
  89. package/dom-helpers/types.js +5 -1
  90. package/dom-helpers/width.js +1 -1
  91. package/domHelpers.js +1 -1
  92. package/emitter/index.js +1 -1
  93. package/emitter/src/index.js +1 -1
  94. package/emitter.js +1 -1
  95. package/file/fileToURL.js +1 -1
  96. package/file/index.js +1 -1
  97. package/file/saveAs.js +1 -1
  98. package/file.js +1 -1
  99. package/idb/index.js +1 -1
  100. package/idb.js +1 -1
  101. package/index.js +1 -1
  102. package/invariant/index.js +1 -1
  103. package/invariant.js +1 -1
  104. package/is/index.js +1 -1
  105. package/is.js +1 -1
  106. package/js-cookie/index.js +1 -1
  107. package/js-cookie/src/api.js +1 -1
  108. package/js-cookie/src/assign.js +1 -1
  109. package/js-cookie/src/converter.js +1 -1
  110. package/jsCookie.js +1 -1
  111. package/lunar/index.js +1 -1
  112. package/lunar/lib/Holiday.js +1 -1
  113. package/lunar/lib/HolidayUtil.js +1 -1
  114. package/lunar/lib/I18n.js +1 -1
  115. package/lunar/lib/JieQi.js +1 -1
  116. package/lunar/lib/Lunar.js +1 -1
  117. package/lunar/lib/LunarMonth.js +1 -1
  118. package/lunar/lib/LunarTime.js +1 -1
  119. package/lunar/lib/LunarUtil.js +1 -1
  120. package/lunar/lib/LunarYear.js +1 -1
  121. package/lunar/lib/ShouXingUtil.js +1 -1
  122. package/lunar/lib/Solar.js +1 -1
  123. package/lunar/lib/SolarHalfYear.js +1 -1
  124. package/lunar/lib/SolarMonth.js +1 -1
  125. package/lunar/lib/SolarSeason.js +1 -1
  126. package/lunar/lib/SolarUtil.js +1 -1
  127. package/lunar/lib/SolarWeek.js +1 -1
  128. package/lunar/lib/SolarYear.js +1 -1
  129. package/lunar/lib/index.js +1 -1
  130. package/lunar.js +1 -1
  131. package/math/index.js +1 -1
  132. package/math.js +1 -1
  133. package/md5/index.js +1 -1
  134. package/md5.js +1 -1
  135. package/mock/MockWebSocket.js +1 -1
  136. package/mock/MockXMLHttpRequest.js +1 -1
  137. package/mock/index.js +1 -1
  138. package/mock.js +1 -1
  139. package/normalize-wheel/ExecutionEnvironment.js +1 -1
  140. package/normalize-wheel/UserAgent_DEPRECATED.js +1 -1
  141. package/normalize-wheel/index.js +1 -1
  142. package/normalize-wheel/isEventSupported.js +10 -14
  143. package/normalizeWheel.js +1 -1
  144. package/number-to-chinese/index.js +1 -1
  145. package/numberToChinese.js +1 -1
  146. package/nzh/cn.js +1 -1
  147. package/nzh/hk.js +1 -1
  148. package/nzh/index.js +1 -1
  149. package/nzh/nzh.js +1 -1
  150. package/nzh/src/autoGet.js +1 -1
  151. package/nzh/src/index.js +1 -1
  152. package/nzh/src/langs/cn_b.js +1 -1
  153. package/nzh/src/langs/cn_s.js +1 -1
  154. package/nzh/src/langs/hk_b.js +1 -1
  155. package/nzh/src/langs/hk_s.js +1 -1
  156. package/nzh/src/utils.js +1 -1
  157. package/nzh.js +1 -1
  158. package/object-keys-sort/index.js +1 -1
  159. package/objectKeysSort.js +1 -1
  160. package/package.json +1 -1
  161. package/pinyin/index.js +1 -1
  162. package/pinyin/simplified.js +1 -1
  163. package/pinyin/src/core.js +1 -1
  164. package/pinyin/src/simplified.js +1 -1
  165. package/pinyin/src/simplified_dict.js +1 -1
  166. package/pinyin/src/traditional.js +1 -1
  167. package/pinyin/src/traditional_dict.js +1 -1
  168. package/pinyin/traditional.js +1 -1
  169. package/pinyin.js +1 -1
  170. package/query-string/base.js +1 -1
  171. package/query-string/index.js +1 -1
  172. package/query-string/splitOnFirst.js +1 -1
  173. package/queryString.js +1 -1
  174. package/random/address.js +1 -1
  175. package/random/constellation.js +1 -1
  176. package/random/image.js +1 -1
  177. package/random/index.js +1 -1
  178. package/random/licensePlate.js +1 -1
  179. package/random/name.js +1 -1
  180. package/random/number.js +1 -1
  181. package/random/text.js +1 -1
  182. package/random/time.js +1 -1
  183. package/random/web.js +1 -1
  184. package/random.js +1 -1
  185. package/screenfull/index.js +1 -1
  186. package/screenfull.js +1 -1
  187. package/sleep/index.js +1 -1
  188. package/sleep.js +1 -1
  189. package/snapdom/index.js +1 -1
  190. package/snapdom/src/api/preCache.js +51 -49
  191. package/snapdom/src/api/snapdom.js +171 -67
  192. package/snapdom/src/core/cache.js +2 -2
  193. package/snapdom/src/core/capture.js +249 -234
  194. package/snapdom/src/core/clone.js +151 -120
  195. package/snapdom/src/core/context.js +10 -8
  196. package/snapdom/src/core/plugins.js +69 -0
  197. package/snapdom/src/core/prepare.js +2 -2
  198. package/snapdom/src/exporters/download.js +1 -1
  199. package/snapdom/src/exporters/toBlob.js +1 -1
  200. package/snapdom/src/exporters/toCanvas.js +40 -40
  201. package/snapdom/src/exporters/toImg.js +1 -1
  202. package/snapdom/src/modules/CSSVar.js +66 -40
  203. package/snapdom/src/modules/background.js +39 -23
  204. package/snapdom/src/modules/changeCSS.js +1 -1
  205. package/snapdom/src/modules/counter.js +100 -86
  206. package/snapdom/src/modules/fonts.js +4 -4
  207. package/snapdom/src/modules/iconFonts.js +98 -14
  208. package/snapdom/src/modules/images.js +1 -1
  209. package/snapdom/src/modules/lineClamp.js +1 -1
  210. package/snapdom/src/modules/pseudo.js +147 -138
  211. package/snapdom/src/modules/rasterize.js +1 -1
  212. package/snapdom/src/modules/snapFetch.js +1 -1
  213. package/snapdom/src/modules/styles.js +1 -1
  214. package/snapdom/src/modules/svgDefs.js +86 -39
  215. package/snapdom/src/utils/browser.js +1 -1
  216. package/snapdom/src/utils/css.js +1 -1
  217. package/snapdom/src/utils/helpers.js +1 -1
  218. package/snapdom/src/utils/image.js +1 -1
  219. package/snapdom/types/snapdom.d.ts +253 -184
  220. package/snapdom.js +1 -1
  221. package/tinycolor/index.js +1 -1
  222. package/tinycolor/src/conversion.js +1 -1
  223. package/tinycolor/src/css-color-names.js +1 -1
  224. package/tinycolor/src/format-input.js +1 -1
  225. package/tinycolor/src/from-ratio.js +1 -1
  226. package/tinycolor/src/index.js +1 -1
  227. package/tinycolor/src/random.js +1 -1
  228. package/tinycolor/src/readability.js +1 -1
  229. package/tinycolor/src/to-ms-filter.js +1 -1
  230. package/tinycolor/src/utils.js +1 -1
  231. package/tinycolor.js +1 -1
  232. package/tree/index.js +1 -1
  233. package/tree/search/index.js +1 -1
  234. package/tree.js +1 -1
  235. package/tween/index.js +8 -0
  236. package/tween/src/easing.js +62 -0
  237. package/tween/src/tween.js +46 -0
  238. package/tween.js +8 -0
  239. package/types/dom-helpers/types.d.ts +2 -0
  240. package/types/normalize-wheel/index.d.ts +1 -1
  241. package/types/snapdom/src/api/snapdom.d.ts +4 -0
  242. package/types/snapdom/src/core/capture.d.ts +4 -18
  243. package/types/snapdom/src/core/context.d.ts +4 -4
  244. package/types/snapdom/src/core/exporters.d.ts +33 -0
  245. package/types/snapdom/src/core/plugins.d.ts +59 -0
  246. package/types/snapdom/src/modules/CSSVar.d.ts +3 -7
  247. package/types/snapdom/src/modules/iconFonts.d.ts +34 -0
  248. package/types/snapdom/src/modules/svgDefs.d.ts +9 -15
  249. package/types/tween/index.d.ts +1 -0
  250. package/types/tween/src/easing.d.ts +22 -0
  251. package/types/tween/src/index.d.ts +3 -0
  252. package/types/tween/src/tween.d.ts +22 -0
  253. package/types/validate/index.d.ts +3 -0
  254. package/types/validate/src/index.d.ts +39 -0
  255. package/types/validate/src/interface.d.ts +53 -0
  256. package/types/validate/src/locale/en-US.d.ts +47 -0
  257. package/types/validate/src/locale/zh-CN.d.ts +47 -0
  258. package/types/validate/src/message.d.ts +2 -0
  259. package/types/validate/src/rules/array.d.ts +12 -0
  260. package/types/validate/src/rules/base.d.ts +25 -0
  261. package/types/validate/src/rules/boolean.d.ts +8 -0
  262. package/types/validate/src/rules/custom.d.ts +7 -0
  263. package/types/validate/src/rules/number.d.ts +12 -0
  264. package/types/validate/src/rules/object.d.ts +9 -0
  265. package/types/validate/src/rules/string.d.ts +12 -0
  266. package/types/validate/src/rules/type.d.ts +9 -0
  267. package/types/validate/src/utils.d.ts +3 -0
  268. package/ui-color/compareColorByRange.js +1 -1
  269. package/ui-color/index.js +1 -1
  270. package/uiColor.js +1 -1
  271. package/url-toolkit/index.js +1 -1
  272. package/url-toolkit/src/url-toolkit.js +1 -1
  273. package/urlToolkit.js +1 -1
  274. package/validate/index.js +28 -0
  275. package/validate/src/index.js +106 -0
  276. package/validate/src/locale/en-US.js +50 -0
  277. package/validate/src/locale/zh-CN.js +50 -0
  278. package/validate/src/message.js +5 -0
  279. package/validate/src/rules/array.js +73 -0
  280. package/validate/src/rules/base.js +69 -0
  281. package/validate/src/rules/boolean.js +29 -0
  282. package/validate/src/rules/custom.js +26 -0
  283. package/validate/src/rules/number.js +54 -0
  284. package/validate/src/rules/object.js +39 -0
  285. package/validate/src/rules/string.js +54 -0
  286. package/validate/src/rules/type.js +35 -0
  287. package/validate/src/utils.js +8 -0
  288. package/validate.js +28 -0
  289. package/version/index.js +1 -1
  290. package/version.js +1 -1
@@ -1,92 +1,196 @@
1
- /* 2025-10-28 09:57:10 */
2
- import { captureDOM as g } from "../core/capture.js";
3
- import { createContext as w } from "../core/context.js";
4
- import { download as h } from "../exporters/download.js";
5
- import { toBlob as b } from "../exporters/toBlob.js";
6
- import { toCanvas as y } from "../exporters/toCanvas.js";
7
- import { toImg as l } from "../exporters/toImg.js";
8
- import { extendIconFonts as k } from "../modules/iconFonts.js";
9
- import { rasterize as I } from "../modules/rasterize.js";
10
- import { isSafari as C } from "../utils/browser.js";
11
- const d = Symbol("snapdom.internal");
12
- let p = !1;
13
- async function r(o, n) {
14
- if (!o) throw new Error("Element cannot be null or undefined");
15
- const t = w(n);
16
- if (C() && (t.embedFonts === !0 || x(o)))
1
+ /* 2025-11-03 10:27:31 */
2
+ import { captureDOM as P } from "../core/capture.js";
3
+ import { createContext as W } from "../core/context.js";
4
+ import { registerPlugins as F, attachSessionPlugins as _, runAll as B, runHook as k } from "../core/plugins.js";
5
+ import { download as M } from "../exporters/download.js";
6
+ import { toBlob as S } from "../exporters/toBlob.js";
7
+ import { toCanvas as C } from "../exporters/toCanvas.js";
8
+ import { toImg as d } from "../exporters/toImg.js";
9
+ import { extendIconFonts as O } from "../modules/iconFonts.js";
10
+ import { rasterize as f } from "../modules/rasterize.js";
11
+ import { isSafari as R } from "../utils/browser.js";
12
+ s.plugins = (...n) => (F(...n), s);
13
+ const N = Symbol("snapdom.internal"), m = Symbol("snapdom.internal.silent");
14
+ let v = !1;
15
+ async function s(n, o) {
16
+ if (!n) throw new Error("Element cannot be null or undefined");
17
+ const r = W(o);
18
+ if (_(r, o && o.plugins), R() && (r.embedFonts === !0 || J(n)))
17
19
  for (let e = 0; e < 3; e++)
18
20
  try {
19
- await v(o, n), console.log("Iteración número:", e), p = !1;
21
+ await q(n, o), console.log("safariWarmup:", e), v = !1;
20
22
  } catch {
21
23
  }
22
- return t.iconFonts && t.iconFonts.length > 0 && k(t.iconFonts), t.snap || (t.snap = {
23
- toPng: (e, i) => r.toPng(e, i),
24
- toSvg: (e, i) => r.toSvg(e, i)
25
- }), r.capture(o, t, d);
24
+ return r.iconFonts && r.iconFonts.length > 0 && O(r.iconFonts), r.snap || (r.snap = {
25
+ toPng: (e, p) => s.toPng(e, p),
26
+ toSvg: (e, p) => s.toSvg(e, p)
27
+ }), s.capture(n, r, N);
26
28
  }
27
- r.capture = async (o, n, t) => {
28
- if (t !== d)
29
+ s.plugins = (...n) => (F(...n), s);
30
+ s.capture = async (n, o, r) => {
31
+ if (r !== N)
29
32
  throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");
30
- const e = await g(o, n), i = (s) => ({ ...n, ...s || {} }), a = (s) => (m) => {
31
- const c = i({ ...m || {}, format: s }), f = s === "jpeg" || s === "jpg", u = c.backgroundColor == null || c.backgroundColor === "transparent";
32
- return f && u && (c.backgroundColor = "#ffffff"), I(e, c);
33
- };
34
- return {
33
+ const e = await P(n, o), p = {
34
+ img: async (t, a) => d(e, { ...t, ...a || {} }),
35
+ svg: async (t, a) => d(e, { ...t, ...a || {} }),
36
+ canvas: async (t, a) => C(e, { ...t, ...a || {} }),
37
+ blob: async (t, a) => S(e, { ...t, ...a || {} }),
38
+ png: async (t, a) => f(e, { ...t, ...a || {}, format: "png" }),
39
+ jpeg: async (t, a) => f(e, { ...t, ...a || {}, format: "jpeg" }),
40
+ webp: async (t, a) => f(e, { ...t, ...a || {}, format: "webp" }),
41
+ download: async (t, a) => M(e, { ...t, ...a || {} })
42
+ }, w = { ...o, export: { url: e }, exports: {
43
+ svg: (t) => d(e, {
44
+ ...o,
45
+ ...t || {},
46
+ [m]: !0
47
+ }),
48
+ canvas: (t) => C(e, {
49
+ ...o,
50
+ ...t || {},
51
+ [m]: !0
52
+ }),
53
+ png: (t) => f(e, {
54
+ ...o,
55
+ ...t || {},
56
+ format: "png",
57
+ [m]: !0
58
+ }),
59
+ jpeg: (t) => f(e, {
60
+ ...o,
61
+ ...t || {},
62
+ format: "jpeg",
63
+ [m]: !0
64
+ }),
65
+ jpg: (t) => f(e, {
66
+ ...o,
67
+ ...t || {},
68
+ format: "jpeg",
69
+ [m]: !0
70
+ }),
71
+ webp: (t) => f(e, {
72
+ ...o,
73
+ ...t || {},
74
+ format: "webp",
75
+ [m]: !0
76
+ }),
77
+ blob: (t) => S(e, {
78
+ ...o,
79
+ ...t || {},
80
+ [m]: !0
81
+ }),
82
+ img: (t) => d(e, {
83
+ ...o,
84
+ ...t || {},
85
+ [m]: !0
86
+ })
87
+ } }, u = await B("defineExports", w), A = Object.assign(
88
+ {},
89
+ ...u.filter((t) => t && typeof t == "object")
90
+ ), l = { ...p, ...A };
91
+ l.jpeg && !l.jpg && (l.jpg = (t, a) => l.jpeg(t, a));
92
+ function T(t, a) {
93
+ const g = { ...o, ...a || {} };
94
+ return (t === "jpeg" || t === "jpg") && (g.backgroundColor == null || g.backgroundColor === "transparent") && (g.backgroundColor = "#ffffff"), g;
95
+ }
96
+ let E = !1, j = Promise.resolve();
97
+ async function c(t, a) {
98
+ const g = async () => {
99
+ const h = l[t];
100
+ if (!h) throw new Error(`[snapdom] Unknown export type: ${t}`);
101
+ const x = T(t, a), y = { ...o, export: { type: t, options: x, url: e } };
102
+ await k("beforeExport", y);
103
+ const I = await h(y, x);
104
+ return await k("afterExport", y, I), E || (E = !0, await k("afterSnap", o)), I;
105
+ };
106
+ return j = j.then(g);
107
+ }
108
+ const b = {
35
109
  url: e,
36
110
  toRaw: () => e,
37
- toImg: (s) => l(e, i(s)),
38
- toSvg: (s) => l(e, i(s)),
39
- toCanvas: (s) => y(e, i(s)),
40
- toBlob: (s) => b(e, i(s)),
41
- toPng: a("png"),
42
- toJpg: a("jpeg"),
43
- toWebp: a("webp"),
44
- download: (s) => h(e, i(s))
111
+ to: (t, a) => c(t, a),
112
+ // Métodos “clásicos” que los tests esperan:
113
+ toImg: (t) => c("img", t),
114
+ toSvg: (t) => c("svg", t),
115
+ toCanvas: (t) => c("canvas", t),
116
+ toBlob: (t) => c("blob", t),
117
+ toPng: (t) => c("png", t),
118
+ toJpg: (t) => c("jpg", t),
119
+ // ← alias requerido por los tests
120
+ toWebp: (t) => c("webp", t),
121
+ download: (t) => c("download", t)
122
+ // ← método directo (no toDownload)
45
123
  };
124
+ for (const t of Object.keys(l)) {
125
+ const a = "to" + t.charAt(0).toUpperCase() + t.slice(1);
126
+ b[a] || (b[a] = (g) => c(t, g));
127
+ }
128
+ return b;
46
129
  };
47
- r.toRaw = (o, n) => r(o, n).then((t) => t.toRaw());
48
- r.toImg = (o, n) => r(o, n).then((t) => t.toImg());
49
- r.toSvg = (o, n) => r(o, n).then((t) => t.toSvg());
50
- r.toCanvas = (o, n) => r(o, n).then((t) => t.toCanvas());
51
- r.toBlob = (o, n) => r(o, n).then((t) => t.toBlob());
52
- r.toPng = (o, n) => r(o, { ...n, format: "png" }).then((t) => t.toPng());
53
- r.toJpg = (o, n) => r(o, { ...n, format: "jpeg" }).then((t) => t.toJpg());
54
- r.toWebp = (o, n) => r(o, { ...n, format: "webp" }).then((t) => t.toWebp());
55
- r.download = (o, n) => r(o, n).then((t) => t.download());
56
- async function v(o, n) {
57
- if (p) return;
58
- const t = {
59
- ...n,
130
+ s.toRaw = (n, o) => s(n, o).then((r) => r.toRaw());
131
+ s.toImg = (n, o) => s(n, o).then((r) => r.toImg());
132
+ s.toSvg = (n, o) => s(n, o).then((r) => r.toSvg());
133
+ s.toCanvas = (n, o) => s(n, o).then((r) => r.toCanvas());
134
+ s.toBlob = (n, o) => s(n, o).then((r) => r.toBlob());
135
+ s.toPng = (n, o) => s(n, { ...o, format: "png" }).then((r) => r.toPng());
136
+ s.toJpg = (n, o) => s(n, { ...o, format: "jpeg" }).then((r) => r.toJpg());
137
+ s.toWebp = (n, o) => s(n, { ...o, format: "webp" }).then((r) => r.toWebp());
138
+ s.download = (n, o) => s(n, o).then((r) => r.download());
139
+ async function q(n, o) {
140
+ if (v) return;
141
+ const r = {
142
+ ...o,
60
143
  fast: !0,
61
144
  embedFonts: !0,
62
145
  scale: 0.2
63
146
  };
64
147
  let e;
65
148
  try {
66
- e = await g(o, t);
149
+ e = await P(n, r);
67
150
  } catch {
68
- return;
69
151
  }
70
- await new Promise((i) => {
71
- const a = new Image();
72
- a.decoding = "sync", a.loading = "eager", a.style.position = "fixed", a.style.left = 0, a.style.top = 0, a.style.width = "10px", a.style.height = "10px", a.style.opacity = "0.01", a.style.transform = "translateZ(10px)", a.style.willChange = "transform,opacity;", a.src = e;
73
- const s = async () => {
74
- await new Promise((m) => setTimeout(m, 100)), a && a.parentNode && a.parentNode.removeChild(a), p = !0, i();
75
- };
76
- document.body.appendChild(a), s();
77
- });
152
+ await new Promise(
153
+ (p) => requestAnimationFrame(() => requestAnimationFrame(p))
154
+ ), e && await new Promise((p) => {
155
+ const i = new Image();
156
+ try {
157
+ i.decoding = "sync", i.loading = "eager";
158
+ } catch {
159
+ }
160
+ i.style.cssText = "position:fixed;left:0px;top:0px;width:10px;height:10px;opacity:0.01;pointer-events:none;", i.src = e, document.body.appendChild(i), (async () => {
161
+ try {
162
+ typeof i.decode == "function" && await i.decode();
163
+ } catch {
164
+ }
165
+ const w = performance.now();
166
+ for (; !(i.complete && i.naturalWidth > 0) && performance.now() - w < 900; )
167
+ await new Promise((u) => setTimeout(u, 50));
168
+ await new Promise((u) => requestAnimationFrame(u));
169
+ try {
170
+ i.remove();
171
+ } catch {
172
+ }
173
+ p();
174
+ })();
175
+ }), n.querySelectorAll("canvas").forEach((p) => {
176
+ try {
177
+ const i = p.getContext("2d", { willReadFrequently: !0 });
178
+ i && i.getImageData(0, 0, 1, 1);
179
+ } catch {
180
+ }
181
+ }), v = !0;
78
182
  }
79
- function x(o) {
80
- const n = document.createTreeWalker(o, NodeFilter.SHOW_ELEMENT);
81
- for (; n.nextNode(); ) {
82
- const t = (
183
+ function J(n) {
184
+ const o = document.createTreeWalker(n, NodeFilter.SHOW_ELEMENT);
185
+ for (; o.nextNode(); ) {
186
+ const r = (
83
187
  /** @type {Element} */
84
- n.currentNode
85
- ), e = getComputedStyle(t), i = e.backgroundImage && e.backgroundImage !== "none", a = e.maskImage && e.maskImage !== "none" || e.webkitMaskImage && e.webkitMaskImage !== "none";
86
- if (i || a) return !0;
188
+ o.currentNode
189
+ ), e = getComputedStyle(r), p = e.backgroundImage && e.backgroundImage !== "none", i = e.maskImage && e.maskImage !== "none" || e.webkitMaskImage && e.webkitMaskImage !== "none";
190
+ if (p || i || r.tagName === "CANVAS") return !0;
87
191
  }
88
192
  return !1;
89
193
  }
90
194
  export {
91
- r as snapdom
195
+ s as snapdom
92
196
  };
@@ -1,4 +1,4 @@
1
- /* 2025-10-28 09:57:10 */
1
+ /* 2025-11-03 10:27:31 */
2
2
  const e = {
3
3
  image: /* @__PURE__ */ new Map(),
4
4
  background: /* @__PURE__ */ new Map(),
@@ -14,7 +14,7 @@ const e = {
14
14
  }
15
15
  };
16
16
  function s(a = "soft") {
17
- switch (a) {
17
+ switch (e.session.__counterEpoch = (e.session.__counterEpoch || 0) + 1, a) {
18
18
  case "auto": {
19
19
  e.session.styleMap = /* @__PURE__ */ new Map(), e.session.nodeMap = /* @__PURE__ */ new Map();
20
20
  return;