pdf-tsx 0.7.0 → 0.9.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 +19 -20
- package/dist/cjs/components/PDFViewer.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbar.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbar.module.cjs +1 -1
- package/dist/cjs/components/ui/PDFToolbarDropdownContext.cjs +1 -0
- package/dist/cjs/components/ui/PDFToolbarItem.cjs +1 -1
- package/dist/cjs/hooks/useTextLayer.cjs +1 -1
- package/dist/cjs/pdf-tsx.css +1 -1
- package/dist/components/ui/PDFToolbar.d.ts +2 -2
- package/dist/components/ui/PDFToolbarDropdownContext.d.ts +1 -0
- package/dist/es/components/PDFViewer.js +222 -206
- package/dist/es/components/ui/PDFToolbar.js +88 -57
- package/dist/es/components/ui/PDFToolbar.module.js +9 -9
- package/dist/es/components/ui/PDFToolbarDropdownContext.js +5 -0
- package/dist/es/components/ui/PDFToolbarItem.js +1 -1
- package/dist/es/hooks/useTextLayer.js +20 -6
- package/dist/es/pdf-tsx.css +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -149,10 +149,9 @@ A collapsible icon sidebar. Each panel has an icon button — clicking it toggle
|
|
|
149
149
|
|
|
150
150
|
```tsx
|
|
151
151
|
import { PDFSidebar } from 'pdf-tsx'
|
|
152
|
-
import { FiImage, FiList
|
|
152
|
+
import { FiImage, FiList } from 'react-icons/fi'
|
|
153
153
|
|
|
154
154
|
<PDFSidebar
|
|
155
|
-
collapseIcon={<FiChevronsLeft size={16} />}
|
|
156
155
|
panels={[
|
|
157
156
|
{ icon: <FiImage size={18} />, label: 'Thumbnails', content: <PDFThumbnails /> },
|
|
158
157
|
{ icon: <FiList size={18} />, label: 'Outline', content: <PDFOutline /> },
|
|
@@ -160,10 +159,9 @@ import { FiImage, FiList, FiChevronsLeft } from 'react-icons/fi'
|
|
|
160
159
|
/>
|
|
161
160
|
```
|
|
162
161
|
|
|
163
|
-
| Prop
|
|
164
|
-
|
|
165
|
-
| `panels`
|
|
166
|
-
| `collapseIcon` | `ReactNode` | If provided, renders a toggle button at the top of the icon bar to hide the sidebar |
|
|
162
|
+
| Prop | Type | Description |
|
|
163
|
+
|----------|------------------|------------------------------|
|
|
164
|
+
| `panels` | `SidebarPanel[]` | Array of panels to display |
|
|
167
165
|
|
|
168
166
|
**SidebarPanel**
|
|
169
167
|
|
|
@@ -178,24 +176,21 @@ import { FiImage, FiList, FiChevronsLeft } from 'react-icons/fi'
|
|
|
178
176
|
Use `PDFSidebarToggle` in the toolbar alongside `PDFSidebar`. When the sidebar is open, the collapse button lives inside the sidebar. When collapsed, the expand button appears in the toolbar.
|
|
179
177
|
|
|
180
178
|
```tsx
|
|
181
|
-
import { PDFSidebar, PDFSidebarToggle } from 'pdf-tsx'
|
|
182
|
-
import { FiChevronsLeft, FiChevronsRight } from 'react-icons/fi'
|
|
179
|
+
import { PDFSidebar, PDFSidebarToggle, PDFToolbar } from 'pdf-tsx'
|
|
180
|
+
import { FiChevronsLeft, FiChevronsRight, FiMoreHorizontal } from 'react-icons/fi'
|
|
183
181
|
|
|
184
182
|
<PDFViewer
|
|
185
183
|
sidebar={
|
|
186
|
-
<PDFSidebar
|
|
187
|
-
collapseIcon={<FiChevronsLeft size={16} />}
|
|
188
|
-
panels={[...]}
|
|
189
|
-
/>
|
|
184
|
+
<PDFSidebar panels={[...]} />
|
|
190
185
|
}
|
|
191
186
|
toolbar={
|
|
192
|
-
|
|
187
|
+
<PDFToolbar overflowIcon={<FiMoreHorizontal size={16} />}>
|
|
193
188
|
<PDFSidebarToggle
|
|
194
189
|
collapseIcon={<FiChevronsLeft size={16} />}
|
|
195
190
|
expandIcon={<FiChevronsRight size={16} />}
|
|
196
191
|
/>
|
|
197
192
|
{/* other toolbar items */}
|
|
198
|
-
|
|
193
|
+
</PDFToolbar>
|
|
199
194
|
}
|
|
200
195
|
/>
|
|
201
196
|
```
|
|
@@ -312,7 +307,7 @@ The badge uses `var(--pdf-accent)` and respects `themeOverrides`.
|
|
|
312
307
|
```tsx
|
|
313
308
|
import { useState, Suspense, lazy } from 'react'
|
|
314
309
|
import {
|
|
315
|
-
PDFSidebar, PDFSidebarToggle, PDFToolbar,
|
|
310
|
+
PDFSidebar, PDFSidebarToggle, PDFToolbar, PDFToolbarItem,
|
|
316
311
|
PDFThumbnails, PDFOutline, PDFSearch,
|
|
317
312
|
PDFZoomControls, PDFPageFit, PDFRotationControl,
|
|
318
313
|
PDFNavigation, PDFDownloadButton, PDFChangeFile,
|
|
@@ -350,10 +345,10 @@ function App() {
|
|
|
350
345
|
<PDFViewer
|
|
351
346
|
file={file}
|
|
352
347
|
workerSrc={workerUrl}
|
|
348
|
+
defaultFit="width"
|
|
353
349
|
onChangeFile={setFile}
|
|
354
350
|
sidebar={
|
|
355
351
|
<PDFSidebar
|
|
356
|
-
collapseIcon={<FiChevronsLeft size={16} />}
|
|
357
352
|
panels={[
|
|
358
353
|
{ icon: <FiImage size={18} />, label: 'Thumbnails', content: <PDFThumbnails /> },
|
|
359
354
|
{ icon: <FiList size={18} />, label: 'Outline', content: <PDFOutline /> },
|
|
@@ -376,13 +371,17 @@ function App() {
|
|
|
376
371
|
clearIcon={<FiX size={14} />}
|
|
377
372
|
/>
|
|
378
373
|
<PDFZoomControls zoomOutIcon={<FiZoomOut size={16} />} zoomInIcon={<FiZoomIn size={16} />} />
|
|
379
|
-
<PDFPageFit fitWidthIcon={<FiAlignJustify size={16} />} fitPageIcon={<FiMaximize2 size={16} />} />
|
|
380
374
|
<PDFRotationControl icon={<FiRotateCw size={16} />} />
|
|
381
|
-
<
|
|
382
|
-
<PDFChangeFile icon={<FiFolderPlus size={16} />} />
|
|
383
|
-
<PDFDownloadButton icon={<FiDownload size={15} />} />
|
|
375
|
+
<PDFPageFit fitWidthIcon={<FiAlignJustify size={16} />} fitPageIcon={<FiMaximize2 size={16} />} />
|
|
384
376
|
<PDFThemeToggle lightIcon={<FiSun size={16} />} darkIcon={<FiMoon size={16} />} />
|
|
385
377
|
<PDFPrintButton icon={<FiPrinter size={16} />} />
|
|
378
|
+
<PDFChangeFile icon={<FiFolderPlus size={16} />} />
|
|
379
|
+
<PDFDownloadButton icon={<FiDownload size={15} />} />
|
|
380
|
+
<PDFNavigation prevIcon={<FiChevronLeft size={16} />} nextIcon={<FiChevronRight size={16} />} />
|
|
381
|
+
{/* custom button with overflow label */}
|
|
382
|
+
<PDFToolbarItem label="Share">
|
|
383
|
+
<button onClick={() => {}}>Share</button>
|
|
384
|
+
</PDFToolbarItem>
|
|
386
385
|
</PDFToolbar>
|
|
387
386
|
}
|
|
388
387
|
/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../context/PDFViewerContext.cjs`),n=require(`../hooks/useScrollTracking.cjs`),r=require(`../hooks/useKeyboardShortcuts.cjs`),ee=require(`../hooks/useTextLayer.cjs`),i=require(`../utils/url.cjs`),te=require(`../hooks/useAnnotationLayer.cjs`),ne=require(`../hooks/usePDFLoader.cjs`),re=require(`../hooks/usePDFRenderer.cjs`),ie=require(`../hooks/useOverlayRects.cjs`),ae=require(`../utils/pdfFit.cjs`),oe=require(`../context/ThemeContext.cjs`),a=require(`./PDFViewer.module.cjs`);let se=require(`react/compiler-runtime`),o=require(`react`);o=e.__toESM(o,1);let ce=require(`pdfjs-dist`);ce=e.__toESM(ce,1);let s=require(`react/jsx-runtime`);var le=2,c=e=>{let i=(0,se.c)(
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../context/PDFViewerContext.cjs`),n=require(`../hooks/useScrollTracking.cjs`),r=require(`../hooks/useKeyboardShortcuts.cjs`),ee=require(`../hooks/useTextLayer.cjs`),i=require(`../utils/url.cjs`),te=require(`../hooks/useAnnotationLayer.cjs`),ne=require(`../hooks/usePDFLoader.cjs`),re=require(`../hooks/usePDFRenderer.cjs`),ie=require(`../hooks/useOverlayRects.cjs`),ae=require(`../utils/pdfFit.cjs`),oe=require(`../context/ThemeContext.cjs`),a=require(`./PDFViewer.module.cjs`);let se=require(`react/compiler-runtime`),o=require(`react`);o=e.__toESM(o,1);let ce=require(`pdfjs-dist`);ce=e.__toESM(ce,1);let s=require(`react/jsx-runtime`);var le=2,c=e=>{let i=(0,se.c)(100),{file:c,workerSrc:l,sidebar:me,toolbar:he,onChangeFile:ge,themeOverrides:_e,defaultTheme:ve,defaultFit:u,className:ye,style:be}=e,d,f;i[0]===l?(d=i[1],f=i[2]):(d=()=>{ce.GlobalWorkerOptions.workerSrc=l},f=[l],i[0]=l,i[1]=d,i[2]=f),(0,o.useEffect)(d,f);let[p,m]=(0,o.useState)(1),[h,xe]=(0,o.useState)(0),[g,Se]=(0,o.useState)(null),_;i[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],i[3]=_):_=i[3];let[v,Ce]=(0,o.useState)(_),[we,Te]=(0,o.useState)(!1),[y,Ee]=(0,o.useState)(u??null),b=(0,o.useRef)(null),x;i[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=[],i[4]=x):x=i[4];let De=(0,o.useRef)(x),S;i[5]===Symbol.for(`react.memo_cache_sentinel`)?(S=[],i[5]=S):S=i[5];let C=(0,o.useRef)(S),Oe=(0,o.useRef)(h),w,T;i[6]===h?(w=i[7],T=i[8]):(w=()=>{Oe.current=h},T=[h],i[6]=h,i[7]=w,i[8]=T),(0,o.useEffect)(w,T);let[ke,Ae]=(0,o.useState)(null);ke!==c&&(Ae(c),Se(null));let{pdf:E,numPages:D}=ne.usePDFLoader(c),O,k;i[9]===E?(O=i[10],k=i[11]):(O=()=>{E&&(De.current=Array(E.numPages).fill(null),C.current=Array(E.numPages).fill(null))},k=[E],i[9]=E,i[10]=O,i[11]=k),(0,o.useEffect)(O,k);let A,j;i[12]!==u||i[13]!==E?(A=()=>{!E||!u||!b.current||ae.computeFit(u,E,b.current,Oe.current).then(m)},j=[E,u],i[12]=u,i[13]=E,i[14]=A,i[15]=j):(A=i[14],j=i[15]),(0,o.useEffect)(A,j);let je=(0,o.useRef)(y),M,N;i[16]===y?(M=i[17],N=i[18]):(M=()=>{je.current=y},N=[y],i[16]=y,i[17]=M,i[18]=N),(0,o.useEffect)(M,N);let P,F;i[19]===E?(P=i[20],F=i[21]):(P=()=>{if(!E||!b.current)return;let e=b.current,t=new ResizeObserver(()=>{je.current&&ae.computeFit(je.current,E,e,Oe.current).then(m)});return t.observe(e),()=>t.disconnect()},F=[E],i[19]=E,i[20]=P,i[21]=F),(0,o.useEffect)(P,F);let I;i[22]===D?I=i[23]:(I={numPages:D,containerRef:b,pageRefs:De},i[22]=D,i[23]=I);let{currentPage:L,goToPage:R}=n.useScrollTracking(I),Me;bb0:{if(D===0){let e;i[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],i[24]=e):e=i[24],Me=e;break bb0}let e;if(i[25]!==L||i[26]!==g||i[27]!==D||i[28]!==v){let t=new Set,n=Math.max(L-le,1),r=Math.min(L+le,D);for(let e=n;e<=r;e++)t.add(e);g&&t.add(g.page);for(let e of v)t.add(e.page);e=Array.from(t).sort(ue),i[25]=L,i[26]=g,i[27]=D,i[28]=v,i[29]=e}else e=i[29];Me=e}let z=Me,B;i[30]!==E||i[31]!==h||i[32]!==z||i[33]!==p?(B={pdf:E,zoom:p,rotation:h,visiblePages:z,canvasRefs:C},i[30]=E,i[31]=h,i[32]=z,i[33]=p,i[34]=B):B=i[34];let{pageSizes:Ne,renderedPages:V}=re.usePDFRenderer(B),H;if(i[35]!==V||i[36]!==z){let e=new Set(z);for(let t of V)e.add(t);H=Array.from(e).sort(de),i[35]=V,i[36]=z,i[37]=H}else H=i[37];let U=H,W;i[38]!==L||i[39]!==R||i[40]!==E?(W={pdf:E,currentPage:L,goToPage:R,setZoom:m,setRotation:xe,setFitMode:Ee},i[38]=L,i[39]=R,i[40]=E,i[41]=W):W=i[41],r.useKeyboardShortcuts(W);let G;i[42]!==U||i[43]!==E||i[44]!==h||i[45]!==p?(G={pdf:E,zoom:p,rotation:h,mountedPages:U,canvasRefs:C},i[42]=U,i[43]=E,i[44]=h,i[45]=p,i[46]=G):G=i[46];let Pe=ee.useTextLayer(G),K;i[47]!==R||i[48]!==U||i[49]!==E||i[50]!==h||i[51]!==p?(K={pdf:E,zoom:p,rotation:h,mountedPages:U,goToPage:R},i[47]=R,i[48]=U,i[49]=E,i[50]=h,i[51]=p,i[52]=K):K=i[52];let Fe=te.useAnnotationLayer(K),Ie;i[53]!==g||i[54]!==E||i[55]!==h||i[56]!==v||i[57]!==p?(Ie={pdf:E,highlight:g,searchMatches:v,zoom:p,rotation:h},i[53]=g,i[54]=E,i[55]=h,i[56]=v,i[57]=p,i[58]=Ie):Ie=i[58];let{overlayRect:q,searchOverlays:Le}=ie.useOverlayRects(Ie),J;i[59]!==L||i[60]!==c||i[61]!==y||i[62]!==R||i[63]!==g||i[64]!==D||i[65]!==ge||i[66]!==E||i[67]!==h||i[68]!==v||i[69]!==we||i[70]!==p?(J={pdf:E,numPages:D,zoom:p,setZoom:m,rotation:h,setRotation:xe,currentPage:L,goToPage:R,containerRef:b,canvasRefs:C,file:c,highlight:g,setHighlight:Se,searchMatches:v,setSearchMatches:Ce,onChangeFile:ge,sidebarCollapsed:we,setSidebarCollapsed:Te,fitMode:y,setFitMode:Ee},i[59]=L,i[60]=c,i[61]=y,i[62]=R,i[63]=g,i[64]=D,i[65]=ge,i[66]=E,i[67]=h,i[68]=v,i[69]=we,i[70]=p,i[71]=J):J=i[71];let Re=`${a.default.appLayout}${ye?` ${ye}`:``}`,Y;i[72]===he?Y=i[73]:(Y=he&&(0,s.jsx)(`div`,{className:a.default.toolbar,children:he}),i[72]=he,i[73]=Y);let X;i[74]!==g||i[75]!==Fe||i[76]!==U||i[77]!==D||i[78]!==q||i[79]!==Ne||i[80]!==V||i[81]!==h||i[82]!==Le||i[83]!==Pe?(X=(0,s.jsx)(`div`,{className:a.default.scrollContainer,ref:b,children:Array.from({length:D},(e,t)=>{let n=V.has(t+1),r=Ne[t],ee=U.includes(t+1);return(0,s.jsxs)(`div`,{className:a.default.pageWrapper,ref:e=>{De.current[t]=e},style:r?{width:r.width,height:r.height}:void 0,children:[r&&!n&&(0,s.jsx)(`div`,{className:a.default.pageSkeleton,style:{width:r.width,height:r.height}}),ee&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`canvas`,{className:a.default.pageCanvas,ref:e=>{C.current[t]=e},style:{display:n?`block`:`none`}}),(0,s.jsx)(`div`,{className:`textLayer ${a.default.textLayer}`,ref:e=>{Pe.current[t]=e}})]}),Fe.filter(e=>e.page===t+1).map(fe),Le.filter(e=>e.page===t+1).map(pe),g&&q?.page===t+1&&(0,s.jsx)(`div`,{className:a.default.highlightOverlay,style:{left:q.x,top:q.y,width:q.width,height:q.height}})]},`${t}-${h}`)})}),i[74]=g,i[75]=Fe,i[76]=U,i[77]=D,i[78]=q,i[79]=Ne,i[80]=V,i[81]=h,i[82]=Le,i[83]=Pe,i[84]=X):X=i[84];let Z;i[85]!==me||i[86]!==X?(Z=(0,s.jsxs)(`div`,{className:a.default.body,children:[me,X]}),i[85]=me,i[86]=X,i[87]=Z):Z=i[87];let Q;i[88]!==be||i[89]!==Re||i[90]!==Y||i[91]!==Z?(Q=(0,s.jsxs)(`div`,{className:Re,style:be,children:[Y,Z]}),i[88]=be,i[89]=Re,i[90]=Y,i[91]=Z,i[92]=Q):Q=i[92];let $;i[93]!==J||i[94]!==Q?($=(0,s.jsx)(t.PDFViewerContext.Provider,{value:J,children:Q}),i[93]=J,i[94]=Q,i[95]=$):$=i[95];let ze;return i[96]!==ve||i[97]!==$||i[98]!==_e?(ze=(0,s.jsx)(oe.ThemeProvider,{themeOverrides:_e,defaultTheme:ve,children:$}),i[96]=ve,i[97]=$,i[98]=_e,i[99]=ze):ze=i[99],ze};function ue(e,t){return e-t}function de(e,t){return e-t}function fe(e,t){return(0,s.jsx)(`a`,{className:a.default.linkOverlay,href:e.url&&i.isSafeUrl(e.url)?e.url:`#`,target:`_blank`,rel:`noopener noreferrer`,style:{left:e.x,top:e.y,width:e.width,height:e.height},onClick:t=>{(!e.url||!i.isSafeUrl(e.url))&&(t.preventDefault(),e.url||e._handleClick())}},t)}function pe(e,t){return(0,s.jsx)(`div`,{className:a.default.searchMatchOverlay,style:{left:e.x,top:e.y,width:e.width,height:e.height}},t)}exports.default=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./ToolbarButton.cjs`),n=require(`./PDFToolbar.module.cjs`);let
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./ToolbarButton.cjs`),n=require(`./PDFToolbar.module.cjs`),r=require(`./PDFToolbarDropdownContext.cjs`);let i=require(`react/compiler-runtime`),a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);var s=40;function c(e){let r=(0,i.c)(30),{children:c,overflowIcon:p}=e,m=p===void 0?`···`:p,h=(0,a.useRef)(null),g;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],r[0]=g):g=r[0];let _=(0,a.useRef)(g),v;r[1]===Symbol.for(`react.memo_cache_sentinel`)?(v=[],r[1]=v):v=r[1];let y=(0,a.useRef)(v),[b,x]=(0,a.useState)(null),[S,C]=(0,a.useState)(!1),w=(0,a.useRef)(null),T;r[2]===c?T=r[3]:(T=a.default.Children.toArray(c),r[2]=c,r[3]=T);let E=T,D;r[4]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>{let e=h.current,t=y.current;if(!e||t.length===0)return;let n=e.offsetWidth;if(t.reduce(f,0)<=n){x(null);return}let r=0,i=0;for(let e=0;e<t.length&&r+t[e]+s<=n;e++)r+=t[e],i++;x(i)},r[4]=D):D=r[4];let O=D,k;r[5]===E.length?k=r[6]:(k=()=>{y.current=_.current.slice(0,E.length).map(d),O()},r[5]=E.length,r[6]=k);let A;r[7]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],r[7]=A):A=r[7],(0,a.useLayoutEffect)(k,A);let j,M;r[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>{let e=h.current;if(!e)return;let t=new ResizeObserver(()=>O());return t.observe(e),()=>t.disconnect()},M=[O],r[8]=j,r[9]=M):(j=r[8],M=r[9]),(0,a.useEffect)(j,M);let N,P;r[10]===S?(N=r[11],P=r[12]):(N=()=>{if(!S)return;let e=e=>{w.current?.contains(e.target)||C(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},P=[S],r[10]=S,r[11]=N,r[12]=P),(0,a.useEffect)(N,P);let F=b!==null&&b<E.length,I,L,R,z;if(r[13]!==F||r[14]!==E||r[15]!==m||r[16]!==S||r[17]!==b){let e=F?E.slice(b):[];I=h,L=n.default.toolbar,r[22]!==E||r[23]!==b?(R=E.map((e,t)=>(0,o.jsx)(`div`,{ref:e=>{_.current[t]=e},className:n.default.item,style:b!==null&&t>=b?{display:`none`}:void 0,children:e},t)),r[22]=E,r[23]=b,r[24]=R):R=r[24],z=F&&(0,o.jsxs)(`div`,{ref:w,className:n.default.overflowWrapper,children:[(0,o.jsx)(t.ToolbarButton,{onClick:()=>C(u),"aria-label":`Altre opzioni`,"aria-expanded":S,"aria-haspopup":`true`,title:`Altre opzioni`,className:S?n.default.overflowBtnActive:void 0,children:m}),S&&(0,o.jsx)(`div`,{className:n.default.dropdown,role:`menu`,children:e.map(l)})]}),r[13]=F,r[14]=E,r[15]=m,r[16]=S,r[17]=b,r[18]=I,r[19]=L,r[20]=R,r[21]=z}else I=r[18],L=r[19],R=r[20],z=r[21];let B;return r[25]!==I||r[26]!==L||r[27]!==R||r[28]!==z?(B=(0,o.jsxs)(`div`,{ref:I,className:L,children:[R,z]}),r[25]=I,r[26]=L,r[27]=R,r[28]=z,r[29]=B):B=r[29],B}function l(e,t){let i=a.default.isValidElement(e)?e.type.toolbarLabel:void 0;return(0,o.jsx)(`div`,{className:n.default.dropdownItem,role:`menuitem`,children:i?(0,o.jsxs)(`div`,{className:n.default.labeledItem,children:[(0,o.jsx)(`span`,{className:n.default.itemLabel,children:i}),(0,o.jsx)(`div`,{className:n.default.itemContent,children:e})]}):(0,o.jsx)(r.PDFToolbarDropdownContext.Provider,{value:!0,children:e})},t)}function u(e){return!e}function d(e){return e?.offsetWidth??0}function f(e,t){return e+t}exports.PDFToolbar=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={toolbar:`
|
|
1
|
+
var e={toolbar:`_toolbar_1k80o_1`,item:`_item_1k80o_17`,overflowWrapper:`_overflowWrapper_1k80o_29`,overflowBtnActive:`_overflowBtnActive_1k80o_41`,dropdown:`_dropdown_1k80o_51`,dropdownItem:`_dropdownItem_1k80o_81`,labeledItem:`_labeledItem_1k80o_105`,itemContent:`_itemContent_1k80o_119`,itemLabel:`_itemLabel_1k80o_131`};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);var e=(0,require(`react`).createContext)(!1);exports.PDFToolbarDropdownContext=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./PDFToolbar.module.cjs`),n=require(`./
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`./PDFToolbar.module.cjs`),n=require(`./PDFToolbarDropdownContext.cjs`);let r=require(`react/compiler-runtime`),i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){let o=(0,r.c)(7),{children:s,label:c}=e;if(!(0,i.useContext)(n.PDFToolbarDropdownContext)||!c){let e;return o[0]===s?e=o[1]:(e=(0,a.jsx)(a.Fragment,{children:s}),o[0]=s,o[1]=e),e}let l;o[2]===c?l=o[3]:(l=(0,a.jsx)(`span`,{className:t.default.itemLabel,children:c}),o[2]=c,o[3]=l);let u;return o[4]!==s||o[5]!==l?(u=(0,a.jsxs)(`div`,{className:t.default.labeledItem,children:[l,s]}),o[4]=s,o[5]=l,o[6]=u):u=o[6],u}exports.PDFToolbarItem=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react/compiler-runtime`),n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);function i(e){let i=(0,t.c)(
|
|
1
|
+
const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`react/compiler-runtime`),n=require(`react`),r=require(`pdfjs-dist`);r=e.__toESM(r,1);function i(e){let i=(0,t.c)(14),{pdf:a,zoom:o,rotation:s,mountedPages:c,canvasRefs:l}=e,u;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],i[0]=u):u=i[0];let d=(0,n.useRef)(u),f;i[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=new Set,i[1]=f):f=i[1];let p=(0,n.useRef)(f),m;i[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{p.current=new Set;for(let e of d.current)e?.replaceChildren()},i[2]=m):m=i[2];let h;i[3]!==a||i[4]!==s||i[5]!==o?(h=[a,o,s],i[3]=a,i[4]=s,i[5]=o,i[6]=h):h=i[6],(0,n.useEffect)(m,h);let g,_;return i[7]!==l||i[8]!==c||i[9]!==a||i[10]!==s||i[11]!==o?(g=()=>{if(!a)return;let e=!1;return(async()=>{for(let t of c){if(e)break;if(p.current.has(t))continue;let n=d.current[t-1],i=l.current[t-1];if(!n||!i)continue;n.replaceChildren();let c=await a.getPage(t),u=c.getViewport({scale:o,rotation:s}),f=await c.getTextContent();if(e)break;n.style.width=`${u.width}px`,n.style.height=`${u.height}px`,await new r.TextLayer({textContentSource:f,container:n,viewport:u}).render(),e||p.current.add(t)}})(),()=>{e=!0}},_=[a,o,s,c,l],i[7]=l,i[8]=c,i[9]=a,i[10]=s,i[11]=o,i[12]=g,i[13]=_):(g=i[12],_=i[13]),(0,n.useEffect)(g,_),d}exports.useTextLayer=i;
|
package/dist/cjs/pdf-tsx.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_1t51x_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1t51x_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1t51x_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_1t51x_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_1t51x_77{margin-bottom:25px;position:relative}._pageCanvas_1t51x_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1t51x_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_1t51x_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1t51x_105>:not(._markedContent_1t51x_157),._textLayer_1t51x_105 ._markedContent_1t51x_157 span:not(._markedContent_1t51x_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_1t51x_105 ._markedContent_1t51x_157{display:contents}._textLayer_1t51x_105 ._endOfContent_1t51x_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1t51x_105._selecting_1t51x_205 ._endOfContent_1t51x_187{top:0}._textLayer_1t51x_105 ::selection{background:#0000ff40}._textLayer_1t51x_105 br::selection{background:0 0}._pageSkeleton_1t51x_245{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_1t51x_245:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1t51x_1}@keyframes _spin_1t51x_1{to{transform:rotate(360deg)}}._highlightOverlay_1t51x_299{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1t51x_317{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1t51x_331{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_xoqxq_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_xoqxq_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_xoqxq_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_xoqxq_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_xoqxq_26{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000002e}._dropdownItem_xoqxq_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_xoqxq_41>*{flex-shrink:0}._labeledItem_xoqxq_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_xoqxq_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_xoqxq_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_xoqxq_41:hover{background:var(--pdf-surface-hover)}
|
|
1
|
+
._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_1t51x_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1t51x_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1t51x_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_1t51x_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_1t51x_77{margin-bottom:25px;position:relative}._pageCanvas_1t51x_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1t51x_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_1t51x_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1t51x_105>:not(._markedContent_1t51x_157),._textLayer_1t51x_105 ._markedContent_1t51x_157 span:not(._markedContent_1t51x_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_1t51x_105 ._markedContent_1t51x_157{display:contents}._textLayer_1t51x_105 ._endOfContent_1t51x_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1t51x_105._selecting_1t51x_205 ._endOfContent_1t51x_187{top:0}._textLayer_1t51x_105 ::selection{background:#0000ff40}._textLayer_1t51x_105 br::selection{background:0 0}._pageSkeleton_1t51x_245{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_1t51x_245:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1t51x_1}@keyframes _spin_1t51x_1{to{transform:rotate(360deg)}}._highlightOverlay_1t51x_299{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1t51x_317{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1t51x_331{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1k80o_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1k80o_17{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1k80o_29{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1k80o_41{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1k80o_51{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_1k80o_81{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1k80o_81>*{flex-shrink:0}._labeledItem_1k80o_105{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1k80o_119{flex-shrink:0;align-items:center;display:flex}._itemLabel_1k80o_131{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_1k80o_81:hover{background:var(--pdf-surface-hover)}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
2
|
+
import { PDFToolbarDropdownContext } from './PDFToolbarDropdownContext';
|
|
3
|
+
export { PDFToolbarDropdownContext };
|
|
3
4
|
interface Props {
|
|
4
5
|
children: React.ReactNode;
|
|
5
6
|
overflowIcon?: React.ReactNode;
|
|
6
7
|
}
|
|
7
8
|
export declare function PDFToolbar({ children, overflowIcon }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PDFToolbarDropdownContext: import('react').Context<boolean>;
|
|
@@ -1,222 +1,238 @@
|
|
|
1
1
|
import { PDFViewerContext as e } from "../context/PDFViewerContext.js";
|
|
2
2
|
import { useScrollTracking as t } from "../hooks/useScrollTracking.js";
|
|
3
|
-
import { useKeyboardShortcuts as
|
|
4
|
-
import { useTextLayer as
|
|
5
|
-
import { isSafeUrl as
|
|
6
|
-
import { useAnnotationLayer as
|
|
7
|
-
import { usePDFLoader as
|
|
8
|
-
import { usePDFRenderer as
|
|
9
|
-
import { useOverlayRects as
|
|
10
|
-
import { computeFit as
|
|
11
|
-
import { ThemeProvider as
|
|
12
|
-
import
|
|
13
|
-
import { c as
|
|
14
|
-
import { useEffect as
|
|
15
|
-
import * as
|
|
16
|
-
import { Fragment as
|
|
3
|
+
import { useKeyboardShortcuts as ee } from "../hooks/useKeyboardShortcuts.js";
|
|
4
|
+
import { useTextLayer as n } from "../hooks/useTextLayer.js";
|
|
5
|
+
import { isSafeUrl as r } from "../utils/url.js";
|
|
6
|
+
import { useAnnotationLayer as te } from "../hooks/useAnnotationLayer.js";
|
|
7
|
+
import { usePDFLoader as ne } from "../hooks/usePDFLoader.js";
|
|
8
|
+
import { usePDFRenderer as re } from "../hooks/usePDFRenderer.js";
|
|
9
|
+
import { useOverlayRects as ie } from "../hooks/useOverlayRects.js";
|
|
10
|
+
import { computeFit as ae } from "../utils/pdfFit.js";
|
|
11
|
+
import { ThemeProvider as oe } from "../context/ThemeContext.js";
|
|
12
|
+
import i from "./PDFViewer.module.js";
|
|
13
|
+
import { c as se } from "react/compiler-runtime";
|
|
14
|
+
import { useEffect as a, useRef as o, useState as s } from "react";
|
|
15
|
+
import * as ce from "pdfjs-dist";
|
|
16
|
+
import { Fragment as le, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
17
17
|
//#region src/components/PDFViewer.tsx
|
|
18
|
-
var
|
|
19
|
-
let
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
let [
|
|
24
|
-
|
|
25
|
-
let [
|
|
26
|
-
|
|
27
|
-
let
|
|
28
|
-
|
|
29
|
-
let
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
let [
|
|
34
|
-
|
|
35
|
-
let { pdf:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
let
|
|
40
|
-
|
|
41
|
-
!
|
|
42
|
-
},
|
|
43
|
-
let
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
let
|
|
48
|
-
|
|
49
|
-
if (!
|
|
50
|
-
let e =
|
|
51
|
-
|
|
18
|
+
var ue = 2, u = (r) => {
|
|
19
|
+
let u = se(100), { file: d, workerSrc: he, sidebar: ge, toolbar: _e, onChangeFile: ve, themeOverrides: ye, defaultTheme: be, defaultFit: f, className: xe, style: Se } = r, p, m;
|
|
20
|
+
u[0] === he ? (p = u[1], m = u[2]) : (p = () => {
|
|
21
|
+
ce.GlobalWorkerOptions.workerSrc = he;
|
|
22
|
+
}, m = [he], u[0] = he, u[1] = p, u[2] = m), a(p, m);
|
|
23
|
+
let [h, g] = s(1), [_, Ce] = s(0), [v, we] = s(null), y;
|
|
24
|
+
u[3] === Symbol.for("react.memo_cache_sentinel") ? (y = [], u[3] = y) : y = u[3];
|
|
25
|
+
let [b, Te] = s(y), [Ee, De] = s(!1), [x, Oe] = s(f ?? null), S = o(null), C;
|
|
26
|
+
u[4] === Symbol.for("react.memo_cache_sentinel") ? (C = [], u[4] = C) : C = u[4];
|
|
27
|
+
let ke = o(C), w;
|
|
28
|
+
u[5] === Symbol.for("react.memo_cache_sentinel") ? (w = [], u[5] = w) : w = u[5];
|
|
29
|
+
let T = o(w), Ae = o(_), E, D;
|
|
30
|
+
u[6] === _ ? (E = u[7], D = u[8]) : (E = () => {
|
|
31
|
+
Ae.current = _;
|
|
32
|
+
}, D = [_], u[6] = _, u[7] = E, u[8] = D), a(E, D);
|
|
33
|
+
let [je, Me] = s(null);
|
|
34
|
+
je !== d && (Me(d), we(null));
|
|
35
|
+
let { pdf: O, numPages: k } = ne(d), A, j;
|
|
36
|
+
u[9] === O ? (A = u[10], j = u[11]) : (A = () => {
|
|
37
|
+
O && (ke.current = Array(O.numPages).fill(null), T.current = Array(O.numPages).fill(null));
|
|
38
|
+
}, j = [O], u[9] = O, u[10] = A, u[11] = j), a(A, j);
|
|
39
|
+
let M, N;
|
|
40
|
+
u[12] !== f || u[13] !== O ? (M = () => {
|
|
41
|
+
!O || !f || !S.current || ae(f, O, S.current, Ae.current).then(g);
|
|
42
|
+
}, N = [O, f], u[12] = f, u[13] = O, u[14] = M, u[15] = N) : (M = u[14], N = u[15]), a(M, N);
|
|
43
|
+
let Ne = o(x), P, F;
|
|
44
|
+
u[16] === x ? (P = u[17], F = u[18]) : (P = () => {
|
|
45
|
+
Ne.current = x;
|
|
46
|
+
}, F = [x], u[16] = x, u[17] = P, u[18] = F), a(P, F);
|
|
47
|
+
let I, L;
|
|
48
|
+
u[19] === O ? (I = u[20], L = u[21]) : (I = () => {
|
|
49
|
+
if (!O || !S.current) return;
|
|
50
|
+
let e = S.current, t = new ResizeObserver(() => {
|
|
51
|
+
Ne.current && ae(Ne.current, O, e, Ae.current).then(g);
|
|
52
52
|
});
|
|
53
53
|
return t.observe(e), () => t.disconnect();
|
|
54
|
-
},
|
|
55
|
-
let
|
|
56
|
-
|
|
57
|
-
numPages:
|
|
58
|
-
containerRef:
|
|
59
|
-
pageRefs:
|
|
60
|
-
},
|
|
61
|
-
let { currentPage:
|
|
62
|
-
|
|
63
|
-
if (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
pdf:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
},
|
|
109
|
-
let
|
|
110
|
-
|
|
111
|
-
pdf:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
54
|
+
}, L = [O], u[19] = O, u[20] = I, u[21] = L), a(I, L);
|
|
55
|
+
let R;
|
|
56
|
+
u[22] === k ? R = u[23] : (R = {
|
|
57
|
+
numPages: k,
|
|
58
|
+
containerRef: S,
|
|
59
|
+
pageRefs: ke
|
|
60
|
+
}, u[22] = k, u[23] = R);
|
|
61
|
+
let { currentPage: z, goToPage: B } = t(R), Pe;
|
|
62
|
+
bb0: {
|
|
63
|
+
if (k === 0) {
|
|
64
|
+
let e;
|
|
65
|
+
u[24] === Symbol.for("react.memo_cache_sentinel") ? (e = [], u[24] = e) : e = u[24], Pe = e;
|
|
66
|
+
break bb0;
|
|
67
|
+
}
|
|
68
|
+
let e;
|
|
69
|
+
if (u[25] !== z || u[26] !== v || u[27] !== k || u[28] !== b) {
|
|
70
|
+
let t = /* @__PURE__ */ new Set(), ee = Math.max(z - ue, 1), n = Math.min(z + ue, k);
|
|
71
|
+
for (let e = ee; e <= n; e++) t.add(e);
|
|
72
|
+
v && t.add(v.page);
|
|
73
|
+
for (let e of b) t.add(e.page);
|
|
74
|
+
e = Array.from(t).sort(de), u[25] = z, u[26] = v, u[27] = k, u[28] = b, u[29] = e;
|
|
75
|
+
} else e = u[29];
|
|
76
|
+
Pe = e;
|
|
77
|
+
}
|
|
78
|
+
let V = Pe, H;
|
|
79
|
+
u[30] !== O || u[31] !== _ || u[32] !== V || u[33] !== h ? (H = {
|
|
80
|
+
pdf: O,
|
|
81
|
+
zoom: h,
|
|
82
|
+
rotation: _,
|
|
83
|
+
visiblePages: V,
|
|
84
|
+
canvasRefs: T
|
|
85
|
+
}, u[30] = O, u[31] = _, u[32] = V, u[33] = h, u[34] = H) : H = u[34];
|
|
86
|
+
let { pageSizes: Fe, renderedPages: U } = re(H), W;
|
|
87
|
+
if (u[35] !== U || u[36] !== V) {
|
|
88
|
+
let e = new Set(V);
|
|
89
|
+
for (let t of U) e.add(t);
|
|
90
|
+
W = Array.from(e).sort(fe), u[35] = U, u[36] = V, u[37] = W;
|
|
91
|
+
} else W = u[37];
|
|
92
|
+
let G = W, Ie;
|
|
93
|
+
u[38] !== z || u[39] !== B || u[40] !== O ? (Ie = {
|
|
94
|
+
pdf: O,
|
|
95
|
+
currentPage: z,
|
|
96
|
+
goToPage: B,
|
|
97
|
+
setZoom: g,
|
|
98
|
+
setRotation: Ce,
|
|
99
|
+
setFitMode: Oe
|
|
100
|
+
}, u[38] = z, u[39] = B, u[40] = O, u[41] = Ie) : Ie = u[41], ee(Ie);
|
|
101
|
+
let Le;
|
|
102
|
+
u[42] !== G || u[43] !== O || u[44] !== _ || u[45] !== h ? (Le = {
|
|
103
|
+
pdf: O,
|
|
104
|
+
zoom: h,
|
|
105
|
+
rotation: _,
|
|
106
|
+
mountedPages: G,
|
|
107
|
+
canvasRefs: T
|
|
108
|
+
}, u[42] = G, u[43] = O, u[44] = _, u[45] = h, u[46] = Le) : Le = u[46];
|
|
109
|
+
let Re = n(Le), ze;
|
|
110
|
+
u[47] !== B || u[48] !== G || u[49] !== O || u[50] !== _ || u[51] !== h ? (ze = {
|
|
111
|
+
pdf: O,
|
|
112
|
+
zoom: h,
|
|
113
|
+
rotation: _,
|
|
114
|
+
mountedPages: G,
|
|
115
|
+
goToPage: B
|
|
116
|
+
}, u[47] = B, u[48] = G, u[49] = O, u[50] = _, u[51] = h, u[52] = ze) : ze = u[52];
|
|
117
|
+
let Be = te(ze), Ve;
|
|
118
|
+
u[53] !== v || u[54] !== O || u[55] !== _ || u[56] !== b || u[57] !== h ? (Ve = {
|
|
119
|
+
pdf: O,
|
|
120
|
+
highlight: v,
|
|
121
|
+
searchMatches: b,
|
|
122
|
+
zoom: h,
|
|
123
|
+
rotation: _
|
|
124
|
+
}, u[53] = v, u[54] = O, u[55] = _, u[56] = b, u[57] = h, u[58] = Ve) : Ve = u[58];
|
|
125
|
+
let { overlayRect: K, searchOverlays: He } = ie(Ve), q;
|
|
126
|
+
u[59] !== z || u[60] !== d || u[61] !== x || u[62] !== B || u[63] !== v || u[64] !== k || u[65] !== ve || u[66] !== O || u[67] !== _ || u[68] !== b || u[69] !== Ee || u[70] !== h ? (q = {
|
|
127
|
+
pdf: O,
|
|
128
|
+
numPages: k,
|
|
129
|
+
zoom: h,
|
|
130
|
+
setZoom: g,
|
|
131
|
+
rotation: _,
|
|
132
|
+
setRotation: Ce,
|
|
133
|
+
currentPage: z,
|
|
134
|
+
goToPage: B,
|
|
135
|
+
containerRef: S,
|
|
136
|
+
canvasRefs: T,
|
|
137
|
+
file: d,
|
|
138
|
+
highlight: v,
|
|
139
|
+
setHighlight: we,
|
|
140
|
+
searchMatches: b,
|
|
141
|
+
setSearchMatches: Te,
|
|
142
|
+
onChangeFile: ve,
|
|
143
|
+
sidebarCollapsed: Ee,
|
|
144
|
+
setSidebarCollapsed: De,
|
|
145
|
+
fitMode: x,
|
|
146
|
+
setFitMode: Oe
|
|
147
|
+
}, u[59] = z, u[60] = d, u[61] = x, u[62] = B, u[63] = v, u[64] = k, u[65] = ve, u[66] = O, u[67] = _, u[68] = b, u[69] = Ee, u[70] = h, u[71] = q) : q = u[71];
|
|
148
|
+
let Ue = `${i.appLayout}${xe ? ` ${xe}` : ""}`, J;
|
|
149
|
+
u[72] === _e ? J = u[73] : (J = _e && /* @__PURE__ */ c("div", {
|
|
150
|
+
className: i.toolbar,
|
|
151
|
+
children: _e
|
|
152
|
+
}), u[72] = _e, u[73] = J);
|
|
153
|
+
let Y;
|
|
154
|
+
u[74] !== v || u[75] !== Be || u[76] !== G || u[77] !== k || u[78] !== K || u[79] !== Fe || u[80] !== U || u[81] !== _ || u[82] !== He || u[83] !== Re ? (Y = /* @__PURE__ */ c("div", {
|
|
155
|
+
className: i.scrollContainer,
|
|
156
|
+
ref: S,
|
|
157
|
+
children: Array.from({ length: k }, (e, t) => {
|
|
158
|
+
let ee = U.has(t + 1), n = Fe[t], r = G.includes(t + 1);
|
|
159
|
+
return /* @__PURE__ */ l("div", {
|
|
160
|
+
className: i.pageWrapper,
|
|
161
|
+
ref: (e) => {
|
|
162
|
+
ke.current[t] = e;
|
|
163
|
+
},
|
|
164
|
+
style: n ? {
|
|
165
|
+
width: n.width,
|
|
166
|
+
height: n.height
|
|
167
|
+
} : void 0,
|
|
168
|
+
children: [
|
|
169
|
+
n && !ee && /* @__PURE__ */ c("div", {
|
|
170
|
+
className: i.pageSkeleton,
|
|
171
|
+
style: {
|
|
172
|
+
width: n.width,
|
|
173
|
+
height: n.height
|
|
174
|
+
}
|
|
175
|
+
}),
|
|
176
|
+
r && /* @__PURE__ */ l(le, { children: [/* @__PURE__ */ c("canvas", {
|
|
177
|
+
className: i.pageCanvas,
|
|
178
|
+
ref: (e) => {
|
|
179
|
+
T.current[t] = e;
|
|
180
|
+
},
|
|
181
|
+
style: { display: ee ? "block" : "none" }
|
|
182
|
+
}), /* @__PURE__ */ c("div", {
|
|
183
|
+
className: `textLayer ${i.textLayer}`,
|
|
184
|
+
ref: (e) => {
|
|
185
|
+
Re.current[t] = e;
|
|
186
|
+
}
|
|
187
|
+
})] }),
|
|
188
|
+
Be.filter((e) => e.page === t + 1).map(pe),
|
|
189
|
+
He.filter((e) => e.page === t + 1).map(me),
|
|
190
|
+
v && K?.page === t + 1 && /* @__PURE__ */ c("div", {
|
|
191
|
+
className: i.highlightOverlay,
|
|
192
|
+
style: {
|
|
193
|
+
left: K.x,
|
|
194
|
+
top: K.y,
|
|
195
|
+
width: K.width,
|
|
196
|
+
height: K.height
|
|
197
|
+
}
|
|
198
|
+
})
|
|
199
|
+
]
|
|
200
|
+
}, `${t}-${_}`);
|
|
201
|
+
})
|
|
202
|
+
}), u[74] = v, u[75] = Be, u[76] = G, u[77] = k, u[78] = K, u[79] = Fe, u[80] = U, u[81] = _, u[82] = He, u[83] = Re, u[84] = Y) : Y = u[84];
|
|
187
203
|
let X;
|
|
188
|
-
|
|
189
|
-
className:
|
|
190
|
-
children: [
|
|
191
|
-
}),
|
|
204
|
+
u[85] !== ge || u[86] !== Y ? (X = /* @__PURE__ */ l("div", {
|
|
205
|
+
className: i.body,
|
|
206
|
+
children: [ge, Y]
|
|
207
|
+
}), u[85] = ge, u[86] = Y, u[87] = X) : X = u[87];
|
|
192
208
|
let Z;
|
|
193
|
-
|
|
194
|
-
className:
|
|
195
|
-
style:
|
|
209
|
+
u[88] !== Se || u[89] !== Ue || u[90] !== J || u[91] !== X ? (Z = /* @__PURE__ */ l("div", {
|
|
210
|
+
className: Ue,
|
|
211
|
+
style: Se,
|
|
196
212
|
children: [J, X]
|
|
197
|
-
}),
|
|
213
|
+
}), u[88] = Se, u[89] = Ue, u[90] = J, u[91] = X, u[92] = Z) : Z = u[92];
|
|
198
214
|
let Q;
|
|
199
|
-
|
|
215
|
+
u[93] !== q || u[94] !== Z ? (Q = /* @__PURE__ */ c(e.Provider, {
|
|
200
216
|
value: q,
|
|
201
217
|
children: Z
|
|
202
|
-
}),
|
|
218
|
+
}), u[93] = q, u[94] = Z, u[95] = Q) : Q = u[95];
|
|
203
219
|
let $;
|
|
204
|
-
return
|
|
205
|
-
themeOverrides:
|
|
206
|
-
defaultTheme:
|
|
220
|
+
return u[96] !== be || u[97] !== Q || u[98] !== ye ? ($ = /* @__PURE__ */ c(oe, {
|
|
221
|
+
themeOverrides: ye,
|
|
222
|
+
defaultTheme: be,
|
|
207
223
|
children: Q
|
|
208
|
-
}),
|
|
224
|
+
}), u[96] = be, u[97] = Q, u[98] = ye, u[99] = $) : $ = u[99], $;
|
|
209
225
|
};
|
|
210
|
-
function ue(e, t) {
|
|
211
|
-
return e - t;
|
|
212
|
-
}
|
|
213
226
|
function de(e, t) {
|
|
214
227
|
return e - t;
|
|
215
228
|
}
|
|
216
229
|
function fe(e, t) {
|
|
217
|
-
return
|
|
218
|
-
|
|
219
|
-
|
|
230
|
+
return e - t;
|
|
231
|
+
}
|
|
232
|
+
function pe(e, t) {
|
|
233
|
+
return /* @__PURE__ */ c("a", {
|
|
234
|
+
className: i.linkOverlay,
|
|
235
|
+
href: e.url && r(e.url) ? e.url : "#",
|
|
220
236
|
target: "_blank",
|
|
221
237
|
rel: "noopener noreferrer",
|
|
222
238
|
style: {
|
|
@@ -226,13 +242,13 @@ function fe(e, t) {
|
|
|
226
242
|
height: e.height
|
|
227
243
|
},
|
|
228
244
|
onClick: (t) => {
|
|
229
|
-
(!e.url || !
|
|
245
|
+
(!e.url || !r(e.url)) && (t.preventDefault(), e.url || e._handleClick());
|
|
230
246
|
}
|
|
231
247
|
}, t);
|
|
232
248
|
}
|
|
233
|
-
function
|
|
234
|
-
return /* @__PURE__ */
|
|
235
|
-
className:
|
|
249
|
+
function me(e, t) {
|
|
250
|
+
return /* @__PURE__ */ c("div", {
|
|
251
|
+
className: i.searchMatchOverlay,
|
|
236
252
|
style: {
|
|
237
253
|
left: e.x,
|
|
238
254
|
top: e.y,
|
|
@@ -242,4 +258,4 @@ function pe(e, t) {
|
|
|
242
258
|
}, t);
|
|
243
259
|
}
|
|
244
260
|
//#endregion
|
|
245
|
-
export {
|
|
261
|
+
export { u as default };
|
|
@@ -1,84 +1,115 @@
|
|
|
1
1
|
import { ToolbarButton as e } from "./ToolbarButton.js";
|
|
2
2
|
import t from "./PDFToolbar.module.js";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import { PDFToolbarDropdownContext as n } from "./PDFToolbarDropdownContext.js";
|
|
4
|
+
import { c as r } from "react/compiler-runtime";
|
|
5
|
+
import i, { useEffect as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
|
|
6
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
5
7
|
//#region src/components/ui/PDFToolbar.tsx
|
|
6
|
-
var
|
|
7
|
-
function f(
|
|
8
|
-
let
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
var d = 40;
|
|
9
|
+
function f(n) {
|
|
10
|
+
let f = r(30), { children: _, overflowIcon: v } = n, y = v === void 0 ? "···" : v, b = s(null), x;
|
|
11
|
+
f[0] === Symbol.for("react.memo_cache_sentinel") ? (x = [], f[0] = x) : x = f[0];
|
|
12
|
+
let S = s(x), C;
|
|
13
|
+
f[1] === Symbol.for("react.memo_cache_sentinel") ? (C = [], f[1] = C) : C = f[1];
|
|
14
|
+
let w = s(C), [T, E] = c(null), [D, O] = c(!1), k = s(null), A;
|
|
15
|
+
f[2] === _ ? A = f[3] : (A = i.Children.toArray(_), f[2] = _, f[3] = A);
|
|
16
|
+
let j = A, M;
|
|
17
|
+
f[4] === Symbol.for("react.memo_cache_sentinel") ? (M = () => {
|
|
18
|
+
let e = b.current, t = w.current;
|
|
11
19
|
if (!e || t.length === 0) return;
|
|
12
20
|
let n = e.offsetWidth;
|
|
13
|
-
if (t.reduce(
|
|
14
|
-
|
|
21
|
+
if (t.reduce(g, 0) <= n) {
|
|
22
|
+
E(null);
|
|
15
23
|
return;
|
|
16
24
|
}
|
|
17
25
|
let r = 0, i = 0;
|
|
18
26
|
for (let e = 0; e < t.length && r + t[e] + d <= n; e++) r += t[e], i++;
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
E(i);
|
|
28
|
+
}, f[4] = M) : M = f[4];
|
|
29
|
+
let N = M, P;
|
|
30
|
+
f[5] === j.length ? P = f[6] : (P = () => {
|
|
31
|
+
w.current = S.current.slice(0, j.length).map(h), N();
|
|
32
|
+
}, f[5] = j.length, f[6] = P);
|
|
33
|
+
let F;
|
|
34
|
+
f[7] === Symbol.for("react.memo_cache_sentinel") ? (F = [], f[7] = F) : F = f[7], o(P, F);
|
|
35
|
+
let I, L;
|
|
36
|
+
f[8] === Symbol.for("react.memo_cache_sentinel") ? (I = () => {
|
|
37
|
+
let e = b.current;
|
|
24
38
|
if (!e) return;
|
|
25
|
-
let t = new ResizeObserver(() =>
|
|
39
|
+
let t = new ResizeObserver(() => N());
|
|
26
40
|
return t.observe(e), () => t.disconnect();
|
|
27
|
-
}, []),
|
|
28
|
-
|
|
41
|
+
}, L = [N], f[8] = I, f[9] = L) : (I = f[8], L = f[9]), a(I, L);
|
|
42
|
+
let R, z;
|
|
43
|
+
f[10] === D ? (R = f[11], z = f[12]) : (R = () => {
|
|
44
|
+
if (!D) return;
|
|
29
45
|
let e = (e) => {
|
|
30
|
-
|
|
46
|
+
k.current?.contains(e.target) || O(!1);
|
|
31
47
|
};
|
|
32
48
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
33
|
-
}, [
|
|
34
|
-
let
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
children: [S.map((e, n) => /* @__PURE__ */ c("div", {
|
|
49
|
+
}, z = [D], f[10] = D, f[11] = R, f[12] = z), a(R, z);
|
|
50
|
+
let B = T !== null && T < j.length, V, H, U, W;
|
|
51
|
+
if (f[13] !== B || f[14] !== j || f[15] !== y || f[16] !== D || f[17] !== T) {
|
|
52
|
+
let n = B ? j.slice(T) : [];
|
|
53
|
+
V = b, H = t.toolbar, f[22] !== j || f[23] !== T ? (U = j.map((e, n) => /* @__PURE__ */ l("div", {
|
|
39
54
|
ref: (e) => {
|
|
40
|
-
|
|
55
|
+
S.current[n] = e;
|
|
41
56
|
},
|
|
42
57
|
className: t.item,
|
|
43
|
-
style:
|
|
58
|
+
style: T !== null && n >= T ? { display: "none" } : void 0,
|
|
44
59
|
children: e
|
|
45
|
-
}, n)),
|
|
46
|
-
ref:
|
|
60
|
+
}, n)), f[22] = j, f[23] = T, f[24] = U) : U = f[24], W = B && /* @__PURE__ */ u("div", {
|
|
61
|
+
ref: k,
|
|
47
62
|
className: t.overflowWrapper,
|
|
48
|
-
children: [/* @__PURE__ */
|
|
49
|
-
onClick: () =>
|
|
63
|
+
children: [/* @__PURE__ */ l(e, {
|
|
64
|
+
onClick: () => O(m),
|
|
50
65
|
"aria-label": "Altre opzioni",
|
|
51
|
-
"aria-expanded":
|
|
66
|
+
"aria-expanded": D,
|
|
52
67
|
"aria-haspopup": "true",
|
|
53
68
|
title: "Altre opzioni",
|
|
54
|
-
className:
|
|
55
|
-
children:
|
|
56
|
-
}),
|
|
69
|
+
className: D ? t.overflowBtnActive : void 0,
|
|
70
|
+
children: y
|
|
71
|
+
}), D && /* @__PURE__ */ l("div", {
|
|
57
72
|
className: t.dropdown,
|
|
58
73
|
role: "menu",
|
|
59
|
-
children:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
children: n.map(p)
|
|
75
|
+
})]
|
|
76
|
+
}), f[13] = B, f[14] = j, f[15] = y, f[16] = D, f[17] = T, f[18] = V, f[19] = H, f[20] = U, f[21] = W;
|
|
77
|
+
} else V = f[18], H = f[19], U = f[20], W = f[21];
|
|
78
|
+
let G;
|
|
79
|
+
return f[25] !== V || f[26] !== H || f[27] !== U || f[28] !== W ? (G = /* @__PURE__ */ u("div", {
|
|
80
|
+
ref: V,
|
|
81
|
+
className: H,
|
|
82
|
+
children: [U, W]
|
|
83
|
+
}), f[25] = V, f[26] = H, f[27] = U, f[28] = W, f[29] = G) : G = f[29], G;
|
|
84
|
+
}
|
|
85
|
+
function p(e, r) {
|
|
86
|
+
let a = i.isValidElement(e) ? e.type.toolbarLabel : void 0;
|
|
87
|
+
return /* @__PURE__ */ l("div", {
|
|
88
|
+
className: t.dropdownItem,
|
|
89
|
+
role: "menuitem",
|
|
90
|
+
children: a ? /* @__PURE__ */ u("div", {
|
|
91
|
+
className: t.labeledItem,
|
|
92
|
+
children: [/* @__PURE__ */ l("span", {
|
|
93
|
+
className: t.itemLabel,
|
|
94
|
+
children: a
|
|
95
|
+
}), /* @__PURE__ */ l("div", {
|
|
96
|
+
className: t.itemContent,
|
|
97
|
+
children: e
|
|
79
98
|
})]
|
|
80
|
-
})
|
|
81
|
-
|
|
99
|
+
}) : /* @__PURE__ */ l(n.Provider, {
|
|
100
|
+
value: !0,
|
|
101
|
+
children: e
|
|
102
|
+
})
|
|
103
|
+
}, r);
|
|
104
|
+
}
|
|
105
|
+
function m(e) {
|
|
106
|
+
return !e;
|
|
107
|
+
}
|
|
108
|
+
function h(e) {
|
|
109
|
+
return e?.offsetWidth ?? 0;
|
|
110
|
+
}
|
|
111
|
+
function g(e, t) {
|
|
112
|
+
return e + t;
|
|
82
113
|
}
|
|
83
114
|
//#endregion
|
|
84
|
-
export { f as PDFToolbar
|
|
115
|
+
export { f as PDFToolbar };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
var e = {
|
|
2
|
-
toolbar: "
|
|
3
|
-
item: "
|
|
4
|
-
overflowWrapper: "
|
|
5
|
-
overflowBtnActive: "
|
|
6
|
-
dropdown: "
|
|
7
|
-
dropdownItem: "
|
|
8
|
-
labeledItem: "
|
|
9
|
-
itemContent: "
|
|
10
|
-
itemLabel: "
|
|
2
|
+
toolbar: "_toolbar_1k80o_1",
|
|
3
|
+
item: "_item_1k80o_17",
|
|
4
|
+
overflowWrapper: "_overflowWrapper_1k80o_29",
|
|
5
|
+
overflowBtnActive: "_overflowBtnActive_1k80o_41",
|
|
6
|
+
dropdown: "_dropdown_1k80o_51",
|
|
7
|
+
dropdownItem: "_dropdownItem_1k80o_81",
|
|
8
|
+
labeledItem: "_labeledItem_1k80o_105",
|
|
9
|
+
itemContent: "_itemContent_1k80o_119",
|
|
10
|
+
itemLabel: "_itemLabel_1k80o_131"
|
|
11
11
|
};
|
|
12
12
|
//#endregion
|
|
13
13
|
export { e as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import e from "./PDFToolbar.module.js";
|
|
2
|
-
import { PDFToolbarDropdownContext as t } from "./
|
|
2
|
+
import { PDFToolbarDropdownContext as t } from "./PDFToolbarDropdownContext.js";
|
|
3
3
|
import { c as n } from "react/compiler-runtime";
|
|
4
4
|
import { useContext as r } from "react";
|
|
5
5
|
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
@@ -3,15 +3,29 @@ import { useEffect as t, useRef as n } from "react";
|
|
|
3
3
|
import * as r from "pdfjs-dist";
|
|
4
4
|
//#region src/hooks/useTextLayer.ts
|
|
5
5
|
function i(i) {
|
|
6
|
-
let a = e(
|
|
6
|
+
let a = e(14), { pdf: o, zoom: s, rotation: c, mountedPages: l, canvasRefs: u } = i, d;
|
|
7
7
|
a[0] === Symbol.for("react.memo_cache_sentinel") ? (d = [], a[0] = d) : d = a[0];
|
|
8
|
-
let f = n(d), p
|
|
9
|
-
|
|
8
|
+
let f = n(d), p;
|
|
9
|
+
a[1] === Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ new Set(), a[1] = p) : p = a[1];
|
|
10
|
+
let m = n(p), h;
|
|
11
|
+
a[2] === Symbol.for("react.memo_cache_sentinel") ? (h = () => {
|
|
12
|
+
m.current = /* @__PURE__ */ new Set();
|
|
13
|
+
for (let e of f.current) e?.replaceChildren();
|
|
14
|
+
}, a[2] = h) : h = a[2];
|
|
15
|
+
let g;
|
|
16
|
+
a[3] !== o || a[4] !== c || a[5] !== s ? (g = [
|
|
17
|
+
o,
|
|
18
|
+
s,
|
|
19
|
+
c
|
|
20
|
+
], a[3] = o, a[4] = c, a[5] = s, a[6] = g) : g = a[6], t(h, g);
|
|
21
|
+
let _, v;
|
|
22
|
+
return a[7] !== u || a[8] !== l || a[9] !== o || a[10] !== c || a[11] !== s ? (_ = () => {
|
|
10
23
|
if (!o) return;
|
|
11
24
|
let e = !1;
|
|
12
25
|
return (async () => {
|
|
13
26
|
for (let t of l) {
|
|
14
27
|
if (e) break;
|
|
28
|
+
if (m.current.has(t)) continue;
|
|
15
29
|
let n = f.current[t - 1], i = u.current[t - 1];
|
|
16
30
|
if (!n || !i) continue;
|
|
17
31
|
n.replaceChildren();
|
|
@@ -24,18 +38,18 @@ function i(i) {
|
|
|
24
38
|
textContentSource: d,
|
|
25
39
|
container: n,
|
|
26
40
|
viewport: l
|
|
27
|
-
}).render();
|
|
41
|
+
}).render(), e || m.current.add(t);
|
|
28
42
|
}
|
|
29
43
|
})(), () => {
|
|
30
44
|
e = !0;
|
|
31
45
|
};
|
|
32
|
-
},
|
|
46
|
+
}, v = [
|
|
33
47
|
o,
|
|
34
48
|
s,
|
|
35
49
|
c,
|
|
36
50
|
l,
|
|
37
51
|
u
|
|
38
|
-
], a[
|
|
52
|
+
], a[7] = u, a[8] = l, a[9] = o, a[10] = c, a[11] = s, a[12] = _, a[13] = v) : (_ = a[12], v = a[13]), t(_, v), f;
|
|
39
53
|
}
|
|
40
54
|
//#endregion
|
|
41
55
|
export { i as useTextLayer };
|
package/dist/es/pdf-tsx.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_1t51x_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1t51x_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1t51x_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_1t51x_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_1t51x_77{margin-bottom:25px;position:relative}._pageCanvas_1t51x_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1t51x_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_1t51x_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1t51x_105>:not(._markedContent_1t51x_157),._textLayer_1t51x_105 ._markedContent_1t51x_157 span:not(._markedContent_1t51x_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_1t51x_105 ._markedContent_1t51x_157{display:contents}._textLayer_1t51x_105 ._endOfContent_1t51x_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1t51x_105._selecting_1t51x_205 ._endOfContent_1t51x_187{top:0}._textLayer_1t51x_105 ::selection{background:#0000ff40}._textLayer_1t51x_105 br::selection{background:0 0}._pageSkeleton_1t51x_245{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_1t51x_245:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1t51x_1}@keyframes _spin_1t51x_1{to{transform:rotate(360deg)}}._highlightOverlay_1t51x_299{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1t51x_317{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1t51x_331{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_xoqxq_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_xoqxq_9{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_xoqxq_15{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_xoqxq_21{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_xoqxq_26{background:var(--pdf-bg);border:1px solid var(--pdf-border);z-index:100;border-radius:6px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000002e}._dropdownItem_xoqxq_41{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_xoqxq_41>*{flex-shrink:0}._labeledItem_xoqxq_53{align-items:center;gap:8px;width:100%;display:flex}._itemContent_xoqxq_60{flex-shrink:0;align-items:center;display:flex}._itemLabel_xoqxq_66{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_xoqxq_41:hover{background:var(--pdf-surface-hover)}
|
|
1
|
+
._wrapper_1xud4_1{border-right:1px solid var(--pdf-border);height:100%;display:flex}._wrapperCollapsed_1xud4_13{border-right:1px solid var(--pdf-border);background-color:var(--pdf-bg);flex-direction:column;height:100%;padding-top:4px;display:flex}._buttonBar_1xud4_31{background-color:var(--pdf-bg);flex-direction:column;flex-shrink:0;gap:2px;width:48px;padding-top:4px;display:flex}._toggleButton_1xud4_51{border-bottom:1px solid var(--pdf-border);border-radius:0;width:48px;margin:0;padding-bottom:6px}._panelButton_1xud4_69{cursor:pointer;width:44px;height:44px;color:var(--pdf-text-muted);background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;transition:background-color .15s,color .15s;display:flex}._panelButton_1xud4_69:hover{background-color:var(--pdf-surface);color:var(--pdf-text-secondary)}._panelButtonActive_1xud4_109{background-color:var(--pdf-surface);color:var(--pdf-accent-light)}._panelButtonActive_1xud4_109:hover{color:var(--pdf-accent-light)}._contentPanel_1xud4_127{background-color:var(--pdf-panel-bg);border-right:1px solid var(--pdf-panel-border);flex-direction:column;width:260px;display:flex}._panelHeader_1xud4_143{color:var(--pdf-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-header-bg);flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600}._panelBody_1xud4_167{flex:1;overflow-y:auto}._appLayout_1t51x_1{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}._body_1t51x_17{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}._toolbar_1t51x_33{border-bottom:1px solid var(--pdf-border);background-color:var(--pdf-bg);z-index:10;flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex}._scrollContainer_1t51x_57{background-color:var(--pdf-scroll-area);flex-direction:column;flex:1;align-items:center;padding:10px 20px;display:flex;overflow-y:auto}._pageWrapper_1t51x_77{margin-bottom:25px;position:relative}._pageCanvas_1t51x_87{z-index:1;box-shadow:0 5px 20px var(--pdf-shadow-page);pointer-events:none;background-color:#fff;display:block;position:relative}._textLayer_1t51x_105{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}._textLayer_1t51x_105 :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._textLayer_1t51x_105>:not(._markedContent_1t51x_157),._textLayer_1t51x_105 ._markedContent_1t51x_157 span:not(._markedContent_1t51x_157){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_1t51x_105 ._markedContent_1t51x_157{display:contents}._textLayer_1t51x_105 ._endOfContent_1t51x_187{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._textLayer_1t51x_105._selecting_1t51x_205 ._endOfContent_1t51x_187{top:0}._textLayer_1t51x_105 ::selection{background:#0000ff40}._textLayer_1t51x_105 br::selection{background:0 0}._pageSkeleton_1t51x_245{z-index:0;pointer-events:none;background:#fff;border-radius:1px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}._pageSkeleton_1t51x_245:after{content:"";border:3px solid #0000001a;border-top-color:var(--pdf-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite _spin_1t51x_1}@keyframes _spin_1t51x_1{to{transform:rotate(360deg)}}._highlightOverlay_1t51x_299{z-index:4;pointer-events:none;background-color:#ffdc0059;border:2px solid #ffa000e6;border-radius:2px;position:absolute}._linkOverlay_1t51x_317{z-index:3;pointer-events:all;cursor:pointer;position:absolute}._searchMatchOverlay_1t51x_331{z-index:3;pointer-events:none;background-color:#fde0474d;border-bottom:2px solid #eab308cc;position:absolute}._list_185ig_1{flex-direction:column;display:flex}._emptyState_185ig_11{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._pageHeader_185ig_23{color:var(--pdf-text-secondary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--pdf-panel-header-bg);border-bottom:1px solid var(--pdf-panel-border);padding:5px 12px;font-size:10px;font-weight:600}._card_185ig_45{border:1px solid var(--pdf-panel-border);background-color:var(--pdf-panel-bg);border-radius:6px;margin:8px;padding:10px 12px;font-size:12px;transition:box-shadow .12s}._cardClickable_185ig_65{cursor:pointer}._cardClickable_185ig_65:hover{box-shadow:0 1px 6px var(--pdf-shadow-page)}._cardHeader_185ig_81{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._cardLabel_185ig_95{color:var(--pdf-text-secondary);font-size:11px;font-weight:600}._cardPage_185ig_107{color:var(--pdf-text-secondary);font-size:10px}._cardAuthor_185ig_117{color:var(--pdf-text-muted);margin-bottom:3px;font-size:11px}._cardContent_185ig_129{color:var(--pdf-text-primary);font-size:12px;line-height:1.5}._iconWrapper_185ig_141{justify-content:center;align-items:center;display:flex;position:relative}._badge_185ig_155{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._list_8oiyp_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_8oiyp_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_8oiyp_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;box-sizing:border-box;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}._fileIcon_8oiyp_65{color:var(--pdf-text-muted);flex-shrink:0;align-items:center;display:flex}._filename_8oiyp_79{min-width:0;color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}._downloadBtn_8oiyp_101{border:1px solid var(--pdf-border);background:var(--pdf-surface);width:28px;height:28px;color:var(--pdf-text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}._downloadBtn_8oiyp_101:hover{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}._iconWrapper_8oiyp_153{justify-content:center;align-items:center;display:flex;position:relative}._badge_8oiyp_167{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._btn_12ml0_1{color:var(--pdf-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .12s,color .12s;display:flex}._btn_12ml0_1:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._btn_12ml0_1:disabled{color:var(--pdf-border);cursor:default}._primary_12ml0_57{background:var(--pdf-accent);color:#fff;padding:6px 14px}._primary_12ml0_57:hover:not(:disabled){background:var(--pdf-accent-hover);color:#fff}._navWrapper_1s04k_1{align-items:center;gap:2px;display:flex}._pageInput_1s04k_13{background:var(--pdf-surface);width:32px;color:var(--pdf-text-primary);font-variant-numeric:tabular-nums;text-align:center;border:1px solid #0000;border-radius:4px;outline:none;padding:3px 4px;font-family:inherit;font-size:12px}._pageInput_1s04k_13:focus{border-color:var(--pdf-accent);background:var(--pdf-bg)}._pageInput_1s04k_13::-webkit-outer-spin-button{-webkit-appearance:none}._pageInput_1s04k_13::-webkit-inner-spin-button{-webkit-appearance:none}._pageInput_1s04k_13{-moz-appearance:textfield}._pageTotal_1s04k_69{color:var(--pdf-text-placeholder);font-variant-numeric:tabular-nums;font-size:12px}._emptyState_1w4ic_1{color:var(--pdf-text-secondary);padding:20px 14px;font-size:12px}._tree_1w4ic_13{flex-direction:column;padding:4px 0;display:flex}._row_1w4ic_25{color:var(--pdf-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin:0 4px;padding:5px 12px;font-size:12px;line-height:1.4;display:flex}._row_1w4ic_25:hover{background-color:var(--pdf-surface-hover);color:var(--pdf-text-primary)}._chevronBtn_1w4ic_61{cursor:pointer;color:var(--pdf-text-secondary);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}._chevronBtn_1w4ic_61:hover{color:var(--pdf-text-muted)}._title_1w4ic_91{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._wrapper_4qrs1_1{align-items:center;gap:4px;display:flex}._searchIconWrapper_4qrs1_13{color:var(--pdf-text-secondary);align-items:center;display:flex}._searchInput_4qrs1_25{background:var(--pdf-surface);border:1px solid var(--pdf-border);color:var(--pdf-text-primary);border-radius:4px;outline:none;width:180px;padding:4px 8px;font-family:inherit;font-size:13px}._searchInput_4qrs1_25:focus{border-color:var(--pdf-accent)}._searchInput_4qrs1_25::placeholder{color:var(--pdf-text-placeholder)}._navButton_4qrs1_65{color:var(--pdf-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}._navButton_4qrs1_65:hover:not(:disabled){background:var(--pdf-surface);color:var(--pdf-text-primary)}._navButton_4qrs1_65:disabled{color:var(--pdf-border);cursor:default}._counter_4qrs1_107{color:var(--pdf-text-muted);text-align:center;min-width:36px;font-size:11px}._list_irrdi_1{flex-direction:column;gap:6px;padding:8px;display:flex}._emptyState_irrdi_15{color:var(--pdf-text-muted);text-align:center;padding:24px 14px;font-size:12px}._card_irrdi_29{border:1px solid var(--pdf-border);background:var(--pdf-panel-bg);text-align:left;cursor:default;box-sizing:border-box;border-radius:8px;width:100%;font-family:inherit;font-size:12px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}._cardSigned_irrdi_63{background:#22c55e0a;border-color:#22c55e47}._cardClickable_irrdi_73{cursor:pointer}._cardClickable_irrdi_73:hover{box-shadow:0 2px 10px var(--pdf-shadow-page);border-color:var(--pdf-border-light)}._cardSigned_irrdi_63._cardClickable_irrdi_73:hover{border-color:#22c55e73}._cardBody_irrdi_99{padding:10px 12px 10px 16px}._cardHeader_irrdi_107{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._fieldName_irrdi_123{color:var(--pdf-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}._statusChip_irrdi_145{text-transform:uppercase;letter-spacing:.5px;background:var(--pdf-surface-hover);color:var(--pdf-text-muted);border:1px solid var(--pdf-border);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}._statusChipSigned_irrdi_177{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}._fieldList_irrdi_189{flex-direction:column;gap:4px;display:flex}._fieldRow_irrdi_201{grid-template-columns:72px 1fr;gap:4px;font-size:11px;line-height:1.5;display:grid}._fieldLabel_irrdi_217{color:var(--pdf-text-muted);font-weight:500}._fieldValue_irrdi_227{color:var(--pdf-text-secondary);word-break:break-word}._iconWrapper_irrdi_237{justify-content:center;align-items:center;display:flex;position:relative}._badge_irrdi_251{background-color:var(--pdf-badge-bg);color:#fff;text-align:center;pointer-events:none;box-sizing:border-box;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:-5px;right:-7px}._thumbnailList_vk7sw_1{background-color:var(--pdf-panel-bg);padding-bottom:8px}._thumbnailItem_vk7sw_11{cursor:pointer;text-align:center;background-color:#0000;border-left:2px solid #0000;padding:12px 16px;transition:background-color .15s}._thumbnailItem_vk7sw_11:hover{background-color:var(--pdf-surface-hover)}._thumbnailItemActive_vk7sw_37{background-color:var(--pdf-accent-subtle);border-left-color:var(--pdf-accent)}._thumbnailItemActive_vk7sw_37:hover{background-color:var(--pdf-accent-subtle)}._thumbnailImg_vk7sw_55{width:120px;box-shadow:0 1px 4px var(--pdf-shadow-page);border-radius:2px}._thumbnailImgActive_vk7sw_67{box-shadow:0 0 0 2px var(--pdf-accent), 0 2px 8px var(--pdf-shadow-page)}._thumbnailSkeleton_vk7sw_75{background:linear-gradient(90deg, var(--pdf-surface) 25%, var(--pdf-surface-hover) 50%, var(--pdf-surface) 75%);background-size:200% 100%;border-radius:2px;width:120px;height:160px;animation:1.4s infinite _shimmer_vk7sw_1}@keyframes _shimmer_vk7sw_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumbnailLabel_vk7sw_103{color:var(--pdf-text-muted);margin-top:6px;font-size:11px;font-weight:400}._thumbnailLabelActive_vk7sw_117{color:var(--pdf-accent-hover);font-weight:600}._zoomLabel_1r6if_1{text-align:center;min-width:42px;color:var(--pdf-text-muted);font-variant-numeric:tabular-nums;font-size:12px}._toolbar_1k80o_1{flex:1;align-items:center;gap:2px;min-width:0;display:flex}._item_1k80o_17{flex-shrink:0;align-items:center;display:flex}._overflowWrapper_1k80o_29{flex-shrink:0;margin-left:auto;position:relative}._overflowBtnActive_1k80o_41{background:var(--pdf-surface);color:var(--pdf-text-primary)}._dropdown_1k80o_51{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_1k80o_81{border-radius:4px;justify-content:flex-end;align-items:center;padding:1px 2px;display:flex}._dropdownItem_1k80o_81>*{flex-shrink:0}._labeledItem_1k80o_105{align-items:center;gap:8px;width:100%;display:flex}._itemContent_1k80o_119{flex-shrink:0;align-items:center;display:flex}._itemLabel_1k80o_131{color:var(--pdf-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;font-size:12px}._dropdownItem_1k80o_81:hover{background:var(--pdf-surface-hover)}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pdf-tsx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "A fully-featured, composable PDF viewer component for React",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.cjs",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
54
54
|
"globals": "^16.5.0",
|
|
55
55
|
"react-icons": "^5.6.0",
|
|
56
|
+
"react-scan": "^0.5.6",
|
|
56
57
|
"typescript": "~5.9.3",
|
|
57
58
|
"typescript-eslint": "^8.58.1",
|
|
58
59
|
"vite": "^8.0.8",
|