pdf-tsx 0.6.0 → 0.8.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.
Files changed (68) hide show
  1. package/README.md +90 -44
  2. package/dist/cjs/components/PDFViewer.cjs +1 -1
  3. package/dist/cjs/components/PDFViewer.module.cjs +1 -1
  4. package/dist/cjs/components/features/PDFChangeFile.cjs +1 -1
  5. package/dist/cjs/components/features/PDFDownloadButton.cjs +1 -1
  6. package/dist/cjs/components/features/PDFNavigation.cjs +1 -1
  7. package/dist/cjs/components/features/PDFOutline.cjs +1 -1
  8. package/dist/cjs/components/features/PDFPageFit.cjs +1 -1
  9. package/dist/cjs/components/features/PDFPrintButton.cjs +1 -1
  10. package/dist/cjs/components/features/PDFRotationControl.cjs +1 -1
  11. package/dist/cjs/components/features/PDFSearch.cjs +1 -1
  12. package/dist/cjs/components/features/PDFSidebarToggle.cjs +1 -1
  13. package/dist/cjs/components/features/PDFThemeToggle.cjs +1 -1
  14. package/dist/cjs/components/features/PDFZoomControls.cjs +1 -1
  15. package/dist/cjs/components/ui/PDFToolbar.cjs +1 -0
  16. package/dist/cjs/components/ui/PDFToolbar.module.cjs +1 -0
  17. package/dist/cjs/components/ui/PDFToolbarItem.cjs +1 -0
  18. package/dist/cjs/context/ThemeContext.cjs +1 -1
  19. package/dist/cjs/hooks/useAnnotations.cjs +1 -1
  20. package/dist/cjs/hooks/useKeyboardShortcuts.cjs +1 -1
  21. package/dist/cjs/hooks/usePDFRenderer.cjs +1 -1
  22. package/dist/cjs/hooks/useScrollTracking.cjs +1 -1
  23. package/dist/cjs/index.cjs +1 -1
  24. package/dist/cjs/pdf-tsx.css +1 -1
  25. package/dist/cjs/theme.cjs +1 -1
  26. package/dist/components/features/PDFChangeFile.d.ts +3 -0
  27. package/dist/components/features/PDFDownloadButton.d.ts +3 -0
  28. package/dist/components/features/PDFNavigation.d.ts +3 -0
  29. package/dist/components/features/PDFPageFit.d.ts +3 -0
  30. package/dist/components/features/PDFPrintButton.d.ts +3 -0
  31. package/dist/components/features/PDFRotationControl.d.ts +3 -0
  32. package/dist/components/features/PDFSearch.d.ts +3 -0
  33. package/dist/components/features/PDFSidebarToggle.d.ts +3 -0
  34. package/dist/components/features/PDFThemeToggle.d.ts +3 -0
  35. package/dist/components/features/PDFZoomControls.d.ts +3 -0
  36. package/dist/components/ui/PDFToolbar.d.ts +8 -0
  37. package/dist/components/ui/PDFToolbarItem.d.ts +7 -0
  38. package/dist/context/PDFViewerContext.d.ts +3 -1
  39. package/dist/es/components/PDFViewer.js +168 -173
  40. package/dist/es/components/PDFViewer.module.js +15 -15
  41. package/dist/es/components/features/PDFChangeFile.js +1 -0
  42. package/dist/es/components/features/PDFDownloadButton.js +1 -0
  43. package/dist/es/components/features/PDFNavigation.js +1 -0
  44. package/dist/es/components/features/PDFOutline.js +37 -24
  45. package/dist/es/components/features/PDFPageFit.js +18 -17
  46. package/dist/es/components/features/PDFPrintButton.js +1 -0
  47. package/dist/es/components/features/PDFRotationControl.js +1 -0
  48. package/dist/es/components/features/PDFSearch.js +1 -0
  49. package/dist/es/components/features/PDFSidebarToggle.js +1 -0
  50. package/dist/es/components/features/PDFThemeToggle.js +1 -0
  51. package/dist/es/components/features/PDFZoomControls.js +29 -30
  52. package/dist/es/components/ui/PDFToolbar.js +84 -0
  53. package/dist/es/components/ui/PDFToolbar.module.js +13 -0
  54. package/dist/es/components/ui/PDFToolbarItem.js +25 -0
  55. package/dist/es/context/ThemeContext.js +1 -0
  56. package/dist/es/hooks/useAnnotations.js +2 -6
  57. package/dist/es/hooks/useKeyboardShortcuts.js +8 -7
  58. package/dist/es/hooks/usePDFRenderer.js +20 -10
  59. package/dist/es/hooks/useScrollTracking.js +20 -30
  60. package/dist/es/index.js +3 -1
  61. package/dist/es/pdf-tsx.css +1 -1
  62. package/dist/es/theme.js +3 -0
  63. package/dist/hooks/useAnnotations.d.ts +1 -1
  64. package/dist/hooks/useKeyboardShortcuts.d.ts +2 -1
  65. package/dist/hooks/useScrollTracking.d.ts +2 -7
  66. package/dist/index.d.ts +2 -0
  67. package/dist/theme.d.ts +1 -0
  68. package/package.json +2 -1
package/README.md CHANGED
@@ -117,27 +117,29 @@ themeOverrides={{ dark: { ...darkTheme, bg: '#0f0f0f' } }}
117
117
 
118
118
  **Theme tokens** (`Theme` interface):
119
119
 
120
- | Token | Description |
121
- |--------------------|--------------------------------------|
122
- | `bg` | Main background |
123
- | `surface` | Card / panel surface |
124
- | `surfaceHover` | Surface hover state |
125
- | `border` | Default border color |
126
- | `borderLight` | Subtle border color |
127
- | `scrollArea` | Scroll container background |
128
- | `textPrimary` | Primary text |
129
- | `textSecondary` | Secondary text |
130
- | `textMuted` | Muted / placeholder text |
131
- | `textPlaceholder` | Input placeholder text |
132
- | `accent` | Accent / interactive color |
133
- | `accentHover` | Accent hover state |
134
- | `accentDark` | Accent dark variant |
135
- | `accentLight` | Accent light variant |
136
- | `accentSubtle` | Accent with low opacity |
137
- | `panelBg` | Sidebar panel background |
138
- | `panelBorder` | Sidebar panel border |
139
- | `panelHeaderBg` | Sidebar panel header background |
140
- | `shadowPage` | Drop shadow color for PDF pages |
120
+ | Token | CSS variable | Description |
121
+ |--------------------|-----------------------------|--------------------------------------|
122
+ | `bg` | `--pdf-bg` | Main background |
123
+ | `surface` | `--pdf-surface` | Card / panel surface |
124
+ | `surfaceHover` | `--pdf-surface-hover` | Surface hover state |
125
+ | `border` | `--pdf-border` | Default border color |
126
+ | `borderLight` | `--pdf-border-light` | Subtle border color |
127
+ | `scrollArea` | `--pdf-scroll-area` | Scroll container background |
128
+ | `textPrimary` | `--pdf-text-primary` | Primary text |
129
+ | `textSecondary` | `--pdf-text-secondary` | Secondary text |
130
+ | `textMuted` | `--pdf-text-muted` | Muted / disabled text |
131
+ | `textPlaceholder` | `--pdf-text-placeholder` | Input placeholder text |
132
+ | `accent` | `--pdf-accent` | Accent / interactive color |
133
+ | `accentHover` | `--pdf-accent-hover` | Accent hover state |
134
+ | `accentDark` | `--pdf-accent-dark` | Accent dark variant |
135
+ | `accentLight` | `--pdf-accent-light` | Accent light variant |
136
+ | `accentSubtle` | `--pdf-accent-subtle` | Accent with low opacity (backgrounds)|
137
+ | `panelBg` | `--pdf-panel-bg` | Sidebar panel background |
138
+ | `panelBorder` | `--pdf-panel-border` | Sidebar panel border |
139
+ | `panelHeaderBg` | `--pdf-panel-header-bg` | Sidebar panel header background |
140
+ | `shadowPage` | `--pdf-shadow-page` | Drop shadow color for PDF pages |
141
+ | `badgeBg` | `--pdf-badge-bg` | Count badge background (signatures, annotations, attachments) |
142
+ | `fontFamily` | `--pdf-font-family` | Font family for all viewer UI text |
141
143
 
142
144
  ---
143
145
 
@@ -147,10 +149,9 @@ A collapsible icon sidebar. Each panel has an icon button — clicking it toggle
147
149
 
148
150
  ```tsx
149
151
  import { PDFSidebar } from 'pdf-tsx'
150
- import { FiImage, FiList, FiChevronsLeft } from 'react-icons/fi'
152
+ import { FiImage, FiList } from 'react-icons/fi'
151
153
 
152
154
  <PDFSidebar
153
- collapseIcon={<FiChevronsLeft size={16} />}
154
155
  panels={[
155
156
  { icon: <FiImage size={18} />, label: 'Thumbnails', content: <PDFThumbnails /> },
156
157
  { icon: <FiList size={18} />, label: 'Outline', content: <PDFOutline /> },
@@ -158,10 +159,9 @@ import { FiImage, FiList, FiChevronsLeft } from 'react-icons/fi'
158
159
  />
159
160
  ```
160
161
 
161
- | Prop | Type | Description |
162
- |----------------|------------------|------------------------------------------------------------------|
163
- | `panels` | `SidebarPanel[]` | Array of panels to display |
164
- | `collapseIcon` | `ReactNode` | If provided, renders a toggle button at the top of the icon bar to hide the sidebar |
162
+ | Prop | Type | Description |
163
+ |----------|------------------|------------------------------|
164
+ | `panels` | `SidebarPanel[]` | Array of panels to display |
165
165
 
166
166
  **SidebarPanel**
167
167
 
@@ -176,36 +176,77 @@ import { FiImage, FiList, FiChevronsLeft } from 'react-icons/fi'
176
176
  Use `PDFSidebarToggle` in the toolbar alongside `PDFSidebar`. When the sidebar is open, the collapse button lives inside the sidebar. When collapsed, the expand button appears in the toolbar.
177
177
 
178
178
  ```tsx
179
- import { PDFSidebar, PDFSidebarToggle } from 'pdf-tsx'
180
- import { FiChevronsLeft, FiChevronsRight } from 'react-icons/fi'
179
+ import { PDFSidebar, PDFSidebarToggle, PDFToolbar } from 'pdf-tsx'
180
+ import { FiChevronsLeft, FiChevronsRight, FiMoreHorizontal } from 'react-icons/fi'
181
181
 
182
182
  <PDFViewer
183
183
  sidebar={
184
- <PDFSidebar
185
- collapseIcon={<FiChevronsLeft size={16} />}
186
- panels={[...]}
187
- />
184
+ <PDFSidebar panels={[...]} />
188
185
  }
189
186
  toolbar={
190
- <>
187
+ <PDFToolbar overflowIcon={<FiMoreHorizontal size={16} />}>
191
188
  <PDFSidebarToggle
192
189
  collapseIcon={<FiChevronsLeft size={16} />}
193
190
  expandIcon={<FiChevronsRight size={16} />}
194
191
  />
195
192
  {/* other toolbar items */}
196
- </>
193
+ </PDFToolbar>
197
194
  }
198
195
  />
199
196
  ```
200
197
 
201
198
  ---
202
199
 
200
+ ## PDFToolbar (responsive toolbar)
201
+
202
+ `PDFToolbar` wraps your toolbar items and automatically collapses those that don't fit the available width into an overflow `···` dropdown. It uses `ResizeObserver` to react to container size changes — no configuration required.
203
+
204
+ ```tsx
205
+ import { PDFToolbar } from 'pdf-tsx'
206
+ import { FiMoreHorizontal } from 'react-icons/fi'
207
+
208
+ <PDFViewer
209
+ toolbar={
210
+ <PDFToolbar overflowIcon={<FiMoreHorizontal size={16} />}>
211
+ <PDFSidebarToggle collapseIcon={<FiChevronsLeft size={16} />} expandIcon={<FiChevronsRight size={16} />} />
212
+ <PDFSearch searchIcon={<FiSearch size={14} />} prevIcon={<FiChevronUp size={14} />} nextIcon={<FiChevronDown size={14} />} clearIcon={<FiX size={14} />} />
213
+ <PDFZoomControls zoomOutIcon={<FiZoomOut size={16} />} zoomInIcon={<FiZoomIn size={16} />} />
214
+ <PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
215
+ {/* … more items */}
216
+ </PDFToolbar>
217
+ }
218
+ />
219
+ ```
220
+
221
+ | Prop | Type | Description |
222
+ |----------------|-------------|-------------------------------------------------------|
223
+ | `children` | `ReactNode` | Toolbar items in priority order (left = highest) |
224
+ | `overflowIcon` | `ReactNode` | Icon for the `···` overflow button (default: `"···"`) |
225
+
226
+ **Dropdown labels** — all built-in feature components carry a `toolbarLabel` static property. When an item is moved to the overflow dropdown, `PDFToolbar` reads this property and renders a label on the left side automatically. No extra configuration needed.
227
+
228
+ **Custom items** — wrap any custom component in `PDFToolbarItem` to give it a dropdown label:
229
+
230
+ ```tsx
231
+ import { PDFToolbarItem } from 'pdf-tsx'
232
+
233
+ <PDFToolbar overflowIcon={<FiMoreHorizontal size={16} />}>
234
+ <PDFToolbarItem label="Custom">
235
+ <MyCustomButton />
236
+ </PDFToolbarItem>
237
+ </PDFToolbar>
238
+ ```
239
+
240
+ ---
241
+
203
242
  ## Feature components
