@design.estate/dees-catalog 3.43.3 → 3.43.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist_bundle/bundle.js +29985 -10808
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +1 -1
  4. package/dist_ts_web/elements/00group-media/index.d.ts +0 -2
  5. package/dist_ts_web/elements/00group-media/index.js +1 -3
  6. package/dist_ts_web/services/versions.d.ts +3 -3
  7. package/dist_ts_web/services/versions.js +4 -4
  8. package/dist_watch/bundle.js +30071 -10854
  9. package/dist_watch/bundle.js.map +4 -4
  10. package/package.json +13 -13
  11. package/ts_web/00_commitinfo_data.ts +1 -1
  12. package/ts_web/elements/00group-media/index.ts +0 -2
  13. package/ts_web/services/versions.ts +3 -3
  14. package/dist_ts_web/elements/00group-media/dees-pdf/component.d.ts +0 -37
  15. package/dist_ts_web/elements/00group-media/dees-pdf/component.js +0 -187
  16. package/dist_ts_web/elements/00group-media/dees-pdf/index.d.ts +0 -1
  17. package/dist_ts_web/elements/00group-media/dees-pdf/index.js +0 -2
  18. package/dist_ts_web/elements/00group-media/dees-pdf-preview/component.d.ts +0 -13
  19. package/dist_ts_web/elements/00group-media/dees-pdf-preview/component.js +0 -67
  20. package/dist_ts_web/elements/00group-media/dees-pdf-preview/demo.d.ts +0 -1
  21. package/dist_ts_web/elements/00group-media/dees-pdf-preview/demo.js +0 -187
  22. package/dist_ts_web/elements/00group-media/dees-pdf-preview/index.d.ts +0 -1
  23. package/dist_ts_web/elements/00group-media/dees-pdf-preview/index.js +0 -2
  24. package/dist_ts_web/elements/00group-media/dees-pdf-preview/styles.d.ts +0 -1
  25. package/dist_ts_web/elements/00group-media/dees-pdf-preview/styles.js +0 -223
  26. package/ts_web/elements/00group-media/dees-pdf/component.ts +0 -161
  27. package/ts_web/elements/00group-media/dees-pdf/index.ts +0 -1
  28. package/ts_web/elements/00group-media/dees-pdf-preview/component.ts +0 -24
  29. package/ts_web/elements/00group-media/dees-pdf-preview/demo.ts +0 -189
  30. package/ts_web/elements/00group-media/dees-pdf-preview/index.ts +0 -1
  31. package/ts_web/elements/00group-media/dees-pdf-preview/styles.ts +0 -223
