pdf-tsx 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/cjs/components/PDFSidebar.cjs +1 -0
- package/dist/cjs/components/PDFSidebar.module.cjs +1 -0
- package/dist/cjs/components/PDFViewer.cjs +1 -0
- package/dist/cjs/components/PDFViewer.module.cjs +1 -0
- package/dist/cjs/components/features/PDFAnnotations.cjs +1 -0
- package/dist/cjs/components/features/PDFAnnotations.module.cjs +1 -0
- package/dist/cjs/components/features/PDFChangeFile.cjs +1 -0
- package/dist/cjs/components/features/PDFDownloadButton.cjs +1 -0
- package/dist/cjs/components/features/PDFNavigation.cjs +1 -0
- package/dist/cjs/components/features/PDFNavigation.module.cjs +1 -0
- package/dist/cjs/components/features/PDFOutline.cjs +1 -0
- package/dist/cjs/components/features/PDFOutline.module.cjs +1 -0
- package/dist/cjs/components/features/PDFPageFit.cjs +1 -0
- package/dist/cjs/components/features/PDFPrintButton.cjs +1 -0
- package/dist/cjs/components/features/PDFRotationControl.cjs +1 -0
- package/dist/cjs/components/features/PDFSearch.cjs +1 -0
- package/dist/cjs/components/features/PDFSearch.module.cjs +1 -0
- package/dist/cjs/components/features/PDFSignatures.cjs +1 -0
- package/dist/cjs/components/features/PDFSignatures.module.cjs +1 -0
- package/dist/cjs/components/features/PDFThemeToggle.cjs +1 -0
- package/dist/cjs/components/features/PDFThumbnails.cjs +1 -0
- package/dist/cjs/components/features/PDFThumbnails.module.cjs +1 -0
- package/dist/cjs/components/features/PDFZoomControls.cjs +1 -0
- package/dist/cjs/components/features/PDFZoomControls.module.cjs +1 -0
- package/dist/cjs/components/ui/ToolbarButton.cjs +1 -0
- package/dist/cjs/components/ui/ToolbarButton.module.cjs +1 -0
- package/dist/cjs/components/ui/icons.cjs +1 -0
- package/dist/cjs/context/PDFViewerContext.cjs +1 -0
- package/dist/cjs/context/ThemeContext.cjs +1 -0
- package/dist/cjs/hooks/useAnnotationLayer.cjs +1 -0
- package/dist/cjs/hooks/useAnnotations.cjs +1 -0
- package/dist/cjs/hooks/useKeyboardShortcuts.cjs +1 -0
- package/dist/cjs/hooks/useOutline.cjs +1 -0
- package/dist/cjs/hooks/useScrollTracking.cjs +1 -0
- package/dist/cjs/hooks/useSignatures.cjs +1 -0
- package/dist/cjs/hooks/useTextLayer.cjs +1 -0
- package/dist/cjs/hooks/useTextSearch.cjs +1 -0
- package/dist/cjs/hooks/useThumbnails.cjs +1 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/node_modules/react/cjs/react-compiler-runtime.development.cjs +5 -0
- package/dist/cjs/node_modules/react/cjs/react-compiler-runtime.production.cjs +1 -0
- package/dist/cjs/node_modules/react/compiler-runtime.cjs +1 -0
- package/dist/cjs/pdf-tsx.css +2 -0
- package/dist/cjs/theme.cjs +1 -0
- package/dist/cjs/utils/url.cjs +1 -0
- package/dist/cjs/vite.svg +1 -0
- package/dist/components/PDFSidebar.d.ts +11 -0
- package/dist/components/PDFViewer.d.ts +10 -0
- package/dist/components/features/PDFAnnotations.d.ts +1 -0
- package/dist/components/features/PDFChangeFile.d.ts +6 -0
- package/dist/components/features/PDFDownloadButton.d.ts +6 -0
- package/dist/components/features/PDFNavigation.d.ts +7 -0
- package/dist/components/features/PDFOutline.d.ts +1 -0
- package/dist/components/features/PDFPageFit.d.ts +7 -0
- package/dist/components/features/PDFPrintButton.d.ts +6 -0
- package/dist/components/features/PDFRotationControl.d.ts +6 -0
- package/dist/components/features/PDFSearch.d.ts +9 -0
- package/dist/components/features/PDFSignatures.d.ts +1 -0
- package/dist/components/features/PDFThemeToggle.d.ts +7 -0
- package/dist/components/features/PDFThumbnails.d.ts +1 -0
- package/dist/components/features/PDFZoomControls.d.ts +7 -0
- package/dist/components/ui/ToolbarButton.d.ts +6 -0
- package/dist/components/ui/icons.d.ts +20 -0
- package/dist/context/PDFViewerContext.d.ts +25 -0
- package/dist/context/ThemeContext.d.ts +12 -0
- package/dist/es/_virtual/_rolldown/runtime.js +7 -0
- package/dist/es/components/PDFSidebar.js +43 -0
- package/dist/es/components/PDFSidebar.module.js +11 -0
- package/dist/es/components/PDFViewer.js +263 -0
- package/dist/es/components/PDFViewer.module.js +16 -0
- package/dist/es/components/features/PDFAnnotations.js +94 -0
- package/dist/es/components/features/PDFAnnotations.module.js +14 -0
- package/dist/es/components/features/PDFChangeFile.js +36 -0
- package/dist/es/components/features/PDFDownloadButton.js +23 -0
- package/dist/es/components/features/PDFNavigation.js +71 -0
- package/dist/es/components/features/PDFNavigation.module.js +7 -0
- package/dist/es/components/features/PDFOutline.js +101 -0
- package/dist/es/components/features/PDFOutline.module.js +9 -0
- package/dist/es/components/features/PDFPageFit.js +43 -0
- package/dist/es/components/features/PDFPrintButton.js +26 -0
- package/dist/es/components/features/PDFRotationControl.js +22 -0
- package/dist/es/components/features/PDFSearch.js +77 -0
- package/dist/es/components/features/PDFSearch.module.js +8 -0
- package/dist/es/components/features/PDFSignatures.js +133 -0
- package/dist/es/components/features/PDFSignatures.module.js +18 -0
- package/dist/es/components/features/PDFThemeToggle.js +17 -0
- package/dist/es/components/features/PDFThumbnails.js +40 -0
- package/dist/es/components/features/PDFThumbnails.module.js +11 -0
- package/dist/es/components/features/PDFZoomControls.js +47 -0
- package/dist/es/components/features/PDFZoomControls.module.js +3 -0
- package/dist/es/components/ui/ToolbarButton.js +16 -0
- package/dist/es/components/ui/ToolbarButton.module.js +6 -0
- package/dist/es/components/ui/icons.js +28 -0
- package/dist/es/context/PDFViewerContext.js +11 -0
- package/dist/es/context/ThemeContext.js +43 -0
- package/dist/es/hooks/useAnnotationLayer.js +71 -0
- package/dist/es/hooks/useAnnotations.js +44 -0
- package/dist/es/hooks/useKeyboardShortcuts.js +54 -0
- package/dist/es/hooks/useOutline.js +20 -0
- package/dist/es/hooks/useScrollTracking.js +46 -0
- package/dist/es/hooks/useSignatures.js +45 -0
- package/dist/es/hooks/useTextLayer.js +42 -0
- package/dist/es/hooks/useTextSearch.js +53 -0
- package/dist/es/hooks/useThumbnails.js +31 -0
- package/dist/es/index.js +16 -0
- package/dist/es/node_modules/react/cjs/react-compiler-runtime.development.js +14 -0
- package/dist/es/node_modules/react/cjs/react-compiler-runtime.production.js +11 -0
- package/dist/es/node_modules/react/compiler-runtime.js +10 -0
- package/dist/es/pdf-tsx.css +2 -0
- package/dist/es/theme.js +67 -0
- package/dist/es/utils/url.js +11 -0
- package/dist/es/vite.svg +1 -0
- package/dist/hooks/useAnnotationLayer.d.ts +20 -0
- package/dist/hooks/useAnnotations.d.ts +20 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts +11 -0
- package/dist/hooks/useOutline.d.ts +14 -0
- package/dist/hooks/useScrollTracking.d.ts +14 -0
- package/dist/hooks/useSignatures.d.ts +17 -0
- package/dist/hooks/useTextLayer.d.ts +10 -0
- package/dist/hooks/useTextSearch.d.ts +12 -0
- package/dist/hooks/useThumbnails.d.ts +9 -0
- package/dist/index.d.ts +15 -0
- package/dist/pdf-tsx.cjs.js +5 -0
- package/dist/pdf-tsx.css +2 -0
- package/dist/pdf-tsx.es.js +2637 -0
- package/dist/theme.d.ts +24 -0
- package/dist/utils/url.d.ts +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +60 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Riccardo Grossano
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# pdf-tsx
|
|
2
|
+
|
|
3
|
+
A fully-featured, composable PDF viewer component for React.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install pdf-tsx
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Peer dependencies
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install react react-dom pdfjs-dist
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Quick start
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import { PDFViewer } from 'pdf-tsx'
|
|
23
|
+
|
|
24
|
+
function App() {
|
|
25
|
+
const [file, setFile] = useState<File | null>(null)
|
|
26
|
+
|
|
27
|
+
if (!file) return <input type="file" accept=".pdf" onChange={e => setFile(e.target.files![0])} />
|
|
28
|
+
|
|
29
|
+
return <PDFViewer file={file} />
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Icons
|
|
36
|
+
|
|
37
|
+
Feature components do not bundle any icon library. Each component that shows an icon requires you to pass it explicitly as a prop — use any icon library or custom SVG you prefer.
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { FiZoomIn, FiZoomOut } from 'react-icons/fi'
|
|
41
|
+
|
|
42
|
+
<PDFZoomControls zoomInIcon={<FiZoomIn size={16} />} zoomOutIcon={<FiZoomOut size={16} />} />
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## PDFViewer
|
|
48
|
+
|
|
49
|
+
The main component. Must wrap all feature components.
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
<PDFViewer
|
|
53
|
+
file={file}
|
|
54
|
+
sidebar={<PDFSidebar panels={[...]} />}
|
|
55
|
+
toolbar={<>...</>}
|
|
56
|
+
onChangeFile={(newFile) => setFile(newFile)}
|
|
57
|
+
/>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
| Prop | Type | Required | Description |
|
|
61
|
+
|----------------|------------------------|----------|---------------------------------------------|
|
|
62
|
+
| `file` | `File` | yes | The PDF file object to display |
|
|
63
|
+
| `sidebar` | `ReactNode` | no | Content rendered on the left side |
|
|
64
|
+
| `toolbar` | `ReactNode` | no | Content rendered in the top toolbar |
|
|
65
|
+
| `onChangeFile` | `(file: File) => void` | no | Called when the user opens a different file |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## PDFSidebar
|
|
70
|
+
|
|
71
|
+
A collapsible icon sidebar. Each panel has an icon button — clicking it toggles the panel open/closed.
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
import { PDFSidebar } from 'pdf-tsx'
|
|
75
|
+
import { FiImage, FiList } from 'react-icons/fi'
|
|
76
|
+
|
|
77
|
+
<PDFSidebar panels={[
|
|
78
|
+
{ icon: <FiImage size={18} />, label: 'Thumbnails', content: <PDFThumbnails /> },
|
|
79
|
+
{ icon: <FiList size={18} />, label: 'Outline', content: <PDFOutline /> },
|
|
80
|
+
]} />
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
| Prop | Type | Description |
|
|
84
|
+
|----------|------------------|------------------------------------|
|
|
85
|
+
| `panels` | `SidebarPanel[]` | Array of panels to display |
|
|
86
|
+
|
|
87
|
+
**SidebarPanel**
|
|
88
|
+
|
|
89
|
+
| Field | Type | Description |
|
|
90
|
+
|-----------|-------------|----------------------------------------|
|
|
91
|
+
| `icon` | `ReactNode` | Icon shown in the sidebar button bar |
|
|
92
|
+
| `label` | `string` | Panel title shown in the header |
|
|
93
|
+
| `content` | `ReactNode` | Content rendered inside the open panel |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Feature components
|
|
98
|
+
|
|
99
|
+
All feature components must be rendered inside `<PDFViewer>`. They read and write state via `usePDFViewer()` internally.
|
|
100
|
+
|
|
101
|
+
| Component | Icon props | Description |
|
|
102
|
+
|----------------------|-----------------------------------------------------|------------------------------------------------------|
|
|
103
|
+
| `PDFThumbnails` | — | Page thumbnail strip for quick navigation |
|
|
104
|
+
| `PDFOutline` | — | Document outline / bookmarks tree |
|
|
105
|
+
| `PDFAnnotations` | — | Display PDF annotations |
|
|
106
|
+
| `PDFSignatures` | — | Display PDF digital signatures |
|
|
107
|
+
| `PDFSearch` | `searchIcon` `prevIcon` `nextIcon` `clearIcon` | Full-text search with match highlighting |
|
|
108
|
+
| `PDFZoomControls` | `zoomInIcon` `zoomOutIcon` | Zoom in / zoom out buttons with percentage display |
|
|
109
|
+
| `PDFPageFit` | `fitWidthIcon` `fitPageIcon` | Fit-to-width and fit-to-page buttons |
|
|
110
|
+
| `PDFRotationControl` | `icon` | Rotate page clockwise |
|
|
111
|
+
| `PDFNavigation` | `prevIcon` `nextIcon` | Previous / next page buttons with current page input |
|
|
112
|
+
| `PDFDownloadButton` | `icon` | Download the current PDF file |
|
|
113
|
+
| `PDFChangeFile` | `icon` | Button to open a new PDF file |
|
|
114
|
+
| `PDFThemeToggle` | `lightIcon` `darkIcon` | Toggle between dark and light mode |
|
|
115
|
+
| `PDFPrintButton` | `icon` | Print the PDF using the browser's native print dialog|
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Full example
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
import { useState, Suspense, lazy } from 'react'
|
|
123
|
+
import {
|
|
124
|
+
PDFSidebar, PDFThumbnails, PDFOutline, PDFSearch,
|
|
125
|
+
PDFZoomControls, PDFPageFit, PDFRotationControl,
|
|
126
|
+
PDFNavigation, PDFDownloadButton, PDFChangeFile,
|
|
127
|
+
PDFThemeToggle, PDFPrintButton,
|
|
128
|
+
} from 'pdf-tsx'
|
|
129
|
+
import {
|
|
130
|
+
FiImage, FiList, FiSearch, FiChevronUp, FiChevronDown, FiX,
|
|
131
|
+
FiZoomIn, FiZoomOut, FiAlignJustify, FiMaximize2, FiRotateCw,
|
|
132
|
+
FiChevronLeft, FiChevronRight, FiDownload, FiFolderPlus,
|
|
133
|
+
FiPrinter, FiSun, FiMoon,
|
|
134
|
+
} from 'react-icons/fi'
|
|
135
|
+
|
|
136
|
+
const PDFViewer = lazy(() => import('pdf-tsx').then(m => ({ default: m.PDFViewer })))
|
|
137
|
+
|
|
138
|
+
function App() {
|
|
139
|
+
const [file, setFile] = useState<File | null>(null)
|
|
140
|
+
|
|
141
|
+
if (!file) {
|
|
142
|
+
return (
|
|
143
|
+
<input
|
|
144
|
+
type="file"
|
|
145
|
+
accept=".pdf"
|
|
146
|
+
onChange={e => setFile(e.target.files![0])}
|
|
147
|
+
/>
|
|
148
|
+
)
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return (
|
|
152
|
+
<Suspense fallback={<div>Loading...</div>}>
|
|
153
|
+
<PDFViewer
|
|
154
|
+
file={file}
|
|
155
|
+
onChangeFile={setFile}
|
|
156
|
+
sidebar={
|
|
157
|
+
<PDFSidebar panels={[
|
|
158
|
+
{ icon: <FiImage size={18} />, label: 'Thumbnails', content: <PDFThumbnails /> },
|
|
159
|
+
{ icon: <FiList size={18} />, label: 'Outline', content: <PDFOutline /> },
|
|
160
|
+
]} />
|
|
161
|
+
}
|
|
162
|
+
toolbar={
|
|
163
|
+
<>
|
|
164
|
+
<PDFSearch
|
|
165
|
+
searchIcon={<FiSearch size={14} />}
|
|
166
|
+
prevIcon={<FiChevronUp size={14} />}
|
|
167
|
+
nextIcon={<FiChevronDown size={14} />}
|
|
168
|
+
clearIcon={<FiX size={14} />}
|
|
169
|
+
/>
|
|
170
|
+
<PDFZoomControls zoomOutIcon={<FiZoomOut size={16} />} zoomInIcon={<FiZoomIn size={16} />} />
|
|
171
|
+
<PDFPageFit fitWidthIcon={<FiAlignJustify size={16} />} fitPageIcon={<FiMaximize2 size={16} />} />
|
|
172
|
+
<PDFRotationControl icon={<FiRotateCw size={16} />} />
|
|
173
|
+
<PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
|
|
174
|
+
<PDFChangeFile icon={<FiFolderPlus size={16} />} />
|
|
175
|
+
<PDFDownloadButton icon={<FiDownload size={15} />} />
|
|
176
|
+
<PDFThemeToggle lightIcon={<FiSun size={16} />} darkIcon={<FiMoon size={16} />} />
|
|
177
|
+
<PDFPrintButton icon={<FiPrinter size={16} />} />
|
|
178
|
+
</>
|
|
179
|
+
}
|
|
180
|
+
/>
|
|
181
|
+
</Suspense>
|
|
182
|
+
)
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## License
|
|
189
|
+
|
|
190
|
+
MIT © Riccardo Grossano — see [LICENSE](./LICENSE) for full terms.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__commonJSMin=o,exports.__toESM=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../node_modules/react/compiler-runtime.cjs`),t=require(`./PDFSidebar.module.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);var i=e.default;function a(e){let a=(0,i.c)(14),{panels:o}=e,[s,c]=(0,n.useState)(null),l;a[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>c(t=>t===e?null:e),a[0]=l):l=a[0];let u=l,d;if(a[1]!==s||a[2]!==o){let e;a[4]===s?e=a[5]:(e=(e,n)=>(0,r.jsx)(`button`,{className:`${t.default.panelButton} ${s===n?t.default.panelButtonActive:``}`,onClick:()=>u(n),title:e.label,children:e.icon},n),a[4]=s,a[5]=e),d=o.map(e),a[1]=s,a[2]=o,a[3]=d}else d=a[3];let f;a[6]===d?f=a[7]:(f=(0,r.jsx)(`div`,{className:t.default.buttonBar,children:d}),a[6]=d,a[7]=f);let p;a[8]!==s||a[9]!==o?(p=s!==null&&(0,r.jsxs)(`div`,{className:t.default.contentPanel,children:[(0,r.jsx)(`div`,{className:t.default.panelHeader,children:o[s].label}),(0,r.jsx)(`div`,{className:t.default.panelBody,children:o[s].content})]}),a[8]=s,a[9]=o,a[10]=p):p=a[10];let m;return a[11]!==f||a[12]!==p?(m=(0,r.jsxs)(`div`,{className:t.default.wrapper,children:[f,p]}),a[11]=f,a[12]=p,a[13]=m):m=a[13],m}exports.PDFSidebar=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={wrapper:`_wrapper_1bxn4_1`,buttonBar:`_buttonBar_1bxn4_7`,panelButton:`_panelButton_1bxn4_17`,panelButtonActive:`_panelButtonActive_1bxn4_37`,contentPanel:`_contentPanel_1bxn4_46`,panelHeader:`_panelHeader_1bxn4_54`,panelBody:`_panelBody_1bxn4_66`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../context/PDFViewerContext.cjs`),n=require(`../hooks/useScrollTracking.cjs`),r=require(`../hooks/useKeyboardShortcuts.cjs`),i=require(`../hooks/useTextLayer.cjs`),a=require(`../utils/url.cjs`),o=require(`../hooks/useAnnotationLayer.cjs`),s=require(`../context/ThemeContext.cjs`),c=require(`./PDFViewer.module.cjs`);let l=require(`react`);l=e.__toESM(l,1);let u=require(`pdfjs-dist`);u=e.__toESM(u,1);let d=require(`react/jsx-runtime`);var f=({file:e,workerSrc:f,sidebar:p,toolbar:m,onChangeFile:h})=>{(0,l.useEffect)(()=>{u.GlobalWorkerOptions.workerSrc=f},[f]);let[g,_]=(0,l.useState)(null),[v,y]=(0,l.useState)(0),[b,x]=(0,l.useState)(1),[S,C]=(0,l.useState)(0),[w,T]=(0,l.useState)(null),[E,D]=(0,l.useState)(null),[O,k]=(0,l.useState)([]),[A,j]=(0,l.useState)(new Set),[M,N]=(0,l.useState)([]),P=(0,l.useRef)(null),F=(0,l.useRef)([]),I=(0,l.useRef)([]),{currentPage:L,goToPage:R}=n.useScrollTracking({pdf:g,numPages:v,zoom:b,rotation:S,containerRef:P,canvasRefs:F});r.useKeyboardShortcuts({pdf:g,currentPage:L,numPages:v,goToPage:R,setZoom:x,setRotation:C});let z=i.useTextLayer({pdf:g,zoom:b,rotation:S,numPages:v,canvasRefs:F}),B=o.useAnnotationLayer({pdf:g,zoom:b,rotation:S,numPages:v,goToPage:R});(0,l.useEffect)(()=>{(async()=>{let t=new FileReader;t.onload=async e=>{let t=new Uint8Array(e.target?.result);try{let e=await u.getDocument(t).promise;_(e),y(e.numPages),T(null),D(null),j(new Set),N([]),F.current=Array(e.numPages).fill(null),I.current=Array(e.numPages).fill(null)}catch(e){console.error(`Errore caricamento:`,e)}},t.readAsArrayBuffer(e)})()},[e]),(0,l.useEffect)(()=>{if(!g)return;j(new Set);let e=!1;return(async()=>{let t=I.current.map(e=>e?(e.cancel(),e.promise.catch(()=>{})):Promise.resolve());if(await Promise.all(t),I.current=Array(g.numPages).fill(null),e)return;let n=[];for(let e=1;e<=g.numPages;e++){let t=(await g.getPage(e)).getViewport({scale:b,rotation:S});n.push({width:t.width,height:t.height})}if(!e){N(n);for(let t=1;t<=g.numPages;t++){if(e)return;let n=await g.getPage(t),r=n.getViewport({scale:b,rotation:S}),i=F.current[t-1];if(i){let a=i.getContext(`2d`);if(a){i.height=r.height,i.width=r.width;let o=n.render({canvasContext:a,viewport:r,canvas:i});I.current[t-1]=o;try{await o.promise,e||j(e=>new Set(e).add(t))}catch(e){e&&typeof e==`object`&&`name`in e&&e.name!==`RenderingCancelledException`&&console.error(`Render error:`,e)}}}}}})(),()=>{e=!0,I.current.forEach(e=>e?.cancel())}},[g,b,S]);let[V,H]=(0,l.useState)([]);return(0,l.useEffect)(()=>{if(!g||O.length===0){H([]);return}let e=!1;return(async()=>{let t=[];for(let n of O){if(e)break;let[r,i,a,o]=(await g.getPage(n.page)).getViewport({scale:b,rotation:S}).convertToViewportRectangle(n.pdfRect);t.push({page:n.page,x:Math.min(r,a),y:Math.min(i,o),width:Math.abs(a-r),height:Math.abs(o-i)})}e||H(t)})(),()=>{e=!0}},[O,b,S,g]),(0,l.useEffect)(()=>{if(!w||!g)return;let e=!1;return(async()=>{let[t,n,r,i]=(await g.getPage(w.page)).getViewport({scale:b,rotation:S}).convertToViewportRectangle(w.pdfRect);e||D({page:w.page,x:Math.min(t,r),y:Math.min(n,i),width:Math.abs(r-t),height:Math.abs(i-n)})})(),()=>{e=!0}},[w,b,S,g]),(0,d.jsx)(s.ThemeProvider,{children:(0,d.jsx)(t.PDFViewerContext.Provider,{value:{pdf:g,numPages:v,zoom:b,setZoom:x,rotation:S,setRotation:C,currentPage:L,goToPage:R,containerRef:P,canvasRefs:F,file:e,highlight:w,setHighlight:T,searchMatches:O,setSearchMatches:k,onChangeFile:h},children:(0,d.jsxs)(`div`,{className:c.default.appLayout,children:[p,(0,d.jsxs)(`div`,{className:c.default.mainContent,children:[m&&(0,d.jsx)(`div`,{className:c.default.toolbar,children:m}),(0,d.jsx)(`div`,{className:c.default.scrollContainer,ref:P,children:Array.from({length:v},(e,t)=>{let n=A.has(t+1),r=M[t];return(0,d.jsxs)(`div`,{className:c.default.pageWrapper,children:[!n&&r&&(0,d.jsx)(`div`,{className:c.default.pageSkeleton,style:{width:r.width,height:r.height}}),(0,d.jsx)(`canvas`,{className:c.default.pageCanvas,ref:e=>{F.current[t]=e},style:{display:n?`block`:`none`}}),(0,d.jsx)(`div`,{className:`textLayer ${c.default.textLayer}`,ref:e=>{z.current[t]=e}}),B.filter(e=>e.page===t+1).map((e,t)=>(0,d.jsx)(`a`,{className:c.default.linkOverlay,href:e.url&&a.isSafeUrl(e.url)?e.url:`#`,target:`_blank`,rel:`noopener noreferrer`,style:{left:e.x,top:e.y,width:e.width,height:e.height},onClick:t=>{(!e.url||!a.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())}},t)),V.filter(e=>e.page===t+1).map((e,t)=>(0,d.jsx)(`div`,{className:c.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)),w&&E?.page===t+1&&(0,d.jsx)(`div`,{className:c.default.highlightOverlay,style:{left:E.x,top:E.y,width:E.width,height:E.height}})]},`${t}-${S}`)})})]})]})})})};exports.default=f;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={appLayout:`_appLayout_1k76a_1`,mainContent:`_mainContent_1k76a_7`,toolbar:`_toolbar_1k76a_14`,scrollContainer:`_scrollContainer_1k76a_26`,pageWrapper:`_pageWrapper_1k76a_36`,pageCanvas:`_pageCanvas_1k76a_41`,textLayer:`_textLayer_1k76a_48`,pageSkeleton:`_pageSkeleton_1k76a_54`,shimmer:`_shimmer_1k76a_1`,highlightOverlay:`_highlightOverlay_1k76a_66`,linkOverlay:`_linkOverlay_1k76a_74`,searchMatchOverlay:`_searchMatchOverlay_1k76a_80`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../node_modules/react/compiler-runtime.cjs`),n=require(`../../hooks/useAnnotations.cjs`),r=require(`./PDFAnnotations.module.cjs`);let i=require(`react/jsx-runtime`);var a=t.default,o={Text:`Nota`,Highlight:`Evidenziazione`,Underline:`Sottolineatura`,StrikeOut:`Barrato`,FreeText:`Testo libero`,Ink:`Disegno`,Square:`Rettangolo`,Circle:`Cerchio`,Line:`Linea`,Stamp:`Timbro`,FileAttachment:`Allegato`};function s(e){return e?`rgb(${e.r}, ${e.g}, ${e.b})`:`#d4d4d8`}function c(e){let t=(0,a.c)(22),{ann:n,onClick:c}=e,l=o[n.subtype]??n.subtype,u=`${r.default.card} ${n.rect?r.default.cardClickable:``}`,d;t[0]===n.color?d=t[1]:(d=s(n.color),t[0]=n.color,t[1]=d);let f=`3px solid ${d}`,p;t[2]===f?p=t[3]:(p={borderLeft:f},t[2]=f,t[3]=p);let m;t[4]===l?m=t[5]:(m=(0,i.jsx)(`span`,{className:r.default.cardLabel,children:l}),t[4]=l,t[5]=m);let h;t[6]===n.page?h=t[7]:(h=(0,i.jsxs)(`span`,{className:r.default.cardPage,children:[`p.`,n.page]}),t[6]=n.page,t[7]=h);let g;t[8]!==m||t[9]!==h?(g=(0,i.jsxs)(`div`,{className:r.default.cardHeader,children:[m,h]}),t[8]=m,t[9]=h,t[10]=g):g=t[10];let _;t[11]===n.title?_=t[12]:(_=n.title&&(0,i.jsx)(`div`,{className:r.default.cardAuthor,children:n.title}),t[11]=n.title,t[12]=_);let v;t[13]===n.contents?v=t[14]:(v=n.contents&&(0,i.jsx)(`div`,{className:r.default.cardContent,children:n.contents}),t[13]=n.contents,t[14]=v);let y;return t[15]!==c||t[16]!==u||t[17]!==p||t[18]!==g||t[19]!==_||t[20]!==v?(y=(0,i.jsxs)(`div`,{className:u,style:p,onClick:c,children:[g,_,v]}),t[15]=c,t[16]=u,t[17]=p,t[18]=g,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function l(){let{pdf:t,goToPage:a,setHighlight:o}=e.usePDFViewer(),{annotations:s,loading:l}=n.useAnnotations({pdf:t}),u=e=>{a(e.page),e.rect&&o({page:e.page,pdfRect:e.rect})},d=s.reduce((e,t)=>((e[t.page]??=[]).push(t),e),{});return(0,i.jsxs)(`div`,{className:r.default.list,children:[l&&(0,i.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),!l&&s.length===0&&(0,i.jsx)(`div`,{className:r.default.emptyState,children:`Nessuna annotazione rilevata.`}),!l&&Object.entries(d).map(([e,t])=>(0,i.jsxs)(`div`,{children:[(0,i.jsxs)(`div`,{className:r.default.pageHeader,children:[`Pagina `,e]}),t.map(e=>(0,i.jsx)(c,{ann:e,onClick:()=>u(e)},e.id))]},e))]})}exports.PDFAnnotations=l;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={list:`_list_xo7yf_1`,emptyState:`_emptyState_xo7yf_6`,pageHeader:`_pageHeader_xo7yf_12`,card:`_card_xo7yf_23`,cardClickable:`_cardClickable_xo7yf_33`,cardHeader:`_cardHeader_xo7yf_41`,cardLabel:`_cardLabel_xo7yf_48`,cardPage:`_cardPage_xo7yf_54`,cardAuthor:`_cardAuthor_xo7yf_59`,cardContent:`_cardContent_xo7yf_65`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=n.default;function s(e){let n=(0,o.c)(11),{icon:s}=e,{onChangeFile:c}=t.usePDFViewer(),l=(0,i.useRef)(null),u;n[0]===c?u=n[1]:(u=e=>{let t=e.target.files?.[0];t&&c?.(t),e.target.value=``},n[0]=c,n[1]=u);let d=u,f;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(f={display:`none`},n[2]=f):f=n[2];let p;n[3]===d?p=n[4]:(p=(0,a.jsx)(`input`,{ref:l,type:`file`,accept:`.pdf`,style:f,onChange:d}),n[3]=d,n[4]=p);let m;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>l.current?.click(),n[5]=m):m=n[5];let h;n[6]===s?h=n[7]:(h=(0,a.jsx)(r.ToolbarButton,{onClick:m,title:`Apri altro file`,children:s}),n[6]=s,n[7]=h);let g;return n[8]!==p||n[9]!==h?(g=(0,a.jsxs)(a.Fragment,{children:[p,h]}),n[8]=p,n[9]=h,n[10]=g):g=n[10],g}exports.PDFChangeFile=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=n.default;function s(e){let n=(0,o.c)(5),{icon:i}=e,{file:s}=t.usePDFViewer(),c;n[0]===s?c=n[1]:(c=()=>{let e=URL.createObjectURL(s),t=document.createElement(`a`);t.href=e,t.download=s.name||`documento.pdf`,t.click(),URL.revokeObjectURL(e)},n[0]=s,n[1]=c);let l=c,u;return n[2]!==l||n[3]!==i?(u=(0,a.jsxs)(r.ToolbarButton,{$primary:!0,onClick:l,title:`Scarica PDF`,children:[i,`Scarica`]}),n[2]=l,n[3]=i,n[4]=u):u=n[4],u}exports.PDFDownloadButton=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`),i=require(`./PDFNavigation.module.cjs`);let a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);var s=n.default;function c(e){let n=(0,s.c)(34),{prevIcon:c,nextIcon:l}=e,{currentPage:u,numPages:d,goToPage:f}=t.usePDFViewer(),[p,m]=(0,a.useState)(!1),[h,g]=(0,a.useState)(``),_;n[0]!==f||n[1]!==h?(_=()=>{let e=parseInt(h,10);isNaN(e)||f(e),m(!1)},n[0]=f,n[1]=h,n[2]=_):_=n[2];let v=_,y;n[3]!==u||n[4]!==f?(y=()=>f(u-1),n[3]=u,n[4]=f,n[5]=y):y=n[5];let b=u===1,x;n[6]!==c||n[7]!==y||n[8]!==b?(x=(0,o.jsx)(r.ToolbarButton,{onClick:y,disabled:b,title:`Pagina precedente (←)`,children:c}),n[6]=c,n[7]=y,n[8]=b,n[9]=x):x=n[9];let S=p?h:u,C;n[10]===u?C=n[11]:(C=()=>{m(!0),g(String(u))},n[10]=u,n[11]=C);let w;n[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>g(e.target.value),n[12]=w):w=n[12];let T;n[13]===v?T=n[14]:(T=e=>{e.key===`Enter`&&v(),e.key===`Escape`&&m(!1)},n[13]=v,n[14]=T);let E;n[15]!==v||n[16]!==S||n[17]!==C||n[18]!==T?(E=(0,o.jsx)(`input`,{className:i.default.pageInput,type:`number`,value:S,onFocus:C,onBlur:v,onChange:w,onKeyDown:T,title:`Vai alla pagina`}),n[15]=v,n[16]=S,n[17]=C,n[18]=T,n[19]=E):E=n[19];let D;n[20]===d?D=n[21]:(D=(0,o.jsxs)(`span`,{className:i.default.pageTotal,children:[`/ `,d]}),n[20]=d,n[21]=D);let O;n[22]!==u||n[23]!==f?(O=()=>f(u+1),n[22]=u,n[23]=f,n[24]=O):O=n[24];let k=u===d,A;n[25]!==l||n[26]!==O||n[27]!==k?(A=(0,o.jsx)(r.ToolbarButton,{onClick:O,disabled:k,title:`Pagina successiva (→)`,children:l}),n[25]=l,n[26]=O,n[27]=k,n[28]=A):A=n[28];let j;return n[29]!==D||n[30]!==A||n[31]!==x||n[32]!==E?(j=(0,o.jsxs)(`div`,{className:i.default.navWrapper,children:[x,E,D,A]}),n[29]=D,n[30]=A,n[31]=x,n[32]=E,n[33]=j):j=n[33],j}exports.PDFNavigation=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={navWrapper:`_navWrapper_ew1r2_1`,pageInput:`_pageInput_ew1r2_8`,pageTotal:`_pageTotal_ew1r2_36`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../node_modules/react/compiler-runtime.cjs`),n=require(`../../hooks/useOutline.cjs`),r=require(`../ui/icons.cjs`),i=require(`./PDFOutline.module.cjs`);let a=require(`react`),o=require(`react/jsx-runtime`);var s=t.default;async function c(e,t){if(!e||!t)return null;try{let n=typeof t==`string`?await e.getDestination(t):t;if(!n||n.length===0)return null;let r=n[0];return await e.getPageIndex(r)+1}catch{return null}}function l(e){let t=(0,s.c)(25),{node:n,depth:c,onNavigate:d}=e,[f,p]=(0,a.useState)(c===0),m=n.items.length>0,h=12+c*14,g=n.bold?600:400,_=n.italic?`italic`:`normal`,v;t[0]!==h||t[1]!==g||t[2]!==_?(v={paddingLeft:h,fontWeight:g,fontStyle:_},t[0]=h,t[1]=g,t[2]=_,t[3]=v):v=t[3];let y;t[4]!==n.dest||t[5]!==d?(y=()=>d(n.dest),t[4]=n.dest,t[5]=d,t[6]=y):y=t[6];let b;t[7]!==m||t[8]!==f?(b=m?(0,o.jsx)(`button`,{className:i.default.chevronBtn,onClick:e=>{e.stopPropagation(),p(u)},children:f?(0,o.jsx)(r.IconChevronDown,{size:12}):(0,o.jsx)(r.IconChevronRight,{size:12})}):(0,o.jsx)(`span`,{style:{width:16,flexShrink:0}}),t[7]=m,t[8]=f,t[9]=b):b=t[9];let x;t[10]===n.title?x=t[11]:(x=(0,o.jsx)(`span`,{className:i.default.title,title:n.title,children:n.title}),t[10]=n.title,t[11]=x);let S;t[12]!==v||t[13]!==y||t[14]!==b||t[15]!==x?(S=(0,o.jsxs)(`div`,{className:i.default.row,style:v,onClick:y,children:[b,x]}),t[12]=v,t[13]=y,t[14]=b,t[15]=x,t[16]=S):S=t[16];let C;t[17]!==c||t[18]!==n.items||t[19]!==d||t[20]!==f?(C=f&&n.items.map((e,t)=>(0,o.jsx)(l,{node:e,depth:c+1,onNavigate:d},t)),t[17]=c,t[18]=n.items,t[19]=d,t[20]=f,t[21]=C):C=t[21];let w;return t[22]!==S||t[23]!==C?(w=(0,o.jsxs)(o.Fragment,{children:[S,C]}),t[22]=S,t[23]=C,t[24]=w):w=t[24],w}function u(e){return!e}function d(){let t=(0,s.c)(18),{pdf:r,goToPage:a}=e.usePDFViewer(),u;t[0]===r?u=t[1]:(u={pdf:r},t[0]=r,t[1]=u);let{outline:d,loading:f}=n.useOutline(u),p;t[2]!==a||t[3]!==r?(p=async e=>{let t=await c(r,e);t!==null&&a(t)},t[2]=a,t[3]=r,t[4]=p):p=t[4];let m=p,h;t[5]===f?h=t[6]:(h=f&&(0,o.jsx)(`div`,{className:i.default.emptyState,children:`Caricamento...`}),t[5]=f,t[6]=h);let g;t[7]!==f||t[8]!==d?(g=!f&&d.length===0&&(0,o.jsx)(`div`,{className:i.default.emptyState,children:`Nessun segnalibro disponibile.`}),t[7]=f,t[8]=d,t[9]=g):g=t[9];let _;t[10]!==m||t[11]!==f||t[12]!==d?(_=!f&&d.map((e,t)=>(0,o.jsx)(l,{node:e,depth:0,onNavigate:m},t)),t[10]=m,t[11]=f,t[12]=d,t[13]=_):_=t[13];let v;return t[14]!==h||t[15]!==g||t[16]!==_?(v=(0,o.jsxs)(`div`,{className:i.default.tree,children:[h,g,_]}),t[14]=h,t[15]=g,t[16]=_,t[17]=v):v=t[17],v}exports.PDFOutline=d;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={emptyState:`_emptyState_hqvdn_1`,tree:`_tree_hqvdn_7`,row:`_row_hqvdn_13`,chevronBtn:`_chevronBtn_hqvdn_31`,title:`_title_hqvdn_46`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=n.default,s=60,c=10;function l(e){let n=(0,o.c)(19),{fitWidthIcon:i,fitPageIcon:l}=e,{pdf:u,rotation:d,setZoom:f,containerRef:p}=t.usePDFViewer(),m;n[0]!==p||n[1]!==u||n[2]!==d||n[3]!==f?(m=async()=>{if(!u||!p.current)return;let e=(await u.getPage(1)).getViewport({scale:1,rotation:d});f((p.current.clientWidth-s)/e.width)},n[0]=p,n[1]=u,n[2]=d,n[3]=f,n[4]=m):m=n[4];let h=m,g;n[5]!==p||n[6]!==u||n[7]!==d||n[8]!==f?(g=async()=>{if(!u||!p.current)return;let e=(await u.getPage(1)).getViewport({scale:1,rotation:d}),t=p.current.clientWidth-s,n=p.current.clientHeight-c*2;f(Math.min(t/e.width,n/e.height))},n[5]=p,n[6]=u,n[7]=d,n[8]=f,n[9]=g):g=n[9];let _=g,v;n[10]!==i||n[11]!==h?(v=(0,a.jsx)(r.ToolbarButton,{onClick:h,title:`Adatta alla larghezza`,children:i}),n[10]=i,n[11]=h,n[12]=v):v=n[12];let y;n[13]!==l||n[14]!==_?(y=(0,a.jsx)(r.ToolbarButton,{onClick:_,title:`Adatta pagina intera`,children:l}),n[13]=l,n[14]=_,n[15]=y):y=n[15];let b;return n[16]!==v||n[17]!==y?(b=(0,a.jsxs)(a.Fragment,{children:[v,y]}),n[16]=v,n[17]=y,n[18]=b):b=n[18],b}exports.PDFPageFit=l;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=n.default;function s(e){let n=(0,o.c)(5),{icon:i}=e,{file:s}=t.usePDFViewer(),c;n[0]===s?c=n[1]:(c=()=>{let e=URL.createObjectURL(s),t=document.createElement(`iframe`);t.style.display=`none`,t.src=e,document.body.appendChild(t),t.onload=()=>{t.contentWindow?.print(),setTimeout(()=>{document.body.removeChild(t),URL.revokeObjectURL(e)},1e3)}},n[0]=s,n[1]=c);let l=c,u;return n[2]!==l||n[3]!==i?(u=(0,a.jsx)(r.ToolbarButton,{onClick:l,title:`Stampa PDF`,children:i}),n[2]=l,n[3]=i,n[4]=u):u=n[4],u}exports.PDFPrintButton=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=n.default;function s(e){let n=(0,o.c)(5),{icon:i}=e,{setRotation:s}=t.usePDFViewer(),l;n[0]===s?l=n[1]:(l=()=>s(c),n[0]=s,n[1]=l);let u;return n[2]!==i||n[3]!==l?(u=(0,a.jsx)(r.ToolbarButton,{onClick:l,title:`Ruota documento`,children:i}),n[2]=i,n[3]=l,n[4]=u):u=n[4],u}function c(e){return(e+90)%360}exports.PDFRotationControl=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../../hooks/useTextSearch.cjs`),i=require(`./PDFSearch.module.cjs`);let a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);var s=n.default;function c(e){let n=(0,s.c)(33),{searchIcon:c,prevIcon:l,nextIcon:u,clearIcon:d}=e,{pdf:f,goToPage:p,setHighlight:m,setSearchMatches:h}=t.usePDFViewer(),[g,_]=(0,a.useState)(``),[v,y]=(0,a.useState)(0),b;n[0]!==f||n[1]!==g?(b={pdf:f,query:g},n[0]=f,n[1]=g,n[2]=b):b=n[2];let{matches:x,searching:S}=r.useTextSearch(b),C=x.length,w,T;n[3]!==x||n[4]!==h?(w=()=>(h(x),()=>h([])),T=[x,h],n[3]=x,n[4]=h,n[5]=w,n[6]=T):(w=n[5],T=n[6]),(0,a.useEffect)(w,T);let E;n[7]!==p||n[8]!==x||n[9]!==m||n[10]!==C?(E=e=>{let t=(e+C)%C;y(t);let n=x[t];p(n.page),m({page:n.page,pdfRect:n.pdfRect})},n[7]=p,n[8]=x,n[9]=m,n[10]=C,n[11]=E):E=n[11];let D=E,O;n[12]===m?O=n[13]:(O=e=>{_(e.target.value),y(0),m(null)},n[12]=m,n[13]=O);let k=O,A;n[14]===m?A=n[15]:(A=()=>{_(``),y(0),m(null)},n[14]=m,n[15]=A);let j=A,M;n[16]!==k||n[17]!==g?(M=(0,o.jsx)(`input`,{className:i.default.searchInput,value:g,onChange:k,placeholder:`Cerca nel documento...`}),n[16]=k,n[17]=g,n[18]=M):M=n[18];let N;n[19]!==d||n[20]!==j||n[21]!==v||n[22]!==D||n[23]!==u||n[24]!==l||n[25]!==g||n[26]!==S||n[27]!==C?(N=g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:i.default.counter,children:S?`…`:C===0?`0`:`${v+1}/${C}`}),(0,o.jsx)(`button`,{className:i.default.navButton,onClick:()=>D(v-1),disabled:C===0,children:l}),(0,o.jsx)(`button`,{className:i.default.navButton,onClick:()=>D(v+1),disabled:C===0,children:u}),(0,o.jsx)(`button`,{className:i.default.navButton,onClick:j,children:d})]}),n[19]=d,n[20]=j,n[21]=v,n[22]=D,n[23]=u,n[24]=l,n[25]=g,n[26]=S,n[27]=C,n[28]=N):N=n[28];let P;return n[29]!==c||n[30]!==M||n[31]!==N?(P=(0,o.jsxs)(`div`,{className:i.default.wrapper,children:[c,M,N]}),n[29]=c,n[30]=M,n[31]=N,n[32]=P):P=n[32],P}exports.PDFSearch=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={wrapper:`_wrapper_1x913_1`,searchInput:`_searchInput_1x913_7`,navButton:`_navButton_1x913_27`,counter:`_counter_1x913_48`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../node_modules/react/compiler-runtime.cjs`),n=require(`../../hooks/useSignatures.cjs`),r=require(`./PDFSignatures.module.cjs`);let i=require(`react/jsx-runtime`);var a=t.default;function o(e){if(!e)return;let t=e.match(/D:(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?(\d{2})?/);if(!t)return e;let[,n,r,i,a=`00`,o=`00`]=t;return`${i}/${r}/${n} ${a}:${o}`}function s(e){let t=(0,a.c)(31),{sig:n,onClick:s}=e,c=`${r.default.card} ${n.signed?r.default.cardSigned:``} ${n.rect?r.default.cardClickable:``}`,l=`${r.default.statusDot} ${n.signed?r.default.statusDotSigned:``}`,u=n.signed?`✓`:`○`,d;t[0]!==l||t[1]!==u?(d=(0,i.jsx)(`div`,{className:l,children:u}),t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=`${r.default.statusLabel} ${n.signed?r.default.statusLabelSigned:``}`,p=n.signed?`Firmato`:`Non firmato`,m;t[3]!==f||t[4]!==p?(m=(0,i.jsx)(`span`,{className:f,children:p}),t[3]=f,t[4]=p,t[5]=m):m=t[5];let h;t[6]!==d||t[7]!==m?(h=(0,i.jsxs)(`div`,{className:r.default.cardHeader,children:[d,m]}),t[6]=d,t[7]=m,t[8]=h):h=t[8];let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,i.jsx)(`span`,{className:r.default.fieldLabel,children:`Campo: `}),t[9]=g):g=t[9];let _;t[10]===n.fieldName?_=t[11]:(_=(0,i.jsxs)(`div`,{className:r.default.fieldRow,children:[g,n.fieldName]}),t[10]=n.fieldName,t[11]=_);let v;t[12]===n.signerName?v=t[13]:(v=n.signerName&&(0,i.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,i.jsx)(`span`,{className:r.default.fieldLabel,children:`Firmatario: `}),n.signerName]}),t[12]=n.signerName,t[13]=v);let y;t[14]===n.signDate?y=t[15]:(y=n.signDate&&(0,i.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,i.jsx)(`span`,{className:r.default.fieldLabel,children:`Data: `}),o(n.signDate)]}),t[14]=n.signDate,t[15]=y);let b;t[16]===n.reason?b=t[17]:(b=n.reason&&(0,i.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,i.jsx)(`span`,{className:r.default.fieldLabel,children:`Motivo: `}),n.reason]}),t[16]=n.reason,t[17]=b);let x;t[18]===n.location?x=t[19]:(x=n.location&&(0,i.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,i.jsx)(`span`,{className:r.default.fieldLabel,children:`Luogo: `}),n.location]}),t[18]=n.location,t[19]=x);let S;t[20]!==_||t[21]!==v||t[22]!==y||t[23]!==b||t[24]!==x?(S=(0,i.jsxs)(`div`,{className:r.default.fieldList,children:[_,v,y,b,x]}),t[20]=_,t[21]=v,t[22]=y,t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;return t[26]!==s||t[27]!==c||t[28]!==S||t[29]!==h?(C=(0,i.jsxs)(`div`,{className:c,onClick:s,children:[h,S]}),t[26]=s,t[27]=c,t[28]=S,t[29]=h,t[30]=C):C=t[30],C}function c(){let t=(0,a.c)(22),{pdf:o,goToPage:c,setHighlight:l}=e.usePDFViewer(),u;t[0]===o?u=t[1]:(u={pdf:o},t[0]=o,t[1]=u);let{signatures:d,loading:f}=n.useSignatures(u),p;t[2]!==c||t[3]!==l?(p=e=>{c(e.page),e.rect&&l({page:e.page,pdfRect:e.rect})},t[2]=c,t[3]=l,t[4]=p):p=t[4];let m=p,h;t[5]===f?h=t[6]:(h=f&&(0,i.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),t[5]=f,t[6]=h);let g;t[7]!==f||t[8]!==d?(g=!f&&d.length===0&&(0,i.jsx)(`div`,{className:r.default.emptyState,children:`Nessuna firma rilevata.`}),t[7]=f,t[8]=d,t[9]=g):g=t[9];let _;t[10]!==m||t[11]!==f||t[12]!==d?(_=!f&&d.map((e,t)=>(0,i.jsx)(s,{sig:e,onClick:()=>m(e)},t)),t[10]=m,t[11]=f,t[12]=d,t[13]=_):_=t[13];let v;t[14]!==f||t[15]!==d?(v=!f&&d.length>0&&(0,i.jsx)(`div`,{className:r.default.disclaimer,children:`La presenza del campo firma non garantisce la validità crittografica.`}),t[14]=f,t[15]=d,t[16]=v):v=t[16];let y;return t[17]!==h||t[18]!==g||t[19]!==_||t[20]!==v?(y=(0,i.jsxs)(`div`,{className:r.default.list,children:[h,g,_,v]}),t[17]=h,t[18]=g,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}exports.PDFSignatures=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={list:`_list_m6w4t_1`,emptyState:`_emptyState_m6w4t_6`,card:`_card_m6w4t_12`,cardClickable:`_cardClickable_m6w4t_23`,cardSigned:`_cardSigned_m6w4t_31`,cardHeader:`_cardHeader_m6w4t_36`,statusDot:`_statusDot_m6w4t_43`,statusDotSigned:`_statusDotSigned_m6w4t_57`,statusLabel:`_statusLabel_m6w4t_61`,statusLabelSigned:`_statusLabelSigned_m6w4t_69`,fieldList:`_fieldList_m6w4t_73`,fieldRow:`_fieldRow_m6w4t_79`,fieldLabel:`_fieldLabel_m6w4t_84`,disclaimer:`_disclaimer_m6w4t_88`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../node_modules/react/compiler-runtime.cjs`),n=require(`../../context/ThemeContext.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=t.default;function s(e){let t=(0,o.c)(4),{lightIcon:i,darkIcon:s}=e,{isDark:c,toggleTheme:l}=n.useTheme(),u=c?`Switch to light mode`:`Switch to dark mode`,d=c?i:s,f;return t[0]!==u||t[1]!==d||t[2]!==l?(f=(0,a.jsx)(r.ToolbarButton,{onClick:l,title:u,children:d}),t[0]=u,t[1]=d,t[2]=l,t[3]=f):f=t[3],f}exports.PDFThemeToggle=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../node_modules/react/compiler-runtime.cjs`),n=require(`../../hooks/useThumbnails.cjs`),r=require(`./PDFThumbnails.module.cjs`);let i=require(`react/jsx-runtime`);var a=t.default;function o(){let t=(0,a.c)(12),{pdf:o,rotation:s,currentPage:c,goToPage:l}=e.usePDFViewer(),u;t[0]!==o||t[1]!==s?(u={pdf:o,rotation:s},t[0]=o,t[1]=s,t[2]=u):u=t[2];let{thumbnails:d}=n.useThumbnails(u),f;if(t[3]!==c||t[4]!==l||t[5]!==d){let e;t[7]!==c||t[8]!==l?(e=(e,t)=>{let n=c===t+1;return(0,i.jsxs)(`div`,{className:`${r.default.thumbnailItem} ${n?r.default.thumbnailItemActive:``}`,onClick:()=>l(t+1),children:[(0,i.jsx)(`img`,{src:e,className:`${r.default.thumbnailImg} ${n?r.default.thumbnailImgActive:``}`,alt:`Anteprima pagina ${t+1}`}),(0,i.jsx)(`div`,{className:`${r.default.thumbnailLabel} ${n?r.default.thumbnailLabelActive:``}`,children:t+1})]},t)},t[7]=c,t[8]=l,t[9]=e):e=t[9],f=d.map(e),t[3]=c,t[4]=l,t[5]=d,t[6]=f}else f=t[6];let p;return t[10]===f?p=t[11]:(p=(0,i.jsx)(`div`,{className:r.default.thumbnailList,children:f}),t[10]=f,t[11]=p),p}exports.PDFThumbnails=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={thumbnailList:`_thumbnailList_f8jl0_1`,thumbnailItem:`_thumbnailItem_f8jl0_6`,thumbnailItemActive:`_thumbnailItemActive_f8jl0_19`,thumbnailImg:`_thumbnailImg_f8jl0_28`,thumbnailImgActive:`_thumbnailImgActive_f8jl0_34`,thumbnailLabel:`_thumbnailLabel_f8jl0_38`,thumbnailLabelActive:`_thumbnailLabelActive_f8jl0_45`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../node_modules/react/compiler-runtime.cjs`),r=require(`../ui/ToolbarButton.cjs`),i=require(`./PDFZoomControls.module.cjs`);let a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);var s=n.default;function c(e){let n=(0,s.c)(18),{zoomOutIcon:a,zoomInIcon:c}=e,{zoom:d,setZoom:f}=t.usePDFViewer(),p;n[0]===f?p=n[1]:(p=()=>f(u),n[0]=f,n[1]=p);let m;n[2]!==p||n[3]!==a?(m=(0,o.jsx)(r.ToolbarButton,{onClick:p,title:`Riduci zoom`,children:a}),n[2]=p,n[3]=a,n[4]=m):m=n[4];let h;n[5]===d?h=n[6]:(h=Math.round(d*100),n[5]=d,n[6]=h);let g;n[7]===h?g=n[8]:(g=(0,o.jsxs)(`span`,{className:i.default.zoomLabel,children:[h,`%`]}),n[7]=h,n[8]=g);let _;n[9]===f?_=n[10]:(_=()=>f(l),n[9]=f,n[10]=_);let v;n[11]!==_||n[12]!==c?(v=(0,o.jsx)(r.ToolbarButton,{onClick:_,title:`Aumenta zoom`,children:c}),n[11]=_,n[12]=c,n[13]=v):v=n[13];let y;return n[14]!==m||n[15]!==g||n[16]!==v?(y=(0,o.jsxs)(o.Fragment,{children:[m,g,v]}),n[14]=m,n[15]=g,n[16]=v,n[17]=y):y=n[17],y}function l(e){return Math.min(e+.2,3)}function u(e){return Math.max(e-.2,.2)}exports.PDFZoomControls=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={zoomLabel:`_zoomLabel_m8iv9_1`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../node_modules/react/compiler-runtime.cjs`),t=require(`./ToolbarButton.module.cjs`);let n=require(`react/jsx-runtime`);var r=e.default;function i(e){let i=(0,r.c)(7),a,o,s;i[0]===e?(a=i[1],o=i[2],s=i[3]):({$primary:a,className:o,...s}=e,i[0]=e,i[1]=a,i[2]=o,i[3]=s);let c=a?`${t.default.btn} ${t.default.primary}`:t.default.btn,l=o?`${c} ${o}`:c,u;return i[4]!==s||i[5]!==l?(u=(0,n.jsx)(`button`,{className:l,...s}),i[4]=s,i[5]=l,i[6]=u):u=i[6],u}exports.ToolbarButton=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={btn:`_btn_1x6vc_1`,primary:`_primary_1x6vc_29`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../node_modules/react/compiler-runtime.cjs`);let n=require(`react`);n=e.__toESM(n,1);let r=require(`react/jsx-runtime`);var i=t.default,a=(e,t=16)=>(0,r.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:e}),o=e=>{let t=(0,i.c)(3),{size:n}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,r.jsx)(`polyline`,{points:`9 18 15 12 9 6`}),t[0]=o):o=t[0];let s;return t[1]===n?s=t[2]:(s=a(o,n),t[1]=n,t[2]=s),s},s=e=>{let t=(0,i.c)(3),{size:n}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,r.jsx)(`polyline`,{points:`6 9 12 15 18 9`}),t[0]=o):o=t[0];let s;return t[1]===n?s=t[2]:(s=a(o,n),t[1]=n,t[2]=s),s};exports.IconChevronDown=s,exports.IconChevronRight=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);var r=(0,t.createContext)(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error(`usePDFViewer must be used inside <PDFViewer>`);return e}exports.PDFViewerContext=r,exports.usePDFViewer=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../node_modules/react/compiler-runtime.cjs`),t=require(`../theme.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);var i=e.default,a=(0,n.createContext)(null);function o(e){let o=(0,i.c)(14),{children:c}=e,[l,u]=(0,n.useState)(!0),d=l?t.darkTheme:t.lightTheme,f;o[0]===d?f=o[1]:(f=t.themeToCssVars(d),o[0]=d,o[1]=f);let p=f,m;o[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>u(s),o[2]=m):m=o[2];let h;o[3]!==l||o[4]!==d?(h={isDark:l,toggleTheme:m,theme:d},o[3]=l,o[4]=d,o[5]=h):h=o[5];let g=p,_;o[6]===g?_=o[7]:(_={...g,display:`contents`},o[6]=g,o[7]=_);let v;o[8]!==c||o[9]!==_?(v=(0,r.jsx)(`div`,{style:_,children:c}),o[8]=c,o[9]=_,o[10]=v):v=o[10];let y;return o[11]!==h||o[12]!==v?(y=(0,r.jsx)(a.Provider,{value:h,children:v}),o[11]=h,o[12]=v,o[13]=y):y=o[13],y}function s(e){return!e}function c(){let e=(0,n.useContext)(a);if(!e)throw Error(`useTheme must be used inside <ThemeProvider>`);return e}exports.ThemeProvider=o,exports.useTheme=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`),n=require(`../utils/url.cjs`);let r=require(`react`),i=require(`pdfjs-dist`);i=e.__toESM(i,1);var a=t.default;function o(e){let t=(0,a.c)(15),{pdf:i,zoom:o,rotation:s,numPages:c,goToPage:l}=e,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[0]=u):u=t[0];let[d,f]=(0,r.useState)(u),p,m;t[1]!==c||t[2]!==i||t[3]!==s||t[4]!==o?(p=()=>{if(!i)return;let e=!1;return(async()=>{f([]);let t=[];for(let n=1;n<=c&&!e;n++){let e=await i.getPage(n),r=e.getViewport({scale:o,rotation:s}),a=await e.getAnnotations();for(let e of a){if(e.subtype!==`Link`||!e.rect)continue;let i=e.rect,[a,o,s,c]=r.convertToViewportRectangle(i);t.push({page:n,x:Math.min(a,s),y:Math.min(o,c),width:Math.abs(s-a),height:Math.abs(c-o),url:e.url,dest:e.dest,newWindow:e.newWindow})}}e||f(t)})(),()=>{e=!0}},m=[i,o,s,c],t[1]=c,t[2]=i,t[3]=s,t[4]=o,t[5]=p,t[6]=m):(p=t[5],m=t[6]),(0,r.useEffect)(p,m);let h;t[7]!==l||t[8]!==i?(h=async e=>{if(e.url){if(!n.isSafeUrl(e.url))return;window.open(e.url,`_blank`,`noopener,noreferrer`);return}if(e.dest&&i){let t=null;if(typeof e.dest==`string`?t=await i.getDestination(e.dest):Array.isArray(e.dest)&&(t=e.dest),!t)return;l(await i.getPageIndex(t[0])+1)}},t[7]=l,t[8]=i,t[9]=h):h=t[9];let g=h,_;if(t[10]!==g||t[11]!==d){let e;t[13]===g?e=t[14]:(e=e=>({...e,_handleClick:g.bind(null,e)}),t[13]=g,t[14]=e),_=d.map(e),t[10]=g,t[11]=d,t[12]=_}else _=t[12];return _}exports.useAnnotationLayer=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);var r=new Set([`Widget`,`Link`,`Popup`]);function i({pdf:e}){let[n,i]=(0,t.useState)([]),[a,o]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{e&&(async()=>{o(!0);try{let t=[];for(let n=1;n<=e.numPages;n++){let i=await(await e.getPage(n)).getAnnotations();for(let e of i){let i=e.subtype;r.has(i)||t.push({id:e.id,page:n,subtype:i,contents:e.contents,title:e.title,color:e.color,rect:e.rect})}}i(t)}catch{i([])}finally{o(!1)}})()},[e]),{annotations:n,loading:a}}exports.useAnnotations=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`);let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=t.default;function a(e){let t=(0,i.c)(13),{pdf:r,currentPage:a,numPages:l,goToPage:u,setZoom:d,setRotation:f}=e,p;t[0]!==a||t[1]!==u||t[2]!==r||t[3]!==f||t[4]!==d?(p=()=>{if(!r)return;let e=e=>{let t=e.target.tagName;if(!(t===`INPUT`||t===`TEXTAREA`))bb13:switch(e.key){case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),u(a-1);break bb13;case`ArrowRight`:case`ArrowDown`:e.preventDefault(),u(a+1);break bb13;case`+`:case`=`:e.preventDefault(),d(c);break bb13;case`-`:e.preventDefault(),d(s);break bb13;case`r`:case`R`:e.preventDefault(),f(o)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},t[0]=a,t[1]=u,t[2]=r,t[3]=f,t[4]=d,t[5]=p):p=t[5];let m;t[6]!==a||t[7]!==u||t[8]!==l||t[9]!==r||t[10]!==f||t[11]!==d?(m=[r,a,l,u,d,f],t[6]=a,t[7]=u,t[8]=l,t[9]=r,t[10]=f,t[11]=d,t[12]=m):m=t[12],(0,n.useEffect)(p,m)}function o(e){return(e+90)%360}function s(e){return Math.max(e-.2,.2)}function c(e){return Math.min(e+.2,3)}exports.useKeyboardShortcuts=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`);let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=t.default;function a(e){let t=(0,i.c)(7),{pdf:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],t[0]=a):a=t[0];let[o,s]=(0,n.useState)(a),[c,l]=(0,n.useState)(!1),u,d;t[1]===r?(u=t[2],d=t[3]):(u=()=>{r&&(l(!0),r.getOutline().then(e=>s(e??[])).catch(()=>s([])).finally(()=>l(!1)))},d=[r],t[1]=r,t[2]=u,t[3]=d),(0,n.useEffect)(u,d);let f;return t[4]!==c||t[5]!==o?(f={outline:o,loading:c},t[4]=c,t[5]=o,t[6]=f):f=t[6],f}exports.useOutline=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`);let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=t.default,a=10;function o(e){let t=(0,i.c)(16),{pdf:r,numPages:o,zoom:s,rotation:c,containerRef:l,canvasRefs:u}=e,[d,f]=(0,n.useState)(1),p;t[0]!==u||t[1]!==l?(p=()=>{let e=l.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().top,n=u.current;for(let e=0;e<n.length;e++){let r=n[e];r&&(r.parentElement??r).getBoundingClientRect().top-t<=150&&f(e+1)}};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},t[0]=u,t[1]=l,t[2]=p):p=t[2];let m;t[3]!==u||t[4]!==l||t[5]!==r||t[6]!==c||t[7]!==s?(m=[r,s,c,l,u],t[3]=u,t[4]=l,t[5]=r,t[6]=c,t[7]=s,t[8]=m):m=t[8],(0,n.useEffect)(p,m);let h;t[9]!==u||t[10]!==l||t[11]!==o?(h=e=>{let t=Math.min(Math.max(e,1),o),n=u.current[t-1],r=l.current;if(n&&r){let e=(n.parentElement??n).getBoundingClientRect().top,i=r.getBoundingClientRect().top,o=r.scrollTop+(e-i)-a;r.scrollTo({top:o,behavior:`smooth`}),f(t)}},t[9]=u,t[10]=l,t[11]=o,t[12]=h):h=t[12];let g=h,_;return t[13]!==d||t[14]!==g?(_={currentPage:d,goToPage:g},t[13]=d,t[14]=g,t[15]=_):_=t[15],_}exports.useScrollTracking=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);function r({pdf:e}){let[n,r]=(0,t.useState)([]),[i,a]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{e&&(async()=>{a(!0);try{let t=await e.getFieldObjects();if(!t){r([]);return}let n=[];for(let[e,r]of Object.entries(t))for(let t of r)t.type===`signature`&&n.push({fieldName:e,page:t.page??0});r(await Promise.all(n.map(async({fieldName:t,page:n})=>{let r=(await(await e.getPage(n+1)).getAnnotations()).find(e=>e.fieldType===`Sig`&&e.fieldName===t),i=!!r?.hasAppearance,a=r?.fieldValue,o=typeof a==`object`&&a?a:void 0;return{fieldName:t,page:n+1,signed:i,rect:r?.rect,signerName:o?.name,signDate:o?.date,reason:o?.reason,location:o?.location}})))}catch{r([])}finally{a(!1)}})()},[e]),{signatures:n,loading:i}}exports.useSignatures=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`);;/* empty css */let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=t.default;function a(e){let t=(0,i.c)(8),{pdf:a,zoom:o,rotation:s,numPages:c,canvasRefs:l}=e,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[0]=u):u=t[0];let d=(0,n.useRef)(u),f,p;return t[1]!==l||t[2]!==c||t[3]!==a||t[4]!==s||t[5]!==o?(f=()=>{if(!a)return;let e=!1;return(async()=>{for(let t=1;t<=c&&!e;t++){let n=d.current[t-1],i=l.current[t-1];if(!n||!i)continue;n.replaceChildren();let c=await a.getPage(t),u=c.getViewport({scale:o,rotation:s}),f=await c.getTextContent();if(e)break;n.style.width=`${u.width}px`,n.style.height=`${u.height}px`,await new r.TextLayer({textContentSource:f,container:n,viewport:u}).render()}})(),()=>{e=!0}},p=[a,o,s,c,l],t[1]=l,t[2]=c,t[3]=a,t[4]=s,t[5]=o,t[6]=f,t[7]=p):(f=t[6],p=t[7]),(0,n.useEffect)(f,p),d}exports.useTextLayer=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`);let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=t.default;function a(e){let t=(0,i.c)(8),{pdf:r,query:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],t[0]=o):o=t[0];let[s,c]=(0,n.useState)(o),[l,u]=(0,n.useState)(!1),d,f;t[1]!==r||t[2]!==a?(d=()=>{let e=a.trim().toLowerCase();if(!r||!e){c([]);return}let t=!1;return(async()=>{u(!0);let n=[];for(let i=1;i<=r.numPages&&!t;i++){let t=await(await r.getPage(i)).getTextContent();for(let r of t.items){if(!(`str`in r))continue;let t=r.str.toLowerCase(),a=t.indexOf(e);if(a===-1)continue;let o=r.transform,s=o[0],c=o[4],l=o[5],u=r.width,d=r.height,f=u/(t.length||1);for(;a!==-1;){let r=c+a*f*+(s>0),o=e.length*f;n.push({page:i,pdfRect:[r,l,r+o,l+d]}),a=t.indexOf(e,a+1)}}}t||(c(n),u(!1))})(),()=>{t=!0}},f=[r,a],t[1]=r,t[2]=a,t[3]=d,t[4]=f):(d=t[3],f=t[4]),(0,n.useEffect)(d,f);let p;return t[5]!==s||t[6]!==l?(p={matches:s,searching:l},t[5]=s,t[6]=l,t[7]=p):p=t[7],p}exports.useTextSearch=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react/compiler-runtime.cjs`);let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=t.default;function a(e){let t=(0,i.c)(7),{pdf:r,rotation:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],t[0]=o):o=t[0];let[s,c]=(0,n.useState)(o),l,u;t[1]!==r||t[2]!==a?(l=()=>{r&&(async()=>{let e=[];for(let t=1;t<=r.numPages;t++){let n=await r.getPage(t),i=n.getViewport({scale:.2,rotation:a}),o=document.createElement(`canvas`),s=o.getContext(`2d`);s&&(o.height=i.height,o.width=i.width,await n.render({canvasContext:s,viewport:i,canvas:o}).promise,e.push(o.toDataURL()))}c(e)})()},u=[r,a],t[1]=r,t[2]=a,t[3]=l,t[4]=u):(l=t[3],u=t[4]),(0,n.useEffect)(l,u);let d;return t[5]===s?d=t[6]:(d={thumbnails:s},t[5]=s,t[6]=d),d}exports.useThumbnails=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./components/PDFViewer.cjs`),t=require(`./components/PDFSidebar.cjs`),n=require(`./components/features/PDFAnnotations.cjs`),r=require(`./components/features/PDFChangeFile.cjs`),i=require(`./components/features/PDFDownloadButton.cjs`),a=require(`./components/features/PDFNavigation.cjs`),o=require(`./components/features/PDFOutline.cjs`),s=require(`./components/features/PDFPageFit.cjs`),c=require(`./components/features/PDFRotationControl.cjs`),l=require(`./components/features/PDFSearch.cjs`),u=require(`./components/features/PDFSignatures.cjs`),d=require(`./components/features/PDFThumbnails.cjs`),f=require(`./components/features/PDFZoomControls.cjs`),p=require(`./components/features/PDFThemeToggle.cjs`),m=require(`./components/features/PDFPrintButton.cjs`);exports.PDFAnnotations=n.PDFAnnotations,exports.PDFChangeFile=r.PDFChangeFile,exports.PDFDownloadButton=i.PDFDownloadButton,exports.PDFNavigation=a.PDFNavigation,exports.PDFOutline=o.PDFOutline,exports.PDFPageFit=s.PDFPageFit,exports.PDFPrintButton=m.PDFPrintButton,exports.PDFRotationControl=c.PDFRotationControl,exports.PDFSearch=l.PDFSearch,exports.PDFSidebar=t.PDFSidebar,exports.PDFSignatures=u.PDFSignatures,exports.PDFThemeToggle=p.PDFThemeToggle,exports.PDFThumbnails=d.PDFThumbnails,exports.PDFViewer=e,exports.PDFZoomControls=f.PDFZoomControls;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var e=require(`../../../_virtual/_rolldown/runtime.cjs`).__commonJSMin((e=>{process.env.NODE_ENV!==`production`&&(function(){var t=require(`react`).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;e.c=function(e){var n=t.H;return n===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
2
|
+
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
3
|
+
2. You might be breaking the Rules of Hooks
|
|
4
|
+
3. You might have more than one copy of React in the same app
|
|
5
|
+
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),n.useMemoCache(e)}})()}));Object.defineProperty(exports,`default`,{enumerable:!0,get:function(){return e()}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require(`../../../_virtual/_rolldown/runtime.cjs`).__commonJSMin((e=>{var t=require(`react`).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;e.c=function(e){return t.H.useMemoCache(e)}}));Object.defineProperty(exports,`default`,{enumerable:!0,get:function(){return e()}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./cjs/react-compiler-runtime.production.cjs`),n=require(`./cjs/react-compiler-runtime.development.cjs`);var r=e.__commonJSMin(((e,r)=>{process.env.NODE_ENV===`production`?r.exports=t.default:r.exports=n.default}));Object.defineProperty(exports,`default`,{enumerable:!0,get:function(){return r()}});
|