204
243
 
205
244
  All feature components must be rendered inside `<PDFViewer>`. They read and write state via `usePDFViewer()` internally.
206
245
 
207
246
  | Component | Icon props | Description |
208
247
  |------------------------|-----------------------------------------------------|------------------------------------------------------|
248
+ | `PDFToolbar` | `overflowIcon` | Responsive toolbar — collapses items into `···` dropdown when space runs out |
249
+ | `PDFToolbarItem` | — | Wrapper for custom toolbar items to add a dropdown label |
209
250
  | `PDFThumbnails` | — | Page thumbnail strip for quick navigation |
210
251
  | `PDFOutline` | — | Document outline / bookmarks tree |
211
252
  | `PDFAnnotations` | — | Display PDF annotations |
@@ -266,7 +307,8 @@ The badge uses `var(--pdf-accent)` and respects `themeOverrides`.
266
307
  ```tsx
267
308
  import { useState, Suspense, lazy } from 'react'
268
309
  import {
269
- PDFSidebar, PDFSidebarToggle, PDFThumbnails, PDFOutline, PDFSearch,
310
+ PDFSidebar, PDFSidebarToggle, PDFToolbar, PDFToolbarItem,
311
+ PDFThumbnails, PDFOutline, PDFSearch,
270
312
  PDFZoomControls, PDFPageFit, PDFRotationControl,
271
313
  PDFNavigation, PDFDownloadButton, PDFChangeFile,
272
314
  PDFThemeToggle, PDFPrintButton,
@@ -279,7 +321,7 @@ import {
279
321
  FiSearch, FiChevronUp, FiChevronDown, FiX,
280
322
  FiZoomIn, FiZoomOut, FiAlignJustify, FiMaximize2, FiRotateCw,
281
323
  FiChevronLeft, FiChevronRight, FiDownload, FiFolderPlus,
282
- FiPrinter, FiSun, FiMoon, FiChevronsLeft, FiChevronsRight,
324
+ FiPrinter, FiSun, FiMoon, FiChevronsLeft, FiChevronsRight, FiMoreHorizontal,
283
325
  } from 'react-icons/fi'
284
326
  import workerUrl from 'pdfjs-dist/build/pdf.worker.min.mjs?url'
285
327
 
@@ -303,10 +345,10 @@ function App() {
303
345
  <PDFViewer
304
346
  file={file}
305
347
  workerSrc={workerUrl}
348
+ defaultFit="width"
306
349
  onChangeFile={setFile}
307
350
  sidebar={
308
351
  <PDFSidebar
309
- collapseIcon={<FiChevronsLeft size={16} />}
310
352
  panels={[
311
353
  { icon: <FiImage size={18} />, label: 'Thumbnails', content: <PDFThumbnails /> },
312
354
  { icon: <FiList size={18} />, label: 'Outline', content: <PDFOutline /> },
@@ -317,7 +359,7 @@ function App() {
317
359
  />
318
360
  }
319
361
  toolbar={
320
- <>
362
+ <PDFToolbar overflowIcon={<FiMoreHorizontal size={16} />}>
321
363
  <PDFSidebarToggle
322
364
  collapseIcon={<FiChevronsLeft size={16} />}
323
365
  expandIcon={<FiChevronsRight size={16} />}
@@ -329,14 +371,18 @@ function App() {
329
371
  clearIcon={<FiX size={14} />}
330
372
  />
331
373
  <PDFZoomControls zoomOutIcon={<FiZoomOut size={16} />} zoomInIcon={<FiZoomIn size={16} />} />
332
- <PDFPageFit fitWidthIcon={<FiAlignJustify size={16} />} fitPageIcon={<FiMaximize2 size={16} />} />
333
374
  <PDFRotationControl icon={<FiRotateCw size={16} />} />
334
- <PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
335
- <PDFChangeFile icon={<FiFolderPlus size={16} />} />
336
- <PDFDownloadButton icon={<FiDownload size={15} />} />
375
+ <PDFPageFit fitWidthIcon={<FiAlignJustify size={16} />} fitPageIcon={<FiMaximize2 size={16} />} />
337
376
  <PDFThemeToggle lightIcon={<FiSun size={16} />} darkIcon={<FiMoon size={16} />} />
338
377
  <PDFPrintButton icon={<FiPrinter size={16} />} />
339
- </>
378
+ <PDFChangeFile icon={<FiFolderPlus size={16} />} />
379
+ <PDFDownloadButton icon={<FiDownload size={15} />} />
380
+ <PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
381
+ {/* custom button with overflow label */}
382
+ <PDFToolbarItem label="Share">
383
+ <button onClick={() => {}}>Share</button>
384
+ </PDFToolbarItem>
385
+ </PDFToolbar>
340
386
  }
341
387
  />
342
388
  </Suspense>
@@ -1 +1 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../context/PDFViewerContext.cjs`),n=require(`../hooks/useScrollTracking.cjs`),r=require(`../hooks/useKeyboardShortcuts.cjs`),ee=require(`../hooks/useTextLayer.cjs`),i=require(`../utils/url.cjs`),te=require(`../hooks/useAnnotationLayer.cjs`),ne=require(`../hooks/usePDFLoader.cjs`),re=require(`../hooks/usePDFRenderer.cjs`),ie=require(`../hooks/useOverlayRects.cjs`),ae=require(`../utils/pdfFit.cjs`),oe=require(`../context/ThemeContext.cjs`),a=require(`./PDFViewer.module.cjs`);let se=require(`react/compiler-runtime`),o=require(`react`);o=e.__toESM(o,1);let ce=require(`pdfjs-dist`);ce=e.__toESM(ce,1);let s=require(`react/jsx-runtime`);var le=2,c=e=>{let i=(0,se.c)(96),{file:c,workerSrc:l,sidebar:u,toolbar:d,onChangeFile:f,themeOverrides:me,defaultTheme:he,defaultFit:p,className:ge,style:_e}=e,m,h;i[0]===l?(m=i[1],h=i[2]):(m=()=>{ce.GlobalWorkerOptions.workerSrc=l},h=[l],i[0]=l,i[1]=m,i[2]=h),(0,o.useEffect)(m,h);let[g,ve]=(0,o.useState)(1),[_,ye]=(0,o.useState)(0),[v,be]=(0,o.useState)(null),y;i[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],i[3]=y):y=i[3];let[b,xe]=(0,o.useState)(y),[Se,Ce]=(0,o.useState)(!1),x=(0,o.useRef)(null),S;i[4]===Symbol.for(`react.memo_cache_sentinel`)?(S=[],i[4]=S):S=i[4];let C=(0,o.useRef)(S),w;i[5]===Symbol.for(`react.memo_cache_sentinel`)?(w=[],i[5]=w):w=i[5];let T=(0,o.useRef)(w),we=(0,o.useRef)(_),E,D;i[6]===_?(E=i[7],D=i[8]):(E=()=>{we.current=_},D=[_],i[6]=_,i[7]=E,i[8]=D),(0,o.useEffect)(E,D);let[Te,Ee]=(0,o.useState)(null);Te!==c&&(Ee(c),be(null));let{pdf:O,numPages:k}=ne.usePDFLoader(c),A,j;i[9]===O?(A=i[10],j=i[11]):(A=()=>{O&&(C.current=Array(O.numPages).fill(null),T.current=Array(O.numPages).fill(null))},j=[O],i[9]=O,i[10]=A,i[11]=j),(0,o.useEffect)(A,j);let M,N;i[12]!==p||i[13]!==O?(M=()=>{!O||!p||!x.current||ae.computeFit(p,O,x.current,we.current).then(ve)},N=[O,p],i[12]=p,i[13]=O,i[14]=M,i[15]=N):(M=i[14],N=i[15]),(0,o.useEffect)(M,N);let P;i[16]!==k||i[17]!==O||i[18]!==_||i[19]!==g?(P={pdf:O,numPages:k,zoom:g,rotation:_,containerRef:x,pageRefs:C,canvasRefs:T},i[16]=k,i[17]=O,i[18]=_,i[19]=g,i[20]=P):P=i[20];let{currentPage:F,goToPage:I}=n.useScrollTracking(P),De;bb0:{if(k===0){let e;i[21]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],i[21]=e):e=i[21],De=e;break bb0}let e;if(i[22]!==F||i[23]!==v||i[24]!==k||i[25]!==b){let t=new Set,n=Math.max(F-le,1),r=Math.min(F+le,k);for(let e=n;e<=r;e++)t.add(e);v&&t.add(v.page);for(let e of b)t.add(e.page);e=Array.from(t).sort(ue),i[22]=F,i[23]=v,i[24]=k,i[25]=b,i[26]=e}else e=i[26];De=e}let L=De,R;i[27]!==O||i[28]!==_||i[29]!==L||i[30]!==g?(R={pdf:O,zoom:g,rotation:_,visiblePages:L,canvasRefs:T},i[27]=O,i[28]=_,i[29]=L,i[30]=g,i[31]=R):R=i[31];let{pageSizes:Oe,renderedPages:z}=re.usePDFRenderer(R),B;if(i[32]!==z||i[33]!==L){let e=new Set(L);for(let t of z)e.add(t);B=Array.from(e).sort(de),i[32]=z,i[33]=L,i[34]=B}else B=i[34];let V=B,H;i[35]!==F||i[36]!==I||i[37]!==O?(H={pdf:O,currentPage:F,goToPage:I,setZoom:ve,setRotation:ye},i[35]=F,i[36]=I,i[37]=O,i[38]=H):H=i[38],r.useKeyboardShortcuts(H);let U;i[39]!==V||i[40]!==O||i[41]!==_||i[42]!==g?(U={pdf:O,zoom:g,rotation:_,mountedPages:V,canvasRefs:T},i[39]=V,i[40]=O,i[41]=_,i[42]=g,i[43]=U):U=i[43];let ke=ee.useTextLayer(U),W;i[44]!==I||i[45]!==V||i[46]!==O||i[47]!==_||i[48]!==g?(W={pdf:O,zoom:g,rotation:_,mountedPages:V,goToPage:I},i[44]=I,i[45]=V,i[46]=O,i[47]=_,i[48]=g,i[49]=W):W=i[49];let Ae=te.useAnnotationLayer(W),G;i[50]!==v||i[51]!==O||i[52]!==_||i[53]!==b||i[54]!==g?(G={pdf:O,highlight:v,searchMatches:b,zoom:g,rotation:_},i[50]=v,i[51]=O,i[52]=_,i[53]=b,i[54]=g,i[55]=G):G=i[55];let{overlayRect:K,searchOverlays:je}=ie.useOverlayRects(G),q;i[56]!==F||i[57]!==c||i[58]!==I||i[59]!==v||i[60]!==k||i[61]!==f||i[62]!==O||i[63]!==_||i[64]!==b||i[65]!==Se||i[66]!==g?(q={pdf:O,numPages:k,zoom:g,setZoom:ve,rotation:_,setRotation:ye,currentPage:F,goToPage:I,containerRef:x,canvasRefs:T,file:c,highlight:v,setHighlight:be,searchMatches:b,setSearchMatches:xe,onChangeFile:f,sidebarCollapsed:Se,setSidebarCollapsed:Ce},i[56]=F,i[57]=c,i[58]=I,i[59]=v,i[60]=k,i[61]=f,i[62]=O,i[63]=_,i[64]=b,i[65]=Se,i[66]=g,i[67]=q):q=i[67];let Me=`${a.default.appLayout}${ge?` ${ge}`:``}`,J;i[68]===d?J=i[69]:(J=d&&(0,s.jsx)(`div`,{className:a.default.toolbar,children:d}),i[68]=d,i[69]=J);let Y;i[70]!==v||i[71]!==Ae||i[72]!==V||i[73]!==k||i[74]!==K||i[75]!==Oe||i[76]!==z||i[77]!==_||i[78]!==je||i[79]!==ke?(Y=(0,s.jsx)(`div`,{className:a.default.scrollContainer,ref:x,children:Array.from({length:k},(e,t)=>{let n=z.has(t+1),r=Oe[t],ee=V.includes(t+1);return(0,s.jsxs)(`div`,{className:a.default.pageWrapper,ref:e=>{C.current[t]=e},style:r?{width:r.width,height:r.height}:void 0,children:[r&&!n&&(0,s.jsx)(`div`,{className:a.default.pageSkeleton,style:{width:r.width,height:r.height}}),ee&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`canvas`,{className:a.default.pageCanvas,ref:e=>{T.current[t]=e},style:{display:n?`block`:`none`}}),(0,s.jsx)(`div`,{className:`textLayer ${a.default.textLayer}`,ref:e=>{ke.current[t]=e}})]}),Ae.filter(e=>e.page===t+1).map(fe),je.filter(e=>e.page===t+1).map(pe),v&&K?.page===t+1&&(0,s.jsx)(`div`,{className:a.default.highlightOverlay,style:{left:K.x,top:K.y,width:K.width,height:K.height}})]},`${t}-${_}`)})}),i[70]=v,i[71]=Ae,i[72]=V,i[73]=k,i[74]=K,i[75]=Oe,i[76]=z,i[77]=_,i[78]=je,i[79]=ke,i[80]=Y):Y=i[80];let X;i[81]!==u||i[82]!==Y?(X=(0,s.jsxs)(`div`,{className:a.default.body,children:[u,Y]}),i[81]=u,i[82]=Y,i[83]=X):X=i[83];let Z;i[84]!==_e||i[85]!==Me||i[86]!==J||i[87]!==X?(Z=(0,s.jsxs)(`div`,{className:Me,style:_e,children:[J,X]}),i[84]=_e,i[85]=Me,i[86]=J,i[87]=X,i[88]=Z):Z=i[88];let Q;i[89]!==q||i[90]!==Z?(Q=(0,s.jsx)(t.PDFViewerContext.Provider,{value:q,children:Z}),i[89]=q,i[90]=Z,i[91]=Q):Q=i[91];let $;return i[92]!==he||i[93]!==Q||i[94]!==me?($=(0,s.jsx)(oe.ThemeProvider,{themeOverrides:me,defaultTheme:he,children:Q}),i[92]=he,i[93]=Q,i[94]=me,i[95]=$):$=i[95],$};function ue(e,t){return e-t}function de(e,t){return e-t}function fe(e,t){return(0,s.jsx)(`a`,{className:a.default.linkOverlay,href:e.url&&i.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||!i.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())}},t)}function pe(e,t){return(0,s.jsx)(`div`,{className:a.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)}exports.default=c;
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../context/PDFViewerContext.cjs`),n=require(`../hooks/useScrollTracking.cjs`),r=require(`../hooks/useKeyboardShortcuts.cjs`),ee=require(`../hooks/useTextLayer.cjs`),i=require(`../utils/url.cjs`),te=require(`../hooks/useAnnotationLayer.cjs`),ne=require(`../hooks/usePDFLoader.cjs`),re=require(`../hooks/usePDFRenderer.cjs`),ie=require(`../hooks/useOverlayRects.cjs`),ae=require(`../utils/pdfFit.cjs`),oe=require(`../context/ThemeContext.cjs`),a=require(`./PDFViewer.module.cjs`);let se=require(`react/compiler-runtime`),o=require(`react`);o=e.__toESM(o,1);let ce=require(`pdfjs-dist`);ce=e.__toESM(ce,1);let s=require(`react/jsx-runtime`);var le=2,c=e=>{let i=(0,se.c)(75),{file:c,workerSrc:l,sidebar:me,toolbar:u,onChangeFile:he,themeOverrides:ge,defaultTheme:_e,defaultFit:d,className:ve,style:f}=e,p,m;i[0]===l?(p=i[1],m=i[2]):(p=()=>{ce.GlobalWorkerOptions.workerSrc=l},m=[l],i[0]=l,i[1]=p,i[2]=m),(0,o.useEffect)(p,m);let[h,g]=(0,o.useState)(1),[_,ye]=(0,o.useState)(0),[v,be]=(0,o.useState)(null),y;i[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],i[3]=y):y=i[3];let[b,xe]=(0,o.useState)(y),[Se,Ce]=(0,o.useState)(!1),[x,we]=(0,o.useState)(d??null),S=(0,o.useRef)(null),C;i[4]===Symbol.for(`react.memo_cache_sentinel`)?(C=[],i[4]=C):C=i[4];let Te=(0,o.useRef)(C),w;i[5]===Symbol.for(`react.memo_cache_sentinel`)?(w=[],i[5]=w):w=i[5];let T=(0,o.useRef)(w),E=(0,o.useRef)(_),D,O;i[6]===_?(D=i[7],O=i[8]):(D=()=>{E.current=_},O=[_],i[6]=_,i[7]=D,i[8]=O),(0,o.useEffect)(D,O);let[Ee,De]=(0,o.useState)(null);Ee!==c&&(De(c),be(null));let{pdf:k,numPages:A}=ne.usePDFLoader(c),j,M;i[9]===k?(j=i[10],M=i[11]):(j=()=>{k&&(Te.current=Array(k.numPages).fill(null),T.current=Array(k.numPages).fill(null))},M=[k],i[9]=k,i[10]=j,i[11]=M),(0,o.useEffect)(j,M);let N,P;i[12]!==d||i[13]!==k?(N=()=>{!k||!d||!S.current||ae.computeFit(d,k,S.current,E.current).then(g)},P=[k,d],i[12]=d,i[13]=k,i[14]=N,i[15]=P):(N=i[14],P=i[15]),(0,o.useEffect)(N,P);let Oe=(0,o.useRef)(x),F,I;i[16]===x?(F=i[17],I=i[18]):(F=()=>{Oe.current=x},I=[x],i[16]=x,i[17]=F,i[18]=I),(0,o.useEffect)(F,I);let L,R;i[19]===k?(L=i[20],R=i[21]):(L=()=>{if(!k||!S.current)return;let e=S.current,t=new ResizeObserver(()=>{Oe.current&&ae.computeFit(Oe.current,k,e,E.current).then(g)});return t.observe(e),()=>t.disconnect()},R=[k],i[19]=k,i[20]=L,i[21]=R),(0,o.useEffect)(L,R);let z;i[22]===A?z=i[23]:(z={numPages:A,containerRef:S,pageRefs:Te},i[22]=A,i[23]=z);let{currentPage:B,goToPage:V}=n.useScrollTracking(z),H;i[24]!==B||i[25]!==v||i[26]!==A||i[27]!==b?(H=()=>{if(A===0)return[];let e=new Set,t=Math.max(B-le,1),n=Math.min(B+le,A);for(let r=t;r<=n;r++)e.add(r);v&&e.add(v.page);for(let t of b)e.add(t.page);return Array.from(e).sort(ue)},i[24]=B,i[25]=v,i[26]=A,i[27]=b,i[28]=H):H=i[28];let ke=H(),{pageSizes:Ae,renderedPages:je}=re.usePDFRenderer({pdf:k,zoom:h,rotation:_,visiblePages:ke,canvasRefs:T}),U=(()=>{let e=new Set(ke);for(let t of je)e.add(t);return Array.from(e).sort(de)})(),W;i[29]!==B||i[30]!==V||i[31]!==k?(W={pdf:k,currentPage:B,goToPage:V,setZoom:g,setRotation:ye,setFitMode:we},i[29]=B,i[30]=V,i[31]=k,i[32]=W):W=i[32],r.useKeyboardShortcuts(W);let Me=ee.useTextLayer({pdf:k,zoom:h,rotation:_,mountedPages:U,canvasRefs:T}),Ne=te.useAnnotationLayer({pdf:k,zoom:h,rotation:_,mountedPages:U,goToPage:V}),G;i[33]!==v||i[34]!==k||i[35]!==_||i[36]!==b||i[37]!==h?(G={pdf:k,highlight:v,searchMatches:b,zoom:h,rotation:_},i[33]=v,i[34]=k,i[35]=_,i[36]=b,i[37]=h,i[38]=G):G=i[38];let{overlayRect:K,searchOverlays:Pe}=ie.useOverlayRects(G),Fe=oe.ThemeProvider,Ie=t.PDFViewerContext,q;i[39]!==B||i[40]!==c||i[41]!==x||i[42]!==V||i[43]!==v||i[44]!==A||i[45]!==he||i[46]!==k||i[47]!==_||i[48]!==b||i[49]!==Se||i[50]!==h?(q={pdf:k,numPages:A,zoom:h,setZoom:g,rotation:_,setRotation:ye,currentPage:B,goToPage:V,containerRef:S,canvasRefs:T,file:c,highlight:v,setHighlight:be,searchMatches:b,setSearchMatches:xe,onChangeFile:he,sidebarCollapsed:Se,setSidebarCollapsed:Ce,fitMode:x,setFitMode:we},i[39]=B,i[40]=c,i[41]=x,i[42]=V,i[43]=v,i[44]=A,i[45]=he,i[46]=k,i[47]=_,i[48]=b,i[49]=Se,i[50]=h,i[51]=q):q=i[51];let Le=`${a.default.appLayout}${ve?` ${ve}`:``}`,J;i[52]===u?J=i[53]:(J=u&&(0,s.jsx)(`div`,{className:a.default.toolbar,children:u}),i[52]=u,i[53]=J);let Re=a.default,ze=a.default,Be=Array.from({length:A},(e,t)=>{let n=je.has(t+1),r=Ae[t],ee=U.includes(t+1);return(0,s.jsxs)(`div`,{className:a.default.pageWrapper,ref:e=>{Te.current[t]=e},style:r?{width:r.width,height:r.height}:void 0,children:[r&&!n&&(0,s.jsx)(`div`,{className:a.default.pageSkeleton,style:{width:r.width,height:r.height}}),ee&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`canvas`,{className:a.default.pageCanvas,ref:e=>{T.current[t]=e},style:{display:n?`block`:`none`}}),(0,s.jsx)(`div`,{className:`textLayer ${a.default.textLayer}`,ref:e=>{Me.current[t]=e}})]}),Ne.filter(e=>e.page===t+1).map(fe),Pe.filter(e=>e.page===t+1).map(pe),v&&K?.page===t+1&&(0,s.jsx)(`div`,{className:a.default.highlightOverlay,style:{left:K.x,top:K.y,width:K.width,height:K.height}})]},`${t}-${_}`)}),Y;i[54]!==ze.scrollContainer||i[55]!==Be?(Y=(0,s.jsx)(`div`,{className:ze.scrollContainer,ref:S,children:Be}),i[54]=ze.scrollContainer,i[55]=Be,i[56]=Y):Y=i[56];let X;i[57]!==me||i[58]!==Re.body||i[59]!==Y?(X=(0,s.jsxs)(`div`,{className:Re.body,children:[me,Y]}),i[57]=me,i[58]=Re.body,i[59]=Y,i[60]=X):X=i[60];let Z;i[61]!==f||i[62]!==Le||i[63]!==J||i[64]!==X?(Z=(0,s.jsxs)(`div`,{className:Le,style:f,children:[J,X]}),i[61]=f,i[62]=Le,i[63]=J,i[64]=X,i[65]=Z):Z=i[65];let Q;i[66]!==Ie.Provider||i[67]!==q||i[68]!==Z?(Q=(0,s.jsx)(Ie.Provider,{value:q,children:Z}),i[66]=Ie.Provider,i[67]=q,i[68]=Z,i[69]=Q):Q=i[69];let $;return i[70]!==Fe||i[71]!==_e||i[72]!==Q||i[73]!==ge?($=(0,s.jsx)(Fe,{themeOverrides:ge,defaultTheme:_e,children:Q}),i[70]=Fe,i[71]=_e,i[72]=Q,i[73]=ge,i[74]=$):$=i[74],$};function ue(e,t){return e-t}function de(e,t){return e-t}function fe(e,t){return(0,s.jsx)(`a`,{className:a.default.linkOverlay,href:e.url&&i.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||!i.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())}},t)}function pe(e,t){return(0,s.jsx)(`div`,{className:a.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)}exports.default=c;
@@ -1 +1 @@
1
- var e={appLayout:`_appLayout_9nx1k_1`,body:`_body_9nx1k_17`,toolbar:`_toolbar_9nx1k_33`,scrollContainer:`_scrollContainer_9nx1k_57`,pageWrapper:`_pageWrapper_9nx1k_77`,pageCanvas:`_pageCanvas_9nx1k_87`,textLayer:`_textLayer_9nx1k_105`,markedContent:`_markedContent_9nx1k_157`,endOfContent:`_endOfContent_9nx1k_187`,selecting:`_selecting_9nx1k_205`,pageSkeleton:`_pageSkeleton_9nx1k_245`,shimmer:`_shimmer_9nx1k_1`,highlightOverlay:`_highlightOverlay_9nx1k_287`,linkOverlay:`_linkOverlay_9nx1k_305`,searchMatchOverlay:`_searchMatchOverlay_9nx1k_319`};exports.default=e;
1
+ var e={appLayout:`_appLayout_1t51x_1`,body:`_body_1t51x_17`,toolbar:`_toolbar_1t51x_33`,scrollContainer:`_scrollContainer_1t51x_57`,pageWrapper:`_pageWrapper_1t51x_77`,pageCanvas:`_pageCanvas_1t51x_87`,textLayer:`_textLayer_1t51x_105`,markedContent:`_markedContent_1t51x_157`,endOfContent:`_endOfContent_1t51x_187`,selecting:`_selecting_1t51x_205`,pageSkeleton:`_pageSkeleton_1t51x_245`,spin:`_spin_1t51x_1`,highlightOverlay:`_highlightOverlay_1t51x_299`,linkOverlay:`_linkOverlay_1t51x_317`,searchMatchOverlay:`_searchMatchOverlay_1t51x_331`};exports.default=e;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let o=(0,r.c)(11),{icon:s}=e,{onChangeFile:c}=t.usePDFViewer(),l=(0,i.useRef)(null),u;o[0]===c?u=o[1]:(u=e=>{let t=e.target.files?.[0];t&&c?.(t),e.target.value=``},o[0]=c,o[1]=u);let d=u,f;o[2]===Symbol.for(`react.memo_cache_sentinel`)?(f={display:`none`},o[2]=f):f=o[2];let p;o[3]===d?p=o[4]:(p=(0,a.jsx)(`input`,{ref:l,type:`file`,accept:`.pdf`,style:f,onChange:d}),o[3]=d,o[4]=p);let m;o[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>l.current?.click(),o[5]=m):m=o[5];let h;o[6]===s?h=o[7]:(h=(0,a.jsx)(n.ToolbarButton,{onClick:m,title:`Apri altro file`,children:s}),o[6]=s,o[7]=h);let g;return o[8]!==p||o[9]!==h?(g=(0,a.jsxs)(a.Fragment,{children:[p,h]}),o[8]=p,o[9]=h,o[10]=g):g=o[10],g}exports.PDFChangeFile=o;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let o=(0,r.c)(11),{icon:s}=e,{onChangeFile:c}=t.usePDFViewer(),l=(0,i.useRef)(null),u;o[0]===c?u=o[1]:(u=e=>{let t=e.target.files?.[0];t&&c?.(t),e.target.value=``},o[0]=c,o[1]=u);let d=u,f;o[2]===Symbol.for(`react.memo_cache_sentinel`)?(f={display:`none`},o[2]=f):f=o[2];let p;o[3]===d?p=o[4]:(p=(0,a.jsx)(`input`,{ref:l,type:`file`,accept:`.pdf`,style:f,onChange:d}),o[3]=d,o[4]=p);let m;o[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>l.current?.click(),o[5]=m):m=o[5];let h;o[6]===s?h=o[7]:(h=(0,a.jsx)(n.ToolbarButton,{onClick:m,title:`Apri altro file`,children:s}),o[6]=s,o[7]=h);let g;return o[8]!==p||o[9]!==h?(g=(0,a.jsxs)(a.Fragment,{children:[p,h]}),o[8]=p,o[9]=h,o[10]=g):g=o[10],g}o.toolbarLabel=`Apri file`,exports.PDFChangeFile=o;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(5),{icon:o}=e,{file:s}=t.usePDFViewer(),c;i[0]===s?c=i[1]:(c=()=>{let e=URL.createObjectURL(s),t=document.createElement(`a`);t.href=e,t.download=s.name||`documento.pdf`,t.click(),setTimeout(()=>URL.revokeObjectURL(e),0)},i[0]=s,i[1]=c);let l=c,u;return i[2]!==l||i[3]!==o?(u=(0,a.jsxs)(n.ToolbarButton,{$primary:!0,onClick:l,title:`Scarica PDF`,children:[o,`Scarica`]}),i[2]=l,i[3]=o,i[4]=u):u=i[4],u}exports.PDFDownloadButton=o;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(5),{icon:o}=e,{file:s}=t.usePDFViewer(),c;i[0]===s?c=i[1]:(c=()=>{let e=URL.createObjectURL(s),t=document.createElement(`a`);t.href=e,t.download=s.name||`documento.pdf`,t.click(),setTimeout(()=>URL.revokeObjectURL(e),0)},i[0]=s,i[1]=c);let l=c,u;return i[2]!==l||i[3]!==o?(u=(0,a.jsxs)(n.ToolbarButton,{$primary:!0,onClick:l,title:`Scarica PDF`,children:[o,`Scarica`]}),i[2]=l,i[3]=o,i[4]=u):u=i[4],u}o.toolbarLabel=`Scarica`,exports.PDFDownloadButton=o;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`),r=require(`./PDFNavigation.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let s=(0,i.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)(``),_;s[0]!==f||s[1]!==h?(_=()=>{let e=parseInt(h,10);isNaN(e)||f(e),m(!1)},s[0]=f,s[1]=h,s[2]=_):_=s[2];let v=_,y;s[3]!==u||s[4]!==f?(y=()=>f(u-1),s[3]=u,s[4]=f,s[5]=y):y=s[5];let b=u===1,x;s[6]!==c||s[7]!==y||s[8]!==b?(x=(0,o.jsx)(n.ToolbarButton,{onClick:y,disabled:b,title:`Pagina precedente (←)`,children:c}),s[6]=c,s[7]=y,s[8]=b,s[9]=x):x=s[9];let S=p?h:u,C;s[10]===u?C=s[11]:(C=()=>{m(!0),g(String(u))},s[10]=u,s[11]=C);let w;s[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>g(e.target.value),s[12]=w):w=s[12];let T;s[13]===v?T=s[14]:(T=e=>{e.key===`Enter`&&v(),e.key===`Escape`&&m(!1)},s[13]=v,s[14]=T);let E;s[15]!==v||s[16]!==S||s[17]!==C||s[18]!==T?(E=(0,o.jsx)(`input`,{className:r.default.pageInput,type:`number`,value:S,onFocus:C,onBlur:v,onChange:w,onKeyDown:T,title:`Vai alla pagina`}),s[15]=v,s[16]=S,s[17]=C,s[18]=T,s[19]=E):E=s[19];let D;s[20]===d?D=s[21]:(D=(0,o.jsxs)(`span`,{className:r.default.pageTotal,children:[`/ `,d]}),s[20]=d,s[21]=D);let O;s[22]!==u||s[23]!==f?(O=()=>f(u+1),s[22]=u,s[23]=f,s[24]=O):O=s[24];let k=u===d,A;s[25]!==l||s[26]!==O||s[27]!==k?(A=(0,o.jsx)(n.ToolbarButton,{onClick:O,disabled:k,title:`Pagina successiva (→)`,children:l}),s[25]=l,s[26]=O,s[27]=k,s[28]=A):A=s[28];let j;return s[29]!==D||s[30]!==A||s[31]!==x||s[32]!==E?(j=(0,o.jsxs)(`div`,{className:r.default.navWrapper,children:[x,E,D,A]}),s[29]=D,s[30]=A,s[31]=x,s[32]=E,s[33]=j):j=s[33],j}exports.PDFNavigation=s;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`),r=require(`./PDFNavigation.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let s=(0,i.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)(``),_;s[0]!==f||s[1]!==h?(_=()=>{let e=parseInt(h,10);isNaN(e)||f(e),m(!1)},s[0]=f,s[1]=h,s[2]=_):_=s[2];let v=_,y;s[3]!==u||s[4]!==f?(y=()=>f(u-1),s[3]=u,s[4]=f,s[5]=y):y=s[5];let b=u===1,x;s[6]!==c||s[7]!==y||s[8]!==b?(x=(0,o.jsx)(n.ToolbarButton,{onClick:y,disabled:b,title:`Pagina precedente (←)`,children:c}),s[6]=c,s[7]=y,s[8]=b,s[9]=x):x=s[9];let S=p?h:u,C;s[10]===u?C=s[11]:(C=()=>{m(!0),g(String(u))},s[10]=u,s[11]=C);let w;s[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>g(e.target.value),s[12]=w):w=s[12];let T;s[13]===v?T=s[14]:(T=e=>{e.key===`Enter`&&v(),e.key===`Escape`&&m(!1)},s[13]=v,s[14]=T);let E;s[15]!==v||s[16]!==S||s[17]!==C||s[18]!==T?(E=(0,o.jsx)(`input`,{className:r.default.pageInput,type:`number`,value:S,onFocus:C,onBlur:v,onChange:w,onKeyDown:T,title:`Vai alla pagina`}),s[15]=v,s[16]=S,s[17]=C,s[18]=T,s[19]=E):E=s[19];let D;s[20]===d?D=s[21]:(D=(0,o.jsxs)(`span`,{className:r.default.pageTotal,children:[`/ `,d]}),s[20]=d,s[21]=D);let O;s[22]!==u||s[23]!==f?(O=()=>f(u+1),s[22]=u,s[23]=f,s[24]=O):O=s[24];let k=u===d,A;s[25]!==l||s[26]!==O||s[27]!==k?(A=(0,o.jsx)(n.ToolbarButton,{onClick:O,disabled:k,title:`Pagina successiva (→)`,children:l}),s[25]=l,s[26]=O,s[27]=k,s[28]=A):A=s[28];let j;return s[29]!==D||s[30]!==A||s[31]!==x||s[32]!==E?(j=(0,o.jsxs)(`div`,{className:r.default.navWrapper,children:[x,E,D,A]}),s[29]=D,s[30]=A,s[31]=x,s[32]=E,s[33]=j):j=s[33],j}s.toolbarLabel=`Pagina`,exports.PDFNavigation=s;
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../hooks/useOutline.cjs`),n=require(`../ui/icons.cjs`),r=require(`./PDFOutline.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`),o=require(`react/jsx-runtime`);async function s(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 c(e){let t=(0,i.c)(25),{node:s,depth:u,onNavigate:d}=e,[f,p]=(0,a.useState)(u===0),m=s.items.length>0,h=12+u*14,g=s.bold?600:400,_=s.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]!==s.dest||t[5]!==d?(y=()=>d(s.dest),t[4]=s.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:r.default.chevronBtn,onClick:e=>{e.stopPropagation(),p(l)},children:f?(0,o.jsx)(n.IconChevronDown,{size:12}):(0,o.jsx)(n.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]===s.title?x=t[11]:(x=(0,o.jsx)(`span`,{className:r.default.title,title:s.title,children:s.title}),t[10]=s.title,t[11]=x);let S;t[12]!==v||t[13]!==y||t[14]!==b||t[15]!==x?(S=(0,o.jsxs)(`div`,{className:r.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]!==u||t[18]!==s.items||t[19]!==d||t[20]!==f?(C=f&&s.items.map((e,t)=>(0,o.jsx)(c,{node:e,depth:u+1,onNavigate:d},t)),t[17]=u,t[18]=s.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 l(e){return!e}function u(){let n=(0,i.c)(18),{pdf:a,goToPage:l}=e.usePDFViewer(),u;n[0]===a?u=n[1]:(u={pdf:a},n[0]=a,n[1]=u);let{outline:d,loading:f}=t.useOutline(u),p;n[2]!==l||n[3]!==a?(p=async e=>{let t=await s(a,e);t!==null&&l(t)},n[2]=l,n[3]=a,n[4]=p):p=n[4];let m=p,h;n[5]===f?h=n[6]:(h=f&&(0,o.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),n[5]=f,n[6]=h);let g;n[7]!==f||n[8]!==d?(g=!f&&d.length===0&&(0,o.jsx)(`div`,{className:r.default.emptyState,children:`Nessun segnalibro disponibile.`}),n[7]=f,n[8]=d,n[9]=g):g=n[9];let _;n[10]!==m||n[11]!==f||n[12]!==d?(_=!f&&d.map((e,t)=>(0,o.jsx)(c,{node:e,depth:0,onNavigate:m},t)),n[10]=m,n[11]=f,n[12]=d,n[13]=_):_=n[13];let v;return n[14]!==h||n[15]!==g||n[16]!==_?(v=(0,o.jsxs)(`div`,{className:r.default.tree,children:[h,g,_]}),n[14]=h,n[15]=g,n[16]=_,n[17]=v):v=n[17],v}exports.PDFOutline=u;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../hooks/useOutline.cjs`),n=require(`../ui/icons.cjs`),r=require(`./PDFOutline.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`),o=require(`react/jsx-runtime`);async function s(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],i=await e.getPageIndex(r)+1,a=n[1],o=null;return a?.name===`XYZ`?o=n[3]??null:(a?.name===`FitH`||a?.name===`FitBH`)&&(o=n[2]??null),{page:i,pdfTop:o}}catch{return null}}function c(e){let t=(0,i.c)(25),{node:s,depth:u,onNavigate:d}=e,[f,p]=(0,a.useState)(u===0),m=s.items.length>0,h=12+u*14,g=s.bold?600:400,_=s.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]!==s.dest||t[5]!==d?(y=()=>d(s.dest),t[4]=s.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:r.default.chevronBtn,onClick:e=>{e.stopPropagation(),p(l)},children:f?(0,o.jsx)(n.IconChevronDown,{size:12}):(0,o.jsx)(n.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]===s.title?x=t[11]:(x=(0,o.jsx)(`span`,{className:r.default.title,title:s.title,children:s.title}),t[10]=s.title,t[11]=x);let S;t[12]!==v||t[13]!==y||t[14]!==b||t[15]!==x?(S=(0,o.jsxs)(`div`,{className:r.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]!==u||t[18]!==s.items||t[19]!==d||t[20]!==f?(C=f&&s.items.map((e,t)=>(0,o.jsx)(c,{node:e,depth:u+1,onNavigate:d},t)),t[17]=u,t[18]=s.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 l(e){return!e}function u(){let n=(0,i.c)(20),{pdf:a,zoom:l,rotation:u,goToPage:d}=e.usePDFViewer(),f;n[0]===a?f=n[1]:(f={pdf:a},n[0]=a,n[1]=f);let{outline:p,loading:m}=t.useOutline(f),h;n[2]!==d||n[3]!==a||n[4]!==u||n[5]!==l?(h=async e=>{let t=await s(a,e);if(t){if(t.pdfTop!==null)try{let[,e]=(await a.getPage(t.page)).getViewport({scale:l,rotation:u}).convertToViewportPoint(0,t.pdfTop);d(t.page,e);return}catch{}d(t.page)}},n[2]=d,n[3]=a,n[4]=u,n[5]=l,n[6]=h):h=n[6];let g=h,_;n[7]===m?_=n[8]:(_=m&&(0,o.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),n[7]=m,n[8]=_);let v;n[9]!==m||n[10]!==p?(v=!m&&p.length===0&&(0,o.jsx)(`div`,{className:r.default.emptyState,children:`Nessun segnalibro disponibile.`}),n[9]=m,n[10]=p,n[11]=v):v=n[11];let y;n[12]!==g||n[13]!==m||n[14]!==p?(y=!m&&p.map((e,t)=>(0,o.jsx)(c,{node:e,depth:0,onNavigate:g},t)),n[12]=g,n[13]=m,n[14]=p,n[15]=y):y=n[15];let b;return n[16]!==_||n[17]!==v||n[18]!==y?(b=(0,o.jsxs)(`div`,{className:r.default.tree,children:[_,v,y]}),n[16]=_,n[17]=v,n[18]=y,n[19]=b):b=n[19],b}exports.PDFOutline=u;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../utils/pdfFit.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let a=(0,i.c)(18),{fitWidthIcon:s,fitPageIcon:c}=e,{pdf:l,rotation:u,setZoom:d,containerRef:f}=t.usePDFViewer(),p;a[0]!==f||a[1]!==l||a[2]!==u||a[3]!==d?(p=async e=>{!l||!f.current||d(await n.computeFit(e,l,f.current,u))},a[0]=f,a[1]=l,a[2]=u,a[3]=d,a[4]=p):p=a[4];let m=p,h;a[5]===m?h=a[6]:(h=()=>m(`width`),a[5]=m,a[6]=h);let g;a[7]!==s||a[8]!==h?(g=(0,o.jsx)(r.ToolbarButton,{onClick:h,title:`Adatta alla larghezza`,children:s}),a[7]=s,a[8]=h,a[9]=g):g=a[9];let _;a[10]===m?_=a[11]:(_=()=>m(`page`),a[10]=m,a[11]=_);let v;a[12]!==c||a[13]!==_?(v=(0,o.jsx)(r.ToolbarButton,{onClick:_,title:`Adatta pagina intera`,children:c}),a[12]=c,a[13]=_,a[14]=v):v=a[14];let y;return a[15]!==g||a[16]!==v?(y=(0,o.jsxs)(o.Fragment,{children:[g,v]}),a[15]=g,a[16]=v,a[17]=y):y=a[17],y}exports.PDFPageFit=s;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../utils/pdfFit.cjs`),r=require(`../ui/ToolbarButton.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let a=(0,i.c)(19),{fitWidthIcon:s,fitPageIcon:c}=e,{pdf:l,rotation:u,setZoom:d,setFitMode:f,containerRef:p}=t.usePDFViewer(),m;a[0]!==p||a[1]!==l||a[2]!==u||a[3]!==f||a[4]!==d?(m=async e=>{!l||!p.current||(f(e),d(await n.computeFit(e,l,p.current,u)))},a[0]=p,a[1]=l,a[2]=u,a[3]=f,a[4]=d,a[5]=m):m=a[5];let h=m,g;a[6]===h?g=a[7]:(g=()=>h(`width`),a[6]=h,a[7]=g);let _;a[8]!==s||a[9]!==g?(_=(0,o.jsx)(r.ToolbarButton,{onClick:g,title:`Adatta alla larghezza`,children:s}),a[8]=s,a[9]=g,a[10]=_):_=a[10];let v;a[11]===h?v=a[12]:(v=()=>h(`page`),a[11]=h,a[12]=v);let y;a[13]!==c||a[14]!==v?(y=(0,o.jsx)(r.ToolbarButton,{onClick:v,title:`Adatta pagina intera`,children:c}),a[13]=c,a[14]=v,a[15]=y):y=a[15];let b;return a[16]!==_||a[17]!==y?(b=(0,o.jsxs)(o.Fragment,{children:[_,y]}),a[16]=_,a[17]=y,a[18]=b):b=a[18],b}s.toolbarLabel=`Adatta`,exports.PDFPageFit=s;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(5),{icon:o}=e,{file:s}=t.usePDFViewer(),c;i[0]===s?c=i[1]:(c=()=>{let e=URL.createObjectURL(s),t=document.createElement(`iframe`);t.style.display=`none`,t.src=e,document.body.appendChild(t),t.onload=()=>{let n=!1,r=()=>{n||(n=!0,t.remove(),URL.revokeObjectURL(e))};t.contentWindow?.addEventListener(`afterprint`,r,{once:!0}),setTimeout(r,6e4),t.contentWindow?.print()}},i[0]=s,i[1]=c);let l=c,u;return i[2]!==l||i[3]!==o?(u=(0,a.jsx)(n.ToolbarButton,{onClick:l,title:`Stampa PDF`,children:o}),i[2]=l,i[3]=o,i[4]=u):u=i[4],u}exports.PDFPrintButton=o;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(5),{icon:o}=e,{file:s}=t.usePDFViewer(),c;i[0]===s?c=i[1]:(c=()=>{let e=URL.createObjectURL(s),t=document.createElement(`iframe`);t.style.display=`none`,t.src=e,document.body.appendChild(t),t.onload=()=>{let n=!1,r=()=>{n||(n=!0,t.remove(),URL.revokeObjectURL(e))};t.contentWindow?.addEventListener(`afterprint`,r,{once:!0}),setTimeout(r,6e4),t.contentWindow?.print()}},i[0]=s,i[1]=c);let l=c,u;return i[2]!==l||i[3]!==o?(u=(0,a.jsx)(n.ToolbarButton,{onClick:l,title:`Stampa PDF`,children:o}),i[2]=l,i[3]=o,i[4]=u):u=i[4],u}o.toolbarLabel=`Stampa`,exports.PDFPrintButton=o;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(5),{icon:o}=e,{setRotation:c}=t.usePDFViewer(),l;i[0]===c?l=i[1]:(l=()=>c(s),i[0]=c,i[1]=l);let u;return i[2]!==o||i[3]!==l?(u=(0,a.jsx)(n.ToolbarButton,{onClick:l,title:`Ruota documento`,children:o}),i[2]=o,i[3]=l,i[4]=u):u=i[4],u}function s(e){return(e+90)%360}exports.PDFRotationControl=o;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(5),{icon:o}=e,{setRotation:c}=t.usePDFViewer(),l;i[0]===c?l=i[1]:(l=()=>c(s),i[0]=c,i[1]=l);let u;return i[2]!==o||i[3]!==l?(u=(0,a.jsx)(n.ToolbarButton,{onClick:l,title:`Ruota documento`,children:o}),i[2]=o,i[3]=l,i[4]=u):u=i[4],u}function s(e){return(e+90)%360}o.toolbarLabel=`Ruota`,exports.PDFRotationControl=o;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../hooks/useTextSearch.cjs`),r=require(`./PDFSearch.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let s=(0,i.c)(35),{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;s[0]!==f||s[1]!==g?(b={pdf:f,query:g},s[0]=f,s[1]=g,s[2]=b):b=s[2];let{matches:x,searching:S}=n.useTextSearch(b),C=x.length,w,T;s[3]!==x||s[4]!==h?(w=()=>(h(x),()=>h([])),T=[x,h],s[3]=x,s[4]=h,s[5]=w,s[6]=T):(w=s[5],T=s[6]),(0,a.useEffect)(w,T);let E;s[7]!==p||s[8]!==x||s[9]!==m||s[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})},s[7]=p,s[8]=x,s[9]=m,s[10]=C,s[11]=E):E=s[11];let D=E,O;s[12]===m?O=s[13]:(O=e=>{_(e.target.value),y(0),m(null)},s[12]=m,s[13]=O);let k=O,A;s[14]===m?A=s[15]:(A=()=>{_(``),y(0),m(null)},s[14]=m,s[15]=A);let j=A,M;s[16]===c?M=s[17]:(M=(0,o.jsx)(`span`,{className:r.default.searchIconWrapper,children:c}),s[16]=c,s[17]=M);let N;s[18]!==k||s[19]!==g?(N=(0,o.jsx)(`input`,{className:r.default.searchInput,value:g,onChange:k,placeholder:`Cerca nel documento...`}),s[18]=k,s[19]=g,s[20]=N):N=s[20];let P;s[21]!==d||s[22]!==j||s[23]!==v||s[24]!==D||s[25]!==u||s[26]!==l||s[27]!==g||s[28]!==S||s[29]!==C?(P=g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:r.default.counter,children:S?`…`:C===0?`0`:`${v+1}/${C}`}),(0,o.jsx)(`button`,{className:r.default.navButton,onClick:()=>D(v-1),disabled:C===0,children:l}),(0,o.jsx)(`button`,{className:r.default.navButton,onClick:()=>D(v+1),disabled:C===0,children:u}),(0,o.jsx)(`button`,{className:r.default.navButton,onClick:j,children:d})]}),s[21]=d,s[22]=j,s[23]=v,s[24]=D,s[25]=u,s[26]=l,s[27]=g,s[28]=S,s[29]=C,s[30]=P):P=s[30];let F;return s[31]!==M||s[32]!==N||s[33]!==P?(F=(0,o.jsxs)(`div`,{className:r.default.wrapper,children:[M,N,P]}),s[31]=M,s[32]=N,s[33]=P,s[34]=F):F=s[34],F}exports.PDFSearch=s;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../../hooks/useTextSearch.cjs`),r=require(`./PDFSearch.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let s=(0,i.c)(35),{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;s[0]!==f||s[1]!==g?(b={pdf:f,query:g},s[0]=f,s[1]=g,s[2]=b):b=s[2];let{matches:x,searching:S}=n.useTextSearch(b),C=x.length,w,T;s[3]!==x||s[4]!==h?(w=()=>(h(x),()=>h([])),T=[x,h],s[3]=x,s[4]=h,s[5]=w,s[6]=T):(w=s[5],T=s[6]),(0,a.useEffect)(w,T);let E;s[7]!==p||s[8]!==x||s[9]!==m||s[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})},s[7]=p,s[8]=x,s[9]=m,s[10]=C,s[11]=E):E=s[11];let D=E,O;s[12]===m?O=s[13]:(O=e=>{_(e.target.value),y(0),m(null)},s[12]=m,s[13]=O);let k=O,A;s[14]===m?A=s[15]:(A=()=>{_(``),y(0),m(null)},s[14]=m,s[15]=A);let j=A,M;s[16]===c?M=s[17]:(M=(0,o.jsx)(`span`,{className:r.default.searchIconWrapper,children:c}),s[16]=c,s[17]=M);let N;s[18]!==k||s[19]!==g?(N=(0,o.jsx)(`input`,{className:r.default.searchInput,value:g,onChange:k,placeholder:`Cerca nel documento...`}),s[18]=k,s[19]=g,s[20]=N):N=s[20];let P;s[21]!==d||s[22]!==j||s[23]!==v||s[24]!==D||s[25]!==u||s[26]!==l||s[27]!==g||s[28]!==S||s[29]!==C?(P=g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:r.default.counter,children:S?`…`:C===0?`0`:`${v+1}/${C}`}),(0,o.jsx)(`button`,{className:r.default.navButton,onClick:()=>D(v-1),disabled:C===0,children:l}),(0,o.jsx)(`button`,{className:r.default.navButton,onClick:()=>D(v+1),disabled:C===0,children:u}),(0,o.jsx)(`button`,{className:r.default.navButton,onClick:j,children:d})]}),s[21]=d,s[22]=j,s[23]=v,s[24]=D,s[25]=u,s[26]=l,s[27]=g,s[28]=S,s[29]=C,s[30]=P):P=s[30];let F;return s[31]!==M||s[32]!==N||s[33]!==P?(F=(0,o.jsxs)(`div`,{className:r.default.wrapper,children:[M,N,P]}),s[31]=M,s[32]=N,s[33]=P,s[34]=F):F=s[34],F}s.toolbarLabel=`Cerca`,exports.PDFSearch=s;
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../ui/ToolbarButton.module.cjs`);let n=require(`react/compiler-runtime`),r=require(`react/jsx-runtime`);function i(i){let o=(0,n.c)(6),{collapseIcon:s,expandIcon:c}=i,{sidebarCollapsed:l,setSidebarCollapsed:u}=e.usePDFViewer(),d=l?c??s:s,f=l?`Espandi sidebar`:`Comprimi sidebar`,p;o[0]===u?p=o[1]:(p=()=>u(a),o[0]=u,o[1]=p);let m;return o[2]!==d||o[3]!==p||o[4]!==f?(m=(0,r.jsx)(`button`,{className:t.default.btn,onClick:p,title:f,children:d}),o[2]=d,o[3]=p,o[4]=f,o[5]=m):m=o[5],m}function a(e){return!e}exports.PDFSidebarToggle=i;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../ui/ToolbarButton.module.cjs`);let n=require(`react/compiler-runtime`),r=require(`react/jsx-runtime`);function i(i){let o=(0,n.c)(6),{collapseIcon:s,expandIcon:c}=i,{sidebarCollapsed:l,setSidebarCollapsed:u}=e.usePDFViewer(),d=l?c??s:s,f=l?`Espandi sidebar`:`Comprimi sidebar`,p;o[0]===u?p=o[1]:(p=()=>u(a),o[0]=u,o[1]=p);let m;return o[2]!==d||o[3]!==p||o[4]!==f?(m=(0,r.jsx)(`button`,{className:t.default.btn,onClick:p,title:f,children:d}),o[2]=d,o[3]=p,o[4]=f,o[5]=m):m=o[5],m}function a(e){return!e}i.toolbarLabel=`Sidebar`,exports.PDFSidebarToggle=i;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../ui/ToolbarButton.cjs`),n=require(`../../hooks/useTheme.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(4),{lightIcon:o,darkIcon:s}=e,{isDark:c,toggleTheme:l}=n.useTheme(),u=c?`Switch to light mode`:`Switch to dark mode`,d=c?o:s,f;return i[0]!==u||i[1]!==d||i[2]!==l?(f=(0,a.jsx)(t.ToolbarButton,{onClick:l,title:u,children:d}),i[0]=u,i[1]=d,i[2]=l,i[3]=f):f=i[3],f}exports.PDFThemeToggle=o;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../ui/ToolbarButton.cjs`),n=require(`../../hooks/useTheme.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let i=(0,r.c)(4),{lightIcon:o,darkIcon:s}=e,{isDark:c,toggleTheme:l}=n.useTheme(),u=c?`Switch to light mode`:`Switch to dark mode`,d=c?o:s,f;return i[0]!==u||i[1]!==d||i[2]!==l?(f=(0,a.jsx)(t.ToolbarButton,{onClick:l,title:u,children:d}),i[0]=u,i[1]=d,i[2]=l,i[3]=f):f=i[3],f}o.toolbarLabel=`Tema`,exports.PDFThemeToggle=o;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`),r=require(`./PDFZoomControls.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let a=(0,i.c)(18),{zoomOutIcon:s,zoomInIcon:u}=e,{zoom:d,setZoom:f}=t.usePDFViewer(),p;a[0]===f?p=a[1]:(p=()=>f(l),a[0]=f,a[1]=p);let m;a[2]!==p||a[3]!==s?(m=(0,o.jsx)(n.ToolbarButton,{onClick:p,title:`Riduci zoom`,children:s}),a[2]=p,a[3]=s,a[4]=m):m=a[4];let h;a[5]===d?h=a[6]:(h=Math.round(d*100),a[5]=d,a[6]=h);let g;a[7]===h?g=a[8]:(g=(0,o.jsxs)(`span`,{className:r.default.zoomLabel,children:[h,`%`]}),a[7]=h,a[8]=g);let _;a[9]===f?_=a[10]:(_=()=>f(c),a[9]=f,a[10]=_);let v;a[11]!==_||a[12]!==u?(v=(0,o.jsx)(n.ToolbarButton,{onClick:_,title:`Aumenta zoom`,children:u}),a[11]=_,a[12]=u,a[13]=v):v=a[13];let y;return a[14]!==m||a[15]!==g||a[16]!==v?(y=(0,o.jsxs)(o.Fragment,{children:[m,g,v]}),a[14]=m,a[15]=g,a[16]=v,a[17]=y):y=a[17],y}function c(e){return Math.min(e+.2,3)}function l(e){return Math.max(e-.2,.2)}exports.PDFZoomControls=s;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`),r=require(`./PDFZoomControls.module.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s(e){let a=(0,i.c)(21),{zoomOutIcon:s,zoomInIcon:c}=e,{zoom:l,setZoom:u,setFitMode:d}=t.usePDFViewer(),f;a[0]!==d||a[1]!==u?(f=e=>{d(null),u(t=>Math.min(Math.max(t+e,.2),3))},a[0]=d,a[1]=u,a[2]=f):f=a[2];let p=f,m;a[3]===p?m=a[4]:(m=()=>p(-.2),a[3]=p,a[4]=m);let h;a[5]!==m||a[6]!==s?(h=(0,o.jsx)(n.ToolbarButton,{onClick:m,title:`Riduci zoom`,children:s}),a[5]=m,a[6]=s,a[7]=h):h=a[7];let g;a[8]===l?g=a[9]:(g=Math.round(l*100),a[8]=l,a[9]=g);let _;a[10]===g?_=a[11]:(_=(0,o.jsxs)(`span`,{className:r.default.zoomLabel,children:[g,`%`]}),a[10]=g,a[11]=_);let v;a[12]===p?v=a[13]:(v=()=>p(.2),a[12]=p,a[13]=v);let y;a[14]!==v||a[15]!==c?(y=(0,o.jsx)(n.ToolbarButton,{onClick:v,title:`Aumenta zoom`,children:c}),a[14]=v,a[15]=c,a[16]=y):y=a[16];let b;return a[17]!==h||a[18]!==_||a[19]!==y?(b=(0,o.jsxs)(o.Fragment,{children:[h,_,y]}),a[17]=h,a[18]=_,a[19]=y,a[20]=b):b=a[20],b}s.toolbarLabel=`Zoom`,exports.PDFZoomControls=s;
@@ -0,0 +1 @@
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./ToolbarButton.cjs`),n=require(`./PDFToolbar.module.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);var a=(0,r.createContext)(!1),o=40;function s({children:e,overflowIcon:s=`···`}){let c=(0,r.useRef)(null),l=(0,r.useRef)([]),u=(0,r.useRef)([]),d=(0,r.useRef)(()=>{}),[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(!1),g=(0,r.useRef)(null),_=r.default.Children.toArray(e);d.current=()=>{let e=c.current,t=u.current;if(!e||t.length===0)return;let n=e.offsetWidth;if(t.reduce((e,t)=>e+t,0)<=n){p(null);return}let r=0,i=0;for(let e=0;e<t.length&&r+t[e]+o<=n;e++)r+=t[e],i++;p(i)},(0,r.useLayoutEffect)(()=>{u.current=l.current.slice(0,_.length).map(e=>e?.offsetWidth??0),d.current()},[]),(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t=new ResizeObserver(()=>d.current());return t.observe(e),()=>t.disconnect()},[]),(0,r.useEffect)(()=>{if(!m)return;let e=e=>{g.current?.contains(e.target)||h(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[m]);let v=f!==null&&f<_.length,y=v?_.slice(f):[];return(0,i.jsxs)(`div`,{ref:c,className:n.default.toolbar,children:[_.map((e,t)=>(0,i.jsx)(`div`,{ref:e=>{l.current[t]=e},className:n.default.item,style:f!==null&&t>=f?{display:`none`}:void 0,children:e},t)),v&&(0,i.jsxs)(`div`,{ref:g,className:n.default.overflowWrapper,children:[(0,i.jsx)(t.ToolbarButton,{onClick:()=>h(e=>!e),"aria-label":`Altre opzioni`,"aria-expanded":m,"aria-haspopup":`true`,title:`Altre opzioni`,className:m?n.default.overflowBtnActive:void 0,children:s}),m&&(0,i.jsx)(`div`,{className:n.default.dropdown,role:`menu`,children:y.map((e,t)=>{let o=r.default.isValidElement(e)?e.type.toolbarLabel:void 0;return(0,i.jsx)(`div`,{className:n.default.dropdownItem,role:`menuitem`,children:o?(0,i.jsxs)(`div`,{className:n.default.labeledItem,children:[(0,i.jsx)(`span`,{className:n.default.itemLabel,children:o}),(0,i.jsx)(`div`,{className:n.default.itemContent,children:e})]}):(0,i.jsx)(a.Provider,{value:!0,children:e})},t)})})]})]})}exports.PDFToolbar=s,exports.PDFToolbarDropdownContext=a;
@@ -0,0 +1 @@
1
+ var e={toolbar:`_toolbar_xoqxq_1`,item:`_item_xoqxq_9`,overflowWrapper:`_overflowWrapper_xoqxq_15`,overflowBtnActive:`_overflowBtnActive_xoqxq_21`,dropdown:`_dropdown_xoqxq_26`,dropdownItem:`_dropdownItem_xoqxq_41`,labeledItem:`_labeledItem_xoqxq_53`,itemContent:`_itemContent_xoqxq_60`,itemLabel:`_itemLabel_xoqxq_66`};exports.default=e;
@@ -0,0 +1 @@
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./PDFToolbar.module.cjs`),n=require(`./PDFToolbar.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let o=(0,r.c)(7),{children:s,label:c}=e;if(!(0,i.useContext)(n.PDFToolbarDropdownContext)||!c){let e;return o[0]===s?e=o[1]:(e=(0,a.jsx)(a.Fragment,{children:s}),o[0]=s,o[1]=e),e}let l;o[2]===c?l=o[3]:(l=(0,a.jsx)(`span`,{className:t.default.itemLabel,children:c}),o[2]=c,o[3]=l);let u;return o[4]!==s||o[5]!==l?(u=(0,a.jsxs)(`div`,{className:t.default.labeledItem,children:[l,s]}),o[4]=s,o[5]=l,o[6]=u):u=o[6],u}exports.PDFToolbarItem=o;
@@ -1 +1 @@
1
- require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../theme.cjs`),t=require(`./themeContextValue.cjs`);let n=require(`react/compiler-runtime`),r=require(`react`),i=require(`react/jsx-runtime`);function a(a){let s=(0,n.c)(17),{children:c,themeOverrides:l,defaultTheme:u}=a,[d,f]=(0,r.useState)((u===void 0?`light`:u)===`dark`),p,m;s[0]!==d||s[1]!==l?.dark||s[2]!==l?.light?(m=d?{...e.darkTheme,...l?.dark}:{...e.lightTheme,...l?.light},p=e.themeToCssVars(m),s[0]=d,s[1]=l?.dark,s[2]=l?.light,s[3]=p,s[4]=m):(p=s[3],m=s[4]);let h=p,g;s[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>f(o),s[5]=g):g=s[5];let _;s[6]!==d||s[7]!==m?(_={isDark:d,toggleTheme:g,theme:m},s[6]=d,s[7]=m,s[8]=_):_=s[8];let v=h,y;s[9]===v?y=s[10]:(y={...v,height:`100%`,width:`100%`},s[9]=v,s[10]=y);let b;s[11]!==c||s[12]!==y?(b=(0,i.jsx)(`div`,{style:y,children:c}),s[11]=c,s[12]=y,s[13]=b):b=s[13];let x;return s[14]!==_||s[15]!==b?(x=(0,i.jsx)(t.ThemeContext.Provider,{value:_,children:b}),s[14]=_,s[15]=b,s[16]=x):x=s[16],x}function o(e){return!e}exports.ThemeProvider=a;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../theme.cjs`),t=require(`./themeContextValue.cjs`);let n=require(`react/compiler-runtime`),r=require(`react`),i=require(`react/jsx-runtime`);function a(a){let s=(0,n.c)(17),{children:c,themeOverrides:l,defaultTheme:u}=a,[d,f]=(0,r.useState)((u===void 0?`light`:u)===`dark`),p,m;s[0]!==d||s[1]!==l?.dark||s[2]!==l?.light?(m=d?{...e.darkTheme,...l?.dark}:{...e.lightTheme,...l?.light},p=e.themeToCssVars(m),s[0]=d,s[1]=l?.dark,s[2]=l?.light,s[3]=p,s[4]=m):(p=s[3],m=s[4]);let h=p,g;s[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>f(o),s[5]=g):g=s[5];let _;s[6]!==d||s[7]!==m?(_={isDark:d,toggleTheme:g,theme:m},s[6]=d,s[7]=m,s[8]=_):_=s[8];let v=h,y;s[9]===v?y=s[10]:(y={...v,fontFamily:`var(--pdf-font-family)`,height:`100%`,width:`100%`},s[9]=v,s[10]=y);let b;s[11]!==c||s[12]!==y?(b=(0,i.jsx)(`div`,{style:y,children:c}),s[11]=c,s[12]=y,s[13]=b):b=s[13];let x;return s[14]!==_||s[15]!==b?(x=(0,i.jsx)(t.ThemeContext.Provider,{value:_,children:b}),s[14]=_,s[15]=b,s[16]=x):x=s[16],x}function o(e){return!e}exports.ThemeProvider=a;
@@ -1 +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,rect:e.rect})}}i(t)}catch{i([])}finally{o(!1)}})()},[e]),{annotations:n,loading:a}}exports.useAnnotations=i;
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([`Text`,`PolyLine`]);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,rect:e.rect})}}i(t)}catch{i([])}finally{o(!1)}})()},[e]),{annotations:n,loading:a}}exports.useAnnotations=i;
@@ -1 +1 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react/compiler-runtime`),n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);function i(e){let r=(0,t.c)(7),{pdf:i,currentPage:c,goToPage:l,setZoom:u,setRotation:d}=e,f,p;r[0]!==c||r[1]!==l||r[2]!==i||r[3]!==d||r[4]!==u?(f=()=>{if(!i)return;let e=e=>{let t=e.target.tagName;if(!(t===`INPUT`||t===`TEXTAREA`))bb13:switch(e.key){case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),l(c-1);break bb13;case`ArrowRight`:case`ArrowDown`:e.preventDefault(),l(c+1);break bb13;case`+`:case`=`:e.preventDefault(),u(s);break bb13;case`-`:e.preventDefault(),u(o);break bb13;case`r`:case`R`:e.preventDefault(),d(a)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},p=[i,c,l,u,d],r[0]=c,r[1]=l,r[2]=i,r[3]=d,r[4]=u,r[5]=f,r[6]=p):(f=r[5],p=r[6]),(0,n.useEffect)(f,p)}function a(e){return(e+90)%360}function o(e){return Math.max(e-.2,.2)}function s(e){return Math.min(e+.2,3)}exports.useKeyboardShortcuts=i;
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react/compiler-runtime`),n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);function i(e){let r=(0,t.c)(8),{pdf:i,currentPage:c,goToPage:l,setZoom:u,setRotation:d,setFitMode:f}=e,p,m;r[0]!==c||r[1]!==l||r[2]!==i||r[3]!==f||r[4]!==d||r[5]!==u?(p=()=>{if(!i)return;let e=e=>{let t=e.target.tagName;if(!(t===`INPUT`||t===`TEXTAREA`))bb13:switch(e.key){case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),l(c-1);break bb13;case`ArrowRight`:case`ArrowDown`:e.preventDefault(),l(c+1);break bb13;case`+`:case`=`:e.preventDefault(),f(null),u(s);break bb13;case`-`:e.preventDefault(),f(null),u(o);break bb13;case`r`:case`R`:e.preventDefault(),d(a)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},m=[i,c,l,u,d,f],r[0]=c,r[1]=l,r[2]=i,r[3]=f,r[4]=d,r[5]=u,r[6]=p,r[7]=m):(p=r[6],m=r[7]),(0,n.useEffect)(p,m)}function a(e){return(e+90)%360}function o(e){return Math.max(e-.2,.2)}function s(e){return Math.min(e+.2,3)}exports.useKeyboardShortcuts=i;
@@ -1 +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,zoom:n,rotation:r,visiblePages:i,canvasRefs:a}){let[o,s]=(0,t.useState)([]),[c,l]=(0,t.useState)(new Set),u=(0,t.useRef)([]),d=(0,t.useRef)(new Set),f=(0,t.useRef)(!1);return(0,t.useEffect)(()=>{if(!e)return;f.current=!1,d.current=new Set,l(new Set);let t=!1;return(async()=>{let i=u.current.map(e=>e?(e.cancel(),e.promise.catch(()=>{})):Promise.resolve());if(await Promise.all(i),u.current=Array(e.numPages).fill(null),t)return;let a=[];for(let t=1;t<=e.numPages;t++){let i=(await e.getPage(t)).getViewport({scale:n,rotation:r});a.push({width:i.width,height:i.height})}t||(f.current=!0,s(a))})(),()=>{t=!0,u.current.forEach(e=>e?.cancel())}},[e,n,r]),(0,t.useEffect)(()=>{if(!e||o.length!==e.numPages||!f.current)return;let t=!1;return(async()=>{for(let o of i){if(t||d.current.has(o))continue;let i=await e.getPage(o);if(t)return;let s=i.getViewport({scale:n,rotation:r}),c=a.current[o-1];if(!c)continue;let f=c.getContext(`2d`);if(!f)continue;let p=u.current[o-1];if(p&&(p.cancel(),await p.promise.catch(()=>{}),t))return;c.height=s.height,c.width=s.width;let m=i.render({canvasContext:f,viewport:s,canvas:c});u.current[o-1]=m;try{await m.promise,t||(d.current=new Set(d.current).add(o),l(e=>{if(e.has(o))return e;let t=new Set(e);return t.add(o),t}))}catch(e){e&&typeof e==`object`&&`name`in e&&e.name!==`RenderingCancelledException`&&console.error(`Render error:`,e)}finally{u.current[o-1]===m&&(u.current[o-1]=null)}}})(),()=>{t=!0}},[e,o,r,i,n]),{pageSizes:o,renderedPages:c}}exports.usePDFRenderer=r;
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,zoom:n,rotation:r,visiblePages:i,canvasRefs:a}){let[o,s]=(0,t.useState)([]),[c,l]=(0,t.useState)(new Set),u=(0,t.useRef)([]),d=(0,t.useRef)(new Set),f=(0,t.useRef)(!1);return(0,t.useEffect)(()=>{if(!e)return;f.current=!1,d.current=new Set,l(new Set);let t=!1;return(async()=>{let i=u.current.map(e=>e?(e.cancel(),e.promise.catch(()=>{})):Promise.resolve());if(await Promise.all(i),u.current=Array(e.numPages).fill(null),t)return;let a=await e.getPage(1);if(t)return;let o=a.getViewport({scale:n,rotation:r}),c={width:o.width,height:o.height};s(Array(e.numPages).fill(c));let l=await Promise.all(Array.from({length:e.numPages},async(t,i)=>{let o=(i===0?a:await e.getPage(i+1)).getViewport({scale:n,rotation:r});return{width:o.width,height:o.height}}));t||(f.current=!0,s(l))})(),()=>{t=!0,u.current.forEach(e=>e?.cancel())}},[e,n,r]),(0,t.useEffect)(()=>{if(!e||o.length!==e.numPages||!f.current)return;let t=!1;return(async()=>{for(let o of i){if(t||d.current.has(o))continue;let i=await e.getPage(o);if(t)return;let s=i.getViewport({scale:n,rotation:r}),c=a.current[o-1];if(!c)continue;let f=c.getContext(`2d`);if(!f)continue;let p=u.current[o-1];if(p&&(p.cancel(),await p.promise.catch(()=>{}),t))return;c.height=s.height,c.width=s.width;let m=i.render({canvasContext:f,viewport:s,canvas:c});u.current[o-1]=m;try{await m.promise,t||(d.current=new Set(d.current).add(o),l(e=>{if(e.has(o))return e;let t=new Set(e);return t.add(o),t}))}catch(e){e&&typeof e==`object`&&`name`in e&&e.name!==`RenderingCancelledException`&&console.error(`Render error:`,e)}finally{u.current[o-1]===m&&(u.current[o-1]=null)}}})(),()=>{t=!0}},[e,o,r,i,n,a]),{pageSizes:o,renderedPages:c}}exports.usePDFRenderer=r;
@@ -1 +1 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react/compiler-runtime`),n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);var i=10;function a(e){let r=(0,t.c)(17),{pdf:a,numPages:o,zoom:s,rotation:c,containerRef:l,pageRefs:u,canvasRefs:d}=e,[f,p]=(0,n.useState)(1),m;r[0]!==l||r[1]!==u?(m=()=>{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.getBoundingClientRect().top-t<=150&&p(e+1)}};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},r[0]=l,r[1]=u,r[2]=m):m=r[2];let h;r[3]!==d||r[4]!==l||r[5]!==u||r[6]!==a||r[7]!==c||r[8]!==s?(h=[a,s,c,l,u,d],r[3]=d,r[4]=l,r[5]=u,r[6]=a,r[7]=c,r[8]=s,r[9]=h):h=r[9],(0,n.useEffect)(m,h);let g;r[10]!==l||r[11]!==o||r[12]!==u?(g=e=>{let t=Math.min(Math.max(e,1),o),n=u.current[t-1],r=l.current;if(n&&r){let e=n.getBoundingClientRect().top,a=r.getBoundingClientRect().top,o=r.scrollTop+(e-a)-i;r.scrollTo({top:o,behavior:`smooth`}),p(t)}},r[10]=l,r[11]=o,r[12]=u,r[13]=g):g=r[13];let _=g,v;return r[14]!==f||r[15]!==_?(v={currentPage:f,goToPage:_},r[14]=f,r[15]=_,r[16]=v):v=r[16],v}exports.useScrollTracking=a;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`react/compiler-runtime`),t=require(`react`);var n=10;function r(r){let i=(0,e.c)(11),{numPages:a,containerRef:o,pageRefs:s}=r,[c,l]=(0,t.useState)(1),u,d;i[0]!==o||i[1]!==s?(u=()=>{let e=o.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().top,n=s.current;for(let e=0;e<n.length;e++){let r=n[e];r&&r.getBoundingClientRect().top-t<=150&&l(e+1)}};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},d=[o,s],i[0]=o,i[1]=s,i[2]=u,i[3]=d):(u=i[2],d=i[3]),(0,t.useEffect)(u,d);let f;i[4]!==o||i[5]!==a||i[6]!==s?(f=(e,t)=>{let r=Math.min(Math.max(e,1),a),i=s.current[r-1],c=o.current;if(i&&c){let e=i.getBoundingClientRect().top,a=c.getBoundingClientRect().top,o=c.scrollTop+(e-a)-n,s=t===void 0?o:o+t;c.scrollTo({top:s,behavior:`smooth`}),l(r)}},i[4]=o,i[5]=a,i[6]=s,i[7]=f):f=i[7];let p=f,m;return i[8]!==c||i[9]!==p?(m={currentPage:c,goToPage:p},i[8]=c,i[9]=p,i[10]=m):m=i[10],m}exports.useScrollTracking=r;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme.cjs`),t=require(`./components/PDFViewer.cjs`),n=require(`./components/PDFSidebar.cjs`),r=require(`./components/features/PDFAttachments.cjs`),i=require(`./components/features/PDFAnnotations.cjs`),a=require(`./components/features/PDFChangeFile.cjs`),o=require(`./components/features/PDFDownloadButton.cjs`),s=require(`./components/features/PDFNavigation.cjs`),c=require(`./components/features/PDFOutline.cjs`),l=require(`./components/features/PDFPageFit.cjs`),u=require(`./components/features/PDFRotationControl.cjs`),d=require(`./components/features/PDFSearch.cjs`),f=require(`./components/features/PDFSignatures.cjs`),p=require(`./components/features/PDFThumbnails.cjs`),m=require(`./components/features/PDFZoomControls.cjs`),h=require(`./components/features/PDFThemeToggle.cjs`),g=require(`./components/features/PDFPrintButton.cjs`),_=require(`./components/features/PDFSidebarToggle.cjs`);exports.PDFAnnotations=i.PDFAnnotations,exports.PDFAnnotationsIcon=i.PDFAnnotationsIcon,exports.PDFAttachments=r.PDFAttachments,exports.PDFAttachmentsIcon=r.PDFAttachmentsIcon,exports.PDFChangeFile=a.PDFChangeFile,exports.PDFDownloadButton=o.PDFDownloadButton,exports.PDFNavigation=s.PDFNavigation,exports.PDFOutline=c.PDFOutline,exports.PDFPageFit=l.PDFPageFit,exports.PDFPrintButton=g.PDFPrintButton,exports.PDFRotationControl=u.PDFRotationControl,exports.PDFSearch=d.PDFSearch,exports.PDFSidebar=n.PDFSidebar,exports.PDFSidebarToggle=_.PDFSidebarToggle,exports.PDFSignatures=f.PDFSignatures,exports.PDFSignaturesIcon=f.PDFSignaturesIcon,exports.PDFThemeToggle=h.PDFThemeToggle,exports.PDFThumbnails=p.PDFThumbnails,exports.PDFViewer=t,exports.PDFZoomControls=m.PDFZoomControls,exports.darkTheme=e.darkTheme,exports.lightTheme=e.lightTheme;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme.cjs`),t=require(`./components/PDFViewer.cjs`),n=require(`./components/PDFSidebar.cjs`),r=require(`./components/features/PDFAttachments.cjs`),i=require(`./components/features/PDFAnnotations.cjs`),a=require(`./components/features/PDFChangeFile.cjs`),o=require(`./components/features/PDFDownloadButton.cjs`),s=require(`./components/features/PDFNavigation.cjs`),c=require(`./components/features/PDFOutline.cjs`),l=require(`./components/features/PDFPageFit.cjs`),u=require(`./components/features/PDFRotationControl.cjs`),d=require(`./components/features/PDFSearch.cjs`),f=require(`./components/features/PDFSignatures.cjs`),p=require(`./components/features/PDFThumbnails.cjs`),m=require(`./components/features/PDFZoomControls.cjs`),h=require(`./components/features/PDFThemeToggle.cjs`),g=require(`./components/features/PDFPrintButton.cjs`),_=require(`./components/features/PDFSidebarToggle.cjs`),v=require(`./components/ui/PDFToolbar.cjs`),y=require(`./components/ui/PDFToolbarItem.cjs`);exports.PDFAnnotations=i.PDFAnnotations,exports.PDFAnnotationsIcon=i.PDFAnnotationsIcon,exports.PDFAttachments=r.PDFAttachments,exports.PDFAttachmentsIcon=r.PDFAttachmentsIcon,exports.PDFChangeFile=a.PDFChangeFile,exports.PDFDownloadButton=o.PDFDownloadButton,exports.PDFNavigation=s.PDFNavigation,exports.PDFOutline=c.PDFOutline,exports.PDFPageFit=l.PDFPageFit,exports.PDFPrintButton=g.PDFPrintButton,exports.PDFRotationControl=u.PDFRotationControl,exports.PDFSearch=d.PDFSearch,exports.PDFSidebar=n.PDFSidebar,exports.PDFSidebarToggle=_.PDFSidebarToggle,exports.PDFSignatures=f.PDFSignatures,exports.PDFSignaturesIcon=f.PDFSignaturesIcon,exports.PDFThemeToggle=h.PDFThemeToggle,exports.PDFThumbnails=p.PDFThumbnails,exports.PDFToolbar=v.PDFToolbar,exports.PDFToolbarItem=y.PDFToolbarItem,exports.PDFViewer=t,exports.PDFZoomControls=m.PDFZoomControls,exports.darkTheme=e.darkTheme,exports.lightTheme=e.lightTheme;
@@ -1,2 +1,2 @@
1
- ._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_9nx1k_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_9nx1k_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_9nx1k_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_9nx1k_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_9nx1k_77{margin-bottom:25px;position:relative}._pageCanvas_9nx1k_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_9nx1k_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_9nx1k_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_9nx1k_105>:not(._markedContent_9nx1k_157),._textLayer_9nx1k_105 ._markedContent_9nx1k_157 span:not(._markedContent_9nx1k_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_9nx1k_105 ._markedContent_9nx1k_157{display:contents}._textLayer_9nx1k_105 ._endOfContent_9nx1k_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_9nx1k_105._selecting_9nx1k_205 ._endOfContent_9nx1k_187{top:0}._textLayer_9nx1k_105 ::selection{background:#0000ff40}._textLayer_9nx1k_105 br::selection{background:0 0}._pageSkeleton_9nx1k_245{z-index:0;pointer-events:none;background:linear-gradient(90deg,#3f3f46 25%,#52525b 50%,#3f3f46 75%) 0 0/200% 100%;border-radius:1px;animation:1.4s infinite _shimmer_9nx1k_1;position:absolute;top:0;left:0}@keyframes _shimmer_9nx1k_1{0%{background-position:200% 0}to{background-position:-200% 0}}._highlightOverlay_9nx1k_287{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_9nx1k_305{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_9nx1k_319{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}
1
+ ._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_1t51x_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1t51x_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1t51x_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_1t51x_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_1t51x_77{margin-bottom:25px;position:relative}._pageCanvas_1t51x_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1t51x_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_1t51x_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1t51x_105>:not(._markedContent_1t51x_157),._textLayer_1t51x_105 ._markedContent_1t51x_157 span:not(._markedContent_1t51x_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_1t51x_105 ._markedContent_1t51x_157{display:contents}._textLayer_1t51x_105 ._endOfContent_1t51x_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1t51x_105._selecting_1t51x_205 ._endOfContent_1t51x_187{top:0}._textLayer_1t51x_105 ::selection{background:#0000ff40}._textLayer_1t51x_105 br::selection{background:0 0}._pageSkeleton_1t51x_245{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_1t51x_245:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1t51x_1}@keyframes _spin_1t51x_1{to{transform:rotate(360deg)}}._highlightOverlay_1t51x_299{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1t51x_317{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1t51x_331{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_xoqxq_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_xoqxq_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_xoqxq_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_xoqxq_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_xoqxq_26{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000002e}._dropdownItem_xoqxq_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_xoqxq_41>*{flex-shrink:0}._labeledItem_xoqxq_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_xoqxq_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_xoqxq_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_xoqxq_41:hover{background:var(--pdf-surface-hover)}
2
2
  /*$vite$:1*/
@@ -1 +1 @@
1
- var e={bg:`#18181b`,surface:`#27272a`,surfaceHover:`#3f3f46`,border:`#3f3f46`,borderLight:`#52525b`,scrollArea:`#525659`,textPrimary:`#fafafa`,textSecondary:`#a1a1aa`,textMuted:`#71717a`,textPlaceholder:`#52525b`,accent:`#3b82f6`,accentHover:`#2563eb`,accentDark:`#1d4ed8`,accentLight:`#60a5fa`,accentSubtle:`rgba(59, 130, 246, 0.15)`,panelBg:`#1f1f23`,panelBorder:`#27272a`,panelHeaderBg:`#18181b`,shadowPage:`rgba(0, 0, 0, 0.4)`,badgeBg:`#3b82f6`},t={bg:`#f4f4f5`,surface:`#ffffff`,surfaceHover:`#f4f4f5`,border:`#e4e4e7`,borderLight:`#d4d4d8`,scrollArea:`#e4e4e7`,textPrimary:`#18181b`,textSecondary:`#52525b`,textMuted:`#71717a`,textPlaceholder:`#a1a1aa`,accent:`#3b82f6`,accentHover:`#2563eb`,accentDark:`#1d4ed8`,accentLight:`#60a5fa`,accentSubtle:`rgba(59, 130, 246, 0.1)`,panelBg:`#ffffff`,panelBorder:`#e4e4e7`,panelHeaderBg:`#fafafa`,shadowPage:`rgba(0, 0, 0, 0.12)`,badgeBg:`#3b82f6`};function n(e){return{"--pdf-bg":e.bg,"--pdf-surface":e.surface,"--pdf-surface-hover":e.surfaceHover,"--pdf-border":e.border,"--pdf-border-light":e.borderLight,"--pdf-scroll-area":e.scrollArea,"--pdf-text-primary":e.textPrimary,"--pdf-text-secondary":e.textSecondary,"--pdf-text-muted":e.textMuted,"--pdf-text-placeholder":e.textPlaceholder,"--pdf-accent":e.accent,"--pdf-accent-hover":e.accentHover,"--pdf-accent-dark":e.accentDark,"--pdf-accent-light":e.accentLight,"--pdf-accent-subtle":e.accentSubtle,"--pdf-panel-bg":e.panelBg,"--pdf-panel-border":e.panelBorder,"--pdf-panel-header-bg":e.panelHeaderBg,"--pdf-shadow-page":e.shadowPage,"--pdf-badge-bg":e.badgeBg}}exports.darkTheme=e,exports.lightTheme=t,exports.themeToCssVars=n;
1
+ var e={fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif`,bg:`#18181b`,surface:`#27272a`,surfaceHover:`#3f3f46`,border:`#3f3f46`,borderLight:`#52525b`,scrollArea:`#525659`,textPrimary:`#fafafa`,textSecondary:`#a1a1aa`,textMuted:`#71717a`,textPlaceholder:`#52525b`,accent:`#3b82f6`,accentHover:`#2563eb`,accentDark:`#1d4ed8`,accentLight:`#60a5fa`,accentSubtle:`rgba(59, 130, 246, 0.15)`,panelBg:`#1f1f23`,panelBorder:`#27272a`,panelHeaderBg:`#18181b`,shadowPage:`rgba(0, 0, 0, 0.4)`,badgeBg:`#3b82f6`},t={fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif`,bg:`#f4f4f5`,surface:`#ffffff`,surfaceHover:`#f4f4f5`,border:`#e4e4e7`,borderLight:`#d4d4d8`,scrollArea:`#e4e4e7`,textPrimary:`#18181b`,textSecondary:`#52525b`,textMuted:`#71717a`,textPlaceholder:`#a1a1aa`,accent:`#3b82f6`,accentHover:`#2563eb`,accentDark:`#1d4ed8`,accentLight:`#60a5fa`,accentSubtle:`rgba(59, 130, 246, 0.1)`,panelBg:`#ffffff`,panelBorder:`#e4e4e7`,panelHeaderBg:`#fafafa`,shadowPage:`rgba(0, 0, 0, 0.12)`,badgeBg:`#3b82f6`};function n(e){return{"--pdf-font-family":e.fontFamily,"--pdf-bg":e.bg,"--pdf-surface":e.surface,"--pdf-surface-hover":e.surfaceHover,"--pdf-border":e.border,"--pdf-border-light":e.borderLight,"--pdf-scroll-area":e.scrollArea,"--pdf-text-primary":e.textPrimary,"--pdf-text-secondary":e.textSecondary,"--pdf-text-muted":e.textMuted,"--pdf-text-placeholder":e.textPlaceholder,"--pdf-accent":e.accent,"--pdf-accent-hover":e.accentHover,"--pdf-accent-dark":e.accentDark,"--pdf-accent-light":e.accentLight,"--pdf-accent-subtle":e.accentSubtle,"--pdf-panel-bg":e.panelBg,"--pdf-panel-border":e.panelBorder,"--pdf-panel-header-bg":e.panelHeaderBg,"--pdf-shadow-page":e.shadowPage,"--pdf-badge-bg":e.badgeBg}}exports.darkTheme=e,exports.lightTheme=t,exports.themeToCssVars=n;
@@ -3,4 +3,7 @@ interface PDFChangeFileProps {
3
3
  icon: React.ReactNode;
4
4
  }
5
5
  export declare function PDFChangeFile({ icon }: PDFChangeFileProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare namespace PDFChangeFile {
7
+ var toolbarLabel: string;
8
+ }
6
9
  export {};
@@ -3,4 +3,7 @@ interface PDFDownloadButtonProps {
3
3
  icon: React.ReactNode;
4
4
  }
5
5
  export declare function PDFDownloadButton({ icon }: PDFDownloadButtonProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare namespace PDFDownloadButton {
7
+ var toolbarLabel: string;
8
+ }
6
9
  export {};
@@ -4,4 +4,7 @@ interface PDFNavigationProps {
4
4
  nextIcon: React.ReactNode;
5
5
  }
6
6
  export declare function PDFNavigation({ prevIcon, nextIcon }: PDFNavigationProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace PDFNavigation {
8
+ var toolbarLabel: string;
9
+ }
7
10
  export {};
@@ -4,4 +4,7 @@ interface PDFPageFitProps {
4
4
  fitPageIcon: React.ReactNode;
5
5
  }
6
6
  export declare function PDFPageFit({ fitWidthIcon, fitPageIcon }: PDFPageFitProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace PDFPageFit {
8
+ var toolbarLabel: string;
9
+ }
7
10
  export {};