pdf-tsx 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A fully-featured, composable PDF viewer component for React.
4
4
 
5
+ **🔗 [Live demo & docs → pdf-tsx.netlify.app](https://pdf-tsx.netlify.app/)**
6
+
5
7
  ## Installation
6
8
 
7
9
  ```bash
@@ -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"),i=require("../hooks/useTextLayer.cjs"),a=require("../utils/url.cjs"),ee=require("../hooks/useAnnotationLayer.cjs"),te=require("../hooks/usePDFLoader.cjs"),ne=require("../hooks/usePDFRenderer.cjs"),re=require("../hooks/useOverlayRects.cjs"),ie=require("../hooks/usePinchZoom.cjs"),o=require("../utils/pdfjsPolyfill.cjs"),s=require("../utils/pdfFit.cjs"),ae=require("../context/ThemeContext.cjs"),oe=require("../context/LabelsContext.cjs"),c=require("../hooks/useLabels.cjs"),l=require("./PDFViewer.module.cjs");let u=require("react");u=e.__toESM(u,1);let d=require("pdfjs-dist");d=e.__toESM(d,1);let f=require("react/jsx-runtime");o.applyPdfjsPolyfill();var p=2;function se({hasRead:e}){let t=c.useLabels();return(0,f.jsxs)(`div`,{className:`${l.default.requireReadBanner} ${e?l.default.requireReadDone:``}`,children:[e?(0,f.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:(0,f.jsx)(`path`,{d:`M3 8l3.5 3.5L13 4.5`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}):(0,f.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:(0,f.jsx)(`path`,{d:`M8 3v10M4 9l4 4 4-4`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,f.jsx)(`span`,{children:e?t.requireReadDone:t.requireReadPending})]})}var m=({file:e,workerSrc:c,sidebar:m,toolbar:h,onChangeFile:g,themeOverrides:ce,defaultTheme:le,defaultFit:_,language:ue,className:v,style:de,requireRead:y,onDocumentRead:b})=>{(0,u.useEffect)(()=>{let e=new URL(c,location.href).href,t=new Blob([`${o.PDFJS_POLYFILL}\nimport(${JSON.stringify(e)});`],{type:`application/javascript`}),n=URL.createObjectURL(t);return d.GlobalWorkerOptions.workerSrc=n,()=>URL.revokeObjectURL(n)},[c]);let[x,S]=(0,u.useState)(1),[C,w]=(0,u.useState)(0),[T,E]=(0,u.useState)(null),[D,fe]=(0,u.useState)([]),[O,pe]=(0,u.useState)(!1),[k,A]=(0,u.useState)(_??null),[j,M]=(0,u.useState)(null),[N,P]=(0,u.useState)(!1),F=(0,u.useRef)(!1),I=(0,u.useRef)(null),L=(0,u.useRef)([]),R=(0,u.useRef)([]),z=(0,u.useRef)(C);(0,u.useEffect)(()=>{z.current=C},[C]);let[B,me]=(0,u.useState)(null);B!==e&&(me(e),E(null),P(!1)),(0,u.useEffect)(()=>{F.current=!1},[e]);let{pdf:V,numPages:H,loading:he}=te.usePDFLoader(e);(0,u.useEffect)(()=>{V&&(L.current=Array(V.numPages).fill(null),R.current=Array(V.numPages).fill(null))},[V]),(0,u.useEffect)(()=>{!V||!_||!I.current||s.computeFit(_,V,I.current,z.current).then(S)},[V,_]);let U=(0,u.useRef)(k);(0,u.useEffect)(()=>{U.current=k},[k]),(0,u.useEffect)(()=>{if(!V||!I.current)return;let e=I.current,t=new ResizeObserver(()=>{U.current&&s.computeFit(U.current,V,e,z.current).then(S)});return t.observe(e),()=>t.disconnect()},[V]);let{currentPage:W,goToPage:G}=n.useScrollTracking({numPages:H,containerRef:I,pageRefs:L});(0,u.useEffect)(()=>{H===0||W<H||(y&&!N&&P(!0),F.current||(F.current=!0,b?.()))},[W,H,y,N,b]);let K=(0,u.useMemo)(()=>{if(H===0)return[];let e=new Set,t=Math.max(W-p,1),n=Math.min(W+p,H);for(let r=t;r<=n;r++)e.add(r);T&&e.add(T.page);for(let t of D)e.add(t.page);return Array.from(e).sort((e,t)=>e-t)},[W,H,T,D]),{pageSizes:ge,renderedPages:q}=ne.usePDFRenderer({pdf:V,zoom:x,rotation:C,visiblePages:K,canvasRefs:R}),J=(0,u.useMemo)(()=>{let e=new Set(K);for(let t of q)e.add(t);return Array.from(e).sort((e,t)=>e-t)},[K,q]);r.useKeyboardShortcuts({pdf:V,currentPage:W,goToPage:G,setRotation:w}),ie.usePinchZoom(I,x,S,A);let _e=i.useTextLayer({pdf:V,zoom:x,rotation:C,mountedPages:J,canvasRefs:R}),{linkOverlays:ve,noteOverlays:ye}=ee.useAnnotationLayer({pdf:V,zoom:x,rotation:C,mountedPages:J,goToPage:G});(0,u.useEffect)(()=>{if(!j)return;let e=()=>M(null),t=e=>{e.key===`Escape`&&M(null)};return document.addEventListener(`click`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e),document.removeEventListener(`keydown`,t)}},[j]);let{overlayRect:Y,searchOverlays:be}=re.useOverlayRects({pdf:V,highlight:T,searchMatches:D,zoom:x,rotation:C}),xe=(0,u.useCallback)((e,t)=>{(!e.url||!a.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())},[]),X=(0,u.useRef)(null),Z=(0,u.useCallback)((e,t)=>{X.current&&clearTimeout(X.current);let n=t.clientY>window.innerHeight*.6;M({x:Math.min(t.clientX,window.innerWidth-304),y:n?window.innerHeight-t.clientY+8:t.clientY+12,above:n,contents:e.contents,title:e.title})},[]),Q=(0,u.useCallback)(()=>{X.current=setTimeout(()=>M(null),200)},[]),$=(0,u.useCallback)(e=>{E({page:e.page,pdfRect:e.pdfRect}),G(e.page)},[E,G]),Se=(0,u.useMemo)(()=>({pdf:V,numPages:H,zoom:x,setZoom:S,rotation:C,setRotation:w,currentPage:W,goToPage:G,containerRef:I,canvasRefs:R,file:e,highlight:T,setHighlight:E,searchMatches:D,setSearchMatches:fe,onChangeFile:g,sidebarCollapsed:O,setSidebarCollapsed:pe,fitMode:k,setFitMode:A,navigationLocked:!!y&&!N}),[V,H,x,C,W,G,e,T,D,g,O,k,y,N]);return(0,f.jsx)(ae.ThemeProvider,{themeOverrides:ce,defaultTheme:le,children:(0,f.jsx)(oe.LabelsProvider,{language:ue,children:(0,f.jsxs)(t.PDFViewerContext.Provider,{value:Se,children:[(0,f.jsxs)(`div`,{className:`${l.default.appLayout}${v?` ${v}`:``}`,style:de,children:[h&&(0,f.jsx)(`div`,{className:l.default.toolbar,children:h}),(0,f.jsxs)(`div`,{className:l.default.body,children:[m,(0,f.jsxs)(`div`,{className:l.default.scrollContainer,ref:I,children:[he&&(0,f.jsx)(`div`,{className:l.default.documentLoading}),Array.from({length:H},(e,t)=>{let n=q.has(t+1),r=ge[t],i=J.includes(t+1);return(0,f.jsxs)(`div`,{className:l.default.pageWrapper,ref:e=>{L.current[t]=e},style:r?{width:r.width,height:r.height}:void 0,children:[r&&!n&&(0,f.jsx)(`div`,{className:l.default.pageSkeleton,style:{width:r.width,height:r.height}}),i&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`canvas`,{className:l.default.pageCanvas,ref:e=>{R.current[t]=e},style:{display:n?`block`:`none`}}),(0,f.jsx)(`div`,{className:`textLayer ${l.default.textLayer}`,ref:e=>{_e.current[t]=e}})]}),ve.filter(e=>e.page===t+1).map((e,t)=>(0,f.jsx)(`a`,{className:l.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=>xe(e,t)},t)),ye.filter(e=>e.page===t+1).map((e,t)=>e.subtype===`Text`?(0,f.jsx)(`div`,{className:l.default.noteIconOverlay,style:{left:e.x,top:e.y,width:Math.max(e.width,26),height:Math.max(e.height,26)},onMouseEnter:t=>Z(e,t),onMouseLeave:Q,onClick:()=>$(e),children:(0,f.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`,children:[(0,f.jsx)(`rect`,{x:`0.5`,y:`0.5`,width:`9`,height:`8`,rx:`1`,fill:`rgba(255,210,0,0.9)`,stroke:`rgba(160,120,0,0.7)`,strokeWidth:`1`}),(0,f.jsx)(`path`,{d:`M9.5 5.5v3l2.5-3z`,fill:`rgba(255,210,0,0.9)`,stroke:`rgba(160,120,0,0.7)`,strokeWidth:`1`}),(0,f.jsx)(`line`,{x1:`2`,y1:`3`,x2:`8`,y2:`3`,stroke:`rgba(90,60,0,0.8)`,strokeWidth:`1`,strokeLinecap:`round`}),(0,f.jsx)(`line`,{x1:`2`,y1:`5.5`,x2:`7`,y2:`5.5`,stroke:`rgba(90,60,0,0.8)`,strokeWidth:`1`,strokeLinecap:`round`})]})},t):(0,f.jsx)(`div`,{className:l.default.noteOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height},onMouseEnter:t=>Z(e,t),onMouseLeave:Q,onClick:()=>$(e)},t)),be.filter(e=>e.page===t+1).map((e,t)=>(0,f.jsx)(`div`,{className:l.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)),T&&Y?.page===t+1&&(0,f.jsx)(`div`,{className:l.default.highlightOverlay,style:{left:Y.x,top:Y.y,width:Y.width,height:Y.height}})]},`${t}-${C}`)}),y&&(0,f.jsx)(se,{hasRead:N})]})]})]}),j&&(0,f.jsxs)(`div`,{className:l.default.notePopover,style:j.above?{left:j.x,bottom:j.y}:{left:j.x,top:j.y},onMouseEnter:()=>{X.current&&clearTimeout(X.current)},onMouseLeave:Q,onClick:e=>e.stopPropagation(),children:[j.title&&(0,f.jsx)(`div`,{className:l.default.notePopoverTitle,children:j.title}),(0,f.jsx)(`p`,{className:l.default.notePopoverContent,children:j.contents})]})]})})})};exports.default=m;
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"),ee=require("../hooks/useAnnotationLayer.cjs"),te=require("../hooks/usePDFLoader.cjs"),ne=require("../hooks/usePDFRenderer.cjs"),re=require("../hooks/useOverlayRects.cjs"),ie=require("../hooks/usePinchZoom.cjs"),o=require("../utils/pdfjsPolyfill.cjs"),s=require("../utils/pdfFit.cjs"),ae=require("../context/ThemeContext.cjs"),oe=require("../context/LabelsContext.cjs"),c=require("../hooks/useLabels.cjs"),l=require("./PDFViewer.module.cjs");let u=require("react");u=e.__toESM(u,1);let d=require("pdfjs-dist");d=e.__toESM(d,1);let f=require("react/jsx-runtime");o.applyPdfjsPolyfill();var p=2;function se({hasRead:e}){let t=c.useLabels();return(0,f.jsxs)(`div`,{className:`${l.default.requireReadBanner} ${e?l.default.requireReadDone:``}`,children:[e?(0,f.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:(0,f.jsx)(`path`,{d:`M3 8l3.5 3.5L13 4.5`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}):(0,f.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:(0,f.jsx)(`path`,{d:`M8 3v10M4 9l4 4 4-4`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,f.jsx)(`span`,{children:e?t.requireReadDone:t.requireReadPending})]})}var ce=({file:e,workerSrc:c,sidebar:ce,toolbar:m,onChangeFile:h,themeOverrides:le,defaultTheme:ue,defaultFit:g,defaultLayout:de,language:fe,className:_,style:pe,requireRead:v,onDocumentRead:y})=>{(0,u.useEffect)(()=>{let e=new URL(c,location.href).href,t=new Blob([`${o.PDFJS_POLYFILL}\nimport(${JSON.stringify(e)});`],{type:`application/javascript`}),n=URL.createObjectURL(t);return d.GlobalWorkerOptions.workerSrc=n,()=>URL.revokeObjectURL(n)},[c]);let[b,x]=(0,u.useState)(1),[S,C]=(0,u.useState)(0),[w,T]=(0,u.useState)(null),[E,me]=(0,u.useState)([]),[D,he]=(0,u.useState)(!1),[O,k]=(0,u.useState)(g??null),[A,ge]=(0,u.useState)(de??`continuous`),[j,M]=(0,u.useState)(null),[N,P]=(0,u.useState)(!1),F=(0,u.useRef)(!1),I=(0,u.useRef)(null),L=(0,u.useRef)([]),R=(0,u.useRef)([]),z=(0,u.useRef)(S);(0,u.useEffect)(()=>{z.current=S},[S]);let[_e,ve]=(0,u.useState)(null);_e!==e&&(ve(e),T(null),P(!1)),(0,u.useEffect)(()=>{F.current=!1},[e]);let{pdf:B,numPages:V,loading:ye}=te.usePDFLoader(e);(0,u.useEffect)(()=>{B&&(L.current=Array(B.numPages).fill(null),R.current=Array(B.numPages).fill(null))},[B]),(0,u.useEffect)(()=>{!B||!g||!I.current||s.computeFit(g,B,I.current,z.current).then(x)},[B,g]);let H=(0,u.useRef)(O);(0,u.useEffect)(()=>{H.current=O},[O]),(0,u.useEffect)(()=>{if(!B||!I.current)return;let e=I.current,t=new ResizeObserver(()=>{H.current&&s.computeFit(H.current,B,e,z.current).then(x)});return t.observe(e),()=>t.disconnect()},[B]);let{currentPage:U,goToPage:W}=n.useScrollTracking({numPages:V,containerRef:I,pageRefs:L}),[G,be]=(0,u.useState)([]);(0,u.useEffect)(()=>{let e=I.current;if(!e||V===0)return;let t=new Set,n=new IntersectionObserver(e=>{let n=!1;for(let r of e){let e=L.current.indexOf(r.target);if(e===-1)continue;let i=e+1;r.isIntersecting?t.has(i)||(t.add(i),n=!0):t.delete(i)&&(n=!0)}n&&be(Array.from(t).sort((e,t)=>e-t))},{root:e,rootMargin:`300px 0px`,threshold:0});return L.current.forEach(e=>e&&n.observe(e)),()=>n.disconnect()},[V,A]),(0,u.useEffect)(()=>{V===0||U<V||(v&&!N&&P(!0),F.current||(F.current=!0,y?.()))},[U,V,v,N,y]);let K=(0,u.useMemo)(()=>{if(V===0)return[];let e=new Set,t=Math.max(U-p,1),n=Math.min(U+p,V);for(let r=t;r<=n;r++)e.add(r);for(let t of G)e.add(t);w&&e.add(w.page);for(let t of E)e.add(t.page);return Array.from(e).sort((e,t)=>e-t)},[U,V,w,E,G]),{pageSizes:xe,renderedPages:q}=ne.usePDFRenderer({pdf:B,zoom:b,rotation:S,visiblePages:K,canvasRefs:R}),J=(0,u.useMemo)(()=>{let e=new Set(K);for(let t of q)e.add(t);return Array.from(e).sort((e,t)=>e-t)},[K,q]);r.useKeyboardShortcuts({pdf:B,currentPage:U,goToPage:W,setRotation:C}),ie.usePinchZoom(I,b,x,k);let Se=i.useTextLayer({pdf:B,zoom:b,rotation:S,mountedPages:J,canvasRefs:R}),{linkOverlays:Ce,noteOverlays:we}=ee.useAnnotationLayer({pdf:B,zoom:b,rotation:S,mountedPages:J,goToPage:W});(0,u.useEffect)(()=>{if(!j)return;let e=()=>M(null),t=e=>{e.key===`Escape`&&M(null)};return document.addEventListener(`click`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e),document.removeEventListener(`keydown`,t)}},[j]);let{overlayRect:Y,searchOverlays:Te}=re.useOverlayRects({pdf:B,highlight:w,searchMatches:E,zoom:b,rotation:S}),Ee=(0,u.useCallback)((e,t)=>{(!e.url||!a.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())},[]),X=(0,u.useRef)(null),Z=(0,u.useCallback)((e,t)=>{X.current&&clearTimeout(X.current);let n=t.clientY>window.innerHeight*.6;M({x:Math.min(t.clientX,window.innerWidth-304),y:n?window.innerHeight-t.clientY+8:t.clientY+12,above:n,contents:e.contents,title:e.title})},[]),Q=(0,u.useCallback)(()=>{X.current=setTimeout(()=>M(null),200)},[]),$=(0,u.useCallback)(e=>{T({page:e.page,pdfRect:e.pdfRect}),W(e.page)},[T,W]),De=(0,u.useMemo)(()=>({pdf:B,numPages:V,zoom:b,setZoom:x,rotation:S,setRotation:C,currentPage:U,goToPage:W,containerRef:I,canvasRefs:R,file:e,highlight:w,setHighlight:T,searchMatches:E,setSearchMatches:me,onChangeFile:h,sidebarCollapsed:D,setSidebarCollapsed:he,fitMode:O,setFitMode:k,pageLayout:A,setPageLayout:ge,navigationLocked:!!v&&!N}),[B,V,b,S,U,W,e,w,E,h,D,O,A,v,N]);return(0,f.jsx)(ae.ThemeProvider,{themeOverrides:le,defaultTheme:ue,children:(0,f.jsx)(oe.LabelsProvider,{language:fe,children:(0,f.jsxs)(t.PDFViewerContext.Provider,{value:De,children:[(0,f.jsxs)(`div`,{className:`${l.default.appLayout}${_?` ${_}`:``}`,style:pe,children:[m&&(0,f.jsx)(`div`,{className:l.default.toolbar,children:m}),(0,f.jsxs)(`div`,{className:l.default.body,children:[ce,(0,f.jsxs)(`div`,{className:`${l.default.scrollContainer} ${A===`single`?l.default.single:A===`spread`?l.default.spread:``}`,ref:I,children:[ye&&(0,f.jsx)(`div`,{className:l.default.documentLoading}),Array.from({length:V},(e,t)=>{let n=q.has(t+1),r=xe[t],i=J.includes(t+1);return(0,f.jsxs)(`div`,{className:`${l.default.pageWrapper}${t+1===U?` ${l.default.currentPage}`:``}`,ref:e=>{L.current[t]=e},style:r?{width:r.width,height:r.height}:void 0,children:[r&&!n&&(0,f.jsx)(`div`,{className:l.default.pageSkeleton,style:{width:r.width,height:r.height}}),i&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`canvas`,{className:l.default.pageCanvas,ref:e=>{R.current[t]=e},style:{display:n?`block`:`none`}}),(0,f.jsx)(`div`,{className:`textLayer ${l.default.textLayer}`,ref:e=>{Se.current[t]=e}})]}),Ce.filter(e=>e.page===t+1).map((e,t)=>(0,f.jsx)(`a`,{className:l.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=>Ee(e,t)},t)),we.filter(e=>e.page===t+1).map((e,t)=>e.subtype===`Text`?(0,f.jsx)(`div`,{className:l.default.noteIconOverlay,style:{left:e.x,top:e.y,width:Math.max(e.width,26),height:Math.max(e.height,26)},onMouseEnter:t=>Z(e,t),onMouseLeave:Q,onClick:()=>$(e),children:(0,f.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`,children:[(0,f.jsx)(`rect`,{x:`0.5`,y:`0.5`,width:`9`,height:`8`,rx:`1`,fill:`rgba(255,210,0,0.9)`,stroke:`rgba(160,120,0,0.7)`,strokeWidth:`1`}),(0,f.jsx)(`path`,{d:`M9.5 5.5v3l2.5-3z`,fill:`rgba(255,210,0,0.9)`,stroke:`rgba(160,120,0,0.7)`,strokeWidth:`1`}),(0,f.jsx)(`line`,{x1:`2`,y1:`3`,x2:`8`,y2:`3`,stroke:`rgba(90,60,0,0.8)`,strokeWidth:`1`,strokeLinecap:`round`}),(0,f.jsx)(`line`,{x1:`2`,y1:`5.5`,x2:`7`,y2:`5.5`,stroke:`rgba(90,60,0,0.8)`,strokeWidth:`1`,strokeLinecap:`round`})]})},t):(0,f.jsx)(`div`,{className:l.default.noteOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height},onMouseEnter:t=>Z(e,t),onMouseLeave:Q,onClick:()=>$(e)},t)),Te.filter(e=>e.page===t+1).map((e,t)=>(0,f.jsx)(`div`,{className:l.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)),w&&Y?.page===t+1&&(0,f.jsx)(`div`,{className:l.default.highlightOverlay,style:{left:Y.x,top:Y.y,width:Y.width,height:Y.height}})]},`${t}-${S}`)}),v&&(0,f.jsx)(se,{hasRead:N})]})]})]}),j&&(0,f.jsxs)(`div`,{className:l.default.notePopover,style:j.above?{left:j.x,bottom:j.y}:{left:j.x,top:j.y},onMouseEnter:()=>{X.current&&clearTimeout(X.current)},onMouseLeave:Q,onClick:e=>e.stopPropagation(),children:[j.title&&(0,f.jsx)(`div`,{className:l.default.notePopoverTitle,children:j.title}),(0,f.jsx)(`p`,{className:l.default.notePopoverContent,children:j.contents})]})]})})})};exports.default=ce;
@@ -1 +1 @@
1
- var e={appLayout:`_appLayout_rgnuz_1`,body:`_body_rgnuz_9`,toolbar:`_toolbar_rgnuz_17`,scrollContainer:`_scrollContainer_rgnuz_29`,pageWrapper:`_pageWrapper_rgnuz_41`,pageCanvas:`_pageCanvas_rgnuz_46`,textLayer:`_textLayer_rgnuz_55`,markedContent:`_markedContent_rgnuz_81`,endOfContent:`_endOfContent_rgnuz_96`,selecting:`_selecting_rgnuz_105`,documentLoading:`_documentLoading_rgnuz_125`,spin:`_spin_rgnuz_1`,pageSkeleton:`_pageSkeleton_rgnuz_145`,highlightOverlay:`_highlightOverlay_rgnuz_174`,linkOverlay:`_linkOverlay_rgnuz_183`,searchMatchOverlay:`_searchMatchOverlay_rgnuz_190`,noteOverlay:`_noteOverlay_rgnuz_198`,noteIconOverlay:`_noteIconOverlay_rgnuz_205`,requireReadBanner:`_requireReadBanner_rgnuz_222`,requireReadDone:`_requireReadDone_rgnuz_246`,notePopover:`_notePopover_rgnuz_250`,notePopoverTitle:`_notePopoverTitle_rgnuz_263`,notePopoverContent:`_notePopoverContent_rgnuz_270`};exports.default=e;
1
+ var e={appLayout:`_appLayout_1fhoj_1`,body:`_body_1fhoj_9`,toolbar:`_toolbar_1fhoj_17`,scrollContainer:`_scrollContainer_1fhoj_29`,pageWrapper:`_pageWrapper_1fhoj_41`,single:`_single_1fhoj_47`,currentPage:`_currentPage_1fhoj_51`,spread:`_spread_1fhoj_56`,requireReadBanner:`_requireReadBanner_1fhoj_68`,pageCanvas:`_pageCanvas_1fhoj_72`,textLayer:`_textLayer_1fhoj_81`,markedContent:`_markedContent_1fhoj_107`,endOfContent:`_endOfContent_1fhoj_122`,selecting:`_selecting_1fhoj_131`,documentLoading:`_documentLoading_1fhoj_151`,spin:`_spin_1fhoj_1`,pageSkeleton:`_pageSkeleton_1fhoj_171`,highlightOverlay:`_highlightOverlay_1fhoj_200`,linkOverlay:`_linkOverlay_1fhoj_209`,searchMatchOverlay:`_searchMatchOverlay_1fhoj_216`,noteOverlay:`_noteOverlay_1fhoj_224`,noteIconOverlay:`_noteIconOverlay_1fhoj_231`,requireReadDone:`_requireReadDone_1fhoj_272`,notePopover:`_notePopover_1fhoj_276`,notePopoverTitle:`_notePopoverTitle_1fhoj_289`,notePopoverContent:`_notePopoverContent_1fhoj_296`};exports.default=e;
@@ -0,0 +1 @@
1
+ const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../context/PDFViewerContext.cjs"),n=require("../../hooks/useLabels.cjs"),r=require("../ui/ToolbarButton.cjs"),i=require("../ui/icons.cjs"),a=require("./PDFViewModeToggle.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime");function c({continuousIcon:e,singleIcon:c,spreadIcon:l}){let{pageLayout:u,setPageLayout:d}=t.usePDFViewer(),f=n.useLabels(),[p,m]=(0,o.useState)(!1),h=(0,o.useRef)(null),g=[{value:`continuous`,icon:e,title:f.continuousViewTitle},{value:`single`,icon:c,title:f.singleViewTitle},{value:`spread`,icon:l,title:f.spreadViewTitle}],_=g.find(e=>e.value===u)??g[0],v=(0,o.useCallback)(e=>{d(e),m(!1)},[d]);return(0,o.useEffect)(()=>{if(!p)return;let e=e=>{h.current?.contains(e.target)||m(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[p]),(0,s.jsxs)(`div`,{ref:h,className:a.default.wrapper,children:[(0,s.jsxs)(r.ToolbarButton,{onClick:()=>m(e=>!e),title:f.viewModeToolbarLabel,"aria-haspopup":`true`,"aria-expanded":p,className:p?a.default.triggerActive:void 0,children:[_.icon,(0,s.jsx)(`span`,{className:a.default.caret,children:(0,s.jsx)(i.IconChevronDown,{size:12})})]}),p&&(0,s.jsx)(`div`,{className:a.default.dropdown,role:`menu`,children:g.map(e=>(0,s.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.value===u,className:`${a.default.option}${e.value===u?` ${a.default.optionActive}`:``}`,onClick:()=>v(e.value),children:[(0,s.jsx)(`span`,{className:a.default.optionIcon,children:e.icon}),(0,s.jsx)(`span`,{className:a.default.optionLabel,children:e.title})]},e.value))})]})}c.toolbarLabelKey=`viewModeToolbarLabel`,exports.PDFViewModeToggle=c;
@@ -0,0 +1 @@
1
+ var e={wrapper:`_wrapper_a1x4x_1`,triggerActive:`_triggerActive_a1x4x_7`,caret:`_caret_a1x4x_12`,dropdown:`_dropdown_a1x4x_19`,option:`_option_a1x4x_35`,optionActive:`_optionActive_a1x4x_61`,optionIcon:`_optionIcon_a1x4x_65`,optionLabel:`_optionLabel_a1x4x_71`};exports.default=e;
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <rect width="64" height="64" rx="14" fill="#0a0a0f"/>
3
+ <text x="50%" y="29" dominant-baseline="middle" text-anchor="middle"
4
+ font-family="system-ui, -apple-system, 'Segoe UI', sans-serif"
5
+ font-weight="800" font-size="22" letter-spacing="-1" fill="#e11d48">pdf</text>
6
+ <text x="50%" y="49" dominant-baseline="middle" text-anchor="middle"
7
+ font-family="system-ui, -apple-system, 'Segoe UI', sans-serif"
8
+ font-weight="800" font-size="22" letter-spacing="-1" fill="#f4f4f6">tsx</text>
9
+ </svg>
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./theme.cjs"),t=require("./labels.cjs"),n=require("./components/PDFViewer.cjs"),r=require("./components/PDFSidebar.cjs"),i=require("./components/features/PDFAttachments.cjs"),a=require("./components/features/PDFAnnotations.cjs"),o=require("./components/features/PDFChangeFile.cjs"),s=require("./components/features/PDFDownloadButton.cjs"),c=require("./components/features/PDFNavigation.cjs"),l=require("./components/features/PDFOutline.cjs"),u=require("./components/features/PDFPageFit.cjs"),d=require("./components/features/PDFRotationControl.cjs"),f=require("./components/features/PDFSearch.cjs"),p=require("./components/features/PDFSignatures.cjs"),m=require("./components/features/PDFThumbnails.cjs"),h=require("./components/features/PDFZoomControls.cjs"),g=require("./components/features/PDFThemeToggle.cjs"),_=require("./components/features/PDFPrintButton.cjs"),v=require("./components/features/PDFSidebarToggle.cjs"),y=require("./components/ui/PDFToolbar.cjs"),b=require("./components/ui/PDFToolbarItem.cjs"),x=require("./components/ui/PDFToolbarSeparator.cjs");exports.PDFAnnotations=a.PDFAnnotations,exports.PDFAnnotationsIcon=a.PDFAnnotationsIcon,exports.PDFAttachments=i.PDFAttachments,exports.PDFAttachmentsIcon=i.PDFAttachmentsIcon,exports.PDFChangeFile=o.PDFChangeFile,exports.PDFDownloadButton=s.PDFDownloadButton,exports.PDFNavigation=c.PDFNavigation,exports.PDFOutline=l.PDFOutline,exports.PDFPageFit=u.PDFPageFit,exports.PDFPrintButton=_.PDFPrintButton,exports.PDFRotationControl=d.PDFRotationControl,exports.PDFSearch=f.PDFSearch,exports.PDFSidebar=r.PDFSidebar,exports.PDFSidebarToggle=v.PDFSidebarToggle,exports.PDFSignatures=p.PDFSignatures,exports.PDFSignaturesIcon=p.PDFSignaturesIcon,exports.PDFThemeToggle=g.PDFThemeToggle,exports.PDFThumbnails=m.PDFThumbnails,exports.PDFToolbar=y.PDFToolbar,exports.PDFToolbarItem=b.PDFToolbarItem,exports.PDFToolbarSeparator=x.PDFToolbarSeparator,exports.PDFViewer=n.default,exports.PDFZoomControls=h.PDFZoomControls,exports.darkTheme=e.darkTheme,exports.englishLabels=t.englishLabels,exports.italianLabels=t.italianLabels,exports.lightTheme=e.lightTheme;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./theme.cjs"),t=require("./labels.cjs"),n=require("./components/PDFViewer.cjs"),r=require("./components/PDFSidebar.cjs"),i=require("./components/features/PDFAttachments.cjs"),a=require("./components/features/PDFAnnotations.cjs"),o=require("./components/features/PDFChangeFile.cjs"),s=require("./components/features/PDFDownloadButton.cjs"),c=require("./components/features/PDFNavigation.cjs"),l=require("./components/features/PDFOutline.cjs"),u=require("./components/features/PDFPageFit.cjs"),d=require("./components/features/PDFViewModeToggle.cjs"),f=require("./components/features/PDFRotationControl.cjs"),p=require("./components/features/PDFSearch.cjs"),m=require("./components/features/PDFSignatures.cjs"),h=require("./components/features/PDFThumbnails.cjs"),g=require("./components/features/PDFZoomControls.cjs"),_=require("./components/features/PDFThemeToggle.cjs"),v=require("./components/features/PDFPrintButton.cjs"),y=require("./components/features/PDFSidebarToggle.cjs"),b=require("./components/ui/PDFToolbar.cjs"),x=require("./components/ui/PDFToolbarItem.cjs"),S=require("./components/ui/PDFToolbarSeparator.cjs");exports.PDFAnnotations=a.PDFAnnotations,exports.PDFAnnotationsIcon=a.PDFAnnotationsIcon,exports.PDFAttachments=i.PDFAttachments,exports.PDFAttachmentsIcon=i.PDFAttachmentsIcon,exports.PDFChangeFile=o.PDFChangeFile,exports.PDFDownloadButton=s.PDFDownloadButton,exports.PDFNavigation=c.PDFNavigation,exports.PDFOutline=l.PDFOutline,exports.PDFPageFit=u.PDFPageFit,exports.PDFPrintButton=v.PDFPrintButton,exports.PDFRotationControl=f.PDFRotationControl,exports.PDFSearch=p.PDFSearch,exports.PDFSidebar=r.PDFSidebar,exports.PDFSidebarToggle=y.PDFSidebarToggle,exports.PDFSignatures=m.PDFSignatures,exports.PDFSignaturesIcon=m.PDFSignaturesIcon,exports.PDFThemeToggle=_.PDFThemeToggle,exports.PDFThumbnails=h.PDFThumbnails,exports.PDFToolbar=b.PDFToolbar,exports.PDFToolbarItem=x.PDFToolbarItem,exports.PDFToolbarSeparator=S.PDFToolbarSeparator,exports.PDFViewModeToggle=d.PDFViewModeToggle,exports.PDFViewer=n.default,exports.PDFZoomControls=g.PDFZoomControls,exports.darkTheme=e.darkTheme,exports.englishLabels=t.englishLabels,exports.italianLabels=t.italianLabels,exports.lightTheme=e.lightTheme;
@@ -1 +1 @@
1
- var e={searchPlaceholder:`Cerca nel documento...`,searchToolbarLabel:`Cerca`,prevPageTitle:`Pagina precedente (←)`,pageInputTitle:`Vai alla pagina`,nextPageTitle:`Pagina successiva (→)`,navigationToolbarLabel:`Pagina`,downloadTitle:`Scarica PDF`,downloadText:`Scarica`,downloadToolbarLabel:`Scarica`,downloadFallbackFilename:`documento.pdf`,printTitle:`Stampa PDF`,printToolbarLabel:`Stampa`,rotateTitle:`Ruota documento`,rotateToolbarLabel:`Ruota`,zoomOutTitle:`Riduci zoom`,zoomInTitle:`Aumenta zoom`,zoomToolbarLabel:`Zoom`,changeFileTitle:`Apri altro file`,changeFileToolbarLabel:`Apri file`,fitWidthTitle:`Adatta alla larghezza`,fitPageTitle:`Adatta pagina intera`,fitToolbarLabel:`Adatta`,switchToLightTitle:`Switch to light mode`,switchToDarkTitle:`Switch to dark mode`,themeToolbarLabel:`Tema`,expandSidebarTitle:`Espandi sidebar`,collapseSidebarTitle:`Comprimi sidebar`,sidebarToolbarLabel:`Sidebar`,attachmentsLoading:`Caricamento...`,attachmentsEmpty:`Nessun allegato rilevato.`,downloadAttachmentTitle:`Scarica`,outlineLoading:`Caricamento...`,outlineEmpty:`Nessun segnalibro disponibile.`,thumbnailAlt:`Anteprima pagina`,annotationTypes:{Text:`Nota`,Highlight:`Evidenziazione`,Underline:`Sottolineatura`,StrikeOut:`Barrato`,FreeText:`Testo libero`,Ink:`Disegno`,Square:`Rettangolo`,Circle:`Cerchio`,Line:`Linea`,Stamp:`Timbro`,FileAttachment:`Allegato`},annotationsLoading:`Caricamento...`,annotationsEmpty:`Nessuna annotazione rilevata.`,annotationsPageHeader:`Pagina`,signatureSigned:`Firmato`,signatureUnsigned:`Non firmato`,signatureSignerLabel:`Firmatario`,signatureDateLabel:`Data`,signatureReasonLabel:`Motivo`,signatureLocationLabel:`Luogo`,signaturesLoading:`Caricamento...`,signaturesEmpty:`Nessuna firma rilevata.`,toolbarMoreOptions:`Altre opzioni`,requireReadPending:`Scorri fino alla fine per continuare`,requireReadDone:`Lettura completata`},t={searchPlaceholder:`Search document...`,searchToolbarLabel:`Search`,prevPageTitle:`Previous page (←)`,pageInputTitle:`Go to page`,nextPageTitle:`Next page (→)`,navigationToolbarLabel:`Page`,downloadTitle:`Download PDF`,downloadText:`Download`,downloadToolbarLabel:`Download`,downloadFallbackFilename:`document.pdf`,printTitle:`Print PDF`,printToolbarLabel:`Print`,rotateTitle:`Rotate document`,rotateToolbarLabel:`Rotate`,zoomOutTitle:`Zoom out`,zoomInTitle:`Zoom in`,zoomToolbarLabel:`Zoom`,changeFileTitle:`Open another file`,changeFileToolbarLabel:`Open file`,fitWidthTitle:`Fit to width`,fitPageTitle:`Fit whole page`,fitToolbarLabel:`Fit`,switchToLightTitle:`Switch to light mode`,switchToDarkTitle:`Switch to dark mode`,themeToolbarLabel:`Theme`,expandSidebarTitle:`Expand sidebar`,collapseSidebarTitle:`Collapse sidebar`,sidebarToolbarLabel:`Sidebar`,attachmentsLoading:`Loading...`,attachmentsEmpty:`No attachments found.`,downloadAttachmentTitle:`Download`,outlineLoading:`Loading...`,outlineEmpty:`No bookmarks available.`,thumbnailAlt:`Page preview`,annotationTypes:{Text:`Note`,Highlight:`Highlight`,Underline:`Underline`,StrikeOut:`Strikethrough`,FreeText:`Free text`,Ink:`Drawing`,Square:`Rectangle`,Circle:`Circle`,Line:`Line`,Stamp:`Stamp`,FileAttachment:`Attachment`},annotationsLoading:`Loading...`,annotationsEmpty:`No annotations found.`,annotationsPageHeader:`Page`,signatureSigned:`Signed`,signatureUnsigned:`Unsigned`,signatureSignerLabel:`Signer`,signatureDateLabel:`Date`,signatureReasonLabel:`Reason`,signatureLocationLabel:`Location`,signaturesLoading:`Loading...`,signaturesEmpty:`No signatures found.`,toolbarMoreOptions:`More options`,requireReadPending:`Scroll to the end to continue`,requireReadDone:`Document read`};exports.englishLabels=t,exports.italianLabels=e;
1
+ var e={searchPlaceholder:`Cerca nel documento...`,searchToolbarLabel:`Cerca`,prevPageTitle:`Pagina precedente (←)`,pageInputTitle:`Vai alla pagina`,nextPageTitle:`Pagina successiva (→)`,navigationToolbarLabel:`Pagina`,downloadTitle:`Scarica PDF`,downloadText:`Scarica`,downloadToolbarLabel:`Scarica`,downloadFallbackFilename:`documento.pdf`,printTitle:`Stampa PDF`,printToolbarLabel:`Stampa`,rotateTitle:`Ruota documento`,rotateToolbarLabel:`Ruota`,zoomOutTitle:`Riduci zoom`,zoomInTitle:`Aumenta zoom`,zoomToolbarLabel:`Zoom`,changeFileTitle:`Apri altro file`,changeFileToolbarLabel:`Apri file`,fitWidthTitle:`Adatta alla larghezza`,fitPageTitle:`Adatta pagina intera`,fitToolbarLabel:`Adatta`,viewModeToolbarLabel:`Visualizzazione`,continuousViewTitle:`Scorrimento continuo`,singleViewTitle:`Pagina singola`,spreadViewTitle:`Due pagine affiancate`,switchToLightTitle:`Switch to light mode`,switchToDarkTitle:`Switch to dark mode`,themeToolbarLabel:`Tema`,expandSidebarTitle:`Espandi sidebar`,collapseSidebarTitle:`Comprimi sidebar`,sidebarToolbarLabel:`Sidebar`,attachmentsLoading:`Caricamento...`,attachmentsEmpty:`Nessun allegato rilevato.`,downloadAttachmentTitle:`Scarica`,outlineLoading:`Caricamento...`,outlineEmpty:`Nessun segnalibro disponibile.`,thumbnailAlt:`Anteprima pagina`,annotationTypes:{Text:`Nota`,Highlight:`Evidenziazione`,Underline:`Sottolineatura`,StrikeOut:`Barrato`,FreeText:`Testo libero`,Ink:`Disegno`,Square:`Rettangolo`,Circle:`Cerchio`,Line:`Linea`,Stamp:`Timbro`,FileAttachment:`Allegato`},annotationsLoading:`Caricamento...`,annotationsEmpty:`Nessuna annotazione rilevata.`,annotationsPageHeader:`Pagina`,signatureSigned:`Firmato`,signatureUnsigned:`Non firmato`,signatureSignerLabel:`Firmatario`,signatureDateLabel:`Data`,signatureReasonLabel:`Motivo`,signatureLocationLabel:`Luogo`,signaturesLoading:`Caricamento...`,signaturesEmpty:`Nessuna firma rilevata.`,toolbarMoreOptions:`Altre opzioni`,requireReadPending:`Scorri fino alla fine per continuare`,requireReadDone:`Lettura completata`},t={searchPlaceholder:`Search document...`,searchToolbarLabel:`Search`,prevPageTitle:`Previous page (←)`,pageInputTitle:`Go to page`,nextPageTitle:`Next page (→)`,navigationToolbarLabel:`Page`,downloadTitle:`Download PDF`,downloadText:`Download`,downloadToolbarLabel:`Download`,downloadFallbackFilename:`document.pdf`,printTitle:`Print PDF`,printToolbarLabel:`Print`,rotateTitle:`Rotate document`,rotateToolbarLabel:`Rotate`,zoomOutTitle:`Zoom out`,zoomInTitle:`Zoom in`,zoomToolbarLabel:`Zoom`,changeFileTitle:`Open another file`,changeFileToolbarLabel:`Open file`,fitWidthTitle:`Fit to width`,fitPageTitle:`Fit whole page`,fitToolbarLabel:`Fit`,viewModeToolbarLabel:`View`,continuousViewTitle:`Continuous scroll`,singleViewTitle:`Single page`,spreadViewTitle:`Two-page spread`,switchToLightTitle:`Switch to light mode`,switchToDarkTitle:`Switch to dark mode`,themeToolbarLabel:`Theme`,expandSidebarTitle:`Expand sidebar`,collapseSidebarTitle:`Collapse sidebar`,sidebarToolbarLabel:`Sidebar`,attachmentsLoading:`Loading...`,attachmentsEmpty:`No attachments found.`,downloadAttachmentTitle:`Download`,outlineLoading:`Loading...`,outlineEmpty:`No bookmarks available.`,thumbnailAlt:`Page preview`,annotationTypes:{Text:`Note`,Highlight:`Highlight`,Underline:`Underline`,StrikeOut:`Strikethrough`,FreeText:`Free text`,Ink:`Drawing`,Square:`Rectangle`,Circle:`Circle`,Line:`Line`,Stamp:`Stamp`,FileAttachment:`Attachment`},annotationsLoading:`Loading...`,annotationsEmpty:`No annotations found.`,annotationsPageHeader:`Page`,signatureSigned:`Signed`,signatureUnsigned:`Unsigned`,signatureSignerLabel:`Signer`,signatureDateLabel:`Date`,signatureReasonLabel:`Reason`,signatureLocationLabel:`Location`,signaturesLoading:`Loading...`,signaturesEmpty:`No signatures found.`,toolbarMoreOptions:`More options`,requireReadPending:`Scroll to the end to continue`,requireReadDone:`Document read`};exports.englishLabels=t,exports.italianLabels=e;
@@ -1,2 +1,2 @@
1
- ._wrapper_1kvg0_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1kvg0_7{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1kvg0_16{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1kvg0_26{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1kvg0_35{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_1kvg0_35:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1kvg0_57{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1kvg0_57:hover{color:var(--pdf-accent-light)}._contentPanel_1kvg0_66{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1kvg0_74{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_1kvg0_86{flex:1;overflow-y:auto}._appLayout_rgnuz_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_rgnuz_9{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_rgnuz_17{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_rgnuz_29{scrollbar-gutter:stable;background-color:var(--pdf-scroll-area);touch-action:pan-x pan-y;flex-direction:column;flex:1;padding:10px 20px;display:flex;position:relative;overflow:auto}._pageWrapper_rgnuz_41{margin:0 auto 25px;position:relative}._pageCanvas_rgnuz_46{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_rgnuz_55{--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_rgnuz_55 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_rgnuz_55>:not(._markedContent_rgnuz_81),._textLayer_rgnuz_55 ._markedContent_rgnuz_81 span:not(._markedContent_rgnuz_81){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_rgnuz_55 ._markedContent_rgnuz_81{display:contents}._textLayer_rgnuz_55 ._endOfContent_rgnuz_96{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_rgnuz_55._selecting_rgnuz_105 ._endOfContent_rgnuz_96{top:0}._textLayer_rgnuz_55 ::selection{background:#0000ff40}._textLayer_rgnuz_55 br::selection{background:0 0}._documentLoading_rgnuz_125{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_rgnuz_125:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_rgnuz_1}._pageSkeleton_rgnuz_145{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_rgnuz_145:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_rgnuz_1}@keyframes _spin_rgnuz_1{to{transform:rotate(360deg)}}._highlightOverlay_rgnuz_174{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_rgnuz_183{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_rgnuz_190{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._noteOverlay_rgnuz_198{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._noteIconOverlay_rgnuz_205{z-index:3;pointer-events:all;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;transition:background-color .1s;display:flex;position:absolute}._noteIconOverlay_rgnuz_205:hover{background-color:#ffd20033;outline:1px solid #a0780066}._requireReadBanner_rgnuz_222{font-size:13px;font-weight:500;font-family:var(--pdf-font-family);color:#fff;background-color:color-mix(in srgb, var(--pdf-accent) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;margin-right:25px;padding:9px 16px;transition:background-color .4s;display:flex;position:sticky;bottom:12px;box-shadow:0 2px 12px #0000002e}._requireReadDone_rgnuz_246{background-color:#16a34abf}._notePopover_rgnuz_250{z-index:9999;background-color:var(--pdf-surface);border:1px solid var(--pdf-border);min-width:160px;max-width:280px;font-family:var(--pdf-font-family);border-radius:6px;padding:10px 12px;position:fixed;box-shadow:0 4px 16px #00000026}._notePopoverTitle_rgnuz_263{color:var(--pdf-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}._notePopoverContent_rgnuz_270{color:var(--pdf-text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}._list_gygvf_1{flex-direction:column;display:flex}._emptyState_gygvf_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_gygvf_12{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_gygvf_23{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_gygvf_33{cursor:pointer}._cardClickable_gygvf_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_gygvf_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_gygvf_48{color:var(--pdf-text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}._cardPage_gygvf_57{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_gygvf_62{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_gygvf_68{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_gygvf_74{justify-content:center;align-items:center;display:flex;position:relative}._badge_gygvf_81{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_12ybz_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_12ybz_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_12ybz_15{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_12ybz_33{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_12ybz_40{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_12ybz_51{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_12ybz_51:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_12ybz_77{justify-content:center;align-items:center;display:flex;position:relative}._badge_12ybz_84{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_1dub8_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_1dub8_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_1dub8_1:disabled{color:var(--pdf-border);cursor:default}._primary_1dub8_31{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_1dub8_31:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_14eo9_1{align-items:center;gap:2px;display:flex}._pageInput_14eo9_7{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_14eo9_7:focus{border-color:var(--pdf-accent)}._pageInput_14eo9_7::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_14eo9_7::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_14eo9_7{-moz-appearance:textfield}._pageTotal_14eo9_34{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_hqvdn_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_hqvdn_7{flex-direction:column;padding:4px 0;display:flex}._row_hqvdn_13{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_hqvdn_13:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_hqvdn_31{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_hqvdn_31:hover{color:var(--pdf-text-muted)}._title_hqvdn_46{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_18kvs_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_18kvs_7{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_18kvs_13{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_18kvs_13:focus{border-color:var(--pdf-accent)}._searchInput_18kvs_13::placeholder{color:var(--pdf-text-placeholder)}._navButton_18kvs_33{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_18kvs_33:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_18kvs_33:disabled{color:var(--pdf-border);cursor:default}._counter_18kvs_54{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_b0wj1_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_b0wj1_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_b0wj1_15{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_b0wj1_32{background:#22c55e0a;border-color:#22c55e47}._cardClickable_b0wj1_37{cursor:pointer}._cardClickable_b0wj1_37:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_b0wj1_32._cardClickable_b0wj1_37:hover{border-color:#22c55e73}._cardBody_b0wj1_50{padding:10px 12px 10px 16px}._cardHeader_b0wj1_54{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_b0wj1_62{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_b0wj1_73{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_b0wj1_89{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_b0wj1_95{flex-direction:column;gap:4px;display:flex}._fieldRow_b0wj1_101{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_b0wj1_109{color:var(--pdf-text-muted);font-weight:500}._fieldValue_b0wj1_114{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_b0wj1_119{justify-content:center;align-items:center;display:flex;position:relative}._badge_b0wj1_126{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_t3mg8_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_t3mg8_6{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_t3mg8_6:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_t3mg8_19{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_t3mg8_19:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_t3mg8_28{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_t3mg8_34{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_t3mg8_40{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_t3mg8_1}@keyframes _shimmer_t3mg8_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_t3mg8_63{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_t3mg8_70{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_m8iv9_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1b8zt_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1b8zt_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1b8zt_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1b8zt_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1b8zt_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_1b8zt_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1b8zt_41>*{flex-shrink:0}._labeledItem_1b8zt_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1b8zt_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_1b8zt_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._separator_b9iob_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}._separatorH_b9iob_9{background:var(--pdf-toolbar-separator);height:1px;margin:2px 4px}
1
+ ._wrapper_1kvg0_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1kvg0_7{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1kvg0_16{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1kvg0_26{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1kvg0_35{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_1kvg0_35:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1kvg0_57{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1kvg0_57:hover{color:var(--pdf-accent-light)}._contentPanel_1kvg0_66{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1kvg0_74{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_1kvg0_86{flex:1;overflow-y:auto}._appLayout_1fhoj_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1fhoj_9{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1fhoj_17{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_1fhoj_29{scrollbar-gutter:stable;background-color:var(--pdf-scroll-area);touch-action:pan-x pan-y;flex-direction:column;flex:1;padding:10px 20px;display:flex;position:relative;overflow:auto}._pageWrapper_1fhoj_41{margin:0 auto 25px;position:relative}._scrollContainer_1fhoj_29._single_1fhoj_47 ._pageWrapper_1fhoj_41{display:none}._scrollContainer_1fhoj_29._single_1fhoj_47 ._pageWrapper_1fhoj_41._currentPage_1fhoj_51{display:block}._scrollContainer_1fhoj_29._spread_1fhoj_56{flex-flow:wrap;place-content:flex-start center;gap:25px;display:flex}._scrollContainer_1fhoj_29._spread_1fhoj_56 ._pageWrapper_1fhoj_41{margin:0}._scrollContainer_1fhoj_29._spread_1fhoj_56 ._requireReadBanner_1fhoj_68{grid-column:1/-1}._pageCanvas_1fhoj_72{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1fhoj_81{--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_1fhoj_81 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1fhoj_81>:not(._markedContent_1fhoj_107),._textLayer_1fhoj_81 ._markedContent_1fhoj_107 span:not(._markedContent_1fhoj_107){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_1fhoj_81 ._markedContent_1fhoj_107{display:contents}._textLayer_1fhoj_81 ._endOfContent_1fhoj_122{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1fhoj_81._selecting_1fhoj_131 ._endOfContent_1fhoj_122{top:0}._textLayer_1fhoj_81 ::selection{background:#0000ff40}._textLayer_1fhoj_81 br::selection{background:0 0}._documentLoading_1fhoj_151{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_1fhoj_151:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_1fhoj_1}._pageSkeleton_1fhoj_171{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_1fhoj_171:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1fhoj_1}@keyframes _spin_1fhoj_1{to{transform:rotate(360deg)}}._highlightOverlay_1fhoj_200{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1fhoj_209{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1fhoj_216{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._noteOverlay_1fhoj_224{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._noteIconOverlay_1fhoj_231{z-index:3;pointer-events:all;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;transition:background-color .1s;display:flex;position:absolute}._noteIconOverlay_1fhoj_231:hover{background-color:#ffd20033;outline:1px solid #a0780066}._requireReadBanner_1fhoj_68{font-size:13px;font-weight:500;font-family:var(--pdf-font-family);color:#fff;background-color:color-mix(in srgb, var(--pdf-accent) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;margin-right:25px;padding:9px 16px;transition:background-color .4s;display:flex;position:sticky;bottom:12px;box-shadow:0 2px 12px #0000002e}._requireReadDone_1fhoj_272{background-color:#16a34abf}._notePopover_1fhoj_276{z-index:9999;background-color:var(--pdf-surface);border:1px solid var(--pdf-border);min-width:160px;max-width:280px;font-family:var(--pdf-font-family);border-radius:6px;padding:10px 12px;position:fixed;box-shadow:0 4px 16px #00000026}._notePopoverTitle_1fhoj_289{color:var(--pdf-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}._notePopoverContent_1fhoj_296{color:var(--pdf-text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}._list_gygvf_1{flex-direction:column;display:flex}._emptyState_gygvf_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_gygvf_12{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_gygvf_23{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_gygvf_33{cursor:pointer}._cardClickable_gygvf_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_gygvf_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_gygvf_48{color:var(--pdf-text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}._cardPage_gygvf_57{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_gygvf_62{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_gygvf_68{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_gygvf_74{justify-content:center;align-items:center;display:flex;position:relative}._badge_gygvf_81{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_12ybz_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_12ybz_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_12ybz_15{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_12ybz_33{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_12ybz_40{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_12ybz_51{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_12ybz_51:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_12ybz_77{justify-content:center;align-items:center;display:flex;position:relative}._badge_12ybz_84{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_1dub8_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_1dub8_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_1dub8_1:disabled{color:var(--pdf-border);cursor:default}._primary_1dub8_31{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_1dub8_31:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_14eo9_1{align-items:center;gap:2px;display:flex}._pageInput_14eo9_7{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_14eo9_7:focus{border-color:var(--pdf-accent)}._pageInput_14eo9_7::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_14eo9_7::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_14eo9_7{-moz-appearance:textfield}._pageTotal_14eo9_34{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_hqvdn_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_hqvdn_7{flex-direction:column;padding:4px 0;display:flex}._row_hqvdn_13{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_hqvdn_13:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_hqvdn_31{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_hqvdn_31:hover{color:var(--pdf-text-muted)}._title_hqvdn_46{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_18kvs_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_18kvs_7{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_18kvs_13{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_18kvs_13:focus{border-color:var(--pdf-accent)}._searchInput_18kvs_13::placeholder{color:var(--pdf-text-placeholder)}._navButton_18kvs_33{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_18kvs_33:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_18kvs_33:disabled{color:var(--pdf-border);cursor:default}._counter_18kvs_54{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_b0wj1_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_b0wj1_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_b0wj1_15{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_b0wj1_32{background:#22c55e0a;border-color:#22c55e47}._cardClickable_b0wj1_37{cursor:pointer}._cardClickable_b0wj1_37:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_b0wj1_32._cardClickable_b0wj1_37:hover{border-color:#22c55e73}._cardBody_b0wj1_50{padding:10px 12px 10px 16px}._cardHeader_b0wj1_54{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_b0wj1_62{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_b0wj1_73{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_b0wj1_89{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_b0wj1_95{flex-direction:column;gap:4px;display:flex}._fieldRow_b0wj1_101{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_b0wj1_109{color:var(--pdf-text-muted);font-weight:500}._fieldValue_b0wj1_114{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_b0wj1_119{justify-content:center;align-items:center;display:flex;position:relative}._badge_b0wj1_126{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_t3mg8_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_t3mg8_6{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_t3mg8_6:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_t3mg8_19{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_t3mg8_19:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_t3mg8_28{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_t3mg8_34{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_t3mg8_40{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_t3mg8_1}@keyframes _shimmer_t3mg8_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_t3mg8_63{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_t3mg8_70{color:var(--pdf-accent-hover);font-weight:600}._wrapper_a1x4x_1{align-items:center;display:flex;position:relative}._triggerActive_a1x4x_7{background:var(--pdf-surface);color:var(--pdf-text-primary)}._caret_a1x4x_12{opacity:.7;align-items:center;margin-left:-2px;display:flex}._dropdown_a1x4x_19{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 16px #0000002e}._option_a1x4x_35{cursor:pointer;width:100%;color:var(--pdf-text-secondary);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._option_a1x4x_35:hover{background:var(--pdf-surface);color:var(--pdf-text-primary)}._optionActive_a1x4x_61{color:var(--pdf-accent)}._optionIcon_a1x4x_65{flex-shrink:0;align-items:center;display:flex}._optionLabel_a1x4x_71{flex:1}._zoomLabel_m8iv9_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1b8zt_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1b8zt_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1b8zt_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1b8zt_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1b8zt_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_1b8zt_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1b8zt_41>*{flex-shrink:0}._labeledItem_1b8zt_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1b8zt_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_1b8zt_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._separator_b9iob_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}._separatorH_b9iob_9{background:var(--pdf-toolbar-separator);height:1px;margin:2px 4px}
2
2
  /*$vite$:1*/
@@ -3,266 +3,289 @@ import { useScrollTracking as t } from "../hooks/useScrollTracking.js";
3
3
  import { useKeyboardShortcuts as n } from "../hooks/useKeyboardShortcuts.js";
4
4
  import { useTextLayer as r } from "../hooks/useTextLayer.js";
5
5
  import { isSafeUrl as i } from "../utils/url.js";
6
- import { useAnnotationLayer as a } from "../hooks/useAnnotationLayer.js";
7
- import { usePDFLoader as ee } from "../hooks/usePDFLoader.js";
8
- import { usePDFRenderer as te } from "../hooks/usePDFRenderer.js";
9
- import { useOverlayRects as ne } from "../hooks/useOverlayRects.js";
10
- import { usePinchZoom as re } from "../hooks/usePinchZoom.js";
11
- import { PDFJS_POLYFILL as ie, applyPdfjsPolyfill as o } from "../utils/pdfjsPolyfill.js";
12
- import { computeFit as s } from "../utils/pdfFit.js";
13
- import { ThemeProvider as ae } from "../context/ThemeContext.js";
14
- import { LabelsProvider as oe } from "../context/LabelsContext.js";
15
- import { useLabels as c } from "../hooks/useLabels.js";
16
- import l from "./PDFViewer.module.js";
17
- import { useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
18
- import * as se from "pdfjs-dist";
19
- import { Fragment as ce, jsx as h, jsxs as g } from "react/jsx-runtime";
6
+ import { useAnnotationLayer as ee } from "../hooks/useAnnotationLayer.js";
7
+ import { usePDFLoader as te } from "../hooks/usePDFLoader.js";
8
+ import { usePDFRenderer as ne } from "../hooks/usePDFRenderer.js";
9
+ import { useOverlayRects as re } from "../hooks/useOverlayRects.js";
10
+ import { usePinchZoom as ie } from "../hooks/usePinchZoom.js";
11
+ import { PDFJS_POLYFILL as ae, applyPdfjsPolyfill as a } from "../utils/pdfjsPolyfill.js";
12
+ import { computeFit as oe } from "../utils/pdfFit.js";
13
+ import { ThemeProvider as se } from "../context/ThemeContext.js";
14
+ import { LabelsProvider as ce } from "../context/LabelsContext.js";
15
+ import { useLabels as o } from "../hooks/useLabels.js";
16
+ import s from "./PDFViewer.module.js";
17
+ import { useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
18
+ import * as le from "pdfjs-dist";
19
+ import { Fragment as ue, jsx as p, jsxs as m } from "react/jsx-runtime";
20
20
  //#region src/components/PDFViewer.tsx
21
- o();
22
- var _ = 2;
23
- function le({ hasRead: e }) {
24
- let t = c();
25
- return /* @__PURE__ */ g("div", {
26
- className: `${l.requireReadBanner} ${e ? l.requireReadDone : ""}`,
27
- children: [e ? /* @__PURE__ */ h("svg", {
21
+ a();
22
+ var h = 2;
23
+ function de({ hasRead: e }) {
24
+ let t = o();
25
+ return /* @__PURE__ */ m("div", {
26
+ className: `${s.requireReadBanner} ${e ? s.requireReadDone : ""}`,
27
+ children: [e ? /* @__PURE__ */ p("svg", {
28
28
  width: "16",
29
29
  height: "16",
30
30
  viewBox: "0 0 16 16",
31
31
  fill: "none",
32
32
  "aria-hidden": "true",
33
- children: /* @__PURE__ */ h("path", {
33
+ children: /* @__PURE__ */ p("path", {
34
34
  d: "M3 8l3.5 3.5L13 4.5",
35
35
  stroke: "currentColor",
36
36
  strokeWidth: "2",
37
37
  strokeLinecap: "round",
38
38
  strokeLinejoin: "round"
39
39
  })
40
- }) : /* @__PURE__ */ h("svg", {
40
+ }) : /* @__PURE__ */ p("svg", {
41
41
  width: "16",
42
42
  height: "16",
43
43
  viewBox: "0 0 16 16",
44
44
  fill: "none",
45
45
  "aria-hidden": "true",
46
- children: /* @__PURE__ */ h("path", {
46
+ children: /* @__PURE__ */ p("path", {
47
47
  d: "M8 3v10M4 9l4 4 4-4",
48
48
  stroke: "currentColor",
49
49
  strokeWidth: "2",
50
50
  strokeLinecap: "round",
51
51
  strokeLinejoin: "round"
52
52
  })
53
- }), /* @__PURE__ */ h("span", { children: e ? t.requireReadDone : t.requireReadPending })]
53
+ }), /* @__PURE__ */ p("span", { children: e ? t.requireReadDone : t.requireReadPending })]
54
54
  });
55
55
  }
56
- var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, themeOverrides: ue, defaultTheme: de, defaultFit: x, language: fe, className: S, style: pe, requireRead: C, onDocumentRead: w }) => {
57
- d(() => {
58
- let e = new URL(c, location.href).href, t = new Blob([`${ie}\nimport(${JSON.stringify(e)});`], { type: "application/javascript" }), n = URL.createObjectURL(t);
59
- return se.GlobalWorkerOptions.workerSrc = n, () => URL.revokeObjectURL(n);
60
- }, [c]);
61
- let [T, E] = m(1), [D, me] = m(0), [O, k] = m(null), [A, he] = m([]), [j, ge] = m(!1), [M, N] = m(x ?? null), [P, F] = m(null), [I, L] = m(!1), R = p(!1), z = p(null), B = p([]), V = p([]), H = p(D);
62
- d(() => {
63
- H.current = D;
64
- }, [D]);
65
- let [_e, ve] = m(null);
66
- _e !== o && (ve(o), k(null), L(!1)), d(() => {
67
- R.current = !1;
56
+ var g = ({ file: a, workerSrc: o, sidebar: g, toolbar: _, onChangeFile: v, themeOverrides: fe, defaultTheme: pe, defaultFit: y, defaultLayout: me, language: he, className: b, style: ge, requireRead: x, onDocumentRead: _e }) => {
57
+ l(() => {
58
+ let e = new URL(o, location.href).href, t = new Blob([`${ae}\nimport(${JSON.stringify(e)});`], { type: "application/javascript" }), n = URL.createObjectURL(t);
59
+ return le.GlobalWorkerOptions.workerSrc = n, () => URL.revokeObjectURL(n);
68
60
  }, [o]);
69
- let { pdf: U, numPages: W, loading: ye } = ee(o);
70
- d(() => {
71
- U && (B.current = Array(U.numPages).fill(null), V.current = Array(U.numPages).fill(null));
72
- }, [U]), d(() => {
73
- !U || !x || !z.current || s(x, U, z.current, H.current).then(E);
74
- }, [U, x]);
75
- let G = p(M);
76
- d(() => {
77
- G.current = M;
78
- }, [M]), d(() => {
79
- if (!U || !z.current) return;
80
- let e = z.current, t = new ResizeObserver(() => {
81
- G.current && s(G.current, U, e, H.current).then(E);
61
+ let [S, C] = f(1), [w, ve] = f(0), [T, E] = f(null), [D, ye] = f([]), [O, be] = f(!1), [k, A] = f(y ?? null), [j, xe] = f(me ?? "continuous"), [M, N] = f(null), [P, F] = f(!1), I = d(!1), L = d(null), R = d([]), z = d([]), B = d(w);
62
+ l(() => {
63
+ B.current = w;
64
+ }, [w]);
65
+ let [Se, Ce] = f(null);
66
+ Se !== a && (Ce(a), E(null), F(!1)), l(() => {
67
+ I.current = !1;
68
+ }, [a]);
69
+ let { pdf: V, numPages: H, loading: we } = te(a);
70
+ l(() => {
71
+ V && (R.current = Array(V.numPages).fill(null), z.current = Array(V.numPages).fill(null));
72
+ }, [V]), l(() => {
73
+ !V || !y || !L.current || oe(y, V, L.current, B.current).then(C);
74
+ }, [V, y]);
75
+ let U = d(k);
76
+ l(() => {
77
+ U.current = k;
78
+ }, [k]), l(() => {
79
+ if (!V || !L.current) return;
80
+ let e = L.current, t = new ResizeObserver(() => {
81
+ U.current && oe(U.current, V, e, B.current).then(C);
82
82
  });
83
83
  return t.observe(e), () => t.disconnect();
84
- }, [U]);
85
- let { currentPage: K, goToPage: q } = t({
86
- numPages: W,
87
- containerRef: z,
88
- pageRefs: B
89
- });
90
- d(() => {
91
- W === 0 || K < W || (C && !I && L(!0), R.current || (R.current = !0, w?.()));
84
+ }, [V]);
85
+ let { currentPage: W, goToPage: G } = t({
86
+ numPages: H,
87
+ containerRef: L,
88
+ pageRefs: R
89
+ }), [K, Te] = f([]);
90
+ l(() => {
91
+ let e = L.current;
92
+ if (!e || H === 0) return;
93
+ let t = /* @__PURE__ */ new Set(), n = new IntersectionObserver((e) => {
94
+ let n = !1;
95
+ for (let r of e) {
96
+ let e = R.current.indexOf(r.target);
97
+ if (e === -1) continue;
98
+ let i = e + 1;
99
+ r.isIntersecting ? t.has(i) || (t.add(i), n = !0) : t.delete(i) && (n = !0);
100
+ }
101
+ n && Te(Array.from(t).sort((e, t) => e - t));
102
+ }, {
103
+ root: e,
104
+ rootMargin: "300px 0px",
105
+ threshold: 0
106
+ });
107
+ return R.current.forEach((e) => e && n.observe(e)), () => n.disconnect();
108
+ }, [H, j]), l(() => {
109
+ H === 0 || W < H || (x && !P && F(!0), I.current || (I.current = !0, _e?.()));
92
110
  }, [
93
- K,
94
111
  W,
95
- C,
96
- I,
97
- w
112
+ H,
113
+ x,
114
+ P,
115
+ _e
98
116
  ]);
99
- let J = f(() => {
100
- if (W === 0) return [];
101
- let e = /* @__PURE__ */ new Set(), t = Math.max(K - _, 1), n = Math.min(K + _, W);
117
+ let q = u(() => {
118
+ if (H === 0) return [];
119
+ let e = /* @__PURE__ */ new Set(), t = Math.max(W - h, 1), n = Math.min(W + h, H);
102
120
  for (let r = t; r <= n; r++) e.add(r);
103
- O && e.add(O.page);
104
- for (let t of A) e.add(t.page);
121
+ for (let t of K) e.add(t);
122
+ T && e.add(T.page);
123
+ for (let t of D) e.add(t.page);
105
124
  return Array.from(e).sort((e, t) => e - t);
106
125
  }, [
107
- K,
108
126
  W,
109
- O,
110
- A
111
- ]), { pageSizes: be, renderedPages: Y } = te({
112
- pdf: U,
113
- zoom: T,
114
- rotation: D,
115
- visiblePages: J,
116
- canvasRefs: V
117
- }), X = f(() => {
118
- let e = new Set(J);
119
- for (let t of Y) e.add(t);
127
+ H,
128
+ T,
129
+ D,
130
+ K
131
+ ]), { pageSizes: Ee, renderedPages: J } = ne({
132
+ pdf: V,
133
+ zoom: S,
134
+ rotation: w,
135
+ visiblePages: q,
136
+ canvasRefs: z
137
+ }), Y = u(() => {
138
+ let e = new Set(q);
139
+ for (let t of J) e.add(t);
120
140
  return Array.from(e).sort((e, t) => e - t);
121
- }, [J, Y]);
141
+ }, [q, J]);
122
142
  n({
123
- pdf: U,
124
- currentPage: K,
125
- goToPage: q,
126
- setRotation: me
127
- }), re(z, T, E, N);
128
- let xe = r({
129
- pdf: U,
130
- zoom: T,
131
- rotation: D,
132
- mountedPages: X,
133
- canvasRefs: V
134
- }), { linkOverlays: Se, noteOverlays: Ce } = a({
135
- pdf: U,
136
- zoom: T,
137
- rotation: D,
138
- mountedPages: X,
139
- goToPage: q
143
+ pdf: V,
144
+ currentPage: W,
145
+ goToPage: G,
146
+ setRotation: ve
147
+ }), ie(L, S, C, A);
148
+ let De = r({
149
+ pdf: V,
150
+ zoom: S,
151
+ rotation: w,
152
+ mountedPages: Y,
153
+ canvasRefs: z
154
+ }), { linkOverlays: Oe, noteOverlays: ke } = ee({
155
+ pdf: V,
156
+ zoom: S,
157
+ rotation: w,
158
+ mountedPages: Y,
159
+ goToPage: G
140
160
  });
141
- d(() => {
142
- if (!P) return;
143
- let e = () => F(null), t = (e) => {
144
- e.key === "Escape" && F(null);
161
+ l(() => {
162
+ if (!M) return;
163
+ let e = () => N(null), t = (e) => {
164
+ e.key === "Escape" && N(null);
145
165
  };
146
166
  return document.addEventListener("click", e), document.addEventListener("keydown", t), () => {
147
167
  document.removeEventListener("click", e), document.removeEventListener("keydown", t);
148
168
  };
149
- }, [P]);
150
- let { overlayRect: Z, searchOverlays: we } = ne({
151
- pdf: U,
152
- highlight: O,
153
- searchMatches: A,
154
- zoom: T,
155
- rotation: D
156
- }), Te = u((e, t) => {
169
+ }, [M]);
170
+ let { overlayRect: X, searchOverlays: Ae } = re({
171
+ pdf: V,
172
+ highlight: T,
173
+ searchMatches: D,
174
+ zoom: S,
175
+ rotation: w
176
+ }), je = c((e, t) => {
157
177
  (!e.url || !i(e.url)) && (t.preventDefault(), e.url || e._handleClick());
158
- }, []), Q = p(null), Ee = u((e, t) => {
159
- Q.current && clearTimeout(Q.current);
178
+ }, []), Z = d(null), Me = c((e, t) => {
179
+ Z.current && clearTimeout(Z.current);
160
180
  let n = t.clientY > window.innerHeight * .6;
161
- F({
181
+ N({
162
182
  x: Math.min(t.clientX, window.innerWidth - 304),
163
183
  y: n ? window.innerHeight - t.clientY + 8 : t.clientY + 12,
164
184
  above: n,
165
185
  contents: e.contents,
166
186
  title: e.title
167
187
  });
168
- }, []), $ = u(() => {
169
- Q.current = setTimeout(() => F(null), 200);
170
- }, []), De = u((e) => {
171
- k({
188
+ }, []), Q = c(() => {
189
+ Z.current = setTimeout(() => N(null), 200);
190
+ }, []), $ = c((e) => {
191
+ E({
172
192
  page: e.page,
173
193
  pdfRect: e.pdfRect
174
- }), q(e.page);
175
- }, [k, q]), Oe = f(() => ({
176
- pdf: U,
177
- numPages: W,
178
- zoom: T,
179
- setZoom: E,
180
- rotation: D,
181
- setRotation: me,
182
- currentPage: K,
183
- goToPage: q,
184
- containerRef: z,
185
- canvasRefs: V,
186
- file: o,
187
- highlight: O,
188
- setHighlight: k,
189
- searchMatches: A,
190
- setSearchMatches: he,
191
- onChangeFile: b,
192
- sidebarCollapsed: j,
193
- setSidebarCollapsed: ge,
194
- fitMode: M,
195
- setFitMode: N,
196
- navigationLocked: !!C && !I
194
+ }), G(e.page);
195
+ }, [E, G]), Ne = u(() => ({
196
+ pdf: V,
197
+ numPages: H,
198
+ zoom: S,
199
+ setZoom: C,
200
+ rotation: w,
201
+ setRotation: ve,
202
+ currentPage: W,
203
+ goToPage: G,
204
+ containerRef: L,
205
+ canvasRefs: z,
206
+ file: a,
207
+ highlight: T,
208
+ setHighlight: E,
209
+ searchMatches: D,
210
+ setSearchMatches: ye,
211
+ onChangeFile: v,
212
+ sidebarCollapsed: O,
213
+ setSidebarCollapsed: be,
214
+ fitMode: k,
215
+ setFitMode: A,
216
+ pageLayout: j,
217
+ setPageLayout: xe,
218
+ navigationLocked: !!x && !P
197
219
  }), [
198
- U,
220
+ V,
221
+ H,
222
+ S,
223
+ w,
199
224
  W,
225
+ G,
226
+ a,
200
227
  T,
201
228
  D,
202
- K,
203
- q,
204
- o,
229
+ v,
205
230
  O,
206
- A,
207
- b,
231
+ k,
208
232
  j,
209
- M,
210
- C,
211
- I
233
+ x,
234
+ P
212
235
  ]);
213
- return /* @__PURE__ */ h(ae, {
214
- themeOverrides: ue,
215
- defaultTheme: de,
216
- children: /* @__PURE__ */ h(oe, {
217
- language: fe,
218
- children: /* @__PURE__ */ g(e.Provider, {
219
- value: Oe,
220
- children: [/* @__PURE__ */ g("div", {
221
- className: `${l.appLayout}${S ? ` ${S}` : ""}`,
222
- style: pe,
223
- children: [y && /* @__PURE__ */ h("div", {
224
- className: l.toolbar,
225
- children: y
226
- }), /* @__PURE__ */ g("div", {
227
- className: l.body,
228
- children: [v, /* @__PURE__ */ g("div", {
229
- className: l.scrollContainer,
230
- ref: z,
236
+ return /* @__PURE__ */ p(se, {
237
+ themeOverrides: fe,
238
+ defaultTheme: pe,
239
+ children: /* @__PURE__ */ p(ce, {
240
+ language: he,
241
+ children: /* @__PURE__ */ m(e.Provider, {
242
+ value: Ne,
243
+ children: [/* @__PURE__ */ m("div", {
244
+ className: `${s.appLayout}${b ? ` ${b}` : ""}`,
245
+ style: ge,
246
+ children: [_ && /* @__PURE__ */ p("div", {
247
+ className: s.toolbar,
248
+ children: _
249
+ }), /* @__PURE__ */ m("div", {
250
+ className: s.body,
251
+ children: [g, /* @__PURE__ */ m("div", {
252
+ className: `${s.scrollContainer} ${j === "single" ? s.single : j === "spread" ? s.spread : ""}`,
253
+ ref: L,
231
254
  children: [
232
- ye && /* @__PURE__ */ h("div", { className: l.documentLoading }),
233
- Array.from({ length: W }, (e, t) => {
234
- let n = Y.has(t + 1), r = be[t], a = X.includes(t + 1);
235
- return /* @__PURE__ */ g("div", {
236
- className: l.pageWrapper,
255
+ we && /* @__PURE__ */ p("div", { className: s.documentLoading }),
256
+ Array.from({ length: H }, (e, t) => {
257
+ let n = J.has(t + 1), r = Ee[t], ee = Y.includes(t + 1);
258
+ return /* @__PURE__ */ m("div", {
259
+ className: `${s.pageWrapper}${t + 1 === W ? ` ${s.currentPage}` : ""}`,
237
260
  ref: (e) => {
238
- B.current[t] = e;
261
+ R.current[t] = e;
239
262
  },
240
263
  style: r ? {
241
264
  width: r.width,
242
265
  height: r.height
243
266
  } : void 0,
244
267
  children: [
245
- r && !n && /* @__PURE__ */ h("div", {
246
- className: l.pageSkeleton,
268
+ r && !n && /* @__PURE__ */ p("div", {
269
+ className: s.pageSkeleton,
247
270
  style: {
248
271
  width: r.width,
249
272
  height: r.height
250
273
  }
251
274
  }),
252
- a && /* @__PURE__ */ g(ce, { children: [/* @__PURE__ */ h("canvas", {
253
- className: l.pageCanvas,
275
+ ee && /* @__PURE__ */ m(ue, { children: [/* @__PURE__ */ p("canvas", {
276
+ className: s.pageCanvas,
254
277
  ref: (e) => {
255
- V.current[t] = e;
278
+ z.current[t] = e;
256
279
  },
257
280
  style: { display: n ? "block" : "none" }
258
- }), /* @__PURE__ */ h("div", {
259
- className: `textLayer ${l.textLayer}`,
281
+ }), /* @__PURE__ */ p("div", {
282
+ className: `textLayer ${s.textLayer}`,
260
283
  ref: (e) => {
261
- xe.current[t] = e;
284
+ De.current[t] = e;
262
285
  }
263
286
  })] }),
264
- Se.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ h("a", {
265
- className: l.linkOverlay,
287
+ Oe.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ p("a", {
288
+ className: s.linkOverlay,
266
289
  href: e.url && i(e.url) ? e.url : "#",
267
290
  target: "_blank",
268
291
  rel: "noopener noreferrer",
@@ -272,27 +295,27 @@ var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, theme
272
295
  width: e.width,
273
296
  height: e.height
274
297
  },
275
- onClick: (t) => Te(e, t)
298
+ onClick: (t) => je(e, t)
276
299
  }, t)),
277
- Ce.filter((e) => e.page === t + 1).map((e, t) => e.subtype === "Text" ? /* @__PURE__ */ h("div", {
278
- className: l.noteIconOverlay,
300
+ ke.filter((e) => e.page === t + 1).map((e, t) => e.subtype === "Text" ? /* @__PURE__ */ p("div", {
301
+ className: s.noteIconOverlay,
279
302
  style: {
280
303
  left: e.x,
281
304
  top: e.y,
282
305
  width: Math.max(e.width, 26),
283
306
  height: Math.max(e.height, 26)
284
307
  },
285
- onMouseEnter: (t) => Ee(e, t),
286
- onMouseLeave: $,
287
- onClick: () => De(e),
288
- children: /* @__PURE__ */ g("svg", {
308
+ onMouseEnter: (t) => Me(e, t),
309
+ onMouseLeave: Q,
310
+ onClick: () => $(e),
311
+ children: /* @__PURE__ */ m("svg", {
289
312
  width: "22",
290
313
  height: "22",
291
314
  viewBox: "0 0 12 12",
292
315
  fill: "none",
293
316
  "aria-hidden": "true",
294
317
  children: [
295
- /* @__PURE__ */ h("rect", {
318
+ /* @__PURE__ */ p("rect", {
296
319
  x: "0.5",
297
320
  y: "0.5",
298
321
  width: "9",
@@ -302,13 +325,13 @@ var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, theme
302
325
  stroke: "rgba(160,120,0,0.7)",
303
326
  strokeWidth: "1"
304
327
  }),
305
- /* @__PURE__ */ h("path", {
328
+ /* @__PURE__ */ p("path", {
306
329
  d: "M9.5 5.5v3l2.5-3z",
307
330
  fill: "rgba(255,210,0,0.9)",
308
331
  stroke: "rgba(160,120,0,0.7)",
309
332
  strokeWidth: "1"
310
333
  }),
311
- /* @__PURE__ */ h("line", {
334
+ /* @__PURE__ */ p("line", {
312
335
  x1: "2",
313
336
  y1: "3",
314
337
  x2: "8",
@@ -317,7 +340,7 @@ var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, theme
317
340
  strokeWidth: "1",
318
341
  strokeLinecap: "round"
319
342
  }),
320
- /* @__PURE__ */ h("line", {
343
+ /* @__PURE__ */ p("line", {
321
344
  x1: "2",
322
345
  y1: "5.5",
323
346
  x2: "7",
@@ -328,20 +351,20 @@ var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, theme
328
351
  })
329
352
  ]
330
353
  })
331
- }, t) : /* @__PURE__ */ h("div", {
332
- className: l.noteOverlay,
354
+ }, t) : /* @__PURE__ */ p("div", {
355
+ className: s.noteOverlay,
333
356
  style: {
334
357
  left: e.x,
335
358
  top: e.y,
336
359
  width: e.width,
337
360
  height: e.height
338
361
  },
339
- onMouseEnter: (t) => Ee(e, t),
340
- onMouseLeave: $,
341
- onClick: () => De(e)
362
+ onMouseEnter: (t) => Me(e, t),
363
+ onMouseLeave: Q,
364
+ onClick: () => $(e)
342
365
  }, t)),
343
- we.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ h("div", {
344
- className: l.searchMatchOverlay,
366
+ Ae.filter((e) => e.page === t + 1).map((e, t) => /* @__PURE__ */ p("div", {
367
+ className: s.searchMatchOverlay,
345
368
  style: {
346
369
  left: e.x,
347
370
  top: e.y,
@@ -349,42 +372,42 @@ var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, theme
349
372
  height: e.height
350
373
  }
351
374
  }, t)),
352
- O && Z?.page === t + 1 && /* @__PURE__ */ h("div", {
353
- className: l.highlightOverlay,
375
+ T && X?.page === t + 1 && /* @__PURE__ */ p("div", {
376
+ className: s.highlightOverlay,
354
377
  style: {
355
- left: Z.x,
356
- top: Z.y,
357
- width: Z.width,
358
- height: Z.height
378
+ left: X.x,
379
+ top: X.y,
380
+ width: X.width,
381
+ height: X.height
359
382
  }
360
383
  })
361
384
  ]
362
- }, `${t}-${D}`);
385
+ }, `${t}-${w}`);
363
386
  }),
364
- C && /* @__PURE__ */ h(le, { hasRead: I })
387
+ x && /* @__PURE__ */ p(de, { hasRead: P })
365
388
  ]
366
389
  })]
367
390
  })]
368
- }), P && /* @__PURE__ */ g("div", {
369
- className: l.notePopover,
370
- style: P.above ? {
371
- left: P.x,
372
- bottom: P.y
391
+ }), M && /* @__PURE__ */ m("div", {
392
+ className: s.notePopover,
393
+ style: M.above ? {
394
+ left: M.x,
395
+ bottom: M.y
373
396
  } : {
374
- left: P.x,
375
- top: P.y
397
+ left: M.x,
398
+ top: M.y
376
399
  },
377
400
  onMouseEnter: () => {
378
- Q.current && clearTimeout(Q.current);
401
+ Z.current && clearTimeout(Z.current);
379
402
  },
380
- onMouseLeave: $,
403
+ onMouseLeave: Q,
381
404
  onClick: (e) => e.stopPropagation(),
382
- children: [P.title && /* @__PURE__ */ h("div", {
383
- className: l.notePopoverTitle,
384
- children: P.title
385
- }), /* @__PURE__ */ h("p", {
386
- className: l.notePopoverContent,
387
- children: P.contents
405
+ children: [M.title && /* @__PURE__ */ p("div", {
406
+ className: s.notePopoverTitle,
407
+ children: M.title
408
+ }), /* @__PURE__ */ p("p", {
409
+ className: s.notePopoverContent,
410
+ children: M.contents
388
411
  })]
389
412
  })]
390
413
  })
@@ -392,4 +415,4 @@ var v = ({ file: o, workerSrc: c, sidebar: v, toolbar: y, onChangeFile: b, theme
392
415
  });
393
416
  };
394
417
  //#endregion
395
- export { v as default };
418
+ export { g as default };
@@ -1,27 +1,30 @@
1
1
  var e = {
2
- appLayout: "_appLayout_rgnuz_1",
3
- body: "_body_rgnuz_9",
4
- toolbar: "_toolbar_rgnuz_17",
5
- scrollContainer: "_scrollContainer_rgnuz_29",
6
- pageWrapper: "_pageWrapper_rgnuz_41",
7
- pageCanvas: "_pageCanvas_rgnuz_46",
8
- textLayer: "_textLayer_rgnuz_55",
9
- markedContent: "_markedContent_rgnuz_81",
10
- endOfContent: "_endOfContent_rgnuz_96",
11
- selecting: "_selecting_rgnuz_105",
12
- documentLoading: "_documentLoading_rgnuz_125",
13
- spin: "_spin_rgnuz_1",
14
- pageSkeleton: "_pageSkeleton_rgnuz_145",
15
- highlightOverlay: "_highlightOverlay_rgnuz_174",
16
- linkOverlay: "_linkOverlay_rgnuz_183",
17
- searchMatchOverlay: "_searchMatchOverlay_rgnuz_190",
18
- noteOverlay: "_noteOverlay_rgnuz_198",
19
- noteIconOverlay: "_noteIconOverlay_rgnuz_205",
20
- requireReadBanner: "_requireReadBanner_rgnuz_222",
21
- requireReadDone: "_requireReadDone_rgnuz_246",
22
- notePopover: "_notePopover_rgnuz_250",
23
- notePopoverTitle: "_notePopoverTitle_rgnuz_263",
24
- notePopoverContent: "_notePopoverContent_rgnuz_270"
2
+ appLayout: "_appLayout_1fhoj_1",
3
+ body: "_body_1fhoj_9",
4
+ toolbar: "_toolbar_1fhoj_17",
5
+ scrollContainer: "_scrollContainer_1fhoj_29",
6
+ pageWrapper: "_pageWrapper_1fhoj_41",
7
+ single: "_single_1fhoj_47",
8
+ currentPage: "_currentPage_1fhoj_51",
9
+ spread: "_spread_1fhoj_56",
10
+ requireReadBanner: "_requireReadBanner_1fhoj_68",
11
+ pageCanvas: "_pageCanvas_1fhoj_72",
12
+ textLayer: "_textLayer_1fhoj_81",
13
+ markedContent: "_markedContent_1fhoj_107",
14
+ endOfContent: "_endOfContent_1fhoj_122",
15
+ selecting: "_selecting_1fhoj_131",
16
+ documentLoading: "_documentLoading_1fhoj_151",
17
+ spin: "_spin_1fhoj_1",
18
+ pageSkeleton: "_pageSkeleton_1fhoj_171",
19
+ highlightOverlay: "_highlightOverlay_1fhoj_200",
20
+ linkOverlay: "_linkOverlay_1fhoj_209",
21
+ searchMatchOverlay: "_searchMatchOverlay_1fhoj_216",
22
+ noteOverlay: "_noteOverlay_1fhoj_224",
23
+ noteIconOverlay: "_noteIconOverlay_1fhoj_231",
24
+ requireReadDone: "_requireReadDone_1fhoj_272",
25
+ notePopover: "_notePopover_1fhoj_276",
26
+ notePopoverTitle: "_notePopoverTitle_1fhoj_289",
27
+ notePopoverContent: "_notePopoverContent_1fhoj_296"
25
28
  };
26
29
  //#endregion
27
30
  export { e as default };
@@ -0,0 +1,70 @@
1
+ import { usePDFViewer as e } from "../../context/PDFViewerContext.js";
2
+ import { useLabels as t } from "../../hooks/useLabels.js";
3
+ import { ToolbarButton as n } from "../ui/ToolbarButton.js";
4
+ import { IconChevronDown as r } from "../ui/icons.js";
5
+ import i from "./PDFViewModeToggle.module.js";
6
+ import { useCallback as a, useEffect as o, useRef as s, useState as c } from "react";
7
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
+ //#region src/components/features/PDFViewModeToggle.tsx
9
+ function d({ continuousIcon: d, singleIcon: f, spreadIcon: p }) {
10
+ let { pageLayout: m, setPageLayout: h } = e(), g = t(), [_, v] = c(!1), y = s(null), b = [
11
+ {
12
+ value: "continuous",
13
+ icon: d,
14
+ title: g.continuousViewTitle
15
+ },
16
+ {
17
+ value: "single",
18
+ icon: f,
19
+ title: g.singleViewTitle
20
+ },
21
+ {
22
+ value: "spread",
23
+ icon: p,
24
+ title: g.spreadViewTitle
25
+ }
26
+ ], x = b.find((e) => e.value === m) ?? b[0], S = a((e) => {
27
+ h(e), v(!1);
28
+ }, [h]);
29
+ return o(() => {
30
+ if (!_) return;
31
+ let e = (e) => {
32
+ y.current?.contains(e.target) || v(!1);
33
+ };
34
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
35
+ }, [_]), /* @__PURE__ */ u("div", {
36
+ ref: y,
37
+ className: i.wrapper,
38
+ children: [/* @__PURE__ */ u(n, {
39
+ onClick: () => v((e) => !e),
40
+ title: g.viewModeToolbarLabel,
41
+ "aria-haspopup": "true",
42
+ "aria-expanded": _,
43
+ className: _ ? i.triggerActive : void 0,
44
+ children: [x.icon, /* @__PURE__ */ l("span", {
45
+ className: i.caret,
46
+ children: /* @__PURE__ */ l(r, { size: 12 })
47
+ })]
48
+ }), _ && /* @__PURE__ */ l("div", {
49
+ className: i.dropdown,
50
+ role: "menu",
51
+ children: b.map((e) => /* @__PURE__ */ u("button", {
52
+ type: "button",
53
+ role: "menuitemradio",
54
+ "aria-checked": e.value === m,
55
+ className: `${i.option}${e.value === m ? ` ${i.optionActive}` : ""}`,
56
+ onClick: () => S(e.value),
57
+ children: [/* @__PURE__ */ l("span", {
58
+ className: i.optionIcon,
59
+ children: e.icon
60
+ }), /* @__PURE__ */ l("span", {
61
+ className: i.optionLabel,
62
+ children: e.title
63
+ })]
64
+ }, e.value))
65
+ })]
66
+ });
67
+ }
68
+ d.toolbarLabelKey = "viewModeToolbarLabel";
69
+ //#endregion
70
+ export { d as PDFViewModeToggle };
@@ -0,0 +1,12 @@
1
+ var e = {
2
+ wrapper: "_wrapper_a1x4x_1",
3
+ triggerActive: "_triggerActive_a1x4x_7",
4
+ caret: "_caret_a1x4x_12",
5
+ dropdown: "_dropdown_a1x4x_19",
6
+ option: "_option_a1x4x_35",
7
+ optionActive: "_optionActive_a1x4x_61",
8
+ optionIcon: "_optionIcon_a1x4x_65",
9
+ optionLabel: "_optionLabel_a1x4x_71"
10
+ };
11
+ //#endregion
12
+ export { e as default };
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
+ <rect width="64" height="64" rx="14" fill="#0a0a0f"/>
3
+ <text x="50%" y="29" dominant-baseline="middle" text-anchor="middle"
4
+ font-family="system-ui, -apple-system, 'Segoe UI', sans-serif"
5
+ font-weight="800" font-size="22" letter-spacing="-1" fill="#e11d48">pdf</text>
6
+ <text x="50%" y="49" dominant-baseline="middle" text-anchor="middle"
7
+ font-family="system-ui, -apple-system, 'Segoe UI', sans-serif"
8
+ font-weight="800" font-size="22" letter-spacing="-1" fill="#f4f4f6">tsx</text>
9
+ </svg>
package/dist/es/index.js CHANGED
@@ -9,15 +9,16 @@ import { PDFDownloadButton as d } from "./components/features/PDFDownloadButton.
9
9
  import { PDFNavigation as f } from "./components/features/PDFNavigation.js";
10
10
  import { PDFOutline as p } from "./components/features/PDFOutline.js";
11
11
  import { PDFPageFit as m } from "./components/features/PDFPageFit.js";
12
- import { PDFRotationControl as h } from "./components/features/PDFRotationControl.js";
13
- import { PDFSearch as g } from "./components/features/PDFSearch.js";
14
- import { PDFSignatures as _, PDFSignaturesIcon as v } from "./components/features/PDFSignatures.js";
15
- import { PDFThumbnails as y } from "./components/features/PDFThumbnails.js";
16
- import { PDFZoomControls as b } from "./components/features/PDFZoomControls.js";
17
- import { PDFThemeToggle as x } from "./components/features/PDFThemeToggle.js";
18
- import { PDFPrintButton as S } from "./components/features/PDFPrintButton.js";
19
- import { PDFSidebarToggle as C } from "./components/features/PDFSidebarToggle.js";
20
- import { PDFToolbar as w } from "./components/ui/PDFToolbar.js";
21
- import { PDFToolbarItem as T } from "./components/ui/PDFToolbarItem.js";
22
- import { PDFToolbarSeparator as E } from "./components/ui/PDFToolbarSeparator.js";
23
- export { c as PDFAnnotations, l as PDFAnnotationsIcon, o as PDFAttachments, s as PDFAttachmentsIcon, u as PDFChangeFile, d as PDFDownloadButton, f as PDFNavigation, p as PDFOutline, m as PDFPageFit, S as PDFPrintButton, h as PDFRotationControl, g as PDFSearch, a as PDFSidebar, C as PDFSidebarToggle, _ as PDFSignatures, v as PDFSignaturesIcon, x as PDFThemeToggle, y as PDFThumbnails, w as PDFToolbar, T as PDFToolbarItem, E as PDFToolbarSeparator, i as PDFViewer, b as PDFZoomControls, e as darkTheme, n as englishLabels, r as italianLabels, t as lightTheme };
12
+ import { PDFViewModeToggle as h } from "./components/features/PDFViewModeToggle.js";
13
+ import { PDFRotationControl as g } from "./components/features/PDFRotationControl.js";
14
+ import { PDFSearch as _ } from "./components/features/PDFSearch.js";
15
+ import { PDFSignatures as v, PDFSignaturesIcon as y } from "./components/features/PDFSignatures.js";
16
+ import { PDFThumbnails as b } from "./components/features/PDFThumbnails.js";
17
+ import { PDFZoomControls as x } from "./components/features/PDFZoomControls.js";
18
+ import { PDFThemeToggle as S } from "./components/features/PDFThemeToggle.js";
19
+ import { PDFPrintButton as C } from "./components/features/PDFPrintButton.js";
20
+ import { PDFSidebarToggle as w } from "./components/features/PDFSidebarToggle.js";
21
+ import { PDFToolbar as T } from "./components/ui/PDFToolbar.js";
22
+ import { PDFToolbarItem as E } from "./components/ui/PDFToolbarItem.js";
23
+ import { PDFToolbarSeparator as D } from "./components/ui/PDFToolbarSeparator.js";
24
+ export { c as PDFAnnotations, l as PDFAnnotationsIcon, o as PDFAttachments, s as PDFAttachmentsIcon, u as PDFChangeFile, d as PDFDownloadButton, f as PDFNavigation, p as PDFOutline, m as PDFPageFit, C as PDFPrintButton, g as PDFRotationControl, _ as PDFSearch, a as PDFSidebar, w as PDFSidebarToggle, v as PDFSignatures, y as PDFSignaturesIcon, S as PDFThemeToggle, b as PDFThumbnails, T as PDFToolbar, E as PDFToolbarItem, D as PDFToolbarSeparator, h as PDFViewModeToggle, i as PDFViewer, x as PDFZoomControls, e as darkTheme, n as englishLabels, r as italianLabels, t as lightTheme };
package/dist/es/labels.js CHANGED
@@ -22,6 +22,10 @@ var e = {
22
22
  fitWidthTitle: "Adatta alla larghezza",
23
23
  fitPageTitle: "Adatta pagina intera",
24
24
  fitToolbarLabel: "Adatta",
25
+ viewModeToolbarLabel: "Visualizzazione",
26
+ continuousViewTitle: "Scorrimento continuo",
27
+ singleViewTitle: "Pagina singola",
28
+ spreadViewTitle: "Due pagine affiancate",
25
29
  switchToLightTitle: "Switch to light mode",
26
30
  switchToDarkTitle: "Switch to dark mode",
27
31
  themeToolbarLabel: "Tema",
@@ -84,6 +88,10 @@ var e = {
84
88
  fitWidthTitle: "Fit to width",
85
89
  fitPageTitle: "Fit whole page",
86
90
  fitToolbarLabel: "Fit",
91
+ viewModeToolbarLabel: "View",
92
+ continuousViewTitle: "Continuous scroll",
93
+ singleViewTitle: "Single page",
94
+ spreadViewTitle: "Two-page spread",
87
95
  switchToLightTitle: "Switch to light mode",
88
96
  switchToDarkTitle: "Switch to dark mode",
89
97
  themeToolbarLabel: "Theme",
@@ -1,2 +1,2 @@
1
- ._wrapper_1kvg0_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1kvg0_7{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1kvg0_16{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1kvg0_26{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1kvg0_35{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_1kvg0_35:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1kvg0_57{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1kvg0_57:hover{color:var(--pdf-accent-light)}._contentPanel_1kvg0_66{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1kvg0_74{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_1kvg0_86{flex:1;overflow-y:auto}._appLayout_rgnuz_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_rgnuz_9{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_rgnuz_17{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_rgnuz_29{scrollbar-gutter:stable;background-color:var(--pdf-scroll-area);touch-action:pan-x pan-y;flex-direction:column;flex:1;padding:10px 20px;display:flex;position:relative;overflow:auto}._pageWrapper_rgnuz_41{margin:0 auto 25px;position:relative}._pageCanvas_rgnuz_46{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_rgnuz_55{--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_rgnuz_55 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_rgnuz_55>:not(._markedContent_rgnuz_81),._textLayer_rgnuz_55 ._markedContent_rgnuz_81 span:not(._markedContent_rgnuz_81){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_rgnuz_55 ._markedContent_rgnuz_81{display:contents}._textLayer_rgnuz_55 ._endOfContent_rgnuz_96{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_rgnuz_55._selecting_rgnuz_105 ._endOfContent_rgnuz_96{top:0}._textLayer_rgnuz_55 ::selection{background:#0000ff40}._textLayer_rgnuz_55 br::selection{background:0 0}._documentLoading_rgnuz_125{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_rgnuz_125:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_rgnuz_1}._pageSkeleton_rgnuz_145{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_rgnuz_145:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_rgnuz_1}@keyframes _spin_rgnuz_1{to{transform:rotate(360deg)}}._highlightOverlay_rgnuz_174{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_rgnuz_183{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_rgnuz_190{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._noteOverlay_rgnuz_198{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._noteIconOverlay_rgnuz_205{z-index:3;pointer-events:all;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;transition:background-color .1s;display:flex;position:absolute}._noteIconOverlay_rgnuz_205:hover{background-color:#ffd20033;outline:1px solid #a0780066}._requireReadBanner_rgnuz_222{font-size:13px;font-weight:500;font-family:var(--pdf-font-family);color:#fff;background-color:color-mix(in srgb, var(--pdf-accent) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;margin-right:25px;padding:9px 16px;transition:background-color .4s;display:flex;position:sticky;bottom:12px;box-shadow:0 2px 12px #0000002e}._requireReadDone_rgnuz_246{background-color:#16a34abf}._notePopover_rgnuz_250{z-index:9999;background-color:var(--pdf-surface);border:1px solid var(--pdf-border);min-width:160px;max-width:280px;font-family:var(--pdf-font-family);border-radius:6px;padding:10px 12px;position:fixed;box-shadow:0 4px 16px #00000026}._notePopoverTitle_rgnuz_263{color:var(--pdf-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}._notePopoverContent_rgnuz_270{color:var(--pdf-text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}._list_gygvf_1{flex-direction:column;display:flex}._emptyState_gygvf_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_gygvf_12{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_gygvf_23{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_gygvf_33{cursor:pointer}._cardClickable_gygvf_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_gygvf_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_gygvf_48{color:var(--pdf-text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}._cardPage_gygvf_57{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_gygvf_62{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_gygvf_68{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_gygvf_74{justify-content:center;align-items:center;display:flex;position:relative}._badge_gygvf_81{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_12ybz_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_12ybz_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_12ybz_15{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_12ybz_33{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_12ybz_40{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_12ybz_51{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_12ybz_51:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_12ybz_77{justify-content:center;align-items:center;display:flex;position:relative}._badge_12ybz_84{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_1dub8_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_1dub8_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_1dub8_1:disabled{color:var(--pdf-border);cursor:default}._primary_1dub8_31{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_1dub8_31:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_14eo9_1{align-items:center;gap:2px;display:flex}._pageInput_14eo9_7{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_14eo9_7:focus{border-color:var(--pdf-accent)}._pageInput_14eo9_7::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_14eo9_7::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_14eo9_7{-moz-appearance:textfield}._pageTotal_14eo9_34{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_hqvdn_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_hqvdn_7{flex-direction:column;padding:4px 0;display:flex}._row_hqvdn_13{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_hqvdn_13:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_hqvdn_31{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_hqvdn_31:hover{color:var(--pdf-text-muted)}._title_hqvdn_46{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_18kvs_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_18kvs_7{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_18kvs_13{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_18kvs_13:focus{border-color:var(--pdf-accent)}._searchInput_18kvs_13::placeholder{color:var(--pdf-text-placeholder)}._navButton_18kvs_33{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_18kvs_33:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_18kvs_33:disabled{color:var(--pdf-border);cursor:default}._counter_18kvs_54{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_b0wj1_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_b0wj1_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_b0wj1_15{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_b0wj1_32{background:#22c55e0a;border-color:#22c55e47}._cardClickable_b0wj1_37{cursor:pointer}._cardClickable_b0wj1_37:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_b0wj1_32._cardClickable_b0wj1_37:hover{border-color:#22c55e73}._cardBody_b0wj1_50{padding:10px 12px 10px 16px}._cardHeader_b0wj1_54{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_b0wj1_62{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_b0wj1_73{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_b0wj1_89{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_b0wj1_95{flex-direction:column;gap:4px;display:flex}._fieldRow_b0wj1_101{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_b0wj1_109{color:var(--pdf-text-muted);font-weight:500}._fieldValue_b0wj1_114{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_b0wj1_119{justify-content:center;align-items:center;display:flex;position:relative}._badge_b0wj1_126{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_t3mg8_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_t3mg8_6{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_t3mg8_6:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_t3mg8_19{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_t3mg8_19:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_t3mg8_28{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_t3mg8_34{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_t3mg8_40{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_t3mg8_1}@keyframes _shimmer_t3mg8_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_t3mg8_63{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_t3mg8_70{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_m8iv9_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1b8zt_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1b8zt_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1b8zt_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1b8zt_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1b8zt_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_1b8zt_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1b8zt_41>*{flex-shrink:0}._labeledItem_1b8zt_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1b8zt_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_1b8zt_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._separator_b9iob_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}._separatorH_b9iob_9{background:var(--pdf-toolbar-separator);height:1px;margin:2px 4px}
1
+ ._wrapper_1kvg0_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1kvg0_7{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1kvg0_16{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1kvg0_26{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1kvg0_35{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_1kvg0_35:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1kvg0_57{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1kvg0_57:hover{color:var(--pdf-accent-light)}._contentPanel_1kvg0_66{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1kvg0_74{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_1kvg0_86{flex:1;overflow-y:auto}._appLayout_1fhoj_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1fhoj_9{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1fhoj_17{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_1fhoj_29{scrollbar-gutter:stable;background-color:var(--pdf-scroll-area);touch-action:pan-x pan-y;flex-direction:column;flex:1;padding:10px 20px;display:flex;position:relative;overflow:auto}._pageWrapper_1fhoj_41{margin:0 auto 25px;position:relative}._scrollContainer_1fhoj_29._single_1fhoj_47 ._pageWrapper_1fhoj_41{display:none}._scrollContainer_1fhoj_29._single_1fhoj_47 ._pageWrapper_1fhoj_41._currentPage_1fhoj_51{display:block}._scrollContainer_1fhoj_29._spread_1fhoj_56{flex-flow:wrap;place-content:flex-start center;gap:25px;display:flex}._scrollContainer_1fhoj_29._spread_1fhoj_56 ._pageWrapper_1fhoj_41{margin:0}._scrollContainer_1fhoj_29._spread_1fhoj_56 ._requireReadBanner_1fhoj_68{grid-column:1/-1}._pageCanvas_1fhoj_72{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1fhoj_81{--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_1fhoj_81 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1fhoj_81>:not(._markedContent_1fhoj_107),._textLayer_1fhoj_81 ._markedContent_1fhoj_107 span:not(._markedContent_1fhoj_107){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_1fhoj_81 ._markedContent_1fhoj_107{display:contents}._textLayer_1fhoj_81 ._endOfContent_1fhoj_122{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1fhoj_81._selecting_1fhoj_131 ._endOfContent_1fhoj_122{top:0}._textLayer_1fhoj_81 ::selection{background:#0000ff40}._textLayer_1fhoj_81 br::selection{background:0 0}._documentLoading_1fhoj_151{pointer-events:none;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._documentLoading_1fhoj_151:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite _spin_1fhoj_1}._pageSkeleton_1fhoj_171{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_1fhoj_171:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1fhoj_1}@keyframes _spin_1fhoj_1{to{transform:rotate(360deg)}}._highlightOverlay_1fhoj_200{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1fhoj_209{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1fhoj_216{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._noteOverlay_1fhoj_224{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._noteIconOverlay_1fhoj_231{z-index:3;pointer-events:all;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;transition:background-color .1s;display:flex;position:absolute}._noteIconOverlay_1fhoj_231:hover{background-color:#ffd20033;outline:1px solid #a0780066}._requireReadBanner_1fhoj_68{font-size:13px;font-weight:500;font-family:var(--pdf-font-family);color:#fff;background-color:color-mix(in srgb, var(--pdf-accent) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;margin-right:25px;padding:9px 16px;transition:background-color .4s;display:flex;position:sticky;bottom:12px;box-shadow:0 2px 12px #0000002e}._requireReadDone_1fhoj_272{background-color:#16a34abf}._notePopover_1fhoj_276{z-index:9999;background-color:var(--pdf-surface);border:1px solid var(--pdf-border);min-width:160px;max-width:280px;font-family:var(--pdf-font-family);border-radius:6px;padding:10px 12px;position:fixed;box-shadow:0 4px 16px #00000026}._notePopoverTitle_1fhoj_289{color:var(--pdf-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}._notePopoverContent_1fhoj_296{color:var(--pdf-text-primary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}._list_gygvf_1{flex-direction:column;display:flex}._emptyState_gygvf_6{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_gygvf_12{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_gygvf_23{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_gygvf_33{cursor:pointer}._cardClickable_gygvf_33:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_gygvf_41{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_gygvf_48{color:var(--pdf-text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}._cardPage_gygvf_57{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_gygvf_62{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_gygvf_68{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_gygvf_74{justify-content:center;align-items:center;display:flex;position:relative}._badge_gygvf_81{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_12ybz_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_12ybz_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_12ybz_15{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_12ybz_33{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_12ybz_40{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_12ybz_51{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_12ybz_51:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_12ybz_77{justify-content:center;align-items:center;display:flex;position:relative}._badge_12ybz_84{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_1dub8_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_1dub8_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_1dub8_1:disabled{color:var(--pdf-border);cursor:default}._primary_1dub8_31{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_1dub8_31:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_14eo9_1{align-items:center;gap:2px;display:flex}._pageInput_14eo9_7{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_14eo9_7:focus{border-color:var(--pdf-accent)}._pageInput_14eo9_7::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_14eo9_7::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_14eo9_7{-moz-appearance:textfield}._pageTotal_14eo9_34{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_hqvdn_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_hqvdn_7{flex-direction:column;padding:4px 0;display:flex}._row_hqvdn_13{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_hqvdn_13:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_hqvdn_31{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_hqvdn_31:hover{color:var(--pdf-text-muted)}._title_hqvdn_46{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_18kvs_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_18kvs_7{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_18kvs_13{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_18kvs_13:focus{border-color:var(--pdf-accent)}._searchInput_18kvs_13::placeholder{color:var(--pdf-text-placeholder)}._navButton_18kvs_33{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_18kvs_33:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_18kvs_33:disabled{color:var(--pdf-border);cursor:default}._counter_18kvs_54{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_b0wj1_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_b0wj1_8{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_b0wj1_15{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_b0wj1_32{background:#22c55e0a;border-color:#22c55e47}._cardClickable_b0wj1_37{cursor:pointer}._cardClickable_b0wj1_37:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_b0wj1_32._cardClickable_b0wj1_37:hover{border-color:#22c55e73}._cardBody_b0wj1_50{padding:10px 12px 10px 16px}._cardHeader_b0wj1_54{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_b0wj1_62{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_b0wj1_73{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_b0wj1_89{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_b0wj1_95{flex-direction:column;gap:4px;display:flex}._fieldRow_b0wj1_101{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_b0wj1_109{color:var(--pdf-text-muted);font-weight:500}._fieldValue_b0wj1_114{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_b0wj1_119{justify-content:center;align-items:center;display:flex;position:relative}._badge_b0wj1_126{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_t3mg8_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_t3mg8_6{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_t3mg8_6:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_t3mg8_19{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_t3mg8_19:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_t3mg8_28{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_t3mg8_34{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_t3mg8_40{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_t3mg8_1}@keyframes _shimmer_t3mg8_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_t3mg8_63{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_t3mg8_70{color:var(--pdf-accent-hover);font-weight:600}._wrapper_a1x4x_1{align-items:center;display:flex;position:relative}._triggerActive_a1x4x_7{background:var(--pdf-surface);color:var(--pdf-text-primary)}._caret_a1x4x_12{opacity:.7;align-items:center;margin-left:-2px;display:flex}._dropdown_a1x4x_19{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 16px #0000002e}._option_a1x4x_35{cursor:pointer;width:100%;color:var(--pdf-text-secondary);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._option_a1x4x_35:hover{background:var(--pdf-surface);color:var(--pdf-text-primary)}._optionActive_a1x4x_61{color:var(--pdf-accent)}._optionIcon_a1x4x_65{flex-shrink:0;align-items:center;display:flex}._optionLabel_a1x4x_71{flex:1}._zoomLabel_m8iv9_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1b8zt_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1b8zt_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1b8zt_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1b8zt_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1b8zt_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_1b8zt_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1b8zt_41>*{flex-shrink:0}._labeledItem_1b8zt_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1b8zt_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_1b8zt_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._separator_b9iob_1{background:var(--pdf-toolbar-separator);flex-shrink:0;width:1px;height:20px;margin:0 4px}._separatorH_b9iob_9{background:var(--pdf-toolbar-separator);height:1px;margin:2px 4px}
2
2
  /*$vite$:1*/
@@ -12,6 +12,7 @@ interface PDFViewerProps {
12
12
  };
13
13
  defaultTheme?: "light" | "dark";
14
14
  defaultFit?: "width" | "page";
15
+ defaultLayout?: "continuous" | "single" | "spread";
15
16
  language?: "it" | "en";
16
17
  className?: string;
17
18
  style?: React.CSSProperties;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ interface PDFViewModeToggleProps {
3
+ continuousIcon: React.ReactNode;
4
+ singleIcon: React.ReactNode;
5
+ spreadIcon: React.ReactNode;
6
+ }
7
+ export declare function PDFViewModeToggle({ continuousIcon, singleIcon, spreadIcon, }: PDFViewModeToggleProps): React.JSX.Element;
8
+ export declare namespace PDFViewModeToggle {
9
+ var toolbarLabelKey: "viewModeToolbarLabel";
10
+ }
11
+ export {};
@@ -24,6 +24,8 @@ export interface PDFViewerContextValue {
24
24
  setSidebarCollapsed: React.Dispatch<React.SetStateAction<boolean>>;
25
25
  fitMode: "width" | "page" | null;
26
26
  setFitMode: React.Dispatch<React.SetStateAction<"width" | "page" | null>>;
27
+ pageLayout: "continuous" | "single" | "spread";
28
+ setPageLayout: React.Dispatch<React.SetStateAction<"continuous" | "single" | "spread">>;
27
29
  navigationLocked: boolean;
28
30
  }
29
31
  export declare const PDFViewerContext: import('react').Context<PDFViewerContextValue | null>;
@@ -11,6 +11,7 @@ export { PDFDownloadButton } from './components/features/PDFDownloadButton';
11
11
  export { PDFNavigation } from './components/features/PDFNavigation';
12
12
  export { PDFOutline } from './components/features/PDFOutline';
13
13
  export { PDFPageFit } from './components/features/PDFPageFit';
14
+ export { PDFViewModeToggle } from './components/features/PDFViewModeToggle';
14
15
  export { PDFRotationControl } from './components/features/PDFRotationControl';
15
16
  export { PDFSearch } from './components/features/PDFSearch';
16
17
  export { PDFSignatures, PDFSignaturesIcon, } from './components/features/PDFSignatures';
@@ -21,6 +21,10 @@ export interface Labels {
21
21
  fitWidthTitle: string;
22
22
  fitPageTitle: string;
23
23
  fitToolbarLabel: string;
24
+ viewModeToolbarLabel: string;
25
+ continuousViewTitle: string;
26
+ singleViewTitle: string;
27
+ spreadViewTitle: string;
24
28
  switchToLightTitle: string;
25
29
  switchToDarkTitle: string;
26
30
  themeToolbarLabel: string;
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "pdf-tsx",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "A fully-featured, composable PDF viewer component for React",
5
+ "homepage": "https://pdf-tsx.netlify.app/",
5
6
  "type": "module",
6
7
  "main": "./dist/cjs/index.cjs",
7
8
  "module": "./dist/es/index.js",
package/dist/cjs/vite.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/dist/es/vite.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>