@@ -1,223 +0,0 @@
1
- import { css, cssManager } from '@design.estate/dees-element';
2
- export const previewStyles = [
3
- cssManager.defaultStyles,
4
- css `
5
- :host {
6
- display: inline-block;
7
- position: relative;
8
- }
9
-
10
- .preview-container {
11
- position: relative;
12
- width: 200px;
13
- height: 260px;
14
- background: ${cssManager.bdTheme('hsl(0 0% 98%)', 'hsl(215 20% 14%)')};
15
- border-radius: 4px;
16
- overflow: hidden;
17
- transition: transform 0.2s ease, box-shadow 0.2s ease;
18
- box-shadow: 0 1px 3px ${cssManager.bdTheme('rgba(0, 0, 0, 0.12)', 'rgba(0, 0, 0, 0.24)')};
19
- }
20
-
21
- .preview-container.clickable {
22
- cursor: pointer;
23
- }
24
-
25
- .preview-container.clickable:hover {
26
- transform: translateY(-2px);
27
- box-shadow: 0 8px 24px ${cssManager.bdTheme('rgba(0, 0, 0, 0.12)', 'rgba(0, 0, 0, 0.3)')};
28
- }
29
-
30
- .preview-container.clickable:hover .preview-overlay {
31
- opacity: 1;
32
- }
33
-
34
- .preview-stack {
35
- position: relative;
36
- width: 100%;
37
- height: 100%;
38
- display: flex;
39
- align-items: center;
40
- justify-content: center;
41
- box-sizing: border-box;
42
- overflow: hidden;
43
- }
44
-
45
- .preview-stack.non-a4 {
46
- padding: 12px;
47
- }
48
-
49
- .preview-canvas {
50
- position: relative;
51
- background: white;
52
- display: block;
53
- max-width: 100%;
54
- max-height: 100%;
55
- width: auto;
56
- height: auto;
57
- object-fit: contain;
58
- image-rendering: auto;
59
- -webkit-font-smoothing: antialiased;
60
- box-shadow: 0 1px 3px ${cssManager.bdTheme('rgba(0, 0, 0, 0.1)', 'rgba(0, 0, 0, 0.3)')};
61
- }
62
-
63
- .non-a4 .preview-canvas {
64
- border: 1px solid ${cssManager.bdTheme('hsl(214 31% 92%)', 'hsl(217 25% 24%)')};
65
- border-radius: 4px;
66
- }
67
-
68
- .preview-info {
69
- position: absolute;
70
- bottom: 8px;
71
- left: 8px;
72
- right: 8px;
73
- padding: 6px 10px;
74
- background: ${cssManager.bdTheme('hsl(0 0% 100% / 0.92)', 'hsl(215 20% 12% / 0.92)')};
75
- border-radius: 6px;
76
- display: flex;
77
- align-items: center;
78
- gap: 6px;
79
- font-size: 12px;
80
- color: ${cssManager.bdTheme('hsl(215 16% 45%)', 'hsl(215 16% 75%)')};
81
- backdrop-filter: blur(12px);
82
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
83
- z-index: 10;
84
- }
85
-
86
- .preview-info dees-icon {
87
- font-size: 13px;
88
- color: ${cssManager.bdTheme('hsl(217 91% 60%)', 'hsl(213 93% 68%)')};
89
- }
90
-
91
- .preview-pages {
92
- font-weight: 500;
93
- font-size: 11px;
94
- }
95
-
96
- .preview-overlay {
97
- position: absolute;
98
- top: 0;
99
- left: 0;
100
- right: 0;
101
- bottom: 0;
102
- background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.7)', 'rgba(0, 0, 0, 0.8)')};
103
- display: flex;
104
- flex-direction: column;
105
- align-items: center;
106
- justify-content: center;
107
- gap: 8px;
108
- opacity: 0;
109
- transition: opacity 0.2s ease;
110
- z-index: 20;
111
- }
112
-
113
- .preview-overlay dees-icon {
114
- font-size: 24px;
115
- color: white;
116
- }
117
-
118
- .preview-overlay span {
119
- font-size: 14px;
120
- font-weight: 500;
121
- color: white;
122
- }
123
-
124
- .preview-loading,
125
- .preview-error {
126
- position: absolute;
127
- top: 0;
128
- left: 0;
129
- right: 0;
130
- bottom: 0;
131
- display: flex;
132
- flex-direction: column;
133
- align-items: center;
134
- justify-content: center;
135
- gap: 12px;
136
- color: ${cssManager.bdTheme('hsl(215 16% 45%)', 'hsl(215 16% 75%)')};
137
- }
138
-
139
- .preview-loading {
140
- background: ${cssManager.bdTheme('hsl(0 0% 99%)', 'hsl(215 20% 14%)')};
141
- }
142
-
143
- .preview-error {
144
- background: ${cssManager.bdTheme('hsl(0 72% 98%)', 'hsl(0 62% 20%)')};
145
- color: ${cssManager.bdTheme('hsl(0 72% 40%)', 'hsl(0 70% 68%)')};
146
- }
147
-
148
- .preview-spinner {
149
- width: 24px;
150
- height: 24px;
151
- border-radius: 50%;
152
- border: 2px solid ${cssManager.bdTheme('hsl(214 31% 86%)', 'hsl(217 25% 28%)')};
153
- border-top-color: ${cssManager.bdTheme('hsl(217 91% 60%)', 'hsl(213 93% 68%)')};
154
- animation: spin 0.8s linear infinite;
155
- }
156
-
157
- @keyframes spin {
158
- to {
159
- transform: rotate(360deg);
160
- }
161
- }
162
-
163
- .preview-text {
164
- font-size: 13px;
165
- font-weight: 500;
166
- }
167
-
168
- .preview-error dees-icon {
169
- font-size: 32px;
170
- }
171
-
172
- .preview-page-indicator {
173
- position: absolute;
174
- top: 8px;
175
- left: 8px;
176
- right: 8px;
177
- padding: 5px 8px;
178
- background: ${cssManager.bdTheme('hsl(0 0% 0% / 0.7)', 'hsl(0 0% 100% / 0.9)')};
179
- color: ${cssManager.bdTheme('white', 'hsl(215 20% 12%)')};
180
- border-radius: 4px;
181
- font-size: 11px;
182
- font-weight: 600;
183
- text-align: center;
184
- backdrop-filter: blur(12px);
185
- z-index: 15;
186
- pointer-events: none;
187
- animation: fadeIn 0.2s ease;
188
- }
189
-
190
- @keyframes fadeIn {
191
- from {
192
- opacity: 0;
193
- transform: translateY(-4px);
194
- }
195
- to {
196
- opacity: 1;
197
- transform: translateY(0);
198
- }
199
- }
200
-
201
- /* Responsive sizes */
202
- :host([size="small"]) .preview-container {
203
- width: 150px;
204
- height: 195px;
205
- }
206
-
207
- :host([size="large"]) .preview-container {
208
- width: 250px;
209
- height: 325px;
210
- }
211
-
212
- /* Grid optimizations */
213
- :host([grid-mode]) .preview-container {
214
- will-change: auto;
215
- }
216
-
217
- :host([grid-mode]) .preview-canvas {
218
- image-rendering: -webkit-optimize-contrast;
219
- image-rendering: crisp-edges;
220
- }
221
- `,
222
- ];
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtbWVkaWEvZGVlcy1wZGYtcHJldmlldy9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsVUFBVSxDQUFDLGFBQWE7SUFDeEIsR0FBRyxDQUFBOzs7Ozs7Ozs7O29CQVVlLFVBQVUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDOzs7OzhCQUk3QyxVQUFVLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDOzs7Ozs7Ozs7K0JBUy9ELFVBQVUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFpQ2hFLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7Ozs7MEJBSWxFLFVBQVUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7b0JBVWhFLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUseUJBQXlCLENBQUM7Ozs7OztlQU0zRSxVQUFVLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDOzs7Ozs7OztlQVExRCxVQUFVLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztvQkFjckQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQWtDbkUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQzs7OztvQkFJckQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUM7Ozs7b0JBSXZELFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7ZUFDM0QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQzs7Ozs7OzswQkFPM0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQzswQkFDMUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQkF5QmhFLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7ZUFDckUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDM0Q7Q0FDRixDQUFDIn0=
@@ -1,161 +0,0 @@
1
- import { DeesElement, property, html, customElement, domtools, type TemplateResult, type CSSResult, } from '@design.estate/dees-element';
2
-
3
- import { Deferred } from '@push.rocks/smartpromise';
4
- import { DeesContextmenu } from '../../00group-overlay/dees-contextmenu/dees-contextmenu.js';
5
- import '../../00group-utility/dees-icon/dees-icon.js';
6
-
7
- // import type pdfjsTypes from 'pdfjs-dist';
8
-
9
- declare global {
10
- interface HTMLElementTagNameMap {
11
- 'dees-pdf': DeesPdf;
12
- }
13
- }
14
-
15
- /**
16
- * @deprecated Use DeesPdfViewer or DeesTilePdf instead
17
- * - DeesPdfViewer: Full-featured PDF viewing with controls, navigation, zoom
18
- * - DeesTilePdf: Lightweight, performance-optimized tile preview for grids
19
- */
20
- @customElement('dees-pdf')
21
- export class DeesPdf extends DeesElement {
22
- // DEMO
23
- public static demo = () => html` <dees-pdf></dees-pdf> `;
24
- public static demoGroups = ['Media', 'PDF'];
25
-
26
- // INSTANCE
27
-
28
- @property()
29
- accessor pdfUrl: string =
30
- 'https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf';
31
-
32
-
33
-
34
- constructor() {
35
- super();
36
-
37
- // you have access to all kinds of things through this.
38
- // this.setAttribute('gotIt','true');
39
- }
40
-
41
- public render(): TemplateResult {
42
- return html`
43
- <style>
44
- :host {
45
- font-family: 'Geist Sans', sans-serif;
46
- display: block;
47
- box-sizing: border-box;
48
- max-width: 800px;
49
- }
50
- :host([hidden]) {
51
- display: none;
52
- }
53
-
54
- #pdfcanvas {
55
- box-shadow: 0px 0px 5px #ccc;
56
- width: 100%;
57
- cursor: pointer;
58
- }
59
- </style>
60
- <canvas
61
- id="pdfcanvas"
62
- .height=${0}
63
- .width=${0}
64
-
65
- ></canvas>
66
- `;
67
- }
68
-
69
- public static pdfJsReady: Promise<any>;
70
- public static pdfjsLib: any // typeof pdfjsTypes;
71
- public async connectedCallback() {
72
- super.connectedCallback();
73
- if (!DeesPdf.pdfJsReady) {
74
- const pdfJsReadyDeferred = domtools.plugins.smartpromise.defer();
75
- DeesPdf.pdfJsReady = pdfJsReadyDeferred.promise;
76
- // @ts-ignore
77
- DeesPdf.pdfjsLib = await import('https://cdn.jsdelivr.net/npm/pdfjs-dist@4.0.379/+esm');
78
- DeesPdf.pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.0.379/build/pdf.worker.mjs';
79
- pdfJsReadyDeferred.resolve();
80
- }
81
- await DeesPdf.pdfJsReady;
82
- this.displayContent();
83
-
84
-
85
- }
86
-
87
- public async displayContent() {
88
- await DeesPdf.pdfJsReady;
89
-
90
- // Asynchronous download of PDF
91
- const loadingTask = DeesPdf.pdfjsLib.getDocument(this.pdfUrl);
92
- loadingTask.promise.then(
93
- (pdf) => {
94
- console.log('PDF loaded');
95
-
96
- // Fetch the first page
97
- const pageNumber = 1;
98
- pdf.getPage(pageNumber).then((page) => {
99
- console.log('Page loaded');
100
-
101
- const scale = 10;
102
- const viewport = page.getViewport({ scale: scale });
103
-
104
- // Prepare canvas using PDF page dimensions
105
- const canvas: any = this.shadowRoot.querySelector('#pdfcanvas');
106
- const context = canvas.getContext('2d');
107
- canvas.height = viewport.height;
108
- canvas.width = viewport.width;
109
-
110
- // Render PDF page into canvas context
111
- const renderContext = {
112
- canvasContext: context,
113
- viewport: viewport,
114
- };
115
-
116
- const renderTask = page.render(renderContext);
117
- renderTask.promise.then(function () {
118
- console.log('Page rendered');
119
- });
120
- });
121
- },
122
- (reason) => {
123
- // PDF loading error
124
- console.error(reason);
125
- }
126
- );
127
- }
128
-
129
- /**
130
- * Provide context menu items for the global context menu handler
131
- */
132
- public getContextMenuItems() {
133
- return [
134
- {
135
- name: 'Open PDF in New Tab',
136
- iconName: 'lucide:ExternalLink',
137
- action: async () => {
138
- window.open(this.pdfUrl, '_blank');
139
- }
140
- },
141
- { divider: true },
142
- {
143
- name: 'Copy PDF URL',
144
- iconName: 'lucide:Copy',
145
- action: async () => {
146
- await navigator.clipboard.writeText(this.pdfUrl);
147
- }
148
- },
149
- {
150
- name: 'Download PDF',
151
- iconName: 'lucide:Download',
152
- action: async () => {
153
- const link = document.createElement('a');
154
- link.href = this.pdfUrl;
155
- link.download = this.pdfUrl.split('/').pop() || 'document.pdf';
156
- link.click();
157
- }
158
- }
159
- ];
160
- }
161
- }
@@ -1 +0,0 @@
1
- export * from './component.js';
@@ -1,24 +0,0 @@
1
- import { customElement } from '@design.estate/dees-element';
2
- import { DeesTilePdf } from '../dees-tile-pdf/component.js';
3
-
4
- declare global {
5
- interface HTMLElementTagNameMap {
6
- 'dees-pdf-preview': DeesPdfPreview;
7
- }
8
- }
9
-
10
- /**
11
- * @deprecated Use <dees-tile-pdf> instead. This component will be removed in a future release.
12
- */
13
- @customElement('dees-pdf-preview')
14
- export class DeesPdfPreview extends DeesTilePdf {
15
- public static demoGroups: never[] = []; // Hide from demo catalog
16
-
17
- public connectedCallback(): Promise<void> {
18
- console.warn(
19
- '[dees-pdf-preview] is deprecated. Use <dees-tile-pdf> instead. ' +
20
- 'This component will be removed in a future release.'
21
- );
22
- return super.connectedCallback();
23
- }
24
- }
@@ -1,189 +0,0 @@
1
- import { html } from '@design.estate/dees-element';
2
-
3
- export const demo = () => {
4
- const samplePdfs = [
5
- 'https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf',
6
- 'https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/web/compressed.tracemonkey-pldi-09.pdf',
7
- ];
8
-
9
- const generateGridItems = (count: number) => {
10
- const items = [];
11
- for (let i = 0; i < count; i++) {
12
- const pdfUrl = samplePdfs[i % samplePdfs.length];
13
- items.push(html`
14
- <dees-pdf-preview
15
- pdfUrl="${pdfUrl}"
16
- maxPages="3"
17
- stackOffset="6"
18
- clickable="true"
19
- grid-mode
20
- @pdf-preview-click=${(e: CustomEvent) => {
21
- console.log('PDF Preview clicked:', e.detail);
22
- alert(`PDF clicked: ${e.detail.pageCount} pages`);
23
- }}
24
- ></dees-pdf-preview>
25
- `);
26
- }
27
- return items;
28
- };
29
-
30
- return html`
31
- <style>
32
- .demo-container {
33
- padding: 40px;
34
- background: #f5f5f5;
35
- }
36
-
37
- .demo-section {
38
- margin-bottom: 60px;
39
- }
40
-
41
- h3 {
42
- margin-bottom: 20px;
43
- font-size: 18px;
44
- font-weight: 600;
45
- }
46
-
47
- .preview-grid {
48
- display: grid;
49
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
50
- gap: 24px;
51
- }
52
-
53
- .preview-row {
54
- display: flex;
55
- gap: 24px;
56
- align-items: center;
57
- margin-bottom: 20px;
58
- }
59
-
60
- .preview-label {
61
- font-size: 14px;
62
- font-weight: 500;
63
- min-width: 100px;
64
- }
65
-
66
- .performance-stats {
67
- margin-top: 20px;
68
- padding: 16px;
69
- background: white;
70
- border-radius: 8px;
71
- font-size: 14px;
72
- }
73
-
74
- .stats-grid {
75
- display: grid;
76
- grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
77
- gap: 12px;
78
- margin-top: 12px;
79
- }
80
-
81
- .stat-item {
82
- display: flex;
83
- flex-direction: column;
84
- gap: 4px;
85
- }
86
-
87
- .stat-label {
88
- font-size: 12px;
89
- color: #666;
90
- }
91
-
92
- .stat-value {
93
- font-size: 16px;
94
- font-weight: 600;
95
- }
96
- </style>
97
-
98
- <div class="demo-container">
99
- <div class="demo-section">
100
- <h3>Single PDF Preview with Stacked Pages</h3>
101
- <dees-pdf-preview
102
- pdfUrl="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/web/compressed.tracemonkey-pldi-09.pdf"
103
- maxPages="3"
104
- stackOffset="8"
105
- clickable="true"
106
- ></dees-pdf-preview>
107
- </div>
108
-
109
- <div class="demo-section">
110
- <h3>Different Sizes</h3>
111
- <div class="preview-row">
112
- <div class="preview-label">Small:</div>
113
- <dees-pdf-preview
114
- size="small"
115
- pdfUrl="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf"
116
- maxPages="2"
117
- stackOffset="6"
118
- clickable="true"
119
- ></dees-pdf-preview>
120
- </div>
121
-
122
- <div class="preview-row">
123
- <div class="preview-label">Default:</div>
124
- <dees-pdf-preview
125
- pdfUrl="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf"
126
- maxPages="3"
127
- stackOffset="8"
128
- clickable="true"
129
- ></dees-pdf-preview>
130
- </div>
131
-
132
- <div class="preview-row">
133
- <div class="preview-label">Large:</div>
134
- <dees-pdf-preview
135
- size="large"
136
- pdfUrl="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf"
137
- maxPages="4"
138
- stackOffset="10"
139
- clickable="true"
140
- ></dees-pdf-preview>
141
- </div>
142
- </div>
143
-
144
- <div class="demo-section">
145
- <h3>Non-Clickable Preview</h3>
146
- <dees-pdf-preview
147
- pdfUrl="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/examples/learning/helloworld.pdf"
148
- maxPages="3"
149
- stackOffset="8"
150
- clickable="false"
151
- ></dees-pdf-preview>
152
- </div>
153
-
154
- <div class="demo-section">
155
- <h3>Performance Grid - 50 PDFs with Lazy Loading</h3>
156
- <p style="margin-bottom: 20px; font-size: 14px; color: #666;">
157
- This grid demonstrates the performance optimizations with 50 PDF previews.
158
- Scroll to see lazy loading in action - previews render only when visible.
159
- </p>
160
-
161
- <div class="preview-grid">
162
- ${generateGridItems(50)}
163
- </div>
164
-
165
- <div class="performance-stats">
166
- <h4>Performance Features</h4>
167
- <div class="stats-grid">
168
- <div class="stat-item">
169
- <span class="stat-label">Lazy Loading</span>
170
- <span class="stat-value">✓ Enabled</span>
171
- </div>
172
- <div class="stat-item">
173
- <span class="stat-label">Canvas Pooling</span>
174
- <span class="stat-value">✓ Active</span>
175
- </div>
176
- <div class="stat-item">
177
- <span class="stat-label">Memory Management</span>
178
- <span class="stat-value">✓ Optimized</span>
179
- </div>
180
- <div class="stat-item">
181
- <span class="stat-label">Intersection Observer</span>
182
- <span class="stat-value">200px margin</span>
183
- </div>
184
- </div>
185
- </div>
186
- </div>
187
- </div>
188
- `;
189
- };
@@ -1 +0,0 @@
1
- export * from './component.js';