@social.io/catalog 1.3.0 → 2.1.0
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/.smartconfig.json +51 -0
- package/dist_bundle/bundle.js +5455 -3248
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/index.d.ts +21 -3
- package/dist_ts_web/elements/index.js +28 -7
- package/dist_ts_web/elements/sio-ai-card.d.ts +39 -0
- package/dist_ts_web/elements/sio-ai-card.js +229 -0
- package/dist_ts_web/elements/sio-avatar.d.ts +46 -0
- package/dist_ts_web/elements/sio-avatar.js +379 -0
- package/dist_ts_web/elements/sio-bucket-header.d.ts +36 -0
- package/dist_ts_web/elements/sio-bucket-header.js +197 -0
- package/dist_ts_web/elements/sio-button.d.ts +7 -3
- package/dist_ts_web/elements/sio-button.js +253 -152
- package/dist_ts_web/elements/sio-channel-rail.d.ts +38 -0
- package/dist_ts_web/elements/sio-channel-rail.js +288 -0
- package/dist_ts_web/elements/sio-chip.d.ts +25 -0
- package/dist_ts_web/elements/sio-chip.js +188 -0
- package/dist_ts_web/elements/sio-cmdk.d.ts +59 -0
- package/dist_ts_web/elements/sio-cmdk.js +471 -0
- package/dist_ts_web/elements/sio-combox.d.ts +55 -1
- package/dist_ts_web/elements/sio-combox.js +458 -261
- package/dist_ts_web/elements/sio-composer.d.ts +48 -0
- package/dist_ts_web/elements/sio-composer.js +357 -0
- package/dist_ts_web/elements/sio-conversation-selector.d.ts +41 -1
- package/dist_ts_web/elements/sio-conversation-selector.js +426 -238
- package/dist_ts_web/elements/sio-conversation-view.d.ts +34 -6
- package/dist_ts_web/elements/sio-conversation-view.js +738 -564
- package/dist_ts_web/elements/sio-dropdown-menu.d.ts +6 -6
- package/dist_ts_web/elements/sio-dropdown-menu.js +223 -169
- package/dist_ts_web/elements/sio-fab.d.ts +23 -5
- package/dist_ts_web/elements/sio-fab.js +259 -235
- package/dist_ts_web/elements/sio-glass-toolbar.d.ts +22 -0
- package/dist_ts_web/elements/sio-glass-toolbar.js +178 -0
- package/dist_ts_web/elements/sio-icon.d.ts +1 -0
- package/dist_ts_web/elements/sio-icon.js +254 -94
- package/dist_ts_web/elements/sio-image-lightbox.d.ts +3 -4
- package/dist_ts_web/elements/sio-image-lightbox.js +282 -191
- package/dist_ts_web/elements/sio-inset-list.d.ts +28 -0
- package/dist_ts_web/elements/sio-inset-list.js +191 -0
- package/dist_ts_web/elements/sio-kbd.d.ts +16 -0
- package/dist_ts_web/elements/sio-kbd.js +117 -0
- package/dist_ts_web/elements/sio-list-row.d.ts +55 -0
- package/dist_ts_web/elements/sio-list-row.js +462 -0
- package/dist_ts_web/elements/sio-logo-render.d.ts +42 -0
- package/dist_ts_web/elements/sio-logo-render.js +306 -0
- package/dist_ts_web/elements/sio-logo.d.ts +64 -0
- package/dist_ts_web/elements/sio-logo.js +393 -0
- package/dist_ts_web/elements/sio-message-input.d.ts +25 -4
- package/dist_ts_web/elements/sio-message-input.js +231 -226
- package/dist_ts_web/elements/sio-paper-thumb.d.ts +24 -0
- package/dist_ts_web/elements/sio-paper-thumb.js +293 -0
- package/dist_ts_web/elements/sio-pdf-viewer.d.ts +2 -0
- package/dist_ts_web/elements/sio-pdf-viewer.js +344 -244
- package/dist_ts_web/elements/sio-segmented.d.ts +32 -0
- package/dist_ts_web/elements/sio-segmented.js +217 -0
- package/dist_ts_web/elements/sio-step-timeline.d.ts +28 -0
- package/dist_ts_web/elements/sio-step-timeline.js +222 -0
- package/dist_ts_web/elements/sio-tab-bar.d.ts +36 -0
- package/dist_ts_web/elements/sio-tab-bar.js +232 -0
- package/dist_ts_web/elements/sio-unread-badge.d.ts +25 -0
- package/dist_ts_web/elements/sio-unread-badge.js +203 -0
- package/dist_ts_web/elements/sio-waveform.d.ts +34 -0
- package/dist_ts_web/elements/sio-waveform.js +304 -0
- package/dist_ts_web/elements/tokens.d.ts +70 -0
- package/dist_ts_web/elements/tokens.js +277 -0
- package/dist_ts_web/pages/firstpage.d.ts +5 -0
- package/dist_ts_web/pages/firstpage.js +21 -2
- package/dist_ts_web/pages/mainpage.d.ts +6 -0
- package/dist_ts_web/pages/mainpage.js +111 -39
- package/{license → license.md} +3 -1
- package/package.json +23 -29
- package/readme.hints.md +82 -0
- package/readme.md +113 -146
- package/ts_web/00_commitinfo_data.ts +2 -2
- package/ts_web/elements/index.ts +31 -7
- package/ts_web/elements/sio-ai-card.ts +175 -0
- package/ts_web/elements/sio-avatar.ts +295 -0
- package/ts_web/elements/sio-bucket-header.ts +157 -0
- package/ts_web/elements/sio-button.ts +149 -127
- package/ts_web/elements/sio-channel-rail.ts +256 -0
- package/ts_web/elements/sio-chip.ts +134 -0
- package/ts_web/elements/sio-cmdk.ts +461 -0
- package/ts_web/elements/sio-combox.ts +327 -204
- package/ts_web/elements/sio-composer.ts +306 -0
- package/ts_web/elements/sio-conversation-selector.ts +350 -228
- package/ts_web/elements/sio-conversation-view.ts +573 -457
- package/ts_web/elements/sio-dropdown-menu.ts +112 -130
- package/ts_web/elements/sio-fab.ts +192 -227
- package/ts_web/elements/sio-glass-toolbar.ts +140 -0
- package/ts_web/elements/sio-icon.ts +147 -25
- package/ts_web/elements/sio-image-lightbox.ts +62 -64
- package/ts_web/elements/sio-inset-list.ts +140 -0
- package/ts_web/elements/sio-kbd.ts +80 -0
- package/ts_web/elements/sio-list-row.ts +393 -0
- package/ts_web/elements/sio-logo-render.ts +367 -0
- package/ts_web/elements/sio-logo.ts +311 -0
- package/ts_web/elements/sio-message-input.ts +142 -221
- package/ts_web/elements/sio-paper-thumb.ts +244 -0
- package/ts_web/elements/sio-pdf-viewer.ts +58 -60
- package/ts_web/elements/sio-segmented.ts +183 -0
- package/ts_web/elements/sio-step-timeline.ts +179 -0
- package/ts_web/elements/sio-tab-bar.ts +195 -0
- package/ts_web/elements/sio-unread-badge.ts +147 -0
- package/ts_web/elements/sio-waveform.ts +239 -0
- package/ts_web/elements/tokens.ts +297 -0
- package/ts_web/pages/firstpage.ts +20 -1
- package/ts_web/pages/mainpage.ts +111 -39
- package/dist_bundle/bundle.js.map +0 -7
- package/dist_ts_web/elements/00colors.d.ts +0 -108
- package/dist_ts_web/elements/00colors.js +0 -137
- package/dist_ts_web/elements/00fonts.d.ts +0 -60
- package/dist_ts_web/elements/00fonts.js +0 -129
- package/dist_ts_web/elements/00tokens.d.ts +0 -123
- package/dist_ts_web/elements/00tokens.js +0 -176
- package/dist_ts_web/elements/sio-conversation-list.d.ts +0 -20
- package/dist_ts_web/elements/sio-conversation-list.js +0 -495
- package/dist_ts_web/elements/sio-recorder.d.ts +0 -60
- package/dist_ts_web/elements/sio-recorder.js +0 -173
- package/dist_ts_web/elements/sio-subwidget-conversations.d.ts +0 -16
- package/dist_ts_web/elements/sio-subwidget-conversations.js +0 -350
- package/dist_ts_web/elements/sio-subwidget-onboardme.d.ts +0 -7
- package/dist_ts_web/elements/sio-subwidget-onboardme.js +0 -243
- package/dist_watch/bundle.js +0 -81694
- package/dist_watch/bundle.js.map +0 -7
- package/dist_watch/index.html +0 -25
- package/npmextra.json +0 -19
- package/ts_web/elements/00colors.ts +0 -164
- package/ts_web/elements/00fonts.ts +0 -145
- package/ts_web/elements/00tokens.ts +0 -197
- package/ts_web/elements/sio-recorder.ts +0 -213
|
@@ -1,47 +1,140 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, property, html, customElement, css, state, } from '@design.estate/dees-element';
|
|
36
|
+
import { sioElementStyles } from './tokens.js';
|
|
37
|
+
import './sio-icon.js';
|
|
38
|
+
import './sio-button.js';
|
|
39
|
+
let SioPdfViewer = (() => {
|
|
40
|
+
let _classDecorators = [customElement('sio-pdf-viewer')];
|
|
41
|
+
let _classDescriptor;
|
|
42
|
+
let _classExtraInitializers = [];
|
|
43
|
+
let _classThis;
|
|
44
|
+
let _classSuper = DeesElement;
|
|
45
|
+
let _url_decorators;
|
|
46
|
+
let _url_initializers = [];
|
|
47
|
+
let _url_extraInitializers = [];
|
|
48
|
+
let _fileName_decorators;
|
|
49
|
+
let _fileName_initializers = [];
|
|
50
|
+
let _fileName_extraInitializers = [];
|
|
51
|
+
let _isLoading_decorators;
|
|
52
|
+
let _isLoading_initializers = [];
|
|
53
|
+
let _isLoading_extraInitializers = [];
|
|
54
|
+
let _hasError_decorators;
|
|
55
|
+
let _hasError_initializers = [];
|
|
56
|
+
let _hasError_extraInitializers = [];
|
|
57
|
+
let _pdfDocument_decorators;
|
|
58
|
+
let _pdfDocument_initializers = [];
|
|
59
|
+
let _pdfDocument_extraInitializers = [];
|
|
60
|
+
let _currentPage_decorators;
|
|
61
|
+
let _currentPage_initializers = [];
|
|
62
|
+
let _currentPage_extraInitializers = [];
|
|
63
|
+
let _totalPages_decorators;
|
|
64
|
+
let _totalPages_initializers = [];
|
|
65
|
+
let _totalPages_extraInitializers = [];
|
|
66
|
+
let _scale_decorators;
|
|
67
|
+
let _scale_initializers = [];
|
|
68
|
+
let _scale_extraInitializers = [];
|
|
69
|
+
var SioPdfViewer = class extends _classSuper {
|
|
70
|
+
static { _classThis = this; }
|
|
71
|
+
static {
|
|
72
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
73
|
+
_url_decorators = [property({ type: String })];
|
|
74
|
+
_fileName_decorators = [property({ type: String })];
|
|
75
|
+
_isLoading_decorators = [state()];
|
|
76
|
+
_hasError_decorators = [state()];
|
|
77
|
+
_pdfDocument_decorators = [state()];
|
|
78
|
+
_currentPage_decorators = [state()];
|
|
79
|
+
_totalPages_decorators = [state()];
|
|
80
|
+
_scale_decorators = [state()];
|
|
81
|
+
__esDecorate(this, null, _url_decorators, { kind: "accessor", name: "url", static: false, private: false, access: { has: obj => "url" in obj, get: obj => obj.url, set: (obj, value) => { obj.url = value; } }, metadata: _metadata }, _url_initializers, _url_extraInitializers);
|
|
82
|
+
__esDecorate(this, null, _fileName_decorators, { kind: "accessor", name: "fileName", static: false, private: false, access: { has: obj => "fileName" in obj, get: obj => obj.fileName, set: (obj, value) => { obj.fileName = value; } }, metadata: _metadata }, _fileName_initializers, _fileName_extraInitializers);
|
|
83
|
+
__esDecorate(this, null, _isLoading_decorators, { kind: "accessor", name: "isLoading", static: false, private: false, access: { has: obj => "isLoading" in obj, get: obj => obj.isLoading, set: (obj, value) => { obj.isLoading = value; } }, metadata: _metadata }, _isLoading_initializers, _isLoading_extraInitializers);
|
|
84
|
+
__esDecorate(this, null, _hasError_decorators, { kind: "accessor", name: "hasError", static: false, private: false, access: { has: obj => "hasError" in obj, get: obj => obj.hasError, set: (obj, value) => { obj.hasError = value; } }, metadata: _metadata }, _hasError_initializers, _hasError_extraInitializers);
|
|
85
|
+
__esDecorate(this, null, _pdfDocument_decorators, { kind: "accessor", name: "pdfDocument", static: false, private: false, access: { has: obj => "pdfDocument" in obj, get: obj => obj.pdfDocument, set: (obj, value) => { obj.pdfDocument = value; } }, metadata: _metadata }, _pdfDocument_initializers, _pdfDocument_extraInitializers);
|
|
86
|
+
__esDecorate(this, null, _currentPage_decorators, { kind: "accessor", name: "currentPage", static: false, private: false, access: { has: obj => "currentPage" in obj, get: obj => obj.currentPage, set: (obj, value) => { obj.currentPage = value; } }, metadata: _metadata }, _currentPage_initializers, _currentPage_extraInitializers);
|
|
87
|
+
__esDecorate(this, null, _totalPages_decorators, { kind: "accessor", name: "totalPages", static: false, private: false, access: { has: obj => "totalPages" in obj, get: obj => obj.totalPages, set: (obj, value) => { obj.totalPages = value; } }, metadata: _metadata }, _totalPages_initializers, _totalPages_extraInitializers);
|
|
88
|
+
__esDecorate(this, null, _scale_decorators, { kind: "accessor", name: "scale", static: false, private: false, access: { has: obj => "scale" in obj, get: obj => obj.scale, set: (obj, value) => { obj.scale = value; } }, metadata: _metadata }, _scale_initializers, _scale_extraInitializers);
|
|
89
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
90
|
+
SioPdfViewer = _classThis = _classDescriptor.value;
|
|
91
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
92
|
+
}
|
|
93
|
+
static demo = () => html `
|
|
9
94
|
<sio-pdf-viewer
|
|
10
95
|
.url=${'data:application/pdf;base64,JVBERi0xLjMKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovT3V0bGluZXMgMiAwIFIKL1BhZ2VzIDMgMCBSCj4+CmVuZG9iagoyIDAgb2JqCjw8Ci9UeXBlIC9PdXRsaW5lcwovQ291bnQgMAo+PgplbmRvYmoKMyAwIG9iago8PAovVHlwZSAvUGFnZXMKL0NvdW50IDEKL0tpZHMgWzQgMCBSXQo+PgplbmRvYmoKNCAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDMgMCBSCi9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9Db250ZW50cyA1IDAgUgovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA2IDAgUgo+Pgo+Pgo+PgplbmRvYmoKNSAwIG9iago8PAovTGVuZ3RoIDQ0Cj4+CnN0cmVhbQpCVApxCjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8gV29ybGQpIFRqCkVUClEKZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL1RpbWVzLVJvbWFuCj4+CmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA3NCAwMDAwMCBuIAowMDAwMDAwMTIwIDAwMDAwIG4gCjAwMDAwMDAxNzkgMDAwMDAgbiAKMDAwMDAwMDM2NCAwMDAwMCBuIAowMDAwMDAwNDY2IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgNwovUm9vdCAxIDAgUgo+PgpzdGFydHhyZWYKNTY1CiUlRU9G'}
|
|
11
96
|
.fileName=${'demo.pdf'}
|
|
12
97
|
style="width: 600px; height: 800px;"
|
|
13
98
|
></sio-pdf-viewer>
|
|
14
99
|
`;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
100
|
+
#url_accessor_storage = __runInitializers(this, _url_initializers, '');
|
|
101
|
+
get url() { return this.#url_accessor_storage; }
|
|
102
|
+
set url(value) { this.#url_accessor_storage = value; }
|
|
103
|
+
#fileName_accessor_storage = (__runInitializers(this, _url_extraInitializers), __runInitializers(this, _fileName_initializers, 'document.pdf'));
|
|
104
|
+
get fileName() { return this.#fileName_accessor_storage; }
|
|
105
|
+
set fileName(value) { this.#fileName_accessor_storage = value; }
|
|
106
|
+
#isLoading_accessor_storage = (__runInitializers(this, _fileName_extraInitializers), __runInitializers(this, _isLoading_initializers, true));
|
|
107
|
+
get isLoading() { return this.#isLoading_accessor_storage; }
|
|
108
|
+
set isLoading(value) { this.#isLoading_accessor_storage = value; }
|
|
109
|
+
#hasError_accessor_storage = (__runInitializers(this, _isLoading_extraInitializers), __runInitializers(this, _hasError_initializers, false));
|
|
110
|
+
get hasError() { return this.#hasError_accessor_storage; }
|
|
111
|
+
set hasError(value) { this.#hasError_accessor_storage = value; }
|
|
112
|
+
#pdfDocument_accessor_storage = (__runInitializers(this, _hasError_extraInitializers), __runInitializers(this, _pdfDocument_initializers, null));
|
|
113
|
+
get pdfDocument() { return this.#pdfDocument_accessor_storage; }
|
|
114
|
+
set pdfDocument(value) { this.#pdfDocument_accessor_storage = value; }
|
|
115
|
+
#currentPage_accessor_storage = (__runInitializers(this, _pdfDocument_extraInitializers), __runInitializers(this, _currentPage_initializers, 1));
|
|
116
|
+
get currentPage() { return this.#currentPage_accessor_storage; }
|
|
117
|
+
set currentPage(value) { this.#currentPage_accessor_storage = value; }
|
|
118
|
+
#totalPages_accessor_storage = (__runInitializers(this, _currentPage_extraInitializers), __runInitializers(this, _totalPages_initializers, 0));
|
|
119
|
+
get totalPages() { return this.#totalPages_accessor_storage; }
|
|
120
|
+
set totalPages(value) { this.#totalPages_accessor_storage = value; }
|
|
121
|
+
#scale_accessor_storage = (__runInitializers(this, _totalPages_extraInitializers), __runInitializers(this, _scale_initializers, 1));
|
|
122
|
+
get scale() { return this.#scale_accessor_storage; }
|
|
123
|
+
set scale(value) { this.#scale_accessor_storage = value; }
|
|
124
|
+
static pdfJsLoaded = false;
|
|
125
|
+
static pdfJsLoading = null;
|
|
126
|
+
renderTask = (__runInitializers(this, _scale_extraInitializers), null);
|
|
127
|
+
resizeObserver = null;
|
|
128
|
+
static styles = [
|
|
129
|
+
...sioElementStyles,
|
|
130
|
+
css `
|
|
38
131
|
:host {
|
|
39
132
|
display: block;
|
|
40
133
|
width: 100%;
|
|
41
134
|
height: 100%;
|
|
42
135
|
position: relative;
|
|
43
|
-
background:
|
|
44
|
-
font-family:
|
|
136
|
+
background: var(--sio-surface);
|
|
137
|
+
font-family: var(--sio-font-sf);
|
|
45
138
|
}
|
|
46
139
|
|
|
47
140
|
.container {
|
|
@@ -59,46 +152,46 @@ export class SioPdfViewer extends DeesElement {
|
|
|
59
152
|
display: flex;
|
|
60
153
|
flex-direction: column;
|
|
61
154
|
align-items: center;
|
|
62
|
-
background:
|
|
155
|
+
background: var(--sio-bg);
|
|
63
156
|
}
|
|
64
|
-
|
|
157
|
+
|
|
65
158
|
.pdf-canvas-wrapper {
|
|
66
159
|
position: relative;
|
|
67
|
-
margin:
|
|
68
|
-
box-shadow:
|
|
69
|
-
background:
|
|
160
|
+
margin: 16px auto;
|
|
161
|
+
box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.1), 0 2px 8px -2px rgba(0, 0, 0, 0.04);
|
|
162
|
+
background: var(--sio-surface);
|
|
70
163
|
}
|
|
71
|
-
|
|
164
|
+
|
|
72
165
|
canvas {
|
|
73
166
|
display: block;
|
|
74
167
|
max-width: 100%;
|
|
75
168
|
height: auto;
|
|
76
169
|
}
|
|
77
|
-
|
|
170
|
+
|
|
78
171
|
.pdf-controls {
|
|
79
172
|
position: sticky;
|
|
80
173
|
top: 0;
|
|
81
174
|
z-index: 10;
|
|
82
175
|
width: 100%;
|
|
83
|
-
padding:
|
|
84
|
-
background:
|
|
85
|
-
border-bottom:
|
|
176
|
+
padding: 12px;
|
|
177
|
+
background: var(--sio-surface);
|
|
178
|
+
border-bottom: var(--sio-hairline) solid var(--sio-separator);
|
|
86
179
|
display: flex;
|
|
87
180
|
align-items: center;
|
|
88
181
|
justify-content: center;
|
|
89
|
-
gap:
|
|
90
|
-
box-shadow: ${unsafeCSS(shadows.sm)};
|
|
182
|
+
gap: 12px;
|
|
91
183
|
}
|
|
92
|
-
|
|
184
|
+
|
|
93
185
|
.pdf-controls-group {
|
|
94
186
|
display: flex;
|
|
95
187
|
align-items: center;
|
|
96
|
-
gap:
|
|
188
|
+
gap: 8px;
|
|
97
189
|
}
|
|
98
|
-
|
|
190
|
+
|
|
99
191
|
.page-info {
|
|
100
|
-
font-size:
|
|
101
|
-
color:
|
|
192
|
+
font-size: 13px;
|
|
193
|
+
color: var(--sio-label-3);
|
|
194
|
+
font-variant-numeric: tabular-nums;
|
|
102
195
|
min-width: 100px;
|
|
103
196
|
text-align: center;
|
|
104
197
|
}
|
|
@@ -109,12 +202,12 @@ export class SioPdfViewer extends DeesElement {
|
|
|
109
202
|
left: 50%;
|
|
110
203
|
transform: translate(-50%, -50%);
|
|
111
204
|
text-align: center;
|
|
112
|
-
color:
|
|
205
|
+
color: var(--sio-label-3);
|
|
113
206
|
}
|
|
114
207
|
|
|
115
208
|
.spinner {
|
|
116
209
|
animation: spin 1s linear infinite;
|
|
117
|
-
margin-bottom:
|
|
210
|
+
margin-bottom: 8px;
|
|
118
211
|
}
|
|
119
212
|
|
|
120
213
|
@keyframes spin {
|
|
@@ -132,35 +225,36 @@ export class SioPdfViewer extends DeesElement {
|
|
|
132
225
|
left: 50%;
|
|
133
226
|
transform: translate(-50%, -50%);
|
|
134
227
|
text-align: center;
|
|
135
|
-
padding:
|
|
136
|
-
background:
|
|
137
|
-
border:
|
|
138
|
-
border-radius:
|
|
139
|
-
box-shadow:
|
|
228
|
+
padding: 24px;
|
|
229
|
+
background: var(--sio-surface);
|
|
230
|
+
border: var(--sio-hairline) solid var(--sio-separator);
|
|
231
|
+
border-radius: var(--sio-radius-lg);
|
|
232
|
+
box-shadow: 0 4px 12px -4px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.04);
|
|
140
233
|
max-width: 400px;
|
|
141
234
|
}
|
|
142
235
|
|
|
143
236
|
.error-icon {
|
|
144
|
-
color:
|
|
145
|
-
margin-bottom:
|
|
237
|
+
color: var(--sio-red);
|
|
238
|
+
margin-bottom: 12px;
|
|
146
239
|
}
|
|
147
240
|
|
|
148
241
|
.error-title {
|
|
149
|
-
font-size:
|
|
242
|
+
font-size: 17px;
|
|
150
243
|
font-weight: 600;
|
|
151
|
-
|
|
152
|
-
|
|
244
|
+
letter-spacing: -0.43px;
|
|
245
|
+
color: var(--sio-label);
|
|
246
|
+
margin-bottom: 8px;
|
|
153
247
|
}
|
|
154
248
|
|
|
155
249
|
.error-message {
|
|
156
|
-
color:
|
|
157
|
-
margin-bottom:
|
|
158
|
-
font-size:
|
|
250
|
+
color: var(--sio-label-3);
|
|
251
|
+
margin-bottom: 16px;
|
|
252
|
+
font-size: 13px;
|
|
159
253
|
}
|
|
160
254
|
|
|
161
255
|
.error-actions {
|
|
162
256
|
display: flex;
|
|
163
|
-
gap:
|
|
257
|
+
gap: 8px;
|
|
164
258
|
justify-content: center;
|
|
165
259
|
}
|
|
166
260
|
|
|
@@ -169,24 +263,24 @@ export class SioPdfViewer extends DeesElement {
|
|
|
169
263
|
height: 100%;
|
|
170
264
|
display: flex;
|
|
171
265
|
flex-direction: column;
|
|
172
|
-
background:
|
|
266
|
+
background: var(--sio-surface);
|
|
173
267
|
}
|
|
174
268
|
|
|
175
269
|
.fallback-header {
|
|
176
|
-
padding:
|
|
177
|
-
border-bottom:
|
|
270
|
+
padding: 16px;
|
|
271
|
+
border-bottom: var(--sio-hairline) solid var(--sio-separator);
|
|
178
272
|
display: flex;
|
|
179
273
|
align-items: center;
|
|
180
274
|
justify-content: space-between;
|
|
181
|
-
background:
|
|
275
|
+
background: var(--sio-surface);
|
|
182
276
|
}
|
|
183
277
|
|
|
184
278
|
.fallback-title {
|
|
185
279
|
font-weight: 500;
|
|
186
|
-
color:
|
|
280
|
+
color: var(--sio-label);
|
|
187
281
|
display: flex;
|
|
188
282
|
align-items: center;
|
|
189
|
-
gap:
|
|
283
|
+
gap: 8px;
|
|
190
284
|
}
|
|
191
285
|
|
|
192
286
|
.fallback-content {
|
|
@@ -194,24 +288,24 @@ export class SioPdfViewer extends DeesElement {
|
|
|
194
288
|
display: flex;
|
|
195
289
|
align-items: center;
|
|
196
290
|
justify-content: center;
|
|
197
|
-
padding:
|
|
291
|
+
padding: 32px;
|
|
198
292
|
}
|
|
199
293
|
|
|
200
294
|
.fallback-message {
|
|
201
295
|
text-align: center;
|
|
202
|
-
color:
|
|
296
|
+
color: var(--sio-label-3);
|
|
203
297
|
}
|
|
204
298
|
|
|
205
299
|
.fallback-icon {
|
|
206
300
|
font-size: 48px;
|
|
207
|
-
margin-bottom:
|
|
301
|
+
margin-bottom: 16px;
|
|
208
302
|
opacity: 0.5;
|
|
209
303
|
}
|
|
210
304
|
|
|
211
305
|
.fallback-text {
|
|
212
|
-
margin-bottom:
|
|
306
|
+
margin-bottom: 16px;
|
|
213
307
|
}
|
|
214
|
-
|
|
308
|
+
|
|
215
309
|
/* Scrollbar styling */
|
|
216
310
|
.pdf-container::-webkit-scrollbar {
|
|
217
311
|
width: 8px;
|
|
@@ -219,36 +313,36 @@ export class SioPdfViewer extends DeesElement {
|
|
|
219
313
|
}
|
|
220
314
|
|
|
221
315
|
.pdf-container::-webkit-scrollbar-track {
|
|
222
|
-
background:
|
|
316
|
+
background: var(--sio-bg);
|
|
223
317
|
}
|
|
224
318
|
|
|
225
319
|
.pdf-container::-webkit-scrollbar-thumb {
|
|
226
|
-
background:
|
|
320
|
+
background: var(--sio-separator-opaque);
|
|
227
321
|
border-radius: 4px;
|
|
228
322
|
}
|
|
229
323
|
|
|
230
324
|
.pdf-container::-webkit-scrollbar-thumb:hover {
|
|
231
|
-
background:
|
|
325
|
+
background: var(--sio-label-4);
|
|
232
326
|
}
|
|
233
|
-
|
|
327
|
+
|
|
234
328
|
/* Responsive */
|
|
235
329
|
@media (max-width: 600px) {
|
|
236
330
|
.pdf-controls {
|
|
237
331
|
flex-wrap: wrap;
|
|
238
|
-
gap:
|
|
332
|
+
gap: 8px;
|
|
239
333
|
}
|
|
240
|
-
|
|
334
|
+
|
|
241
335
|
.pdf-controls-group {
|
|
242
336
|
flex-wrap: nowrap;
|
|
243
337
|
}
|
|
244
338
|
}
|
|
245
339
|
`,
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
340
|
+
];
|
|
341
|
+
render() {
|
|
342
|
+
if (this.hasError) {
|
|
343
|
+
return this.renderError();
|
|
344
|
+
}
|
|
345
|
+
return html `
|
|
252
346
|
<div class="container">
|
|
253
347
|
${this.isLoading ? html `
|
|
254
348
|
<div class="loading">
|
|
@@ -324,9 +418,9 @@ export class SioPdfViewer extends DeesElement {
|
|
|
324
418
|
` : ''}
|
|
325
419
|
</div>
|
|
326
420
|
`;
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
421
|
+
}
|
|
422
|
+
renderError() {
|
|
423
|
+
return html `
|
|
330
424
|
<div class="error-container">
|
|
331
425
|
<sio-icon class="error-icon" icon="alert-circle" size="48"></sio-icon>
|
|
332
426
|
<div class="error-title">Unable to display PDF</div>
|
|
@@ -353,177 +447,183 @@ export class SioPdfViewer extends DeesElement {
|
|
|
353
447
|
</div>
|
|
354
448
|
</div>
|
|
355
449
|
`;
|
|
356
|
-
}
|
|
357
|
-
async connectedCallback() {
|
|
358
|
-
await super.connectedCallback();
|
|
359
|
-
if (this.url) {
|
|
360
|
-
await this.loadPdf();
|
|
361
450
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
if (container) {
|
|
368
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
369
|
-
if (this.pdfDocument && !this.isLoading) {
|
|
370
|
-
this.renderPage();
|
|
371
|
-
}
|
|
372
|
-
});
|
|
373
|
-
this.resizeObserver.observe(container);
|
|
451
|
+
async connectedCallback() {
|
|
452
|
+
await super.connectedCallback();
|
|
453
|
+
if (this.url) {
|
|
454
|
+
await this.loadPdf();
|
|
455
|
+
}
|
|
374
456
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
457
|
+
async firstUpdated(_changedProperties) {
|
|
458
|
+
super.firstUpdated(_changedProperties);
|
|
459
|
+
// Set up resize observer for responsive rendering after first render
|
|
460
|
+
const container = this.shadowRoot?.querySelector('.pdf-container');
|
|
461
|
+
if (container) {
|
|
462
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
463
|
+
if (this.pdfDocument && !this.isLoading) {
|
|
464
|
+
this.renderPage();
|
|
465
|
+
}
|
|
466
|
+
});
|
|
467
|
+
this.resizeObserver.observe(container);
|
|
468
|
+
}
|
|
380
469
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
470
|
+
async updated(changedProperties) {
|
|
471
|
+
super.updated(changedProperties);
|
|
472
|
+
if (changedProperties.has('url') && this.url) {
|
|
473
|
+
await this.loadPdf();
|
|
474
|
+
}
|
|
475
|
+
// Re-render when scale changes
|
|
476
|
+
if (changedProperties.has('scale') && this.pdfDocument && !this.isLoading) {
|
|
477
|
+
await this.renderPage();
|
|
478
|
+
}
|
|
384
479
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
480
|
+
static async loadPdfJs() {
|
|
481
|
+
if (SioPdfViewer.pdfJsLoaded)
|
|
482
|
+
return;
|
|
483
|
+
if (SioPdfViewer.pdfJsLoading) {
|
|
484
|
+
return SioPdfViewer.pdfJsLoading;
|
|
485
|
+
}
|
|
486
|
+
SioPdfViewer.pdfJsLoading = new Promise(async (resolve, reject) => {
|
|
487
|
+
try {
|
|
488
|
+
// Load PDF.js from jsDelivr
|
|
489
|
+
const script = document.createElement('script');
|
|
490
|
+
script.src = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@3.11.174/build/pdf.min.js';
|
|
491
|
+
script.onload = () => {
|
|
492
|
+
if (window.pdfjsLib) {
|
|
493
|
+
// Configure worker
|
|
494
|
+
window.pdfjsLib.GlobalWorkerOptions.workerSrc =
|
|
495
|
+
'https://cdn.jsdelivr.net/npm/pdfjs-dist@3.11.174/build/pdf.worker.min.js';
|
|
496
|
+
SioPdfViewer.pdfJsLoaded = true;
|
|
497
|
+
resolve();
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
reject(new Error('PDF.js failed to load'));
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
script.onerror = () => reject(new Error('Failed to load PDF.js script'));
|
|
504
|
+
document.head.appendChild(script);
|
|
505
|
+
}
|
|
506
|
+
catch (error) {
|
|
507
|
+
reject(error);
|
|
508
|
+
}
|
|
509
|
+
});
|
|
390
510
|
return SioPdfViewer.pdfJsLoading;
|
|
391
511
|
}
|
|
392
|
-
|
|
512
|
+
async loadPdf() {
|
|
513
|
+
this.isLoading = true;
|
|
514
|
+
this.hasError = false;
|
|
515
|
+
this.pdfDocument = null;
|
|
393
516
|
try {
|
|
394
|
-
// Load PDF.js
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
document.head.appendChild(script);
|
|
517
|
+
// Load PDF.js if not already loaded
|
|
518
|
+
await SioPdfViewer.loadPdfJs();
|
|
519
|
+
// Load the PDF document
|
|
520
|
+
const loadingTask = window.pdfjsLib.getDocument({
|
|
521
|
+
url: this.url,
|
|
522
|
+
// Enable range requests for better performance
|
|
523
|
+
disableRange: false,
|
|
524
|
+
// Enable streaming for large PDFs
|
|
525
|
+
disableStream: false,
|
|
526
|
+
});
|
|
527
|
+
this.pdfDocument = await loadingTask.promise;
|
|
528
|
+
this.totalPages = this.pdfDocument.numPages;
|
|
529
|
+
this.currentPage = 1;
|
|
530
|
+
this.isLoading = false;
|
|
531
|
+
// Render the first page
|
|
532
|
+
await this.renderPage();
|
|
411
533
|
}
|
|
412
534
|
catch (error) {
|
|
413
|
-
|
|
535
|
+
console.error('Failed to load PDF:', error);
|
|
536
|
+
this.hasError = true;
|
|
537
|
+
this.isLoading = false;
|
|
414
538
|
}
|
|
415
|
-
});
|
|
416
|
-
return SioPdfViewer.pdfJsLoading;
|
|
417
|
-
}
|
|
418
|
-
async loadPdf() {
|
|
419
|
-
this.isLoading = true;
|
|
420
|
-
this.hasError = false;
|
|
421
|
-
this.pdfDocument = null;
|
|
422
|
-
try {
|
|
423
|
-
// Load PDF.js if not already loaded
|
|
424
|
-
await SioPdfViewer.loadPdfJs();
|
|
425
|
-
// Load the PDF document
|
|
426
|
-
const loadingTask = window.pdfjsLib.getDocument({
|
|
427
|
-
url: this.url,
|
|
428
|
-
// Enable range requests for better performance
|
|
429
|
-
disableRange: false,
|
|
430
|
-
// Enable streaming for large PDFs
|
|
431
|
-
disableStream: false,
|
|
432
|
-
});
|
|
433
|
-
this.pdfDocument = await loadingTask.promise;
|
|
434
|
-
this.totalPages = this.pdfDocument.numPages;
|
|
435
|
-
this.currentPage = 1;
|
|
436
|
-
this.isLoading = false;
|
|
437
|
-
// Render the first page
|
|
438
|
-
await this.renderPage();
|
|
439
539
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
this.hasError = true;
|
|
443
|
-
this.isLoading = false;
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
async renderPage() {
|
|
447
|
-
if (!this.pdfDocument)
|
|
448
|
-
return;
|
|
449
|
-
// Cancel any ongoing render task
|
|
450
|
-
if (this.renderTask) {
|
|
451
|
-
this.renderTask.cancel();
|
|
452
|
-
}
|
|
453
|
-
try {
|
|
454
|
-
const page = await this.pdfDocument.getPage(this.currentPage);
|
|
455
|
-
const canvas = this.shadowRoot?.querySelector('canvas');
|
|
456
|
-
if (!canvas)
|
|
540
|
+
async renderPage() {
|
|
541
|
+
if (!this.pdfDocument)
|
|
457
542
|
return;
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
543
|
+
// Cancel any ongoing render task
|
|
544
|
+
if (this.renderTask) {
|
|
545
|
+
this.renderTask.cancel();
|
|
546
|
+
}
|
|
547
|
+
try {
|
|
548
|
+
const page = await this.pdfDocument.getPage(this.currentPage);
|
|
549
|
+
const canvas = this.shadowRoot?.querySelector('canvas');
|
|
550
|
+
if (!canvas)
|
|
551
|
+
return;
|
|
552
|
+
const context = canvas.getContext('2d');
|
|
553
|
+
const viewport = page.getViewport({ scale: this.scale });
|
|
554
|
+
// Set canvas dimensions
|
|
555
|
+
canvas.height = viewport.height;
|
|
556
|
+
canvas.width = viewport.width;
|
|
557
|
+
// Render PDF page into canvas context
|
|
558
|
+
const renderContext = {
|
|
559
|
+
canvasContext: context,
|
|
560
|
+
viewport: viewport
|
|
561
|
+
};
|
|
562
|
+
this.renderTask = page.render(renderContext);
|
|
563
|
+
await this.renderTask.promise;
|
|
564
|
+
}
|
|
565
|
+
catch (error) {
|
|
566
|
+
if (error.name !== 'RenderingCancelledException') {
|
|
567
|
+
console.error('Error rendering page:', error);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
470
570
|
}
|
|
471
|
-
|
|
472
|
-
if (
|
|
473
|
-
|
|
571
|
+
async previousPage() {
|
|
572
|
+
if (this.currentPage > 1) {
|
|
573
|
+
this.currentPage--;
|
|
574
|
+
await this.renderPage();
|
|
474
575
|
}
|
|
475
576
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
577
|
+
async nextPage() {
|
|
578
|
+
if (this.currentPage < this.totalPages) {
|
|
579
|
+
this.currentPage++;
|
|
580
|
+
await this.renderPage();
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
async zoomIn() {
|
|
584
|
+
this.scale = Math.min(this.scale * 1.2, 3);
|
|
480
585
|
await this.renderPage();
|
|
481
586
|
}
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
if (this.currentPage < this.totalPages) {
|
|
485
|
-
this.currentPage++;
|
|
587
|
+
async zoomOut() {
|
|
588
|
+
this.scale = Math.max(this.scale / 1.2, 0.5);
|
|
486
589
|
await this.renderPage();
|
|
487
590
|
}
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
await this.renderPage();
|
|
492
|
-
}
|
|
493
|
-
async zoomOut() {
|
|
494
|
-
this.scale = Math.max(this.scale / 1.2, 0.5);
|
|
495
|
-
await this.renderPage();
|
|
496
|
-
}
|
|
497
|
-
async resetZoom() {
|
|
498
|
-
this.scale = 1;
|
|
499
|
-
await this.renderPage();
|
|
500
|
-
}
|
|
501
|
-
downloadPdf() {
|
|
502
|
-
const a = document.createElement('a');
|
|
503
|
-
a.href = this.url;
|
|
504
|
-
a.download = this.fileName;
|
|
505
|
-
document.body.appendChild(a);
|
|
506
|
-
a.click();
|
|
507
|
-
document.body.removeChild(a);
|
|
508
|
-
}
|
|
509
|
-
openInNewTab() {
|
|
510
|
-
window.open(this.url, '_blank');
|
|
511
|
-
}
|
|
512
|
-
async disconnectedCallback() {
|
|
513
|
-
await super.disconnectedCallback();
|
|
514
|
-
// Clean up resize observer
|
|
515
|
-
if (this.resizeObserver) {
|
|
516
|
-
this.resizeObserver.disconnect();
|
|
517
|
-
this.resizeObserver = null;
|
|
591
|
+
async resetZoom() {
|
|
592
|
+
this.scale = 1;
|
|
593
|
+
await this.renderPage();
|
|
518
594
|
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
this.
|
|
595
|
+
downloadPdf() {
|
|
596
|
+
const a = document.createElement('a');
|
|
597
|
+
a.href = this.url;
|
|
598
|
+
a.download = this.fileName;
|
|
599
|
+
document.body.appendChild(a);
|
|
600
|
+
a.click();
|
|
601
|
+
document.body.removeChild(a);
|
|
522
602
|
}
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
this.pdfDocument.destroy();
|
|
603
|
+
openInNewTab() {
|
|
604
|
+
window.open(this.url, '_blank');
|
|
526
605
|
}
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLXBkZi12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc2lvLXBkZi12aWV3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxRQUFRLEVBQ1IsSUFBSSxFQUNKLGFBQWEsRUFFYixVQUFVLEVBQ1YsR0FBRyxFQUNILFNBQVMsRUFDVCxLQUFLLEdBQ04sTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyx1QkFBdUI7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVk1QyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztBQUNoQyxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFDcEMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7O2FBRXBCLHM2QkFBczZCO2tCQUNqNkIsVUFBVTs7O0dBR3pCLENBQUM7SUFFRixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixRQUFRLENBQUMsR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUVqQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixRQUFRLENBQUMsUUFBUSxHQUFXLGNBQWMsQ0FBQztJQUVsRCxDQUFDLEtBQUssRUFBRTtJQUNBLFFBQVEsQ0FBQyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBRTNDLENBQUMsS0FBSyxFQUFFO0lBQ0EsUUFBUSxDQUFDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFM0MsQ0FBQyxLQUFLLEVBQUU7SUFDQSxRQUFRLENBQUMsV0FBVyxHQUFRLElBQUksQ0FBQztJ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
|
|
606
|
+
async disconnectedCallback() {
|
|
607
|
+
await super.disconnectedCallback();
|
|
608
|
+
// Clean up resize observer
|
|
609
|
+
if (this.resizeObserver) {
|
|
610
|
+
this.resizeObserver.disconnect();
|
|
611
|
+
this.resizeObserver = null;
|
|
612
|
+
}
|
|
613
|
+
// Cancel any ongoing render task
|
|
614
|
+
if (this.renderTask) {
|
|
615
|
+
this.renderTask.cancel();
|
|
616
|
+
}
|
|
617
|
+
// Destroy PDF document to free memory
|
|
618
|
+
if (this.pdfDocument) {
|
|
619
|
+
this.pdfDocument.destroy();
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
static {
|
|
623
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
624
|
+
}
|
|
625
|
+
};
|
|
626
|
+
return SioPdfViewer = _classThis;
|
|
627
|
+
})();
|
|
628
|
+
export { SioPdfViewer };
|
|
629
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLXBkZi12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc2lvLXBkZi12aWV3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsUUFBUSxFQUNSLElBQUksRUFDSixhQUFhLEVBRWIsR0FBRyxFQUNILEtBQUssR0FDTixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLGVBQWUsQ0FBQztBQUN2QixPQUFPLGlCQUFpQixDQUFDO0lBYVosWUFBWTs0QkFEeEIsYUFBYSxDQUFDLGdCQUFnQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NEJBQW5CLFNBQVEsV0FBVzs7OzsrQkFTMUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO29DQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBRzFCLEtBQUssRUFBRTtvQ0FHUCxLQUFLLEVBQUU7dUNBR1AsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFBRTtzQ0FHUCxLQUFLLEVBQUU7aUNBR1AsS0FBSyxFQUFFO1lBcEJSLDhKQUFnQixHQUFHLDZCQUFILEdBQUcsaUZBQWM7WUFHakMsNktBQWdCLFFBQVEsNkJBQVIsUUFBUSwyRkFBMEI7WUFHbEQsZ0xBQWlCLFNBQVMsNkJBQVQsU0FBUyw2RkFBaUI7WUFHM0MsNktBQWlCLFFBQVEsNkJBQVIsUUFBUSwyRkFBa0I7WUFHM0Msc0xBQWlCLFdBQVcsNkJBQVgsV0FBVyxpR0FBYTtZQUd6QyxzTEFBaUIsV0FBVyw2QkFBWCxXQUFXLGlHQUFhO1lBR3pDLG1MQUFpQixVQUFVLDZCQUFWLFVBQVUsK0ZBQWE7WUFHeEMsb0tBQWlCLEtBQUss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
|