@pdfslick/react 3.0.0 → 4.0.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 +4 -0
- package/dist/esm/PDFSlickThumbnails.d.ts +1 -1
- package/dist/esm/PDFSlickThumbnails.d.ts.map +1 -1
- package/dist/esm/PDFSlickViewer.d.ts +1 -1
- package/dist/esm/PDFSlickViewer.d.ts.map +1 -1
- package/dist/esm/hooks.d.ts +23 -0
- package/dist/esm/hooks.d.ts.map +1 -0
- package/dist/esm/index.js +42 -2
- package/dist/pdf_viewer.css +3689 -2001
- package/dist/umd/PDFSlickThumbnails.d.ts +1 -1
- package/dist/umd/PDFSlickThumbnails.d.ts.map +1 -1
- package/dist/umd/PDFSlickViewer.d.ts +1 -1
- package/dist/umd/PDFSlickViewer.d.ts.map +1 -1
- package/dist/umd/hooks.d.ts +23 -0
- package/dist/umd/hooks.d.ts.map +1 -0
- package/dist/umd/index.js +4 -4
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -102,6 +102,10 @@ Provided with the PDF Document path and PDFSlick options object, the `usePDFSlic
|
|
|
102
102
|
|
|
103
103
|
[More on using PDFSlick with React](https://pdfslick.dev/docs/react) | [Checkout the React Examples](./apps/web/examples)
|
|
104
104
|
|
|
105
|
+
## Author
|
|
106
|
+
|
|
107
|
+
PDFSlick was conceived and developed, and is currently maintained by [Vancho Stojkov](https://github.com/van100j), who embarked on this project with the vision of simplifying PDF integration for modern web frameworks, leveraging the power of PDF.js while providing a developer-friendly API.
|
|
108
|
+
|
|
105
109
|
## Thanks
|
|
106
110
|
|
|
107
111
|
- [Vane Kosturanov](https://kosturanov.com/portfolio/logo-branding-design) for designing the logo
|
|
@@ -16,5 +16,5 @@ export type PDFSlickThumbnailsContainerProps = {
|
|
|
16
16
|
usePDFSlickStore: TUsePDFSlickStore;
|
|
17
17
|
className?: string;
|
|
18
18
|
};
|
|
19
|
-
export declare function PDFSlickThumbnails({ children: renderChild, thumbsRef, usePDFSlickStore, className, }: PDFSlickThumbnailsContainerProps): import("react
|
|
19
|
+
export declare function PDFSlickThumbnails({ children: renderChild, thumbsRef, usePDFSlickStore, className, }: PDFSlickThumbnailsContainerProps): import("react").JSX.Element;
|
|
20
20
|
//# sourceMappingURL=PDFSlickThumbnails.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFSlickThumbnails.d.ts","sourceRoot":"","sources":["../PDFSlickThumbnails.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,EAAE,CAAC,EACT,UAAU,EACV,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,GACP,EAAE,kBAAkB,KAAK,SAAS,CAAC;IACpC,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,gBAAgB,EAChB,SAAS,GACV,EAAE,gCAAgC
|
|
1
|
+
{"version":3,"file":"PDFSlickThumbnails.d.ts","sourceRoot":"","sources":["../PDFSlickThumbnails.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,EAAE,CAAC,EACT,UAAU,EACV,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,GACP,EAAE,kBAAkB,KAAK,SAAS,CAAC;IACpC,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,gBAAgB,EAChB,SAAS,GACV,EAAE,gCAAgC,+BA8ClC"}
|
|
@@ -4,5 +4,5 @@ export type PDFSlickViewerProps = {
|
|
|
4
4
|
usePDFSlickStore: TUsePDFSlickStore;
|
|
5
5
|
className?: string;
|
|
6
6
|
};
|
|
7
|
-
export default function PDFSlickViewer({ usePDFSlickStore, viewerRef, className, }: PDFSlickViewerProps): import("react
|
|
7
|
+
export default function PDFSlickViewer({ usePDFSlickStore, viewerRef, className, }: PDFSlickViewerProps): import("react").JSX.Element;
|
|
8
8
|
//# sourceMappingURL=PDFSlickViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFSlickViewer.d.ts","sourceRoot":"","sources":["../PDFSlickViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,gBAAgB,EAChB,SAAS,EACT,SAAS,GACV,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"PDFSlickViewer.d.ts","sourceRoot":"","sources":["../PDFSlickViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,gBAAgB,EAChB,SAAS,EACT,SAAS,GACV,EAAE,mBAAmB,+BAyCrB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type DependencyList } from "react";
|
|
2
|
+
type Rect = {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Minimal `ResizeObserver`-based measure hook. Returns a stable callback ref to
|
|
8
|
+
* attach to an element plus the element's content-box size. Replaces
|
|
9
|
+
* `react-use`'s `useMeasure` (we only consume `width`), so `@pdfslick/react`
|
|
10
|
+
* carries no `react-use`/`js-cookie` transitive dependency.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useMeasure<T extends HTMLElement = HTMLElement>(): [
|
|
13
|
+
(el: T | null) => void,
|
|
14
|
+
Rect
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Minimal debounce hook mirroring `react-use`'s `useDebounce(fn, ms, deps)`:
|
|
18
|
+
* runs `fn` once `deps` have been stable for `ms`. The `[isReady, cancel]`
|
|
19
|
+
* tuple `react-use` returns is unused here, so this resolves to `void`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useDebounce(fn: () => void, ms: number, deps: DependencyList): void;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtF,KAAK,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK;IACjE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI;IACtB,IAAI;CACL,CAuBA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,IAAI,EACd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,cAAc,GACnB,IAAI,CAMN"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import React, { useState,
|
|
1
|
+
import React, { useState, useRef, useCallback, useEffect, useMemo } from 'react';
|
|
2
2
|
import useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';
|
|
3
3
|
import { create, PDFSlick } from '@pdfslick/core';
|
|
4
4
|
export * from '@pdfslick/core';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
import { useMeasure, useDebounce } from 'react-use';
|
|
7
6
|
import { createPortal } from 'react-dom';
|
|
8
7
|
|
|
9
8
|
const { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;
|
|
@@ -20,6 +19,47 @@ function useStoreWithEqualityFn(api, selector = identity, equalityFn) {
|
|
|
20
19
|
return slice;
|
|
21
20
|
}
|
|
22
21
|
|
|
22
|
+
/// <reference lib="dom" />
|
|
23
|
+
/**
|
|
24
|
+
* Minimal `ResizeObserver`-based measure hook. Returns a stable callback ref to
|
|
25
|
+
* attach to an element plus the element's content-box size. Replaces
|
|
26
|
+
* `react-use`'s `useMeasure` (we only consume `width`), so `@pdfslick/react`
|
|
27
|
+
* carries no `react-use`/`js-cookie` transitive dependency.
|
|
28
|
+
*/
|
|
29
|
+
function useMeasure() {
|
|
30
|
+
const [rect, setRect] = useState({ width: 0, height: 0 });
|
|
31
|
+
const observerRef = useRef(null);
|
|
32
|
+
const ref = useCallback((el) => {
|
|
33
|
+
var _a;
|
|
34
|
+
(_a = observerRef.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
35
|
+
observerRef.current = null;
|
|
36
|
+
if (el && typeof ResizeObserver !== "undefined") {
|
|
37
|
+
observerRef.current = new ResizeObserver((entries) => {
|
|
38
|
+
const entry = entries[0];
|
|
39
|
+
if (entry) {
|
|
40
|
+
const { width, height } = entry.contentRect;
|
|
41
|
+
setRect({ width, height });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
observerRef.current.observe(el);
|
|
45
|
+
}
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => () => { var _a; return (_a = observerRef.current) === null || _a === void 0 ? void 0 : _a.disconnect(); }, []);
|
|
48
|
+
return [ref, rect];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Minimal debounce hook mirroring `react-use`'s `useDebounce(fn, ms, deps)`:
|
|
52
|
+
* runs `fn` once `deps` have been stable for `ms`. The `[isReady, cancel]`
|
|
53
|
+
* tuple `react-use` returns is unused here, so this resolves to `void`.
|
|
54
|
+
*/
|
|
55
|
+
function useDebounce(fn, ms, deps) {
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
const timeout = setTimeout(fn, ms);
|
|
58
|
+
return () => clearTimeout(timeout);
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
}, deps);
|
|
61
|
+
}
|
|
62
|
+
|
|
23
63
|
function PDFSlickViewer({ usePDFSlickStore, viewerRef, className, }) {
|
|
24
64
|
const pdfSlick = usePDFSlickStore((s) => s.pdfSlick);
|
|
25
65
|
const scaleValue = usePDFSlickStore((s) => s.scaleValue);
|