@netless/app-slide 0.3.0-canary.13 → 0.3.0-canary.14
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/README-zh.md +17 -7
- package/README.md +4 -7
- package/dist/Refrigerator.d.ts +3 -1
- package/dist/SlideViewer/footer.d.ts +1 -0
- package/dist/SlideViewer/index.d.ts +8 -2
- package/dist/icons/save.d.ts +1 -0
- package/dist/icons/spinner.d.ts +1 -0
- package/dist/main.iife.js +2 -2
- package/dist/main.iife.js.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/main.mjs +589 -497
- package/dist/main.mjs.map +1 -1
- package/dist/typings.d.ts +2 -2
- package/package.json +3 -2
- package/src/Refrigerator.ts +11 -1
- package/src/SlideViewer/footer.ts +42 -19
- package/src/SlideViewer/index.ts +91 -0
- package/src/SlideViewer/sidebar.ts +15 -14
- package/src/connect.ts +24 -0
- package/src/icons/save.ts +18 -0
- package/src/icons/spinner.ts +37 -0
- package/src/index.ts +1 -1
- package/src/preview.ts +2 -2
package/README-zh.md
CHANGED
|
@@ -5,16 +5,13 @@ WebGL 版 PPT 展示插件。
|
|
|
5
5
|
### 用法
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
|
-
import
|
|
8
|
+
import AppSlide, { addHooks } from "@netless/app-slide";
|
|
9
9
|
|
|
10
10
|
// 1. 在加入房间前注册此 app
|
|
11
11
|
WindowManager.register({
|
|
12
12
|
kind: "Slide",
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
debug: false,
|
|
16
|
-
},
|
|
17
|
-
src: () => import("@netless/app-slide"),
|
|
13
|
+
src: AppSlide,
|
|
14
|
+
addHooks, // 启用自动冻结功能,优化 CPU 和内存占用
|
|
18
15
|
});
|
|
19
16
|
|
|
20
17
|
// 2. 加入房间后,这样插入 PPT
|
|
@@ -27,7 +24,7 @@ manager.addApp({
|
|
|
27
24
|
attributes: {
|
|
28
25
|
taskId: "1234567...", // [2]
|
|
29
26
|
url: "https://convertcdn.netless.link/dynamicConvert", // [3]
|
|
30
|
-
}
|
|
27
|
+
},
|
|
31
28
|
});
|
|
32
29
|
```
|
|
33
30
|
|
|
@@ -45,6 +42,19 @@ manager.addApp({
|
|
|
45
42
|
|
|
46
43
|
PPT 转码后资源存储服务器链接前缀,默认为 `https://convertcdn.netless.link/dynamicConvert`。
|
|
47
44
|
|
|
45
|
+
### 本地预览
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { previewSlide } from "@netless/app-slide";
|
|
49
|
+
|
|
50
|
+
const previewer = previewSlide({
|
|
51
|
+
container: document.getElementById("preview"),
|
|
52
|
+
taskId: "1234567...",
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
previewer.destroy();
|
|
56
|
+
```
|
|
57
|
+
|
|
48
58
|
### 协议
|
|
49
59
|
|
|
50
60
|
MIT @ [netless](https://github.com/netless-io)
|
package/README.md
CHANGED
|
@@ -7,16 +7,13 @@ Netless App for viewing animated slides, in our new engine.
|
|
|
7
7
|
### Usage
|
|
8
8
|
|
|
9
9
|
```ts
|
|
10
|
-
import
|
|
10
|
+
import AppSlide, { addHooks } from "@netless/app-slide";
|
|
11
11
|
|
|
12
12
|
// 1. register before joining room
|
|
13
13
|
WindowManager.register({
|
|
14
14
|
kind: "Slide",
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
debug: false,
|
|
18
|
-
},
|
|
19
|
-
src: () => import("@netless/app-slide"),
|
|
15
|
+
src: AppSlide,
|
|
16
|
+
addHooks, // enables auto-freeze
|
|
20
17
|
});
|
|
21
18
|
|
|
22
19
|
// 2. when joined room, add ppt to whiteboard
|
|
@@ -29,7 +26,7 @@ manager.addApp({
|
|
|
29
26
|
attributes: {
|
|
30
27
|
taskId: "1234567...", // [2]
|
|
31
28
|
url: "https://convertcdn.netless.link/dynamicConvert", // [3]
|
|
32
|
-
}
|
|
29
|
+
},
|
|
33
30
|
});
|
|
34
31
|
```
|
|
35
32
|
|
package/dist/Refrigerator.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { ReadonlyTeleBox } from "@netless/window-manager";
|
|
1
2
|
import type { SlideViewer } from "./SlideViewer";
|
|
2
3
|
import type { AddHooks } from "./typings";
|
|
3
4
|
export declare class Refrigerator {
|
|
4
5
|
threshold: number;
|
|
5
6
|
private _map;
|
|
7
|
+
private _box;
|
|
6
8
|
private _queue;
|
|
7
|
-
set(appId: string, viewer: SlideViewer): () => void;
|
|
9
|
+
set(appId: string, viewer: SlideViewer, box: ReadonlyTeleBox): () => void;
|
|
8
10
|
delete(appId: string): void;
|
|
9
11
|
focus(appId: string): void;
|
|
10
12
|
private _refresh;
|
|
@@ -8,4 +8,5 @@ export declare function create_footer(): {
|
|
|
8
8
|
on_new_page_index: (callback: (newPageIndex: number) => void) => void;
|
|
9
9
|
on_toggle_preview: (callback: () => void) => void;
|
|
10
10
|
on_play: (callback: () => void) => void;
|
|
11
|
+
on_save_to_pdf: (callback: (progressCallback: (p: number) => void) => void) => void;
|
|
11
12
|
};
|
|
@@ -4,8 +4,8 @@ import { Slide } from "@netless/slide";
|
|
|
4
4
|
import { SideEffectManager } from "side-effect-manager";
|
|
5
5
|
import { Remitter } from "remitter";
|
|
6
6
|
import { fetch_slide_info } from "./utils";
|
|
7
|
-
export
|
|
8
|
-
export
|
|
7
|
+
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
8
|
+
export type SlideViewerOptions = MakeOptional<Omit<ISlideConfig & SlideAttributes, "anchor">, "mode" | "interactive">;
|
|
9
9
|
export interface SlideViewerInfoResponse {
|
|
10
10
|
width: number;
|
|
11
11
|
height: number;
|
|
@@ -48,10 +48,13 @@ export declare class SlideViewer {
|
|
|
48
48
|
on_new_page_index: (callback: (newPageIndex: number) => void) => void;
|
|
49
49
|
on_toggle_preview: (callback: () => void) => void;
|
|
50
50
|
on_play: (callback: () => void) => void;
|
|
51
|
+
on_save_to_pdf: (callback: (progressCallback: (p: number) => void) => void) => void;
|
|
51
52
|
};
|
|
52
53
|
readonly $content: HTMLElement;
|
|
53
54
|
readonly $footer: HTMLElement;
|
|
54
55
|
readonly slide: Slide;
|
|
56
|
+
private _getWhiteSnapshot;
|
|
57
|
+
private _slideTitle;
|
|
55
58
|
private readonly _readyPromise;
|
|
56
59
|
private readonly _infoPromise;
|
|
57
60
|
private _ready;
|
|
@@ -61,6 +64,8 @@ export declare class SlideViewer {
|
|
|
61
64
|
private _cachedIsFrozen;
|
|
62
65
|
constructor(options: SlideViewerOptions);
|
|
63
66
|
prepare(callback: (response: SlideViewerInfoResponse) => void): Promise<void>;
|
|
67
|
+
attachWhiteSnapshot(snapshot: (index: number, canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D) => void): void;
|
|
68
|
+
setSlideTitle(title: string): void;
|
|
64
69
|
ready(callback: () => void): Promise<void>;
|
|
65
70
|
destroy(): void;
|
|
66
71
|
onPlay: () => void;
|
|
@@ -70,4 +75,5 @@ export declare class SlideViewer {
|
|
|
70
75
|
setPage(page: number): void;
|
|
71
76
|
freeze(): void;
|
|
72
77
|
unfreeze(): void;
|
|
78
|
+
toPdf: (progressCallback: (progress: number) => void) => Promise<null | undefined>;
|
|
73
79
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function saveSVG(namespace: string): SVGElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function spinnerSVG(namespace: string): SVGElement;
|
package/dist/main.iife.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var NetlessAppSlide=function(g,S){"use strict";var Xr=Object.defineProperty;var Yr=(g,S,R)=>S in g?Xr(g,S,{enumerable:!0,configurable:!0,writable:!0,value:R}):g[S]=R;var u=(g,S,R)=>(Yr(g,typeof S!="symbol"?S+"":S,R),R);const R="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Ce=[],wt=()=>{for(let e=0;e<20;e++)Ce[e]=R.charAt(Math.random()*87);return Ce.join("")};function Le(e){try{return e()}catch(t){console.error(t)}}class $e{constructor(){this.push=this.addDisposer,this.disposers=new Map}addDisposer(t,r=this.genUID()){return this.flush(r),this.disposers.set(r,Array.isArray(t)?_t(t):t),r}add(t,r=this.genUID()){const s=t();return s?this.addDisposer(s,r):r}addEventListener(t,r,s,o,i=this.genUID()){return t.addEventListener(r,s,o),this.addDisposer(()=>t.removeEventListener(r,s,o),i),i}setTimeout(t,r,s=this.genUID()){const o=window.setTimeout(()=>{this.remove(s),t()},r);return this.addDisposer(()=>window.clearTimeout(o),s)}setInterval(t,r,s=this.genUID()){const o=window.setInterval(t,r);return this.addDisposer(()=>window.clearInterval(o),s)}remove(t){const r=this.disposers.get(t);return this.disposers.delete(t),r}flush(t){const r=this.remove(t);r&&r()}flushAll(){this.disposers.forEach(Le),this.disposers.clear()}genUID(){let t;do t=wt();while(this.disposers.has(t));return t}}function _t(e){return()=>e.forEach(Le)}const q="netless-app-slide",ue="https://convertcdn.netless.link/dynamicConvert";class yt{constructor(){u(this,"threshold",2);u(this,"_map",new Map);u(this,"_queue",[])}set(t,r){return this._map.set(t,r),this._queue.includes(t)||this._queue.unshift(t),this._refresh(),()=>{this.delete(t)}}delete(t){this._map.delete(t),this._queue=this._queue.filter(r=>r!==t),this._refresh()}focus(t){const r=this._queue.indexOf(t);r>=0&&this._queue.splice(r,1),this._queue.unshift(t),this._refresh()}_refresh(){let t;this._queue.forEach((r,s)=>{!(t=this._map.get(r))||(s<this.threshold?t.unfreeze():t.freeze())})}}const pe=new yt,kt=function(t){t.on("focus",r=>{pe.focus(r.appId)})};class St{constructor(){this.a=new Map,this.b=new Set}emit(t,r){const s=this.a.get(t);if(s)for(const o of s)try{o(r)}catch(i){console.error(i)}}on(t,r){let s=this.a.get(t);if(s||(s=new Set,this.a.set(t,s)),s.add(r),s.size===1)for(const o of this.b)o.e(t);return()=>{this.off(t,r)}}once(t,r){const s=o=>(this.off(t,r),r(o));return this.c=this.c||new WeakMap,this.c.set(r,s),this.on(t,s)}off(t,r){var s;const o=this.a.get(t);if(o){const i=o.delete(((s=this.c)==null?void 0:s.get(r))||r);if(o.size<=0){this.a.delete(t);for(const a of this.b)a.d(t)}return i}return!1}clear(t){var r;t?(r=this.a.get(t))==null||r.clear():this.a.clear()}count(t){var r;if(t)return((r=this.a.get(t))==null?void 0:r.size)||0;{let s=0;for(const o of this.a.values())s+=o.size;return s}}remit(t,r){var s;let o;const i={e:a=>{if(a===t)try{o=r(this)}catch(n){console.error(n)}},d:a=>{if(o&&(!a||a===t))try{o()}catch(n){console.error(n)}}};return this.b.add(i),(s=this.a.get(t))!=null&&s.size&&i.e(t),()=>{this.b.delete(i),i.d()}}destroy(){this.clear();for(const t of this.b)t.d();this.b.clear()}}var Ae={exports:{}},xt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ze={exports:{}},Et=function(t){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")},It=Et,Ct=Array.prototype.concat,Lt=Array.prototype.slice,Oe=ze.exports=function(t){for(var r=[],s=0,o=t.length;s<o;s++){var i=t[s];It(i)?r=Ct.call(r,Lt.call(i)):r.push(i)}return r};Oe.wrap=function(e){return function(){return e(Oe(arguments))}};var K=xt,Q=ze.exports,Ne=Object.hasOwnProperty,Pe=Object.create(null);for(var he in K)Ne.call(K,he)&&(Pe[K[he]]=he);var y=Ae.exports={to:{},get:{}};y.get=function(e){var t=e.substring(0,3).toLowerCase(),r,s;switch(t){case"hsl":r=y.get.hsl(e),s="hsl";break;case"hwb":r=y.get.hwb(e),s="hwb";break;default:r=y.get.rgb(e),s="rgb";break}return r?{model:s,value:r}:null},y.get.rgb=function(e){if(!e)return null;var t=/^#([a-f0-9]{3,4})$/i,r=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,s=/^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*)?\)$/,i=/^(\w+)$/,a=[0,0,0,1],n,l,p;if(n=e.match(r)){for(p=n[2],n=n[1],l=0;l<3;l++){var c=l*2;a[l]=parseInt(n.slice(c,c+2),16)}p&&(a[3]=parseInt(p,16)/255)}else if(n=e.match(t)){for(n=n[1],p=n[3],l=0;l<3;l++)a[l]=parseInt(n[l]+n[l],16);p&&(a[3]=parseInt(p+p,16)/255)}else if(n=e.match(s)){for(l=0;l<3;l++)a[l]=parseInt(n[l+1],0);n[4]&&(n[5]?a[3]=parseFloat(n[4])*.01:a[3]=parseFloat(n[4]))}else if(n=e.match(o)){for(l=0;l<3;l++)a[l]=Math.round(parseFloat(n[l+1])*2.55);n[4]&&(n[5]?a[3]=parseFloat(n[4])*.01:a[3]=parseFloat(n[4]))}else return(n=e.match(i))?n[1]==="transparent"?[0,0,0,0]:Ne.call(K,n[1])?(a=K[n[1]],a[3]=1,a):null:null;for(l=0;l<3;l++)a[l]=O(a[l],0,255);return a[3]=O(a[3],0,1),a},y.get.hsl=function(e){if(!e)return null;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*)?\)$/,r=e.match(t);if(r){var s=parseFloat(r[4]),o=(parseFloat(r[1])%360+360)%360,i=O(parseFloat(r[2]),0,100),a=O(parseFloat(r[3]),0,100),n=O(isNaN(s)?1:s,0,1);return[o,i,a,n]}return null},y.get.hwb=function(e){if(!e)return null;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*)?\)$/,r=e.match(t);if(r){var s=parseFloat(r[4]),o=(parseFloat(r[1])%360+360)%360,i=O(parseFloat(r[2]),0,100),a=O(parseFloat(r[3]),0,100),n=O(isNaN(s)?1:s,0,1);return[o,i,a,n]}return null},y.to.hex=function(){var e=Q(arguments);return"#"+ne(e[0])+ne(e[1])+ne(e[2])+(e[3]<1?ne(Math.round(e[3]*255)):"")},y.to.rgb=function(){var e=Q(arguments);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]+")"},y.to.rgb.percent=function(){var e=Q(arguments),t=Math.round(e[0]/255*100),r=Math.round(e[1]/255*100),s=Math.round(e[2]/255*100);return e.length<4||e[3]===1?"rgb("+t+"%, "+r+"%, "+s+"%)":"rgba("+t+"%, "+r+"%, "+s+"%, "+e[3]+")"},y.to.hsl=function(){var e=Q(arguments);return e.length<4||e[3]===1?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},y.to.hwb=function(){var e=Q(arguments),t="";return e.length>=4&&e[3]!==1&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},y.to.keyword=function(e){return Pe[e.slice(0,3)]};function O(e,t,r){return Math.min(Math.max(t,e),r)}function ne(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}function X(){}function b(e){return document.createElement(e)}function Me(e,t){const r=b(e);return k(r,t),r}function V(e,t){return e.appendChild(t)}function v(e){return`${q}-${e}`}function k(e,t){e.className=v(t)}function $t(e){return e.endsWith("/")?e.slice(0,-1):e}function Te(e,t){if(typeof e=="object"&&e!==null)return e[t]}function De(){let e;return[new Promise(r=>{e=r}),e]}function At(e){const t=e.room,r=e.displayer;return t?()=>t.calibrationTimestamp:r?()=>r.beginTimestamp+r.progressTime:()=>Date.now()}function Fe(e){try{let t=window.getComputedStyle(e).backgroundColor;if(t!=="rgba(0, 0, 0, 0)"&&t!=="transparent")return t=zt(t),console.log("[Slide] guess bg color:",t),t;if(e.parentElement)return Fe(e.parentElement)}catch{}return"#ffffff"}function zt(e){const t=Ae.exports.get(e);if(t&&t.model==="rgb"){const r=t.value,o=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16);return"#"+"000000".substring(o.length)+o}else return e}function Re(e,t){return`${$t(t||ue)}/${e}`}async function Ot({taskId:e,url:t}){const r=Re(e,t),s=`${r}/preview/1.png`,o=`${r}/jsonOutput/slide-1.json`,i=new Promise(n=>{const l=new Image;l.onload=()=>n(l),l.onerror=()=>n(null),l.src=s}),a=fetch(o).then(n=>n.json());return{preview:await i,slide:await a}}function Nt(e){if(typeof document<"u"){const t=()=>e(document.visibilityState==="visible");return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}return X}const Pt=`.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-overlay{display:flex;align-items:center;justify-content:center;position:absolute;z-index:10100;top:0;left:0;width:100%;height:100%;background:rgba(255,0,0,.25);transition:opacity .3s;opacity:0;pointer-events: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)}.netless-app-slide-preview-wrapper{width:100%;height:100%;overflow:hidden;display:flex;flex-flow:column nowrap}.netless-app-slide-preview-wrapper .netless-app-slide-content{flex:1}.netless-app-slide-preview-wrapper .netless-app-slide-footer{flex-shrink:0}
|
|
2
|
-
`;function Mt(e){const t="http://www.w3.org/2000/svg",r=document.createElementNS(t,"svg");r.setAttribute("class",`${e}-footer-icon-sidebar`),r.setAttribute("viewBox","0 0 64 64");const s=document.createElementNS(t,"path");return s.setAttribute("fill","currentColor"),s.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"),r.appendChild(s),r}function Tt(e){const t="http://www.w3.org/2000/svg",r=document.createElementNS(t,"svg");r.setAttribute("class",`${e}-footer-icon-arrow-left`),r.setAttribute("viewBox","0 0 500 500");const s=document.createElementNS(t,"path");return s.setAttribute("fill","currentColor"),s.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"),r.appendChild(s),r}function Dt(e){const t="http://www.w3.org/2000/svg",r=document.createElementNS(t,"svg");r.setAttribute("class",`${e}-footer-icon-play`),r.setAttribute("viewBox","0 0 500 500");const s=document.createElementNS(t,"path");return s.setAttribute("fill","currentColor"),s.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"),r.appendChild(s),r}function Ft(e){const t="http://www.w3.org/2000/svg",r=document.createElementNS(t,"svg");r.setAttribute("class",`${e}-footer-icon-pause`),r.setAttribute("viewBox","0 0 500 500");const s=document.createElementNS(t,"path");return s.setAttribute("fill","currentColor"),s.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"),r.appendChild(s),r}function Rt(e){const t="http://www.w3.org/2000/svg",r=document.createElementNS(t,"svg");r.setAttribute("class",`${e}-footer-icon-arrow-right`),r.setAttribute("viewBox","0 0 500 500");const s=document.createElementNS(t,"path");return s.setAttribute("fill","currentColor"),s.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"),r.appendChild(s),r}function Vt(){let e=X;const t=d=>{e=d};let r=X;const s=d=>{r=d};let o=X;const i=d=>{o=d};let a=!1,n=!1,l=0,p=0;const c=b("div");k(c,"footer");const h=b("button");k(h,"btn-sidebar"),h.classList.add(v("footer-btn")),h.appendChild(Mt(q)),h.onclick=function(){a||r()},h.style.display="none",c.appendChild(h);const w=b("div");k(w,"page-jumps");const A=b("button");k(A,"btn-page-back"),A.classList.add(v("footer-btn")),A.appendChild(Tt(q)),A.onclick=function(){a||e(l-1)},w.appendChild(A);const _=b("button");k(_,"btn-page-play"),_.classList.add(v("footer-btn")),_.appendChild(Dt(q)),_.appendChild(Ft(q));let G=0;_.onclick=function(){a||(_.classList.add(v("footer-btn-playing")),o(),clearTimeout(G),G=setTimeout(()=>{_.classList.remove(v("footer-btn-playing"))},500))},w.appendChild(_);const T=b("button");k(T,"btn-page-next"),T.classList.add(v("footer-btn")),T.appendChild(Rt(q)),T.onclick=function(){a||e(l+1)},w.appendChild(T);const D=b("div");k(D,"page-number");const E=b("input");k(E,"page-number-input"),E.value=String(l+1),E.onchange=function(){a||E.value&&e(Number(E.value)-1)};const f=b("span");k(f,"total-page"),f.textContent=" / ",D.appendChild(E),D.appendChild(f),c.appendChild(w),c.appendChild(D);const x=v("readonly");function z(d){a!==d&&(a=d,c.classList.toggle(x,a),E.disabled=a)}function F(d){n!==d&&(n=d,h.style.display=n?"":"none")}function W(d,J=!1){(J||l!==d)&&(l=d,E.value=String(l+1))}function oe(d){p!==d&&(p=d,f.textContent=` / ${p}`)}return{$footer:c,$pageNumberInput:E,set_readonly:z,set_sidebar:F,set_page_index:W,set_page_count:oe,on_new_page_index:t,on_toggle_preview:s,on_play:i}}const N=typeof window<"u",Ve=N&&!("onscroll"in window)||typeof navigator<"u"&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),Ue=N&&"IntersectionObserver"in window,je=N&&"classList"in document.createElement("p"),qe=N&&window.devicePixelRatio>1,Ut={elements_selector:".lazy",container:Ve||N?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},Be=e=>Object.assign({},Ut,e),He=function(e,t){let r;const s="LazyLoad::Initialized",o=new e(t);try{r=new CustomEvent(s,{detail:{instance:o}})}catch{r=document.createEvent("CustomEvent"),r.initCustomEvent(s,!1,!1,{instance:o})}window.dispatchEvent(r)},jt=(e,t)=>{if(!!t)if(!t.length)He(e,t);else for(let r=0,s;s=t[r];r+=1)He(e,s)},C="src",fe="srcset",ge="sizes",Ge="poster",Y="llOriginalAttrs",We="data",be="loading",Je="loaded",Ze="applied",qt="entered",ve="error",Ke="native",Qe="data-",Xe="ll-status",m=(e,t)=>e.getAttribute(Qe+t),Bt=(e,t,r)=>{var s=Qe+t;if(r===null){e.removeAttribute(s);return}e.setAttribute(s,r)},ee=e=>m(e,Xe),U=(e,t)=>Bt(e,Xe,t),ae=e=>U(e,null),me=e=>ee(e)===null,Ht=e=>ee(e)===be,Gt=e=>ee(e)===ve,we=e=>ee(e)===Ke,Wt=[be,Je,Ze,ve],Jt=e=>Wt.indexOf(ee(e))>=0,P=(e,t,r,s)=>{if(!!e){if(s!==void 0){e(t,r,s);return}if(r!==void 0){e(t,r);return}e(t)}},B=(e,t)=>{if(je){e.classList.add(t);return}e.className+=(e.className?" ":"")+t},I=(e,t)=>{if(je){e.classList.remove(t);return}e.className=e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},Zt=e=>{e.llTempImage=document.createElement("IMG")},Kt=e=>{delete e.llTempImage},Ye=e=>e.llTempImage,ie=(e,t)=>{if(!t)return;const r=t._observer;!r||r.unobserve(e)},Qt=e=>{e.disconnect()},Xt=(e,t,r)=>{t.unobserve_entered&&ie(e,r)},_e=(e,t)=>{!e||(e.loadingCount+=t)},Yt=e=>{!e||(e.toLoadCount-=1)},et=(e,t)=>{!e||(e.toLoadCount=t)},er=e=>e.loadingCount>0,tr=e=>e.toLoadCount>0,tt=e=>{let t=[];for(let r=0,s;s=e.children[r];r+=1)s.tagName==="SOURCE"&&t.push(s);return t},ye=(e,t)=>{const r=e.parentNode;if(!r||r.tagName!=="PICTURE")return;tt(r).forEach(t)},rt=(e,t)=>{tt(e).forEach(t)},le=[C],st=[C,Ge],te=[C,fe,ge],ot=[We],ce=e=>!!e[Y],nt=e=>e[Y],at=e=>delete e[Y],H=(e,t)=>{if(ce(e))return;const r={};t.forEach(s=>{r[s]=e.getAttribute(s)}),e[Y]=r},rr=e=>{ce(e)||(e[Y]={backgroundImage:e.style.backgroundImage})},sr=(e,t,r)=>{if(!r){e.removeAttribute(t);return}e.setAttribute(t,r)},j=(e,t)=>{if(!ce(e))return;const r=nt(e);t.forEach(s=>{sr(e,s,r[s])})},or=e=>{if(!ce(e))return;const t=nt(e);e.style.backgroundImage=t.backgroundImage},it=(e,t,r)=>{B(e,t.class_applied),U(e,Ze),r&&(t.unobserve_completed&&ie(e,t),P(t.callback_applied,e,r))},lt=(e,t,r)=>{B(e,t.class_loading),U(e,be),r&&(_e(r,1),P(t.callback_loading,e,r))},M=(e,t,r)=>{!r||e.setAttribute(t,r)},ct=(e,t)=>{M(e,ge,m(e,t.data_sizes)),M(e,fe,m(e,t.data_srcset)),M(e,C,m(e,t.data_src))},nr=(e,t)=>{ye(e,r=>{H(r,te),ct(r,t)}),H(e,te),ct(e,t)},ar=(e,t)=>{H(e,le),M(e,C,m(e,t.data_src))},ir=(e,t)=>{rt(e,r=>{H(r,le),M(r,C,m(r,t.data_src))}),H(e,st),M(e,Ge,m(e,t.data_poster)),M(e,C,m(e,t.data_src)),e.load()},lr=(e,t)=>{H(e,ot),M(e,We,m(e,t.data_src))},cr=(e,t,r)=>{const s=m(e,t.data_bg),o=m(e,t.data_bg_hidpi),i=qe&&o?o:s;!i||(e.style.backgroundImage=`url("${i}")`,Ye(e).setAttribute(C,i),lt(e,t,r))},dr=(e,t,r)=>{const s=m(e,t.data_bg_multi),o=m(e,t.data_bg_multi_hidpi),i=qe&&o?o:s;!i||(e.style.backgroundImage=i,it(e,t,r))},ur=(e,t,r)=>{const s=m(e,t.data_bg_set);if(!s)return;const o=s.split("|");let i=o.map(a=>`image-set(${a})`);e.style.backgroundImage=i.join(),e.style.backgroundImage===""&&(i=o.map(a=>`-webkit-image-set(${a})`),e.style.backgroundImage=i.join()),it(e,t,r)},dt={IMG:nr,IFRAME:ar,VIDEO:ir,OBJECT:lr},pr=(e,t)=>{const r=dt[e.tagName];!r||r(e,t)},hr=(e,t,r)=>{const s=dt[e.tagName];!s||(s(e,t),lt(e,t,r))},fr=["IMG","IFRAME","VIDEO","OBJECT"],gr=e=>fr.indexOf(e.tagName)>-1,ut=(e,t)=>{t&&!er(t)&&!tr(t)&&P(e.callback_finish,t)},pt=(e,t,r)=>{e.addEventListener(t,r),e.llEvLisnrs[t]=r},br=(e,t,r)=>{e.removeEventListener(t,r)},ke=e=>!!e.llEvLisnrs,vr=(e,t,r)=>{ke(e)||(e.llEvLisnrs={});const s=e.tagName==="VIDEO"?"loadeddata":"load";pt(e,s,t),pt(e,"error",r)},Se=e=>{if(!ke(e))return;const t=e.llEvLisnrs;for(let r in t){const s=t[r];br(e,r,s)}delete e.llEvLisnrs},ht=(e,t,r)=>{Kt(e),_e(r,-1),Yt(r),I(e,t.class_loading),t.unobserve_completed&&ie(e,r)},mr=(e,t,r,s)=>{const o=we(t);ht(t,r,s),B(t,r.class_loaded),U(t,Je),P(r.callback_loaded,t,s),o||ut(r,s)},wr=(e,t,r,s)=>{const o=we(t);ht(t,r,s),B(t,r.class_error),U(t,ve),P(r.callback_error,t,s),r.restore_on_error&&j(t,te),o||ut(r,s)},xe=(e,t,r)=>{const s=Ye(e)||e;if(ke(s))return;vr(s,a=>{mr(a,e,t,r),Se(s)},a=>{wr(a,e,t,r),Se(s)})},_r=(e,t,r)=>{Zt(e),xe(e,t,r),rr(e),cr(e,t,r),dr(e,t,r),ur(e,t,r)},yr=(e,t,r)=>{xe(e,t,r),hr(e,t,r)},Ee=(e,t,r)=>{gr(e)?yr(e,t,r):_r(e,t,r)},kr=(e,t,r)=>{e.setAttribute("loading","lazy"),xe(e,t,r),pr(e,t),U(e,Ke)},ft=e=>{e.removeAttribute(C),e.removeAttribute(fe),e.removeAttribute(ge)},Sr=e=>{ye(e,t=>{ft(t)}),ft(e)},gt=e=>{ye(e,t=>{j(t,te)}),j(e,te)},xr={IMG:gt,IFRAME:e=>{j(e,le)},VIDEO:e=>{rt(e,t=>{j(t,le)}),j(e,st),e.load()},OBJECT:e=>{j(e,ot)}},Er=e=>{const t=xr[e.tagName];if(!t){or(e);return}t(e)},Ir=(e,t)=>{me(e)||we(e)||(I(e,t.class_entered),I(e,t.class_exited),I(e,t.class_applied),I(e,t.class_loading),I(e,t.class_loaded),I(e,t.class_error))},Cr=(e,t)=>{Er(e),Ir(e,t),ae(e),at(e)},Lr=(e,t,r,s)=>{!r.cancel_on_exit||!Ht(e)||e.tagName==="IMG"&&(Se(e),Sr(e),gt(e),I(e,r.class_loading),_e(s,-1),ae(e),P(r.callback_cancel,e,t,s))},$r=(e,t,r,s)=>{const o=Jt(e);U(e,qt),B(e,r.class_entered),I(e,r.class_exited),Xt(e,r,s),P(r.callback_enter,e,t,s),!o&&Ee(e,r,s)},Ar=(e,t,r,s)=>{me(e)||(B(e,r.class_exited),Lr(e,t,r,s),P(r.callback_exit,e,t,s))},zr=["IMG","IFRAME","VIDEO"],bt=e=>e.use_native&&"loading"in HTMLImageElement.prototype,Or=(e,t,r)=>{e.forEach(s=>{zr.indexOf(s.tagName)!==-1&&kr(s,t,r)}),et(r,0)},Nr=e=>e.isIntersecting||e.intersectionRatio>0,Pr=e=>({root:e.container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),Mr=(e,t,r)=>{e.forEach(s=>Nr(s)?$r(s.target,s,t,r):Ar(s.target,s,t,r))},Tr=(e,t)=>{t.forEach(r=>{e.observe(r)})},Dr=(e,t)=>{Qt(e),Tr(e,t)},Fr=(e,t)=>{!Ue||bt(e)||(t._observer=new IntersectionObserver(r=>{Mr(r,e,t)},Pr(e)))},vt=e=>Array.prototype.slice.call(e),de=e=>e.container.querySelectorAll(e.elements_selector),Rr=e=>vt(e).filter(me),Vr=e=>Gt(e),Ur=e=>vt(e).filter(Vr),mt=(e,t)=>Rr(e||de(t)),jr=(e,t)=>{Ur(de(e)).forEach(s=>{I(s,e.class_error),ae(s)}),t.update()},qr=(e,t)=>{!N||(t._onlineHandler=()=>{jr(e,t)},window.addEventListener("online",t._onlineHandler))},Br=e=>{!N||window.removeEventListener("online",e._onlineHandler)},re=function(e,t){const r=Be(e);this._settings=r,this.loadingCount=0,Fr(r,this),qr(r,this),this.update(t)};re.prototype={update:function(e){const t=this._settings,r=mt(e,t);if(et(this,r.length),Ve||!Ue){this.loadAll(r);return}if(bt(t)){Or(r,t,this);return}Dr(this._observer,r)},destroy:function(){this._observer&&this._observer.disconnect(),Br(this),de(this._settings).forEach(e=>{at(e)}),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(e){const t=this._settings;mt(e,t).forEach(s=>{ie(s,this),Ee(s,t,this)})},restoreAll:function(){const e=this._settings;de(e).forEach(t=>{Cr(t,e)})}},re.load=(e,t)=>{const r=Be(t);Ee(e,r)},re.resetStatus=e=>{ae(e)},N&&jt(re,window.lazyLoadOptions);function Hr(){let e=X;const t=f=>{e=f};let r=!1,s=!1,o=!1,i=[],a=0;const n=v("readonly"),l=v("preview-active"),p=b("div");k(p,"content");const c=b("div");k(c,"preview-mask"),c.onclick=function(x){s||x.target===c&&_(!1)},V(p,c);const h=b("div");k(h,"preview"),h.classList.add(v("tele-fancy-scrollbar")),h.onclick=function(x){var F;if(s)return;const z=(F=x.target.dataset)==null?void 0:F.pageIndex;z&&(x.preventDefault(),x.stopPropagation(),x.stopImmediatePropagation(),e(Number(z)),_(!1))},V(p,h);const w=new re({container:h,elements_selector:`.${v("preview-page>img")}`});function A(f){s!==f&&(s=f,p.classList.toggle(n,s))}function _(f){o!==f&&(o=f,p.classList.toggle(l,o))}function G(f){if(i!==f){i=f;const x=v("preview-page"),z=v("preview-page-name");i.forEach((F,W)=>{const oe=String(W),d=b("a");d.className=x+" "+v(`preview-page-${W}`),d.href="#",d.dataset.pageIndex=oe;const J=b("span");J.className=z,J.textContent=String(W+1),J.dataset.pageIndex=oe;const Z=b("img");Z.width=F.width,Z.height=F.height,Z.src=F.thumbnail,Z.alt=`page-${W}`,Z.dataset.pageIndex=oe,V(d,Z),V(d,J),V(h,d)}),r||w.update()}}function T(f,x=!1){if(x||a!==f){a=f;const z=h.querySelector(`.${v(`preview-page-${a}`)}`);z&&h.scrollTo({top:z.offsetTop-16})}}function D(){r=!0,w.destroy()}function E(){return o}return{$content:p,$preview:h,set_readonly:A,set_active:_,get_active:E,set_pages:G,on_new_page_index:t,set_page_index:T,destroy:D}}const Ie=class{constructor(t){u(this,"sideEffect",new $e);u(this,"events",new St);u(this,"$slide",Me("div","slide"));u(this,"$overlay",Me("div","overlay"));u(this,"sidebar",Hr());u(this,"footer",Vt());u(this,"$content");u(this,"$footer");u(this,"slide");u(this,"_readyPromise");u(this,"_infoPromise");u(this,"_ready",!1);u(this,"_slideCount",0);u(this,"_destroyed",!1);u(this,"_isFrozen",!1);u(this,"_cachedIsFrozen",!1);u(this,"onPlay",()=>{this.slide.nextStep()});u(this,"onNewPageIndex",t=>{this._ready&&t>=0&&t<this._slideCount?this.slide.renderSlide(t+1):this.setPage(this.slide.slideState.currentSlideIndex)});u(this,"onTogglePreview",()=>{this.sidebar.set_active(!this.sidebar.get_active())});this.$content=this.sidebar.$content,this.$footer=this.footer.$footer,V(this.$content,this.$slide),V(this.$content,this.$overlay),this.sidebar.on_new_page_index(this.onNewPageIndex),this.footer.on_new_page_index(this.onNewPageIndex),this.footer.on_toggle_preview(this.onTogglePreview),this.footer.on_play(this.onPlay),this.sideEffect.push(this.sidebar.destroy),this.sideEffect.push(()=>this.slide.destroy()),this.sideEffect.push(()=>{this.$content.parentElement&&this.$content.remove(),this.$footer.parentElement&&this.$footer.remove(),this.$slide.parentElement&&this.$slide.remove()}),this.sideEffect.push(Nt(n=>{this._destroyed||(n?this._cachedIsFrozen||this.unfreeze():(this._cachedIsFrozen=this._isFrozen,this.freeze()))}));const[r,s]=De();this._infoPromise=r,Ie.fetchSlideInfo(t).then(({preview:n,slide:l})=>{if(!this._destroyed){if(this._slideCount=l.slideCount,n){const{taskId:p,url:c}=t,{slideCount:h}=l,{width:w,height:A}=n,_=Re(p,c),G=Array.from({length:h},(T,D)=>({width:w,height:A,thumbnail:`${_}/preview/${D+1}.png`}));this.sidebar.set_pages(G),this.footer.set_sidebar(!0)}this.footer.set_page_count(l.slideCount),s(l)}}).catch(n=>{console.log("[Slide] fetch slide info error"),console.error(n),this.events.emit("prepareError",n)});const[i,a]=De();this._readyPromise=i,this.slide=new S.Slide({anchor:this.$slide,mode:"local",interactive:!0,enableGlobalClick:!0,useLocalCache:!0,...t}),this.slide.setResource(t.taskId,t.url||ue),this.slide.on("slideChange",n=>{this._destroyed||this.setPage(n)}),this.slide.on("renderEnd",()=>{this._ready?this.$overlay.style.opacity="":setTimeout(()=>{this._ready=!0,a()},1e3)}),this.slide.on("renderError",n=>{this._destroyed||n.error&&(console.error(n.error),this.$overlay.textContent=`Error on slide.index=${n.index}: ${n.error.message}`,this.$overlay.style.opacity="1",this.events.emit("renderError",n))}),this.ready(()=>{this._isFrozen&&this.freeze()})}prepare(t){return this._infoPromise.then(t)}ready(t){return this._readyPromise.then(t)}destroy(){this._destroyed=!0,this.sideEffect.flushAll()}setReadonly(t){this.slide.setInteractive(!t),this.sidebar.set_readonly(t),this.footer.set_readonly(t)}setPage(t){this.sidebar.set_page_index(t-1,!0),this.footer.set_page_index(t-1,!0)}freeze(){this._destroyed||(this._isFrozen=!0,this._ready&&(this.slide.frozen(),this.events.emit("freeze")))}unfreeze(){this._destroyed||(this._isFrozen=!1,this._ready&&(this.slide.release(),this.events.emit("unfreeze")))}};let L=Ie;u(L,"styles",Pt),u(L,"fetchSlideInfo",Ot);function Gr(e){return e.displayer.logger}const $=class{constructor(t){u(this,"info",t=>{$.roomLogger&&this.context?$.roomLogger.info(t+` (${this.context.appId})`):this.context?console.debug(t+` (${this.context.appId})`):console.debug(t)});this.context=t,t&&($.active.add(t.appId),$.roomLogger=Gr(t))}destroy(){this.context&&$.active.delete(this.context.appId),$.active.size===0&&($.roomLogger=null)}};let se=$;u(se,"active",new Set),u(se,"roomLogger",null);function Wr({context:e,storage:t,viewer:r,sideEffect:s,logger:o}){const i=o.info.bind(o);let a=null;r.prepare(({width:c,height:h,slideCount:w})=>{e.destroyed||(c&&e.box.setStageRatio(h/c),a=e.createWhiteBoardView({size:w}),a.setBaseRect({width:c,height:h}),p())});const{slide:n}=r;function l(c=t.state.state){return JSON.stringify(c)}function p(){if(t.state.state)i("[Slide] restore "+l()),n.setSlideState(t.state.state);else if(e.isAddApp)i("[Slide] kick start"),n.renderSlide(1);else{i("[Slide] wait for restore");const c=s.add(()=>{const w=setInterval(()=>{t.state.state||(i("[Slide] timeout"),n.renderSlide(1))},15e3);return()=>clearInterval(w)}),h=s.push(t.on("stateChanged",()=>{t.state.state&&(i("[Slide] restore "+l()),n.setSlideState(t.state.state),s.flush(h),s.flush(c))}))}}n.on("stateChange",()=>{e.isWritable&&t.setState({state:n.slideState})}),n.on("syncDispatch",c=>{e.isWritable&&(i("[Slide] dispatch "+l(Te(c,"uuid"))),e.dispatchMagixEvent("syncDispatch",c))}),s.push(e.addMagixEventListener("syncDispatch",({payload:c})=>{i("[Slide] receive "+l(Te(c,"uuid"))),n.emit("syncReceive",c)},{fireSelfEventAfterCommit:!0})),n.on("slideChange",c=>{e.isWritable&&a&&(i("[Slide] page to "+c),a.jumpPage(c-1))}),r.setReadonly(!e.isWritable),s.push(e.emitter.on("writableChange",c=>{r.setReadonly(!c)})),s.addEventListener(window,"keydown",c=>{e.box.focus&&((c.key==="ArrowUp"||c.key==="ArrowLeft")&&r.slide.prevStep(),(c.key==="ArrowRight"||c.key==="ArrowDown")&&r.slide.nextStep())})}function Jr(e){const{container:t,...r}=e,s=document.createElement("div");s.className="netless-app-slide-preview-wrapper";const o=new L(r);return s.appendChild(document.createElement("style")).textContent=L.styles,s.appendChild(o.$content),s.appendChild(o.$footer),t.appendChild(s),o.prepare(()=>o.slide.renderSlide(1)),o}const Zr=S.Slide.usePlugin.bind(S.Slide),Kr="0.3.0-canary.13",Qr={kind:"Slide",setup(e){var n,l;console.log("[Slide] setup @ 0.3.0-canary.13 ("+e.appId+")");const t=new se(e);if(t.info("[Slide] setup @ 0.3.0-canary.13"),!e.attributes.taskId)throw new Error("[Slide] no taskId");const r=e.createStorage("slide",e.attributes),s=e.getAppOptions()||{},o=s.renderOptions||{},i=new $e,a=new L({interactive:!0,mode:"interactive",enableGlobalClick:!0,timestamp:At(e),logger:s.logger||t,renderOptions:{minFPS:o.minFPS||25,maxFPS:o.maxFPS||30,autoFPS:(n=o.autoFPS)!=null?n:!0,autoResolution:(l=o.autoResolution)!=null?l:!0,resolution:o.resolution,maxResolutionLevel:o.maxResolutionLevel,transactionBgColor:o.transactionBgColor||Fe(e.box.$content)},rtcAudio:s.rtcAudio,useLocalCache:s.useLocalCache,resourceTimeout:s.resourceTimeout,loaderDelegate:s.loaderDelegate,navigatorDelegate:s.navigatorDelegate,fixedFrameSize:s.fixedFrameSize,taskId:r.state.taskId,url:r.state.url});return Object.assign(a,{context:e,logger:t}),i.push(pe.set(e.appId,a)),i.push(a.events.on("freeze",()=>t.info("[Slide] freeze"))),i.push(a.events.on("unfreeze",()=>t.info("[Slide] unfreeze"))),i.push(a.events.on("prepareError",p=>t.info("[Slide] fetch slide info failed: "+p.message))),i.push(a.events.on("renderError",({error:p,index:c})=>t.info(`[Slide] render failed [${c}]: ${p.message}`))),e.box.mountStyles(L.styles),e.box.mountStage(a.$slide),e.box.mountFooter(a.$footer),e.box.mountContent(a.$content),i.push(()=>a.destroy()),Wr({context:e,storage:r,viewer:a,sideEffect:i,logger:t}),e.emitter.on("destroy",()=>{t.info("[Slide] destroy"),t.destroy(),i.flushAll()}),a}};return Object.defineProperty(g,"Slide",{enumerable:!0,get:()=>S.Slide}),g.DefaultUrl=ue,g.SlideViewer=L,g.addHooks=kt,g.default=Qr,g.previewSlide=Jr,g.refrigerator=pe,g.usePlugin=Zr,g.version=Kr,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),g}({},slide);
|
|
1
|
+
var NetlessAppSlide=function(v,I,H){"use strict";var ar=Object.defineProperty;var ir=(v,I,H)=>I in v?ar(v,I,{enumerable:!0,configurable:!0,writable:!0,value:H}):v[I]=H;var u=(v,I,H)=>(ir(v,typeof I!="symbol"?I+"":I,H),H);const _t="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",ze=[],yt=()=>{for(let e=0;e<20;e++)ze[e]=_t.charAt(Math.random()*87);return ze.join("")};function $e(e){try{return e()}catch(t){console.error(t)}}class Le{constructor(){this.push=this.addDisposer,this.disposers=new Map}addDisposer(t,s=this.genUID()){return this.flush(s),this.disposers.set(s,Array.isArray(t)?kt(t):t),s}add(t,s=this.genUID()){const r=t();return r?this.addDisposer(r,s):s}addEventListener(t,s,r,o,i=this.genUID()){return t.addEventListener(s,r,o),this.addDisposer(()=>t.removeEventListener(s,r,o),i),i}setTimeout(t,s,r=this.genUID()){const o=window.setTimeout(()=>{this.remove(r),t()},s);return this.addDisposer(()=>window.clearTimeout(o),r)}setInterval(t,s,r=this.genUID()){const o=window.setInterval(t,s);return this.addDisposer(()=>window.clearInterval(o),r)}remove(t){const s=this.disposers.get(t);return this.disposers.delete(t),s}flush(t){const s=this.remove(t);s&&s()}flushAll(){this.disposers.forEach($e),this.disposers.clear()}genUID(){let t;do t=yt();while(this.disposers.has(t));return t}}function kt(e){return()=>e.forEach($e)}const D="netless-app-slide",he="https://convertcdn.netless.link/dynamicConvert";class St{constructor(){u(this,"threshold",2);u(this,"_map",new Map);u(this,"_box",new Map);u(this,"_queue",[])}set(t,s,r){return this._map.set(t,s),this._box.set(t,r),this._queue.includes(t)||this._queue.unshift(t),this._refresh(),()=>{this.delete(t)}}delete(t){this._map.delete(t),this._box.delete(t),this._queue=this._queue.filter(s=>s!==t),this._refresh()}focus(t){const s=this._queue.indexOf(t);s>=0&&this._queue.splice(s,1),this._queue.unshift(t),this._refresh()}_refresh(){let t;this._queue.sort((s,r)=>{var n,a,l,d;const o=(a=(n=this._box.get(s))==null?void 0:n.zIndex)!=null?a:0,i=(d=(l=this._box.get(r))==null?void 0:l.zIndex)!=null?d:0;return-(o-i)}),this._queue.forEach((s,r)=>{!(t=this._map.get(s))||(r<this.threshold?t.unfreeze():t.freeze())})}}const fe=new St,xt=function(t){t.on("focus",s=>{fe.focus(s.appId)})};class Et{constructor(){this.a=new Map,this.b=new Set}emit(t,s){const r=this.a.get(t);if(r)for(const o of r)try{o(s)}catch(i){console.error(i)}}on(t,s){let r=this.a.get(t);if(r||(r=new Set,this.a.set(t,r)),r.add(s),r.size===1)for(const o of this.b)o.e(t);return()=>{this.off(t,s)}}once(t,s){const r=o=>(this.off(t,s),s(o));return this.c=this.c||new WeakMap,this.c.set(s,r),this.on(t,r)}off(t,s){var r;const o=this.a.get(t);if(o){const i=o.delete(((r=this.c)==null?void 0:r.get(s))||s);if(o.size<=0){this.a.delete(t);for(const n of this.b)n.d(t)}return i}return!1}clear(t){var s;t?(s=this.a.get(t))==null||s.clear():this.a.clear()}count(t){var s;if(t)return((s=this.a.get(t))==null?void 0:s.size)||0;{let r=0;for(const o of this.a.values())r+=o.size;return r}}remit(t,s){var r;let o;const i={e:n=>{if(n===t)try{o=s(this)}catch(a){console.error(a)}},d:n=>{if(o&&(!n||n===t))try{o()}catch(a){console.error(a)}}};return this.b.add(i),(r=this.a.get(t))!=null&&r.size&&i.e(t),()=>{this.b.delete(i),i.d()}}destroy(){this.clear();for(const t of this.b)t.d();this.b.clear()}}var Me={exports:{}},Ct={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Ne={exports:{}},At=function(t){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")},It=At,zt=Array.prototype.concat,$t=Array.prototype.slice,Oe=Ne.exports=function(t){for(var s=[],r=0,o=t.length;r<o;r++){var i=t[r];It(i)?s=zt.call(s,$t.call(i)):s.push(i)}return s};Oe.wrap=function(e){return function(){return e(Oe(arguments))}};var K=Ct,Q=Ne.exports,Pe=Object.hasOwnProperty,Te=Object.create(null);for(var ge in K)Pe.call(K,ge)&&(Te[K[ge]]=ge);var A=Me.exports={to:{},get:{}};A.get=function(e){var t=e.substring(0,3).toLowerCase(),s,r;switch(t){case"hsl":s=A.get.hsl(e),r="hsl";break;case"hwb":s=A.get.hwb(e),r="hwb";break;default:s=A.get.rgb(e),r="rgb";break}return s?{model:r,value:s}:null},A.get.rgb=function(e){if(!e)return null;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*)?\)$/,i=/^(\w+)$/,n=[0,0,0,1],a,l,d;if(a=e.match(s)){for(d=a[2],a=a[1],l=0;l<3;l++){var c=l*2;n[l]=parseInt(a.slice(c,c+2),16)}d&&(n[3]=parseInt(d,16)/255)}else if(a=e.match(t)){for(a=a[1],d=a[3],l=0;l<3;l++)n[l]=parseInt(a[l]+a[l],16);d&&(n[3]=parseInt(d+d,16)/255)}else if(a=e.match(r)){for(l=0;l<3;l++)n[l]=parseInt(a[l+1],0);a[4]&&(a[5]?n[3]=parseFloat(a[4])*.01:n[3]=parseFloat(a[4]))}else if(a=e.match(o)){for(l=0;l<3;l++)n[l]=Math.round(parseFloat(a[l+1])*2.55);a[4]&&(a[5]?n[3]=parseFloat(a[4])*.01:n[3]=parseFloat(a[4]))}else return(a=e.match(i))?a[1]==="transparent"?[0,0,0,0]:Pe.call(K,a[1])?(n=K[a[1]],n[3]=1,n):null:null;for(l=0;l<3;l++)n[l]=F(n[l],0,255);return n[3]=F(n[3],0,1),n},A.get.hsl=function(e){if(!e)return null;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);if(s){var r=parseFloat(s[4]),o=(parseFloat(s[1])%360+360)%360,i=F(parseFloat(s[2]),0,100),n=F(parseFloat(s[3]),0,100),a=F(isNaN(r)?1:r,0,1);return[o,i,n,a]}return null},A.get.hwb=function(e){if(!e)return null;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);if(s){var r=parseFloat(s[4]),o=(parseFloat(s[1])%360+360)%360,i=F(parseFloat(s[2]),0,100),n=F(parseFloat(s[3]),0,100),a=F(isNaN(r)?1:r,0,1);return[o,i,n,a]}return null},A.to.hex=function(){var e=Q(arguments);return"#"+ne(e[0])+ne(e[1])+ne(e[2])+(e[3]<1?ne(Math.round(e[3]*255)):"")},A.to.rgb=function(){var e=Q(arguments);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]+")"},A.to.rgb.percent=function(){var e=Q(arguments),t=Math.round(e[0]/255*100),s=Math.round(e[1]/255*100),r=Math.round(e[2]/255*100);return e.length<4||e[3]===1?"rgb("+t+"%, "+s+"%, "+r+"%)":"rgba("+t+"%, "+s+"%, "+r+"%, "+e[3]+")"},A.to.hsl=function(){var e=Q(arguments);return e.length<4||e[3]===1?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},A.to.hwb=function(){var e=Q(arguments),t="";return e.length>=4&&e[3]!==1&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},A.to.keyword=function(e){return Te[e.slice(0,3)]};function F(e,t,s){return Math.min(Math.max(t,e),s)}function ne(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}function X(){}function ae(e){return document.createElement(e)}function _(e,t){const s=ae(e);return Lt(s,t),s}function q(e,t){return e.appendChild(t)}function y(e){return`${D}-${e}`}function Lt(e,t){e.className=y(t)}function Mt(e){return e.endsWith("/")?e.slice(0,-1):e}function De(e,t){if(typeof e=="object"&&e!==null)return e[t]}function Fe(){let e;return[new Promise(s=>{e=s}),e]}function Nt(e){const t=e.room,s=e.displayer;return t?()=>t.calibrationTimestamp:s?()=>s.beginTimestamp+s.progressTime:()=>Date.now()}function Re(e){try{let t=window.getComputedStyle(e).backgroundColor;if(t!=="rgba(0, 0, 0, 0)"&&t!=="transparent")return t=Ot(t),console.log("[Slide] guess bg color:",t),t;if(e.parentElement)return Re(e.parentElement)}catch{}return"#ffffff"}function Ot(e){const t=Me.exports.get(e);if(t&&t.model==="rgb"){const s=t.value,o=(((Math.round(s[0])&255)<<16)+((Math.round(s[1])&255)<<8)+(Math.round(s[2])&255)).toString(16);return"#"+"000000".substring(o.length)+o}else return e}function Ve(e,t){return`${Mt(t||he)}/${e}`}async function Pt({taskId:e,url:t}){const s=Ve(e,t),r=`${s}/preview/1.png`,o=`${s}/jsonOutput/slide-1.json`,i=new Promise(a=>{const l=new Image;l.onload=()=>a(l),l.onerror=()=>a(null),l.src=r}),n=fetch(o).then(a=>a.json());return{preview:await i,slide:await n}}function Tt(e){if(typeof document<"u"){const t=()=>e(document.visibilityState==="visible");return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}return X}const Dt=`.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-overlay{display:flex;align-items:center;justify-content:center;position:absolute;z-index:10100;top:0;left:0;width:100%;height:100%;background:rgba(255,0,0,.25);transition:opacity .3s;opacity:0;pointer-events: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)}.netless-app-slide-preview-wrapper{width:100%;height:100%;overflow:hidden;display:flex;flex-flow:column nowrap}.netless-app-slide-preview-wrapper .netless-app-slide-content{flex:1}.netless-app-slide-preview-wrapper .netless-app-slide-footer{flex-shrink:0}
|
|
2
|
+
`;function Ft(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-sidebar`),s.setAttribute("viewBox","0 0 64 64");const r=document.createElementNS(t,"path");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}function Rt(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-arrow-left`),s.setAttribute("viewBox","0 0 500 500");const r=document.createElementNS(t,"path");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}function Vt(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-play`),s.setAttribute("viewBox","0 0 500 500");const r=document.createElementNS(t,"path");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}function Ut(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-pause`),s.setAttribute("viewBox","0 0 500 500");const r=document.createElementNS(t,"path");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}function jt(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-arrow-right`),s.setAttribute("viewBox","0 0 500 500");const r=document.createElementNS(t,"path");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}function Bt(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-save`),s.setAttribute("viewBox","0 0 448 512");const r=document.createElementNS(t,"path");return r.setAttribute("fill","currentColor"),r.setAttribute("d","M224 256c-35.2 0-64 28.8-64 64c0 35.2 28.8 64 64 64c35.2 0 64-28.8 64-64C288 284.8 259.2 256 224 256zM433.1 129.1l-83.9-83.9C341.1 37.06 328.8 32 316.1 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V163.9C448 151.2 442.9 138.9 433.1 129.1zM128 80h144V160H128V80zM400 416c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16V96c0-8.838 7.164-16 16-16h16v104c0 13.25 10.75 24 24 24h192C309.3 208 320 197.3 320 184V83.88l78.25 78.25C399.4 163.2 400 164.8 400 166.3V416z"),s.appendChild(r),s}function Ht(e){const t="http://www.w3.org/2000/svg",s=document.createElementNS(t,"svg");s.setAttribute("class",`${e}-footer-icon-spinner`),s.setAttribute("viewBox","0 0 512 512");const r=document.createElementNS(t,"path");r.setAttribute("fill","currentColor"),r.setAttribute("d","M304 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm0 416c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM48 304c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm464-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM142.9 437c18.7-18.7 18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zm0-294.2c18.7-18.7 18.7-49.1 0-67.9S93.7 56.2 75 75s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zM369.1 437c18.7 18.7 49.1 18.7 67.9 0s18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9z");const o=document.createElementNS(t,"animateTransform");o.setAttribute("attributeName","transform"),o.setAttribute("attributeType","xml"),o.setAttribute("type","rotate"),o.setAttribute("from","0 256 256"),o.setAttribute("to","360 256 256"),o.setAttribute("begin","0s"),o.setAttribute("dur","2s"),o.setAttribute("fill","freeze"),o.setAttribute("repeatCount","indefinite"),r.appendChild(o);const i=document.createElementNS(t,"text");return i.setAttribute("x","125"),i.setAttribute("y","345"),i.setAttribute("data-id","progress"),i.style.fontSize="246px",i.textContent="20",s.appendChild(i),s.appendChild(r),s}function qt(){let e=X;const t=p=>{e=p};let s=X;const r=p=>{s=p};let o=X;const i=p=>{o=p};let n=!1,a=!1,l=0,d=0;const c=_("div","footer"),h=_("button","btn-sidebar");h.classList.add(y("footer-btn")),h.appendChild(Ft(D)),h.onclick=function(){n||s()},h.style.display="none",c.appendChild(h);const g=_("div","page-jumps"),S=_("button","btn-page-back");S.classList.add(y("footer-btn")),S.appendChild(Rt(D)),S.onclick=function(){n||e(l-1)},g.appendChild(S);const b=_("button","btn-page-play");b.classList.add(y("footer-btn")),b.appendChild(Vt(D)),b.appendChild(Ut(D));let M=0;b.onclick=function(){n||(b.classList.add(y("footer-btn-playing")),o(),clearTimeout(M),M=setTimeout(()=>{b.classList.remove(y("footer-btn-playing"))},500))},g.appendChild(b);const $=_("button","btn-page-next");$.classList.add(y("footer-btn")),$.appendChild(jt(D)),$.onclick=function(){n||e(l+1)},g.appendChild($);const x=_("div","page-number"),m=_("input","page-number-input");m.value=String(l+1),m.onchange=function(){n||m.value&&e(Number(m.value)-1)};const f=_("span","total-page");f.textContent=" / ",x.appendChild(m),x.appendChild(f),c.appendChild(g),c.appendChild(x);const E=y("readonly");let w=X;const C=p=>{w=p},j=p=>{if(p<99){z.style.display="block",J.style.display="none";const pe=z.querySelector("[data-id]");pe&&(pe.textContent=p.toString().padStart(2,"0"))}else z.style.display="none",J.style.display="block"},J=Bt(D),z=Ht(D);z.style.display="none";const T=_("button","footer-btn");T.appendChild(J),T.onclick=function(){w(j)},T.appendChild(z),c.appendChild(T);function B(p){n!==p&&(n=p,c.classList.toggle(E,n),m.disabled=n)}function rr(p){a!==p&&(a=p,h.style.display=a?"":"none")}function or(p,pe=!1){(pe||l!==p)&&(l=p,m.value=String(l+1))}function nr(p){d!==p&&(d=p,f.textContent=` / ${d}`)}return{$footer:c,$pageNumberInput:m,set_readonly:B,set_sidebar:rr,set_page_index:or,set_page_count:nr,on_new_page_index:t,on_toggle_preview:r,on_play:i,on_save_to_pdf:C}}const R=typeof window<"u",Ue=R&&!("onscroll"in window)||typeof navigator<"u"&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),je=R&&"IntersectionObserver"in window,Be=R&&"classList"in document.createElement("p"),He=R&&window.devicePixelRatio>1,Gt={elements_selector:".lazy",container:Ue||R?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},qe=e=>Object.assign({},Gt,e),Ge=function(e,t){let s;const r="LazyLoad::Initialized",o=new e(t);try{s=new CustomEvent(r,{detail:{instance:o}})}catch{s=document.createEvent("CustomEvent"),s.initCustomEvent(r,!1,!1,{instance:o})}window.dispatchEvent(s)},Wt=(e,t)=>{if(!!t)if(!t.length)Ge(e,t);else for(let s=0,r;r=t[s];s+=1)Ge(e,r)},N="src",be="srcset",ve="sizes",We="poster",ee="llOriginalAttrs",Je="data",me="loading",Xe="loaded",Ye="applied",Jt="entered",we="error",Ze="native",Ke="data-",Qe="ll-status",k=(e,t)=>e.getAttribute(Ke+t),Xt=(e,t,s)=>{var r=Ke+t;if(s===null){e.removeAttribute(r);return}e.setAttribute(r,s)},te=e=>k(e,Qe),G=(e,t)=>Xt(e,Qe,t),ie=e=>G(e,null),_e=e=>te(e)===null,Yt=e=>te(e)===me,Zt=e=>te(e)===we,ye=e=>te(e)===Ze,Kt=[me,Xe,Ye,we],Qt=e=>Kt.indexOf(te(e))>=0,V=(e,t,s,r)=>{if(!!e){if(r!==void 0){e(t,s,r);return}if(s!==void 0){e(t,s);return}e(t)}},Y=(e,t)=>{if(Be){e.classList.add(t);return}e.className+=(e.className?" ":"")+t},L=(e,t)=>{if(Be){e.classList.remove(t);return}e.className=e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},es=e=>{e.llTempImage=document.createElement("IMG")},ts=e=>{delete e.llTempImage},et=e=>e.llTempImage,le=(e,t)=>{if(!t)return;const s=t._observer;!s||s.unobserve(e)},ss=e=>{e.disconnect()},rs=(e,t,s)=>{t.unobserve_entered&&le(e,s)},ke=(e,t)=>{!e||(e.loadingCount+=t)},os=e=>{!e||(e.toLoadCount-=1)},tt=(e,t)=>{!e||(e.toLoadCount=t)},ns=e=>e.loadingCount>0,as=e=>e.toLoadCount>0,st=e=>{let t=[];for(let s=0,r;r=e.children[s];s+=1)r.tagName==="SOURCE"&&t.push(r);return t},Se=(e,t)=>{const s=e.parentNode;if(!s||s.tagName!=="PICTURE")return;st(s).forEach(t)},rt=(e,t)=>{st(e).forEach(t)},ce=[N],ot=[N,We],se=[N,be,ve],nt=[Je],de=e=>!!e[ee],at=e=>e[ee],it=e=>delete e[ee],Z=(e,t)=>{if(de(e))return;const s={};t.forEach(r=>{s[r]=e.getAttribute(r)}),e[ee]=s},is=e=>{de(e)||(e[ee]={backgroundImage:e.style.backgroundImage})},ls=(e,t,s)=>{if(!s){e.removeAttribute(t);return}e.setAttribute(t,s)},W=(e,t)=>{if(!de(e))return;const s=at(e);t.forEach(r=>{ls(e,r,s[r])})},cs=e=>{if(!de(e))return;const t=at(e);e.style.backgroundImage=t.backgroundImage},lt=(e,t,s)=>{Y(e,t.class_applied),G(e,Ye),s&&(t.unobserve_completed&&le(e,t),V(t.callback_applied,e,s))},ct=(e,t,s)=>{Y(e,t.class_loading),G(e,me),s&&(ke(s,1),V(t.callback_loading,e,s))},U=(e,t,s)=>{!s||e.setAttribute(t,s)},dt=(e,t)=>{U(e,ve,k(e,t.data_sizes)),U(e,be,k(e,t.data_srcset)),U(e,N,k(e,t.data_src))},ds=(e,t)=>{Se(e,s=>{Z(s,se),dt(s,t)}),Z(e,se),dt(e,t)},us=(e,t)=>{Z(e,ce),U(e,N,k(e,t.data_src))},ps=(e,t)=>{rt(e,s=>{Z(s,ce),U(s,N,k(s,t.data_src))}),Z(e,ot),U(e,We,k(e,t.data_poster)),U(e,N,k(e,t.data_src)),e.load()},hs=(e,t)=>{Z(e,nt),U(e,Je,k(e,t.data_src))},fs=(e,t,s)=>{const r=k(e,t.data_bg),o=k(e,t.data_bg_hidpi),i=He&&o?o:r;!i||(e.style.backgroundImage=`url("${i}")`,et(e).setAttribute(N,i),ct(e,t,s))},gs=(e,t,s)=>{const r=k(e,t.data_bg_multi),o=k(e,t.data_bg_multi_hidpi),i=He&&o?o:r;!i||(e.style.backgroundImage=i,lt(e,t,s))},bs=(e,t,s)=>{const r=k(e,t.data_bg_set);if(!r)return;const o=r.split("|");let i=o.map(n=>`image-set(${n})`);e.style.backgroundImage=i.join(),e.style.backgroundImage===""&&(i=o.map(n=>`-webkit-image-set(${n})`),e.style.backgroundImage=i.join()),lt(e,t,s)},ut={IMG:ds,IFRAME:us,VIDEO:ps,OBJECT:hs},vs=(e,t)=>{const s=ut[e.tagName];!s||s(e,t)},ms=(e,t,s)=>{const r=ut[e.tagName];!r||(r(e,t),ct(e,t,s))},ws=["IMG","IFRAME","VIDEO","OBJECT"],_s=e=>ws.indexOf(e.tagName)>-1,pt=(e,t)=>{t&&!ns(t)&&!as(t)&&V(e.callback_finish,t)},ht=(e,t,s)=>{e.addEventListener(t,s),e.llEvLisnrs[t]=s},ys=(e,t,s)=>{e.removeEventListener(t,s)},xe=e=>!!e.llEvLisnrs,ks=(e,t,s)=>{xe(e)||(e.llEvLisnrs={});const r=e.tagName==="VIDEO"?"loadeddata":"load";ht(e,r,t),ht(e,"error",s)},Ee=e=>{if(!xe(e))return;const t=e.llEvLisnrs;for(let s in t){const r=t[s];ys(e,s,r)}delete e.llEvLisnrs},ft=(e,t,s)=>{ts(e),ke(s,-1),os(s),L(e,t.class_loading),t.unobserve_completed&&le(e,s)},Ss=(e,t,s,r)=>{const o=ye(t);ft(t,s,r),Y(t,s.class_loaded),G(t,Xe),V(s.callback_loaded,t,r),o||pt(s,r)},xs=(e,t,s,r)=>{const o=ye(t);ft(t,s,r),Y(t,s.class_error),G(t,we),V(s.callback_error,t,r),s.restore_on_error&&W(t,se),o||pt(s,r)},Ce=(e,t,s)=>{const r=et(e)||e;if(xe(r))return;ks(r,n=>{Ss(n,e,t,s),Ee(r)},n=>{xs(n,e,t,s),Ee(r)})},Es=(e,t,s)=>{es(e),Ce(e,t,s),is(e),fs(e,t,s),gs(e,t,s),bs(e,t,s)},Cs=(e,t,s)=>{Ce(e,t,s),ms(e,t,s)},Ae=(e,t,s)=>{_s(e)?Cs(e,t,s):Es(e,t,s)},As=(e,t,s)=>{e.setAttribute("loading","lazy"),Ce(e,t,s),vs(e,t),G(e,Ze)},gt=e=>{e.removeAttribute(N),e.removeAttribute(be),e.removeAttribute(ve)},Is=e=>{Se(e,t=>{gt(t)}),gt(e)},bt=e=>{Se(e,t=>{W(t,se)}),W(e,se)},zs={IMG:bt,IFRAME:e=>{W(e,ce)},VIDEO:e=>{rt(e,t=>{W(t,ce)}),W(e,ot),e.load()},OBJECT:e=>{W(e,nt)}},$s=e=>{const t=zs[e.tagName];if(!t){cs(e);return}t(e)},Ls=(e,t)=>{_e(e)||ye(e)||(L(e,t.class_entered),L(e,t.class_exited),L(e,t.class_applied),L(e,t.class_loading),L(e,t.class_loaded),L(e,t.class_error))},Ms=(e,t)=>{$s(e),Ls(e,t),ie(e),it(e)},Ns=(e,t,s,r)=>{!s.cancel_on_exit||!Yt(e)||e.tagName==="IMG"&&(Ee(e),Is(e),bt(e),L(e,s.class_loading),ke(r,-1),ie(e),V(s.callback_cancel,e,t,r))},Os=(e,t,s,r)=>{const o=Qt(e);G(e,Jt),Y(e,s.class_entered),L(e,s.class_exited),rs(e,s,r),V(s.callback_enter,e,t,r),!o&&Ae(e,s,r)},Ps=(e,t,s,r)=>{_e(e)||(Y(e,s.class_exited),Ns(e,t,s,r),V(s.callback_exit,e,t,r))},Ts=["IMG","IFRAME","VIDEO"],vt=e=>e.use_native&&"loading"in HTMLImageElement.prototype,Ds=(e,t,s)=>{e.forEach(r=>{Ts.indexOf(r.tagName)!==-1&&As(r,t,s)}),tt(s,0)},Fs=e=>e.isIntersecting||e.intersectionRatio>0,Rs=e=>({root:e.container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),Vs=(e,t,s)=>{e.forEach(r=>Fs(r)?Os(r.target,r,t,s):Ps(r.target,r,t,s))},Us=(e,t)=>{t.forEach(s=>{e.observe(s)})},js=(e,t)=>{ss(e),Us(e,t)},Bs=(e,t)=>{!je||vt(e)||(t._observer=new IntersectionObserver(s=>{Vs(s,e,t)},Rs(e)))},mt=e=>Array.prototype.slice.call(e),ue=e=>e.container.querySelectorAll(e.elements_selector),Hs=e=>mt(e).filter(_e),qs=e=>Zt(e),Gs=e=>mt(e).filter(qs),wt=(e,t)=>Hs(e||ue(t)),Ws=(e,t)=>{Gs(ue(e)).forEach(r=>{L(r,e.class_error),ie(r)}),t.update()},Js=(e,t)=>{!R||(t._onlineHandler=()=>{Ws(e,t)},window.addEventListener("online",t._onlineHandler))},Xs=e=>{!R||window.removeEventListener("online",e._onlineHandler)},re=function(e,t){const s=qe(e);this._settings=s,this.loadingCount=0,Bs(s,this),Js(s,this),this.update(t)};re.prototype={update:function(e){const t=this._settings,s=wt(e,t);if(tt(this,s.length),Ue||!je){this.loadAll(s);return}if(vt(t)){Ds(s,t,this);return}js(this._observer,s)},destroy:function(){this._observer&&this._observer.disconnect(),Xs(this),ue(this._settings).forEach(e=>{it(e)}),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(e){const t=this._settings;wt(e,t).forEach(r=>{le(r,this),Ae(r,t,this)})},restoreAll:function(){const e=this._settings;ue(e).forEach(t=>{Ms(t,e)})}},re.load=(e,t)=>{const s=qe(t);Ae(e,s)},re.resetStatus=e=>{ie(e)},R&&Wt(re,window.lazyLoadOptions);function Ys(){let e=X;const t=f=>{e=f};let s=!1,r=!1,o=!1,i=[],n=0;const a=y("readonly"),l=y("preview-active"),d=_("div","content"),c=_("div","preview-mask");c.onclick=function(E){r||E.target===c&&b(!1)},q(d,c);const h=_("div","preview");h.classList.add(y("tele-fancy-scrollbar")),h.onclick=function(E){var C;if(r)return;const w=(C=E.target.dataset)==null?void 0:C.pageIndex;w&&(E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation(),e(Number(w)),b(!1))},q(d,h);let g;function S(f){r!==f&&(r=f,d.classList.toggle(a,r))}function b(f){o!==f&&(o=f,d.classList.toggle(l,o),o&&!g&&(g=new re({container:h,elements_selector:`.${y("preview-page>img")}`})))}function M(f){if(i!==f){i=f;const E=y("preview-page"),w=y("preview-page-name");i.forEach((C,j)=>{const J=String(j),z=ae("a");z.className=E+" "+y(`preview-page-${j}`),z.href="#",z.dataset.pageIndex=J;const T=ae("span");T.className=w,T.textContent=String(j+1),T.dataset.pageIndex=J;const B=ae("img");B.width=C.width,B.height=C.height,B.alt=`page-${j}`,B.dataset.src=C.thumbnail,B.dataset.pageIndex=J,q(z,B),q(z,T),q(h,z)}),s||g==null||g.update()}}function $(f,E=!1){if(E||n!==f){n=f;const w=h.querySelector(`.${y(`preview-page-${n}`)}`);w&&h.scrollTo({top:w.offsetTop-16})}}function x(){s=!0,g==null||g.destroy()}function m(){return o}return{$content:d,$preview:h,set_readonly:S,set_active:b,get_active:m,set_pages:M,on_new_page_index:t,set_page_index:$,destroy:x}}const Ie=class{constructor(t){u(this,"sideEffect",new Le);u(this,"events",new Et);u(this,"$slide",_("div","slide"));u(this,"$overlay",_("div","overlay"));u(this,"sidebar",Ys());u(this,"footer",qt());u(this,"$content");u(this,"$footer");u(this,"slide");u(this,"_getWhiteSnapshot",null);u(this,"_slideTitle","");u(this,"_readyPromise");u(this,"_infoPromise");u(this,"_ready",!1);u(this,"_slideCount",0);u(this,"_destroyed",!1);u(this,"_isFrozen",!1);u(this,"_cachedIsFrozen",!1);u(this,"onPlay",()=>{this.slide.nextStep()});u(this,"onNewPageIndex",t=>{this._ready&&t>=0&&t<this._slideCount?this.slide.renderSlide(t+1):this.setPage(this.slide.slideState.currentSlideIndex)});u(this,"onTogglePreview",()=>{this.sidebar.set_active(!this.sidebar.get_active())});u(this,"toPdf",async t=>{const r=document.createElement("canvas"),o=r.getContext("2d"),{slideCount:i,width:n,height:a}=this.slide;let l=Math.floor(n),d=Math.floor(a);l>1920&&(l=1920,d=Math.floor(a*l/n)),d>1920&&(d=1920,l=Math.floor(n*d/a)),r.width=l,r.height=d;const c=document.createElement("canvas");c.width=n,c.height=a;const h=c.getContext("2d");if(!h||!this._getWhiteSnapshot||!o)return null;const g=l>d?"l":"p",S=new H.jsPDF({format:[l,d],orientation:g,compress:!0});for(let m=1;m<=i;m++){const f=await this.slide.snapshotWithTimingEnd(m);if(f){const w=document.createElement("img");w.src=f,await new Promise(C=>w.onload=C),o.drawImage(w,0,0,l,d)}h.clearRect(0,0,n,a),this._getWhiteSnapshot(m,c,h);try{const w=c.toDataURL("image/png"),C=document.createElement("img");C.src=w,await new Promise(j=>C.onload=j),o.drawImage(C,0,0,l,d)}catch{}const E=r.toDataURL("image/jpeg",.6);m>1&&S.addPage(),S.addImage(E,"JPEG",0,0,l,d,"","FAST"),o.clearRect(0,0,l,d),t(Math.ceil(m/i*100))}const b=S.output("arraybuffer"),M=new Blob([b]),$=URL.createObjectURL(M),x=document.createElement("a");x.setAttribute("href",$),x.setAttribute("download",`${this._slideTitle||"snapshot"}.pdf`),x.style.display="none",document.body.appendChild(x),x.click(),document.body.removeChild(x),window.postMessage({type:"@app-slide/_download_pdf_",buf:b})});this.$content=this.sidebar.$content,this.$footer=this.footer.$footer,q(this.$content,this.$slide),q(this.$content,this.$overlay),this.sidebar.on_new_page_index(this.onNewPageIndex),this.footer.on_new_page_index(this.onNewPageIndex),this.footer.on_toggle_preview(this.onTogglePreview),this.footer.on_play(this.onPlay),this.footer.on_save_to_pdf(this.toPdf),this.sideEffect.push(this.sidebar.destroy),this.sideEffect.push(()=>this.slide.destroy()),this.sideEffect.push(()=>{this.$content.parentElement&&this.$content.remove(),this.$footer.parentElement&&this.$footer.remove(),this.$slide.parentElement&&this.$slide.remove()}),this.sideEffect.push(Tt(a=>{this._destroyed||(a?this._cachedIsFrozen||this.unfreeze():(this._cachedIsFrozen=this._isFrozen,this.freeze()))}));const[s,r]=Fe();this._infoPromise=s,Ie.fetchSlideInfo(t).then(({preview:a,slide:l})=>{if(!this._destroyed){if(this._slideCount=l.slideCount,a){const{taskId:d,url:c}=t,{slideCount:h}=l,{width:g,height:S}=a,b=Ve(d,c),M=Array.from({length:h},($,x)=>({width:g,height:S,thumbnail:`${b}/preview/${x+1}.png`}));this.sidebar.set_pages(M),this.footer.set_sidebar(!0)}this.footer.set_page_count(l.slideCount),r(l)}}).catch(a=>{console.log("[Slide] fetch slide info error"),console.error(a),this.events.emit("prepareError",a)});const[i,n]=Fe();this._readyPromise=i,this.slide=new I.Slide({anchor:this.$slide,mode:"local",interactive:!0,enableGlobalClick:!0,useLocalCache:!0,...t}),this.slide.setResource(t.taskId,t.url||he),this.slide.on("slideChange",a=>{this._destroyed||this.setPage(a)}),this.slide.on("renderEnd",()=>{this._ready?this.$overlay.style.opacity="":setTimeout(()=>{this._ready=!0,n()},1e3)}),this.slide.on("renderError",a=>{this._destroyed||a.error&&(console.error(a.error),this.$overlay.textContent=`Error on slide.index=${a.index}: ${a.error.message}`,this.$overlay.style.opacity="1",this.events.emit("renderError",a))}),this.ready(()=>{this._isFrozen&&this.freeze()})}prepare(t){return this._infoPromise.then(t)}attachWhiteSnapshot(t){this._getWhiteSnapshot=t}setSlideTitle(t){this._slideTitle=t}ready(t){return this._readyPromise.then(t)}destroy(){this._destroyed=!0,this.sideEffect.flushAll()}setReadonly(t){this.slide.setInteractive(!t),this.sidebar.set_readonly(t),this.footer.set_readonly(t)}setPage(t){this.sidebar.set_page_index(t-1,!0),this.footer.set_page_index(t-1,!0)}freeze(){this._destroyed||(this._isFrozen=!0,this._ready&&(this.slide.frozen(),this.events.emit("freeze")))}unfreeze(){this._destroyed||(this._isFrozen=!1,this._ready&&(this.slide.release(),this.events.emit("unfreeze")))}};let O=Ie;u(O,"styles",Dt),u(O,"fetchSlideInfo",Pt);function Zs(e){return e.displayer.logger}const P=class{constructor(t){u(this,"info",t=>{P.roomLogger&&this.context?P.roomLogger.info(t+` (${this.context.appId})`):this.context?console.debug(t+` (${this.context.appId})`):console.debug(t)});this.context=t,t&&(P.active.add(t.appId),P.roomLogger=Zs(t))}destroy(){this.context&&P.active.delete(this.context.appId),P.active.size===0&&(P.roomLogger=null)}};let oe=P;u(oe,"active",new Set),u(oe,"roomLogger",null);function Ks({context:e,storage:t,viewer:s,sideEffect:r,logger:o}){const i=o.info.bind(o);let n=null;s.prepare(({width:c,height:h,slideCount:g})=>{e.destroyed||(c&&e.box.setStageRatio(h/c),n=e.createWhiteBoardView({size:g}),n.setBaseRect({width:c,height:h}),s.setSlideTitle(e.box.title),s.attachWhiteSnapshot((S,b,M)=>{if(!n)return null;const $=n.pageState.pages[S-1];b.width=n.view.size.width,b.height=n.view.size.height,n.view.screenshotToCanvas(M,$,n.view.size.width,n.view.size.height,{centerX:0,centerY:0,scale:n.view.camera.scale})}),d())});const{slide:a}=s;function l(c=t.state.state){return JSON.stringify(c)}function d(){if(t.state.state)i("[Slide] restore "+l()),a.setSlideState(t.state.state);else if(e.isAddApp)i("[Slide] kick start"),a.renderSlide(1);else{i("[Slide] wait for restore");const c=r.add(()=>{const g=setInterval(()=>{t.state.state||(i("[Slide] timeout"),a.renderSlide(1))},15e3);return()=>clearInterval(g)}),h=r.push(t.on("stateChanged",()=>{t.state.state&&(i("[Slide] restore "+l()),a.setSlideState(t.state.state),r.flush(h),r.flush(c))}))}}a.on("stateChange",()=>{e.isWritable&&t.setState({state:a.slideState})}),a.on("syncDispatch",c=>{e.isWritable&&(i("[Slide] dispatch "+l(De(c,"uuid"))),e.dispatchMagixEvent("syncDispatch",c))}),r.push(e.addMagixEventListener("syncDispatch",({payload:c})=>{i("[Slide] receive "+l(De(c,"uuid"))),a.emit("syncReceive",c)},{fireSelfEventAfterCommit:!0})),a.on("slideChange",c=>{e.isWritable&&n&&(i("[Slide] page to "+c),n.jumpPage(c-1))}),s.setReadonly(!e.isWritable),r.push(e.emitter.on("writableChange",c=>{s.setReadonly(!c)})),r.addEventListener(window,"keydown",c=>{e.box.focus&&((c.key==="ArrowUp"||c.key==="ArrowLeft")&&s.slide.prevStep(),(c.key==="ArrowRight"||c.key==="ArrowDown")&&s.slide.nextStep())})}function Qs(e){const{container:t,...s}=e,r=_("div","preview-wrapper"),o=new O(s);return r.appendChild(document.createElement("style")).textContent=O.styles,r.appendChild(o.$content),r.appendChild(o.$footer),t.appendChild(r),o.prepare(()=>o.slide.renderSlide(1)),o}const er=I.Slide.usePlugin.bind(I.Slide),tr="0.3.0-canary.14",sr={kind:"Slide",setup(e){var a,l;console.log("[Slide] setup @ 0.3.0-canary.14 ("+e.appId+")");const t=new oe(e);if(t.info("[Slide] setup @ 0.3.0-canary.14"),!e.attributes.taskId)throw new Error("[Slide] no taskId");const s=e.createStorage("slide",e.attributes),r=e.getAppOptions()||{},o=r.renderOptions||{},i=new Le,n=new O({interactive:!0,mode:"interactive",enableGlobalClick:!0,timestamp:Nt(e),logger:r.logger||t,renderOptions:{minFPS:o.minFPS||25,maxFPS:o.maxFPS||30,autoFPS:(a=o.autoFPS)!=null?a:!0,autoResolution:(l=o.autoResolution)!=null?l:!0,resolution:o.resolution,maxResolutionLevel:o.maxResolutionLevel,transactionBgColor:o.transactionBgColor||Re(e.box.$content)},rtcAudio:r.rtcAudio,useLocalCache:r.useLocalCache,resourceTimeout:r.resourceTimeout,loaderDelegate:r.loaderDelegate,navigatorDelegate:r.navigatorDelegate,fixedFrameSize:r.fixedFrameSize,taskId:s.state.taskId,url:s.state.url});return Object.assign(n,{context:e,logger:t}),i.push(fe.set(e.appId,n,e.box)),i.push(n.events.on("freeze",()=>t.info("[Slide] freeze"))),i.push(n.events.on("unfreeze",()=>t.info("[Slide] unfreeze"))),i.push(n.events.on("prepareError",d=>t.info("[Slide] fetch slide info failed: "+d.message))),i.push(n.events.on("renderError",({error:d,index:c})=>t.info(`[Slide] render failed [${c}]: ${d.message}`))),e.box.mountStyles(O.styles),e.box.mountStage(n.$slide),e.box.mountFooter(n.$footer),e.box.mountContent(n.$content),i.push(()=>n.destroy()),Ks({context:e,storage:s,viewer:n,sideEffect:i,logger:t}),e.emitter.on("destroy",()=>{t.info("[Slide] destroy"),t.destroy(),i.flushAll()}),n}};return Object.defineProperty(v,"Slide",{enumerable:!0,get:()=>I.Slide}),v.DefaultUrl=he,v.SlideViewer=O,v.addHooks=xt,v.default=sr,v.previewSlide=Qs,v.refrigerator=fe,v.usePlugin=er,v.version=tr,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),v}({},slide,jspdf);
|
|
3
3
|
//# sourceMappingURL=main.iife.js.map
|