genus-pdf-viewer 0.2.0 → 0.2.2

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.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  Framework-agnostic PDF viewer built on `pdfjs-dist` with a custom element and a small TypeScript API.
4
4
 
5
+ ## Highlights
6
+
7
+ - Single-row toolbar with horizontal overflow when space is tight
8
+ - Continuous-scroll document mode for reader-style PDFs
9
+ - Canvas-based rendering with packaged download controls
10
+ - Works as either a custom element or a JS API mount
11
+
5
12
  ## Install
6
13
 
7
14
  ```bash
@@ -24,10 +31,10 @@ const root = document.getElementById("pdf-root");
24
31
  if (root) {
25
32
  const viewer = createGenusPdfViewer(root, {
26
33
  src: "https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf",
27
- title: "Example PDF",
28
34
  fit: "width",
29
- continuous: false,
35
+ continuous: true,
30
36
  showToolbar: true,
37
+ zoomStep: 0.15,
31
38
  });
32
39
 
33
40
  viewer.addEventListener("genus-ready", (event) => {
@@ -49,11 +56,10 @@ defineGenusPdfViewerElement();
49
56
  ```html
50
57
  <genus-pdf-viewer
51
58
  src="https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf"
52
- title="Example PDF"
53
59
  page="1"
54
60
  zoom="1"
55
61
  fit="width"
56
- continuous="false"
62
+ continuous="true"
57
63
  toolbar="true"
58
64
  download="true"
59
65
  ></genus-pdf-viewer>
@@ -66,7 +72,7 @@ defineGenusPdfViewerElement();
66
72
  Config fields:
67
73
 
68
74
  - `src`: `string | URL | Uint8Array | Blob`
69
- - `title?`: custom download and toolbar title
75
+ - `title?`: custom download filename
70
76
  - `page?`, `zoom?`, `minZoom?`, `maxZoom?`, `zoomStep?`
71
77
  - `fit?`: `"width" | "page" | "none"`
72
78
  - `continuous?`, `showToolbar?`, `allowDownload?`
@@ -101,6 +107,30 @@ The viewer emits bubbling custom events:
101
107
  - `genus-pdf-viewer/pdf.worker.min.mjs`: worker asset if you need to host it yourself
102
108
  - `genus-pdf-viewer/styles.css`: packaged stylesheet export
103
109
 
110
+ ## Angular / Vite Setup
111
+
112
+ If your Angular app is using Vite-based dev/build tooling, prefer the JS API and pass a worker URL from the app's own `pdfjs-dist` install so the API and worker versions always match.
113
+
114
+ ```ts
115
+ import { createGenusPdfViewer } from "genus-pdf-viewer";
116
+ import workerUrl from "pdfjs-dist/build/pdf.worker.min.mjs?url";
117
+
118
+ const host = document.getElementById("pdf-root");
119
+
120
+ if (host) {
121
+ createGenusPdfViewer(host, {
122
+ src: pdfUrl,
123
+ fit: "width",
124
+ continuous: true,
125
+ showToolbar: true,
126
+ zoomStep: 0.15,
127
+ workerSrc: workerUrl,
128
+ });
129
+ }
130
+ ```
131
+
132
+ This is the setup used in `carewall_genusconnect` to avoid worker-path mismatches and fake-worker fallback.
133
+
104
134
  ## Demo
105
135
 
