@netless/app-slide 0.3.0-canary.3 → 0.3.0-canary.6

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.
package/dist/main.mjs ADDED
@@ -0,0 +1,1091 @@
1
+ import { Slide as dt } from "@netless/slide";
2
+ var Ie = { exports: {} }, ut = {
3
+ aliceblue: [240, 248, 255],
4
+ antiquewhite: [250, 235, 215],
5
+ aqua: [0, 255, 255],
6
+ aquamarine: [127, 255, 212],
7
+ azure: [240, 255, 255],
8
+ beige: [245, 245, 220],
9
+ bisque: [255, 228, 196],
10
+ black: [0, 0, 0],
11
+ blanchedalmond: [255, 235, 205],
12
+ blue: [0, 0, 255],
13
+ blueviolet: [138, 43, 226],
14
+ brown: [165, 42, 42],
15
+ burlywood: [222, 184, 135],
16
+ cadetblue: [95, 158, 160],
17
+ chartreuse: [127, 255, 0],
18
+ chocolate: [210, 105, 30],
19
+ coral: [255, 127, 80],
20
+ cornflowerblue: [100, 149, 237],
21
+ cornsilk: [255, 248, 220],
22
+ crimson: [220, 20, 60],
23
+ cyan: [0, 255, 255],
24
+ darkblue: [0, 0, 139],
25
+ darkcyan: [0, 139, 139],
26
+ darkgoldenrod: [184, 134, 11],
27
+ darkgray: [169, 169, 169],
28
+ darkgreen: [0, 100, 0],
29
+ darkgrey: [169, 169, 169],
30
+ darkkhaki: [189, 183, 107],
31
+ darkmagenta: [139, 0, 139],
32
+ darkolivegreen: [85, 107, 47],
33
+ darkorange: [255, 140, 0],
34
+ darkorchid: [153, 50, 204],
35
+ darkred: [139, 0, 0],
36
+ darksalmon: [233, 150, 122],
37
+ darkseagreen: [143, 188, 143],
38
+ darkslateblue: [72, 61, 139],
39
+ darkslategray: [47, 79, 79],
40
+ darkslategrey: [47, 79, 79],
41
+ darkturquoise: [0, 206, 209],
42
+ darkviolet: [148, 0, 211],
43
+ deeppink: [255, 20, 147],
44
+ deepskyblue: [0, 191, 255],
45
+ dimgray: [105, 105, 105],
46
+ dimgrey: [105, 105, 105],
47
+ dodgerblue: [30, 144, 255],
48
+ firebrick: [178, 34, 34],
49
+ floralwhite: [255, 250, 240],
50
+ forestgreen: [34, 139, 34],
51
+ fuchsia: [255, 0, 255],
52
+ gainsboro: [220, 220, 220],
53
+ ghostwhite: [248, 248, 255],
54
+ gold: [255, 215, 0],
55
+ goldenrod: [218, 165, 32],
56
+ gray: [128, 128, 128],
57
+ green: [0, 128, 0],
58
+ greenyellow: [173, 255, 47],
59
+ grey: [128, 128, 128],
60
+ honeydew: [240, 255, 240],
61
+ hotpink: [255, 105, 180],
62
+ indianred: [205, 92, 92],
63
+ indigo: [75, 0, 130],
64
+ ivory: [255, 255, 240],
65
+ khaki: [240, 230, 140],
66
+ lavender: [230, 230, 250],
67
+ lavenderblush: [255, 240, 245],
68
+ lawngreen: [124, 252, 0],
69
+ lemonchiffon: [255, 250, 205],
70
+ lightblue: [173, 216, 230],
71
+ lightcoral: [240, 128, 128],
72
+ lightcyan: [224, 255, 255],
73
+ lightgoldenrodyellow: [250, 250, 210],
74
+ lightgray: [211, 211, 211],
75
+ lightgreen: [144, 238, 144],
76
+ lightgrey: [211, 211, 211],
77
+ lightpink: [255, 182, 193],
78
+ lightsalmon: [255, 160, 122],
79
+ lightseagreen: [32, 178, 170],
80
+ lightskyblue: [135, 206, 250],
81
+ lightslategray: [119, 136, 153],
82
+ lightslategrey: [119, 136, 153],
83
+ lightsteelblue: [176, 196, 222],
84
+ lightyellow: [255, 255, 224],
85
+ lime: [0, 255, 0],
86
+ limegreen: [50, 205, 50],
87
+ linen: [250, 240, 230],
88
+ magenta: [255, 0, 255],
89
+ maroon: [128, 0, 0],
90
+ mediumaquamarine: [102, 205, 170],
91
+ mediumblue: [0, 0, 205],
92
+ mediumorchid: [186, 85, 211],
93
+ mediumpurple: [147, 112, 219],
94
+ mediumseagreen: [60, 179, 113],
95
+ mediumslateblue: [123, 104, 238],
96
+ mediumspringgreen: [0, 250, 154],
97
+ mediumturquoise: [72, 209, 204],
98
+ mediumvioletred: [199, 21, 133],
99
+ midnightblue: [25, 25, 112],
100
+ mintcream: [245, 255, 250],
101
+ mistyrose: [255, 228, 225],
102
+ moccasin: [255, 228, 181],
103
+ navajowhite: [255, 222, 173],
104
+ navy: [0, 0, 128],
105
+ oldlace: [253, 245, 230],
106
+ olive: [128, 128, 0],
107
+ olivedrab: [107, 142, 35],
108
+ orange: [255, 165, 0],
109
+ orangered: [255, 69, 0],
110
+ orchid: [218, 112, 214],
111
+ palegoldenrod: [238, 232, 170],
112
+ palegreen: [152, 251, 152],
113
+ paleturquoise: [175, 238, 238],
114
+ palevioletred: [219, 112, 147],
115
+ papayawhip: [255, 239, 213],
116
+ peachpuff: [255, 218, 185],
117
+ peru: [205, 133, 63],
118
+ pink: [255, 192, 203],
119
+ plum: [221, 160, 221],
120
+ powderblue: [176, 224, 230],
121
+ purple: [128, 0, 128],
122
+ rebeccapurple: [102, 51, 153],
123
+ red: [255, 0, 0],
124
+ rosybrown: [188, 143, 143],
125
+ royalblue: [65, 105, 225],
126
+ saddlebrown: [139, 69, 19],
127
+ salmon: [250, 128, 114],
128
+ sandybrown: [244, 164, 96],
129
+ seagreen: [46, 139, 87],
130
+ seashell: [255, 245, 238],
131
+ sienna: [160, 82, 45],
132
+ silver: [192, 192, 192],
133
+ skyblue: [135, 206, 235],
134
+ slateblue: [106, 90, 205],
135
+ slategray: [112, 128, 144],
136
+ slategrey: [112, 128, 144],
137
+ snow: [255, 250, 250],
138
+ springgreen: [0, 255, 127],
139
+ steelblue: [70, 130, 180],
140
+ tan: [210, 180, 140],
141
+ teal: [0, 128, 128],
142
+ thistle: [216, 191, 216],
143
+ tomato: [255, 99, 71],
144
+ turquoise: [64, 224, 208],
145
+ violet: [238, 130, 238],
146
+ wheat: [245, 222, 179],
147
+ white: [255, 255, 255],
148
+ whitesmoke: [245, 245, 245],
149
+ yellow: [255, 255, 0],
150
+ yellowgreen: [154, 205, 50]
151
+ }, Ce = { exports: {} }, pt = function(t) {
152
+ return !t || typeof t == "string" ? !1 : t instanceof Array || Array.isArray(t) || t.length >= 0 && (t.splice instanceof Function || Object.getOwnPropertyDescriptor(t, t.length - 1) && t.constructor.name !== "String");
153
+ }, ht = pt, gt = Array.prototype.concat, ft = Array.prototype.slice, me = Ce.exports = function(t) {
154
+ for (var s = [], r = 0, o = t.length; r < o; r++) {
155
+ var l = t[r];
156
+ ht(l) ? s = gt.call(s, ft.call(l)) : s.push(l);
157
+ }
158
+ return s;
159
+ };
160
+ me.wrap = function(e) {
161
+ return function() {
162
+ return e(me(arguments));
163
+ };
164
+ };
165
+ var j = ut, Z = Ce.exports, Ae = Object.hasOwnProperty, Le = /* @__PURE__ */ Object.create(null);
166
+ for (var ne in j)
167
+ Ae.call(j, ne) && (Le[j[ne]] = ne);
168
+ var _ = Ie.exports = {
169
+ to: {},
170
+ get: {}
171
+ };
172
+ _.get = function(e) {
173
+ var t = e.substring(0, 3).toLowerCase(), s, r;
174
+ switch (t) {
175
+ case "hsl":
176
+ s = _.get.hsl(e), r = "hsl";
177
+ break;
178
+ case "hwb":
179
+ s = _.get.hwb(e), r = "hwb";
180
+ break;
181
+ default:
182
+ s = _.get.rgb(e), r = "rgb";
183
+ break;
184
+ }
185
+ return s ? { model: r, value: s } : null;
186
+ };
187
+ _.get.rgb = function(e) {
188
+ if (!e)
189
+ return null;
190
+ var t = /^#([a-f0-9]{3,4})$/i, s = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i, r = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/, o = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/, l = /^(\w+)$/, a = [0, 0, 0, 1], i, n, d;
191
+ if (i = e.match(s)) {
192
+ for (d = i[2], i = i[1], n = 0; n < 3; n++) {
193
+ var u = n * 2;
194
+ a[n] = parseInt(i.slice(u, u + 2), 16);
195
+ }
196
+ d && (a[3] = parseInt(d, 16) / 255);
197
+ } else if (i = e.match(t)) {
198
+ for (i = i[1], d = i[3], n = 0; n < 3; n++)
199
+ a[n] = parseInt(i[n] + i[n], 16);
200
+ d && (a[3] = parseInt(d + d, 16) / 255);
201
+ } else if (i = e.match(r)) {
202
+ for (n = 0; n < 3; n++)
203
+ a[n] = parseInt(i[n + 1], 0);
204
+ i[4] && (i[5] ? a[3] = parseFloat(i[4]) * 0.01 : a[3] = parseFloat(i[4]));
205
+ } else if (i = e.match(o)) {
206
+ for (n = 0; n < 3; n++)
207
+ a[n] = Math.round(parseFloat(i[n + 1]) * 2.55);
208
+ i[4] && (i[5] ? a[3] = parseFloat(i[4]) * 0.01 : a[3] = parseFloat(i[4]));
209
+ } else
210
+ return (i = e.match(l)) ? i[1] === "transparent" ? [0, 0, 0, 0] : Ae.call(j, i[1]) ? (a = j[i[1]], a[3] = 1, a) : null : null;
211
+ for (n = 0; n < 3; n++)
212
+ a[n] = $(a[n], 0, 255);
213
+ return a[3] = $(a[3], 0, 1), a;
214
+ };
215
+ _.get.hsl = function(e) {
216
+ if (!e)
217
+ return null;
218
+ var t = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/, s = e.match(t);
219
+ if (s) {
220
+ var r = parseFloat(s[4]), o = (parseFloat(s[1]) % 360 + 360) % 360, l = $(parseFloat(s[2]), 0, 100), a = $(parseFloat(s[3]), 0, 100), i = $(isNaN(r) ? 1 : r, 0, 1);
221
+ return [o, l, a, i];
222
+ }
223
+ return null;
224
+ };
225
+ _.get.hwb = function(e) {
226
+ if (!e)
227
+ return null;
228
+ var t = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/, s = e.match(t);
229
+ if (s) {
230
+ var r = parseFloat(s[4]), o = (parseFloat(s[1]) % 360 + 360) % 360, l = $(parseFloat(s[2]), 0, 100), a = $(parseFloat(s[3]), 0, 100), i = $(isNaN(r) ? 1 : r, 0, 1);
231
+ return [o, l, a, i];
232
+ }
233
+ return null;
234
+ };
235
+ _.to.hex = function() {
236
+ var e = Z(arguments);
237
+ return "#" + Y(e[0]) + Y(e[1]) + Y(e[2]) + (e[3] < 1 ? Y(Math.round(e[3] * 255)) : "");
238
+ };
239
+ _.to.rgb = function() {
240
+ var e = Z(arguments);
241
+ return e.length < 4 || e[3] === 1 ? "rgb(" + Math.round(e[0]) + ", " + Math.round(e[1]) + ", " + Math.round(e[2]) + ")" : "rgba(" + Math.round(e[0]) + ", " + Math.round(e[1]) + ", " + Math.round(e[2]) + ", " + e[3] + ")";
242
+ };
243
+ _.to.rgb.percent = function() {
244
+ var e = Z(arguments), t = Math.round(e[0] / 255 * 100), s = Math.round(e[1] / 255 * 100), r = Math.round(e[2] / 255 * 100);
245
+ return e.length < 4 || e[3] === 1 ? "rgb(" + t + "%, " + s + "%, " + r + "%)" : "rgba(" + t + "%, " + s + "%, " + r + "%, " + e[3] + ")";
246
+ };
247
+ _.to.hsl = function() {
248
+ var e = Z(arguments);
249
+ return e.length < 4 || e[3] === 1 ? "hsl(" + e[0] + ", " + e[1] + "%, " + e[2] + "%)" : "hsla(" + e[0] + ", " + e[1] + "%, " + e[2] + "%, " + e[3] + ")";
250
+ };
251
+ _.to.hwb = function() {
252
+ var e = Z(arguments), t = "";
253
+ return e.length >= 4 && e[3] !== 1 && (t = ", " + e[3]), "hwb(" + e[0] + ", " + e[1] + "%, " + e[2] + "%" + t + ")";
254
+ };
255
+ _.to.keyword = function(e) {
256
+ return Le[e.slice(0, 3)];
257
+ };
258
+ function $(e, t, s) {
259
+ return Math.min(Math.max(t, e), s);
260
+ }
261
+ function Y(e) {
262
+ var t = Math.round(e).toString(16).toUpperCase();
263
+ return t.length < 2 ? "0" + t : t;
264
+ }
265
+ const $e = "!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", bt = $e.length, _e = Array(20), vt = () => {
266
+ for (let e = 0; e < 20; e++)
267
+ _e[e] = $e.charAt(Math.random() * bt);
268
+ return _e.join("");
269
+ };
270
+ function we(e) {
271
+ try {
272
+ return e();
273
+ } catch (t) {
274
+ console.error(t);
275
+ }
276
+ }
277
+ class ze {
278
+ constructor() {
279
+ this.disposers = /* @__PURE__ */ new Map();
280
+ }
281
+ addDisposer(t, s = this.genUID()) {
282
+ return this.flush(s), this.disposers.set(s, Array.isArray(t) ? () => t.forEach(we) : t), s;
283
+ }
284
+ add(t, s = this.genUID()) {
285
+ const r = t();
286
+ return r ? this.addDisposer(r, s) : s;
287
+ }
288
+ addEventListener(t, s, r, o, l = this.genUID()) {
289
+ return t.addEventListener(s, r, o), this.addDisposer(() => t.removeEventListener(s, r, o), l), l;
290
+ }
291
+ setTimeout(t, s, r = this.genUID()) {
292
+ const o = window.setTimeout(() => {
293
+ this.remove(r), t();
294
+ }, s);
295
+ return this.addDisposer(() => window.clearTimeout(o), r);
296
+ }
297
+ setInterval(t, s, r = this.genUID()) {
298
+ const o = window.setInterval(t, s);
299
+ return this.addDisposer(() => window.clearInterval(o), r);
300
+ }
301
+ remove(t) {
302
+ const s = this.disposers.get(t);
303
+ return this.disposers.delete(t), s;
304
+ }
305
+ flush(t) {
306
+ const s = this.remove(t);
307
+ if (s)
308
+ try {
309
+ s();
310
+ } catch (r) {
311
+ console.error(r);
312
+ }
313
+ }
314
+ flushAll() {
315
+ this.disposers.forEach(we), this.disposers.clear();
316
+ }
317
+ genUID() {
318
+ let t;
319
+ do
320
+ t = vt();
321
+ while (this.disposers.has(t));
322
+ return t;
323
+ }
324
+ }
325
+ const N = typeof window < "u", Ne = N && !("onscroll" in window) || typeof navigator < "u" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent), Oe = N && "IntersectionObserver" in window, De = N && "classList" in document.createElement("p"), Me = N && window.devicePixelRatio > 1, mt = {
326
+ elements_selector: ".lazy",
327
+ container: Ne || N ? document : null,
328
+ threshold: 300,
329
+ thresholds: null,
330
+ data_src: "src",
331
+ data_srcset: "srcset",
332
+ data_sizes: "sizes",
333
+ data_bg: "bg",
334
+ data_bg_hidpi: "bg-hidpi",
335
+ data_bg_multi: "bg-multi",
336
+ data_bg_multi_hidpi: "bg-multi-hidpi",
337
+ data_bg_set: "bg-set",
338
+ data_poster: "poster",
339
+ class_applied: "applied",
340
+ class_loading: "loading",
341
+ class_loaded: "loaded",
342
+ class_error: "error",
343
+ class_entered: "entered",
344
+ class_exited: "exited",
345
+ unobserve_completed: !0,
346
+ unobserve_entered: !1,
347
+ cancel_on_exit: !0,
348
+ callback_enter: null,
349
+ callback_exit: null,
350
+ callback_applied: null,
351
+ callback_loading: null,
352
+ callback_loaded: null,
353
+ callback_error: null,
354
+ callback_finish: null,
355
+ callback_cancel: null,
356
+ use_native: !1,
357
+ restore_on_error: !1
358
+ }, Te = (e) => Object.assign({}, mt, e), ye = function(e, t) {
359
+ let s;
360
+ const r = "LazyLoad::Initialized", o = new e(t);
361
+ try {
362
+ s = new CustomEvent(r, { detail: { instance: o } });
363
+ } catch {
364
+ s = document.createEvent("CustomEvent"), s.initCustomEvent(r, !1, !1, { instance: o });
365
+ }
366
+ window.dispatchEvent(s);
367
+ }, _t = (e, t) => {
368
+ if (!!t)
369
+ if (!t.length)
370
+ ye(e, t);
371
+ else
372
+ for (let s = 0, r; r = t[s]; s += 1)
373
+ ye(e, r);
374
+ }, I = "src", ie = "srcset", le = "sizes", Fe = "poster", K = "llOriginalAttrs", Pe = "data", ce = "loading", Re = "loaded", Ve = "applied", wt = "entered", de = "error", qe = "native", Be = "data-", Ue = "ll-status", v = (e, t) => e.getAttribute(Be + t), yt = (e, t, s) => {
375
+ var r = Be + t;
376
+ if (s === null) {
377
+ e.removeAttribute(r);
378
+ return;
379
+ }
380
+ e.setAttribute(r, s);
381
+ }, Q = (e) => v(e, Ue), M = (e, t) => yt(e, Ue, t), te = (e) => M(e, null), ue = (e) => Q(e) === null, kt = (e) => Q(e) === ce, St = (e) => Q(e) === de, pe = (e) => Q(e) === qe, xt = [ce, Re, Ve, de], Et = (e) => xt.indexOf(Q(e)) >= 0, O = (e, t, s, r) => {
382
+ if (!!e) {
383
+ if (r !== void 0) {
384
+ e(t, s, r);
385
+ return;
386
+ }
387
+ if (s !== void 0) {
388
+ e(t, s);
389
+ return;
390
+ }
391
+ e(t);
392
+ }
393
+ }, U = (e, t) => {
394
+ if (De) {
395
+ e.classList.add(t);
396
+ return;
397
+ }
398
+ e.className += (e.className ? " " : "") + t;
399
+ }, S = (e, t) => {
400
+ if (De) {
401
+ e.classList.remove(t);
402
+ return;
403
+ }
404
+ e.className = e.className.replace(new RegExp("(^|\\s+)" + t + "(\\s+|$)"), " ").replace(/^\s+/, "").replace(/\s+$/, "");
405
+ }, It = (e) => {
406
+ e.llTempImage = document.createElement("IMG");
407
+ }, Ct = (e) => {
408
+ delete e.llTempImage;
409
+ }, He = (e) => e.llTempImage, se = (e, t) => {
410
+ if (!t)
411
+ return;
412
+ const s = t._observer;
413
+ !s || s.unobserve(e);
414
+ }, At = (e) => {
415
+ e.disconnect();
416
+ }, Lt = (e, t, s) => {
417
+ t.unobserve_entered && se(e, s);
418
+ }, he = (e, t) => {
419
+ !e || (e.loadingCount += t);
420
+ }, $t = (e) => {
421
+ !e || (e.toLoadCount -= 1);
422
+ }, je = (e, t) => {
423
+ !e || (e.toLoadCount = t);
424
+ }, zt = (e) => e.loadingCount > 0, Nt = (e) => e.toLoadCount > 0, Ge = (e) => {
425
+ let t = [];
426
+ for (let s = 0, r; r = e.children[s]; s += 1)
427
+ r.tagName === "SOURCE" && t.push(r);
428
+ return t;
429
+ }, ge = (e, t) => {
430
+ const s = e.parentNode;
431
+ if (!s || s.tagName !== "PICTURE")
432
+ return;
433
+ Ge(s).forEach(t);
434
+ }, We = (e, t) => {
435
+ Ge(e).forEach(t);
436
+ }, re = [I], Je = [I, Fe], W = [I, ie, le], Ze = [Pe], oe = (e) => !!e[K], Ke = (e) => e[K], Qe = (e) => delete e[K], B = (e, t) => {
437
+ if (oe(e))
438
+ return;
439
+ const s = {};
440
+ t.forEach((r) => {
441
+ s[r] = e.getAttribute(r);
442
+ }), e[K] = s;
443
+ }, Ot = (e) => {
444
+ oe(e) || (e[K] = { backgroundImage: e.style.backgroundImage });
445
+ }, Dt = (e, t, s) => {
446
+ if (!s) {
447
+ e.removeAttribute(t);
448
+ return;
449
+ }
450
+ e.setAttribute(t, s);
451
+ }, D = (e, t) => {
452
+ if (!oe(e))
453
+ return;
454
+ const s = Ke(e);
455
+ t.forEach((r) => {
456
+ Dt(e, r, s[r]);
457
+ });
458
+ }, Mt = (e) => {
459
+ if (!oe(e))
460
+ return;
461
+ const t = Ke(e);
462
+ e.style.backgroundImage = t.backgroundImage;
463
+ }, Xe = (e, t, s) => {
464
+ U(e, t.class_applied), M(e, Ve), s && (t.unobserve_completed && se(e, t), O(t.callback_applied, e, s));
465
+ }, Ye = (e, t, s) => {
466
+ U(e, t.class_loading), M(e, ce), s && (he(s, 1), O(t.callback_loading, e, s));
467
+ }, z = (e, t, s) => {
468
+ !s || e.setAttribute(t, s);
469
+ }, ke = (e, t) => {
470
+ z(e, le, v(e, t.data_sizes)), z(e, ie, v(e, t.data_srcset)), z(e, I, v(e, t.data_src));
471
+ }, Tt = (e, t) => {
472
+ ge(e, (s) => {
473
+ B(s, W), ke(s, t);
474
+ }), B(e, W), ke(e, t);
475
+ }, Ft = (e, t) => {
476
+ B(e, re), z(e, I, v(e, t.data_src));
477
+ }, Pt = (e, t) => {
478
+ We(e, (s) => {
479
+ B(s, re), z(s, I, v(s, t.data_src));
480
+ }), B(e, Je), z(e, Fe, v(e, t.data_poster)), z(e, I, v(e, t.data_src)), e.load();
481
+ }, Rt = (e, t) => {
482
+ B(e, Ze), z(e, Pe, v(e, t.data_src));
483
+ }, Vt = (e, t, s) => {
484
+ const r = v(e, t.data_bg), o = v(e, t.data_bg_hidpi), l = Me && o ? o : r;
485
+ !l || (e.style.backgroundImage = `url("${l}")`, He(e).setAttribute(I, l), Ye(e, t, s));
486
+ }, qt = (e, t, s) => {
487
+ const r = v(e, t.data_bg_multi), o = v(e, t.data_bg_multi_hidpi), l = Me && o ? o : r;
488
+ !l || (e.style.backgroundImage = l, Xe(e, t, s));
489
+ }, Bt = (e, t, s) => {
490
+ const r = v(e, t.data_bg_set);
491
+ if (!r)
492
+ return;
493
+ const o = r.split("|");
494
+ let l = o.map((a) => `image-set(${a})`);
495
+ e.style.backgroundImage = l.join(), e.style.backgroundImage === "" && (l = o.map((a) => `-webkit-image-set(${a})`), e.style.backgroundImage = l.join()), Xe(e, t, s);
496
+ }, et = {
497
+ IMG: Tt,
498
+ IFRAME: Ft,
499
+ VIDEO: Pt,
500
+ OBJECT: Rt
501
+ }, Ut = (e, t) => {
502
+ const s = et[e.tagName];
503
+ !s || s(e, t);
504
+ }, Ht = (e, t, s) => {
505
+ const r = et[e.tagName];
506
+ !r || (r(e, t), Ye(e, t, s));
507
+ }, jt = ["IMG", "IFRAME", "VIDEO", "OBJECT"], Gt = (e) => jt.indexOf(e.tagName) > -1, tt = (e, t) => {
508
+ t && !zt(t) && !Nt(t) && O(e.callback_finish, t);
509
+ }, Se = (e, t, s) => {
510
+ e.addEventListener(t, s), e.llEvLisnrs[t] = s;
511
+ }, Wt = (e, t, s) => {
512
+ e.removeEventListener(t, s);
513
+ }, fe = (e) => !!e.llEvLisnrs, Jt = (e, t, s) => {
514
+ fe(e) || (e.llEvLisnrs = {});
515
+ const r = e.tagName === "VIDEO" ? "loadeddata" : "load";
516
+ Se(e, r, t), Se(e, "error", s);
517
+ }, ae = (e) => {
518
+ if (!fe(e))
519
+ return;
520
+ const t = e.llEvLisnrs;
521
+ for (let s in t) {
522
+ const r = t[s];
523
+ Wt(e, s, r);
524
+ }
525
+ delete e.llEvLisnrs;
526
+ }, st = (e, t, s) => {
527
+ Ct(e), he(s, -1), $t(s), S(e, t.class_loading), t.unobserve_completed && se(e, s);
528
+ }, Zt = (e, t, s, r) => {
529
+ const o = pe(t);
530
+ st(t, s, r), U(t, s.class_loaded), M(t, Re), O(s.callback_loaded, t, r), o || tt(s, r);
531
+ }, Kt = (e, t, s, r) => {
532
+ const o = pe(t);
533
+ st(t, s, r), U(t, s.class_error), M(t, de), O(s.callback_error, t, r), s.restore_on_error && D(t, W), o || tt(s, r);
534
+ }, be = (e, t, s) => {
535
+ const r = He(e) || e;
536
+ if (fe(r))
537
+ return;
538
+ Jt(r, (a) => {
539
+ Zt(a, e, t, s), ae(r);
540
+ }, (a) => {
541
+ Kt(a, e, t, s), ae(r);
542
+ });
543
+ }, Qt = (e, t, s) => {
544
+ It(e), be(e, t, s), Ot(e), Vt(e, t, s), qt(e, t, s), Bt(e, t, s);
545
+ }, Xt = (e, t, s) => {
546
+ be(e, t, s), Ht(e, t, s);
547
+ }, ve = (e, t, s) => {
548
+ Gt(e) ? Xt(e, t, s) : Qt(e, t, s);
549
+ }, Yt = (e, t, s) => {
550
+ e.setAttribute("loading", "lazy"), be(e, t, s), Ut(e, t), M(e, qe);
551
+ }, xe = (e) => {
552
+ e.removeAttribute(I), e.removeAttribute(ie), e.removeAttribute(le);
553
+ }, es = (e) => {
554
+ ge(e, (t) => {
555
+ xe(t);
556
+ }), xe(e);
557
+ }, rt = (e) => {
558
+ ge(e, (t) => {
559
+ D(t, W);
560
+ }), D(e, W);
561
+ }, ts = (e) => {
562
+ We(e, (t) => {
563
+ D(t, re);
564
+ }), D(e, Je), e.load();
565
+ }, ss = (e) => {
566
+ D(e, re);
567
+ }, rs = (e) => {
568
+ D(e, Ze);
569
+ }, os = {
570
+ IMG: rt,
571
+ IFRAME: ss,
572
+ VIDEO: ts,
573
+ OBJECT: rs
574
+ }, ns = (e) => {
575
+ const t = os[e.tagName];
576
+ if (!t) {
577
+ Mt(e);
578
+ return;
579
+ }
580
+ t(e);
581
+ }, as = (e, t) => {
582
+ ue(e) || pe(e) || (S(e, t.class_entered), S(e, t.class_exited), S(e, t.class_applied), S(e, t.class_loading), S(e, t.class_loaded), S(e, t.class_error));
583
+ }, is = (e, t) => {
584
+ ns(e), as(e, t), te(e), Qe(e);
585
+ }, ls = (e, t, s, r) => {
586
+ !s.cancel_on_exit || !kt(e) || e.tagName === "IMG" && (ae(e), es(e), rt(e), S(e, s.class_loading), he(r, -1), te(e), O(s.callback_cancel, e, t, r));
587
+ }, cs = (e, t, s, r) => {
588
+ const o = Et(e);
589
+ M(e, wt), U(e, s.class_entered), S(e, s.class_exited), Lt(e, s, r), O(s.callback_enter, e, t, r), !o && ve(e, s, r);
590
+ }, ds = (e, t, s, r) => {
591
+ ue(e) || (U(e, s.class_exited), ls(e, t, s, r), O(s.callback_exit, e, t, r));
592
+ }, us = ["IMG", "IFRAME", "VIDEO"], ot = (e) => e.use_native && "loading" in HTMLImageElement.prototype, ps = (e, t, s) => {
593
+ e.forEach((r) => {
594
+ us.indexOf(r.tagName) !== -1 && Yt(r, t, s);
595
+ }), je(s, 0);
596
+ }, hs = (e) => e.isIntersecting || e.intersectionRatio > 0, gs = (e) => ({
597
+ root: e.container === document ? null : e.container,
598
+ rootMargin: e.thresholds || e.threshold + "px"
599
+ }), fs = (e, t, s) => {
600
+ e.forEach((r) => hs(r) ? cs(r.target, r, t, s) : ds(r.target, r, t, s));
601
+ }, bs = (e, t) => {
602
+ t.forEach((s) => {
603
+ e.observe(s);
604
+ });
605
+ }, vs = (e, t) => {
606
+ At(e), bs(e, t);
607
+ }, ms = (e, t) => {
608
+ !Oe || ot(e) || (t._observer = new IntersectionObserver((s) => {
609
+ fs(s, e, t);
610
+ }, gs(e)));
611
+ }, nt = (e) => Array.prototype.slice.call(e), ee = (e) => e.container.querySelectorAll(e.elements_selector), _s = (e) => nt(e).filter(ue), ws = (e) => St(e), ys = (e) => nt(e).filter(ws), Ee = (e, t) => _s(e || ee(t)), ks = (e, t) => {
612
+ ys(ee(e)).forEach((r) => {
613
+ S(r, e.class_error), te(r);
614
+ }), t.update();
615
+ }, Ss = (e, t) => {
616
+ !N || (t._onlineHandler = () => {
617
+ ks(e, t);
618
+ }, window.addEventListener("online", t._onlineHandler));
619
+ }, xs = (e) => {
620
+ !N || window.removeEventListener("online", e._onlineHandler);
621
+ }, X = function(e, t) {
622
+ const s = Te(e);
623
+ this._settings = s, this.loadingCount = 0, ms(s, this), Ss(s, this), this.update(t);
624
+ };
625
+ X.prototype = {
626
+ update: function(e) {
627
+ const t = this._settings, s = Ee(e, t);
628
+ if (je(this, s.length), Ne || !Oe) {
629
+ this.loadAll(s);
630
+ return;
631
+ }
632
+ if (ot(t)) {
633
+ ps(s, t, this);
634
+ return;
635
+ }
636
+ vs(this._observer, s);
637
+ },
638
+ destroy: function() {
639
+ this._observer && this._observer.disconnect(), xs(this), ee(this._settings).forEach((e) => {
640
+ Qe(e);
641
+ }), delete this._observer, delete this._settings, delete this._onlineHandler, delete this.loadingCount, delete this.toLoadCount;
642
+ },
643
+ loadAll: function(e) {
644
+ const t = this._settings;
645
+ Ee(e, t).forEach((r) => {
646
+ se(r, this), ve(r, t, this);
647
+ });
648
+ },
649
+ restoreAll: function() {
650
+ const e = this._settings;
651
+ ee(e).forEach((t) => {
652
+ is(t, e);
653
+ });
654
+ }
655
+ };
656
+ X.load = (e, t) => {
657
+ const s = Te(t);
658
+ ve(e, s);
659
+ };
660
+ X.resetStatus = (e) => {
661
+ te(e);
662
+ };
663
+ N && _t(X, window.lazyLoadOptions);
664
+ const V = "netless-app-slide", at = "https://convertcdn.netless.link/dynamicConvert";
665
+ function G() {
666
+ }
667
+ const Es = `.netless-app-slide-tele-fancy-scrollbar{overscroll-behavior:contain;overflow:auto;overflow-y:scroll;overflow-y:overlay;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:auto}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar{height:8px;width:8px}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar-track{background-color:transparent}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar-thumb{background-color:#444e601a;background-color:transparent;border-radius:4px;transition:background-color .4s}.netless-app-slide-tele-fancy-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#444e601a}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#444e6033}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar-thumb:active{background-color:#444e6033}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar-thumb:vertical{min-height:50px}.netless-app-slide-tele-fancy-scrollbar::-webkit-scrollbar-thumb:horizontal{min-width:50px}.netless-app-slide-content{position:relative;height:100%;overflow:hidden}.netless-app-slide-slide{width:100%;height:100%;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.netless-app-slide-preview-mask{display:none;position:absolute;z-index:10200;top:0;left:0;width:100%;height:100%}.netless-app-slide-preview{display:flex;flex-direction:column;align-items:center;position:absolute;z-index:10300;top:0;left:0;width:33%;max-width:200px;height:100%;padding-top:10px;transform:translate(-100%);background:rgba(237,237,240,.9);box-shadow:inset -1px 0 #0000001c;transition:transform .4s;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.netless-app-slide-preview-active .netless-app-slide-preview-mask{display:block}.netless-app-slide-preview-active .netless-app-slide-preview{transform:translate(0)}.netless-app-slide-preview-page{position:relative;display:block;width:55%;margin-bottom:10px;font-size:0;color:transparent;outline:none;border:7px solid transparent;border-radius:4px;transition:border-color .3s;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.netless-app-slide-preview-page:hover,.netless-app-slide-preview-page.netless-app-slide-preview-page-active{border-color:#444e601a}.netless-app-slide-preview-page>img{width:100%;height:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);border-radius:1px;background-color:#fff;box-shadow:0 2px 8px #0000004d}.netless-app-slide-preview-page-name{position:absolute;top:1px;left:-10px;transform:translate(-100%);text-align:right;font-size:12px;color:#5f5f5f;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.netless-app-slide-footer{box-sizing:border-box;height:26px;display:flex;align-items:center;padding:0 16px;border-top:1px solid #eeeef7;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.netless-app-slide-float-footer{width:100%;min-height:26px;position:absolute;left:0;bottom:0;z-index:2000;background:rgba(249,249,252,.9);transition:opacity .4s}.netless-app-slide-footer-btn{box-sizing:border-box;width:26px;height:26px;font-size:0;margin:0;padding:3px;border:none;border-radius:1px;outline:none;color:currentColor;background:transparent;transition:background .4s;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-slide-footer-btn:hover{background:rgba(237,237,240,.9)}@media (hover: none){.netless-app-slide-footer-btn:hover{background:transparent!important}}.netless-app-slide-footer-btn>svg{width:100%;height:100%}.netless-app-slide-footer-btn>svg:nth-of-type(2){display:none}.netless-app-slide-footer-btn.netless-app-slide-footer-btn-playing>svg:nth-of-type(1){display:none}.netless-app-slide-footer-btn.netless-app-slide-footer-btn-playing>svg:nth-of-type(2){display:initial}.netless-app-slide-footer-btn~.netless-app-slide-footer-btn{margin-left:15px}.netless-app-slide-page-jumps{flex:1;display:flex;justify-content:center;align-items:center}.netless-app-slide-page-number{display:flex;align-items:center;height:26px;margin-left:auto;font-size:13px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;word-break:keep-all;font-variant-numeric:tabular-nums}.netless-app-slide-page-number-input{border:none;outline:none;width:3em;margin:0;padding:0 .5em 0 2px;text-align:right;font-size:13px;line-height:1;font-weight:400;font-family:inherit;border-radius:2px;color:currentColor;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background:transparent;transition:background .4s;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:rgba(0,0,0,0)}.netless-app-slide-page-number-input:hover,.netless-app-slide-page-number-input:focus,.netless-app-slide-page-number-input:active{user-select:text;background:#fff;box-shadow:#63636333 0 2px 8px}.netless-app-slide-readonly .netless-app-slide-footer-btn{cursor:not-allowed}.netless-app-slide-readonly .netless-app-slide-footer-btn:hover{background:transparent}.netless-app-slide-readonly .netless-app-slide-page-number-input{cursor:not-allowed}.netless-app-slide-readonly .netless-app-slide-page-number-input:hover,.netless-app-slide-readonly .netless-app-slide-page-number-input:focus,.netless-app-slide-readonly .netless-app-slide-page-number-input:active{background:transparent;box-shadow:none}.netless-app-slide-readonly .netless-app-slide-page-number-input:disabled{color:inherit}.netless-app-slide-readonly.netless-app-slide-float-footer{display:none}.telebox-color-scheme-dark .netless-app-slide-page-number-input:active,.telebox-color-scheme-dark .netless-app-slide-page-number-input:focus,.telebox-color-scheme-dark .netless-app-slide-page-number-input:hover{color:currentColor;background:#25282e}.telebox-color-scheme-dark .netless-app-slide-footer{border-top:none}.telebox-color-scheme-dark .netless-app-slide-footer-btn:hover{background:#212126}.telebox-color-scheme-dark .netless-app-slide-preview{background:rgba(50,50,50,.9)}
668
+ `;
669
+ function Is(e) {
670
+ const t = "http://www.w3.org/2000/svg", s = document.createElementNS(t, "svg");
671
+ s.setAttribute("class", `${e}-footer-icon-sidebar`), s.setAttribute("viewBox", "0 0 64 64");
672
+ const r = document.createElementNS(t, "path");
673
+ return r.setAttribute("fill", "currentColor"), r.setAttribute("d", "M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z"), s.appendChild(r), s;
674
+ }
675
+ function Cs(e) {
676
+ const t = "http://www.w3.org/2000/svg", s = document.createElementNS(t, "svg");
677
+ s.setAttribute("class", `${e}-footer-icon-arrow-left`), s.setAttribute("viewBox", "0 0 500 500");
678
+ const r = document.createElementNS(t, "path");
679
+ return r.setAttribute("fill", "currentColor"), r.setAttribute("d", "M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z"), s.appendChild(r), s;
680
+ }
681
+ function As(e) {
682
+ const t = "http://www.w3.org/2000/svg", s = document.createElementNS(t, "svg");
683
+ s.setAttribute("class", `${e}-footer-icon-play`), s.setAttribute("viewBox", "0 0 500 500");
684
+ const r = document.createElementNS(t, "path");
685
+ return r.setAttribute("fill", "currentColor"), r.setAttribute("d", "M418.158 257.419L174.663 413.33c-6.017 3.919-15.708 3.772-21.291-.29-2.791-2.018-4.295-4.483-4.295-7.084V94.109c0-5.65 6.883-10.289 15.271-10.289 4.298 0 8.391 1.307 11.181 3.332l242.629 155.484c6.016 3.917 6.451 10.292.649 14.491-.216.154-.432.154-.649.292zM170.621 391.288l223.116-141.301L170.71 107.753l-.089 283.535z"), s.appendChild(r), s;
686
+ }
687
+ function Ls(e) {
688
+ const t = "http://www.w3.org/2000/svg", s = document.createElementNS(t, "svg");
689
+ s.setAttribute("class", `${e}-footer-icon-pause`), s.setAttribute("viewBox", "0 0 500 500");
690
+ const r = document.createElementNS(t, "path");
691
+ return r.setAttribute("fill", "currentColor"), r.setAttribute("d", "M312.491 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261zM165.257 78.261c0-6.159 4.893-11.213 11.04-11.213 6.158 0 11.211 5.054 11.211 11.213v343.478c0 6.159-5.053 11.213-11.211 11.213-6.147 0-11.04-5.054-11.04-11.213V78.261z"), s.appendChild(r), s;
692
+ }
693
+ function $s(e) {
694
+ const t = "http://www.w3.org/2000/svg", s = document.createElementNS(t, "svg");
695
+ s.setAttribute("class", `${e}-footer-icon-arrow-right`), s.setAttribute("viewBox", "0 0 500 500");
696
+ const r = document.createElementNS(t, "path");
697
+ return r.setAttribute("fill", "currentColor"), r.setAttribute("d", "M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z"), s.appendChild(r), s;
698
+ }
699
+ function g(e) {
700
+ return document.createElement(e);
701
+ }
702
+ function q(e, t) {
703
+ return e.appendChild(t);
704
+ }
705
+ function f(e) {
706
+ return `${V}-${e}`;
707
+ }
708
+ function m(e, t) {
709
+ e.className = f(t);
710
+ }
711
+ function zs(e) {
712
+ return e.endsWith("/") ? e.slice(0, -1) : e;
713
+ }
714
+ async function Ns({ taskId: e, url: t }) {
715
+ const s = it(e, t), r = `${s}/preview/1.png`, o = `${s}/jsonOutput/slide-1.json`, l = new Promise((i) => {
716
+ const n = new Image();
717
+ n.onload = () => i(n), n.onerror = () => i(null), n.src = r;
718
+ }), a = fetch(o).then((i) => i.json());
719
+ return { preview: await l, slide: await a };
720
+ }
721
+ function it(e, t) {
722
+ return `${zs(t || at)}/${e}`;
723
+ }
724
+ function Os() {
725
+ let e = G;
726
+ const t = (p) => {
727
+ e = p;
728
+ };
729
+ let s = !1, r = !1, o = !1, l = [], a = 0;
730
+ const i = f("readonly"), n = f("preview-active"), d = g("div");
731
+ m(d, "content");
732
+ const u = g("div");
733
+ m(u, "preview-mask"), u.onclick = function(w) {
734
+ r || w.target === u && b(!1);
735
+ }, q(d, u);
736
+ const h = g("div");
737
+ m(h, "preview"), h.classList.add(f("tele-fancy-scrollbar")), h.onclick = function(w) {
738
+ var L;
739
+ if (r)
740
+ return;
741
+ const E = (L = w.target.dataset) == null ? void 0 : L.pageIndex;
742
+ E && (w.preventDefault(), w.stopPropagation(), w.stopImmediatePropagation(), e(Number(E)), b(!1));
743
+ }, q(d, h);
744
+ const k = new X({
745
+ container: h,
746
+ elements_selector: `.${f("preview-page>img")}`
747
+ });
748
+ function x(p) {
749
+ r !== p && (r = p, d.classList.toggle(i, r));
750
+ }
751
+ function b(p) {
752
+ o !== p && (o = p, d.classList.toggle(n, o));
753
+ }
754
+ function T(p) {
755
+ if (l !== p) {
756
+ l = p;
757
+ const w = f("preview-page"), E = f("preview-page-name");
758
+ l.forEach((L, F) => {
759
+ const H = String(F), c = g("a");
760
+ c.className = w + " " + f(`preview-page-${F}`), c.href = "#", c.dataset.pageIndex = H;
761
+ const P = g("span");
762
+ P.className = E, P.textContent = String(F + 1), P.dataset.pageIndex = H;
763
+ const R = g("img");
764
+ R.width = L.width, R.height = L.height, R.src = L.thumbnail, R.alt = `page-${F}`, R.dataset.pageIndex = H, q(c, R), q(c, P), q(h, c);
765
+ }), s || k.update();
766
+ }
767
+ }
768
+ function C(p, w = !1) {
769
+ if (w || a !== p) {
770
+ a = p;
771
+ const E = h.querySelector(`.${f(`preview-page-${a}`)}`);
772
+ E && h.scrollTo({ top: E.offsetTop - 16 });
773
+ }
774
+ }
775
+ function A() {
776
+ s = !0, k.destroy();
777
+ }
778
+ function y() {
779
+ return o;
780
+ }
781
+ return {
782
+ $content: d,
783
+ $preview: h,
784
+ set_readonly: x,
785
+ set_active: b,
786
+ get_active: y,
787
+ set_pages: T,
788
+ on_new_page_index: t,
789
+ set_page_index: C,
790
+ destroy: A
791
+ };
792
+ }
793
+ function Ds() {
794
+ let e = G;
795
+ const t = (c) => {
796
+ e = c;
797
+ };
798
+ let s = G;
799
+ const r = (c) => {
800
+ s = c;
801
+ };
802
+ let o = G;
803
+ const l = (c) => {
804
+ o = c;
805
+ };
806
+ let a = !1, i = !1, n = 0, d = 0;
807
+ const u = g("div");
808
+ m(u, "footer");
809
+ const h = g("button");
810
+ m(h, "btn-sidebar"), h.classList.add(f("footer-btn")), h.appendChild(Is(V)), h.onclick = function() {
811
+ a || s();
812
+ }, h.style.display = "none", u.appendChild(h);
813
+ const k = g("div");
814
+ m(k, "page-jumps");
815
+ const x = g("button");
816
+ m(x, "btn-page-back"), x.classList.add(f("footer-btn")), x.appendChild(Cs(V)), x.onclick = function() {
817
+ a || e(n - 1);
818
+ }, k.appendChild(x);
819
+ const b = g("button");
820
+ m(b, "btn-page-play"), b.classList.add(f("footer-btn")), b.appendChild(As(V)), b.appendChild(Ls(V));
821
+ let T = 0;
822
+ b.onclick = function() {
823
+ a || (b.classList.add(f("footer-btn-playing")), o(), clearTimeout(T), T = setTimeout(() => {
824
+ b.classList.remove(f("footer-btn-playing"));
825
+ }, 500));
826
+ }, k.appendChild(b);
827
+ const C = g("button");
828
+ m(C, "btn-page-next"), C.classList.add(f("footer-btn")), C.appendChild($s(V)), C.onclick = function() {
829
+ a || e(n + 1);
830
+ }, k.appendChild(C);
831
+ const A = g("div");
832
+ m(A, "page-number");
833
+ const y = g("input");
834
+ m(y, "page-number-input"), y.value = String(n + 1), y.onchange = function() {
835
+ a || y.value && e(Number(y.value) - 1);
836
+ };
837
+ const p = g("span");
838
+ m(p, "total-page"), p.textContent = " / ", A.appendChild(y), A.appendChild(p), u.appendChild(k), u.appendChild(A);
839
+ const w = f("readonly");
840
+ function E(c) {
841
+ a !== c && (a = c, u.classList.toggle(w, a), y.disabled = a);
842
+ }
843
+ function L(c) {
844
+ i !== c && (i = c, h.style.display = i ? "" : "none");
845
+ }
846
+ function F(c, P = !1) {
847
+ (P || n !== c) && (n = c, y.value = String(n + 1));
848
+ }
849
+ function H(c) {
850
+ d !== c && (d = c, p.textContent = ` / ${d}`);
851
+ }
852
+ return {
853
+ $footer: u,
854
+ $pageNumberInput: y,
855
+ set_readonly: E,
856
+ set_sidebar: L,
857
+ set_page_index: F,
858
+ set_page_count: H,
859
+ on_new_page_index: t,
860
+ on_toggle_preview: r,
861
+ on_play: l
862
+ };
863
+ }
864
+ function Ms() {
865
+ const e = g("div");
866
+ return m(e, "slide"), e;
867
+ }
868
+ function Ts(e) {
869
+ if (typeof document < "u") {
870
+ const t = () => e(document.visibilityState === "visible");
871
+ return document.addEventListener("visibilitychange", t), () => document.removeEventListener("visibilitychange", t);
872
+ }
873
+ return G;
874
+ }
875
+ class J {
876
+ constructor(t) {
877
+ this.sideEffect = new ze(), this.$slide = Ms(), this.sidebar = Os(), this.footer = Ds(), this._ready = !1, this._slideCount = 0, this._destroyed = !1, this._isFrozen = !1, this.$content = this.sidebar.$content, this.$footer = this.footer.$footer, q(this.$content, this.$slide);
878
+ let s;
879
+ this._readyPromise = new Promise((i) => {
880
+ s = i;
881
+ });
882
+ const r = (i) => {
883
+ this._ready && i >= 0 && i < this._slideCount ? this.slide.renderSlide(i + 1) : this.setPage(this.slide.slideState.currentSlideIndex);
884
+ };
885
+ this.sidebar.on_new_page_index(r), this.footer.on_new_page_index(r), this.footer.on_toggle_preview(() => {
886
+ this.sidebar.set_active(!this.sidebar.get_active());
887
+ }), this.footer.on_play(() => {
888
+ this.slide.nextStep();
889
+ }), this.sideEffect.addDisposer(this.sidebar.destroy), this.sideEffect.addDisposer(() => this.slide.destroy()), this.sideEffect.addDisposer(() => {
890
+ this.$content.parentElement && this.$content.remove(), this.$footer.parentElement && this.$footer.remove(), this.$slide.parentElement && this.$slide.remove();
891
+ });
892
+ let o = !1;
893
+ this.sideEffect.addDisposer(Ts((i) => {
894
+ this._destroyed || (i ? o || this.unfreeze() : (o = this._isFrozen, this.freeze()));
895
+ })), this.slide = new dt({
896
+ anchor: this.$slide,
897
+ resize: !0,
898
+ mode: "local",
899
+ interactive: !0,
900
+ enableGlobalClick: !0,
901
+ ...t
902
+ }), this.slide.setResource(t.taskId, t.url || at);
903
+ let l;
904
+ this._infoPromise = new Promise((i) => {
905
+ l = i;
906
+ }), this.slide.on("slideChange", (i) => {
907
+ this._destroyed || this.setPage(i);
908
+ }), this.slide.on("renderEnd", () => {
909
+ this._ready || setTimeout(() => {
910
+ this._ready = !0, s();
911
+ }, 1e3);
912
+ }), Ns(t).then(({ preview: i, slide: n }) => {
913
+ if (!this._destroyed) {
914
+ if (this._slideCount = n.slideCount, i) {
915
+ const { taskId: d, url: u } = t, { slideCount: h } = n, { width: k, height: x } = i, b = it(d, u), T = Array.from({ length: h }, (C, A) => ({
916
+ width: k,
917
+ height: x,
918
+ thumbnail: `${b}/preview/${A + 1}.png`
919
+ }));
920
+ this.sidebar.set_pages(T), this.footer.set_sidebar(!0);
921
+ }
922
+ this.footer.set_page_count(n.slideCount), l(n);
923
+ }
924
+ }).catch((i) => {
925
+ console.log("[Slide] fetch slide info error"), console.error(i);
926
+ }), this.ready(() => {
927
+ this._isFrozen && this.freeze();
928
+ });
929
+ }
930
+ prepare(t) {
931
+ return this._infoPromise.then(t);
932
+ }
933
+ ready(t) {
934
+ return this._readyPromise.then(t);
935
+ }
936
+ destroy() {
937
+ this._destroyed = !0, this.sideEffect.flushAll();
938
+ }
939
+ setReadonly(t) {
940
+ this.slide.setInteractive(!t), this.sidebar.set_readonly(t), this.footer.set_readonly(t);
941
+ }
942
+ setPage(t) {
943
+ this.sidebar.set_page_index(t - 1, !0), this.footer.set_page_index(t - 1, !0);
944
+ }
945
+ freeze() {
946
+ this._destroyed || (this._isFrozen = !0, this._ready && this.slide.frozen());
947
+ }
948
+ unfreeze() {
949
+ this._destroyed || (this._isFrozen = !1, this._ready && this.slide.release());
950
+ }
951
+ }
952
+ J.styles = Es;
953
+ class Fs {
954
+ constructor() {
955
+ this.threshold = 2, this._map = /* @__PURE__ */ new Map(), this._queue = [];
956
+ }
957
+ set(t, s) {
958
+ return this._map.set(t, s), this._queue.includes(t) || this._queue.unshift(t), this._refresh(), () => {
959
+ this.delete(t);
960
+ };
961
+ }
962
+ delete(t) {
963
+ this._map.delete(t), this._queue = this._queue.filter((s) => s !== t), this._refresh();
964
+ }
965
+ focus(t) {
966
+ const s = this._queue.indexOf(t);
967
+ s >= 0 && this._queue.splice(s, 1), this._queue.unshift(t), this._refresh();
968
+ }
969
+ _refresh() {
970
+ let t;
971
+ this._queue.forEach((s, r) => {
972
+ !(t = this._map.get(s)) || (r < this.threshold ? t.unfreeze() : t.freeze());
973
+ });
974
+ }
975
+ }
976
+ const lt = new Fs(), Hs = function(t) {
977
+ t.on("focus", (s) => {
978
+ lt.focus(s.appId);
979
+ });
980
+ }, js = "0.3.0-canary.6", Gs = {
981
+ kind: "Slide",
982
+ setup(e) {
983
+ var l, a;
984
+ if (console.log("[Slide] setup @ 0.3.0-canary.6"), !e.storage.state.taskId)
985
+ throw new Error("[Slide] no taskId");
986
+ const t = e.getAppOptions() || {}, s = Rs(e);
987
+ s.info("[Slide] setup @ 0.3.0-canary.6");
988
+ const r = new ze(), o = new J({
989
+ interactive: !0,
990
+ mode: "interactive",
991
+ resize: !0,
992
+ enableGlobalClick: !0,
993
+ timestamp: Ps(e),
994
+ logger: s,
995
+ renderOptions: {
996
+ minFPS: t.minFPS || 25,
997
+ maxFPS: t.maxFPS || 30,
998
+ autoFPS: (l = t.autoFPS) != null ? l : !0,
999
+ autoResolution: (a = t.autoResolution) != null ? a : !0,
1000
+ resolution: t.resolution,
1001
+ maxResolutionLevel: t.maxResolutionLevel,
1002
+ transactionBgColor: t.transactionBgColor || ct(e.box.$content)
1003
+ },
1004
+ taskId: e.storage.state.taskId,
1005
+ url: e.storage.state.url
1006
+ });
1007
+ o.context = e, r.addDisposer(lt.set(e.appId, o)), e.box.mountStyles(J.styles), e.box.mountStage(o.$slide), e.box.mountFooter(o.$footer), e.box.mountContent(o.$content), r.addDisposer(() => o.destroy()), Bs({ context: e, viewer: o, sideEffect: r, logger: s }), qs(e, () => {
1008
+ s.info("[Slide] destroy"), r.flushAll();
1009
+ });
1010
+ }
1011
+ };
1012
+ function Ws(e) {
1013
+ const { container: t } = e;
1014
+ t.style.cssText = "display:flex;flex-direction:column";
1015
+ const s = new J(e);
1016
+ return t.appendChild(document.createElement("style")).textContent = J.styles, t.appendChild(s.$content), t.appendChild(s.$footer), s.prepare(() => s.slide.renderSlide(1)), s;
1017
+ }
1018
+ function Ps(e) {
1019
+ const t = e.room, s = e.displayer;
1020
+ return t ? () => t.calibrationTimestamp : s ? () => s.beginTimestamp + s.progressTime : () => Date.now();
1021
+ }
1022
+ function Rs(e) {
1023
+ return e.displayer.logger;
1024
+ }
1025
+ function ct(e) {
1026
+ try {
1027
+ let t = window.getComputedStyle(e).backgroundColor;
1028
+ if (t !== "rgba(0, 0, 0, 0)" && t !== "transparent")
1029
+ return t = Vs(t), console.log("[Slide] guess bg color:", t), t;
1030
+ if (e.parentElement)
1031
+ return ct(e.parentElement);
1032
+ } catch {
1033
+ }
1034
+ return "#ffffff";
1035
+ }
1036
+ function Vs(e) {
1037
+ const t = Ie.exports.get(e);
1038
+ if (t && t.model === "rgb") {
1039
+ const s = t.value, o = (((Math.round(s[0]) & 255) << 16) + ((Math.round(s[1]) & 255) << 8) + (Math.round(s[2]) & 255)).toString(16);
1040
+ return "#" + "000000".substring(o.length) + o;
1041
+ } else
1042
+ return e;
1043
+ }
1044
+ function qs(e, t) {
1045
+ e.emitter.on("destroy", t);
1046
+ }
1047
+ function Bs({ context: e, viewer: t, sideEffect: s, logger: r }) {
1048
+ const o = r.info.bind(r);
1049
+ let l = null;
1050
+ t.prepare(({ width: n, height: d, slideCount: u }) => {
1051
+ e.destroyed || (n && e.box.setStageRatio(d / n), l = e.createWhiteBoardView({ size: u }), l.setBaseRect({ width: n, height: d }), i());
1052
+ });
1053
+ const { slide: a } = t;
1054
+ function i() {
1055
+ if (e.storage.state.state)
1056
+ o("[Slide] restore", { ...e.storage.state.state }), a.setSlideState(e.storage.state.state);
1057
+ else if (e.isAddApp)
1058
+ o("[Slide] kick start"), a.renderSlide(1);
1059
+ else {
1060
+ o("[Slide] wait for restore");
1061
+ const n = s.add(() => {
1062
+ const u = setInterval(() => {
1063
+ e.storage.state.state || (o("[Slide] timeout"), a.renderSlide(1));
1064
+ }, 15e3);
1065
+ return () => clearInterval(u);
1066
+ }), d = s.addDisposer(e.storage.addStateChangedListener(() => {
1067
+ e.storage.state.state && (o("[Slide] restore", { ...e.storage.state.state }), a.setSlideState(e.storage.state.state), s.flush(d), s.flush(n));
1068
+ }));
1069
+ }
1070
+ }
1071
+ a.on("stateChange", () => {
1072
+ e.isWritable && (o("[Slide] save state", { ...a.slideState }), e.storage.setState({ state: a.slideState }));
1073
+ }), a.on("syncDispatch", (n) => {
1074
+ e.isWritable && (o("[Slide] dispatch", { ...n }), e.dispatchMagixEvent("syncDispatch", n));
1075
+ }), s.addDisposer(e.addMagixEventListener("syncDispatch", ({ payload: n }) => {
1076
+ o("[Slide] receive", { ...n }), a.emit("syncReceive", n);
1077
+ }, { fireSelfEventAfterCommit: !0 })), a.on("slideChange", (n) => {
1078
+ e.isWritable && l && (o("[Slide] page to", n), l.jumpPage(n - 1));
1079
+ }), t.setReadonly(!e.isWritable), s.addDisposer(e.emitter.on("writableChange", (n) => {
1080
+ t.setReadonly(!n);
1081
+ }));
1082
+ }
1083
+ export {
1084
+ J as SlideViewer,
1085
+ Hs as addHooks,
1086
+ Gs as default,
1087
+ Ws as previewSlide,
1088
+ lt as refrigerator,
1089
+ js as version
1090
+ };
1091
+ //# sourceMappingURL=main.mjs.map