pdf-tsx 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -2
- package/dist/cjs/components/PDFSidebar.cjs +1 -1
- package/dist/cjs/components/PDFSidebar.module.cjs +1 -1
- package/dist/cjs/components/PDFViewer.cjs +1 -1
- package/dist/cjs/components/PDFViewer.module.cjs +1 -1
- package/dist/cjs/components/features/PDFAnnotations.cjs +1 -1
- package/dist/cjs/components/features/PDFAnnotations.module.cjs +1 -1
- package/dist/cjs/components/features/PDFAttachments.cjs +1 -1
- package/dist/cjs/components/features/PDFAttachments.module.cjs +1 -1
- package/dist/cjs/components/features/PDFChangeFile.cjs +1 -1
- package/dist/cjs/components/features/PDFDownloadButton.cjs +1 -1
- package/dist/cjs/components/features/PDFNavigation.cjs +1 -1
- package/dist/cjs/components/features/PDFNavigation.module.cjs +1 -1
- package/dist/cjs/components/features/PDFOutline.cjs +1 -1
- package/dist/cjs/components/features/PDFOutline.module.cjs +1 -1
- package/dist/cjs/components/features/PDFPageFit.cjs +1 -1
- package/dist/cjs/components/features/PDFPrintButton.cjs +1 -1
- package/dist/cjs/components/features/PDFRotationControl.cjs +1 -1
- package/dist/cjs/components/features/PDFSearch.cjs +1 -1
- package/dist/cjs/components/features/PDFSearch.module.cjs +1 -1
- package/dist/cjs/components/features/PDFSidebarToggle.cjs +1 -1
- package/dist/cjs/components/features/PDFSignatures.cjs +1 -1
- package/dist/cjs/components/features/PDFSignatures.module.cjs +1 -1
- package/dist/cjs/components/features/PDFThemeToggle.cjs +1 -1
- package/dist/cjs/components/features/PDFThumbnails.cjs +1 -1
- package/dist/cjs/components/features/PDFThumbnails.module.cjs +1 -1
- package/dist/cjs/components/features/PDFZoomControls.cjs +1 -1
- package/dist/cjs/components/features/PDFZoomControls.module.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbar.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbar.module.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbarItem.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbarSeparator.cjs +1 -0
- package/dist/cjs/components/ui/PDFToolbarSeparator.module.cjs +1 -0
- package/dist/cjs/components/ui/ToolbarButton.cjs +1 -1
- package/dist/cjs/components/ui/ToolbarButton.module.cjs +1 -1
- package/dist/cjs/components/ui/icons.cjs +1 -1
- package/dist/cjs/context/ThemeContext.cjs +1 -1
- package/dist/cjs/hooks/useAnnotationLayer.cjs +1 -1
- package/dist/cjs/hooks/useKeyboardShortcuts.cjs +1 -1
- package/dist/cjs/hooks/useOutline.cjs +1 -1
- package/dist/cjs/hooks/useOverlayRects.cjs +1 -1
- package/dist/cjs/hooks/usePDFLoader.cjs +1 -1
- package/dist/cjs/hooks/useScrollTracking.cjs +1 -1
- package/dist/cjs/hooks/useTextLayer.cjs +1 -1
- package/dist/cjs/hooks/useTextSearch.cjs +1 -1
- package/dist/cjs/hooks/useThumbnails.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/pdf-tsx.css +1 -1
- package/dist/cjs/theme.cjs +1 -1
- package/dist/components/features/PDFSearch.d.ts +1 -1
- package/dist/components/features/PDFSidebarToggle.d.ts +1 -1
- package/dist/components/features/PDFZoomControls.d.ts +1 -1
- package/dist/components/ui/PDFToolbarSeparator.d.ts +1 -0
- package/dist/context/ThemeContext.d.ts +1 -1
- package/dist/es/components/PDFSidebar.js +25 -39
- package/dist/es/components/PDFSidebar.module.js +9 -9
- package/dist/es/components/PDFViewer.js +213 -253
- package/dist/es/components/PDFViewer.module.js +16 -15
- package/dist/es/components/features/PDFAnnotations.js +54 -62
- package/dist/es/components/features/PDFAnnotations.module.js +12 -12
- package/dist/es/components/features/PDFAttachments.js +52 -70
- package/dist/es/components/features/PDFAttachments.module.js +8 -8
- package/dist/es/components/features/PDFChangeFile.js +13 -24
- package/dist/es/components/features/PDFDownloadButton.js +10 -13
- package/dist/es/components/features/PDFNavigation.js +38 -59
- package/dist/es/components/features/PDFNavigation.module.js +3 -3
- package/dist/es/components/features/PDFOutline.js +66 -83
- package/dist/es/components/features/PDFOutline.module.js +5 -5
- package/dist/es/components/features/PDFPageFit.js +18 -23
- package/dist/es/components/features/PDFPrintButton.js +14 -17
- package/dist/es/components/features/PDFRotationControl.js +7 -13
- package/dist/es/components/features/PDFSearch.js +60 -69
- package/dist/es/components/features/PDFSearch.module.js +5 -5
- package/dist/es/components/features/PDFSidebarToggle.js +8 -13
- package/dist/es/components/features/PDFSignatures.js +116 -139
- package/dist/es/components/features/PDFSignatures.module.js +16 -16
- package/dist/es/components/features/PDFThemeToggle.js +10 -11
- package/dist/es/components/features/PDFThumbnails.js +25 -34
- package/dist/es/components/features/PDFThumbnails.module.js +9 -9
- package/dist/es/components/features/PDFZoomControls.js +21 -36
- package/dist/es/components/features/PDFZoomControls.module.js +1 -1
- package/dist/es/components/ui/PDFToolbar.js +53 -83
- package/dist/es/components/ui/PDFToolbar.module.js +9 -9
- package/dist/es/components/ui/PDFToolbarItem.js +10 -19
- package/dist/es/components/ui/PDFToolbarSeparator.js +13 -0
- package/dist/es/components/ui/PDFToolbarSeparator.module.js +3 -0
- package/dist/es/components/ui/ToolbarButton.js +8 -11
- package/dist/es/components/ui/ToolbarButton.module.js +2 -2
- package/dist/es/components/ui/icons.js +5 -16
- package/dist/es/context/ThemeContext.js +28 -38
- package/dist/es/hooks/useAnnotationLayer.js +33 -42
- package/dist/es/hooks/useKeyboardShortcuts.js +25 -34
- package/dist/es/hooks/useOutline.js +18 -23
- package/dist/es/hooks/useOverlayRects.js +42 -51
- package/dist/es/hooks/usePDFLoader.js +17 -16
- package/dist/es/hooks/useScrollTracking.js +24 -25
- package/dist/es/hooks/useTextLayer.js +34 -43
- package/dist/es/hooks/useTextSearch.js +31 -38
- package/dist/es/hooks/useThumbnails.js +33 -44
- package/dist/es/index.js +2 -1
- package/dist/es/pdf-tsx.css +1 -1
- package/dist/es/theme.js +6 -3
- package/dist/hooks/useAttachments.d.ts +1 -1
- package/dist/hooks/useOutline.d.ts +1 -1
- package/dist/hooks/useOverlayRects.d.ts +1 -1
- package/dist/hooks/usePDFLoader.d.ts +1 -0
- package/dist/hooks/usePDFRenderer.d.ts +1 -1
- package/dist/hooks/useSignatures.d.ts +1 -1
- package/dist/hooks/useThumbnails.d.ts +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/theme.d.ts +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -139,6 +139,7 @@ themeOverrides={{ dark: { ...darkTheme, bg: '#0f0f0f' } }}
|
|
|
139
139
|
| `panelHeaderBg` | `--pdf-panel-header-bg` | Sidebar panel header background |
|
|
140
140
|
| `shadowPage` | `--pdf-shadow-page` | Drop shadow color for PDF pages |
|
|
141
141
|
| `badgeBg` | `--pdf-badge-bg` | Count badge background (signatures, annotations, attachments) |
|
|
142
|
+
| `toolbarSeparator` | `--pdf-toolbar-separator` | `PDFToolbarSeparator` line color |
|
|
142
143
|
| `fontFamily` | `--pdf-font-family` | Font family for all viewer UI text |
|
|
143
144
|
|
|
144
145
|
---
|
|
@@ -247,6 +248,7 @@ All feature components must be rendered inside `<PDFViewer>`. They read and writ
|
|
|
247
248
|
|------------------------|-----------------------------------------------------|------------------------------------------------------|
|
|
248
249
|
| `PDFToolbar` | `overflowIcon` | Responsive toolbar — collapses items into `···` dropdown when space runs out |
|
|
249
250
|
| `PDFToolbarItem` | — | Wrapper for custom toolbar items to add a dropdown label |
|
|
251
|
+
| `PDFToolbarSeparator` | — | Vertical divider between toolbar groups — hidden automatically in the overflow dropdown |
|
|
250
252
|
| `PDFThumbnails` | — | Page thumbnail strip for quick navigation |
|
|
251
253
|
| `PDFOutline` | — | Document outline / bookmarks tree |
|
|
252
254
|
| `PDFAnnotations` | — | Display PDF annotations |
|
|
@@ -307,7 +309,7 @@ The badge uses `var(--pdf-accent)` and respects `themeOverrides`.
|
|
|
307
309
|
```tsx
|
|
308
310
|
import { useState, Suspense, lazy } from 'react'
|
|
309
311
|
import {
|
|
310
|
-
PDFSidebar, PDFSidebarToggle, PDFToolbar, PDFToolbarItem,
|
|
312
|
+
PDFSidebar, PDFSidebarToggle, PDFToolbar, PDFToolbarItem, PDFToolbarSeparator,
|
|
311
313
|
PDFThumbnails, PDFOutline, PDFSearch,
|
|
312
314
|
PDFZoomControls, PDFPageFit, PDFRotationControl,
|
|
313
315
|
PDFNavigation, PDFDownloadButton, PDFChangeFile,
|
|
@@ -364,20 +366,24 @@ function App() {
|
|
|
364
366
|
collapseIcon={<FiChevronsLeft size={16} />}
|
|
365
367
|
expandIcon={<FiChevronsRight size={16} />}
|
|
366
368
|
/>
|
|
369
|
+
<PDFToolbarSeparator />
|
|
367
370
|
<PDFSearch
|
|
368
371
|
searchIcon={<FiSearch size={14} />}
|
|
369
372
|
prevIcon={<FiChevronUp size={14} />}
|
|
370
373
|
nextIcon={<FiChevronDown size={14} />}
|
|
371
374
|
clearIcon={<FiX size={14} />}
|
|
372
375
|
/>
|
|
376
|
+
<PDFToolbarSeparator />
|
|
373
377
|
<PDFZoomControls zoomOutIcon={<FiZoomOut size={16} />} zoomInIcon={<FiZoomIn size={16} />} />
|
|
374
378
|
<PDFRotationControl icon={<FiRotateCw size={16} />} />
|
|
375
379
|
<PDFPageFit fitWidthIcon={<FiAlignJustify size={16} />} fitPageIcon={<FiMaximize2 size={16} />} />
|
|
380
|
+
<PDFToolbarSeparator />
|
|
381
|
+
<PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
|
|
382
|
+
<PDFToolbarSeparator />
|
|
376
383
|
<PDFThemeToggle lightIcon={<FiSun size={16} />} darkIcon={<FiMoon size={16} />} />
|
|
377
384
|
<PDFPrintButton icon={<FiPrinter size={16} />} />
|
|
378
385
|
<PDFChangeFile icon={<FiFolderPlus size={16} />} />
|
|
379
386
|
<PDFDownloadButton icon={<FiDownload size={15} />} />
|
|
380
|
-
<PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
|
|
381
387
|
{/* custom button with overflow label */}
|
|
382
388
|
<PDFToolbarItem label="Share">
|
|
383
389
|
<button onClick={() => {}}>Share</button>
|
|
@@ -401,6 +407,8 @@ This means:
|
|
|
401
407
|
- Memory and CPU usage stay flat as the user scrolls through a large document
|
|
402
408
|
- Pages that have already been rendered are kept in the DOM as the user scrolls, avoiding redundant re-renders
|
|
403
409
|
|
|
410
|
+
Render cascades are minimised via manual memoization: the context value is wrapped in `useMemo` so a zoom or page change does not re-render unrelated consumers, and inner sub-components (`AnnotationCard`, `SignatureCard`, `OutlineItem`) are wrapped in `React.memo`.
|
|
411
|
+
|
|
404
412
|
No configuration is needed — this is the default behaviour.
|
|
405
413
|
|
|
406
414
|
---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../context/PDFViewerContext.cjs`),t=require(`./PDFSidebar.module.cjs`);let n=require(`react
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../context/PDFViewerContext.cjs`),t=require(`./PDFSidebar.module.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i({panels:i}){let{sidebarCollapsed:a}=e.usePDFViewer(),[o,s]=(0,n.useState)(null),c=e=>s(t=>t===e?null:e);return a?null:(0,r.jsxs)(`div`,{className:t.default.wrapper,children:[(0,r.jsx)(`div`,{className:t.default.buttonBar,children:i.map((e,n)=>(0,r.jsx)(`button`,{className:`${t.default.panelButton} ${o===n?t.default.panelButtonActive:``}`,onClick:()=>c(n),title:e.label,children:e.icon},n))}),o!==null&&(0,r.jsxs)(`div`,{className:t.default.contentPanel,children:[(0,r.jsx)(`div`,{className:t.default.panelHeader,children:i[o].label}),(0,r.jsx)(`div`,{className:t.default.panelBody,children:i[o].content})]})]})}exports.PDFSidebar=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={wrapper:`
|
|
1
|
+
var e={wrapper:`_wrapper_1kvg0_1`,wrapperCollapsed:`_wrapperCollapsed_1kvg0_7`,buttonBar:`_buttonBar_1kvg0_16`,toggleButton:`_toggleButton_1kvg0_26`,panelButton:`_panelButton_1kvg0_35`,panelButtonActive:`_panelButtonActive_1kvg0_57`,contentPanel:`_contentPanel_1kvg0_66`,panelHeader:`_panelHeader_1kvg0_74`,panelBody:`_panelBody_1kvg0_86`};exports.default=e;
|
|
@@ -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`),
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../context/PDFViewerContext.cjs`),n=require(`../hooks/useScrollTracking.cjs`),r=require(`../hooks/useKeyboardShortcuts.cjs`),i=require(`../hooks/useTextLayer.cjs`),a=require(`../utils/url.cjs`),o=require(`../hooks/useAnnotationLayer.cjs`),s=require(`../hooks/usePDFLoader.cjs`),c=require(`../hooks/usePDFRenderer.cjs`),l=require(`../hooks/useOverlayRects.cjs`),u=require(`../utils/pdfFit.cjs`),d=require(`../context/ThemeContext.cjs`),f=require(`./PDFViewer.module.cjs`);let p=require(`react`);p=e.__toESM(p,1);let m=require(`pdfjs-dist`);m=e.__toESM(m,1);let h=require(`react/jsx-runtime`);var g=2,_=({file:e,workerSrc:_,sidebar:v,toolbar:y,onChangeFile:b,themeOverrides:x,defaultTheme:S,defaultFit:C,className:w,style:T})=>{(0,p.useEffect)(()=>{m.GlobalWorkerOptions.workerSrc=_},[_]);let[E,D]=(0,p.useState)(1),[O,k]=(0,p.useState)(0),[A,j]=(0,p.useState)(null),[M,N]=(0,p.useState)([]),[P,F]=(0,p.useState)(!1),[I,L]=(0,p.useState)(C??null),R=(0,p.useRef)(null),z=(0,p.useRef)([]),B=(0,p.useRef)([]),V=(0,p.useRef)(O);(0,p.useEffect)(()=>{V.current=O},[O]);let[H,U]=(0,p.useState)(null);H!==e&&(U(e),j(null));let{pdf:W,numPages:G,loading:K}=s.usePDFLoader(e);(0,p.useEffect)(()=>{W&&(z.current=Array(W.numPages).fill(null),B.current=Array(W.numPages).fill(null))},[W]),(0,p.useEffect)(()=>{!W||!C||!R.current||u.computeFit(C,W,R.current,V.current).then(D)},[W,C]);let q=(0,p.useRef)(I);(0,p.useEffect)(()=>{q.current=I},[I]),(0,p.useEffect)(()=>{if(!W||!R.current)return;let e=R.current,t=new ResizeObserver(()=>{q.current&&u.computeFit(q.current,W,e,V.current).then(D)});return t.observe(e),()=>t.disconnect()},[W]);let{currentPage:J,goToPage:Y}=n.useScrollTracking({numPages:G,containerRef:R,pageRefs:z}),X=(0,p.useMemo)(()=>{if(G===0)return[];let e=new Set,t=Math.max(J-g,1),n=Math.min(J+g,G);for(let r=t;r<=n;r++)e.add(r);A&&e.add(A.page);for(let t of M)e.add(t.page);return Array.from(e).sort((e,t)=>e-t)},[J,G,A,M]),{pageSizes:ee,renderedPages:Z}=c.usePDFRenderer({pdf:W,zoom:E,rotation:O,visiblePages:X,canvasRefs:B}),Q=(0,p.useMemo)(()=>{let e=new Set(X);for(let t of Z)e.add(t);return Array.from(e).sort((e,t)=>e-t)},[X,Z]);r.useKeyboardShortcuts({pdf:W,currentPage:J,goToPage:Y,setZoom:D,setRotation:k,setFitMode:L});let te=i.useTextLayer({pdf:W,zoom:E,rotation:O,mountedPages:Q,canvasRefs:B}),ne=o.useAnnotationLayer({pdf:W,zoom:E,rotation:O,mountedPages:Q,goToPage:Y}),{overlayRect:$,searchOverlays:re}=l.useOverlayRects({pdf:W,highlight:A,searchMatches:M,zoom:E,rotation:O}),ie=(0,p.useCallback)((e,t)=>{(!e.url||!a.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())},[]),ae=(0,p.useMemo)(()=>({pdf:W,numPages:G,zoom:E,setZoom:D,rotation:O,setRotation:k,currentPage:J,goToPage:Y,containerRef:R,canvasRefs:B,file:e,highlight:A,setHighlight:j,searchMatches:M,setSearchMatches:N,onChangeFile:b,sidebarCollapsed:P,setSidebarCollapsed:F,fitMode:I,setFitMode:L}),[W,G,E,O,J,Y,e,A,M,b,P,I]);return(0,h.jsx)(d.ThemeProvider,{themeOverrides:x,defaultTheme:S,children:(0,h.jsx)(t.PDFViewerContext.Provider,{value:ae,children:(0,h.jsxs)(`div`,{className:`${f.default.appLayout}${w?` ${w}`:``}`,style:T,children:[y&&(0,h.jsx)(`div`,{className:f.default.toolbar,children:y}),(0,h.jsxs)(`div`,{className:f.default.body,children:[v,(0,h.jsxs)(`div`,{className:f.default.scrollContainer,ref:R,children:[K&&(0,h.jsx)(`div`,{className:f.default.documentLoading}),Array.from({length:G},(e,t)=>{let n=Z.has(t+1),r=ee[t],i=Q.includes(t+1);return(0,h.jsxs)(`div`,{className:f.default.pageWrapper,ref:e=>{z.current[t]=e},style:r?{width:r.width,height:r.height}:void 0,children:[r&&!n&&(0,h.jsx)(`div`,{className:f.default.pageSkeleton,style:{width:r.width,height:r.height}}),i&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`canvas`,{className:f.default.pageCanvas,ref:e=>{B.current[t]=e},style:{display:n?`block`:`none`}}),(0,h.jsx)(`div`,{className:`textLayer ${f.default.textLayer}`,ref:e=>{te.current[t]=e}})]}),ne.filter(e=>e.page===t+1).map((e,t)=>(0,h.jsx)(`a`,{className:f.default.linkOverlay,href:e.url&&a.isSafeUrl(e.url)?e.url:`#`,target:`_blank`,rel:`noopener noreferrer`,style:{left:e.x,top:e.y,width:e.width,height:e.height},onClick:t=>ie(e,t)},t)),re.filter(e=>e.page===t+1).map((e,t)=>(0,h.jsx)(`div`,{className:f.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)),A&&$?.page===t+1&&(0,h.jsx)(`div`,{className:f.default.highlightOverlay,style:{left:$.x,top:$.y,width:$.width,height:$.height}})]},`${t}-${O}`)})]})]})]})})})};exports.default=_;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={appLayout:`
|
|
1
|
+
var e={appLayout:`_appLayout_18euq_1`,body:`_body_18euq_9`,toolbar:`_toolbar_18euq_17`,scrollContainer:`_scrollContainer_18euq_29`,pageWrapper:`_pageWrapper_18euq_40`,pageCanvas:`_pageCanvas_18euq_45`,textLayer:`_textLayer_18euq_54`,markedContent:`_markedContent_18euq_80`,endOfContent:`_endOfContent_18euq_95`,selecting:`_selecting_18euq_104`,documentLoading:`_documentLoading_18euq_124`,spin:`_spin_18euq_1`,pageSkeleton:`_pageSkeleton_18euq_144`,highlightOverlay:`_highlightOverlay_18euq_173`,linkOverlay:`_linkOverlay_18euq_182`,searchMatchOverlay:`_searchMatchOverlay_18euq_189`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../utils/pdfFit.cjs`),n=require(`../../hooks/useAnnotations.cjs`),r=require(`./PDFAnnotations.module.cjs`);let i=require(`react
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../utils/pdfFit.cjs`),n=require(`../../hooks/useAnnotations.cjs`),r=require(`./PDFAnnotations.module.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`);var o={Text:`Nota`,Highlight:`Evidenziazione`,Underline:`Sottolineatura`,StrikeOut:`Barrato`,FreeText:`Testo libero`,Ink:`Disegno`,Square:`Rettangolo`,Circle:`Cerchio`,Line:`Linea`,Stamp:`Timbro`,FileAttachment:`Allegato`},s=(0,i.memo)(function({ann:e,onNavigate:t}){let n=o[e.subtype]??e.subtype,s=(0,i.useCallback)(()=>t(e),[t,e]);return(0,a.jsxs)(`div`,{className:`${r.default.card} ${e.rect?r.default.cardClickable:``}`,onClick:s,children:[(0,a.jsxs)(`div`,{className:r.default.cardHeader,children:[(0,a.jsx)(`span`,{className:r.default.cardLabel,children:n}),(0,a.jsxs)(`span`,{className:r.default.cardPage,children:[`p.`,e.page]})]}),e.title&&(0,a.jsx)(`div`,{className:r.default.cardAuthor,children:e.title}),e.contents&&(0,a.jsx)(`div`,{className:r.default.cardContent,children:e.contents})]})});function c({icon:t}){let{pdf:i}=e.usePDFViewer(),{annotations:o,loading:s}=n.useAnnotations({pdf:i}),c=o.length;return(0,a.jsxs)(`span`,{className:r.default.iconWrapper,children:[t,!s&&c>0&&(0,a.jsx)(`span`,{className:r.default.badge,children:c>99?`99+`:c})]})}function l(){let{pdf:o,goToPage:c,setHighlight:l,setZoom:u,rotation:d,containerRef:f}=e.usePDFViewer(),{annotations:p,loading:m}=n.useAnnotations({pdf:o}),h=(0,i.useCallback)(async e=>{o&&f.current&&u(await t.computeFit(`page`,o,f.current,d)),c(e.page),e.rect&&l({page:e.page,pdfRect:e.rect})},[o,f,d,c,u,l]),g=(0,i.useMemo)(()=>p.reduce((e,t)=>((e[t.page]??=[]).push(t),e),{}),[p]);return(0,a.jsxs)(`div`,{className:r.default.list,children:[m&&(0,a.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),!m&&p.length===0&&(0,a.jsx)(`div`,{className:r.default.emptyState,children:`Nessuna annotazione rilevata.`}),!m&&Object.entries(g).map(([e,t])=>(0,a.jsxs)(`div`,{children:[(0,a.jsxs)(`div`,{className:r.default.pageHeader,children:[`Pagina `,e]}),t.map(e=>(0,a.jsx)(s,{ann:e,onNavigate:h},e.id))]},e))]})}exports.PDFAnnotations=l,exports.PDFAnnotationsIcon=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={list:`
|
|
1
|
+
var e={list:`_list_113xr_1`,emptyState:`_emptyState_113xr_6`,pageHeader:`_pageHeader_113xr_12`,card:`_card_113xr_23`,cardClickable:`_cardClickable_113xr_33`,cardHeader:`_cardHeader_113xr_41`,cardLabel:`_cardLabel_113xr_48`,cardPage:`_cardPage_113xr_54`,cardAuthor:`_cardAuthor_113xr_59`,cardContent:`_cardContent_113xr_65`,iconWrapper:`_iconWrapper_113xr_71`,badge:`_badge_113xr_78`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../hooks/useAttachments.cjs`),n=require(`./PDFAttachments.module.cjs`);let r=require(`react/
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../hooks/useAttachments.cjs`),n=require(`./PDFAttachments.module.cjs`);let r=require(`react/jsx-runtime`);function i(){return(0,r.jsxs)(`svg`,{width:`13`,height:`13`,viewBox:`0 0 13 13`,fill:`none`,"aria-hidden":!0,children:[(0,r.jsx)(`path`,{d:`M6.5 1.5v7M3.5 6l3 3 3-3`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,r.jsx)(`path`,{d:`M1.5 10.5h10`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]})}function a(){return(0,r.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,"aria-hidden":!0,children:[(0,r.jsx)(`path`,{d:`M3 1.5h5.5L11 4v8.5H3V1.5z`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinejoin:`round`}),(0,r.jsx)(`path`,{d:`M8.5 1.5V4H11`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinejoin:`round`})]})}function o(e){let t=new Blob([new Uint8Array(e.content)]),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e.filename,r.click(),URL.revokeObjectURL(n)}function s({icon:i}){let{pdf:a}=e.usePDFViewer(),{attachments:o,loading:s}=t.useAttachments({pdf:a}),c=o.length;return(0,r.jsxs)(`span`,{className:n.default.iconWrapper,children:[i,!s&&c>0&&(0,r.jsx)(`span`,{className:n.default.badge,children:c>99?`99+`:c})]})}function c(){let{pdf:s}=e.usePDFViewer(),{attachments:c,loading:l}=t.useAttachments({pdf:s});return(0,r.jsxs)(`div`,{className:n.default.list,children:[l&&(0,r.jsx)(`div`,{className:n.default.emptyState,children:`Caricamento...`}),!l&&c.length===0&&(0,r.jsx)(`div`,{className:n.default.emptyState,children:`Nessun allegato rilevato.`}),!l&&c.map((e,t)=>(0,r.jsxs)(`div`,{className:n.default.card,children:[(0,r.jsx)(`span`,{className:n.default.fileIcon,children:(0,r.jsx)(a,{})}),(0,r.jsx)(`span`,{className:n.default.filename,title:e.filename,children:e.filename}),(0,r.jsx)(`button`,{type:`button`,className:n.default.downloadBtn,title:`Scarica ${e.filename}`,onClick:()=>o(e),children:(0,r.jsx)(i,{})})]},t))]})}exports.PDFAttachments=c,exports.PDFAttachmentsIcon=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={list:`
|
|
1
|
+
var e={list:`_list_12ybz_1`,emptyState:`_emptyState_12ybz_8`,card:`_card_12ybz_15`,fileIcon:`_fileIcon_12ybz_33`,filename:`_filename_12ybz_40`,downloadBtn:`_downloadBtn_12ybz_51`,iconWrapper:`_iconWrapper_12ybz_77`,badge:`_badge_12ybz_84`};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
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({icon:e}){let{onChangeFile:a}=t.usePDFViewer(),o=(0,r.useRef)(null),s=(0,r.useCallback)(e=>{let t=e.target.files?.[0];t&&a?.(t),e.target.value=``},[a]),c=(0,r.useCallback)(()=>o.current?.click(),[]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`input`,{ref:o,type:`file`,accept:`.pdf`,style:{display:`none`},onChange:s}),(0,i.jsx)(n.ToolbarButton,{onClick:c,title:`Apri altro file`,children:e})]})}a.toolbarLabel=`Apri file`,exports.PDFChangeFile=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({icon:e}){let{file:a}=t.usePDFViewer();return(0,i.jsxs)(n.ToolbarButton,{$primary:!0,onClick:(0,r.useCallback)(()=>{let e=URL.createObjectURL(a),t=document.createElement(`a`);t.href=e,t.download=a.name||`documento.pdf`,t.click(),setTimeout(()=>URL.revokeObjectURL(e),0)},[a]),title:`Scarica PDF`,children:[e,`Scarica`]})}a.toolbarLabel=`Scarica`,exports.PDFDownloadButton=a;
|
|
@@ -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
|
|
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`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o({prevIcon:e,nextIcon:o}){let{currentPage:s,numPages:c,goToPage:l}=t.usePDFViewer(),[u,d]=(0,i.useState)(!1),[f,p]=(0,i.useState)(``),m=(0,i.useCallback)(()=>{let e=parseInt(f,10);isNaN(e)||l(e),d(!1)},[f,l]),h=(0,i.useCallback)(()=>{d(!0),p(String(s))},[s]),g=(0,i.useCallback)(e=>p(e.target.value),[]),_=(0,i.useCallback)(e=>{e.key===`Enter`&&m(),e.key===`Escape`&&d(!1)},[m]),v=(0,i.useCallback)(()=>l(s-1),[l,s]),y=(0,i.useCallback)(()=>l(s+1),[l,s]);return(0,a.jsxs)(`div`,{className:r.default.navWrapper,children:[(0,a.jsx)(n.ToolbarButton,{onClick:v,disabled:s===1,title:`Pagina precedente (←)`,children:e}),(0,a.jsx)(`input`,{className:r.default.pageInput,type:`number`,value:u?f:s,onFocus:h,onBlur:m,onChange:g,onKeyDown:_,title:`Vai alla pagina`}),(0,a.jsxs)(`span`,{className:r.default.pageTotal,children:[`/ `,c]}),(0,a.jsx)(n.ToolbarButton,{onClick:y,disabled:s===c,title:`Pagina successiva (→)`,children:o})]})}o.toolbarLabel=`Pagina`,exports.PDFNavigation=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={navWrapper:`
|
|
1
|
+
var e={navWrapper:`_navWrapper_14eo9_1`,pageInput:`_pageInput_14eo9_7`,pageTotal:`_pageTotal_14eo9_34`};exports.default=e;
|
|
@@ -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
|
|
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`),a=require(`react/jsx-runtime`);async function o(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}}var s=(0,i.memo)(function e({node:t,depth:o,onNavigate:s}){let[c,l]=(0,i.useState)(o===0),u=t.items.length>0,d=(0,i.useCallback)(e=>{e.stopPropagation(),l(e=>!e)},[]),f=(0,i.useCallback)(()=>s(t.dest),[s,t.dest]),p=(0,i.useMemo)(()=>({paddingLeft:12+o*14,fontWeight:t.bold?600:400,fontStyle:t.italic?`italic`:`normal`}),[o,t.bold,t.italic]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(`div`,{className:r.default.row,style:p,onClick:f,children:[u?(0,a.jsx)(`button`,{className:r.default.chevronBtn,onClick:d,children:c?(0,a.jsx)(n.IconChevronDown,{size:12}):(0,a.jsx)(n.IconChevronRight,{size:12})}):(0,a.jsx)(`span`,{style:{width:16,flexShrink:0}}),(0,a.jsx)(`span`,{className:r.default.title,title:t.title,children:t.title})]}),c&&t.items.map((t,n)=>(0,a.jsx)(e,{node:t,depth:o+1,onNavigate:s},n))]})});function c(){let{pdf:n,zoom:c,rotation:l,goToPage:u}=e.usePDFViewer(),{outline:d,loading:f}=t.useOutline({pdf:n}),p=(0,i.useCallback)(async e=>{let t=await o(n,e);if(t){if(t.pdfTop!==null)try{let[,e]=(await n.getPage(t.page)).getViewport({scale:c,rotation:l}).convertToViewportPoint(0,t.pdfTop);u(t.page,e);return}catch{}u(t.page)}},[n,c,l,u]);return(0,a.jsxs)(`div`,{className:r.default.tree,children:[f&&(0,a.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),!f&&d.length===0&&(0,a.jsx)(`div`,{className:r.default.emptyState,children:`Nessun segnalibro disponibile.`}),!f&&d.map((e,t)=>(0,a.jsx)(s,{node:e,depth:0,onNavigate:p},t))]})}exports.PDFOutline=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={emptyState:`
|
|
1
|
+
var e={emptyState:`_emptyState_hqvdn_1`,tree:`_tree_hqvdn_7`,row:`_row_hqvdn_13`,chevronBtn:`_chevronBtn_hqvdn_31`,title:`_title_hqvdn_46`};exports.default=e;
|
|
@@ -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
|
|
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`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o({fitWidthIcon:e,fitPageIcon:o}){let{pdf:s,rotation:c,setZoom:l,setFitMode:u,containerRef:d}=t.usePDFViewer(),f=(0,i.useCallback)(async e=>{!s||!d.current||(u(e),l(await n.computeFit(e,s,d.current,c)))},[s,c,l,u,d]),p=(0,i.useCallback)(()=>f(`width`),[f]),m=(0,i.useCallback)(()=>f(`page`),[f]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.ToolbarButton,{onClick:p,title:`Adatta alla larghezza`,children:e}),(0,a.jsx)(r.ToolbarButton,{onClick:m,title:`Adatta pagina intera`,children:o})]})}o.toolbarLabel=`Adatta`,exports.PDFPageFit=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
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({icon:e}){let{file:a}=t.usePDFViewer();return(0,i.jsx)(n.ToolbarButton,{onClick:(0,r.useCallback)(()=>{let e=URL.createObjectURL(a),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()}},[a]),title:`Stampa PDF`,children:e})}a.toolbarLabel=`Stampa`,exports.PDFPrintButton=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../context/PDFViewerContext.cjs`),n=require(`../ui/ToolbarButton.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({icon:e}){let{setRotation:a}=t.usePDFViewer();return(0,i.jsx)(n.ToolbarButton,{onClick:(0,r.useCallback)(()=>a(e=>(e+90)%360),[a]),title:`Ruota documento`,children:e})}a.toolbarLabel=`Ruota`,exports.PDFRotationControl=a;
|
|
@@ -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
|
|
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`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=[];function s({searchIcon:e,prevIcon:s,nextIcon:c,clearIcon:l}){let{pdf:u,goToPage:d,setHighlight:f,setSearchMatches:p}=t.usePDFViewer(),[m,h]=(0,i.useState)(``),[g,_]=(0,i.useState)(0),{matches:v,searching:y}=n.useTextSearch({pdf:u,query:m}),b=v.length;(0,i.useEffect)(()=>(p(v),()=>p(o)),[v,p]);let x=(0,i.useCallback)(e=>{let t=(e+b)%b;_(t);let n=v[t];d(n.page),f({page:n.page,pdfRect:n.pdfRect})},[b,v,d,f]),S=(0,i.useCallback)(e=>{h(e.target.value),_(0),f(null)},[f]),C=(0,i.useCallback)(()=>{h(``),_(0),f(null)},[f]);return(0,a.jsxs)(`div`,{className:r.default.wrapper,children:[(0,a.jsx)(`span`,{className:r.default.searchIconWrapper,children:e}),(0,a.jsx)(`input`,{className:r.default.searchInput,value:m,onChange:S,placeholder:`Cerca nel documento...`}),m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(`span`,{className:r.default.counter,children:y?`…`:b===0?`0`:`${g+1}/${b}`}),(0,a.jsx)(`button`,{className:r.default.navButton,onClick:()=>x(g-1),disabled:b===0,children:s}),(0,a.jsx)(`button`,{className:r.default.navButton,onClick:()=>x(g+1),disabled:b===0,children:c}),(0,a.jsx)(`button`,{className:r.default.navButton,onClick:C,children:l})]})]})}s.toolbarLabel=`Cerca`,exports.PDFSearch=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={wrapper:`
|
|
1
|
+
var e={wrapper:`_wrapper_18kvs_1`,searchIconWrapper:`_searchIconWrapper_18kvs_7`,searchInput:`_searchInput_18kvs_13`,navButton:`_navButton_18kvs_33`,counter:`_counter_18kvs_54`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../ui/ToolbarButton.module.cjs`);let n=require(`react
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../ui/ToolbarButton.module.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i({collapseIcon:i,expandIcon:a}){let{sidebarCollapsed:o,setSidebarCollapsed:s}=e.usePDFViewer(),c=o?a??i:i,l=o?`Espandi sidebar`:`Comprimi sidebar`,u=(0,n.useCallback)(()=>s(e=>!e),[s]);return(0,r.jsx)(`button`,{className:t.default.btn,onClick:u,title:l,children:c})}i.toolbarLabel=`Sidebar`,exports.PDFSidebarToggle=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../utils/pdfFit.cjs`),n=require(`../../hooks/useSignatures.cjs`),r=require(`./PDFSignatures.module.cjs`);let i=require(`react
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../utils/pdfFit.cjs`),n=require(`../../hooks/useSignatures.cjs`),r=require(`./PDFSignatures.module.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`);function o(e){if(!e)return;let t=e.match(/D:(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?(\d{2})?/);if(!t)return e;let[,n,r,i,a=`00`,o=`00`]=t;return`${i}/${r}/${n} ${a}:${o}`}function s(){return(0,a.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":!0,children:(0,a.jsx)(`path`,{d:`M1.5 5L3.8 7.5L8.5 2.5`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function c(){return(0,a.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":!0,children:(0,a.jsx)(`circle`,{cx:`5`,cy:`5`,r:`3.7`,stroke:`currentColor`,strokeWidth:`1.3`,strokeDasharray:`2.2 1.4`})})}var l=(0,i.memo)(function({sig:e,onNavigate:t}){let n=!!e.rect,l=`${r.default.card} ${e.signed?r.default.cardSigned:``} ${n?r.default.cardClickable:``}`,u=(0,i.useCallback)(()=>t(e),[t,e]),d=(0,a.jsxs)(`div`,{className:r.default.cardBody,children:[(0,a.jsxs)(`div`,{className:r.default.cardHeader,children:[(0,a.jsx)(`span`,{className:r.default.fieldName,children:e.fieldName}),(0,a.jsxs)(`span`,{className:`${r.default.statusChip} ${e.signed?r.default.statusChipSigned:``}`,children:[e.signed?(0,a.jsx)(s,{}):(0,a.jsx)(c,{}),e.signed?`Firmato`:`Non firmato`]})]}),(e.signerName||e.signDate||e.reason||e.location)&&(0,a.jsxs)(`div`,{className:r.default.fieldList,children:[e.signerName&&(0,a.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,a.jsx)(`span`,{className:r.default.fieldLabel,children:`Firmatario`}),(0,a.jsx)(`span`,{className:r.default.fieldValue,children:e.signerName})]}),e.signDate&&(0,a.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,a.jsx)(`span`,{className:r.default.fieldLabel,children:`Data`}),(0,a.jsx)(`span`,{className:r.default.fieldValue,children:o(e.signDate)})]}),e.reason&&(0,a.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,a.jsx)(`span`,{className:r.default.fieldLabel,children:`Motivo`}),(0,a.jsx)(`span`,{className:r.default.fieldValue,children:e.reason})]}),e.location&&(0,a.jsxs)(`div`,{className:r.default.fieldRow,children:[(0,a.jsx)(`span`,{className:r.default.fieldLabel,children:`Luogo`}),(0,a.jsx)(`span`,{className:r.default.fieldValue,children:e.location})]})]})]});return n?(0,a.jsx)(`button`,{type:`button`,className:l,onClick:u,children:d}):(0,a.jsx)(`div`,{className:l,children:d})});function u({icon:t}){let{pdf:i}=e.usePDFViewer(),{signatures:o,loading:s}=n.useSignatures({pdf:i}),c=o.length;return(0,a.jsxs)(`span`,{className:r.default.iconWrapper,children:[t,!s&&c>0&&(0,a.jsx)(`span`,{className:r.default.badge,children:c>99?`99+`:c})]})}function d(){let{pdf:o,goToPage:s,setHighlight:c,setZoom:u,rotation:d,containerRef:f}=e.usePDFViewer(),{signatures:p,loading:m}=n.useSignatures({pdf:o}),h=(0,i.useCallback)(async e=>{o&&f.current&&u(await t.computeFit(`page`,o,f.current,d)),s(e.page),e.rect&&c({page:e.page,pdfRect:e.rect})},[o,f,d,s,u,c]);return(0,a.jsxs)(`div`,{className:r.default.list,children:[m&&(0,a.jsx)(`div`,{className:r.default.emptyState,children:`Caricamento...`}),!m&&p.length===0&&(0,a.jsx)(`div`,{className:r.default.emptyState,children:`Nessuna firma rilevata.`}),!m&&p.map((e,t)=>(0,a.jsx)(l,{sig:e,onNavigate:h},t))]})}exports.PDFSignatures=d,exports.PDFSignaturesIcon=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={list:`
|
|
1
|
+
var e={list:`_list_b0wj1_1`,emptyState:`_emptyState_b0wj1_8`,card:`_card_b0wj1_15`,cardSigned:`_cardSigned_b0wj1_32`,cardClickable:`_cardClickable_b0wj1_37`,cardBody:`_cardBody_b0wj1_50`,cardHeader:`_cardHeader_b0wj1_54`,fieldName:`_fieldName_b0wj1_62`,statusChip:`_statusChip_b0wj1_73`,statusChipSigned:`_statusChipSigned_b0wj1_89`,fieldList:`_fieldList_b0wj1_95`,fieldRow:`_fieldRow_b0wj1_101`,fieldLabel:`_fieldLabel_b0wj1_109`,fieldValue:`_fieldValue_b0wj1_114`,iconWrapper:`_iconWrapper_b0wj1_119`,badge:`_badge_b0wj1_126`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../ui/ToolbarButton.cjs`),n=require(`../../hooks/useTheme.cjs`);let r=require(`react
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../ui/ToolbarButton.cjs`),n=require(`../../hooks/useTheme.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({lightIcon:e,darkIcon:r}){let{isDark:a,toggleTheme:o}=n.useTheme();return(0,i.jsx)(t.ToolbarButton,{onClick:o,title:a?`Switch to light mode`:`Switch to dark mode`,children:a?e:r})}a.toolbarLabel=`Tema`,exports.PDFThemeToggle=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../hooks/useThumbnails.cjs`),n=require(`./PDFThumbnails.module.cjs`);let r=require(`react
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../context/PDFViewerContext.cjs`),t=require(`../../hooks/useThumbnails.cjs`),n=require(`./PDFThumbnails.module.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=3;function o(e,t,n){let r=new Set(t);for(let t of e){if(!t.isIntersecting)continue;let e=Number(t.target.dataset.page);for(let t=Math.max(1,e-a);t<=Math.min(n,e+a);t++)r.add(t)}let i=Array.from(r).sort((e,t)=>e-t);return i.join(`,`)===t.join(`,`)?t:i}function s(){let{pdf:a,rotation:s,currentPage:c,goToPage:l,numPages:u}=e.usePDFViewer(),d=(0,r.useRef)([]),[f,p]=(0,r.useState)([]),{thumbnails:m}=t.useThumbnails({pdf:a,rotation:s,visiblePages:f});return(0,r.useEffect)(()=>{if(u===0)return;let e=new IntersectionObserver(e=>p(t=>o(e,t,u)),{threshold:0});return d.current.forEach(t=>{t&&e.observe(t)}),()=>e.disconnect()},[u]),(0,i.jsx)(`div`,{className:n.default.thumbnailList,children:Array.from({length:u},(e,t)=>{let r=t+1,a=m[t],o=c===r;return(0,i.jsxs)(`div`,{className:`${n.default.thumbnailItem} ${o?n.default.thumbnailItemActive:``}`,onClick:()=>l(r),ref:e=>{d.current[t]=e},"data-page":r,children:[a?(0,i.jsx)(`img`,{src:a,className:`${n.default.thumbnailImg} ${o?n.default.thumbnailImgActive:``}`,alt:`Anteprima pagina ${r}`}):(0,i.jsx)(`div`,{className:n.default.thumbnailSkeleton}),(0,i.jsx)(`div`,{className:`${n.default.thumbnailLabel} ${o?n.default.thumbnailLabelActive:``}`,children:r})]},t)})})}exports.PDFThumbnails=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={thumbnailList:`
|
|
1
|
+
var e={thumbnailList:`_thumbnailList_t3mg8_1`,thumbnailItem:`_thumbnailItem_t3mg8_6`,thumbnailItemActive:`_thumbnailItemActive_t3mg8_19`,thumbnailImg:`_thumbnailImg_t3mg8_28`,thumbnailImgActive:`_thumbnailImgActive_t3mg8_34`,thumbnailSkeleton:`_thumbnailSkeleton_t3mg8_40`,shimmer:`_shimmer_t3mg8_1`,thumbnailLabel:`_thumbnailLabel_t3mg8_63`,thumbnailLabelActive:`_thumbnailLabelActive_t3mg8_70`};exports.default=e;
|
|
@@ -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
|
|
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`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o({zoomOutIcon:e,zoomInIcon:o}){let{zoom:s,setZoom:c,setFitMode:l}=t.usePDFViewer(),u=(0,i.useCallback)(e=>{l(null),c(t=>Math.min(Math.max(t+e,.2),3))},[l,c]),d=(0,i.useCallback)(()=>u(-.2),[u]),f=(0,i.useCallback)(()=>u(.2),[u]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.ToolbarButton,{onClick:d,title:`Riduci zoom`,children:e}),(0,a.jsxs)(`span`,{className:r.default.zoomLabel,children:[Math.round(s*100),`%`]}),(0,a.jsx)(n.ToolbarButton,{onClick:f,title:`Aumenta zoom`,children:o})]})}o.toolbarLabel=`Zoom`,exports.PDFZoomControls=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={zoomLabel:`
|
|
1
|
+
var e={zoomLabel:`_zoomLabel_m8iv9_1`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./ToolbarButton.cjs`),n=require(`./PDFToolbar.module.cjs`),r=require(`./PDFToolbarDropdownContext.cjs`);let i=require(`react
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./ToolbarButton.cjs`),n=require(`./PDFToolbar.module.cjs`),r=require(`./PDFToolbarDropdownContext.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=40;function s({children:e,overflowIcon:s=`···`}){let c=(0,i.useRef)(null),l=(0,i.useRef)([]),u=(0,i.useRef)([]),[d,f]=(0,i.useState)(null),[p,m]=(0,i.useState)(!1),h=(0,i.useRef)(null),g=i.default.Children.toArray(e),_=(0,i.useCallback)(()=>{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){f(null);return}let r=0,i=0;for(let e=0;e<t.length&&r+t[e]+o<=n;e++)r+=t[e],i++;f(i)},[]);(0,i.useLayoutEffect)(()=>{u.current=l.current.slice(0,g.length).map(e=>e?.offsetWidth??0),_()},[]),(0,i.useEffect)(()=>{let e=c.current;if(!e)return;let t=new ResizeObserver(()=>_());return t.observe(e),()=>t.disconnect()},[_]),(0,i.useEffect)(()=>{if(!p)return;let e=e=>{h.current?.contains(e.target)||m(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[p]);let v=d!==null&&d<g.length,y=v?g.slice(d):[];return(0,a.jsxs)(`div`,{ref:c,className:n.default.toolbar,children:[g.map((e,t)=>(0,a.jsx)(`div`,{ref:e=>{l.current[t]=e},className:n.default.item,style:d!==null&&t>=d?{display:`none`}:void 0,children:e},t)),v&&(0,a.jsxs)(`div`,{ref:h,className:n.default.overflowWrapper,children:[(0,a.jsx)(t.ToolbarButton,{onClick:()=>m(e=>!e),"aria-label":`Altre opzioni`,"aria-expanded":p,"aria-haspopup":`true`,title:`Altre opzioni`,className:p?n.default.overflowBtnActive:void 0,children:s}),p&&(0,a.jsx)(`div`,{className:n.default.dropdown,role:`menu`,children:y.map((e,t)=>{let o=i.default.isValidElement(e)?e.type.toolbarLabel:void 0;return(0,a.jsx)(`div`,{className:n.default.dropdownItem,role:`menuitem`,children:o?(0,a.jsxs)(`div`,{className:n.default.labeledItem,children:[(0,a.jsx)(`span`,{className:n.default.itemLabel,children:o}),(0,a.jsx)(`div`,{className:n.default.itemContent,children:e})]}):(0,a.jsx)(r.PDFToolbarDropdownContext.Provider,{value:!0,children:e})},t)})})]})]})}exports.PDFToolbar=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={toolbar:`
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./PDFToolbar.module.cjs`),n=require(`./PDFToolbarDropdownContext.cjs`);let r=require(`react
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./PDFToolbar.module.cjs`),n=require(`./PDFToolbarDropdownContext.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({children:e,label:a}){return!(0,r.useContext)(n.PDFToolbarDropdownContext)||!a?(0,i.jsx)(i.Fragment,{children:e}):(0,i.jsxs)(`div`,{className:t.default.labeledItem,children:[(0,i.jsx)(`span`,{className:t.default.itemLabel,children:a}),e]})}exports.PDFToolbarItem=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`./PDFToolbarDropdownContext.cjs`),t=require(`./PDFToolbarSeparator.module.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i(){return(0,n.useContext)(e.PDFToolbarDropdownContext)?null:(0,r.jsx)(`div`,{className:t.default.separator,"aria-hidden":`true`})}exports.PDFToolbarSeparator=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={separator:`_separator_uif34_1`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ToolbarButton.module.cjs`);let t=require(`react/
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ToolbarButton.module.cjs`);let t=require(`react/jsx-runtime`);function n({$primary:n,className:r,...i}){let a=n?`${e.default.btn} ${e.default.primary}`:e.default.btn;return(0,t.jsx)(`button`,{className:r?`${a} ${r}`:a,...i})}exports.ToolbarButton=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={btn:`
|
|
1
|
+
var e={btn:`_btn_1dub8_1`,primary:`_primary_1dub8_31`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`);let t=require(`react`);t=e.__toESM(t,1);let n=require(`react/jsx-runtime`);var r=(e,t=16)=>(0,n.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:e}),i=({size:e})=>r((0,n.jsx)(`polyline`,{points:`9 18 15 12 9 6`}),e),a=({size:e})=>r((0,n.jsx)(`polyline`,{points:`6 9 12 15 18 9`}),e);exports.IconChevronDown=a,exports.IconChevronRight=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../theme.cjs`),t=require(`./themeContextValue.cjs`);let n=require(`react
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../theme.cjs`),t=require(`./themeContextValue.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i({children:i,themeOverrides:a,defaultTheme:o=`light`}){let[s,c]=(0,n.useState)(o===`dark`),l=(0,n.useMemo)(()=>s?{...e.darkTheme,...a?.dark}:{...e.lightTheme,...a?.light},[s,a]),u=(0,n.useMemo)(()=>e.themeToCssVars(l),[l]),d=(0,n.useCallback)(()=>c(e=>!e),[]),f=(0,n.useMemo)(()=>({isDark:s,toggleTheme:d,theme:l}),[s,d,l]);return(0,r.jsx)(t.ThemeContext.Provider,{value:f,children:(0,r.jsx)(`div`,{style:{...u,fontFamily:`var(--pdf-font-family)`,height:`100%`,width:`100%`},children:i})})}exports.ThemeProvider=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../utils/url.cjs`);let n=require(`react
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../utils/url.cjs`);let n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);function i({pdf:e,zoom:r,rotation:i,mountedPages:a,goToPage:o}){let[s,c]=(0,n.useState)([]);(0,n.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{let n=[];for(let o of a){if(t)break;let a=await e.getPage(o),s=a.getViewport({scale:r,rotation:i}),c=await a.getAnnotations();for(let e of c){if(e.subtype!==`Link`||!e.rect)continue;let t=e.rect,[r,i,a,c]=s.convertToViewportRectangle(t);n.push({page:o,x:Math.min(r,a),y:Math.min(i,c),width:Math.abs(a-r),height:Math.abs(c-i),url:e.url,dest:e.dest,newWindow:e.newWindow})}}t||c(n)})(),()=>{t=!0}},[e,r,i,a]);let l=async n=>{if(n.url){if(!t.isSafeUrl(n.url))return;window.open(n.url,`_blank`,`noopener,noreferrer`);return}if(n.dest&&e){let t=null;if(typeof n.dest==`string`?t=await e.getDestination(n.dest):Array.isArray(n.dest)&&(t=n.dest),!t)return;o(await e.getPageIndex(t[0])+1)}};return s.map(e=>({...e,_handleClick:l.bind(null,e)}))}exports.useAnnotationLayer=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
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,currentPage:n,goToPage:r,setZoom:i,setRotation:a,setFitMode:o}){(0,t.useEffect)(()=>{if(!e)return;let t=e=>{let t=e.target.tagName;if(!(t===`INPUT`||t===`TEXTAREA`))switch(e.key){case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),r(n-1);break;case`ArrowRight`:case`ArrowDown`:e.preventDefault(),r(n+1);break;case`+`:case`=`:e.preventDefault(),o(null),i(e=>Math.min(e+.2,3));break;case`-`:e.preventDefault(),o(null),i(e=>Math.max(e-.2,.2));break;case`r`:case`R`:e.preventDefault(),a(e=>(e+90)%360);break}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,n,r,i,a,o])}exports.useKeyboardShortcuts=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);function r({pdf:e}){let[n,r]=(0,t.useState)({pdf:null,outline:[]});(0,t.useEffect)(()=>{if(!e)return;let t=!1;return e.getOutline().then(n=>{t||r({pdf:e,outline:n??[]})}).catch(()=>{t||r({pdf:e,outline:[]})}),()=>{t=!0}},[e]);let i=e!==null&&n.pdf!==e;return{outline:i?[]:n.outline,loading:i}}exports.useOutline=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
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,highlight:n,searchMatches:r,zoom:i,rotation:a}){let[o,s]=(0,t.useState)(null),[c,l]=(0,t.useState)([]);return(0,t.useEffect)(()=>{if(!e||r.length===0)return;let t=!1;return(async()=>{let n=[];for(let o of r){if(t)break;let[r,s,c,l]=(await e.getPage(o.page)).getViewport({scale:i,rotation:a}).convertToViewportRectangle(o.pdfRect);n.push({page:o.page,x:Math.min(r,c),y:Math.min(s,l),width:Math.abs(c-r),height:Math.abs(l-s)})}t||l(n)})(),()=>{t=!0}},[r,i,a,e]),(0,t.useEffect)(()=>{if(!n||!e)return;let t=!1;return(async()=>{let[r,o,c,l]=(await e.getPage(n.page)).getViewport({scale:i,rotation:a}).convertToViewportRectangle(n.pdfRect);t||s({page:n.page,x:Math.min(r,c),y:Math.min(o,l),width:Math.abs(c-r),height:Math.abs(l-o)})})(),()=>{t=!0}},[n,i,a,e]),{overlayRect:!n||!e?null:o,searchOverlays:!e||r.length===0?[]:c}}exports.useOverlayRects=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);function r(e){let[r,i]=(0,t.useState)(null),[a,o]=(0,t.useState)(0),[s,c]=(0,t.useState)(!0);return(0,t.useEffect)(()=>{c(!0),i(null),o(0);let t=new FileReader;t.onload=async e=>{let t=new Uint8Array(e.target?.result);try{let e=await n.getDocument(t).promise;i(e),o(e.numPages)}catch(e){console.error(`Errore caricamento:`,e)}finally{c(!1)}},t.readAsArrayBuffer(e)},[e]),{pdf:r,numPages:a,loading:s}}exports.usePDFLoader=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`react
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`react`);var t=10;function n({numPages:n,containerRef:r,pageRefs:i}){let[a,o]=(0,e.useState)(1);return(0,e.useEffect)(()=>{let e=r.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().top,n=i.current;for(let e=0;e<n.length;e++){let r=n[e];r&&r.getBoundingClientRect().top-t<=150&&o(e+1)}};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[r,i]),{currentPage:a,goToPage:(0,e.useCallback)((e,a)=>{let s=Math.min(Math.max(e,1),n),c=i.current[s-1],l=r.current;if(c&&l){let e=c.getBoundingClientRect().top,n=l.getBoundingClientRect().top,r=l.scrollTop+(e-n)-t,i=a===void 0?r:r+a;l.scrollTo({top:i,behavior:`smooth`}),o(s)}},[n,r,i])}}exports.useScrollTracking=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
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:r,rotation:i,mountedPages:a,canvasRefs:o}){let s=(0,t.useRef)([]),c=(0,t.useRef)(new Set);return(0,t.useEffect)(()=>{c.current=new Set;for(let e of s.current)e?.replaceChildren()},[e,r,i]),(0,t.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{for(let l of a){if(t)break;if(c.current.has(l))continue;let a=s.current[l-1],u=o.current[l-1];if(!a||!u)continue;a.replaceChildren();let d=await e.getPage(l),f=d.getViewport({scale:r,rotation:i}),p=await d.getTextContent();if(t)break;a.style.width=`${f.width}px`,a.style.height=`${f.height}px`,await new n.TextLayer({textContentSource:p,container:a,viewport:f}).render(),t||c.current.add(l)}})(),()=>{t=!0}},[e,r,i,a,o]),s}exports.useTextLayer=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);var r=[];function i({pdf:e,query:n}){let[i,a]=(0,t.useState)({query:``,matches:[]});(0,t.useEffect)(()=>{let t=n.trim().toLowerCase();if(!e||!t)return;let r=!1;return(async()=>{let i=[];for(let n=1;n<=e.numPages&&!r;n++){let r=await(await e.getPage(n)).getTextContent();for(let e of r.items){if(!(`str`in e))continue;let r=e.str.toLowerCase(),a=r.indexOf(t);if(a===-1)continue;let o=e.transform,s=o[0],c=o[4],l=o[5],u=e.width,d=e.height,f=u/(r.length||1);for(;a!==-1;){let e=c+a*f*+(s>0),o=t.length*f;i.push({page:n,pdfRect:[e,l,e+o,l+d]}),a=r.indexOf(t,a+1)}}}r||a({query:n,matches:i})})(),()=>{r=!0}},[e,n]);let o=n.trim();if(!e||!o)return{matches:r,searching:!1};let s=i.query!==n;return{matches:s?r:i.matches,searching:s}}exports.useTextSearch=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react`),n=require(`pdfjs-dist`);n=e.__toESM(n,1);function r(e,t){if(t.type===`reset`)return{thumbnails:Array(t.numPages).fill(null),version:e.version+1};if(t.type===`set`){let n=[...e.thumbnails];return n[t.pageNum-1]=t.dataUrl,{thumbnails:n,version:e.version}}return e}function i({pdf:e,rotation:n,visiblePages:i}){let[{thumbnails:a,version:o},s]=(0,t.useReducer)(r,{thumbnails:[],version:0}),c=(0,t.useRef)(new Set),l=(0,t.useRef)({pdf:null,rotation:0});return(0,t.useEffect)(()=>{if(!e){s({type:`reset`,numPages:0}),c.current.clear(),l.current={pdf:null,rotation:0};return}if(l.current.pdf!==e||l.current.rotation!==n){l.current={pdf:e,rotation:n},c.current.clear(),s({type:`reset`,numPages:e.numPages});return}let t=i.filter(e=>!c.current.has(e));if(t.length===0)return;let r=!1;return(async()=>{for(let i of t){if(r)break;let t=await e.getPage(i),a=t.getViewport({scale:.2,rotation:n}),o=document.createElement(`canvas`),l=o.getContext(`2d`);if(l){if(o.height=a.height,o.width=a.width,await t.render({canvasContext:l,viewport:a,canvas:o}).promise,r)break;c.current.add(i),s({type:`set`,pageNum:i,dataUrl:o.toDataURL()})}}})(),()=>{r=!0}},[e,n,i,o]),{thumbnails:a}}exports.useThumbnails=i;
|