106
136
  ```bash
package/dist/styles.css CHANGED
@@ -23,25 +23,34 @@
23
23
  .toolbar {
24
24
  display: flex;
25
25
  align-items: center;
26
- gap: 8px;
26
+ flex-wrap: nowrap;
27
+ gap: 10px;
27
28
  padding: 10px 12px;
28
29
  background: rgba(255, 255, 255, 0.92);
29
30
  border-bottom: 1px solid #dbe4ee;
31
+ position: sticky;
32
+ top: 0;
33
+ z-index: 2;
34
+ backdrop-filter: blur(14px);
35
+ overflow-x: auto;
36
+ overflow-y: hidden;
37
+ scrollbar-width: thin;
30
38
  }
31
39
 
32
40
  .toolbar[hidden] {
33
41
  display: none;
34
42
  }
35
43
 
36
- .title {
37
- font-size: 14px;
38
- font-weight: 700;
39
- color: #334155;
40
- margin-right: auto;
41
- min-width: 0;
42
- overflow: hidden;
43
- text-overflow: ellipsis;
44
- white-space: nowrap;
44
+ .toolbar-group {
45
+ display: flex;
46
+ align-items: center;
47
+ gap: 8px;
48
+ flex-wrap: nowrap;
49
+ flex: 0 0 auto;
50
+ }
51
+
52
+ .toolbar-group-actions {
53
+ margin-left: auto;
45
54
  }
46
55
 
47
56
  .toolbar button {
@@ -56,6 +65,20 @@
56
65
  font: inherit;
57
66
  font-weight: 700;
58
67
  cursor: pointer;
68
+ transition:
69
+ transform 140ms ease,
70
+ background-color 180ms ease,
71
+ border-color 180ms ease,
72
+ box-shadow 180ms ease;
73
+ }
74
+
75
+ .toolbar button:hover:not(:disabled) {
76
+ transform: translateY(-1px);
77
+ box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);
78
+ }
79
+
80
+ .toolbar button:active:not(:disabled) {
81
+ transform: translateY(0);
59
82
  }
60
83
 
61
84
  .toolbar button:disabled {
@@ -81,6 +104,8 @@
81
104
  min-height: 320px;
82
105
  max-height: 80vh;
83
106
  overflow: auto;
107
+ scroll-behavior: smooth;
108
+ overscroll-behavior: contain;
84
109
  background:
85
110
  radial-gradient(circle at top, rgba(15, 118, 110, 0.08), transparent 22%),
86
111
  #eef2f7;
@@ -103,6 +128,17 @@
103
128
  background: #ffffff;
104
129
  border-radius: 8px;
105
130
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
131
+ opacity: 1;
132
+ transform: translateY(0) scale(1);
133
+ transition:
134
+ opacity 220ms ease,
135
+ transform 220ms ease,
136
+ box-shadow 220ms ease;
137
+ }
138
+
139
+ .page.entering {
140
+ opacity: 0;
141
+ transform: translateY(16px) scale(0.985);
106
142
  }
107
143
 
108
144
  canvas {
@@ -110,6 +146,7 @@ canvas {
110
146
  max-width: 100%;
111
147
  height: auto;
112
148
  border-radius: 8px;
149
+ transition: filter 180ms ease;
113
150
  }
114
151
 
115
152
  .status {
@@ -130,3 +167,31 @@ canvas {
130
167
  .status.visible {
131
168
  display: flex;
132
169
  }
170
+
171
+ @media (max-width: 720px) {
172
+ .toolbar {
173
+ gap: 8px;
174
+ }
175
+
176
+ .toolbar button {
177
+ min-height: 40px;
178
+ }
179
+
180
+ .stage {
181
+ max-height: none;
182
+ min-height: 60vh;
183
+ padding: 12px;
184
+ }
185
+ }
186
+
187
+ @media (prefers-reduced-motion: reduce) {
188
+ .toolbar button,
189
+ .page,
190
+ canvas {
191
+ transition: none;
192
+ }
193
+
194
+ .stage {
195
+ scroll-behavior: auto;
196
+ }
197
+ }
package/dist/styles.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VIEWER_STYLES = "\n:host {\n display: block;\n color: #0f172a;\n font-family: \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.shell {\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n min-height: 320px;\n background: #f8fafc;\n border: 1px solid #dbe4ee;\n border-radius: 18px;\n overflow: hidden;\n}\n\n.toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n background: rgba(255, 255, 255, 0.92);\n border-bottom: 1px solid #dbe4ee;\n}\n\n.toolbar[hidden] {\n display: none;\n}\n\n.title {\n font-size: 14px;\n font-weight: 700;\n color: #334155;\n margin-right: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.toolbar button {\n appearance: none;\n border: 1px solid #cbd5e1;\n background: #ffffff;\n color: #0f172a;\n border-radius: 999px;\n min-width: 36px;\n height: 36px;\n padding: 0 12px;\n font: inherit;\n font-weight: 700;\n cursor: pointer;\n}\n\n.toolbar button:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n\n.toolbar button.primary {\n background: #0f766e;\n border-color: #0f766e;\n color: #f8fafc;\n}\n\n.toolbar .value {\n min-width: 56px;\n text-align: center;\n font-size: 13px;\n color: #475569;\n}\n\n.stage {\n position: relative;\n min-height: 320px;\n max-height: 80vh;\n overflow: auto;\n background:\n radial-gradient(circle at top, rgba(15, 118, 110, 0.08), transparent 22%),\n #eef2f7;\n padding: 16px;\n}\n\n.stage.single {\n display: grid;\n place-items: center;\n}\n\n.page-stack {\n display: flex;\n flex-direction: column;\n gap: 16px;\n align-items: center;\n}\n\n.page {\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);\n}\n\ncanvas {\n display: block;\n max-width: 100%;\n height: auto;\n border-radius: 8px;\n}\n\n.status {\n position: absolute;\n inset: 16px;\n display: none;\n align-items: center;\n justify-content: center;\n padding: 24px;\n border-radius: 12px;\n background: rgba(248, 250, 252, 0.92);\n color: #475569;\n text-align: center;\n font-size: 14px;\n line-height: 1.5;\n}\n\n.status.visible {\n display: flex;\n}\n";
1
+ export declare const VIEWER_STYLES = "\n:host {\n display: block;\n color: #0f172a;\n font-family: \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.shell {\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n min-height: 320px;\n background: #f8fafc;\n border: 1px solid #dbe4ee;\n border-radius: 18px;\n overflow: hidden;\n}\n\n.toolbar {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: 10px;\n padding: 10px 12px;\n background: rgba(255, 255, 255, 0.92);\n border-bottom: 1px solid #dbe4ee;\n position: sticky;\n top: 0;\n z-index: 2;\n backdrop-filter: blur(14px);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: thin;\n}\n\n.toolbar[hidden] {\n display: none;\n}\n\n.toolbar-group {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n flex: 0 0 auto;\n}\n\n.toolbar-group-actions {\n margin-left: auto;\n}\n\n.toolbar button {\n appearance: none;\n border: 1px solid #cbd5e1;\n background: #ffffff;\n color: #0f172a;\n border-radius: 999px;\n min-width: 36px;\n height: 36px;\n padding: 0 12px;\n font: inherit;\n font-weight: 700;\n cursor: pointer;\n transition:\n transform 140ms ease,\n background-color 180ms ease,\n border-color 180ms ease,\n box-shadow 180ms ease;\n}\n\n.toolbar button:hover:not(:disabled) {\n transform: translateY(-1px);\n box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);\n}\n\n.toolbar button:active:not(:disabled) {\n transform: translateY(0);\n}\n\n.toolbar button:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n\n.toolbar button.primary {\n background: #0f766e;\n border-color: #0f766e;\n color: #f8fafc;\n}\n\n.toolbar .value {\n min-width: 68px;\n text-align: center;\n font-size: 13px;\n color: #475569;\n}\n\n.stage {\n position: relative;\n min-height: 320px;\n max-height: 80vh;\n overflow: auto;\n scroll-behavior: smooth;\n overscroll-behavior: contain;\n background:\n radial-gradient(circle at top, rgba(15, 118, 110, 0.08), transparent 22%),\n #eef2f7;\n padding: 16px;\n}\n\n.stage.single {\n display: grid;\n place-items: center;\n}\n\n.page-stack {\n display: flex;\n flex-direction: column;\n gap: 16px;\n align-items: center;\n}\n\n.page {\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);\n opacity: 1;\n transform: translateY(0) scale(1);\n transition:\n opacity 220ms ease,\n transform 220ms ease,\n box-shadow 220ms ease;\n}\n\n.page.entering {\n opacity: 0;\n transform: translateY(16px) scale(0.985);\n}\n\ncanvas {\n display: block;\n max-width: 100%;\n height: auto;\n border-radius: 8px;\n transition: filter 180ms ease;\n}\n\n.status {\n position: absolute;\n inset: 16px;\n display: none;\n align-items: center;\n justify-content: center;\n padding: 24px;\n border-radius: 12px;\n background: rgba(248, 250, 252, 0.92);\n color: #475569;\n text-align: center;\n font-size: 14px;\n line-height: 1.5;\n}\n\n.status.visible {\n display: flex;\n}\n\n@media (max-width: 720px) {\n .toolbar {\n gap: 8px;\n }\n\n .toolbar button {\n min-height: 40px;\n }\n\n .stage {\n max-height: none;\n min-height: 60vh;\n padding: 12px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .toolbar button,\n .page,\n canvas {\n transition: none;\n }\n\n .stage {\n scroll-behavior: auto;\n }\n}\n";
2
2
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,8sEAqIzB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,k3GAsMzB,CAAC"}
package/dist/styles.js CHANGED
@@ -24,25 +24,34 @@ export const VIEWER_STYLES = `
24
24
  .toolbar {
25
25
  display: flex;
26
26
  align-items: center;
27
- gap: 8px;
27
+ flex-wrap: nowrap;
28
+ gap: 10px;
28
29
  padding: 10px 12px;
29
30
  background: rgba(255, 255, 255, 0.92);
30
31
  border-bottom: 1px solid #dbe4ee;
32
+ position: sticky;
33
+ top: 0;
34
+ z-index: 2;
35
+ backdrop-filter: blur(14px);
36
+ overflow-x: auto;
37
+ overflow-y: hidden;
38
+ scrollbar-width: thin;
31
39
  }
