@social-mail/social-mail-client 1.2.459 → 1.2.461

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.
@@ -0,0 +1,17 @@
1
+ import { AtomControl } from "@web-atoms/core/dist/web/controls/AtomControl";
2
+ export default class PreviewDocument extends AtomControl {
3
+ observer: IntersectionObserver;
4
+ scale: number;
5
+ viewer: HTMLElement;
6
+ preview: HTMLElement;
7
+ firstPage: any;
8
+ password: string;
9
+ init(): Promise<void>;
10
+ updateEntries(entries: IntersectionObserverEntry[]): void;
11
+ changeScale(a: number): void;
12
+ updatePages(): void;
13
+ focusPage(page: any): void;
14
+ queueRenderPage(pageElement: HTMLElement): void;
15
+ renderPage(pageElement: HTMLElement): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=PreviewPDF.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewPDF.d.ts","sourceRoot":"","sources":["../../../../src/public/preview/pdf/PreviewPDF.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAmK5E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACpD,QAAQ,EAAE,oBAAoB,CAAC;IAE/B,KAAK,SAAK;IACV,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAM;IAEhB,IAAI;IA+JV,aAAa,CAAC,OAAO,EAAE,yBAAyB,EAAE,GAAG,IAAI;IAYzD,WAAW,CAAC,CAAC,EAAE,MAAM;IAgBrB,WAAW;IASX,SAAS,CAAC,IAAI,KAAA;IAWd,eAAe,CAAC,WAAW,EAAE,WAAW;IAWlC,UAAU,CAAC,WAAW,EAAE,WAAW;CA8C5C"}
@@ -0,0 +1,457 @@
1
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/App", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "@web-atoms/web-controls/dist/basic/PasswordBox", "@web-atoms/core/dist/web/controls/AtomControl", "../../../common/controls/buttons/IconButton", "../../../common/fileUrl", "../../../common/Modules", "@web-atoms/core/dist/Pack"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __awaiter, __decorate, XNode, styled, Bind, App, Form, FormField, PasswordBox, AtomControl, IconButton, fileUrl, Modules, Pack, installStyleSheet, PreviewDocument;
5
+ return {
6
+ setters: [function (_tslib) {
7
+ __awaiter = _tslib.__awaiter;
8
+ __decorate = _tslib.__decorate;
9
+ }, function (_webAtomsCoreDistCoreXNode) {
10
+ XNode = _webAtomsCoreDistCoreXNode.default;
11
+ }, function (_webAtomsCoreDistStyleStyled) {
12
+ styled = _webAtomsCoreDistStyleStyled.default;
13
+ }, function (_webAtomsCoreDistCoreBind) {
14
+ Bind = _webAtomsCoreDistCoreBind.default;
15
+ }, function (_webAtomsCoreDistApp) {
16
+ App = _webAtomsCoreDistApp.App;
17
+ }, function (_webAtomsWebControlsDistBasicForm) {
18
+ Form = _webAtomsWebControlsDistBasicForm.default;
19
+ }, function (_webAtomsWebControlsDistBasicFormField) {
20
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
21
+ }, function (_webAtomsWebControlsDistBasicPasswordBox) {
22
+ PasswordBox = _webAtomsWebControlsDistBasicPasswordBox.default;
23
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
24
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
25
+ }, function (_commonControlsButtonsIconButton) {
26
+ IconButton = _commonControlsButtonsIconButton.IconButton;
27
+ }, function (_commonFileUrl) {
28
+ fileUrl = _commonFileUrl.fileUrl;
29
+ }, function (_commonModules) {
30
+ Modules = _commonModules.default;
31
+ }, function (_webAtomsCoreDistPack) {
32
+ Pack = _webAtomsCoreDistPack.default;
33
+ }],
34
+ execute: function () {
35
+ styled.css`
36
+ display: grid;
37
+ width: 100%;
38
+ height: 100%;
39
+ grid-template-columns:auto 1fr auto;
40
+ grid-template-rows: auto 1fr auto auto;
41
+ overflow: hidden;
42
+ background: gray;
43
+
44
+ position: absolute;
45
+ left: 0;
46
+ top: 0;
47
+ right: 0;
48
+ bottom: 0;
49
+
50
+ & pdf-page {
51
+ display: inline-block;
52
+ padding: 10px;
53
+ position: relative;
54
+ }
55
+
56
+ & > .title {
57
+ position: absolute;
58
+ left: 5px;
59
+ top: 5px;
60
+ }
61
+
62
+ & > .preview {
63
+ display: flex;
64
+ grid-row: 2;
65
+ grid-column: 1;
66
+ display: flex;
67
+ flex-direction: column;
68
+ overflow-x: hidden;
69
+ overflow-y: auto;
70
+ gap: 10px;
71
+ & > * {
72
+ cursor: pointer;
73
+ padding: 10px;
74
+ & > canvas {
75
+ object-fit: contain;
76
+ max-height: 30vh;
77
+ max-width: 20vw;
78
+ }
79
+ &:hover {
80
+ background: highlight;
81
+ }
82
+ }
83
+ }
84
+
85
+ & > .viewer {
86
+ grid-row: 2;
87
+ grid-column: 2;
88
+ overflow: auto;
89
+ gap: 10px;
90
+ display: flex;
91
+ flex-direction: column;
92
+ justify-content: start;
93
+ align-items: center;
94
+ &[align-left=true] {
95
+ align-items: start;
96
+ }
97
+ & > * {
98
+ padding: 10px;
99
+ position: relative;
100
+ & > canvas {
101
+ position: absolute;
102
+ left: 10px;
103
+ top: 10px;
104
+ }
105
+ & > * {
106
+ left: 10px;
107
+ top: 10px;
108
+ }
109
+ }
110
+ }
111
+
112
+ & > .toolbar {
113
+ grid-column: 1 / span 3;
114
+ grid-row: 1;
115
+ display: flex;
116
+ flex-direction: row;
117
+ gap: 10px;
118
+ background-color: lightgray;
119
+
120
+ & > * {
121
+ flex: 1 1 33%;
122
+ }
123
+
124
+ & > .left {
125
+ margin-right: auto;
126
+ }
127
+
128
+ & > .middle {
129
+ margin-left: auto;
130
+ margin-right: auto;
131
+ display: flex;
132
+ flex-direction: row;
133
+ align-items: center;
134
+ gap: 5px;
135
+ justify-content: center;
136
+ & > i {
137
+ padding: 5px;
138
+ cursor: pointer;
139
+ }
140
+ & > input {
141
+ max-width: 50px;
142
+ }
143
+ }
144
+
145
+ & > .right {
146
+ display: flex;
147
+ margin-left: auto;
148
+ align-items: center;
149
+ justify-content: end;
150
+ margin-right: 10px;
151
+ gap: 5px;
152
+ & > * {
153
+ cursor: pointer;
154
+ padding: 5px;
155
+ }
156
+ }
157
+ }
158
+
159
+ @media (max-width: 500px) {
160
+ & > .preview {
161
+ grid-row: 3;
162
+ grid-column: 2 / span 2;
163
+ max-height: 30vh;
164
+ flex-direction: row;
165
+ flex-wrap: nowrap;
166
+ overflow-x: auto;
167
+ overflow-y: hidden;
168
+ }
169
+ }
170
+
171
+ `.installGlobal("div > .pdf-frame");
172
+ installStyleSheet = () => {
173
+ App.installStyleSheet("https://cdn.jsdelivr.net/npm/pdfjs-dist@4.4.168/web/pdf_viewer.css");
174
+ installStyleSheet = null;
175
+ };
176
+ if (!fileInfo) {
177
+ fileInfo = {};
178
+ const url = new URL(location.href);
179
+ url.searchParams.forEach((v, k) => {
180
+ fileInfo[k] = v;
181
+ });
182
+ }
183
+ PreviewDocument = class PreviewDocument extends AtomControl {
184
+ constructor() {
185
+ super(...arguments);
186
+ this.scale = 1;
187
+ this.password = "";
188
+ }
189
+ init() {
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ installStyleSheet === null || installStyleSheet === void 0 ? void 0 : installStyleSheet();
192
+ const {
193
+ name
194
+ } = fileInfo;
195
+ const pdf = fileUrl(fileInfo, {
196
+ action: "pdf",
197
+ ext: ".pdf"
198
+ });
199
+ const downloadUrl = fileUrl(fileInfo);
200
+ document.title = name;
201
+ try {
202
+ frameElement.page.title = name;
203
+ } catch (_a) {}
204
+ this.observer = new IntersectionObserver(entries => this.updateEntries(entries), {
205
+ root: this.element
206
+ });
207
+ this.registerDisposable({
208
+ dispose: () => this.observer.disconnect()
209
+ });
210
+ yield Modules.import("https://mozilla.github.io/pdf.js/build/pdf.mjs");
211
+ const {
212
+ pdfjsLib
213
+ } = globalThis;
214
+ pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://mozilla.github.io/pdf.js/build/pdf.worker.mjs';
215
+ const loaderTask = pdfjsLib.getDocument(pdf);
216
+ let tries = 0;
217
+ loaderTask.onPassword = (callback, reason) => {
218
+ console.log(reason);
219
+ tries++;
220
+ if (tries > 3) {
221
+ this.renderer = XNode.create("div", null, XNode.create("div", {
222
+ "data-layout": "center-page-900px"
223
+ }, "Failed..."));
224
+ return;
225
+ }
226
+ this.renderer = XNode.create("div", null, XNode.create("div", {
227
+ "data-layout": "center-page-900px"
228
+ }, XNode.create(Form, {
229
+ "event-submit-form": () => {
230
+ const password = this.password;
231
+ this.password = "";
232
+ callback(password);
233
+ }
234
+ }, XNode.create("div", null, XNode.create("h4", {
235
+ text: reason ? "Invalid Password, try again." : "Password is required to view this document."
236
+ })), XNode.create(FormField, {
237
+ label: "Password"
238
+ }, XNode.create(PasswordBox, {
239
+ type: "password",
240
+ autofocus: true,
241
+ value: Bind.twoWaysImmediate(() => this.password)
242
+ })), XNode.create("div", null, XNode.create(IconButton, {
243
+ type: "submit",
244
+ disabled: Bind.oneWay(() => !this.password),
245
+ text: "Open"
246
+ })))));
247
+ };
248
+ const pdfDoc = yield loaderTask.promise;
249
+ this.renderer = XNode.create("div", null, XNode.create("div", {
250
+ class: "pdf-frame"
251
+ }, XNode.create("div", {
252
+ class: "preview"
253
+ }), XNode.create("div", {
254
+ class: "viewer"
255
+ }), XNode.create("div", {
256
+ class: "toolbar"
257
+ }, XNode.create("div", {
258
+ class: "left"
259
+ }), XNode.create("div", {
260
+ class: "middle"
261
+ }, XNode.create("i", {
262
+ class: "fas fa-minus",
263
+ "event-click": () => this.changeScale(-0.1)
264
+ }), XNode.create("div", {
265
+ class: "scale",
266
+ text: Bind.oneWay(() => (this.scale * 100).toFixed(0) + "%")
267
+ }), XNode.create("i", {
268
+ class: "fas fa-plus",
269
+ "event-click": () => this.changeScale(0.1)
270
+ })), XNode.create("div", {
271
+ class: "right"
272
+ }, XNode.create("a", {
273
+ href: downloadUrl,
274
+ target: "_blank",
275
+ title: "Download"
276
+ }, XNode.create("i", {
277
+ class: "fas fa-download"
278
+ })), XNode.create("a", {
279
+ href: pdf,
280
+ target: "_blank",
281
+ title: "Print"
282
+ }, XNode.create("i", {
283
+ class: "fas fa-print"
284
+ }))))));
285
+ const viewer = this.viewer = this.element.querySelector(".viewer");
286
+ const preview = this.preview = this.element.querySelector(".preview");
287
+ const firstPage = yield pdfDoc.getPage(1);
288
+ this.firstPage = firstPage;
289
+ const {
290
+ scale
291
+ } = this;
292
+ const viewport = firstPage.getViewport({
293
+ scale
294
+ });
295
+ const previewViewPort = firstPage.getViewport({
296
+ scale: 0.3
297
+ });
298
+ const scaleText = scale.toFixed(2);
299
+ const width = viewport.width + "px";
300
+ const height = viewport.height + "px";
301
+ const previewWidth = previewViewPort.width + "px";
302
+ const previewHeight = previewViewPort.height + "px";
303
+ for (let i = 1; i <= pdfDoc.numPages; i++) {
304
+ const fullView = document.createElement("pdf-page");
305
+ fullView.pdfDoc = pdfDoc;
306
+ fullView.index = i;
307
+ fullView.TextLayer = pdfjsLib.TextLayer;
308
+ fullView.setAttribute("scale", scaleText);
309
+ fullView.style.setProperty("--scale-factor", scaleText);
310
+ fullView.style.minWidth = width;
311
+ fullView.style.minHeight = height;
312
+ viewer.appendChild(fullView);
313
+ this.observer.observe(fullView);
314
+ this.queueRenderPage(fullView);
315
+ const thumbnail = document.createElement("pdf-page");
316
+ thumbnail.pdfDoc = pdfDoc;
317
+ thumbnail.index = i;
318
+ thumbnail.fullView = fullView;
319
+ thumbnail.style.minWidth = previewWidth;
320
+ thumbnail.style.minHeight = previewHeight;
321
+ thumbnail.setAttribute("scale", "0.3");
322
+ thumbnail.setAttribute("preview", "true");
323
+ preview.appendChild(thumbnail);
324
+ this.observer.observe(thumbnail);
325
+ }
326
+ this.bindEvent(this.element, "click", e => {
327
+ let start = e.target;
328
+ while (start) {
329
+ const fullView = start.fullView;
330
+ if (fullView) {
331
+ fullView.scrollIntoView({
332
+ behavior: "smooth",
333
+ block: "nearest"
334
+ });
335
+ return;
336
+ }
337
+ start = start.parentElement;
338
+ }
339
+ });
340
+ setTimeout(() => this.updatePages(), 100);
341
+ });
342
+ }
343
+ updateEntries(entries) {
344
+ for (const {
345
+ target,
346
+ isIntersecting
347
+ } of entries) {
348
+ const te = target;
349
+ if (isIntersecting) {
350
+ te.removeAttribute("hidden");
351
+ } else {
352
+ te.setAttribute("hidden", "true");
353
+ }
354
+ this.queueRenderPage(te);
355
+ }
356
+ }
357
+ changeScale(a) {
358
+ const scale = this.scale += a;
359
+ const viewport = this.firstPage.getViewport({
360
+ scale
361
+ });
362
+ const width = viewport.width + "px";
363
+ const height = viewport.height + "px";
364
+ const scaleText = scale.toFixed(2);
365
+ let page = this.viewer.firstElementChild;
366
+ while (page) {
367
+ page.style.minWidth = width;
368
+ page.style.minHeight = height;
369
+ page.setAttribute("scale", scaleText);
370
+ page = page.nextElementSibling;
371
+ }
372
+ setTimeout(() => this.updatePages(), 100);
373
+ }
374
+ updatePages() {
375
+ let page = this.viewer.firstElementChild;
376
+ while (page) {
377
+ this.queueRenderPage(page);
378
+ page = page.nextElementSibling;
379
+ }
380
+ this.viewer.setAttribute("align-left", this.viewer.scrollWidth > this.viewer.offsetWidth ? "true" : "false");
381
+ }
382
+ focusPage(page) {
383
+ while (page) {
384
+ const {
385
+ fullView
386
+ } = page;
387
+ if (fullView) {
388
+ fullView.scrollIntoView({
389
+ behavior: "smooth",
390
+ block: "nearest"
391
+ });
392
+ return;
393
+ }
394
+ page = page.parentElement;
395
+ }
396
+ }
397
+ queueRenderPage(pageElement) {
398
+ const {
399
+ lastTimer
400
+ } = pageElement;
401
+ if (lastTimer) {
402
+ clearTimeout(lastTimer);
403
+ }
404
+ pageElement.lastTimer = setTimeout(() => {
405
+ var _a;
406
+ var _b;
407
+ return ((_a = (_b = pageElement).lastPromise) !== null && _a !== void 0 ? _a : _b.lastPromise = this.renderPage(pageElement)).then(() => pageElement.lastPromise = null, console.error);
408
+ }, 100);
409
+ }
410
+ renderPage(pageElement) {
411
+ return __awaiter(this, void 0, void 0, function* () {
412
+ pageElement.innerHTML = "";
413
+ if (pageElement.hasAttribute("hidden")) {
414
+ return;
415
+ }
416
+ const canvas = document.createElement("canvas");
417
+ const {
418
+ index,
419
+ pdfDoc,
420
+ TextLayer
421
+ } = pageElement;
422
+ const page = yield pdfDoc.getPage(index);
423
+ const canvasContext = canvas.getContext("2d");
424
+ const scale = Number(pageElement.getAttribute("scale") || "0.5");
425
+ const viewport = page.getViewport({
426
+ scale
427
+ });
428
+ canvas.width = viewport.width;
429
+ canvas.height = viewport.height;
430
+ yield page.render({
431
+ canvasContext,
432
+ viewport
433
+ }).promise;
434
+ pageElement.appendChild(canvas);
435
+ if (!TextLayer) {
436
+ return;
437
+ }
438
+ const textLayerDiv = document.createElement("div");
439
+ textLayerDiv.className = "textLayer";
440
+ textLayerDiv.style.setProperty("--scale-factor", scale.toFixed(2));
441
+ const textContentSource = yield page.streamTextContent();
442
+ const textLayer = new TextLayer({
443
+ textContentSource,
444
+ container: textLayerDiv,
445
+ viewport
446
+ });
447
+ textLayer.render();
448
+ pageElement.appendChild(textLayerDiv);
449
+ });
450
+ }
451
+ };
452
+ PreviewDocument = __decorate([Pack], PreviewDocument);
453
+ _export("default", PreviewDocument);
454
+ }
455
+ };
456
+ });
457
+ //# sourceMappingURL=PreviewPDF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["XNode","_webAtomsCoreDistCoreXNode","default","_webAtomsCoreDistStyleStyled","styled","_webAtomsCoreDistCoreBind","Bind","_webAtomsCoreDistApp","App","_webAtomsWebControlsDistBasicForm","Form","_webAtomsWebControlsDistBasicFormField","FormField","_webAtomsWebControlsDistBasicPasswordBox","PasswordBox","_webAtomsCoreDistWebControlsAtomControl","AtomControl","_commonControlsButtonsIconButton","IconButton","_commonFileUrl","fileUrl","_commonModules","Modules","_webAtomsCoreDistPack","Pack","execute","css","installGlobal","installStyleSheet","fileInfo","url","URL","location","href","searchParams","forEach","v","k","PreviewDocument","constructor","scale","password","init","name","pdf","action","ext","downloadUrl","document","title","frameElement","page","_a","observer","IntersectionObserver","entries","updateEntries","root","element","registerDisposable","dispose","disconnect","import","pdfjsLib","globalThis","GlobalWorkerOptions","workerSrc","loaderTask","getDocument","tries","onPassword","callback","reason","console","log","renderer","create","event-submit-form","text","label","type","autofocus","value","twoWaysImmediate","disabled","oneWay","pdfDoc","promise","class","event-click","changeScale","toFixed","target","viewer","querySelector","preview","firstPage","getPage","viewport","getViewport","previewViewPort","scaleText","width","height","previewWidth","previewHeight","i","numPages","fullView","createElement","index","TextLayer","setAttribute","style","setProperty","minWidth","minHeight","appendChild","observe","queueRenderPage","thumbnail","bindEvent","e","start","scrollIntoView","behavior","block","parentElement","setTimeout","updatePages","isIntersecting","te","removeAttribute","a","firstElementChild","nextElementSibling","scrollWidth","offsetWidth","focusPage","pageElement","lastTimer","clearTimeout","_b","lastPromise","renderPage","then","error","innerHTML","hasAttribute","canvas","canvasContext","getContext","Number","getAttribute","render","textLayerDiv","className","textContentSource","streamTextContent","textLayer","container","__decorate","_export"],"sources":["../../../../src/public/preview/pdf/PreviewPDF.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}