pdfjs-viewer-element 3.1.2 → 3.2.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/README.md +34 -10
- package/dist/paper-and-ink-CqrRiPsP.js +1 -0
- package/dist/pdfjs-viewer-element.js +1 -1
- package/package.json +15 -7
package/README.md
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# pdfjs-viewer-element
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
The package provides a custom element, based on PDF.js [viewer options](https://github.com/mozilla/pdf.js/wiki/Viewer-options) and [URL parameters](https://github.com/mozilla/pdf.js/wiki/Debugging-PDF.js#url-parameters) API.
|
|
6
|
-
|
|
7
|
-
Supported in all [major browsers](https://caniuse.com/custom-elementsv1), and works with most [JS frameworks](https://custom-elements-everywhere.com/).
|
|
3
|
+
Standalone, isolated, drop-in [PDF.js default viewer](https://mozilla.github.io/pdf.js/web/viewer.html).
|
|
8
4
|
|
|
9
5
|
[](https://www.npmjs.com/package/pdfjs-viewer-element)
|
|
10
6
|
[](https://deepwiki.com/alekswebnet/pdfjs-viewer-element)
|
|
@@ -17,11 +13,12 @@ Supported in all [major browsers](https://caniuse.com/custom-elementsv1), and wo
|
|
|
17
13
|
- Standalone isolated web component with no runtime dependencies
|
|
18
14
|
- Drop-in, iframe-based PDF.js default viewer for any web app
|
|
19
15
|
- Works with same-origin and cross-origin PDF documents
|
|
20
|
-
- Configure via attributes
|
|
16
|
+
- Configure via attributes (page, zoom, search, pagemode, locale)
|
|
21
17
|
- Programmatic access to `PDFViewerApplication` via the `initPromise` public property
|
|
22
|
-
-
|
|
18
|
+
- Built-in Paper & Ink default theme, with theme control (automatic/light/dark) and custom CSS injection
|
|
19
|
+
- Resource path attributes for PDF.js internals (`worker-src`, `c-map-url`, `icc-url`, `standard-font-data-url`, `wasm-url`, and more)
|
|
23
20
|
- Locale override support using PDF.js viewer locales
|
|
24
|
-
- Supports all
|
|
21
|
+
- Supports all [major browsers](https://caniuse.com/custom-elementsv1) and most [JS frameworks](https://custom-elements-everywhere.com/).
|
|
25
22
|
|
|
26
23
|
## Docs
|
|
27
24
|
|
|
@@ -76,7 +73,7 @@ The element is block-level and needs an explicit height.
|
|
|
76
73
|
|
|
77
74
|
## Attributes
|
|
78
75
|
|
|
79
|
-
| Attribute | Description | Default |
|
|
76
|
+
| <div style="min-width: 19ch">Attribute</div> | <div style="min-width: 15ch">Description</div> | Default |
|
|
80
77
|
| --- | --- | --- |
|
|
81
78
|
| `src` | PDF file URL. | `''` |
|
|
82
79
|
| `iframe-title` | Title for the internal `iframe` (recommended for accessibility). | `PDF viewer window` |
|
|
@@ -89,6 +86,13 @@ The element is block-level and needs an explicit height.
|
|
|
89
86
|
| `locale-src-template` | Locale file URL template. Must contain `{locale}` placeholder. Used together with `locale`. | `https://cdn.jsdelivr.net/gh/mozilla-l10n/firefox-l10n@main/{locale}/toolkit/toolkit/pdfviewer/viewer.ftl` |
|
|
90
87
|
| `viewer-css-theme` | Viewer theme: `AUTOMATIC`, `LIGHT`, `DARK`. | `AUTOMATIC` |
|
|
91
88
|
| `worker-src` | PDF.js worker URL override. | `<package-url>/pdf.worker.min.mjs` |
|
|
89
|
+
| `debugger-src` | PDF.js debugger script URL (`debuggerSrc` option). | `./debugger.mjs` |
|
|
90
|
+
| `c-map-url` | CMap directory URL (`cMapUrl` option). | `../web/cmaps/` |
|
|
91
|
+
| `icc-url` | ICC profile directory URL (`iccUrl` option). | `../web/iccs/` |
|
|
92
|
+
| `image-resources-path` | Image resources directory (`imageResourcesPath` option). | `./images/` |
|
|
93
|
+
| `sandbox-bundle-src` | Sandbox bundle URL (`sandboxBundleSrc` option). | `../build/pdf.sandbox.mjs` |
|
|
94
|
+
| `standard-font-data-url` | Standard fonts directory (`standardFontDataUrl` option). | `../web/standard_fonts/` |
|
|
95
|
+
| `wasm-url` | WASM assets directory (`wasmUrl` option). | `../web/wasm/` |
|
|
92
96
|
|
|
93
97
|
Play with attributes on [API docs page](https://alekswebnet.github.io/pdfjs-viewer-element/#api).
|
|
94
98
|
|
|
@@ -99,7 +103,7 @@ Most attributes can be updated dynamically:
|
|
|
99
103
|
- `src` updates by calling PDF.js `open({ url })` without rebuilding the viewer.
|
|
100
104
|
- `page`, `search`, `phrase`, `zoom`, `pagemode` update via hash parameters.
|
|
101
105
|
- `viewer-css-theme` updates the viewer theme at runtime.
|
|
102
|
-
- `worker-src`
|
|
106
|
+
- `worker-src`, `debugger-src`, `c-map-url`, `icc-url`, `image-resources-path`, `sandbox-bundle-src`, `standard-font-data-url`, `wasm-url` update viewer options for subsequent document loads.
|
|
103
107
|
- `locale` rebuilds the viewer so localization resources can be applied.
|
|
104
108
|
|
|
105
109
|
## Worker source
|
|
@@ -139,6 +143,8 @@ Example:
|
|
|
139
143
|
|
|
140
144
|
## Viewer CSS theme
|
|
141
145
|
|
|
146
|
+
The component includes and applies a default Paper & Ink theme from `src/themes/paper-and-ink.css`.
|
|
147
|
+
|
|
142
148
|
Use `viewer-css-theme` attribute to set light or dark theme manually:
|
|
143
149
|
|
|
144
150
|
```html
|
|
@@ -157,6 +163,24 @@ viewerElement.setAttribute('viewer-css-theme', 'LIGHT')
|
|
|
157
163
|
viewerElement.setAttribute('viewer-css-theme', 'AUTOMATIC')
|
|
158
164
|
```
|
|
159
165
|
|
|
166
|
+
## PDF.js resource attributes
|
|
167
|
+
|
|
168
|
+
You can override additional PDF.js viewer resource paths when needed:
|
|
169
|
+
|
|
170
|
+
```html
|
|
171
|
+
<pdfjs-viewer-element
|
|
172
|
+
src="/file.pdf"
|
|
173
|
+
worker-src="/pdf.worker.min.mjs"
|
|
174
|
+
debugger-src="/debugger.mjs"
|
|
175
|
+
c-map-url="/cmaps/"
|
|
176
|
+
icc-url="/iccs/"
|
|
177
|
+
image-resources-path="/images/"
|
|
178
|
+
sandbox-bundle-src="/pdf.sandbox.mjs"
|
|
179
|
+
standard-font-data-url="/standard_fonts/"
|
|
180
|
+
wasm-url="/wasm/">
|
|
181
|
+
</pdfjs-viewer-element>
|
|
182
|
+
```
|
|
183
|
+
|
|
160
184
|
## Viewer custom styles
|
|
161
185
|
|
|
162
186
|
You can add your own CSS rules to the viewer application using `injectViewerStyles(styles: string)`:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=":root{--sidebar-width:228px;--sidebar-transition-duration:.14s;--sidebar-transition-timing-function:cubic-bezier(.2, .7, .2, 1);--toolbar-height:48px;--toolbar-horizontal-padding: 4px;--toolbar-vertical-padding: 7px;--icon-size:18px;--toolbar-icon-opacity:.82;--doorhanger-icon-opacity:.92;--doorhanger-height:10px;--loading-icon-delay:.28s;--main-color: #1c1c1c;--toolbar-icon-bg-color: #2b2b2b;--toolbar-icon-hover-bg-color: #1c1c1c;--body-bg-color: #f9f7f4;--toolbar-bg-color: #f4f2ef;--toolbar-border-color: #d8d3cc;--toolbar-border-bottom:0;--toolbar-box-shadow: 0 1px 0 rgb(43 43 43 / 9%);--toolbarSidebar-box-shadow: inset -1px 0 0 rgb(107 107 107 / 18%), 0 1px 0 rgb(43 43 43 / 8%);--toolbarSidebar-border-bottom: 1px solid #d8d3cc;--separator-color: #c4c0ba;--field-color: #1c1c1c;--field-bg-color: #ffffff;--field-border-color: #cfcac3;--button-hover-color: rgb(74 144 217 / 14%);--toggled-btn-color: #2b2b2b;--toggled-btn-bg-color: rgb(74 144 217 / 20%);--toggled-hover-active-btn-color: rgb(74 144 217 / 28%);--toggled-hover-btn-outline: 1px solid rgb(74 144 217 / 40%);--doorhanger-bg-color: #fcfbf9;--doorhanger-border-color: rgb(107 107 107 / 26%);--doorhanger-hover-bg-color: rgb(74 144 217 / 12%);--doorhanger-hover-color: #1c1c1c;--doorhanger-separator-color: #d7d2cb;--dropdown-btn-bg-color: #f1efec;--dropdown-btn-border: 1px solid #d4cfc8;--focus-ring-color: #4a90d9;--focus-ring-outline: 2px solid var(--focus-ring-color);--outline-color: #4a90d9;--outline-around-width: 1px;--outline-around-color: #f4f2ef;--thickness-slider-color: var(--outline-color);--thickness-bg: #ffffff;--dialog-button-border: 1px solid #d0cbc4;--dialog-button-bg-color: #f3f1ee;--dialog-button-hover-bg-color: rgb(74 144 217 / 18%);--progressBar-color: #4a90d9;--progressBar-bg-color: #e7edf4;--progressBar-blend-color: #7db0e4;--find-not-found-bg-color: #f6ddd8;--pi-icon-spinner: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M12 3a9 9 0 1 0 9 9' /%3E %3C/svg%3E\");--pi-icon-close: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M18 6l-12 12' /%3E %3Cpath d='M6 6l12 12' /%3E %3C/svg%3E\");--pi-icon-comment: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 20l1.3 -3.9c-2.324 -3.437 -1.426 -7.872 2.1 -10.374c3.526 -2.501 8.59 -2.296 11.845 .48c3.255 2.777 3.695 7.266 1.029 10.501c-2.666 3.235 -7.615 4.215 -11.574 2.293l-4.7 1' /%3E %3C/svg%3E\");--pi-icon-pen: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4' /%3E %3Cpath d='M13.5 6.5l4 4' /%3E %3C/svg%3E\");--pi-icon-highlight: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 19h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4' /%3E %3Cpath d='M12.5 5.5l4 4' /%3E %3Cpath d='M4.5 13.5l4 4' /%3E %3Cpath d='M21 15v4h-8l4 -4l4 0' /%3E %3C/svg%3E\");--pi-icon-stamp: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M15 8h.01' /%3E %3Cpath d='M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12' /%3E %3Cpath d='M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5' /%3E %3Cpath d='M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3' /%3E %3C/svg%3E\");--pi-icon-signature: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 17c3.333 -3.333 5 -6 5 -8c0 -3 -1 -3 -2 -3s-2.032 1.085 -2 3c.034 2.048 1.658 4.877 2.5 6c1.5 2 2.5 2.5 3.5 1l2 -3c.333 2.667 1.333 4 3 4c.53 0 2.639 -2 3 -2c.517 0 1.517 .667 3 2' /%3E %3C/svg%3E\");--pi-icon-chevron-down: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M6 9l6 6l6 -6' /%3E %3C/svg%3E\");--pi-icon-chevron-left: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M15 6l-6 6l6 6' /%3E %3C/svg%3E\");--pi-icon-chevron-right: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M9 6l6 6l-6 6' /%3E %3C/svg%3E\");--pi-icon-chevrons-up: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M7 11l5 -5l5 5' /%3E %3Cpath d='M7 17l5 -5l5 5' /%3E %3C/svg%3E\");--pi-icon-chevrons-down: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M7 7l5 5l5 -5' /%3E %3Cpath d='M7 13l5 5l5 -5' /%3E %3C/svg%3E\");--pi-icon-sidebar: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12' /%3E %3Cpath d='M15 4l0 16' /%3E %3C/svg%3E\");--pi-icon-menu: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M7 7l5 5l-5 5' /%3E %3Cpath d='M13 7l5 5l-5 5' /%3E %3C/svg%3E\");--pi-icon-arrow-up: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M12 5l0 14' /%3E %3Cpath d='M18 11l-6 -6' /%3E %3Cpath d='M6 11l6 -6' /%3E %3C/svg%3E\");--pi-icon-arrow-down: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M12 5l0 14' /%3E %3Cpath d='M18 13l-6 6' /%3E %3Cpath d='M6 13l6 6' /%3E %3C/svg%3E\");--pi-icon-arrow-left: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M5 12l14 0' /%3E %3Cpath d='M5 12l6 6' /%3E %3Cpath d='M5 12l6 -6' /%3E %3C/svg%3E\");--pi-icon-arrow-right: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M5 12l14 0' /%3E %3Cpath d='M13 18l6 -6' /%3E %3Cpath d='M13 6l6 6' /%3E %3C/svg%3E\");--pi-icon-plus: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M12 5l0 14' /%3E %3Cpath d='M5 12l14 0' /%3E %3C/svg%3E\");--pi-icon-minus: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M5 12l14 0' /%3E %3C/svg%3E\");--pi-icon-presentation: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 4l18 0' /%3E %3Cpath d='M4 4v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-10' /%3E %3Cpath d='M12 16l0 4' /%3E %3Cpath d='M9 20l6 0' /%3E %3Cpath d='M8 12l3 -3l2 2l3 -3' /%3E %3C/svg%3E\");--pi-icon-print: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M17 17h2a2 2 0 0 0 2 -2v-4a2 2 0 0 0 -2 -2h-14a2 2 0 0 0 -2 2v4a2 2 0 0 0 2 2h2' /%3E %3Cpath d='M17 9v-4a2 2 0 0 0 -2 -2h-6a2 2 0 0 0 -2 2v4' /%3E %3Cpath d='M7 15a2 2 0 0 1 2 -2h6a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-6a2 2 0 0 1 -2 -2l0 -4' /%3E %3C/svg%3E\");--pi-icon-open: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M5 19l2.757 -7.351a1 1 0 0 1 .936 -.649h12.307a1 1 0 0 1 .986 1.164l-.996 5.211a2 2 0 0 1 -1.964 1.625h-14.026a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2h4l3 3h7a2 2 0 0 1 2 2v2' /%3E %3C/svg%3E\");--pi-icon-download: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2' /%3E %3Cpath d='M7 11l5 5l5 -5' /%3E %3Cpath d='M12 4l0 12' /%3E %3C/svg%3E\");--pi-icon-bookmark: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M18 7v14l-6 -4l-6 4v-14a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4' /%3E %3C/svg%3E\");--pi-icon-grid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4' /%3E %3Cpath d='M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4' /%3E %3Cpath d='M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4' /%3E %3Cpath d='M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4' /%3E %3C/svg%3E\");--pi-icon-list: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M9 6l11 0' /%3E %3Cpath d='M9 12l11 0' /%3E %3Cpath d='M9 18l11 0' /%3E %3Cpath d='M5 6l0 .01' /%3E %3Cpath d='M5 12l0 .01' /%3E %3Cpath d='M5 18l0 .01' /%3E %3C/svg%3E\");--pi-icon-attach: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3l6.5 -6.5a3 3 0 0 0 -6 -6l-6.5 6.5a4.5 4.5 0 0 0 9 9l6.5 -6.5' /%3E %3C/svg%3E\");--pi-icon-layers: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M19 8.268a2 2 0 0 1 1 1.732v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-8a2 2 0 0 1 2 -2h3' /%3E %3Cpath d='M5 15.734a2 2 0 0 1 -1 -1.734v-8a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-3' /%3E %3C/svg%3E\");--pi-icon-target: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0' /%3E %3Cpath d='M7 12a5 5 0 1 0 10 0a5 5 0 1 0 -10 0' /%3E %3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0' /%3E %3C/svg%3E\");--pi-icon-search: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0' /%3E %3Cpath d='M21 21l-6 -6' /%3E %3C/svg%3E\");--pi-icon-rotate-cw: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5' /%3E %3C/svg%3E\");--pi-icon-rotate-ccw: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M15 4.55a8 8 0 0 0 -6 14.9m0 -4.45v5h-5' /%3E %3Cpath d='M18.37 7.16l0 .01' /%3E %3Cpath d='M13 19.94l0 .01' /%3E %3Cpath d='M16.84 18.37l0 .01' /%3E %3Cpath d='M19.37 15.1l0 .01' /%3E %3Cpath d='M19.94 11l0 .01' /%3E %3C/svg%3E\");--pi-icon-select: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M10 12h4' /%3E %3Cpath d='M9 4a3 3 0 0 1 3 3v10a3 3 0 0 1 -3 3' /%3E %3Cpath d='M15 4a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3' /%3E %3C/svg%3E\");--pi-icon-hand: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5' /%3E %3Cpath d='M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5' /%3E %3Cpath d='M14 5.5a1.5 1.5 0 0 1 3 0v6.5' /%3E %3Cpath d='M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47' /%3E %3C/svg%3E\");--pi-icon-scroll-vertical: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M8 7l4 -4l4 4' /%3E %3Cpath d='M8 17l4 4l4 -4' /%3E %3Cpath d='M12 3l0 18' /%3E %3C/svg%3E\");--pi-icon-scroll-horizontal: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M7 8l-4 4l4 4' /%3E %3Cpath d='M17 8l4 4l-4 4' /%3E %3Cpath d='M3 12l18 0' /%3E %3C/svg%3E\");--pi-icon-scroll-page: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M14 3v4a1 1 0 0 0 1 1h4' /%3E %3Cpath d='M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2' /%3E %3Cpath d='M9 17h6' /%3E %3Cpath d='M9 13h6' /%3E %3C/svg%3E\");--pi-icon-scroll-wrapped: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4' /%3E %3Cpath d='M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4' /%3E %3C/svg%3E\");--pi-icon-spread-none: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M5 4a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v16a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1l0 -16' /%3E %3C/svg%3E\");--pi-icon-spread-odd: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 4a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v16a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1v-16' /%3E %3Cpath d='M12 3v18' /%3E %3C/svg%3E\");--pi-icon-spread-even: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 4a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v16a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1v-16' /%3E %3Cpath d='M9 3v18' /%3E %3Cpath d='M15 3v18' /%3E %3C/svg%3E\");--pi-icon-doc: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M14 3v4a1 1 0 0 0 1 1h4' /%3E %3Cpath d='M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2' /%3E %3Cpath d='M9 17h6' /%3E %3Cpath d='M9 13h6' /%3E %3C/svg%3E\");--pi-icon-check: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M5 12l5 5l10 -10' /%3E %3C/svg%3E\");--pi-icon-info: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0' /%3E %3Cpath d='M12 9h.01' /%3E %3Cpath d='M11 12h1v4h1' /%3E %3C/svg%3E\");--pi-icon-warning: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M12 9v4' /%3E %3Cpath d='M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0' /%3E %3Cpath d='M12 16h.01' /%3E %3C/svg%3E\");--pi-icon-trash: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E %3Cpath d='M4 7l16 0' /%3E %3Cpath d='M10 11l0 6' /%3E %3Cpath d='M14 11l0 6' /%3E %3Cpath d='M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12' /%3E %3Cpath d='M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3' /%3E %3C/svg%3E\");--loading-icon: var(--pi-icon-spinner);--toolbarButton-editorComment-icon: var(--pi-icon-comment);--toolbarButton-editorFreeText-icon: var(--pi-icon-select);--toolbarButton-editorHighlight-icon: var(--pi-icon-highlight);--toolbarButton-editorInk-icon: var(--pi-icon-pen);--toolbarButton-editorStamp-icon: var(--pi-icon-stamp);--toolbarButton-editorSignature-icon: var(--pi-icon-signature);--toolbarButton-menuArrow-icon: var(--pi-icon-chevron-down);--toolbarButton-viewsManagerToggle-icon: var(--pi-icon-sidebar);--toolbarButton-secondaryToolbarToggle-icon: var(--pi-icon-menu);--toolbarButton-pageUp-icon: var(--pi-icon-arrow-up);--toolbarButton-pageDown-icon: var(--pi-icon-arrow-down);--toolbarButton-zoomOut-icon: var(--pi-icon-minus);--toolbarButton-zoomIn-icon: var(--pi-icon-plus);--toolbarButton-presentationMode-icon: var(--pi-icon-presentation);--toolbarButton-print-icon: var(--pi-icon-print);--toolbarButton-openFile-icon: var(--pi-icon-open);--toolbarButton-download-icon: var(--pi-icon-download);--toolbarButton-bookmark-icon: var(--pi-icon-bookmark);--toolbarButton-viewThumbnail-icon: var(--pi-icon-grid);--toolbarButton-viewOutline-icon: var(--pi-icon-list);--toolbarButton-viewAttachments-icon: var(--pi-icon-attach);--toolbarButton-viewLayers-icon: var(--pi-icon-layers);--toolbarButton-currentOutlineItem-icon: var(--pi-icon-target);--toolbarButton-search-icon: var(--pi-icon-search);--findbarButton-previous-icon: var(--pi-icon-chevron-left);--findbarButton-next-icon: var(--pi-icon-chevron-right);--secondaryToolbarButton-firstPage-icon: var(--pi-icon-chevrons-up);--secondaryToolbarButton-lastPage-icon: var(--pi-icon-chevrons-down);--secondaryToolbarButton-rotateCcw-icon: var(--pi-icon-rotate-ccw);--secondaryToolbarButton-rotateCw-icon: var(--pi-icon-rotate-cw);--secondaryToolbarButton-selectTool-icon: var(--pi-icon-select);--secondaryToolbarButton-handTool-icon: var(--pi-icon-hand);--secondaryToolbarButton-scrollPage-icon: var(--pi-icon-scroll-page);--secondaryToolbarButton-scrollVertical-icon: var(--pi-icon-scroll-vertical);--secondaryToolbarButton-scrollHorizontal-icon: var(--pi-icon-scroll-horizontal);--secondaryToolbarButton-scrollWrapped-icon: var(--pi-icon-scroll-wrapped);--secondaryToolbarButton-spreadNone-icon: var(--pi-icon-spread-none);--secondaryToolbarButton-spreadOdd-icon: var(--pi-icon-spread-odd);--secondaryToolbarButton-spreadEven-icon: var(--pi-icon-spread-even);--secondaryToolbarButton-documentProperties-icon: var(--pi-icon-doc);--editorParams-stampAddImage-icon: var(--pi-icon-plus);--comment-edit-button-icon: var(--pi-icon-pen);--views-manager-button-icon: var(--pi-icon-grid);--views-manager-button-arrow-icon: var(--pi-icon-chevron-down);--views-manager-add-file-button-icon: var(--pi-icon-plus);--current-outline-button-icon: var(--pi-icon-target);--menuitem-thumbnailsView-icon: var(--pi-icon-grid);--menuitem-outlinesView-icon: var(--pi-icon-list);--menuitem-attachmentsView-icon: var(--pi-icon-attach);--menuitem-layersView-icon: var(--pi-icon-layers);--manage-button-icon: var(--pi-icon-menu);--close-button-icon: var(--pi-icon-close);--undo-label-icon: var(--pi-icon-check);--pages-selected-icon: var(--pi-icon-check);--spinner-icon: var(--pi-icon-spinner);--message-bar-icon: var(--pi-icon-info);--closing-button-icon: var(--pi-icon-close);--clear-signature-button-icon: var(--pi-icon-close);--clear-button-icon: var(--pi-icon-close);--comment-close-button-icon: var(--pi-icon-close);--comment-popup-edit-button-icon: var(--pi-icon-pen);--comment-popup-delete-button-icon: var(--pi-icon-trash);--menuitem-checkmark-icon: var(--pi-icon-check);--treeitem-expanded-icon: var(--pi-icon-chevron-down);--treeitem-collapsed-icon: var(--pi-icon-arrow-right);--new-alt-text-warning-image: var(--pi-icon-warning);--new-alt-text-ai-disclaimer-icon: var(--pi-icon-info);--new-alt-text-spinner-icon: var(--pi-icon-spinner)}#toolbarContainer{box-shadow:var(--toolbar-box-shadow)}.toolbarField{padding-inline:8px;border-radius:6px}#findInput,#pageNumber,#scaleSelect{min-height:22px}#scaleSelectContainer{border-color:var(--field-border-color);background-color:var(--field-bg-color);border-radius:6px}#scaleSelect{background-color:transparent;color:var(--field-color);padding:4px 7px;min-height:31px}input[type=range]{accent-color:var(--outline-color)}:is(:is(:is(.toolbarButtonWithContainer .editorParamsToolbar) .editorParamsToolbarContainer) .editorParamsSlider)::-moz-range-progress{background-color:var(--outline-color)}:is(:is(:is(.toolbarButtonWithContainer .editorParamsToolbar) .editorParamsToolbarContainer) .editorParamsSlider)::-webkit-slider-runnable-track,:is(:is(:is(.toolbarButtonWithContainer .editorParamsToolbar) .editorParamsToolbarContainer) .editorParamsSlider)::-moz-range-track{background-color:var(--outline-color)}:is(:is(:is(.toolbarButtonWithContainer .editorParamsToolbar) .editorParamsToolbarContainer) .editorParamsSlider)::-webkit-slider-thumb,:is(:is(:is(.toolbarButtonWithContainer .editorParamsToolbar) .editorParamsToolbarContainer) .editorParamsSlider)::-moz-range-thumb{background-color:#fff;border:1px solid var(--outline-color)}#viewsManager{--views-manager-button-icon: var(--pi-icon-grid);--views-manager-button-arrow-icon: var(--pi-icon-chevron-down);--views-manager-add-file-button-icon: var(--pi-icon-plus);--current-outline-button-icon: var(--pi-icon-target);--menuitem-thumbnailsView-icon: var(--pi-icon-grid);--menuitem-outlinesView-icon: var(--pi-icon-list);--menuitem-attachmentsView-icon: var(--pi-icon-attach);--menuitem-layersView-icon: var(--pi-icon-layers);--manage-button-icon: var(--pi-icon-menu);--close-button-icon: var(--pi-icon-close);--undo-label-icon: var(--pi-icon-check);--pages-selected-icon: var(--pi-icon-check);--spinner-icon: var(--pi-icon-spinner);--sidebar-bg-color: rgb(249 247 244 / .95);--header-bg: rgb(244 242 239 / .96);--text-color: #1c1c1c;--button-fg: #2b2b2b;--button-bg: rgb(107 107 107 / .08);--button-border-color: transparent;--button-hover-bg: rgb(74 144 217 / .16);--button-hover-fg: #1c1c1c;--button-active-bg: rgb(74 144 217 / .24);--button-active-fg: #1c1c1c;--button-focus-outline-color: #4a90d9;--button-focus-border-color: #2b2b2b;--status-actions-bg: rgb(107 107 107 / .08);--status-undo-bg: rgb(74 144 217 / .14);--status-waiting-bg: rgb(74 144 217 / .14);--status-warning-bg: #fff1e6;--indicator-color: #4a90d9;--indicator-warning-color: #cc6f28;--header-shadow: 0 1px 4px rgb(43 43 43 / .08);--image-border-color: #d5cfc6;--image-hover-border-color: #4a90d9;--image-current-border-color: #4a90d9;--image-current-focused-outline-color: #4a90d9;--image-page-number-bg: #f3f1ee;--image-page-number-fg: #2b2b2b;--image-current-page-number-bg: #4a90d9;--image-current-page-number-fg: #ffffff;--image-shadow: 0 1px 2px rgb(43 43 43 / .08), 0 0 0 1px var(--image-border-color);--image-hover-shadow: 0 1px 2px rgb(43 43 43 / .1), 0 0 0 1px #d4d0c9, 0 0 0 var(--image-border-width) var(--image-hover-border-color);--image-current-shadow: 0 1px 2px rgb(43 43 43 / .1), 0 0 0 var(--image-border-width) var(--image-current-border-color)}.sidebar{--sidebar-bg-color: #fcfbf9;--sidebar-border-color: rgb(107 107 107 / .22);--sidebar-box-shadow: 0 1px 3px rgb(43 43 43 / .08), 0 6px 16px rgb(43 43 43 / .08);--resizer-hover-bg-color: #4a90d9}.dialog{--dialog-bg-color: #ffffff;--dialog-border-color: #d8d3cc;--dialog-shadow: 0 8px 24px rgb(43 43 43 / .12);--text-primary-color: #1c1c1c;--text-secondary-color: #6b6b6b;--separator-color: #d8d3cc;--link-fg-color: #4a90d9;--link-hover-fg-color: #2f73b8;--textarea-border-color: #cfcac3;--textarea-bg-color: #ffffff;--textarea-fg-color: #1c1c1c;--input-text-bg-color: #ffffff;--input-text-fg-color: #1c1c1c;--button-secondary-bg-color: #f3f1ee;--button-secondary-hover-bg-color: #ece8e2;--button-secondary-active-bg-color: #e5e0d8;--button-secondary-border-color: #d0cbc4;--button-primary-bg-color: #4a90d9;--button-primary-hover-bg-color: #3f83cb;--button-primary-active-bg-color: #2f73b8;--button-primary-fg-color: #ffffff;--button-primary-border-color: #4a90d9;--radio-bg-color: #f3f1ee;--radio-checked-bg-color: #ffffff;--radio-border-color: #bdb7ae;--radio-checked-border-color: #4a90d9}.colorPicker{--hover-outline-color: #3f83cb;--selected-outline-color: #4a90d9;--swatch-border-color: #cfcac3}.toggle-button{--color-accent-primary: light-dark(#4a90d9, #7db0e4);--color-accent-primary-hover: light-dark(#3f83cb, #9ac2ea);--color-accent-primary-active: light-dark(#2f73b8, #b6d4f1);--color-canvas: light-dark(#ffffff, #1c1c1c);--border-color-interactive: light-dark(#cfcac3, #f9f7f4)}.toggle-button[aria-pressed=true]{--toggle-dot-background-color-on-pressed: #ffffff}.messageBar{--message-bar-close-button-color: #2b2b2b;--message-bar-close-button-color-hover: #1c1c1c;--message-bar-close-button-border-radius: 6px;--message-bar-close-button-hover-bg-color: rgb(74 144 217 / .14);--message-bar-close-button-active-bg-color: rgb(74 144 217 / .24);--message-bar-close-button-focus-bg-color: rgb(74 144 217 / .18)}#editorUndoBar{--text-primary-color: #1c1c1c;--message-bar-icon-color: #4a90d9;--message-bar-bg-color: #edf4fb;--message-bar-border-color: #c9dcee;--message-bar-fg-color: #1c1c1c;--undo-button-bg-color: #f3f1ee;--undo-button-bg-color-hover: #ece8e2;--undo-button-bg-color-active: #e5e0d8;--undo-button-border: 1px solid #d0cbc4;--undo-button-fg-color: #2b2b2b;--undo-button-fg-color-hover: #1c1c1c;--undo-button-fg-color-active: #1c1c1c}[data-status=notFound]:is(:is(#findbar #findInputContainer) #findInput){background-color:var(--find-not-found-bg-color)}@media(prefers-color-scheme:dark){:root{--main-color: #f2eee8;--toolbar-icon-bg-color: #f2eee8;--toolbar-icon-hover-bg-color: #ffffff;--body-bg-color: #1b1a18;--toolbar-bg-color: #242220;--toolbar-border-color: #3a3630;--toolbar-border-bottom: 0;--toolbar-box-shadow: 0 1px 0 rgb(0 0 0 / 35%);--toolbarSidebar-box-shadow: inset -1px 0 0 rgb(249 247 244 / 10%), 0 1px 0 rgb(0 0 0 / 28%);--toolbarSidebar-border-bottom: 1px solid #3a3630;--separator-color: #4b463f;--field-color: #f2eee8;--field-bg-color: #26231f;--field-border-color: #4c463e;--button-hover-color: rgb(125 176 228 / 18%);--toggled-btn-color: #f2eee8;--toggled-btn-bg-color: rgb(125 176 228 / 28%);--toggled-hover-active-btn-color: rgb(125 176 228 / 36%);--toggled-hover-btn-outline: 1px solid rgb(125 176 228 / 46%);--doorhanger-bg-color: #26231f;--doorhanger-border-color: rgb(242 238 232 / 18%);--doorhanger-hover-bg-color: rgb(125 176 228 / 20%);--doorhanger-hover-color: #f2eee8;--doorhanger-separator-color: #4b463f;--dropdown-btn-bg-color: #2a2723;--dropdown-btn-border: 1px solid #4c463e;--focus-ring-color: #7db0e4;--outline-color: #7db0e4;--outline-around-color: #2b2824;--dialog-button-border: 1px solid #4c463e;--dialog-button-bg-color: #2a2723;--dialog-button-hover-bg-color: rgb(125 176 228 / 26%);--progressBar-color: #7db0e4;--progressBar-bg-color: #2f3a46;--progressBar-blend-color: #9ac2ea;--thickness-bg: #1f1d1a;--find-not-found-bg-color: #5a2f2a;--editorFreeText-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4M10 21h4M12 3v18' fill='none' stroke='%23f2eee8' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M8.5 6.2c1.4-1.1 2.4-1.6 3.5-1.6M15.5 6.2c-1.4-1.1-2.4-1.6-3.5-1.6M8.5 17.8c1.4 1.1 2.4 1.6 3.5 1.6M15.5 17.8c-1.4 1.1-2.4 1.6-3.5 1.6' fill='none' stroke='%237db0e4' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E\") 0 16, text;--editorInk-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 22l7.2-2.2L19 10l-5-5-9.8 9.8z' fill='%237db0e4'/%3E%3Cpath d='M14 5l5 5M2 22l7.2-2.2' fill='none' stroke='%23f2eee8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\") 0 16, pointer;--editorHighlight-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16l8-8l8 8' fill='none' stroke='%23f2eee8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5' fill='%237db0e4' fill-opacity='.55'/%3E%3C/svg%3E\") 12 12, text;--editorFreeHighlight-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 18c2.5-4 6-6.8 11-8.8l2.2 3.2C10.4 14.2 7 16.6 4.8 20z' fill='%237db0e4' fill-opacity='.6'/%3E%3Cpath d='M13 9.2l2.2 3.2M2 18c2.5-4 6-6.8 11-8.8' fill='none' stroke='%23f2eee8' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\") 1 18, pointer}#viewsManager{--sidebar-bg-color: rgb(27 26 24 / .96);--header-bg: rgb(36 34 32 / .96);--text-color: #f2eee8;--button-fg: #f2eee8;--button-bg: rgb(249 247 244 / 10%);--button-hover-bg: rgb(125 176 228 / 24%);--button-hover-fg: #f2eee8;--button-active-bg: rgb(125 176 228 / 32%);--button-active-fg: #f2eee8;--button-focus-outline-color: #7db0e4;--button-focus-border-color: #f2eee8;--status-actions-bg: rgb(249 247 244 / 10%);--status-undo-bg: rgb(125 176 228 / 20%);--status-waiting-bg: rgb(125 176 228 / 20%);--status-warning-bg: #4f2f24;--indicator-color: #7db0e4;--indicator-warning-color: #f3a46f;--header-shadow: 0 1px 4px rgb(0 0 0 / 35%);--image-border-color: #4c463e;--image-hover-border-color: #7db0e4;--image-current-border-color: #7db0e4;--image-current-focused-outline-color: #7db0e4;--image-page-number-bg: #2a2723;--image-page-number-fg: #f2eee8;--image-current-page-number-bg: #7db0e4;--image-current-page-number-fg: #101214;--image-shadow: 0 1px 2px rgb(0 0 0 / 28%), 0 0 0 1px var(--image-border-color)}.sidebar{--sidebar-bg-color: #1f1d1a;--sidebar-border-color: rgb(242 238 232 / 20%);--sidebar-box-shadow: 0 1px 3px rgb(0 0 0 / 35%), 0 6px 16px rgb(0 0 0 / 32%);--resizer-hover-bg-color: #7db0e4}.dialog{--dialog-bg-color: #23201c;--dialog-border-color: #4c463e;--dialog-shadow: 0 8px 24px rgb(0 0 0 / 38%);--text-primary-color: #f2eee8;--text-secondary-color: #c9c1b8;--separator-color: #4c463e;--link-fg-color: #7db0e4;--link-hover-fg-color: #9ac2ea;--textarea-border-color: #4c463e;--textarea-bg-color: #1f1d1a;--textarea-fg-color: #f2eee8;--input-text-bg-color: #1f1d1a;--input-text-fg-color: #f2eee8;--button-secondary-bg-color: #2a2723;--button-secondary-hover-bg-color: #332f2a;--button-secondary-active-bg-color: #3a352f;--button-secondary-border-color: #4c463e;--button-primary-bg-color: #7db0e4;--button-primary-hover-bg-color: #9ac2ea;--button-primary-active-bg-color: #b6d4f1;--button-primary-fg-color: #101214;--button-primary-border-color: #7db0e4;--radio-bg-color: #2a2723;--radio-checked-bg-color: #1f1d1a;--radio-border-color: #6a635a;--radio-checked-border-color: #7db0e4}.colorPicker{--hover-outline-color: #9ac2ea;--selected-outline-color: #7db0e4;--swatch-border-color: #4c463e}.toggle-button{--color-accent-primary: light-dark(#4a90d9, #7db0e4);--color-accent-primary-hover: light-dark(#3f83cb, #9ac2ea);--color-accent-primary-active: light-dark(#2f73b8, #b6d4f1);--color-canvas: light-dark(#ffffff, #1f1d1a);--border-color-interactive: light-dark(#cfcac3, #f2eee8)}.toggle-button[aria-pressed=true]{--toggle-dot-background-color-on-pressed: #1f1d1a}.messageBar{--message-bar-close-button-color: #f2eee8;--message-bar-close-button-color-hover: #ffffff;--message-bar-close-button-hover-bg-color: rgb(125 176 228 / 22%);--message-bar-close-button-active-bg-color: rgb(125 176 228 / 30%);--message-bar-close-button-focus-bg-color: rgb(125 176 228 / 26%)}#editorUndoBar{--text-primary-color: #f2eee8;--message-bar-icon-color: #7db0e4;--message-bar-bg-color: #273341;--message-bar-border-color: #3a4f64;--message-bar-fg-color: #f2eee8;--undo-button-bg-color: #2a2723;--undo-button-bg-color-hover: #332f2a;--undo-button-bg-color-active: #3a352f;--undo-button-border: 1px solid #4c463e;--undo-button-fg-color: #f2eee8;--undo-button-fg-color-hover: #ffffff;--undo-button-fg-color-active: #ffffff}}:root[style*=color-scheme][style*=dark]{--main-color: #f2eee8;--toolbar-icon-bg-color: #f2eee8;--toolbar-icon-hover-bg-color: #ffffff;--body-bg-color: #1b1a18;--toolbar-bg-color: #242220;--toolbar-border-color: #3a3630;--toolbar-border-bottom: 1px solid #3a3630;--toolbar-box-shadow: 0 1px 0 rgb(0 0 0 / 35%);--toolbarSidebar-box-shadow: inset -1px 0 0 rgb(249 247 244 / 10%), 0 1px 0 rgb(0 0 0 / 28%);--toolbarSidebar-border-bottom: 1px solid #3a3630;--separator-color: #4b463f;--field-color: #f2eee8;--field-bg-color: #26231f;--field-border-color: #4c463e;--button-hover-color: rgb(125 176 228 / 18%);--toggled-btn-color: #f2eee8;--toggled-btn-bg-color: rgb(125 176 228 / 28%);--toggled-hover-active-btn-color: rgb(125 176 228 / 36%);--toggled-hover-btn-outline: 1px solid rgb(125 176 228 / 46%);--doorhanger-bg-color: #26231f;--doorhanger-border-color: rgb(242 238 232 / 18%);--doorhanger-hover-bg-color: rgb(125 176 228 / 20%);--doorhanger-hover-color: #f2eee8;--doorhanger-separator-color: #4b463f;--dropdown-btn-bg-color: #2a2723;--dropdown-btn-border: 1px solid #4c463e;--focus-ring-color: #7db0e4;--outline-color: #7db0e4;--outline-around-color: #2b2824;--dialog-button-border: 1px solid #4c463e;--dialog-button-bg-color: #2a2723;--dialog-button-hover-bg-color: rgb(125 176 228 / 26%);--progressBar-color: #7db0e4;--progressBar-bg-color: #2f3a46;--progressBar-blend-color: #9ac2ea;--thickness-bg: #1f1d1a;--find-not-found-bg-color: #5a2f2a;--editorFreeText-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4M10 21h4M12 3v18' fill='none' stroke='%23f2eee8' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M8.5 6.2c1.4-1.1 2.4-1.6 3.5-1.6M15.5 6.2c-1.4-1.1-2.4-1.6-3.5-1.6M8.5 17.8c1.4 1.1 2.4 1.6 3.5 1.6M15.5 17.8c-1.4 1.1-2.4 1.6-3.5 1.6' fill='none' stroke='%237db0e4' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E\") 0 16, text;--editorInk-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 22l7.2-2.2L19 10l-5-5-9.8 9.8z' fill='%237db0e4'/%3E%3Cpath d='M14 5l5 5M2 22l7.2-2.2' fill='none' stroke='%23f2eee8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\") 0 16, pointer;--editorHighlight-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16l8-8l8 8' fill='none' stroke='%23f2eee8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='3' y='16' width='18' height='4' rx='1.5' fill='%237db0e4' fill-opacity='.55'/%3E%3C/svg%3E\") 12 12, text;--editorFreeHighlight-editing-cursor: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 18c2.5-4 6-6.8 11-8.8l2.2 3.2C10.4 14.2 7 16.6 4.8 20z' fill='%237db0e4' fill-opacity='.6'/%3E%3Cpath d='M13 9.2l2.2 3.2M2 18c2.5-4 6-6.8 11-8.8' fill='none' stroke='%23f2eee8' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\") 1 18, pointer}:root[style*=color-scheme][style*=dark] #viewsManager{--sidebar-bg-color: rgb(27 26 24 / .96);--header-bg: rgb(36 34 32 / .96);--text-color: #f2eee8;--button-fg: #f2eee8;--button-bg: rgb(249 247 244 / 10%);--button-hover-bg: rgb(125 176 228 / 24%);--button-hover-fg: #f2eee8;--button-active-bg: rgb(125 176 228 / 32%);--button-active-fg: #f2eee8;--button-focus-outline-color: #7db0e4;--button-focus-border-color: #f2eee8;--status-actions-bg: rgb(249 247 244 / 10%);--status-undo-bg: rgb(125 176 228 / 20%);--status-waiting-bg: rgb(125 176 228 / 20%);--status-warning-bg: #4f2f24;--indicator-color: #7db0e4;--indicator-warning-color: #f3a46f;--header-shadow: 0 1px 4px rgb(0 0 0 / 35%);--image-border-color: #4c463e;--image-hover-border-color: #7db0e4;--image-current-border-color: #7db0e4;--image-current-focused-outline-color: #7db0e4;--image-page-number-bg: #2a2723;--image-page-number-fg: #f2eee8;--image-current-page-number-bg: #7db0e4;--image-current-page-number-fg: #101214;--image-shadow: 0 1px 2px rgb(0 0 0 / 28%), 0 0 0 1px var(--image-border-color)}:root[style*=color-scheme][style*=dark] .sidebar{--sidebar-bg-color: #1f1d1a;--sidebar-border-color: rgb(242 238 232 / 20%);--sidebar-box-shadow: 0 1px 3px rgb(0 0 0 / 35%), 0 6px 16px rgb(0 0 0 / 32%);--resizer-hover-bg-color: #7db0e4}:root[style*=color-scheme][style*=dark] .dialog{--dialog-bg-color: #23201c;--dialog-border-color: #4c463e;--dialog-shadow: 0 8px 24px rgb(0 0 0 / 38%);--text-primary-color: #f2eee8;--text-secondary-color: #c9c1b8;--separator-color: #4c463e;--link-fg-color: #7db0e4;--link-hover-fg-color: #9ac2ea;--textarea-border-color: #4c463e;--textarea-bg-color: #1f1d1a;--textarea-fg-color: #f2eee8;--input-text-bg-color: #1f1d1a;--input-text-fg-color: #f2eee8;--button-secondary-bg-color: #2a2723;--button-secondary-hover-bg-color: #332f2a;--button-secondary-active-bg-color: #3a352f;--button-secondary-border-color: #4c463e;--button-primary-bg-color: #7db0e4;--button-primary-hover-bg-color: #9ac2ea;--button-primary-active-bg-color: #b6d4f1;--button-primary-fg-color: #101214;--button-primary-border-color: #7db0e4;--radio-bg-color: #2a2723;--radio-checked-bg-color: #1f1d1a;--radio-border-color: #6a635a;--radio-checked-border-color: #7db0e4}:root[style*=color-scheme][style*=dark] .colorPicker{--hover-outline-color: #9ac2ea;--selected-outline-color: #7db0e4;--swatch-border-color: #4c463e}:root[style*=color-scheme][style*=dark] .toggle-button{--color-accent-primary: light-dark(#4a90d9, #7db0e4);--color-accent-primary-hover: light-dark(#3f83cb, #9ac2ea);--color-accent-primary-active: light-dark(#2f73b8, #b6d4f1);--color-canvas: light-dark(#ffffff, #1f1d1a);--border-color-interactive: light-dark(#cfcac3, #f2eee8)}:root[style*=color-scheme][style*=dark] .toggle-button[aria-pressed=true]{--toggle-dot-background-color-on-pressed: #1f1d1a}:root[style*=color-scheme][style*=dark] .messageBar{--message-bar-close-button-color: #f2eee8;--message-bar-close-button-color-hover: #ffffff;--message-bar-close-button-hover-bg-color: rgb(125 176 228 / 22%);--message-bar-close-button-active-bg-color: rgb(125 176 228 / 30%);--message-bar-close-button-focus-bg-color: rgb(125 176 228 / 26%)}:root[style*=color-scheme][style*=dark] #editorUndoBar{--text-primary-color: #f2eee8;--message-bar-icon-color: #7db0e4;--message-bar-bg-color: #273341;--message-bar-border-color: #3a4f64;--message-bar-fg-color: #f2eee8;--undo-button-bg-color: #2a2723;--undo-button-bg-color-hover: #332f2a;--undo-button-bg-color-active: #3a352f;--undo-button-border: 1px solid #4c463e;--undo-button-fg-color: #f2eee8;--undo-button-fg-color-hover: #ffffff;--undo-button-fg-color-active: #ffffff}:root{--body-bg-color: #f1f3f5;--toolbar-bg-color: #ffffff;--toolbar-border-color: #d0d7de;--toolbar-border-bottom:0;--toolbar-box-shadow: 0 1px 0 rgb(31 35 40 / 8%);--toolbarSidebar-box-shadow: inset -1px 0 0 rgb(31 35 40 / 12%), 0 1px 0 rgb(31 35 40 / 6%);--toolbarSidebar-border-bottom: 1px solid #d0d7de;--separator-color: #c7cdd4;--field-color: #1f2328;--field-bg-color: #ffffff;--field-border-color: #c6ccd2;--doorhanger-bg-color: #ffffff;--doorhanger-border-color: rgb(31 35 40 / 18%);--doorhanger-separator-color: #d0d7de;--dropdown-btn-bg-color: #f6f8fa;--dropdown-btn-border: 1px solid #c6ccd2;--dialog-button-border: 1px solid #c6ccd2;--dialog-button-bg-color: #f6f8fa}#viewsManager{--sidebar-bg-color: rgb(241 243 245 / .96);--header-bg: rgb(255 255 255 / .96);--text-color: #1f2328;--button-fg: #2f343b;--button-bg: rgb(31 35 40 / .08);--button-border-color: transparent;--header-shadow: 0 1px 4px rgb(31 35 40 / 10%);--image-border-color: #d0d7de;--image-page-number-bg: #f6f8fa;--image-page-number-fg: #2f343b}.sidebar{--sidebar-bg-color: #f6f8fa;--sidebar-border-color: rgb(31 35 40 / 18%);--sidebar-box-shadow: 0 1px 3px rgb(31 35 40 / 8%), 0 6px 16px rgb(31 35 40 / 8%)}.dialog{--dialog-bg-color: #ffffff;--dialog-border-color: #d0d7de;--text-primary-color: #1f2328;--text-secondary-color: #57606a;--separator-color: #d0d7de;--textarea-border-color: #c6ccd2;--textarea-bg-color: #ffffff;--textarea-fg-color: #1f2328;--input-text-bg-color: #ffffff;--input-text-fg-color: #1f2328;--button-secondary-bg-color: #f6f8fa;--button-secondary-hover-bg-color: #eff2f5;--button-secondary-active-bg-color: #e6ebf1;--button-secondary-border-color: #c6ccd2;--radio-bg-color: #f6f8fa;--radio-checked-bg-color: #ffffff;--radio-border-color: #b8c1ca}.colorPicker{--swatch-border-color: #c6ccd2}.toggle-button{--color-canvas: light-dark(#ffffff, #161b22);--border-color-interactive: light-dark(#c6ccd2, #e6edf3)}#toolbar{padding:8px 0}#editorUndoBar{--text-primary-color: #1f2328;--undo-button-bg-color: #f6f8fa;--undo-button-bg-color-hover: #eff2f5;--undo-button-bg-color-active: #e6ebf1;--undo-button-border: 1px solid #c6ccd2;--undo-button-fg-color: #2f343b}@media(prefers-color-scheme:dark){:root{--main-color: #e6edf3;--toolbar-icon-bg-color: #e6edf3;--toolbar-icon-hover-bg-color: #ffffff;--body-bg-color: #0d1117;--toolbar-bg-color: #161b22;--toolbar-border-color: #30363d;--toolbar-border-bottom:0;--toolbar-box-shadow: 0 1px 0 rgb(0 0 0 / 40%);--toolbarSidebar-box-shadow: inset -1px 0 0 rgb(230 237 243 / 12%), 0 1px 0 rgb(0 0 0 / 30%);--toolbarSidebar-border-bottom: 1px solid #30363d;--separator-color: #3d444d;--field-color: #e6edf3;--field-bg-color: #21262d;--field-border-color: #3d444d;--doorhanger-bg-color: #1b222c;--doorhanger-border-color: rgb(230 237 243 / 20%);--doorhanger-separator-color: #3d444d;--dropdown-btn-bg-color: #21262d;--dropdown-btn-border: 1px solid #3d444d;--outline-around-color: #21262d;--dialog-button-border: 1px solid #3d444d;--dialog-button-bg-color: #21262d;--progressBar-bg-color: #27374a;--thickness-bg: #161b22}#viewsManager{--sidebar-bg-color: rgb(13 17 23 / .96);--header-bg: rgb(22 27 34 / .96);--text-color: #e6edf3;--button-fg: #e6edf3;--button-bg: rgb(230 237 243 / .12);--button-focus-border-color: #e6edf3;--status-actions-bg: rgb(230 237 243 / .12);--header-shadow: 0 1px 4px rgb(0 0 0 / 35%);--image-border-color: #3d444d;--image-page-number-bg: #21262d;--image-page-number-fg: #e6edf3}.sidebar{--sidebar-bg-color: #161b22;--sidebar-border-color: rgb(230 237 243 / 22%);--sidebar-box-shadow: 0 1px 3px rgb(0 0 0 / 35%), 0 6px 16px rgb(0 0 0 / 32%)}.dialog{--dialog-bg-color: #161b22;--dialog-border-color: #3d444d;--text-primary-color: #e6edf3;--text-secondary-color: #9da7b3;--separator-color: #3d444d;--textarea-border-color: #3d444d;--textarea-bg-color: #0d1117;--textarea-fg-color: #e6edf3;--input-text-bg-color: #0d1117;--input-text-fg-color: #e6edf3;--button-secondary-bg-color: #21262d;--button-secondary-hover-bg-color: #2a313c;--button-secondary-active-bg-color: #333b47;--button-secondary-border-color: #3d444d;--radio-bg-color: #21262d;--radio-checked-bg-color: #0d1117;--radio-border-color: #53606d}.colorPicker{--swatch-border-color: #3d444d}.toggle-button{--color-canvas: light-dark(#ffffff, #161b22);--border-color-interactive: light-dark(#c6ccd2, #e6edf3)}.toggle-button[aria-pressed=true]{--toggle-dot-background-color-on-pressed: #161b22}#editorUndoBar{--text-primary-color: #e6edf3;--undo-button-bg-color: #21262d;--undo-button-bg-color-hover: #2a313c;--undo-button-bg-color-active: #333b47;--undo-button-border: 1px solid #3d444d;--undo-button-fg-color: #e6edf3}}:root[style*=color-scheme][style*=dark]{--main-color: #e6edf3;--toolbar-icon-bg-color: #e6edf3;--toolbar-icon-hover-bg-color: #ffffff;--body-bg-color: #0d1117;--toolbar-bg-color: #161b22;--toolbar-border-color: #30363d;--toolbar-border-bottom: 0;--toolbar-box-shadow: 0 1px 0 rgb(0 0 0 / 40%);--toolbarSidebar-box-shadow: inset -1px 0 0 rgb(230 237 243 / 12%), 0 1px 0 rgb(0 0 0 / 30%);--toolbarSidebar-border-bottom: 1px solid #30363d;--separator-color: #3d444d;--field-color: #e6edf3;--field-bg-color: #21262d;--field-border-color: #3d444d;--doorhanger-bg-color: #1b222c;--doorhanger-border-color: rgb(230 237 243 / 20%);--doorhanger-separator-color: #3d444d;--dropdown-btn-bg-color: #21262d;--dropdown-btn-border: 1px solid #3d444d;--outline-around-color: #21262d;--dialog-button-border: 1px solid #3d444d;--dialog-button-bg-color: #21262d;--progressBar-bg-color: #27374a;--thickness-bg: #161b22}:root[style*=color-scheme][style*=dark] #viewsManager{--sidebar-bg-color: rgb(13 17 23 / .96);--header-bg: rgb(22 27 34 / .96);--text-color: #e6edf3;--button-fg: #e6edf3;--button-bg: rgb(230 237 243 / .12);--button-focus-border-color: #e6edf3;--status-actions-bg: rgb(230 237 243 / .12);--header-shadow: 0 1px 4px rgb(0 0 0 / 35%);--image-border-color: #3d444d;--image-page-number-bg: #21262d;--image-page-number-fg: #e6edf3}:root[style*=color-scheme][style*=dark] .sidebar{--sidebar-bg-color: #161b22;--sidebar-border-color: rgb(230 237 243 / 22%)}:root[style*=color-scheme][style*=dark] .dialog{--dialog-bg-color: #161b22;--dialog-border-color: #3d444d;--text-primary-color: #e6edf3;--text-secondary-color: #9da7b3;--separator-color: #3d444d;--textarea-border-color: #3d444d;--textarea-bg-color: #0d1117;--textarea-fg-color: #e6edf3;--input-text-bg-color: #0d1117;--input-text-fg-color: #e6edf3;--button-secondary-bg-color: #21262d;--button-secondary-hover-bg-color: #2a313c;--button-secondary-active-bg-color: #333b47;--button-secondary-border-color: #3d444d;--radio-bg-color: #21262d;--radio-checked-bg-color: #0d1117;--radio-border-color: #53606d}:root[style*=color-scheme][style*=dark] .colorPicker{--swatch-border-color: #3d444d}:root[style*=color-scheme][style*=dark] .toggle-button{--color-canvas: light-dark(#ffffff, #161b22);--border-color-interactive: light-dark(#c6ccd2, #e6edf3)}:root[style*=color-scheme][style*=dark] .toggle-button[aria-pressed=true]{--toggle-dot-background-color-on-pressed: #161b22}:root[style*=color-scheme][style*=dark] #editorUndoBar{--text-primary-color: #e6edf3;--undo-button-bg-color: #21262d;--undo-button-bg-color-hover: #2a313c;--undo-button-bg-color-active: #333b47;--undo-button-border: 1px solid #3d444d;--undo-button-fg-color: #e6edf3}@media all and (max-width:420px){#toolbarViewerMiddle{display:none}}@media all and (max-width:768px){.hiddenSmallView,.hiddenSmallView *{display:none!important}#toolbarContainer #toolbarViewer .toolbarButtonSpacer{width:0}}@media all and (max-width:600px){#scaleSelectContainer{display:none}}";export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={src:"",iframeTitle:"PDF viewer window",page:"",search:"",phrase:"",zoom:"",pagemode:"none",locale:"",viewerCssTheme:"AUTOMATIC",workerSrc:new URL("./pdf.worker.min.mjs",import.meta.url).href,localeSrcTemplate:"https://cdn.jsdelivr.net/gh/mozilla-l10n/firefox-l10n@main/{locale}/toolkit/toolkit/pdfviewer/viewer.ftl"},t={AUTOMATIC:0,LIGHT:1,DARK:2};class i extends HTMLElement{constructor(){super(),this.initPromise=Promise.resolve({}),this.viewerStyles=new Set,this.applyIframeHash=async()=>new Promise(e=>{if(!this.iframe?.contentWindow)return e();this.iframe.contentWindow?.addEventListener("hashchange",()=>{e()},{once:!0}),this.iframe.contentWindow.location.hash=this.getIframeLocationHash()}),this.injectLocaleData=async()=>{const t=this.iframe.contentDocument,i=this.getAttribute("locale");if(!i)return void this.cleanupLocaleResource();const r=await import("./locale-DENudnjU.js");if(!Object.keys(JSON.parse(r.default)).includes(i))return void this.cleanupLocaleResource();const s=this.formatTemplate(this.getAttribute("locale-src-template")||e.localeSrcTemplate,{locale:i}),a={[String(i)]:s},
|
|
1
|
+
const e={src:"",iframeTitle:"PDF viewer window",page:"",search:"",phrase:"",zoom:"",pagemode:"none",locale:"",viewerCssTheme:"AUTOMATIC",workerSrc:new URL("./pdf.worker.min.mjs",import.meta.url).href,debuggerSrc:"./debugger.mjs",cMapUrl:"../web/cmaps/",iccUrl:"../web/iccs/",imageResourcesPath:"./images/",sandboxBundleSrc:"../build/pdf.sandbox.mjs",standardFontDataUrl:"../web/standard_fonts/",wasmUrl:"../web/wasm/",localeSrcTemplate:"https://cdn.jsdelivr.net/gh/mozilla-l10n/firefox-l10n@main/{locale}/toolkit/toolkit/pdfviewer/viewer.ftl"},t={AUTOMATIC:0,LIGHT:1,DARK:2};class i extends HTMLElement{constructor(){super(),this.initPromise=Promise.resolve({}),this.viewerStyles=new Set,this.applyIframeHash=async()=>new Promise(e=>{if(!this.iframe?.contentWindow)return e();this.iframe.contentWindow?.addEventListener("hashchange",()=>{e()},{once:!0}),this.iframe.contentWindow.location.hash=this.getIframeLocationHash()}),this.injectLocaleData=async()=>{const t=this.iframe.contentDocument,i=this.getAttribute("locale");if(!i)return void this.cleanupLocaleResource();const r=await import("./locale-DENudnjU.js");if(!Object.keys(JSON.parse(r.default)).includes(i))return void this.cleanupLocaleResource();const s=this.formatTemplate(this.getAttribute("locale-src-template")||e.localeSrcTemplate,{locale:i}),a={[String(i)]:s},n=t.createElement("link");n.rel="resource",n.type="application/l10n",this.cleanupLocaleResource(),this.localeResourceUrl=URL.createObjectURL(new Blob([JSON.stringify(a)],{type:"application/json"})),n.href=this.localeResourceUrl,this.iframe.contentDocument?.head.appendChild(n),this.localeResourceLink=n},this.onViewerAppCreated=()=>new Promise(e=>{const t=this.iframe.contentWindow;if(t.PDFViewerApplication)return e(t.PDFViewerApplication);let i;Object.defineProperty(t,"PDFViewerApplication",{get:()=>i,set(r){i=r,e(r),delete t.PDFViewerApplication,t.PDFViewerApplication=r},configurable:!0})}),this.applyViewerOptions=()=>{const t=this.iframe.contentWindow?.PDFViewerApplicationOptions;t?.set("workerSrc",this.getAttribute("worker-src")||e.workerSrc),t?.set("debuggerSrc",this.getAttribute("debugger-src")||e.debuggerSrc),t?.set("cMapUrl",this.getAttribute("c-map-url")||e.cMapUrl),t?.set("iccUrl",this.getAttribute("icc-url")||e.iccUrl),t?.set("imageResourcesPath",this.getAttribute("image-resources-path")||e.imageResourcesPath),t?.set("sandboxBundleSrc",this.getAttribute("sandbox-bundle-src")||e.sandboxBundleSrc),t?.set("standardFontDataUrl",this.getAttribute("standard-font-data-url")||e.standardFontDataUrl),t?.set("wasmUrl",this.getAttribute("wasm-url")||e.wasmUrl),t?.set("defaultUrl",this.getFullPath(this.getAttribute("src")||e.src)),t?.set("disablePreferences",!0),t?.set("eventBusDispatchToDOM",!0),t?.set("localeProperties",{lang:this.getAttribute("locale")||e.locale}),t?.set("viewerCssTheme",this.getCssThemeOption())},this.getIframeLocationHash=()=>{const t={page:this.getAttribute("page")||e.page,zoom:this.getAttribute("zoom")||e.zoom,pagemode:this.getAttribute("pagemode")||e.pagemode,search:this.getAttribute("search")||e.search,phrase:this.getAttribute("phrase")||e.phrase,locale:this.getAttribute("locale")||e.locale};return"#"+Object.entries(t).map(([e,t])=>`${e}=${t}`).join("&")},this.buildViewerEntry=async()=>new Promise(async e=>{const[t,i,r]=await Promise.all([import("./viewer-gf2SDly8.js"),import("./viewer-00vA-OlL.js"),import("./paper-and-ink-CqrRiPsP.js")]),s=t.default.replace("</head>",`\n <style>${i.default}</style>\n <style>${r.default}</style>\n ${Array.from(this.viewerStyles).map(e=>`<style>${e}</style>`).join("\n")}\n </head>`);this.iframe.addEventListener("load",()=>e(),{once:!0}),this.iframe.srcdoc=s}),this.setupViewerApp=async()=>{const e=await this.onViewerAppCreated();return this.applyViewerOptions(),await(e?.initializedPromise),this.applyQueuedRuntimeStyles(),{viewerApp:e}},this.buildViewerApp=async()=>{await this.applyIframeHash();const[e,t]=await Promise.all([import("./pdf-DRXGYF_W.js"),import("./viewer-DVUWiHIQ.js")]);return await this.injectLocaleData(),this.injectScript(e.default),this.injectScript(t.default),await this.setupViewerApp()},this.attachShadow({mode:"open"}).innerHTML='\n <style>:host{width:100%;display:block;overflow:hidden}:host iframe{height:100%}</style>\n <iframe frameborder="0" width="100%" loading="lazy"></iframe>\n '}static get observedAttributes(){return["src","locale","viewer-css-theme","worker-src","debugger-src","c-map-url","icc-url","image-resources-path","sandbox-bundle-src","standard-font-data-url","wasm-url","page","search","phrase","zoom","pagemode","iframe-title"]}formatTemplate(e,t){return e.replace(/\{(\w+)\}/g,(e,i)=>{if(!(i in t))throw new Error(`Missing param: ${i}`);return String(t[i])})}getFullPath(e){return e.startsWith("/")?`${window.location.origin}${e}`:e}getCssThemeOption(){const i=this.getAttribute("viewer-css-theme");return Object.keys(t).includes(i)?t[i]:t[e.viewerCssTheme]}applyViewerTheme(){const e=this.getCssThemeOption(),i=this.iframe.contentWindow?.PDFViewerApplicationOptions;i?.set("viewerCssTheme",e);const r=this.iframe.contentDocument;if(!r?.documentElement)return;const s=e===t.LIGHT?"light":e===t.DARK?"dark":"";s?r.documentElement.style.setProperty("color-scheme",s):r.documentElement.style.removeProperty("color-scheme")}appendRuntimeStyle(e){const t=this.iframe?.contentDocument;if(!t?.head||!e)return;if(Array.from(t.querySelectorAll("style")).some(t=>t.textContent===e))return;const i=t.createElement("style");i.setAttribute("data-pdfjs-viewer-runtime-style","true"),i.textContent=e,t.head.appendChild(i)}applyQueuedRuntimeStyles(){this.viewerStyles.forEach(e=>{this.appendRuntimeStyle(e)})}injectScript(e,t="module"){const i=this.iframe.contentDocument;if(!i)return;if(!i.head){const e=i.createElement("head");i.documentElement?.prepend(e)}const r=document.createElement("script");r.type=t,r.textContent=e,i.head?.appendChild(r)}cleanupLocaleResource(){this.localeResourceLink&&(this.localeResourceLink.remove(),this.localeResourceLink=void 0),this.localeResourceUrl&&(URL.revokeObjectURL(this.localeResourceUrl),this.localeResourceUrl=void 0)}async connectedCallback(){this.iframe=this.shadowRoot?.querySelector("iframe"),this.iframe.setAttribute("title",this.getAttribute("iframe-title")||e.iframeTitle),this.initPromise=(async()=>(await this.buildViewerEntry(),await this.buildViewerApp()))()}disconnectedCallback(){for(this.cleanupLocaleResource(),this.iframe.src="about:blank";this.firstChild;)this.removeChild(this.firstChild)}async attributeChangedCallback(t,i,r){if(i===r)return;if(!this.iframe)return;const s={"worker-src":{key:"workerSrc",fallback:e.workerSrc},"debugger-src":{key:"debuggerSrc",fallback:e.debuggerSrc},"c-map-url":{key:"cMapUrl",fallback:e.cMapUrl},"icc-url":{key:"iccUrl",fallback:e.iccUrl},"image-resources-path":{key:"imageResourcesPath",fallback:e.imageResourcesPath},"sandbox-bundle-src":{key:"sandboxBundleSrc",fallback:e.sandboxBundleSrc},"standard-font-data-url":{key:"standardFontDataUrl",fallback:e.standardFontDataUrl},"wasm-url":{key:"wasmUrl",fallback:e.wasmUrl}};if(t in s){const e=this.iframe.contentWindow?.PDFViewerApplicationOptions,{key:i,fallback:a}=s[t];return void e?.set(i,r||a)}switch(t){case"src":{const t=this.iframe.contentWindow?.PDFViewerApplication;if(t){await t.initializedPromise;const i=this.getFullPath(r||e.src);i&&t.open({url:i})}return}case"locale":return this.cleanupLocaleResource(),this.initPromise=(async()=>(await this.buildViewerEntry(),await this.buildViewerApp()))(),void await this.initPromise;case"viewer-css-theme":return void this.applyViewerTheme();default:await this.applyIframeHash()}}async injectViewerStyles(e){e&&(this.viewerStyles.add(e),this.appendRuntimeStyle(e))}}window.customElements.get("pdfjs-viewer-element")||window.customElements.define("pdfjs-viewer-element",i);export{i as PdfjsViewerElement,t as ViewerCssTheme,i as default};
|
package/package.json
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pdfjs-viewer-element",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Oleksandr Shevchuk",
|
|
7
7
|
"email": "alekswebnet@gmail.com"
|
|
8
8
|
},
|
|
9
9
|
"keywords": [
|
|
10
|
-
"
|
|
10
|
+
"javascript",
|
|
11
|
+
"web-component",
|
|
12
|
+
"typescript",
|
|
13
|
+
"pdf-viewer",
|
|
14
|
+
"pdf-document",
|
|
11
15
|
"pdfjs",
|
|
12
|
-
"pdf
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
16
|
+
"react-pdf",
|
|
17
|
+
"vue-pdf",
|
|
18
|
+
"pdfium",
|
|
19
|
+
"pdf-lib",
|
|
20
|
+
"adobe-acrobat",
|
|
21
|
+
"pdf-sdk",
|
|
22
|
+
"embed-pdf",
|
|
23
|
+
"pdfjs-viewer",
|
|
24
|
+
"embed-pdf-viewer"
|
|
17
25
|
],
|
|
18
26
|
"main": "./dist/pdfjs-viewer-element.js",
|
|
19
27
|
"module": "./dist/pdfjs-viewer-element.js",
|