32
40
 
33
41
  .toolbar[hidden] {
34
42
  display: none;
35
43
  }
36
44
 
37
- .title {
38
- font-size: 14px;
39
- font-weight: 700;
40
- color: #334155;
41
- margin-right: auto;
42
- min-width: 0;
43
- overflow: hidden;
44
- text-overflow: ellipsis;
45
- white-space: nowrap;
45
+ .toolbar-group {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 8px;
49
+ flex-wrap: nowrap;
50
+ flex: 0 0 auto;
51
+ }
52
+
53
+ .toolbar-group-actions {
54
+ margin-left: auto;
46
55
  }
47
56
 
48
57
  .toolbar button {
@@ -57,6 +66,20 @@ export const VIEWER_STYLES = `
57
66
  font: inherit;
58
67
  font-weight: 700;
59
68
  cursor: pointer;
69
+ transition:
70
+ transform 140ms ease,
71
+ background-color 180ms ease,
72
+ border-color 180ms ease,
73
+ box-shadow 180ms ease;
74
+ }
75
+
76
+ .toolbar button:hover:not(:disabled) {
77
+ transform: translateY(-1px);
78
+ box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);
79
+ }
80
+
81
+ .toolbar button:active:not(:disabled) {
82
+ transform: translateY(0);
60
83
  }
61
84
 
62
85
  .toolbar button:disabled {
@@ -71,7 +94,7 @@ export const VIEWER_STYLES = `
71
94
  }
72
95
 
73
96
  .toolbar .value {
74
- min-width: 56px;
97
+ min-width: 68px;
75
98
  text-align: center;
76
99
  font-size: 13px;
77
100
  color: #475569;
@@ -82,6 +105,8 @@ export const VIEWER_STYLES = `
82
105
  min-height: 320px;
83
106
  max-height: 80vh;
84
107
  overflow: auto;
108
+ scroll-behavior: smooth;
109
+ overscroll-behavior: contain;
85
110
  background:
86
111
  radial-gradient(circle at top, rgba(15, 118, 110, 0.08), transparent 22%),
87
112
  #eef2f7;
@@ -104,6 +129,17 @@ export const VIEWER_STYLES = `
104
129
  background: #ffffff;
105
130
  border-radius: 8px;
106
131
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
132
+ opacity: 1;
133
+ transform: translateY(0) scale(1);
134
+ transition:
135
+ opacity 220ms ease,
136
+ transform 220ms ease,
137
+ box-shadow 220ms ease;
138
+ }
139
+
140
+ .page.entering {
141
+ opacity: 0;
142
+ transform: translateY(16px) scale(0.985);
107
143
  }
108
144
 
109
145
  canvas {
@@ -111,6 +147,7 @@ canvas {
111
147
  max-width: 100%;
112
148
  height: auto;
113
149
  border-radius: 8px;
150
+ transition: filter 180ms ease;
114
151
  }
115
152
 
116
153
  .status {
@@ -131,5 +168,33 @@ canvas {
131
168
  .status.visible {
132
169
  display: flex;
133
170
  }
171
+
172
+ @media (max-width: 720px) {
173
+ .toolbar {
174
+ gap: 8px;
175
+ }
176
+
177
+ .toolbar button {
178
+ min-height: 40px;
179
+ }
180
+
181
+ .stage {
182
+ max-height: none;
183
+ min-height: 60vh;
184
+ padding: 12px;
185
+ }
186
+ }
187
+
188
+ @media (prefers-reduced-motion: reduce) {
189
+ .toolbar button,
190
+ .page,
191
+ canvas {
192
+ transition: none;
193
+ }
194
+
195
+ .stage {
196
+ scroll-behavior: auto;
197
+ }
198
+ }
134
199
  `;
135
200
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqI5B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsM5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAMrB,MAAM,YAAY,CAAC;AA2MpB,qBAAa,qBAAsB,SAAQ,WAAW;;IACpD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;;IA+HD,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,IAAI,IAAI;IAOhC,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IA+DvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAgS/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,SAAuB,GAAG,IAAI,CAIhF;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,oBAAoB,GAC3B,qBAAqB,CAMvB"}
1
+ {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAMrB,MAAM,YAAY,CAAC;AA+MpB,qBAAa,qBAAsB,SAAQ,WAAW;;IACpD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;;IAiID,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,IAAI,IAAI;IAOhC,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IA+DvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiV/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,SAAuB,GAAG,IAAI,CAIhF;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,oBAAoB,GAC3B,qBAAqB,CAMvB"}
package/dist/viewer.js CHANGED
@@ -148,7 +148,9 @@ export class GenusPdfViewerElement extends HTMLElement {
148
148
  #renderVersion = 0;
149
149
  #shadow = this.attachShadow({ mode: "open" });
150
150
  #toolbar = document.createElement("div");
151
- #title = document.createElement("div");
151
+ #navGroup = document.createElement("div");
152
+ #zoomGroup = document.createElement("div");
153
+ #actionGroup = document.createElement("div");
152
154
  #pageValue = document.createElement("span");
153
155
  #zoomValue = document.createElement("span");
154
156
  #prevButton = document.createElement("button");
@@ -190,7 +192,9 @@ export class GenusPdfViewerElement extends HTMLElement {
190
192
  const shell = document.createElement("div");
191
193
  shell.className = "shell";
192
194
  this.#toolbar.className = "toolbar";
193
- this.#title.className = "title";
195
+ this.#navGroup.className = "toolbar-group toolbar-group-nav";
196
+ this.#zoomGroup.className = "toolbar-group toolbar-group-zoom";
197
+ this.#actionGroup.className = "toolbar-group toolbar-group-actions";
194
198
  this.#pageValue.className = "value";
195
199
  this.#zoomValue.className = "value";
196
200
  this.#prevButton.type = "button";
@@ -224,7 +228,10 @@ export class GenusPdfViewerElement extends HTMLElement {
224
228
  this.#downloadButton.addEventListener("click", () => {
225
229
  void this.download();
226
230
  });
227
- this.#toolbar.append(this.#title, this.#prevButton, this.#pageValue, this.#nextButton, this.#zoomOutButton, this.#zoomValue, this.#zoomInButton, this.#resetZoomButton, this.#downloadButton);
231
+ this.#navGroup.append(this.#prevButton, this.#pageValue, this.#nextButton);
232
+ this.#zoomGroup.append(this.#zoomOutButton, this.#zoomValue, this.#zoomInButton, this.#resetZoomButton);
233
+ this.#actionGroup.append(this.#downloadButton);
234
+ this.#toolbar.append(this.#navGroup, this.#zoomGroup, this.#actionGroup);
228
235
  this.#stage.className = "stage single";
229
236
  this.#stage.addEventListener("scroll", this.#handleScroll);
230
237
  this.#status.className = "status";
@@ -487,6 +494,7 @@ export class GenusPdfViewerElement extends HTMLElement {
487
494
  return;
488
495
  }
489
496
  const renderVersion = ++this.#renderVersion;
497
+ const scrollSnapshot = config.continuous ? this.#captureScrollSnapshot() : null;
490
498
  this.#setStatus(null);
491
499
  this.#stage.className = config.continuous ? "stage" : "stage single";
492
500
  const stageChildren = Array.from(this.#stage.children);
@@ -506,14 +514,19 @@ export class GenusPdfViewerElement extends HTMLElement {
506
514
  const page = await documentProxy.getPage(index);
507
515
  const wrapper = await this.#renderPage(page, config, index);
508
516
  stack.appendChild(wrapper);
517
+ this.#animatePageEntry(wrapper);
509
518
  }
510
- this.#scrollToPage(config.page ?? DEFAULT_CONFIG.page, false);
519
+ this.#restoreScrollSnapshot(scrollSnapshot ?? {
520
+ page: config.page ?? DEFAULT_CONFIG.page,
521
+ offsetRatio: 0,
522
+ }, false);
511
523
  }
512
524
  else {
513
525
  const pageNumber = clampPage(config.page ?? DEFAULT_CONFIG.page, documentProxy.numPages);
514
526
  const page = await documentProxy.getPage(pageNumber);
515
527
  const wrapper = await this.#renderPage(page, config, pageNumber);
516
528
  this.#stage.insertBefore(wrapper, this.#status);
529
+ this.#animatePageEntry(wrapper);
517
530
  }
518
531
  this.#syncToolbarState();
519
532
  }
@@ -565,7 +578,6 @@ export class GenusPdfViewerElement extends HTMLElement {
565
578
  const page = config?.page ?? DEFAULT_CONFIG.page;
566
579
  const zoom = config?.zoom ?? DEFAULT_CONFIG.zoom;
567
580
  this.#toolbar.hidden = !(config?.showToolbar ?? DEFAULT_CONFIG.showToolbar);
568
- this.#title.textContent = config ? resolveTitle(config) : "PDF viewer";
569
581
  this.#pageValue.textContent = `${page} / ${this.#pageCount || 0}`;
570
582
  this.#zoomValue.textContent = `${Math.round(zoom * 100)}%`;
571
583
  this.#prevButton.disabled = page <= 1;
@@ -591,6 +603,39 @@ export class GenusPdfViewerElement extends HTMLElement {
591
603
  behavior: smooth ? "smooth" : "auto",
592
604
  });
593
605
  }
606
+ #captureScrollSnapshot() {
607
+ const currentPage = this.#detectVisiblePage();
608
+ if (!currentPage) {
609
+ return null;
610
+ }
611
+ const target = this.#stage.querySelector(`.page[data-page="${currentPage}"]`);
612
+ if (!target) {
613
+ return null;
614
+ }
615
+ const offsetWithinPage = Math.max(0, this.#stage.scrollTop - target.offsetTop);
616
+ const offsetRatio = target.offsetHeight > 0 ? Math.min(1, offsetWithinPage / target.offsetHeight) : 0;
617
+ return {
618
+ page: currentPage,
619
+ offsetRatio,
620
+ };
621
+ }
622
+ #restoreScrollSnapshot(snapshot, smooth) {
623
+ const target = this.#stage.querySelector(`.page[data-page="${snapshot.page}"]`);
624
+ if (!target) {
625
+ return;
626
+ }
627
+ const top = target.offsetTop + target.offsetHeight * snapshot.offsetRatio;
628
+ this.#stage.scrollTo({
629
+ top,
630
+ behavior: smooth ? "smooth" : "auto",
631
+ });
632
+ }
633
+ #animatePageEntry(wrapper) {
634
+ wrapper.classList.add("entering");
635
+ requestAnimationFrame(() => {
636
+ wrapper.classList.remove("entering");
637
+ });
638
+ }
594
639
  #detectVisiblePage() {
595
640
  const pages = Array.from(this.#stage.querySelectorAll(".page"));
596
641
  if (pages.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genus-pdf-viewer",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Framework-agnostic PDF viewer built on pdf.js with a custom element and TypeScript API.",
5
5
  "type": "module",
6
6
  "sideEffects": [