@snokam/ui 7.6.5 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/dropzone/components/PDFPreview.d.ts.map +1 -1
  3. package/dist/components/dropzone/components/PDFPreview.js +4 -7
  4. package/dist/components/dropzone/components/PDFPreview.js.map +1 -1
  5. package/dist/components/dropzone/components/PDFPreviewCard.d.ts.map +1 -1
  6. package/dist/components/dropzone/components/PDFPreviewCard.js +4 -7
  7. package/dist/components/dropzone/components/PDFPreviewCard.js.map +1 -1
  8. package/dist/components/layout/styled.js +1 -1
  9. package/dist/components/pdf-viewer/PdfDocumentViewer.d.ts +11 -0
  10. package/dist/components/pdf-viewer/PdfDocumentViewer.d.ts.map +1 -0
  11. package/dist/components/pdf-viewer/PdfDocumentViewer.js +19 -0
  12. package/dist/components/pdf-viewer/PdfDocumentViewer.js.map +1 -0
  13. package/dist/components/pdf-viewer/index.d.ts +3 -0
  14. package/dist/components/pdf-viewer/index.d.ts.map +1 -0
  15. package/dist/components/pdf-viewer/index.js +3 -0
  16. package/dist/components/pdf-viewer/index.js.map +1 -0
  17. package/dist/components/pdf-viewer/renderer.d.ts +7 -0
  18. package/dist/components/pdf-viewer/renderer.d.ts.map +1 -0
  19. package/dist/components/pdf-viewer/renderer.js +14 -0
  20. package/dist/components/pdf-viewer/renderer.js.map +1 -0
  21. package/dist/components/pdf-viewer/styles.d.ts +22 -0
  22. package/dist/components/pdf-viewer/styles.d.ts.map +1 -0
  23. package/dist/components/pdf-viewer/styles.js +48 -0
  24. package/dist/components/pdf-viewer/styles.js.map +1 -0
  25. package/dist/components/pdf-viewer/useContainerWidth.d.ts +5 -0
  26. package/dist/components/pdf-viewer/useContainerWidth.d.ts.map +1 -0
  27. package/dist/components/pdf-viewer/useContainerWidth.js +17 -0
  28. package/dist/components/pdf-viewer/useContainerWidth.js.map +1 -0
  29. package/dist/components/pdf-viewer/usePdfRenderer.d.ts +6 -0
  30. package/dist/components/pdf-viewer/usePdfRenderer.d.ts.map +1 -0
  31. package/dist/components/pdf-viewer/usePdfRenderer.js +23 -0
  32. package/dist/components/pdf-viewer/usePdfRenderer.js.map +1 -0
  33. package/package.json +5 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [7.7.0](https://github.com/snokam/components/compare/%40snokam%2Fui%407.6.5...%40snokam%2Fui%407.7.0) (2026-11-11)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **web:** pdf previews render on iPhone ([#3569](https://github.com/snokam/components/issues/3569)) ([95c3e38](https://github.com/snokam/components/commit/95c3e3882432b5baa52ff0a0660a6b45d0302aa0))
11
+
12
+ ### Features
13
+
14
+ - **web:** the left menu collapses to an icon rail, replacing the full-page buttons ([#3575](https://github.com/snokam/components/issues/3575)) ([7a983ea](https://github.com/snokam/components/commit/7a983ea7de790b9da954593d1f6b7ff01627dcd8))
15
+
6
16
  ## [7.6.5](https://github.com/snokam/components/compare/%40snokam%2Fui%407.6.4...%40snokam%2Fui%407.6.5) (2026-11-11)
7
17
 
8
18
  ### Bug Fixes
@@ -1 +1 @@
1
- {"version":3,"file":"PDFPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiGhD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"PDFPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6FhD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useMemo } from "react";
3
3
  import { useDropzoneTexts } from "../texts";
4
+ import { loadPdfRenderer } from "../../pdf-viewer/renderer";
4
5
  import * as Styled from "./PDFPreview.styles";
5
6
  export const PDFPreview = ({ file, fileName, fileSize: _fileSize, theme, }) => {
6
7
  const texts = useDropzoneTexts();
@@ -12,13 +13,9 @@ export const PDFPreview = ({ file, fileName, fileSize: _fileSize, theme, }) => {
12
13
  useEffect(() => {
13
14
  if (typeof window !== "undefined") {
14
15
  setIsClient(true);
15
- import("react-pdf")
16
- .then(async (reactPdf) => {
17
- reactPdf.pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${reactPdf.pdfjs.version}/build/pdf.worker.min.mjs`;
18
- setPdfComponents({
19
- Document: reactPdf.Document,
20
- Page: reactPdf.Page,
21
- });
16
+ loadPdfRenderer()
17
+ .then((renderer) => {
18
+ setPdfComponents(renderer);
22
19
  })
23
20
  .catch((err) => {
24
21
  setError(`Failed to load PDF viewer: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"PDFPreview.js","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFPreview.js","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreview.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PDFPreviewCard.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreviewCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgFxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"PDFPreviewCard.d.ts","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreviewCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4ExD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { useDropzoneTexts } from "../texts";
4
+ import { loadPdfRenderer } from "../../pdf-viewer/renderer";
4
5
  import * as Styled from "./PDFPreviewCard.styles";
5
6
  export const PDFPreviewCard = ({ file, theme, }) => {
6
7
  const texts = useDropzoneTexts();
@@ -12,13 +13,9 @@ export const PDFPreviewCard = ({ file, theme, }) => {
12
13
  useEffect(() => {
13
14
  if (typeof window !== "undefined") {
14
15
  setIsClient(true);
15
- import("react-pdf")
16
- .then(async (reactPdf) => {
17
- reactPdf.pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${reactPdf.pdfjs.version}/build/pdf.worker.min.mjs`;
18
- setPdfComponents({
19
- Document: reactPdf.Document,
20
- Page: reactPdf.Page,
21
- });
16
+ loadPdfRenderer()
17
+ .then((renderer) => {
18
+ setPdfComponents(renderer);
22
19
  })
23
20
  .catch((err) => {
24
21
  setError(`Failed to load PDF viewer: ${err}`);
@@ -1 +1 @@
1
- {"version":3,"file":"PDFPreviewCard.js","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreviewCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFPreviewCard.js","sourceRoot":"","sources":["../../../../src/components/dropzone/components/PDFPreviewCard.tsx"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ const Content = styled.div `
62
62
  case Width.Normal:
63
63
  default:
64
64
  return css `
65
- max-width: 1272px;
65
+ max-width: calc(1272px + var(--sidebar-freed-width, 0px));
66
66
  `;
67
67
  }
68
68
  }}
@@ -0,0 +1,11 @@
1
+ import "react-pdf/dist/Page/TextLayer.css";
2
+ import "react-pdf/dist/Page/AnnotationLayer.css";
3
+ export interface PdfDocumentViewerProps {
4
+ file: string;
5
+ title: string;
6
+ errorText: string;
7
+ openLabel?: string;
8
+ className?: string;
9
+ }
10
+ export declare function PdfDocumentViewer({ file, title, errorText, openLabel, className, }: PdfDocumentViewerProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=PdfDocumentViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfDocumentViewer.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/PdfDocumentViewer.tsx"],"names":[],"mappings":"AAQA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,yCAAyC,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsCD,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,sBAAsB,+BA4BxB"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { useContainerWidth } from "./useContainerWidth";
5
+ import { usePdfRenderer } from "./usePdfRenderer";
6
+ import * as Styled from "./styles";
7
+ import "react-pdf/dist/Page/TextLayer.css";
8
+ import "react-pdf/dist/Page/AnnotationLayer.css";
9
+ function PdfPages({ renderer: { Document, Page }, file, width, errorText, }) {
10
+ const [numPages, setNumPages] = useState(0);
11
+ return (_jsx(Document, { file: file, externalLinkTarget: "_blank", onLoadSuccess: ({ numPages: loaded }) => setNumPages(loaded), loading: _jsx(Styled.PageSkeleton, { variant: "rectangular" }), error: _jsx(Styled.ErrorText, { children: errorText }), children: width > 0 &&
12
+ Array.from({ length: numPages }, (_, index) => (_jsx(Page, { pageNumber: index + 1, width: width, loading: _jsx(Styled.PageSkeleton, { variant: "rectangular" }) }, index + 1))) }));
13
+ }
14
+ export function PdfDocumentViewer({ file, title, errorText, openLabel, className, }) {
15
+ const { renderer, failed: rendererFailed } = usePdfRenderer();
16
+ const { ref, width } = useContainerWidth();
17
+ return (_jsxs(Styled.Viewer, { className: className, children: [_jsxs(Styled.Pages, { ref: ref, role: "document", "aria-label": title, children: [rendererFailed && _jsx(Styled.ErrorText, { children: errorText }), !rendererFailed && !renderer && (_jsx(Styled.PageSkeleton, { variant: "rectangular" })), renderer && (_jsx(PdfPages, { renderer: renderer, file: file, width: width, errorText: errorText }, file))] }), openLabel && (_jsx(Styled.OpenLink, { href: file, target: "_blank", rel: "noopener noreferrer", children: openLabel }))] }));
18
+ }
19
+ //# sourceMappingURL=PdfDocumentViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfDocumentViewer.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/PdfDocumentViewer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,yCAAyC,CAAC;AAiBjD,SAAS,QAAQ,CAAC,EAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC5B,IAAI,EACJ,KAAK,EACL,SAAS,GACK;IACd,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,CACL,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAC,QAAQ,EAC3B,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5D,OAAO,EAAE,KAAC,MAAM,CAAC,YAAY,IAAC,OAAO,EAAC,aAAa,GAAG,EACtD,KAAK,EAAE,KAAC,MAAM,CAAC,SAAS,cAAE,SAAS,GAAoB,YAEtD,KAAK,GAAG,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7C,KAAC,IAAI,IAEH,UAAU,EAAE,KAAK,GAAG,CAAC,EACrB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAC,MAAM,CAAC,YAAY,IAAC,OAAO,EAAC,aAAa,GAAG,IAHjD,KAAK,GAAG,CAAC,CAId,CACH,CAAC,GACK,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,GACc;IACvB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IAC9D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAkB,CAAC;IAE3D,OAAO,CACL,MAAC,MAAM,CAAC,MAAM,IAAC,SAAS,EAAE,SAAS,aACjC,MAAC,MAAM,CAAC,KAAK,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,UAAU,gBAAa,KAAK,aACtD,cAAc,IAAI,KAAC,MAAM,CAAC,SAAS,cAAE,SAAS,GAAoB,EAClE,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,CAC/B,KAAC,MAAM,CAAC,YAAY,IAAC,OAAO,EAAC,aAAa,GAAG,CAC9C,EACA,QAAQ,IAAI,CACX,KAAC,QAAQ,IAEP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,IAJf,IAAI,CAKT,CACH,IACY,EACd,SAAS,IAAI,CACZ,KAAC,MAAM,CAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,YACnE,SAAS,GACM,CACnB,IACa,CACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PdfDocumentViewer } from "./PdfDocumentViewer";
2
+ export type { PdfDocumentViewerProps } from "./PdfDocumentViewer";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ export { PdfDocumentViewer } from "./PdfDocumentViewer";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Document, Page } from "react-pdf";
2
+ export interface PdfRenderer {
3
+ Document: typeof Document;
4
+ Page: typeof Page;
5
+ }
6
+ export declare function loadPdfRenderer(): Promise<PdfRenderer>;
7
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,EAAE,OAAO,IAAI,CAAC;CACnB;AAUD,wBAAgB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAMtD"}
@@ -0,0 +1,14 @@
1
+ let pending = null;
2
+ async function importRenderer() {
3
+ const { Document, Page, pdfjs } = await import("react-pdf");
4
+ pdfjs.GlobalWorkerOptions.workerSrc = `https://unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;
5
+ return { Document, Page };
6
+ }
7
+ export function loadPdfRenderer() {
8
+ pending ?? (pending = importRenderer().catch((error) => {
9
+ pending = null;
10
+ throw error;
11
+ }));
12
+ return pending;
13
+ }
14
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/renderer.ts"],"names":[],"mappings":"AAOA,IAAI,OAAO,GAAgC,IAAI,CAAC;AAEhD,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5D,KAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,gCAAgC,KAAK,CAAC,OAAO,2BAA2B,CAAC;IAC/G,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAP,OAAO,GAAK,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACpD,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,EAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export declare const Viewer: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
+ export declare const Pages: import("@emotion/styled").StyledComponent<{
6
+ theme?: import("@emotion/react").Theme;
7
+ as?: React.ElementType;
8
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
9
+ export declare const PageSkeleton: import("@emotion/styled").StyledComponent<import("@mui/material").SkeletonOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "className" | "style" | "classes" | "children" | "sx" | "variant" | "height" | "width" | "animation"> & {
10
+ component?: React.ElementType | undefined;
11
+ } & {
12
+ theme?: import("@emotion/react").Theme;
13
+ }, {}, {}>;
14
+ export declare const ErrorText: import("@emotion/styled").StyledComponent<{
15
+ theme?: import("@emotion/react").Theme;
16
+ as?: React.ElementType;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, {}>;
18
+ export declare const OpenLink: import("@emotion/styled").StyledComponent<{
19
+ theme?: import("@emotion/react").Theme;
20
+ as?: React.ElementType;
21
+ }, import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, {}>;
22
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/styles.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;yGAKlB,CAAC;AAEF,eAAO,MAAM,KAAK;;;yGAiBjB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;UAKxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;qHAKrB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;qHAMpB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import styled from "@emotion/styled";
3
+ import { Skeleton } from "@snokam/ui/skeleton";
4
+ import { RADIUS, SPACE, tokens } from "@snokam/ui/tokens";
5
+ export const Viewer = styled.div `
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: ${SPACE.sm};
9
+ width: 100%;
10
+ `;
11
+ export const Pages = styled.div `
12
+ width: 100%;
13
+ max-height: var(--pdf-viewer-max-height, none);
14
+ overflow-y: auto;
15
+ border: var(--pdf-viewer-border, 1px solid var(--o-border));
16
+ border-radius: var(--pdf-viewer-radius, ${RADIUS.sm});
17
+ background: var(--pdf-viewer-background, var(--o-surface-2));
18
+
19
+ .react-pdf__Document {
20
+ display: flex;
21
+ flex-direction: column;
22
+ gap: var(--pdf-viewer-page-gap, ${SPACE.sm});
23
+ }
24
+
25
+ .react-pdf__Page canvas {
26
+ display: block;
27
+ }
28
+ `;
29
+ export const PageSkeleton = styled(Skeleton) `
30
+ width: 100%;
31
+ height: auto;
32
+ aspect-ratio: 210 / 297;
33
+ transform: none;
34
+ `;
35
+ export const ErrorText = styled.p `
36
+ margin: 0;
37
+ padding: ${SPACE.lg};
38
+ font: 400 0.875rem/1.5 ${tokens.font};
39
+ color: var(--o-text-muted);
40
+ `;
41
+ export const OpenLink = styled.a `
42
+ align-self: flex-start;
43
+ font: 600 0.875rem/1.4 ${tokens.font};
44
+ color: var(--o-cyan);
45
+ text-decoration: underline;
46
+ text-underline-offset: 2px;
47
+ `;
48
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/styles.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;;;SAGvB,KAAK,CAAC,EAAE;;CAEhB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;4CAKa,MAAM,CAAC,EAAE;;;;;;sCAMf,KAAK,CAAC,EAAE;;;;;;CAM7C,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;;;;;CAK3C,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAA;;aAEpB,KAAK,CAAC,EAAE;2BACM,MAAM,CAAC,IAAI;;CAErC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAA;;2BAEL,MAAM,CAAC,IAAI;;;;CAIrC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function useContainerWidth<T extends HTMLElement>(): {
2
+ ref: import("react").RefObject<T>;
3
+ width: number;
4
+ };
5
+ //# sourceMappingURL=useContainerWidth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContainerWidth.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/useContainerWidth.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW;;;EAetD"}
@@ -0,0 +1,17 @@
1
+ import { useEffect, useRef, useState } from "react";
2
+ export function useContainerWidth() {
3
+ const ref = useRef(null);
4
+ const [width, setWidth] = useState(0);
5
+ useEffect(() => {
6
+ const node = ref.current;
7
+ if (!node)
8
+ return;
9
+ const update = () => setWidth(Math.floor(node.clientWidth));
10
+ update();
11
+ const observer = new ResizeObserver(update);
12
+ observer.observe(node);
13
+ return () => observer.disconnect();
14
+ }, []);
15
+ return { ref, width };
16
+ }
17
+ //# sourceMappingURL=useContainerWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContainerWidth.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/useContainerWidth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type PdfRenderer } from "./renderer";
2
+ export declare function usePdfRenderer(): {
3
+ renderer: PdfRenderer;
4
+ failed: boolean;
5
+ };
6
+ //# sourceMappingURL=usePdfRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePdfRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/pdf-viewer/usePdfRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/D,wBAAgB,cAAc;;;EAmB7B"}
@@ -0,0 +1,23 @@
1
+ import { useEffect, useState } from "react";
2
+ import { loadPdfRenderer } from "./renderer";
3
+ export function usePdfRenderer() {
4
+ const [renderer, setRenderer] = useState(null);
5
+ const [failed, setFailed] = useState(false);
6
+ useEffect(() => {
7
+ let active = true;
8
+ loadPdfRenderer()
9
+ .then((loaded) => {
10
+ if (active)
11
+ setRenderer(loaded);
12
+ })
13
+ .catch(() => {
14
+ if (active)
15
+ setFailed(true);
16
+ });
17
+ return () => {
18
+ active = false;
19
+ };
20
+ }, []);
21
+ return { renderer, failed };
22
+ }
23
+ //# sourceMappingURL=usePdfRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePdfRenderer.js","sourceRoot":"","sources":["../../../src/components/pdf-viewer/usePdfRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAoB,MAAM,YAAY,CAAC;AAE/D,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,eAAe,EAAE;aACd,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,MAAM;gBAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@snokam/ui",
3
3
  "description": "Snøkam UI library — the single MUI seam. Apps import from here, never from @mui directly.",
4
- "version": "7.6.5",
4
+ "version": "7.7.0",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
7
7
  "sideEffects": [
@@ -264,6 +264,10 @@
264
264
  "types": "./dist/components/panel/index.d.ts",
265
265
  "default": "./dist/components/panel/index.js"
266
266
  },
267
+ "./pdf-viewer": {
268
+ "types": "./dist/components/pdf-viewer/index.d.ts",
269
+ "default": "./dist/components/pdf-viewer/index.js"
270
+ },
267
271
  "./permission-lock": {
268
272
  "types": "./dist/components/permission-lock/index.d.ts",
269
273
  "default": "./dist/components/permission-lock/index.js"