@react-pdf-kit/viewer
Advanced tools
| import { AnnotationSubType as e } from "./utils/types.js"; | ||
| import { useDocumentContext as t } from "./contexts/RPDocumentContext.js"; | ||
| import { useInitialStateContext as n } from "./contexts/InitialStateContext.js"; | ||
| import { useScrollModeContext as r } from "./contexts/ScrollModeContext.js"; | ||
| import { r as i } from "./PaginationContext-B3qzCYJu.js"; | ||
| import { usePrintContext as a } from "./contexts/PrintContext.js"; | ||
| import { SimpleLinkService as o } from "./utils/link_service.js"; | ||
| import { annotationEventsHandler as s, bindLayerEvents as c, enhanceLinkAccessibility as l, fixTabIndexAccessibility as u, handleAnnotationWidget as d, insertDateText as f, unbindLayerEvents as p } from "./utils/annotations.js"; | ||
| import { useFileDownload as m } from "./utils/hooks/useFileDownload.js"; | ||
| import { useCallback as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react"; | ||
| import { AnnotationLayer as b } from "pdfjs-dist"; | ||
| import { jsx as x } from "react/jsx-runtime"; | ||
| import './assets/AnnotationLayer.css';//#region lib/components/page/AnnotationLayer.module.css | ||
| var S = { "rp-annotation-layer": "_rp-annotation-layer_rwxfx_1" }, C = "https://unpkg.com/pdfjs-dist@4.4.168/web/images/", w = (w) => { | ||
| let { pageNumber: T } = w, E = v(null), { pages: D, pdf: O } = t(), { interactiveForm: k } = n(), A = v(), [j, M] = y(), { goToPage: N } = i(), { scrollMode: P } = r(), { print: F } = a(), { download: I } = m(), L = v(null), R = _(() => D.get(T), [D, T]), z = _(() => R?.page.getViewport(), [R]); | ||
| g(() => { | ||
| A.current &&= (A.current.div.replaceChildren(), void 0); | ||
| }, [O]), g(() => { | ||
| R && R.page.getAnnotations().then((e) => { | ||
| A.current = void 0, M(e), E.current && (E.current.innerText = ""); | ||
| }); | ||
| }, [R]); | ||
| let B = h((e) => { | ||
| !j || !O || (f(E.current), s(e, O, j).then((e) => { | ||
| e?.data?.action === "Print" ? F() : e?.data?.action === "SaveAs" && I(); | ||
| })); | ||
| }, [ | ||
| O, | ||
| j, | ||
| P, | ||
| F, | ||
| I | ||
| ]); | ||
| return g(() => { | ||
| if (!R || !j) return; | ||
| let t = R.page.getViewport(); | ||
| if (A.current) { | ||
| A.current.update({ viewport: t.clone({ dontFlip: !0 }) }); | ||
| return; | ||
| } | ||
| let n = /* @__PURE__ */ new Map([]); | ||
| for (let r of j) { | ||
| let { annotationType: i } = r; | ||
| switch (i) { | ||
| case e.Widget: | ||
| d(r, t, n); | ||
| break; | ||
| default: break; | ||
| } | ||
| } | ||
| let r = new AbortController(); | ||
| return (async () => { | ||
| A.current &&= (A.current.div.replaceChildren(), void 0), E.current && (E.current.innerText = ""), A.current = new b({ | ||
| div: E.current, | ||
| accessibilityManager: void 0, | ||
| annotationCanvasMap: void 0, | ||
| annotationEditorUIManager: void 0, | ||
| structTreeLayer: null, | ||
| page: R.page, | ||
| viewport: t.clone({ dontFlip: !0 }), | ||
| commentManager: void 0, | ||
| linkService: new o(O, N), | ||
| annotationStorage: O?.annotationStorage | ||
| }), E.current && p(E.current, B); | ||
| let e = await O?.hasJSActions(), n = await O?.getFieldObjects(); | ||
| if (r.signal.aborted) throw "abort"; | ||
| return A.current?.render({ | ||
| annotations: j, | ||
| annotationStorage: O?.annotationStorage, | ||
| hasJSActions: e, | ||
| fieldObjects: n, | ||
| div: E.current, | ||
| viewport: t.clone({ dontFlip: !0 }), | ||
| page: R.page, | ||
| imageResourcesPath: C, | ||
| renderForms: k ?? !0, | ||
| linkService: new o(O, N), | ||
| downloadManager: null, | ||
| enableScripting: !1 | ||
| }); | ||
| })().then(() => { | ||
| E.current && (c(E.current, B), u(E.current), l(E.current), L.current && L.current.disconnect(), L.current = new MutationObserver(() => { | ||
| E.current && (u(E.current), l(E.current)); | ||
| }), L.current.observe(E.current, { | ||
| childList: !0, | ||
| subtree: !0, | ||
| attributes: !0, | ||
| attributeFilter: ["tabindex", "href"] | ||
| })); | ||
| }).catch((e) => { | ||
| if (e !== "abort") throw e; | ||
| }).finally(() => { | ||
| A.current = void 0; | ||
| }), () => { | ||
| r.abort("clear"), E.current && p(E.current, B), L.current &&= (L.current.disconnect(), null); | ||
| }; | ||
| }, [ | ||
| O, | ||
| j, | ||
| B, | ||
| N | ||
| ]), /* @__PURE__ */ x("div", { | ||
| "data-rp": `page-${T}-annotationLayer`, | ||
| style: { | ||
| width: `${z?.width}px`, | ||
| height: `${z?.height}px` | ||
| }, | ||
| className: S["rp-annotation-layer"], | ||
| ref: E | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { w as t }; |
| var e = { | ||
| searchButtonTooltip: "Search in Document", | ||
| searchInputPlaceholder: "Enter to search", | ||
| searchInputTooltip: "Search", | ||
| searchPrevTooltip: "Previous match", | ||
| searchNextTooltip: "Next match", | ||
| searchCloseButtonTooltip: "Close", | ||
| searchMatchCaseLabel: "Match Case", | ||
| searchMatchCaseTooltip: "Search case sensitive text", | ||
| searchWholeWordsLabel: "Whole Words", | ||
| searchWholeWordsTooltip: "Search exact and case insensitive word(s)", | ||
| searchLoadingMessage: "Searching", | ||
| searchNoResultsMessage: "No matches found", | ||
| searchResultsMessage: "{current} of {total} matches", | ||
| previousPageTooltip: "Previous page", | ||
| currentPageTooltip: "Current page", | ||
| nextPageTooltip: "Next page", | ||
| zoomOutTooltip: "Zoom out", | ||
| zoomInTooltip: "Zoom in", | ||
| zoomSelectTooltip: "Select zoom level", | ||
| zoomActualSize: "Actual Size", | ||
| zoomPageFit: "Page Fit", | ||
| zoomPageWidth: "Page Width", | ||
| themeEnableDarkTooltip: "Enable dark theme", | ||
| themeEnableLightTooltip: "Enable light theme", | ||
| openLocalFileLabel: "Open local file", | ||
| openLocalFileTooltip: "Open local file", | ||
| downloadFileLabel: "Download file", | ||
| downloadFileTooltip: "Download file", | ||
| printLabel: "Print", | ||
| printTooltip: "Print", | ||
| printLoadingMessage: "Preparing Document", | ||
| printCancelLabel: "Cancel", | ||
| fullScreenLabel: "Full screen", | ||
| fullScreenTooltip: "Full screen", | ||
| moreOptionTooltip: "More options", | ||
| firstPageLabel: "First page", | ||
| firstPageTooltip: "Go to first page", | ||
| lastPageLabel: "Last page", | ||
| lastPageTooltip: "Go to last page", | ||
| rotateClockwiseLabel: "Rotate clockwise", | ||
| rotateClockwiseTooltip: "Rotate clockwise", | ||
| rotateCounterclockwiseLabel: "Rotate counterclockwise", | ||
| rotateCounterclockwiseTooltip: "Rotate counterclockwise", | ||
| textSelectionLabel: "Text selection tool", | ||
| textSelectionTooltip: "Enable text selection tool", | ||
| handToolLabel: "Hand tool", | ||
| handToolTooltip: "Enable hand tool", | ||
| documentPropertiesLabel: "Document properties", | ||
| documentPropertiesTooltip: "View document properties", | ||
| pageScrollingLabel: "Page scrolling", | ||
| pageScrollingTooltip: "Enable page scrolling", | ||
| verticalScrollingLabel: "Vertical scrolling", | ||
| verticalScrollingTooltip: "Enable vertical scrolling", | ||
| horizontalLabel: "Horizontal scrolling", | ||
| horizontalTooltip: "Enable horizontal scrolling", | ||
| wrappedScrollingLabel: "Wrapped scrolling", | ||
| wrappedScrollingTooltip: "Enable wrapped scrolling", | ||
| singlePageLabel: "Single page", | ||
| singlePageTooltip: "Enable single page view", | ||
| dualPageLabel: "Dual page", | ||
| dualPageTooltip: "Enable dual page view", | ||
| dualPageWithCoverLabel: "Dual page with cover", | ||
| dualPageWithCoverTooltip: "Enable dual page view with cover", | ||
| propertiesFilenameLabel: "File name", | ||
| propertiesFileSizeLabel: "File size", | ||
| propertiesTitleLabel: "Title", | ||
| propertiesAuthorLabel: "Author", | ||
| propertiesSubjectLabel: "Subject", | ||
| propertiesKeywordLabel: "Keywords", | ||
| propertiesCreatorLabel: "Creator", | ||
| propertiesCreateOnLabel: "Created on", | ||
| propertiesModifiedOnLabel: "Modified on", | ||
| propertiesPDFProducerLabel: "PDF producer", | ||
| propertiesPDFVersionLabel: "PDF version", | ||
| propertiesPageCountLabel: "Page count", | ||
| thumbnailTooltip: "Thumbnail", | ||
| passwordModalTitle: "Password Required", | ||
| passwordModalMessage: "This document is password protected. Please enter a password to open the file.", | ||
| passwordPlaceholder: "Enter password", | ||
| passwordConfirmLabel: "Submit", | ||
| passwordError: "Incorrect password", | ||
| dragDropFileMessage: "Drag and drop the PDF file here", | ||
| ofTotalPagesLabel: "of", | ||
| skipToMenuLabel: "Skip to Menu", | ||
| skipToMainContentLabel: "Skip to Main Content" | ||
| }, t = { | ||
| searchButtonTooltip: "搜索文件", | ||
| searchInputPlaceholder: "输入搜索词", | ||
| searchInputTooltip: "搜索", | ||
| searchPrevTooltip: "上一条", | ||
| searchNextTooltip: "下一条", | ||
| searchCloseButtonTooltip: "关闭", | ||
| searchMatchCaseLabel: "区分大小写", | ||
| searchMatchCaseTooltip: "搜索区分大小写", | ||
| searchWholeWordsLabel: "全字匹配", | ||
| searchWholeWordsTooltip: "搜索完全匹配", | ||
| searchLoadingMessage: "正在搜索", | ||
| searchNoResultsMessage: "未找到匹配项", | ||
| searchResultsMessage: "第 {current} 条,共 {total} 条匹配", | ||
| previousPageTooltip: "上一页", | ||
| currentPageTooltip: "当前页", | ||
| nextPageTooltip: "下一页", | ||
| zoomOutTooltip: "缩小", | ||
| zoomInTooltip: "放大", | ||
| zoomSelectTooltip: "选择缩放级别", | ||
| zoomActualSize: "实际大小", | ||
| zoomPageFit: "适合页面", | ||
| zoomPageWidth: "页面宽度", | ||
| themeEnableDarkTooltip: "切换到深色模式", | ||
| themeEnableLightTooltip: "切换到浅色模式", | ||
| openLocalFileLabel: "打开文件", | ||
| openLocalFileTooltip: "打开文件", | ||
| downloadFileLabel: "下载文件", | ||
| downloadFileTooltip: "下载文件", | ||
| printLabel: "打印", | ||
| printTooltip: "打印", | ||
| printLoadingMessage: "准备文件", | ||
| printCancelLabel: "取消", | ||
| fullScreenLabel: "全屏", | ||
| fullScreenTooltip: "全屏", | ||
| moreOptionTooltip: "更多选项", | ||
| firstPageLabel: "第一页", | ||
| firstPageTooltip: "跳转到第一页", | ||
| lastPageLabel: "最后一页", | ||
| lastPageTooltip: "跳转到最后一页", | ||
| rotateClockwiseLabel: "顺时针旋转", | ||
| rotateClockwiseTooltip: "顺时针旋转", | ||
| rotateCounterclockwiseLabel: "逆时针旋转", | ||
| rotateCounterclockwiseTooltip: "逆时针旋转", | ||
| textSelectionLabel: "文本选择工具", | ||
| textSelectionTooltip: "启用文本选择工具", | ||
| handToolLabel: "手型工具", | ||
| handToolTooltip: "启用手型工具", | ||
| documentPropertiesLabel: "文件属性", | ||
| documentPropertiesTooltip: "查看文件属性", | ||
| pageScrollingLabel: "页面滚动", | ||
| pageScrollingTooltip: "启用页面滚动", | ||
| verticalScrollingLabel: "垂直滚动", | ||
| verticalScrollingTooltip: "启用垂直滚动", | ||
| horizontalLabel: "水平滚动", | ||
| horizontalTooltip: "启用水平滚动", | ||
| wrappedScrollingLabel: "环绕滚动", | ||
| wrappedScrollingTooltip: "启用环绕滚动", | ||
| singlePageLabel: "单页面视图", | ||
| singlePageTooltip: "启用单页视图", | ||
| dualPageLabel: "双页面视图", | ||
| dualPageTooltip: "启用双页视图", | ||
| dualPageWithCoverLabel: "封面双页面视图", | ||
| dualPageWithCoverTooltip: "启用封面双页视图", | ||
| propertiesFilenameLabel: "文件名称", | ||
| propertiesFileSizeLabel: "文件大小", | ||
| propertiesTitleLabel: "标题", | ||
| propertiesAuthorLabel: "作者", | ||
| propertiesSubjectLabel: "主题", | ||
| propertiesKeywordLabel: "关键字", | ||
| propertiesCreatorLabel: "创建者", | ||
| propertiesCreateOnLabel: "创建于", | ||
| propertiesModifiedOnLabel: "修改于", | ||
| propertiesPDFProducerLabel: "PDF 制作程序 ", | ||
| propertiesPDFVersionLabel: "PDF版本", | ||
| propertiesPageCountLabel: "页数", | ||
| thumbnailTooltip: "缩略图", | ||
| passwordModalTitle: "需要密码", | ||
| passwordModalMessage: "此文件受密码保护。请输入密码以打开文件。", | ||
| passwordPlaceholder: "输入密码", | ||
| passwordConfirmLabel: "提交", | ||
| passwordError: "密码错误", | ||
| dragDropFileMessage: "将PDF文件拖放到这里", | ||
| ofTotalPagesLabel: "共", | ||
| skipToMenuLabel: "跳转到菜单", | ||
| skipToMainContentLabel: "跳转到主内容" | ||
| }, n = { | ||
| searchButtonTooltip: "Cerca nel documento", | ||
| searchInputPlaceholder: "Premi Invio per cercare", | ||
| searchInputTooltip: "Cerca", | ||
| searchPrevTooltip: "Corrispondenza precedente", | ||
| searchNextTooltip: "Corrispondenza successiva", | ||
| searchCloseButtonTooltip: "Chiudi", | ||
| searchMatchCaseLabel: "Maiuscole/minuscole", | ||
| searchMatchCaseTooltip: "Cerca testo con distinzione maiuscole/minuscole", | ||
| searchWholeWordsLabel: "Parola intera", | ||
| searchWholeWordsTooltip: "Cerca esatte parole senza distinzione maiuscole/minuscole", | ||
| searchLoadingMessage: "Ricerca in corso", | ||
| searchNoResultsMessage: "Nessuna corrispondenza trovata", | ||
| searchResultsMessage: "{current} di {total} corrispondenze", | ||
| previousPageTooltip: "Pagina precedente", | ||
| currentPageTooltip: "Pagina corrente", | ||
| nextPageTooltip: "Pagina successiva", | ||
| zoomOutTooltip: "Ridurre", | ||
| zoomInTooltip: "Ingrandire", | ||
| zoomSelectTooltip: "Seleziona un livello di zoom", | ||
| zoomActualSize: "Dimensioni effettive", | ||
| zoomPageFit: "Adatta pagina", | ||
| zoomPageWidth: "Larghezza pagina", | ||
| themeEnableDarkTooltip: "Abilita tema scuro", | ||
| themeEnableLightTooltip: "Abilita tema chiaro", | ||
| openLocalFileLabel: "Aprire file", | ||
| openLocalFileTooltip: "Aprire file", | ||
| downloadFileLabel: "Scaricare file", | ||
| downloadFileTooltip: "Scaricare file", | ||
| printLabel: "Stampa", | ||
| printTooltip: "Stampa", | ||
| printLoadingMessage: "Preparazione del documento", | ||
| printCancelLabel: "Annulla", | ||
| fullScreenLabel: "Schermo intero", | ||
| fullScreenTooltip: "Schermo intero", | ||
| moreOptionTooltip: "Altre opzioni", | ||
| firstPageLabel: "Prima pagina", | ||
| firstPageTooltip: "Vai alla prima pagina", | ||
| lastPageLabel: "Ultima pagina", | ||
| lastPageTooltip: "Vai all’ultima pagina", | ||
| rotateClockwiseLabel: "Ruota in senso orario", | ||
| rotateClockwiseTooltip: "Ruota in senso orario", | ||
| rotateCounterclockwiseLabel: "Ruota in senso antiorario", | ||
| rotateCounterclockwiseTooltip: "Ruota in senso antiorario", | ||
| textSelectionLabel: "Strumento di selezione testo", | ||
| textSelectionTooltip: "Abilita strumento di selezione testo", | ||
| handToolLabel: "Strumento mano", | ||
| handToolTooltip: "Abilita strumento mano", | ||
| documentPropertiesLabel: "Proprietà documento", | ||
| documentPropertiesTooltip: "Visualizza proprietà documento", | ||
| pageScrollingLabel: "Scorrimento pagina", | ||
| pageScrollingTooltip: "Abilita lo scorrimento delle pagine", | ||
| verticalScrollingLabel: "Scorrimento verticale", | ||
| verticalScrollingTooltip: "Abilita lo scorrimento verticale", | ||
| horizontalLabel: "Scorrimento orizzontale", | ||
| horizontalTooltip: "Abilita lo scorrimento orizzontale", | ||
| wrappedScrollingLabel: "Scorrimento avvolto", | ||
| wrappedScrollingTooltip: "Abilita lo scorrimento avvolto", | ||
| singlePageLabel: "Singolo", | ||
| singlePageTooltip: "Visualizzazione singola", | ||
| dualPageLabel: "Doppio", | ||
| dualPageTooltip: "Visualizzazione doppio", | ||
| dualPageWithCoverLabel: "Doppio con copertina", | ||
| dualPageWithCoverTooltip: "Visualizzazione doppio con copertina", | ||
| propertiesFilenameLabel: "Nome file", | ||
| propertiesFileSizeLabel: "Dimensione file", | ||
| propertiesTitleLabel: "Titolo", | ||
| propertiesAuthorLabel: "Autore", | ||
| propertiesSubjectLabel: "Oggetto", | ||
| propertiesKeywordLabel: "Parole chiave", | ||
| propertiesCreatorLabel: "Creatore", | ||
| propertiesCreateOnLabel: "Creato il", | ||
| propertiesModifiedOnLabel: "Modificato il", | ||
| propertiesPDFProducerLabel: "Produttore PDF", | ||
| propertiesPDFVersionLabel: "Versione PDF", | ||
| propertiesPageCountLabel: "Numero di pagine", | ||
| thumbnailTooltip: "Miniature", | ||
| passwordModalTitle: "Password richiesta", | ||
| passwordModalMessage: "Questo documento è protetto da password. Si prega di inserire una password per aprire il file.", | ||
| passwordPlaceholder: "Inserisci la password", | ||
| passwordConfirmLabel: "Invia", | ||
| passwordError: "Password errata", | ||
| dragDropFileMessage: "Trascina e rilascia il file PDF qui", | ||
| ofTotalPagesLabel: "di", | ||
| skipToMenuLabel: "Vai al menu", | ||
| skipToMainContentLabel: "Vai al contenuto principale" | ||
| }, r = { | ||
| searchButtonTooltip: "Pesquisar no documento", | ||
| searchInputPlaceholder: "Pressione Enter para pesquisar", | ||
| searchInputTooltip: "Pesquisar", | ||
| searchPrevTooltip: "Correspondência anterior", | ||
| searchNextTooltip: "Correspondência seguinte", | ||
| searchCloseButtonTooltip: "Fechar", | ||
| searchMatchCaseLabel: "Diferenciar maiúsculas/minúsculas", | ||
| searchMatchCaseTooltip: "Pesquisar texto com distinção de maiúsculas/minúsculas", | ||
| searchWholeWordsLabel: "Palavra inteira", | ||
| searchWholeWordsTooltip: "Pesquisar palavras exatas sem distinção de maiúsculas/minúsculas", | ||
| searchLoadingMessage: "A pesquisar", | ||
| searchNoResultsMessage: "Nenhuma correspondência encontrada", | ||
| searchResultsMessage: "{current} de {total} correspondências", | ||
| previousPageTooltip: "Página anterior", | ||
| currentPageTooltip: "Página atual", | ||
| nextPageTooltip: "Próxima página", | ||
| zoomOutTooltip: "Reduzir", | ||
| zoomInTooltip: "Ampliar", | ||
| zoomSelectTooltip: "Selecionar nível de zoom", | ||
| zoomActualSize: "Tamanho real", | ||
| zoomPageFit: "Ajustar à página", | ||
| zoomPageWidth: "Largura da página", | ||
| themeEnableDarkTooltip: "Ativar tema escuro", | ||
| themeEnableLightTooltip: "Ativar tema claro", | ||
| openLocalFileLabel: "Abrir arquivo", | ||
| openLocalFileTooltip: "Abrir arquivo", | ||
| downloadFileLabel: "Baixar arquivo", | ||
| downloadFileTooltip: "Baixar arquivo", | ||
| printLabel: "Imprimir", | ||
| printTooltip: "Imprimir", | ||
| printLoadingMessage: "Preparando documento", | ||
| printCancelLabel: "Cancelar", | ||
| fullScreenLabel: "Tela inteira", | ||
| fullScreenTooltip: "Tela inteira", | ||
| moreOptionTooltip: "Mais opções", | ||
| firstPageLabel: "Primeira página", | ||
| firstPageTooltip: "Ir para a primeira página", | ||
| lastPageLabel: "Última página", | ||
| lastPageTooltip: "Ir para a última página", | ||
| rotateClockwiseLabel: "Girar no sentido horário", | ||
| rotateClockwiseTooltip: "Girar no sentido horário", | ||
| rotateCounterclockwiseLabel: "Girar no sentido anti-horário", | ||
| rotateCounterclockwiseTooltip: "Girar no sentido anti-horário", | ||
| textSelectionLabel: "Ferramenta de seleção de texto", | ||
| textSelectionTooltip: "Ativar ferramenta de seleção de texto", | ||
| handToolLabel: "Ferramenta de mão", | ||
| handToolTooltip: "Ativar ferramenta de mão", | ||
| documentPropertiesLabel: "Propriedades do documento", | ||
| documentPropertiesTooltip: "Ver propriedades do documento", | ||
| pageScrollingLabel: "Rolagem página", | ||
| pageScrollingTooltip: "Ativar rolagem de página", | ||
| verticalScrollingLabel: "Rolagem vertical", | ||
| verticalScrollingTooltip: "Ativar rolagem vertical", | ||
| horizontalLabel: "Rolagem horizontal", | ||
| horizontalTooltip: "Ativar rolagem horizontal", | ||
| wrappedScrollingLabel: "Rolagem envolvida", | ||
| wrappedScrollingTooltip: "Ativar rolagem envolvente", | ||
| singlePageLabel: "Página única", | ||
| singlePageTooltip: "Ativar página única", | ||
| dualPageLabel: "Página dupla", | ||
| dualPageTooltip: "Ativar página dupla", | ||
| dualPageWithCoverLabel: "Página dupla com capa", | ||
| dualPageWithCoverTooltip: "Ativar página dupla com capa", | ||
| propertiesFilenameLabel: "Nome do arquivo", | ||
| propertiesFileSizeLabel: "Tamanho do arquivo", | ||
| propertiesTitleLabel: "Título", | ||
| propertiesAuthorLabel: "Autor", | ||
| propertiesSubjectLabel: "Assunto", | ||
| propertiesKeywordLabel: "Palavras-chave", | ||
| propertiesCreatorLabel: "Criador", | ||
| propertiesCreateOnLabel: "Criado em", | ||
| propertiesModifiedOnLabel: "Modificado em", | ||
| propertiesPDFProducerLabel: "Produtor do PDF", | ||
| propertiesPDFVersionLabel: "Versão do PDF", | ||
| propertiesPageCountLabel: "Número de páginas", | ||
| thumbnailTooltip: "Miniatura", | ||
| passwordModalTitle: "Senha necessária", | ||
| passwordModalMessage: "Este documento é protegido por senha. Por favor, insira uma senha para abrir o arquivo.", | ||
| passwordPlaceholder: "Insira a senha", | ||
| passwordConfirmLabel: "Enviar", | ||
| passwordError: "Senha incorreta", | ||
| dragDropFileMessage: "Arraste e solte o arquivo PDF aqui", | ||
| ofTotalPagesLabel: "de", | ||
| skipToMenuLabel: "Saltar para o menu", | ||
| skipToMainContentLabel: "Saltar para o conteúdo principal" | ||
| }, i = { | ||
| searchButtonTooltip: "ค้นหาในเอกสาร", | ||
| searchInputPlaceholder: "กรอกคำค้นหา", | ||
| searchInputTooltip: "ค้นหา", | ||
| searchPrevTooltip: "ผลการค้นหาก่อนหน้า", | ||
| searchNextTooltip: "ผลการค้นหาถัดไป", | ||
| searchCloseButtonTooltip: "ปิด", | ||
| searchMatchCaseLabel: "ข้อความที่มีคำ", | ||
| searchMatchCaseTooltip: "ค้นหาข้อความที่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก", | ||
| searchWholeWordsLabel: "ทั้งคำ", | ||
| searchWholeWordsTooltip: "ค้นหาคำที่ตรงตัวไม่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก", | ||
| searchLoadingMessage: "กำลังค้นหา", | ||
| searchNoResultsMessage: "ไม่พบผลการค้นหา", | ||
| searchResultsMessage: "ผลการค้นหาที่ {current} จาก {total}", | ||
| previousPageTooltip: "หน้าก่อนหน้า", | ||
| currentPageTooltip: "หน้าปัจจุบัน", | ||
| nextPageTooltip: "หน้าถัดไป", | ||
| zoomOutTooltip: "ย่อ", | ||
| zoomInTooltip: "ขยาย", | ||
| zoomSelectTooltip: "เลือกระดับซูม", | ||
| zoomActualSize: "ขนาดจริง", | ||
| zoomPageFit: "พอดีหน้า", | ||
| zoomPageWidth: "พอดีความกว้าง", | ||
| themeEnableDarkTooltip: "เปิดโหมดมืด", | ||
| themeEnableLightTooltip: "เปิดโหมดสว่าง", | ||
| openLocalFileLabel: "เปิดไฟล์", | ||
| openLocalFileTooltip: "เปิดไฟล์", | ||
| downloadFileLabel: "ดาวน์โหลดเอกสาร", | ||
| downloadFileTooltip: "ดาวน์โหลดเอกสาร", | ||
| printLabel: "พิมพ์", | ||
| printTooltip: "พิมพ์", | ||
| printLoadingMessage: "เตรียมเอกสาร", | ||
| printCancelLabel: "ยกเลิก", | ||
| fullScreenLabel: "เต็มจอ", | ||
| fullScreenTooltip: "เต็มจอ", | ||
| moreOptionTooltip: "ตัวเลือกเพิ่มเติม", | ||
| firstPageLabel: "หน้าแรก", | ||
| firstPageTooltip: "ไปที่หน้าแรก", | ||
| lastPageLabel: "หน้าสุดท้าย", | ||
| lastPageTooltip: "ไปที่หน้าสุดท้าย", | ||
| rotateClockwiseLabel: "หมุนตามเข็มนาฬิกา", | ||
| rotateClockwiseTooltip: "หมุนตามเข็มนาฬิกา", | ||
| rotateCounterclockwiseLabel: "หมุนทวนเข็มนาฬิกา", | ||
| rotateCounterclockwiseTooltip: "หมุนทวนเข็มนาฬิกา", | ||
| textSelectionLabel: "เครื่องมือเลือกข้อความ", | ||
| textSelectionTooltip: "เปิดใช้การเลือกข้อความ", | ||
| handToolLabel: "เครื่องมือแฮนด์ทูล", | ||
| handToolTooltip: "เปิดใช้แฮนด์ทูล", | ||
| documentPropertiesLabel: "คุณสมบัติของเอกสาร", | ||
| documentPropertiesTooltip: "ดูคุณสมบัติของเอกสาร", | ||
| pageScrollingLabel: "การเลื่อนภายในหน้า", | ||
| pageScrollingTooltip: "เปิดใช้การเลื่อนภายในหน้า", | ||
| verticalScrollingLabel: "การเลื่อนแนวตั้ง", | ||
| verticalScrollingTooltip: "เปิดใช้การเลื่อนแนวตั้ง", | ||
| horizontalLabel: "การเลื่อนแนวนอน", | ||
| horizontalTooltip: "เปิดใช้การเลื่อนแนวนอน", | ||
| wrappedScrollingLabel: "การเลื่อนแบบแรพ", | ||
| wrappedScrollingTooltip: "เปิดใช้การเลื่อนแบบแรพ", | ||
| singlePageLabel: "หน้าเดี่ยว", | ||
| singlePageTooltip: "เปิดใช้หน้าเดี่ยว", | ||
| dualPageLabel: "หน้าคู่", | ||
| dualPageTooltip: "เปิดใช้หน้าคู่", | ||
| dualPageWithCoverLabel: "หน้าคู่พร้อมปก", | ||
| dualPageWithCoverTooltip: "เปิดใช้หน้าคู่พร้อมปก", | ||
| propertiesFilenameLabel: "ชื่อเอกสาร", | ||
| propertiesFileSizeLabel: "ขนาดเอกสาร", | ||
| propertiesTitleLabel: "ชื่อเรื่อง", | ||
| propertiesAuthorLabel: "ผู้เขียน", | ||
| propertiesSubjectLabel: "หัวข้อ", | ||
| propertiesKeywordLabel: "คำสำคัญ", | ||
| propertiesCreatorLabel: "ผู้สร้าง", | ||
| propertiesCreateOnLabel: "วันที่สร้าง", | ||
| propertiesModifiedOnLabel: "วันที่แก้ไข", | ||
| propertiesPDFProducerLabel: "ผู้ผลิต PDF", | ||
| propertiesPDFVersionLabel: "เวอร์ชัน PDF", | ||
| propertiesPageCountLabel: "จำนวนหน้า", | ||
| thumbnailTooltip: "ภาพย่อ", | ||
| passwordModalTitle: "กรุณากรอกรหัสผ่าน", | ||
| passwordModalMessage: "เอกสารนี้ได้รับการป้องกันด้วยรหัสผ่าน กรุณาใส่รหัสผ่านเพื่อเปิดไฟล์", | ||
| passwordPlaceholder: "กรอกรหัสผ่าน", | ||
| passwordConfirmLabel: "ส่ง", | ||
| passwordError: "รหัสผ่านไม่ถูกต้อง", | ||
| dragDropFileMessage: "ลากและวางไฟล์ PDF ที่นี่", | ||
| ofTotalPagesLabel: "จาก", | ||
| skipToMenuLabel: "ข้ามไปที่เมนู", | ||
| skipToMainContentLabel: "ข้ามไปที่เนื้อหาหลัก" | ||
| }, a = { | ||
| searchButtonTooltip: "Im Dokument suchen", | ||
| searchInputPlaceholder: "Zum Suchen eingeben", | ||
| searchInputTooltip: "Suche", | ||
| searchPrevTooltip: "Vorheriger Treffer", | ||
| searchNextTooltip: "Nächster Treffer", | ||
| searchCloseButtonTooltip: "Schließen", | ||
| searchMatchCaseLabel: "Groß-/Kleinschreibung", | ||
| searchMatchCaseTooltip: "Groß-/Kleinschreibung beachten", | ||
| searchWholeWordsLabel: "Ganze Wörter", | ||
| searchWholeWordsTooltip: "Exakte Wörter suchen (Groß-/Kleinschreibung ignorieren)", | ||
| searchLoadingMessage: "Suche läuft", | ||
| searchNoResultsMessage: "Keine Treffer gefunden", | ||
| searchResultsMessage: "{current} von {total} Treffern", | ||
| previousPageTooltip: "Vorherige Seite", | ||
| currentPageTooltip: "Aktuelle Seite", | ||
| nextPageTooltip: "Nächste Seite", | ||
| zoomOutTooltip: "Verkleinern", | ||
| zoomInTooltip: "Vergrößern", | ||
| zoomSelectTooltip: "Zoomstufe auswählen", | ||
| zoomActualSize: "Originalgröße", | ||
| zoomPageFit: "Seite einpassen", | ||
| zoomPageWidth: "Seitenbreite", | ||
| themeEnableDarkTooltip: "Dunkles Design aktivieren", | ||
| themeEnableLightTooltip: "Helles Design aktivieren", | ||
| openLocalFileLabel: "Lokale Datei öffnen", | ||
| openLocalFileTooltip: "Lokale Datei öffnen", | ||
| downloadFileLabel: "Datei herunterladen", | ||
| downloadFileTooltip: "Datei herunterladen", | ||
| printLabel: "Drucken", | ||
| printTooltip: "Drucken", | ||
| printLoadingMessage: "Dokument wird vorbereitet", | ||
| printCancelLabel: "Abbrechen", | ||
| fullScreenLabel: "Vollbild", | ||
| fullScreenTooltip: "Vollbild", | ||
| moreOptionTooltip: "Weitere Optionen", | ||
| firstPageLabel: "Erste Seite", | ||
| firstPageTooltip: "Zur ersten Seite", | ||
| lastPageLabel: "Letzte Seite", | ||
| lastPageTooltip: "Zur letzten Seite", | ||
| rotateClockwiseLabel: "Im Uhrzeigersinn drehen", | ||
| rotateClockwiseTooltip: "Im Uhrzeigersinn drehen", | ||
| rotateCounterclockwiseLabel: "Gegen den Uhrzeigersinn drehen", | ||
| rotateCounterclockwiseTooltip: "Gegen den Uhrzeigersinn drehen", | ||
| textSelectionLabel: "Textauswahl-Werkzeug", | ||
| textSelectionTooltip: "Textauswahl-Werkzeug aktivieren", | ||
| handToolLabel: "Hand-Werkzeug", | ||
| handToolTooltip: "Hand-Werkzeug aktivieren", | ||
| documentPropertiesLabel: "Dokumenteigenschaften", | ||
| documentPropertiesTooltip: "Dokumenteigenschaften anzeigen", | ||
| pageScrollingLabel: "Bildlauf", | ||
| pageScrollingTooltip: "Seitenweises Blättern aktivieren", | ||
| verticalScrollingLabel: "Vertikaler Bildlauf", | ||
| verticalScrollingTooltip: "Vertikalen Bildlauf aktivieren", | ||
| horizontalLabel: "Horizontaler Bildlauf", | ||
| horizontalTooltip: "Horizontalen Bildlauf aktivieren", | ||
| wrappedScrollingLabel: "Bildlauf mit Umbruch", | ||
| wrappedScrollingTooltip: "Bildlauf mit Umbruch aktivieren", | ||
| singlePageLabel: "Einzelseite", | ||
| singlePageTooltip: "Einzelseitenansicht aktivieren", | ||
| dualPageLabel: "Doppelseite", | ||
| dualPageTooltip: "Doppelseitenansicht aktivieren", | ||
| dualPageWithCoverLabel: "Doppelseite mit Deckblatt", | ||
| dualPageWithCoverTooltip: "Doppelseitenansicht mit Deckblatt aktivieren", | ||
| propertiesFilenameLabel: "Dateiname", | ||
| propertiesFileSizeLabel: "Dateigröße", | ||
| propertiesTitleLabel: "Titel", | ||
| propertiesAuthorLabel: "Autor", | ||
| propertiesSubjectLabel: "Thema", | ||
| propertiesKeywordLabel: "Stichwörter", | ||
| propertiesCreatorLabel: "Ersteller", | ||
| propertiesCreateOnLabel: "Erstellt am", | ||
| propertiesModifiedOnLabel: "Geändert am", | ||
| propertiesPDFProducerLabel: "PDF-Produzent", | ||
| propertiesPDFVersionLabel: "PDF-Version", | ||
| propertiesPageCountLabel: "Seitenanzahl", | ||
| thumbnailTooltip: "Miniaturansicht", | ||
| passwordModalTitle: "Passwort erforderlich", | ||
| passwordModalMessage: "Dieses Dokument ist passwortgeschützt. Bitte geben Sie ein Passwort ein, um die Datei zu öffnen.", | ||
| passwordPlaceholder: "Passwort eingeben", | ||
| passwordConfirmLabel: "Bestätigen", | ||
| passwordError: "Falsches Passwort", | ||
| dragDropFileMessage: "PDF-Datei hierher ziehen", | ||
| ofTotalPagesLabel: "von", | ||
| skipToMenuLabel: "Zum Menü springen", | ||
| skipToMainContentLabel: "Zum Hauptinhalt springen" | ||
| }; | ||
| //#endregion | ||
| export { t as a, n as i, i as n, e as o, r, a as t }; |
| import { useLocalizationContext as e } from "./contexts/LocalizationContext.js"; | ||
| import { usePrintContext as t } from "./contexts/PrintContext.js"; | ||
| import { t as n } from "./clsx-B7LyVm5O.js"; | ||
| import { jsx as r, jsxs as i } from "react/jsx-runtime"; | ||
| import './assets/LoadingIndicator.css';var a = { | ||
| "rp-loading-overlay": "_rp-loading-overlay_8gxoj_1", | ||
| "rp-loading-modal": "_rp-loading-modal_8gxoj_14", | ||
| "rp-loading-title": "_rp-loading-title_8gxoj_27", | ||
| "rp-loading-progress-bar": "_rp-loading-progress-bar_8gxoj_35", | ||
| "rp-loading-progress": "_rp-loading-progress_8gxoj_35", | ||
| "rp-loading-cancel-button": "_rp-loading-cancel-button_8gxoj_55", | ||
| loading: "_loading_8gxoj_1" | ||
| }, o = ({ percentage: o }) => { | ||
| let { cancel: s } = t(), { localeMessages: c } = e(); | ||
| return o < 1 ? null : /* @__PURE__ */ r("div", { | ||
| className: n(a["rp-loading-overlay"]), | ||
| children: /* @__PURE__ */ i("div", { | ||
| className: n(a["rp-loading-modal"]), | ||
| children: [ | ||
| /* @__PURE__ */ i("div", { | ||
| className: n(a["rp-loading-title"]), | ||
| children: [c?.printLoadingMessage, "..."] | ||
| }), | ||
| /* @__PURE__ */ r("div", { | ||
| className: n(a["rp-loading-progress-bar"]), | ||
| children: /* @__PURE__ */ r("div", { | ||
| className: n(a["rp-loading-progress"]), | ||
| style: { width: `${o}%` } | ||
| }) | ||
| }), | ||
| /* @__PURE__ */ r("button", { | ||
| className: n(a["rp-loading-cancel-button"]), | ||
| onClick: s, | ||
| onKeyDown: (e) => { | ||
| e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), s()); | ||
| }, | ||
| autoFocus: !0, | ||
| children: c?.printCancelLabel | ||
| }) | ||
| ] | ||
| }) | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { o as t }; |
| import { useViewModeContext as e } from "./contexts/ViewModeContext.js"; | ||
| import { r as t } from "./PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as n } from "./contexts/LocalizationContext.js"; | ||
| import { t as r } from "./Button-BNlmxWrV.js"; | ||
| import { t as i } from "./RPTooltip-ZZoFqP7C.js"; | ||
| import { DualPageWithCoverIcon as a } from "./components/icons/DualPageWithCoverIcon.js"; | ||
| import { GoToDownIcon as o } from "./components/icons/GoToDownIcon.js"; | ||
| import { t as s } from "./MostPageTool.module-BRVv-sGz.js"; | ||
| import { useCallback as c } from "react"; | ||
| import { jsx as l } from "react/jsx-runtime"; | ||
| //#region lib/components/layout/toolbar/tools/DualPageWithCoverTool.tsx | ||
| var u = ({ children: e, className: t, localeMessages: n }) => /* @__PURE__ */ l(i, { | ||
| className: t, | ||
| content: n?.dualPageWithCoverTooltip, | ||
| children: e | ||
| }), d = ({ icon: t }) => { | ||
| let { setDualPageWithCover: i } = e(), { localeMessages: o } = n(); | ||
| return /* @__PURE__ */ l(u, { | ||
| localeMessages: o, | ||
| children: /* @__PURE__ */ l(r, { | ||
| onClick: i, | ||
| "aria-label": o?.dualPageWithCoverTooltip, | ||
| children: t || /* @__PURE__ */ l(a, {}) | ||
| }) | ||
| }); | ||
| }, f = ({ children: e, className: t, localeMessages: n }) => /* @__PURE__ */ l(i, { | ||
| className: t, | ||
| content: n?.firstPageTooltip, | ||
| children: e | ||
| }), p = ({ icon: e }) => { | ||
| let { goToPage: i } = t(), { localeMessages: a } = n(); | ||
| return /* @__PURE__ */ l(f, { | ||
| localeMessages: a, | ||
| children: /* @__PURE__ */ l(r, { | ||
| onClick: c(() => { | ||
| i(1); | ||
| }, [i]), | ||
| "aria-label": a?.firstPageTooltip, | ||
| children: e || /* @__PURE__ */ l(o, { className: s["rp-go-to-Top"] }) | ||
| }) | ||
| }); | ||
| }, m = ({ children: e, className: t, localeMessages: n }) => /* @__PURE__ */ l(i, { | ||
| className: t, | ||
| content: n?.lastPageTooltip, | ||
| children: e | ||
| }), h = ({ icon: e }) => { | ||
| let { goToPage: i, totalPages: a } = t(), { localeMessages: s } = n(); | ||
| return /* @__PURE__ */ l(m, { | ||
| localeMessages: s, | ||
| children: /* @__PURE__ */ l(r, { | ||
| onClick: c(() => { | ||
| i(a); | ||
| }, [i, a]), | ||
| "aria-label": s?.lastPageTooltip, | ||
| children: e || /* @__PURE__ */ l(o, {}) | ||
| }) | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { p as n, d as r, h as t }; |
| import { ScrollMode as e, ViewMode as t } from "./utils/types.js"; | ||
| import { appConsole as n } from "./utils/appConsole.js"; | ||
| import { useDocumentContext as r } from "./contexts/RPDocumentContext.js"; | ||
| import { useInitialStateContext as i } from "./contexts/InitialStateContext.js"; | ||
| import { useScrollModeContext as a } from "./contexts/ScrollModeContext.js"; | ||
| import { useViewModeContext as o } from "./contexts/ViewModeContext.js"; | ||
| import { useVirtualScrollContext as s } from "./contexts/VirtualScrollContext.js"; | ||
| import { useVirtualGridContext as c } from "./contexts/VirtualGridContext.js"; | ||
| import { smoothScrollTo as l } from "./utils/smoothScrollTo.js"; | ||
| import { useLayoutContainer as u } from "./contexts/LayoutContainerContext.js"; | ||
| import { useGlobalCurrentPage as d } from "./contexts/GlobalCurrentPage.js"; | ||
| import { useDebounce as f } from "./utils/hooks/useDebounce.js"; | ||
| import { useDimensionPagesContext as p } from "./contexts/DimensionPagesContext.js"; | ||
| import { useSmoothScrollContext as m } from "./contexts/SmoothScrollContext.js"; | ||
| import { getScrollDistance as h } from "./utils/getScrollDistance.js"; | ||
| import { getGridDimension as g, getPositionFromPage as _ } from "./utils/calculatePage.js"; | ||
| import { createContext as v, useCallback as y, useContext as b, useEffect as x, useRef as S, useState as C } from "react"; | ||
| import { jsx as w } from "react/jsx-runtime"; | ||
| //#region lib/utils/hooks/useScrollToPage.ts | ||
| var T = () => { | ||
| let { viewMode: n } = o(), { scrollMode: r } = a(), { virtualScrollRef: i, virtualScrollableElementRef: u, pageScrollElementRef: d } = s(), { setFocusedPage: f } = O(), v = S(), { columnCount: b } = c(), { widths: C, heights: w } = p(), T = S(r), E = S(n), D = S(b), { targetScrollPage: k, scrollBehavior: A } = m(), j = S(null), M = S(); | ||
| x(() => { | ||
| i?.scrollToItem && (v.current = i); | ||
| }, [i]), x(() => { | ||
| T.current = r, E.current = n; | ||
| }, [r, n]); | ||
| let N = y((e, t) => { | ||
| if (!d) return; | ||
| let n = Math.ceil(e / 2) * 2 - 1; | ||
| if (e === n + 1) { | ||
| let e = { | ||
| left: C[n], | ||
| top: 0 | ||
| }; | ||
| return new Promise((t) => l(d, e, t)); | ||
| } | ||
| return d?.scrollTo({ | ||
| left: 0, | ||
| top: 0, | ||
| behavior: t | ||
| }); | ||
| }, [ | ||
| d, | ||
| C, | ||
| l | ||
| ]); | ||
| x(() => { | ||
| T.current = r, E.current = n; | ||
| }, [r, n]), x(() => { | ||
| D.current = b; | ||
| }, [b]); | ||
| let P = y((n, r = A) => { | ||
| f(n), k.current = n, clearTimeout(M.current), M.current = setTimeout(() => { | ||
| k.current === n && (k.current = void 0); | ||
| }, 3e3); | ||
| let i = n - 1, a = i, o = 0; | ||
| if (E.current === t.DUAL_PAGE && T.current === e.PAGE_SCROLLING) { | ||
| N(n, r); | ||
| return; | ||
| } | ||
| if (T.current === e.PAGE_SCROLLING) { | ||
| f(n); | ||
| return; | ||
| } | ||
| if (!v.current || !u) { | ||
| j.current = { | ||
| page: n, | ||
| behavior: r | ||
| }; | ||
| return; | ||
| } | ||
| j.current = null; | ||
| let s = u, c = E.current === t.DUAL_PAGE_WITH_COVER, { columnsWidth: l, rowsHeight: d } = g({ | ||
| widths: C, | ||
| heights: w | ||
| }, b, c); | ||
| if (T.current === e.HORIZONTAL_SCROLLING) { | ||
| o = i; | ||
| let e = h(l, o), t = { | ||
| left: Math.floor(e), | ||
| top: 0 | ||
| }; | ||
| return s.scrollTo({ | ||
| ...t, | ||
| behavior: r | ||
| }); | ||
| } | ||
| if (E.current === t.DUAL_PAGE_WITH_COVER) { | ||
| let { rowIndex: e, columnIndex: t } = _(n, b, !0), i = h(l, t), a = h(d, e), o = { | ||
| left: Math.floor(i), | ||
| top: Math.floor(a) | ||
| }; | ||
| return s.scrollTo({ | ||
| ...o, | ||
| behavior: r | ||
| }); | ||
| } | ||
| if (E.current === t.DUAL_PAGE) { | ||
| o = i % 2, a = Math.floor(i / 2); | ||
| let e = h(l, o), t = h(d, a), n = { | ||
| left: Math.floor(e), | ||
| top: Math.floor(t) | ||
| }; | ||
| return s.scrollTo({ | ||
| ...n, | ||
| behavior: r | ||
| }); | ||
| } | ||
| let p = h(d, a), m = { | ||
| left: 0, | ||
| top: Math.floor(p) | ||
| }; | ||
| return s.scrollTo({ | ||
| ...m, | ||
| behavior: r | ||
| }); | ||
| }, [ | ||
| u, | ||
| b, | ||
| N, | ||
| f, | ||
| l, | ||
| w, | ||
| C, | ||
| A | ||
| ]); | ||
| return x(() => () => { | ||
| clearTimeout(M.current); | ||
| }, []), x(() => { | ||
| if (!u || !j.current) return; | ||
| let { page: e, behavior: t } = j.current; | ||
| j.current = null, P(e, t); | ||
| }, [u, P]), { scrollToPage: P }; | ||
| }, E = (n = 1) => { | ||
| let [r, i] = C(n), [s, c] = C(0), { scrollToPage: l } = T(), d = S(n), { viewMode: m } = o(), { scrollMode: h } = a(), { widths: g } = p(), { pagesRef: _ } = u(), v = f(r, 100), b = y((e) => { | ||
| if (!/^[0-9]*$/g.test(e.toString()) || !e) return { | ||
| success: !1, | ||
| currentPage: d.current | ||
| }; | ||
| let t = +e; | ||
| return t <= 0 || t > s ? { | ||
| success: !1, | ||
| currentPage: d.current | ||
| } : (i(t), d.current = t, { | ||
| success: !0, | ||
| currentPage: +e | ||
| }); | ||
| }, [s]), x = y(b, [b]), w = y((e) => { | ||
| i(e), d.current = e; | ||
| }, []), E = y((e, t) => { | ||
| let n = b(e); | ||
| return n.success && l(n.currentPage, t), n; | ||
| }, [b, l]), D = y((e) => { | ||
| let n = e % 2 == 1; | ||
| if (!_ || n) return !1; | ||
| let r = n ? g[e] : g[e - 1], i = n ? g[e + 1] : g[e]; | ||
| return m === t.DUAL_PAGE && r + i < _.clientWidth; | ||
| }, [ | ||
| m, | ||
| g, | ||
| _, | ||
| s | ||
| ]), O = y((n) => m === t.DUAL_PAGE && h === e.PAGE_SCROLLING ? n >= s - 1 : n >= s, [ | ||
| s, | ||
| m, | ||
| h | ||
| ]), k = y(() => { | ||
| let e = d.current, t = e - 1; | ||
| D(t) && (t = e - 2), E(t); | ||
| }, [E, D]); | ||
| return { | ||
| focusedPage: v, | ||
| totalPages: s, | ||
| setFocusedPage: x, | ||
| resetPage: w, | ||
| setTotalPages: c, | ||
| nextPage: y(() => { | ||
| let e = d.current; | ||
| if (O(e)) return; | ||
| let t = e + 1; | ||
| D(t) && (t = e + 2), E(t); | ||
| }, [ | ||
| E, | ||
| D, | ||
| O | ||
| ]), | ||
| prevPage: k, | ||
| goToPage: E | ||
| }; | ||
| }, D = v({ | ||
| focusedPage: 0, | ||
| setFocusedPage: (e) => {}, | ||
| goToPage: (e, t) => ({ | ||
| success: !!e, | ||
| currentPage: +e | ||
| }), | ||
| totalPages: 0, | ||
| setTotalPages: (e) => {}, | ||
| prevPage: () => {}, | ||
| nextPage: () => {} | ||
| }), O = () => { | ||
| let e = b(D); | ||
| return e?.focusedPage === void 0 && n.error("Please use this hooks inside children component of RPProvider"), e; | ||
| }, k = ({ children: e }) => { | ||
| let { pdf: t } = r(), { setCurrentPage: n } = d(), { initialPage: a = 1 } = i(), { focusedPage: o, totalPages: s, setFocusedPage: c, resetPage: l, setTotalPages: u, goToPage: f, nextPage: p, prevPage: m } = E(a), h = S(!0); | ||
| return x(() => { | ||
| if (!t) { | ||
| h.current || (u(0), l(1)); | ||
| return; | ||
| } | ||
| if (!t.numPages) return; | ||
| u(t.numPages); | ||
| let e = h.current ? a : 1; | ||
| l(Math.min(Math.max(e, 1), t.numPages)), h.current = !1; | ||
| }, [ | ||
| t, | ||
| u, | ||
| l | ||
| ]), x(() => { | ||
| n(o); | ||
| }, [o, n]), /* @__PURE__ */ w(D.Provider, { | ||
| value: { | ||
| focusedPage: o, | ||
| totalPages: s, | ||
| setFocusedPage: c, | ||
| setTotalPages: u, | ||
| nextPage: p, | ||
| prevPage: m, | ||
| goToPage: f | ||
| }, | ||
| children: e | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { T as a, E as i, k as n, O as r, D as t }; |
| import './assets/RPLayout.css';//#region lib/components/layout/RPLayout.module.css | ||
| var e = { | ||
| "rp-layout": "_rp-layout_x5f86_1", | ||
| "rp-layout-wrapper": "_rp-layout-wrapper_x5f86_5", | ||
| "rp-content": "_rp-content_x5f86_11", | ||
| "rp-sidebar": "_rp-sidebar_x5f86_18", | ||
| "rp-pages": "_rp-pages_x5f86_23", | ||
| "rp-container": "_rp-container_x5f86_29", | ||
| "rp-loader": "_rp-loader_x5f86_33", | ||
| "rp-theme-variables": "_rp-theme-variables_x5f86_37", | ||
| "rp-dark-mode": "_rp-dark-mode_x5f86_158" | ||
| }; | ||
| //#endregion | ||
| export { e as t }; |
| import { useDocumentContext as e } from "./contexts/RPDocumentContext.js"; | ||
| import { useZoomContext as t } from "./contexts/ZoomContext.js"; | ||
| import { usePagesRotateContext as n } from "./contexts/PagesRotateContext.js"; | ||
| import { useLayerContext as r } from "./contexts/LayerContext.js"; | ||
| import { useLoaderContext as i } from "./contexts/LoaderContext.js"; | ||
| import { CanvasLayer as a } from "./components/page/CanvasLayer.js"; | ||
| import { t as o } from "./TextLayer-DWGFN9SF.js"; | ||
| import { t as s } from "./AnnotationLayer-SQbmx6wX.js"; | ||
| import { t as c } from "./TextHighlightLayer-BSVgBxR3.js"; | ||
| import { CustomElement as l } from "./components/page/CustomElement.js"; | ||
| import { withRef as u } from "./utils/withRef.js"; | ||
| import { useCallback as d, useEffect as f, useImperativeHandle as p, useMemo as m, useRef as h, useState as g } from "react"; | ||
| import { jsx as _, jsxs as v } from "react/jsx-runtime"; | ||
| import './assets/RPPage.css';//#region lib/components/page/RPPage.module.css | ||
| var y = { | ||
| "rp-page-wrapper": "_rp-page-wrapper_krysr_1", | ||
| "rp-page": "_rp-page_krysr_1", | ||
| "rp-loader-wrapper": "_rp-loader-wrapper_krysr_17" | ||
| }, b = u((u, b) => { | ||
| let { pageNumber: x, style: S, ...C } = u, { pages: w } = e(), { pageRotate: T } = n(), { textLayer: E } = r(), { currentZoom: D } = t(), { LoaderImageComponent: O } = i(), k = h(w.get(x)), [A, j] = g(!1), M = h(null), [N, P] = g({ | ||
| width: 0, | ||
| height: 0 | ||
| }); | ||
| p(b, () => M.current); | ||
| let F = m(() => k.current ? T[x] : 0, [x, T]); | ||
| f(() => { | ||
| w && (k.current = w.get(x), k.current && P(k.current.page.getViewport({ | ||
| scale: D, | ||
| rotation: F | ||
| }))); | ||
| }, [ | ||
| w, | ||
| x, | ||
| F, | ||
| D | ||
| ]); | ||
| let I = m(() => { | ||
| switch (F) { | ||
| case 90: return `${N.width / 2}px ${N.width / 2}px`; | ||
| case -90: | ||
| case 270: return `${N.height / 2}px ${N.height / 2}px`; | ||
| default: return "center"; | ||
| } | ||
| }, [F, N]), L = d(() => { | ||
| j(!0); | ||
| }, []), R = d(() => { | ||
| j(!1); | ||
| }, []); | ||
| return /* @__PURE__ */ _("div", { | ||
| ref: M, | ||
| id: `page-${x}`, | ||
| "data-rp": `page-${x}`, | ||
| ...C, | ||
| style: { | ||
| ...S, | ||
| "--rp-rotate": `${F}deg`, | ||
| "--rp-page-rotate-translate": `${I}`, | ||
| "--user-unit": N.userUnit || 1, | ||
| "--scale-factor": D, | ||
| "--total-scale-factor": "calc(var(--scale-factor) * var(--user-unit))" | ||
| }, | ||
| className: y["rp-page-wrapper"], | ||
| children: /* @__PURE__ */ v("div", { | ||
| style: { | ||
| width: `${N.width}px`, | ||
| height: `${N.height}px` | ||
| }, | ||
| className: y["rp-page"], | ||
| children: [ | ||
| /* @__PURE__ */ _(a, { | ||
| onLoading: L, | ||
| onLoaded: R, | ||
| pageNumber: x | ||
| }), | ||
| A && O && /* @__PURE__ */ _("div", { | ||
| className: y["rp-loader-wrapper"], | ||
| children: /* @__PURE__ */ _(O, {}) | ||
| }), | ||
| /* @__PURE__ */ _(l, { pageNumber: x }), | ||
| E && /* @__PURE__ */ _(o, { pageNumber: x }), | ||
| /* @__PURE__ */ _(c, { | ||
| pageNumber: x, | ||
| viewport: N | ||
| }), | ||
| /* @__PURE__ */ _(s, { pageNumber: x }) | ||
| ] | ||
| }) | ||
| }); | ||
| }); | ||
| //#endregion | ||
| export { b as t }; |
| import { ErrorType as e, ScrollMode as t, SelectionMode as n, ViewMode as r } from "./utils/types.js"; | ||
| import { useDocumentPasswordContext as i } from "./contexts/DocumentPasswordContext.js"; | ||
| import { useDocumentContext as a } from "./contexts/RPDocumentContext.js"; | ||
| import { useInitialStateContext as o } from "./contexts/InitialStateContext.js"; | ||
| import { useScrollModeContext as s } from "./contexts/ScrollModeContext.js"; | ||
| import { useViewModeContext as c } from "./contexts/ViewModeContext.js"; | ||
| import { useVirtualScrollContext as l } from "./contexts/VirtualScrollContext.js"; | ||
| import { useLayoutContainer as u } from "./contexts/LayoutContainerContext.js"; | ||
| import { useEventCallbackContext as d } from "./contexts/EventCallbackContext.js"; | ||
| import { useDebounce as f } from "./utils/hooks/useDebounce.js"; | ||
| import { getPageFromPosition as p } from "./utils/calculatePage.js"; | ||
| import { a as m, r as h } from "./PaginationContext-B3qzCYJu.js"; | ||
| import { useSelectionModeContext as g } from "./contexts/SelectionModeContext.js"; | ||
| import { useFullScreenContext as _ } from "./contexts/FullScreenContext.js"; | ||
| import { t as v } from "./clsx-B7LyVm5O.js"; | ||
| import { useLoaderContext as ee } from "./contexts/LoaderContext.js"; | ||
| import { t as y } from "./RPPage-BdoE0RrK.js"; | ||
| import { useVirtualReactWindow as te } from "./utils/hooks/useVirtualReactWindow.js"; | ||
| import { DualPage as ne } from "./components/page/DualPage.js"; | ||
| import { DualPageWithCover as re } from "./components/page/DualPageWithCover.js"; | ||
| import { SinglePage as ie } from "./components/page/SinglePage.js"; | ||
| import { useMousePressed as ae } from "./utils/hooks/useMousePressed.js"; | ||
| import { useGrabScroll as oe } from "./utils/hooks/useGrabScroll.js"; | ||
| import { usePinch as se } from "./utils/hooks/usePinch.js"; | ||
| import { t as b } from "./PasswordModal-CB9Rd2zJ.js"; | ||
| import { usePresentPage as x } from "./utils/hooks/usePresentPage.js"; | ||
| import { LayoutContainer as ce } from "./components/layout/LayoutContainer.js"; | ||
| import { LayoutWrapper as le } from "./components/layout/LayoutWrapper.js"; | ||
| import { useCopyText as ue } from "./utils/hooks/useCopyText.js"; | ||
| import { useTextSelection as de } from "./utils/hooks/useTextSelection.js"; | ||
| import { approximateFraction as fe } from "./utils/approximateFragtion.js"; | ||
| import { Component as pe, PureComponent as S, createElement as C, memo as me, useCallback as w, useEffect as T, useMemo as he, useRef as E, useState as ge } from "react"; | ||
| import { OutputScale as _e } from "pdfjs-dist"; | ||
| import { Fragment as ve, jsx as D, jsxs as ye } from "react/jsx-runtime"; | ||
| import './assets/RPPages.css';//#region lib/components/RPPages.module.css | ||
| var O = { | ||
| "rp-pages": "_rp-pages_fn8tz_1", | ||
| "rp-page-scrolling-wrapper": "_rp-page-scrolling-wrapper_fn8tz_6", | ||
| "rp-pages-horizontal-scroll": "_rp-pages-horizontal-scroll_fn8tz_11", | ||
| "rp-not-supported-list": "_rp-not-supported-list_fn8tz_15", | ||
| "rp-pages-container": "_rp-pages-container_fn8tz_23", | ||
| "rp-viewer": "_rp-viewer_fn8tz_65", | ||
| "rp-cursor-grab": "_rp-cursor-grab_fn8tz_70", | ||
| "rp-cursor-grabbing": "_rp-cursor-grabbing_fn8tz_78", | ||
| "rp-loader": "_rp-loader_fn8tz_86", | ||
| "rp-not-supported": "_rp-not-supported_fn8tz_15", | ||
| "rp-not-supported-content": "_rp-not-supported-content_fn8tz_102", | ||
| "rp-load-error": "_rp-load-error_fn8tz_108", | ||
| "rp-load-error-message": "_rp-load-error-message_fn8tz_116" | ||
| }; | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js | ||
| function k() { | ||
| return k = Object.assign ? Object.assign.bind() : function(e) { | ||
| for (var t = 1; t < arguments.length; t++) { | ||
| var n = arguments[t]; | ||
| for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]); | ||
| } | ||
| return e; | ||
| }, k.apply(null, arguments); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js | ||
| function A(e) { | ||
| if (e === void 0) throw ReferenceError("this hasn't been initialised - super() hasn't been called"); | ||
| return e; | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js | ||
| function be(e, t) { | ||
| return be = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) { | ||
| return e.__proto__ = t, e; | ||
| }, be(e, t); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js | ||
| function xe(e, t) { | ||
| e.prototype = Object.create(t.prototype), e.prototype.constructor = e, be(e, t); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/memoize-one@5.2.1/node_modules/memoize-one/dist/memoize-one.esm.js | ||
| var Se = Number.isNaN || function(e) { | ||
| return typeof e == "number" && e !== e; | ||
| }; | ||
| function Ce(e, t) { | ||
| return !!(e === t || Se(e) && Se(t)); | ||
| } | ||
| function j(e, t) { | ||
| if (e.length !== t.length) return !1; | ||
| for (var n = 0; n < e.length; n++) if (!Ce(e[n], t[n])) return !1; | ||
| return !0; | ||
| } | ||
| function M(e, t) { | ||
| t === void 0 && (t = j); | ||
| var n, r = [], i, a = !1; | ||
| function o() { | ||
| var o = [...arguments]; | ||
| return a && n === this && t(o, r) ? i : (i = e.apply(this, o), a = !0, n = this, r = o, i); | ||
| } | ||
| return o; | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js | ||
| function N(e, t) { | ||
| if (e == null) return {}; | ||
| var n = {}; | ||
| for (var r in e) if ({}.hasOwnProperty.call(e, r)) { | ||
| if (t.indexOf(r) !== -1) continue; | ||
| n[r] = e[r]; | ||
| } | ||
| return n; | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/react-window@1.8.11_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-window/dist/index.esm.js | ||
| var P = typeof performance == "object" && typeof performance.now == "function" ? function() { | ||
| return performance.now(); | ||
| } : function() { | ||
| return Date.now(); | ||
| }; | ||
| function we(e) { | ||
| cancelAnimationFrame(e.id); | ||
| } | ||
| function Te(e, t) { | ||
| var n = P(); | ||
| function r() { | ||
| P() - n >= t ? e.call(null) : i.id = requestAnimationFrame(r); | ||
| } | ||
| var i = { id: requestAnimationFrame(r) }; | ||
| return i; | ||
| } | ||
| var F = -1; | ||
| function Ee(e) { | ||
| if (e === void 0 && (e = !1), F === -1 || e) { | ||
| var t = document.createElement("div"), n = t.style; | ||
| n.width = "50px", n.height = "50px", n.overflow = "scroll", document.body.appendChild(t), F = t.offsetWidth - t.clientWidth, document.body.removeChild(t); | ||
| } | ||
| return F; | ||
| } | ||
| var I = null; | ||
| function De(e) { | ||
| if (e === void 0 && (e = !1), I === null || e) { | ||
| var t = document.createElement("div"), n = t.style; | ||
| n.width = "50px", n.height = "50px", n.overflow = "scroll", n.direction = "rtl"; | ||
| var r = document.createElement("div"), i = r.style; | ||
| return i.width = "100px", i.height = "100px", t.appendChild(r), document.body.appendChild(t), t.scrollLeft > 0 ? I = "positive-descending" : (t.scrollLeft = 1, I = t.scrollLeft === 0 ? "negative" : "positive-ascending"), document.body.removeChild(t), I; | ||
| } | ||
| return I; | ||
| } | ||
| var Oe = 150, L = function(e) { | ||
| var t = e.columnIndex; | ||
| return e.data, e.rowIndex + ":" + t; | ||
| }, R = null, z = null, B = null; | ||
| process.env.NODE_ENV !== "production" && typeof window < "u" && window.WeakSet !== void 0 && (R = /* @__PURE__ */ new WeakSet(), z = /* @__PURE__ */ new WeakSet(), B = /* @__PURE__ */ new WeakSet()); | ||
| function ke(e) { | ||
| var t, n = e.getColumnOffset, r = e.getColumnStartIndexForOffset, i = e.getColumnStopIndexForStartIndex, a = e.getColumnWidth, o = e.getEstimatedTotalHeight, s = e.getEstimatedTotalWidth, c = e.getOffsetForColumnAndAlignment, l = e.getOffsetForRowAndAlignment, u = e.getRowHeight, d = e.getRowOffset, f = e.getRowStartIndexForOffset, p = e.getRowStopIndexForStartIndex, m = e.initInstanceProps, h = e.shouldResetStyleCacheOnItemSizeChange, g = e.validateProps; | ||
| return t = /* @__PURE__ */ function(e) { | ||
| xe(t, e); | ||
| function t(t) { | ||
| var r = e.call(this, t) || this; | ||
| return r._instanceProps = m(r.props, A(r)), r._resetIsScrollingTimeoutId = null, r._outerRef = void 0, r.state = { | ||
| instance: A(r), | ||
| isScrolling: !1, | ||
| horizontalScrollDirection: "forward", | ||
| scrollLeft: typeof r.props.initialScrollLeft == "number" ? r.props.initialScrollLeft : 0, | ||
| scrollTop: typeof r.props.initialScrollTop == "number" ? r.props.initialScrollTop : 0, | ||
| scrollUpdateWasRequested: !1, | ||
| verticalScrollDirection: "forward" | ||
| }, r._callOnItemsRendered = void 0, r._callOnItemsRendered = M(function(e, t, n, i, a, o, s, c) { | ||
| return r.props.onItemsRendered({ | ||
| overscanColumnStartIndex: e, | ||
| overscanColumnStopIndex: t, | ||
| overscanRowStartIndex: n, | ||
| overscanRowStopIndex: i, | ||
| visibleColumnStartIndex: a, | ||
| visibleColumnStopIndex: o, | ||
| visibleRowStartIndex: s, | ||
| visibleRowStopIndex: c | ||
| }); | ||
| }), r._callOnScroll = void 0, r._callOnScroll = M(function(e, t, n, i, a) { | ||
| return r.props.onScroll({ | ||
| horizontalScrollDirection: n, | ||
| scrollLeft: e, | ||
| scrollTop: t, | ||
| verticalScrollDirection: i, | ||
| scrollUpdateWasRequested: a | ||
| }); | ||
| }), r._getItemStyle = void 0, r._getItemStyle = function(e, t) { | ||
| var i = r.props, o = i.columnWidth, s = i.direction, c = i.rowHeight, l = r._getItemStyleCache(h && o, h && s, h && c), f = e + ":" + t, p; | ||
| if (l.hasOwnProperty(f)) p = l[f]; | ||
| else { | ||
| var m = n(r.props, t, r._instanceProps), g = s === "rtl"; | ||
| l[f] = p = { | ||
| position: "absolute", | ||
| left: g ? void 0 : m, | ||
| right: g ? m : void 0, | ||
| top: d(r.props, e, r._instanceProps), | ||
| height: u(r.props, e, r._instanceProps), | ||
| width: a(r.props, t, r._instanceProps) | ||
| }; | ||
| } | ||
| return p; | ||
| }, r._getItemStyleCache = void 0, r._getItemStyleCache = M(function(e, t, n) { | ||
| return {}; | ||
| }), r._onScroll = function(e) { | ||
| var t = e.currentTarget, n = t.clientHeight, i = t.clientWidth, a = t.scrollLeft, o = t.scrollTop, s = t.scrollHeight, c = t.scrollWidth; | ||
| r.setState(function(e) { | ||
| if (e.scrollLeft === a && e.scrollTop === o) return null; | ||
| var t = r.props.direction, l = a; | ||
| if (t === "rtl") switch (De()) { | ||
| case "negative": | ||
| l = -a; | ||
| break; | ||
| case "positive-descending": | ||
| l = c - i - a; | ||
| break; | ||
| } | ||
| l = Math.max(0, Math.min(l, c - i)); | ||
| var u = Math.max(0, Math.min(o, s - n)); | ||
| return { | ||
| isScrolling: !0, | ||
| horizontalScrollDirection: e.scrollLeft < a ? "forward" : "backward", | ||
| scrollLeft: l, | ||
| scrollTop: u, | ||
| verticalScrollDirection: e.scrollTop < o ? "forward" : "backward", | ||
| scrollUpdateWasRequested: !1 | ||
| }; | ||
| }, r._resetIsScrollingDebounced); | ||
| }, r._outerRefSetter = function(e) { | ||
| var t = r.props.outerRef; | ||
| r._outerRef = e, typeof t == "function" ? t(e) : typeof t == "object" && t && t.hasOwnProperty("current") && (t.current = e); | ||
| }, r._resetIsScrollingDebounced = function() { | ||
| r._resetIsScrollingTimeoutId !== null && we(r._resetIsScrollingTimeoutId), r._resetIsScrollingTimeoutId = Te(r._resetIsScrolling, Oe); | ||
| }, r._resetIsScrolling = function() { | ||
| r._resetIsScrollingTimeoutId = null, r.setState({ isScrolling: !1 }, function() { | ||
| r._getItemStyleCache(-1); | ||
| }); | ||
| }, r; | ||
| } | ||
| t.getDerivedStateFromProps = function(e, t) { | ||
| return V(e, t), g(e), null; | ||
| }; | ||
| var _ = t.prototype; | ||
| return _.scrollTo = function(e) { | ||
| var t = e.scrollLeft, n = e.scrollTop; | ||
| t !== void 0 && (t = Math.max(0, t)), n !== void 0 && (n = Math.max(0, n)), this.setState(function(e) { | ||
| return t === void 0 && (t = e.scrollLeft), n === void 0 && (n = e.scrollTop), e.scrollLeft === t && e.scrollTop === n ? null : { | ||
| horizontalScrollDirection: e.scrollLeft < t ? "forward" : "backward", | ||
| scrollLeft: t, | ||
| scrollTop: n, | ||
| scrollUpdateWasRequested: !0, | ||
| verticalScrollDirection: e.scrollTop < n ? "forward" : "backward" | ||
| }; | ||
| }, this._resetIsScrollingDebounced); | ||
| }, _.scrollToItem = function(e) { | ||
| var t = e.align, n = t === void 0 ? "auto" : t, r = e.columnIndex, i = e.rowIndex, a = this.props, u = a.columnCount, d = a.height, f = a.rowCount, p = a.width, m = this.state, h = m.scrollLeft, g = m.scrollTop, _ = Ee(); | ||
| r !== void 0 && (r = Math.max(0, Math.min(r, u - 1))), i !== void 0 && (i = Math.max(0, Math.min(i, f - 1))); | ||
| var v = o(this.props, this._instanceProps), ee = s(this.props, this._instanceProps) > p ? _ : 0, y = v > d ? _ : 0; | ||
| this.scrollTo({ | ||
| scrollLeft: r === void 0 ? h : c(this.props, r, n, h, this._instanceProps, y), | ||
| scrollTop: i === void 0 ? g : l(this.props, i, n, g, this._instanceProps, ee) | ||
| }); | ||
| }, _.componentDidMount = function() { | ||
| var e = this.props, t = e.initialScrollLeft, n = e.initialScrollTop; | ||
| if (this._outerRef != null) { | ||
| var r = this._outerRef; | ||
| typeof t == "number" && (r.scrollLeft = t), typeof n == "number" && (r.scrollTop = n); | ||
| } | ||
| this._callPropsCallbacks(); | ||
| }, _.componentDidUpdate = function() { | ||
| var e = this.props.direction, t = this.state, n = t.scrollLeft, r = t.scrollTop; | ||
| if (t.scrollUpdateWasRequested && this._outerRef != null) { | ||
| var i = this._outerRef; | ||
| if (e === "rtl") switch (De()) { | ||
| case "negative": | ||
| i.scrollLeft = -n; | ||
| break; | ||
| case "positive-ascending": | ||
| i.scrollLeft = n; | ||
| break; | ||
| default: | ||
| var a = i.clientWidth; | ||
| i.scrollLeft = i.scrollWidth - a - n; | ||
| break; | ||
| } | ||
| else i.scrollLeft = Math.max(0, n); | ||
| i.scrollTop = Math.max(0, r); | ||
| } | ||
| this._callPropsCallbacks(); | ||
| }, _.componentWillUnmount = function() { | ||
| this._resetIsScrollingTimeoutId !== null && we(this._resetIsScrollingTimeoutId); | ||
| }, _.render = function() { | ||
| var e = this.props, t = e.children, n = e.className, r = e.columnCount, i = e.direction, a = e.height, c = e.innerRef, l = e.innerElementType, u = e.innerTagName, d = e.itemData, f = e.itemKey, p = f === void 0 ? L : f, m = e.outerElementType, h = e.outerTagName, g = e.rowCount, _ = e.style, v = e.useIsScrolling, ee = e.width, y = this.state.isScrolling, te = this._getHorizontalRangeToRender(), ne = te[0], re = te[1], ie = this._getVerticalRangeToRender(), ae = ie[0], oe = ie[1], se = []; | ||
| if (r > 0 && g) for (var b = ae; b <= oe; b++) for (var x = ne; x <= re; x++) se.push(C(t, { | ||
| columnIndex: x, | ||
| data: d, | ||
| isScrolling: v ? y : void 0, | ||
| key: p({ | ||
| columnIndex: x, | ||
| data: d, | ||
| rowIndex: b | ||
| }), | ||
| rowIndex: b, | ||
| style: this._getItemStyle(b, x) | ||
| })); | ||
| var ce = o(this.props, this._instanceProps), le = s(this.props, this._instanceProps); | ||
| return C(m || h || "div", { | ||
| className: n, | ||
| onScroll: this._onScroll, | ||
| ref: this._outerRefSetter, | ||
| style: k({ | ||
| position: "relative", | ||
| height: a, | ||
| width: ee, | ||
| overflow: "auto", | ||
| WebkitOverflowScrolling: "touch", | ||
| willChange: "transform", | ||
| direction: i | ||
| }, _) | ||
| }, C(l || u || "div", { | ||
| children: se, | ||
| ref: c, | ||
| style: { | ||
| height: ce, | ||
| pointerEvents: y ? "none" : void 0, | ||
| width: le | ||
| } | ||
| })); | ||
| }, _._callPropsCallbacks = function() { | ||
| var e = this.props, t = e.columnCount, n = e.onItemsRendered, r = e.onScroll, i = e.rowCount; | ||
| if (typeof n == "function" && t > 0 && i > 0) { | ||
| var a = this._getHorizontalRangeToRender(), o = a[0], s = a[1], c = a[2], l = a[3], u = this._getVerticalRangeToRender(), d = u[0], f = u[1], p = u[2], m = u[3]; | ||
| this._callOnItemsRendered(o, s, d, f, c, l, p, m); | ||
| } | ||
| if (typeof r == "function") { | ||
| var h = this.state, g = h.horizontalScrollDirection, _ = h.scrollLeft, v = h.scrollTop, ee = h.scrollUpdateWasRequested, y = h.verticalScrollDirection; | ||
| this._callOnScroll(_, v, g, y, ee); | ||
| } | ||
| }, _._getHorizontalRangeToRender = function() { | ||
| var e = this.props, t = e.columnCount, n = e.overscanColumnCount, a = e.overscanColumnsCount, o = e.overscanCount, s = e.rowCount, c = this.state, l = c.horizontalScrollDirection, u = c.isScrolling, d = c.scrollLeft, f = n || a || o || 1; | ||
| if (t === 0 || s === 0) return [ | ||
| 0, | ||
| 0, | ||
| 0, | ||
| 0 | ||
| ]; | ||
| var p = r(this.props, d, this._instanceProps), m = i(this.props, p, d, this._instanceProps), h = !u || l === "backward" ? Math.max(1, f) : 1, g = !u || l === "forward" ? Math.max(1, f) : 1; | ||
| return [ | ||
| Math.max(0, p - h), | ||
| Math.max(0, Math.min(t - 1, m + g)), | ||
| p, | ||
| m | ||
| ]; | ||
| }, _._getVerticalRangeToRender = function() { | ||
| var e = this.props, t = e.columnCount, n = e.overscanCount, r = e.overscanRowCount, i = e.overscanRowsCount, a = e.rowCount, o = this.state, s = o.isScrolling, c = o.verticalScrollDirection, l = o.scrollTop, u = r || i || n || 1; | ||
| if (t === 0 || a === 0) return [ | ||
| 0, | ||
| 0, | ||
| 0, | ||
| 0 | ||
| ]; | ||
| var d = f(this.props, l, this._instanceProps), m = p(this.props, d, l, this._instanceProps), h = !s || c === "backward" ? Math.max(1, u) : 1, g = !s || c === "forward" ? Math.max(1, u) : 1; | ||
| return [ | ||
| Math.max(0, d - h), | ||
| Math.max(0, Math.min(a - 1, m + g)), | ||
| d, | ||
| m | ||
| ]; | ||
| }, t; | ||
| }(S), t.defaultProps = { | ||
| direction: "ltr", | ||
| itemData: void 0, | ||
| useIsScrolling: !1 | ||
| }, t; | ||
| } | ||
| var V = function(e, t) { | ||
| var n = e.children, r = e.direction, i = e.height, a = e.innerTagName, o = e.outerTagName, s = e.overscanColumnsCount, c = e.overscanCount, l = e.overscanRowsCount, u = e.width, d = t.instance; | ||
| if (process.env.NODE_ENV !== "production") { | ||
| if (typeof c == "number" && R && !R.has(d) && (R.add(d), console.warn("The overscanCount prop has been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (typeof s == "number" || typeof l == "number") && z && !z.has(d) && (z.add(d), console.warn("The overscanColumnsCount and overscanRowsCount props have been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (a != null || o != null) && B && !B.has(d) && (B.add(d), console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead.")), n == null) throw Error("An invalid \"children\" prop has been specified. Value should be a React component. " + ("\"" + (n === null ? "null" : typeof n) + "\" was specified.")); | ||
| switch (r) { | ||
| case "ltr": | ||
| case "rtl": break; | ||
| default: throw Error("An invalid \"direction\" prop has been specified. Value should be either \"ltr\" or \"rtl\". " + ("\"" + r + "\" was specified.")); | ||
| } | ||
| if (typeof u != "number") throw Error("An invalid \"width\" prop has been specified. Grids must specify a number for width. " + ("\"" + (u === null ? "null" : typeof u) + "\" was specified.")); | ||
| if (typeof i != "number") throw Error("An invalid \"height\" prop has been specified. Grids must specify a number for height. " + ("\"" + (i === null ? "null" : typeof i) + "\" was specified.")); | ||
| } | ||
| }, Ae = 50, je = function(e, t) { | ||
| var n = e.rowCount, r = t.rowMetadataMap, i = t.estimatedRowHeight, a = t.lastMeasuredRowIndex, o = 0; | ||
| if (a >= n && (a = n - 1), a >= 0) { | ||
| var s = r[a]; | ||
| o = s.offset + s.size; | ||
| } | ||
| var c = (n - a - 1) * i; | ||
| return o + c; | ||
| }, H = function(e, t) { | ||
| var n = e.columnCount, r = t.columnMetadataMap, i = t.estimatedColumnWidth, a = t.lastMeasuredColumnIndex, o = 0; | ||
| if (a >= n && (a = n - 1), a >= 0) { | ||
| var s = r[a]; | ||
| o = s.offset + s.size; | ||
| } | ||
| var c = (n - a - 1) * i; | ||
| return o + c; | ||
| }, U = function(e, t, n, r) { | ||
| var i, a, o; | ||
| if (e === "column" ? (i = r.columnMetadataMap, a = t.columnWidth, o = r.lastMeasuredColumnIndex) : (i = r.rowMetadataMap, a = t.rowHeight, o = r.lastMeasuredRowIndex), n > o) { | ||
| var s = 0; | ||
| if (o >= 0) { | ||
| var c = i[o]; | ||
| s = c.offset + c.size; | ||
| } | ||
| for (var l = o + 1; l <= n; l++) { | ||
| var u = a(l); | ||
| i[l] = { | ||
| offset: s, | ||
| size: u | ||
| }, s += u; | ||
| } | ||
| e === "column" ? r.lastMeasuredColumnIndex = n : r.lastMeasuredRowIndex = n; | ||
| } | ||
| return i[n]; | ||
| }, Me = function(e, t, n, r) { | ||
| var i, a; | ||
| return e === "column" ? (i = n.columnMetadataMap, a = n.lastMeasuredColumnIndex) : (i = n.rowMetadataMap, a = n.lastMeasuredRowIndex), (a > 0 ? i[a].offset : 0) >= r ? Ne(e, t, n, a, 0, r) : Pe(e, t, n, Math.max(0, a), r); | ||
| }, Ne = function(e, t, n, r, i, a) { | ||
| for (; i <= r;) { | ||
| var o = i + Math.floor((r - i) / 2), s = U(e, t, o, n).offset; | ||
| if (s === a) return o; | ||
| s < a ? i = o + 1 : s > a && (r = o - 1); | ||
| } | ||
| return i > 0 ? i - 1 : 0; | ||
| }, Pe = function(e, t, n, r, i) { | ||
| for (var a = e === "column" ? t.columnCount : t.rowCount, o = 1; r < a && U(e, t, r, n).offset < i;) r += o, o *= 2; | ||
| return Ne(e, t, n, Math.min(r, a - 1), Math.floor(r / 2), i); | ||
| }, Fe = function(e, t, n, r, i, a, o) { | ||
| var s = e === "column" ? t.width : t.height, c = U(e, t, n, a), l = e === "column" ? H(t, a) : je(t, a), u = Math.max(0, Math.min(l - s, c.offset)), d = Math.max(0, c.offset - s + o + c.size); | ||
| switch (r === "smart" && (r = i >= d - s && i <= u + s ? "auto" : "center"), r) { | ||
| case "start": return u; | ||
| case "end": return d; | ||
| case "center": return Math.round(d + (u - d) / 2); | ||
| default: return i >= d && i <= u ? i : d > u || i < d ? d : u; | ||
| } | ||
| }, Ie = /* @__PURE__ */ ke({ | ||
| getColumnOffset: function(e, t, n) { | ||
| return U("column", e, t, n).offset; | ||
| }, | ||
| getColumnStartIndexForOffset: function(e, t, n) { | ||
| return Me("column", e, n, t); | ||
| }, | ||
| getColumnStopIndexForStartIndex: function(e, t, n, r) { | ||
| for (var i = e.columnCount, a = e.width, o = U("column", e, t, r), s = n + a, c = o.offset + o.size, l = t; l < i - 1 && c < s;) l++, c += U("column", e, l, r).size; | ||
| return l; | ||
| }, | ||
| getColumnWidth: function(e, t, n) { | ||
| return n.columnMetadataMap[t].size; | ||
| }, | ||
| getEstimatedTotalHeight: je, | ||
| getEstimatedTotalWidth: H, | ||
| getOffsetForColumnAndAlignment: function(e, t, n, r, i, a) { | ||
| return Fe("column", e, t, n, r, i, a); | ||
| }, | ||
| getOffsetForRowAndAlignment: function(e, t, n, r, i, a) { | ||
| return Fe("row", e, t, n, r, i, a); | ||
| }, | ||
| getRowOffset: function(e, t, n) { | ||
| return U("row", e, t, n).offset; | ||
| }, | ||
| getRowHeight: function(e, t, n) { | ||
| return n.rowMetadataMap[t].size; | ||
| }, | ||
| getRowStartIndexForOffset: function(e, t, n) { | ||
| return Me("row", e, n, t); | ||
| }, | ||
| getRowStopIndexForStartIndex: function(e, t, n, r) { | ||
| for (var i = e.rowCount, a = e.height, o = U("row", e, t, r), s = n + a, c = o.offset + o.size, l = t; l < i - 1 && c < s;) l++, c += U("row", e, l, r).size; | ||
| return l; | ||
| }, | ||
| initInstanceProps: function(e, t) { | ||
| var n = e, r = n.estimatedColumnWidth, i = n.estimatedRowHeight, a = { | ||
| columnMetadataMap: {}, | ||
| estimatedColumnWidth: r || Ae, | ||
| estimatedRowHeight: i || Ae, | ||
| lastMeasuredColumnIndex: -1, | ||
| lastMeasuredRowIndex: -1, | ||
| rowMetadataMap: {} | ||
| }; | ||
| return t.resetAfterColumnIndex = function(e, n) { | ||
| n === void 0 && (n = !0), t.resetAfterIndices({ | ||
| columnIndex: e, | ||
| shouldForceUpdate: n | ||
| }); | ||
| }, t.resetAfterRowIndex = function(e, n) { | ||
| n === void 0 && (n = !0), t.resetAfterIndices({ | ||
| rowIndex: e, | ||
| shouldForceUpdate: n | ||
| }); | ||
| }, t.resetAfterIndices = function(e) { | ||
| var n = e.columnIndex, r = e.rowIndex, i = e.shouldForceUpdate, o = i === void 0 ? !0 : i; | ||
| typeof n == "number" && (a.lastMeasuredColumnIndex = Math.min(a.lastMeasuredColumnIndex, n - 1)), typeof r == "number" && (a.lastMeasuredRowIndex = Math.min(a.lastMeasuredRowIndex, r - 1)), t._getItemStyleCache(-1), o && t.forceUpdate(); | ||
| }, a; | ||
| }, | ||
| shouldResetStyleCacheOnItemSizeChange: !1, | ||
| validateProps: function(e) { | ||
| var t = e.columnWidth, n = e.rowHeight; | ||
| if (process.env.NODE_ENV !== "production") { | ||
| if (typeof t != "function") throw Error("An invalid \"columnWidth\" prop has been specified. Value should be a function. " + ("\"" + (t === null ? "null" : typeof t) + "\" was specified.")); | ||
| if (typeof n != "function") throw Error("An invalid \"rowHeight\" prop has been specified. Value should be a function. " + ("\"" + (n === null ? "null" : typeof n) + "\" was specified.")); | ||
| } | ||
| } | ||
| }); | ||
| process.env.NODE_ENV !== "production" && typeof window < "u" && window.WeakSet; | ||
| function W(e, t) { | ||
| for (var n in e) if (!(n in t)) return !0; | ||
| for (var r in t) if (e[r] !== t[r]) return !0; | ||
| return !1; | ||
| } | ||
| var G = ["style"], K = ["style"]; | ||
| function q(e, t) { | ||
| var n = e.style, r = N(e, G), i = t.style, a = N(t, K); | ||
| return !W(n, i) && !W(r, a); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/react-virtualized-auto-sizer@1.0.26_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js | ||
| var J = typeof window < "u" ? window : typeof self < "u" ? self : global, Y = null, X = null, Le = 20, Z = J.clearTimeout, Re = J.setTimeout, Q = J.cancelAnimationFrame || J.mozCancelAnimationFrame || J.webkitCancelAnimationFrame, $ = J.requestAnimationFrame || J.mozRequestAnimationFrame || J.webkitRequestAnimationFrame; | ||
| Q == null || $ == null ? (Y = Z, X = function(e) { | ||
| return Re(e, Le); | ||
| }) : (Y = function([e, t]) { | ||
| Q(e), Z(t); | ||
| }, X = function(e) { | ||
| let t = $(function() { | ||
| Z(n), e(); | ||
| }), n = Re(function() { | ||
| Q(t), e(); | ||
| }, Le); | ||
| return [t, n]; | ||
| }); | ||
| function ze(e) { | ||
| let t, n, r, i, a, o, s, c = typeof document < "u" && document.attachEvent; | ||
| if (!c) { | ||
| o = function(e) { | ||
| let t = e.__resizeTriggers__, n = t.firstElementChild, r = t.lastElementChild, i = n.firstElementChild; | ||
| r.scrollLeft = r.scrollWidth, r.scrollTop = r.scrollHeight, i.style.width = n.offsetWidth + 1 + "px", i.style.height = n.offsetHeight + 1 + "px", n.scrollLeft = n.scrollWidth, n.scrollTop = n.scrollHeight; | ||
| }, a = function(e) { | ||
| return e.offsetWidth !== e.__resizeLast__.width || e.offsetHeight !== e.__resizeLast__.height; | ||
| }, s = function(e) { | ||
| if (e.target.className && typeof e.target.className.indexOf == "function" && e.target.className.indexOf("contract-trigger") < 0 && e.target.className.indexOf("expand-trigger") < 0) return; | ||
| let t = this; | ||
| o(this), this.__resizeRAF__ && Y(this.__resizeRAF__), this.__resizeRAF__ = X(function() { | ||
| a(t) && (t.__resizeLast__.width = t.offsetWidth, t.__resizeLast__.height = t.offsetHeight, t.__resizeListeners__.forEach(function(n) { | ||
| n.call(t, e); | ||
| })); | ||
| }); | ||
| }; | ||
| let e = !1, c = ""; | ||
| r = "animationstart"; | ||
| let l = "Webkit Moz O ms".split(" "), u = "webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "), d = ""; | ||
| { | ||
| let t = document.createElement("fakeelement"); | ||
| if (t.style.animationName !== void 0 && (e = !0), e === !1) { | ||
| for (let n = 0; n < l.length; n++) if (t.style[l[n] + "AnimationName"] !== void 0) { | ||
| d = l[n], c = "-" + d.toLowerCase() + "-", r = u[n], e = !0; | ||
| break; | ||
| } | ||
| } | ||
| } | ||
| n = "resizeanim", t = "@" + c + "keyframes " + n + " { from { opacity: 0; } to { opacity: 0; } } ", i = c + "animation: 1ms " + n + "; "; | ||
| } | ||
| let l = function(n) { | ||
| if (!n.getElementById("detectElementResize")) { | ||
| let r = (t || "") + ".resize-triggers { " + (i || "") + "visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }", a = n.head || n.getElementsByTagName("head")[0], o = n.createElement("style"); | ||
| o.id = "detectElementResize", o.type = "text/css", e != null && o.setAttribute("nonce", e), o.styleSheet ? o.styleSheet.cssText = r : o.appendChild(n.createTextNode(r)), a.appendChild(o); | ||
| } | ||
| }; | ||
| return { | ||
| addResizeListener: function(e, t) { | ||
| if (c) e.attachEvent("onresize", t); | ||
| else { | ||
| if (!e.__resizeTriggers__) { | ||
| let t = e.ownerDocument, i = J.getComputedStyle(e); | ||
| i && i.position === "static" && (e.style.position = "relative"), l(t), e.__resizeLast__ = {}, e.__resizeListeners__ = [], (e.__resizeTriggers__ = t.createElement("div")).className = "resize-triggers"; | ||
| let a = t.createElement("div"); | ||
| a.className = "expand-trigger", a.appendChild(t.createElement("div")); | ||
| let c = t.createElement("div"); | ||
| c.className = "contract-trigger", e.__resizeTriggers__.appendChild(a), e.__resizeTriggers__.appendChild(c), e.appendChild(e.__resizeTriggers__), o(e), e.addEventListener("scroll", s, !0), r && (e.__resizeTriggers__.__animationListener__ = function(t) { | ||
| t.animationName === n && o(e); | ||
| }, e.__resizeTriggers__.addEventListener(r, e.__resizeTriggers__.__animationListener__)); | ||
| } | ||
| e.__resizeListeners__.push(t); | ||
| } | ||
| }, | ||
| removeResizeListener: function(e, t) { | ||
| if (c) e.detachEvent("onresize", t); | ||
| else if (e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t), 1), !e.__resizeListeners__.length) { | ||
| e.removeEventListener("scroll", s, !0), e.__resizeTriggers__.__animationListener__ && (e.__resizeTriggers__.removeEventListener(r, e.__resizeTriggers__.__animationListener__), e.__resizeTriggers__.__animationListener__ = null); | ||
| try { | ||
| e.__resizeTriggers__ = !e.removeChild(e.__resizeTriggers__); | ||
| } catch {} | ||
| } | ||
| } | ||
| }; | ||
| } | ||
| var Be = class extends pe { | ||
| constructor(...e) { | ||
| super(...e), this.state = { | ||
| height: this.props.defaultHeight || 0, | ||
| width: this.props.defaultWidth || 0 | ||
| }, this._autoSizer = null, this._detectElementResize = null, this._didLogDeprecationWarning = !1, this._parentNode = null, this._resizeObserver = null, this._timeoutId = null, this._onResize = () => { | ||
| this._timeoutId = null; | ||
| let { disableHeight: e, disableWidth: t, onResize: n } = this.props; | ||
| if (this._parentNode) { | ||
| let r = window.getComputedStyle(this._parentNode) || {}, i = parseFloat(r.paddingLeft || "0"), a = parseFloat(r.paddingRight || "0"), o = parseFloat(r.paddingTop || "0"), s = parseFloat(r.paddingBottom || "0"), c = this._parentNode.getBoundingClientRect(), l = c.height - o - s, u = c.width - i - a; | ||
| if (!e && this.state.height !== l || !t && this.state.width !== u) { | ||
| this.setState({ | ||
| height: l, | ||
| width: u | ||
| }); | ||
| let e = () => { | ||
| this._didLogDeprecationWarning || (this._didLogDeprecationWarning = !0, console.warn("scaledWidth and scaledHeight parameters have been deprecated; use width and height instead")); | ||
| }; | ||
| typeof n == "function" && n({ | ||
| height: l, | ||
| width: u, | ||
| get scaledHeight() { | ||
| return e(), l; | ||
| }, | ||
| get scaledWidth() { | ||
| return e(), u; | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| }, this._setRef = (e) => { | ||
| this._autoSizer = e; | ||
| }; | ||
| } | ||
| componentDidMount() { | ||
| let { nonce: e } = this.props, t = this._autoSizer ? this._autoSizer.parentNode : null; | ||
| if (t != null && t.ownerDocument && t.ownerDocument.defaultView && t instanceof t.ownerDocument.defaultView.HTMLElement) { | ||
| this._parentNode = t; | ||
| let n = t.ownerDocument.defaultView.ResizeObserver; | ||
| n == null ? (this._detectElementResize = ze(e), this._detectElementResize.addResizeListener(t, this._onResize)) : (this._resizeObserver = new n(() => { | ||
| this._timeoutId = setTimeout(this._onResize, 0); | ||
| }), this._resizeObserver.observe(t)), this._onResize(); | ||
| } | ||
| } | ||
| componentWillUnmount() { | ||
| this._parentNode && (this._detectElementResize && this._detectElementResize.removeResizeListener(this._parentNode, this._onResize), this._timeoutId !== null && clearTimeout(this._timeoutId), this._resizeObserver && this._resizeObserver.disconnect()); | ||
| } | ||
| render() { | ||
| let { children: e, defaultHeight: t, defaultWidth: n, disableHeight: r = !1, disableWidth: i = !1, doNotBailOutOnEmptyChildren: a = !1, nonce: o, onResize: s, style: c = {}, tagName: l = "div", ...u } = this.props, { height: d, width: f } = this.state, p = { overflow: "visible" }, m = {}, h = !1; | ||
| return r || (d === 0 && (h = !0), p.height = 0, m.height = d, m.scaledHeight = d), i || (f === 0 && (h = !0), p.width = 0, m.width = f, m.scaledWidth = f), a && (h = !1), C(l, { | ||
| ref: this._setRef, | ||
| style: { | ||
| ...p, | ||
| ...c | ||
| }, | ||
| ...u | ||
| }, !h && e(m)); | ||
| } | ||
| }, Ve = me(({ columnIndex: e, rowIndex: t, data: n, style: r }) => { | ||
| let i = p(t, e, n.columnCount, n.isDualPageWithCover); | ||
| if (i <= 0) return null; | ||
| if (n.isDualPageWithCover) { | ||
| let a = i === n.totalPages && n.totalPages % 2 == 0; | ||
| if (t === 0 && i === 1 || a && e === 0) { | ||
| let e = n.columnWidths.reduce((e, t) => e + t, 0); | ||
| return /* @__PURE__ */ D("div", { | ||
| style: { | ||
| ...r, | ||
| width: e, | ||
| display: "flex", | ||
| justifyContent: "center", | ||
| alignItems: "flex-start" | ||
| }, | ||
| children: /* @__PURE__ */ D(y, { | ||
| style: { position: "relative" }, | ||
| pageNumber: i | ||
| }, i) | ||
| }); | ||
| } | ||
| } | ||
| return n.columnCount === 2 ? /* @__PURE__ */ D("div", { | ||
| style: { | ||
| ...r, | ||
| display: "flex", | ||
| justifyContent: e === 0 ? "flex-end" : "flex-start", | ||
| alignItems: "flex-start" | ||
| }, | ||
| children: /* @__PURE__ */ D(y, { | ||
| style: { position: "relative" }, | ||
| pageNumber: i | ||
| }, i) | ||
| }) : /* @__PURE__ */ D(y, { | ||
| style: r, | ||
| pageNumber: i | ||
| }, i); | ||
| }, q), He = () => { | ||
| let p = E(new _e()), { initialPage: y = 1, initialScrollMode: pe } = o(), { pagesRef: S, setPagesRef: C, setContentRef: me } = u(), { scrollToPage: k } = m(); | ||
| ue(S); | ||
| let { virtualScrollRef: A, getVirtualScrollRef: be, getPageScrollElementRef: xe, getVirtualScrollableElementRef: Se, setTotalInnerDimensions: Ce, virtualScrollableElementRef: j, totalInnerDimensions: M, pageScrollElementRef: N } = l(), P = E(y > 1), [we, Te] = ge(y > 1), { nextPage: F, prevPage: Ee, setFocusedPage: I, focusedPage: De, totalPages: Oe } = h(), { scrollMode: L } = s(), { viewMode: R } = c(), z = E(null), B = E(null), { loading: ke, error: V } = a(), { passwordRequired: Ae } = i(), { LoaderImageComponent: je } = ee(), H = E(M), U = E({ | ||
| viewMode: R, | ||
| scrollMode: L | ||
| }), Me = E(!1), Ne = E(), { isFullScreen: Pe } = _(), { pageDimension: Fe, rowCount: W, rowHeight: G, columnCount: K, columnWidth: q, estimatedColumnWidth: J, estimatedRowHeight: Y, totalDimension: X } = te(), Le = f(M, 100), { onScroll: Z, onTextSelect: Re } = d(); | ||
| de({ | ||
| onTextSelect: Re, | ||
| pagesRef: S | ||
| }); | ||
| let Q = E(); | ||
| x(K, W, j, R); | ||
| let $ = E({ | ||
| scrollTop: 0, | ||
| scrollLeft: 0 | ||
| }); | ||
| se(S); | ||
| let { isPressed: ze } = ae(), { selectionMode: He } = g(), { initializeGrabScroll: Ue, resetGrabState: We } = oe({ isPressed: ze }), Ge = he(() => He === n.HAND, [He]), Ke = he(() => { | ||
| let e = Array.from({ length: K }, (e, t) => q(t)); | ||
| return { | ||
| columnCount: K, | ||
| isDualPageWithCover: R === r.DUAL_PAGE_WITH_COVER, | ||
| columnWidths: e, | ||
| totalPages: Oe | ||
| }; | ||
| }, [ | ||
| K, | ||
| R, | ||
| q, | ||
| Oe | ||
| ]), qe = w((e) => { | ||
| let t = document.activeElement !== S; | ||
| !Pe && t || (["ArrowUp", "ArrowLeft"].includes(e.key) ? (e.preventDefault(), Ee()) : ["ArrowDown", "ArrowRight"].includes(e.key) && (e.preventDefault(), F())); | ||
| }, [ | ||
| F, | ||
| Ee, | ||
| Pe, | ||
| L | ||
| ]); | ||
| T(() => (window.addEventListener("keydown", qe), () => { | ||
| window.removeEventListener("keydown", qe); | ||
| }), [qe]), T(() => { | ||
| if (z.current && (z.current.style.position = "relative"), A) for (let e = 0; e < W; e++) for (let t = 0; t < K; t++) A.resetAfterIndices({ | ||
| columnIndex: t, | ||
| rowIndex: e, | ||
| shouldForceUpdate: !0 | ||
| }); | ||
| }, [ | ||
| W, | ||
| K, | ||
| Fe, | ||
| A | ||
| ]); | ||
| let Je = w((e, t) => { | ||
| if (!j) return { | ||
| scrollTop: 0, | ||
| scrollLeft: 0 | ||
| }; | ||
| let n = $.current.scrollTop > t, r = $.current.scrollLeft > e; | ||
| return n || r ? $.current : { | ||
| scrollTop: j.scrollTop, | ||
| scrollLeft: j.scrollLeft | ||
| }; | ||
| }, [j]), Ye = w((e, t) => { | ||
| if (U.current.viewMode !== R || U.current.scrollMode !== L) { | ||
| Q.current && clearTimeout(Q.current), Me.current = !0, k(De, "auto"), Q.current = setTimeout(() => { | ||
| requestAnimationFrame(() => { | ||
| U.current = { | ||
| viewMode: R, | ||
| scrollMode: L | ||
| }; | ||
| }); | ||
| }, 100); | ||
| return; | ||
| } | ||
| let n = e.scrollTop, r = e.scrollLeft; | ||
| if (!t.height || !t.width) return; | ||
| Me.current = !0; | ||
| let { height: i, width: a } = t, { height: o, width: s } = H.current; | ||
| if (o === i && s === a) return; | ||
| if (P.current && y > 1) { | ||
| H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| return; | ||
| } | ||
| if (!o || !s) { | ||
| H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| return; | ||
| } | ||
| if (n === 0 && r === 0) { | ||
| H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| return; | ||
| } | ||
| let c = n / o * i, l = r / s * a, u = Math.round(Math.min(c, i)) || 0, d = Math.round(Math.min(l, a)) || 0; | ||
| Ne.current = setTimeout(() => { | ||
| requestAnimationFrame(() => { | ||
| j?.scrollTo({ | ||
| top: u, | ||
| left: d, | ||
| behavior: "auto" | ||
| }); | ||
| }); | ||
| }, 0), H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| }, [ | ||
| j, | ||
| R, | ||
| L, | ||
| k, | ||
| y | ||
| ]); | ||
| T(() => { | ||
| clearTimeout(Ne.current); | ||
| let e = Array.from({ length: W }).reduce((e, t, n) => e + G(n), 0), t = Array.from({ length: K }).reduce((e, t, n) => e + q(n), 0), n = Je(t, e); | ||
| $.current = n, Ye(n, { | ||
| height: e, | ||
| width: t | ||
| }), Ce({ | ||
| height: e, | ||
| width: t | ||
| }); | ||
| }, [ | ||
| Fe, | ||
| W, | ||
| K, | ||
| Ye | ||
| ]); | ||
| let Xe = w((e) => { | ||
| $.current = { | ||
| scrollTop: e.scrollTop, | ||
| scrollLeft: e.scrollLeft | ||
| }; | ||
| }, [j]); | ||
| T(() => { | ||
| if (Z) return N && N.addEventListener("scroll", Z), j && j.addEventListener("scroll", Z), () => { | ||
| N?.removeEventListener("scroll", Z), j?.removeEventListener("scroll", Z); | ||
| }; | ||
| }, [ | ||
| j, | ||
| N, | ||
| Z | ||
| ]), T(() => () => { | ||
| Q.current && clearTimeout(Q.current); | ||
| }, []); | ||
| let Ze = he(() => v(O["rp-pages-container"], { | ||
| [O["rp-cursor-grab"]]: Ge && !ze, | ||
| [O["rp-cursor-grabbing"]]: Ge && ze | ||
| }), [Ge, ze]), Qe = w((e) => { | ||
| if (Ge && e) { | ||
| let e = v(O["rp-pages"]); | ||
| Ue(document.querySelector(`.${e}`)); | ||
| } | ||
| }, [ | ||
| Ge, | ||
| Ue, | ||
| O | ||
| ]); | ||
| return T(() => { | ||
| ke && We(); | ||
| }, [ke]), T(() => { | ||
| if (V !== e.INVALID_OR_CORRUPTED_PDF) return; | ||
| let t = requestAnimationFrame(() => { | ||
| B.current?.focus(); | ||
| }); | ||
| return () => { | ||
| cancelAnimationFrame(t); | ||
| }; | ||
| }, [V]), T(() => { | ||
| if (!(Le.height === 0 || !P.current)) { | ||
| if (pe === t.PAGE_SCROLLING) { | ||
| y !== De && N && I(y), P.current = !1, Te(!1); | ||
| return; | ||
| } | ||
| j && (k(y, "auto"), (j.scrollLeft > 0 || j.scrollTop > 0) && (I(y), P.current = !1, Te(!1))); | ||
| } | ||
| }, [ | ||
| k, | ||
| pe, | ||
| N, | ||
| I, | ||
| Le, | ||
| j | ||
| ]), /* @__PURE__ */ ye(ve, { children: [/* @__PURE__ */ D(le, { | ||
| ref: me, | ||
| children: /* @__PURE__ */ D(ce, { | ||
| ref: C, | ||
| tabIndex: -1, | ||
| className: Ze, | ||
| style: { | ||
| "--scale-round-x": `${fe(p.current.sx)[1]}px`, | ||
| "--scale-round-y": `${fe(p.current.sy)[1]}px` | ||
| }, | ||
| children: /* @__PURE__ */ D(Be, { | ||
| style: { minHeight: "50px" }, | ||
| children: ({ width: n, height: i }) => /* @__PURE__ */ D("div", { | ||
| "data-rp": "pages", | ||
| ref: Qe, | ||
| style: { | ||
| width: n, | ||
| height: i, | ||
| ...we && { visibility: "hidden" } | ||
| }, | ||
| children: L === t.PAGE_SCROLLING ? V === e.INVALID_OR_CORRUPTED_PDF ? /* @__PURE__ */ D("div", { | ||
| ref: B, | ||
| className: O["rp-load-error"], | ||
| style: { | ||
| width: n, | ||
| height: i | ||
| }, | ||
| tabIndex: -1, | ||
| role: "alert", | ||
| "aria-live": "assertive", | ||
| "aria-atomic": "true", | ||
| children: /* @__PURE__ */ D("div", { | ||
| className: O["rp-load-error-message"], | ||
| children: "Invalid or corrupted PDF file." | ||
| }) | ||
| }) : /* @__PURE__ */ D("div", { | ||
| ref: xe, | ||
| style: { | ||
| width: n, | ||
| height: i | ||
| }, | ||
| className: v(O["rp-pages"], O["rp-page-scrolling-wrapper"]), | ||
| children: R === r.DUAL_PAGE ? /* @__PURE__ */ D(ne, { | ||
| widths: q, | ||
| heights: G | ||
| }) : R === r.DUAL_PAGE_WITH_COVER ? /* @__PURE__ */ D(re, { | ||
| widths: q, | ||
| heights: G | ||
| }) : /* @__PURE__ */ D(ie, { | ||
| widths: q, | ||
| heights: G | ||
| }) | ||
| }) : Y ? /* @__PURE__ */ D(Ie, { | ||
| ref: be, | ||
| itemData: Ke, | ||
| outerRef: Se, | ||
| innerRef: z, | ||
| onScroll: Xe, | ||
| columnCount: K, | ||
| columnWidth: q, | ||
| rowHeight: G, | ||
| height: i, | ||
| width: n, | ||
| estimatedColumnWidth: J, | ||
| estimatedRowHeight: Y, | ||
| rowCount: W, | ||
| className: v(O["rp-pages"], L === t.HORIZONTAL_SCROLLING ? O["rp-pages-horizontal-scroll"] : ""), | ||
| style: { | ||
| "--rp-pages-height": `${X.height}px`, | ||
| "--rp-pages-width": `${X.width}px`, | ||
| "--rp-row-count": `${W}`, | ||
| "--rp-column-count": `${K}` | ||
| }, | ||
| children: Ve | ||
| }) : !ke && !V ? /* @__PURE__ */ D("div", { | ||
| className: O["rp-loader"], | ||
| style: { | ||
| display: "flex", | ||
| justifyContent: "center", | ||
| alignItems: "center", | ||
| height: "100%", | ||
| width: "100%" | ||
| }, | ||
| children: je && /* @__PURE__ */ D(je, {}) | ||
| }) : V === e.NOT_SUPPORTED ? /* @__PURE__ */ D("div", { | ||
| className: O["rp-not-supported"], | ||
| children: /* @__PURE__ */ ye("div", { | ||
| className: O["rp-not-supported-content"], | ||
| children: ["React PDF Kit is unable to render on this browser. Please use the supported browsers from the list below:", /* @__PURE__ */ D("div", { children: /* @__PURE__ */ ye("ul", { | ||
| className: O["rp-not-supported-list"], | ||
| children: [ | ||
| /* @__PURE__ */ D("li", { children: "Chrome 126+" }), | ||
| /* @__PURE__ */ D("li", { children: "Edge 126+" }), | ||
| /* @__PURE__ */ D("li", { children: "Firefox 126+" }), | ||
| /* @__PURE__ */ D("li", { children: "Safari 18.4+" }), | ||
| /* @__PURE__ */ D("li", { children: "Safari iOS 18.4+" }), | ||
| /* @__PURE__ */ D("li", { children: "Chrome Android 126+" }) | ||
| ] | ||
| }) })] | ||
| }) | ||
| }) : V === e.INVALID_OR_CORRUPTED_PDF ? /* @__PURE__ */ D("div", { | ||
| ref: B, | ||
| className: O["rp-load-error"], | ||
| tabIndex: -1, | ||
| role: "alert", | ||
| "aria-live": "assertive", | ||
| "aria-atomic": "true", | ||
| children: /* @__PURE__ */ D("div", { | ||
| className: O["rp-load-error-message"], | ||
| children: "Invalid or corrupted PDF file." | ||
| }) | ||
| }) : null | ||
| }) | ||
| }) | ||
| }) | ||
| }), Ae && /* @__PURE__ */ D(b, {})] }); | ||
| }; | ||
| //#endregion | ||
| export { He as t }; |
| import './assets/SearchTool.css';//#region lib/components/layout/toolbar/SearchTool.module.css | ||
| var e = { | ||
| "rp-search-tool-content": "_rp-search-tool-content_1gldw_1", | ||
| "rp-search-tool-input": "_rp-search-tool-input_1gldw_10", | ||
| "rp-search-tool-input-icon": "_rp-search-tool-input-icon_1gldw_17", | ||
| "rp-search-tool-controls": "_rp-search-tool-controls_1gldw_27", | ||
| "rp-search-tool-input-wrapper": "_rp-search-tool-input-wrapper_1gldw_35", | ||
| "rp-search-tool-input-checkboxes": "_rp-search-tool-input-checkboxes_1gldw_41", | ||
| "rp-search-tool-input-clear": "_rp-search-tool-input-clear_1gldw_46", | ||
| "rp-search-input": "_rp-search-input_1gldw_60", | ||
| "rp-search-icon-info": "_rp-search-icon-info_1gldw_67", | ||
| "rp-search-loader-icon": "_rp-search-loader-icon_1gldw_76", | ||
| "rp-search-live-region": "_rp-search-live-region_1gldw_81", | ||
| "rp-search-tool-result-navigator": "_rp-search-tool-result-navigator_1gldw_93" | ||
| }; | ||
| //#endregion | ||
| export { e as t }; |
| //#endregion | ||
| //#region lib/assets/style.ts | ||
| var e = "\nbutton{font-family:inherit}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}\n._rp-button_xxds9_1{border-radius:var(--rp-button-border-radius);padding:var(--rp-button-padding);color:var(--rp-text-color);cursor:pointer;font-size:var(--rp-icon-font-size);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._rp-button_xxds9_1[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-button_xxds9_1:hover:not(:disabled),._rp-button-active_xxds9_20:not(:disabled){background:var(--rp-button-hover-background)}._rp-button_xxds9_1:disabled{cursor:not-allowed;color:var(--rp-icon-disabled)}._rp-button_xxds9_1:focus-visible{outline-color:var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:0;outline-style:solid;transition:none}\n._rp-checkbox_1vwg8_1{all:unset;border-radius:var(--rp-checkbox-border-radius);border-color:var(--rp-checkbox-border-color);width:16px;height:16px;box-shadow:0 2px 10px var(--black-a7);background-color:#fff;border-style:solid;border-width:1px;justify-content:center;align-items:center;margin-right:8px;display:flex}._rp-checkbox_1vwg8_1:focus{outline:1px solid var(--rp-primary-color)}._rp-checkbox_1vwg8_1[data-state=checked]{background-color:var(--rp-primary-color)}._rp-checkbox-indicator_1vwg8_25{color:var(--rp-checkbox-indicator-color)}\n._rp-dropdown-content_1vzkq_1{font-family:var(--rp-font-family);font-size:var(--rp-dropdown-font-size);background-color:var(--rp-dropdown-background-color);border-radius:var(--rp-dropdown-border-radius);will-change:transform, opacity;min-width:260px;z-index:calc(var(--rp-base-z-index,1) * 5);animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);box-shadow:0 2px 12px #00000026}._rp-dropdown-content_1vzkq_1[data-side=top]{animation-name:_slideDownAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=right]{animation-name:_slideLeftAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=bottom]{animation-name:_slideUpAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=left]{animation-name:_slideRightAndFade_1vzkq_1}._rp-dropdown-arrow_1vzkq_30{fill:var(--rp-dropdown-background-color)}@keyframes _slideUpAndFade_1vzkq_1{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideRightAndFade_1vzkq_1{0%{opacity:0;transform:translate(-2px)}to{opacity:1;transform:translate(0)}}@keyframes _slideDownAndFade_1vzkq_1{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideLeftAndFade_1vzkq_1{0%{opacity:0;transform:translate(2px)}to{opacity:1;transform:translate(0)}}\n._rp-input_dun7b_1{font-family:var(--rp-font-family);border-width:1px;border-color:var(--rp-input-border-color,transparent);border-radius:var(--rp-input-border-radius);min-height:2rem;color:var(--rp-text-color);background:var(--rp-input-background-color);padding:var(--rp-input-padding);box-sizing:border-box;border-style:solid;outline:none}._rp-input_dun7b_1::placeholder{color:var(--rp-input-placeholder-color)}._rp-input_dun7b_1[data-icon=true]{padding-left:calc(1rem + 14px)}._rp-input_dun7b_1:focus,._rp-input_dun7b_1:focus-visible{border-color:var(--rp-outline-color,var(--rp-primary-color))}._rp-input-wrapper_dun7b_28{position:relative}._rp-input-label_dun7b_32{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-input-icon_dun7b_44{color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0}\n._rp-loading-overlay_8gxoj_1{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-loading-modal_8gxoj_14{background:var(--rp-print-progress-background);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:240px;min-height:120px;padding:24px;display:flex;box-shadow:0 4px 6px #0000001a}._rp-loading-title_8gxoj_27{text-align:center;color:var(--rp-print-progress-color);margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}._rp-loading-progress-bar_8gxoj_35{background:#f0f0f0;border-radius:32px;width:100%;height:4px;margin-bottom:16px;position:relative;overflow:hidden}._rp-loading-progress_8gxoj_35{background:linear-gradient(90deg, color-mix(in srgb, var(--rp-primary-color) 80%, black) 0%, var(--rp-primary-color) 50%, color-mix(in srgb, var(--rp-primary-color) 80%, white) 100%);border-radius:32px;height:100%;position:absolute}._rp-loading-cancel-button_8gxoj_55{width:70px;color:var(--rp-text-color);border-radius:var(--rp-button-border-radius);cursor:pointer;border:none;border:1px solid var(--rp-print-progress-cancel-button-border-color);background:0 0;padding:8px;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s}._rp-loading-cancel-button_8gxoj_55:hover{opacity:.6}@keyframes _loading_8gxoj_1{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}}\n._rp-password-overlay_9cdbk_1{z-index:100;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-password-modal_9cdbk_13{background:var(--rp-password-background-color);border:1px solid var(--rp-password-border-color);border-radius:8px;flex-direction:column;justify-content:start;max-width:360px;margin-left:10px;margin-right:10px;padding:24px;display:flex;box-shadow:0 2px 12px #00000026}._rp-password-title_9cdbk_27{font-family:var(--rp-font-family);color:var(--rp-password-title-font-color);margin-bottom:16px;font-size:16px;font-weight:500}._rp-password-content_9cdbk_35{font-size:14px;font-family:var(--rp-font-family);color:var(--rp-password-content-font-color)}._rp-password-form_9cdbk_41{margin-top:32px}._rp-password-label_9cdbk_45{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-password-input_9cdbk_57{border:1px solid var(--rp-password-input-border-color);border-radius:var(--rp-input-border-radius);box-sizing:border-box;background-color:var(--rp-password-background-color);width:100%;min-height:32px;caret-color:var(--rp-password-input-color);color:var(--rp-password-input-font-color);padding:7.5px;font-size:14px}._rp-password-input_9cdbk_57::placeholder{color:var(--rp-password-input-placeholder-color)}._rp-password-input-invalid_9cdbk_74{border-color:#ff2f61}._rp-password-message-invalid_9cdbk_78{color:#ff2f61;min-height:20px;margin-top:4px}._rp-password-submit-button_9cdbk_84{text-align:center;border-radius:var(--rp-password-button-border-radius);background-color:var(--rp-password-button-background-color);width:100%;min-height:35px;color:var(--rp-password-button-font-color);cursor:pointer;font-family:var(--rp-font-family);border:1px solid var(--rp-password-button-border-color);justify-content:center;align-items:center;margin-top:8px;padding:8px;transition:background-color .2s;display:flex}\n._tooltipContent_12gjy_1{border-radius:var(--rp-tooltip-border-radius);padding:var(--rp-tooltip-padding);background-color:var(--rp-tooltip-background-color);z-index:1000}._tooltipArrow_12gjy_8{fill:var(--rp-tooltip-background-color)}._tooltipContent_12gjy_1 span{color:var(--rp-tooltip-font-color);font-size:var(--rp-tooltip-font-size)}@keyframes _fadeIn_12gjy_1{0%{opacity:0}to{opacity:1}}\n._rp-drop-zone_1sc50_1{z-index:100;background-color:var(--rp-drop-zone-background-color);font-size:var(--rp-drop-zone-font-size);color:var(--rp-drop-zone-font-color);border:dashed var(--rp-drop-zone-border) 1px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._rp-drop-zone-transparent_1sc50_15{z-index:100;background-color:#0000;position:absolute;inset:0}\n._rp-pages_fn8tz_1{justify-content:center;display:flex}._rp-pages_fn8tz_1:not(._rp-page-scrolling-wrapper_fn8tz_6)>div{height:var(--rp-pages-height)!important;width:var(--rp-pages-width)!important}._rp-pages-horizontal-scroll_fn8tz_11{display:block}._rp-not-supported-list_fn8tz_15{margin:0;padding:0 0 0 .5em;list-style-type:disc;list-style-position:inside}._rp-pages-container_fn8tz_23{outline-width:0;height:100%;position:relative}._rp-pages-container_fn8tz_23 .ignore-hover:focus,._rp-pages-container_fn8tz_23 :not(:hover):focus-visible,._rp-pages-container_fn8tz_23 :not(:hover):focus:focus-visible{outline-color:var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:0px;outline-width:1px;outline-style:solid;transition:none}._rp-pages-container_fn8tz_23 .highlight.appended{border-radius:var(--rp-text-layer-highlight-border-radius);background-color:var(--rp-highlight-background-color);opacity:.5}._rp-pages-container_fn8tz_23 .highlight.appended.begin{border-radius:var(--rp-text-layer-highlight-border-radius) 0 0 var(--rp-text-layer-highlight-border-radius)}._rp-pages-container_fn8tz_23 .highlight.appended.middle{border-radius:0}._rp-pages-container_fn8tz_23 .highlight.appended.end{border-radius:0 var(--rp-text-layer-highlight-border-radius) var(--rp-text-layer-highlight-border-radius) 0}._rp-pages-container_fn8tz_23 .highlight.appended.selected{background-color:var(--rp-current-highlight-background-color)}._rp-page-scrolling-wrapper_fn8tz_6{position:relative;overflow:auto}._rp-viewer_fn8tz_65{height:100%;position:relative}._rp-cursor-grab_fn8tz_70{cursor:grab;-webkit-user-select:none;user-select:none}._rp-cursor-grabbing_fn8tz_78{cursor:grabbing;-webkit-user-select:none;user-select:none}._rp-loader_fn8tz_86{background-color:var(--rp-loader-backdrop-color)}._rp-pages-container_fn8tz_23{background:var(--rp-pages-background-color)}._rp-not-supported_fn8tz_15{justify-content:center;align-items:center;width:100%;height:100%;display:flex}._rp-not-supported-content_fn8tz_102{max-width:250px;font-weight:400;line-height:1.5}._rp-load-error_fn8tz_108{justify-content:center;align-items:center;width:100%;height:100%;display:flex}._rp-load-error-message_fn8tz_116{text-align:center;max-width:280px;font-weight:400;line-height:1.5}\n._rp-loader-icon_7y2fm_1{width:40px;height:40px;animation:1s linear infinite _spin_7y2fm_1}@media (prefers-reduced-motion:reduce){._rp-loader-icon_7y2fm_1{animation:none}}@keyframes _spin_7y2fm_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n._rp-container_f63gc_1{font-family:var(--rp-font-family);height:600px;color:var(--rp-text-color);border-radius:var(--rp-border-radius);position:relative;overflow:hidden}._rp-container_f63gc_1:focus,._rp-container_f63gc_1:focus-within{outline:var(--rp-container-focus-outline-width) solid var(--rp-container-focus-outline-color);outline-offset:var(--rp-container-focus-outline-offset)}\n._rp-layout_x5f86_1{height:100%}._rp-layout-wrapper_x5f86_5{flex:1;height:100%;position:relative}._rp-content_x5f86_11{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex;overflow:hidden}._rp-sidebar_x5f86_18{flex-shrink:0;display:flex}._rp-pages_x5f86_23{flex:1;min-width:0;height:100%}._rp-container_x5f86_29{height:100%}._rp-loader_x5f86_33{background-color:var(--rp-loader-backdrop-color)}._rp-theme-variables_x5f86_37{--rp-font-family:inherit;--rp-primary-color:#34affc;--rp-border-radius:4px;--rp-text-color:#1c2024;--rp-outline-color:var(--rp-primary-color);--rp-font-size:16px;--rp-drop-mask-background-color:#fafafa;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#c6ccd2;--rp-icon-font-size:calc(var(--rp-font-size) * 1.25);--rp-toolbar-background:#e2e6e9;--rp-toolbar-border-color:#c6ccd2;--rp-toolbar-padding:.25rem;--rp-toolbar-gap:.25rem;--rp-toolbar-size:48px;--rp-sidebar-width:48px;--rp-thumbnail-border-color:#e2e6e9;--rp-thumbnail-background-color:#fff;--rp-thumbnail-active-color:#0003;--rp-thumbnail-padding-y:16px;--rp-button-hover-background:#0000001a;--rp-button-padding:4px;--rp-button-border-radius:4px;--rp-input-padding:.5rem;--rp-input-border-radius:calc(var(--rp-border-radius) + 2px);--rp-input-background-color:#fff;--rp-input-placeholder-color:#75767c;--rp-search-input-border-color:#878c8f;--rp-pages-background-color:#fff;--rp-page-shadow:0px 2px 12px 0px #00000026;--rp-page-outline:none;--rp-page-outline-offset:0;--rp-annotation-layer__link-hover-background:#ff03;--rp-dropdown-background-color:#f1f2f4;--rp-dropdown-padding:4px;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#e2e6e9;--rp-dropdown-separator-margin:4px;--rp-dropdown-padding-menu-item:8px;--rp-dropdown-font-size:calc(var(--rp-font-size) * .875);--rp-dropdown-border-radius:calc(var(--rp-border-radius) + 2px);--rp-search-tool-dropdown-padding:8px;--rp-popover-font-size:calc(var(--rp-font-size) * .875);--rp-popover-background-color:#f1f2f4;--rp-popover-color:#1c2024;--rp-popover-border-color:#e2e6e9;--rp-popover-border-radius:calc(var(--rp-border-radius) + 2px);--rp-overlay-background-color:#000c;--rp-dialog-background-color:#f1f2f4;--rp-properties-divider-color:#e2e6e9;--rp-properties-divider-margin:16px;--rp-property-item-gap:12px;--rp-dialog-title-color:#1c2024;--rp-property-item-label-color:#596673;--rp-property-close-icon-size:calc(var(--rp-font-size) * 1.25);--rp-property-item-font-size:calc(var(--rp-font-size) * .875);--rp-property-item-font-weight:400;--rp-dialog-title-font-size:calc(var(--rp-font-size) * 1.125);--rp-dialog-title-font-weight:600;--rp-menu-item-icon-size:16px;--rp-print-progress-background:#f1f2f4;--rp-print-progress-color:#1c2024;--rp-print-progress-cancel-button-border-color:#919497;--rp-drop-zone-border:#c6ccd2;--rp-drop-zone-font-color:#677481;--rp-drop-zone-font-size:calc(var(--rp-font-size) * 1.125);--rp-drop-zone-background-color:#fafafa;--rp-checkbox-border-radius:var(--rp-border-radius);--rp-checkbox-border-color:#878c8f;--rp-checkbox-indicator-color:white;--rp-highlight-background-color:#ff0;--rp-text-layer-highlight-border-radius:var(--rp-border-radius);--rp-current-highlight-background-color:red;--rp-tooltip-background-color:#1c2024;--rp-tooltip-border-radius:var(--rp-border-radius);--rp-tooltip-font-color:#fff;--rp-tooltip-font-size:14px;--rp-tooltip-padding:8px 8px;--rp-password-background-color:#fff;--rp-password-title-font-color:#1c2024;--rp-password-content-font-color:#596673;--rp-password-input-border-color:#919497;--rp-password-input-placeholder-color:#75767c;--rp-password-input-font-color:#000;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#e2e6e9;--rp-password-button-border-radius:8px;--rp-container-focus-outline-width:0px;--rp-container-focus-outline-color:var(--rp-primary-color);--rp-container-focus-outline-offset:2px;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}._rp-theme-variables_x5f86_37._rp-dark-mode_x5f86_158{--rp-primary-color:#34affc;--rp-text-color:#fff;--rp-drop-mask-background-color:#1c2024;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#596673;--rp-toolbar-background:#2d3339;--rp-toolbar-border-color:#434c56;--rp-thumbnail-border-color:#2d3339;--rp-thumbnail-background-color:#1c2024;--rp-thumbnail-active-color:#0000004d;--rp-button-hover-background:#0000004d;--rp-input-background-color:#1c2024;--rp-search-input-border-color:#878c8f;--rp-pages-background-color:#1c2024;--rp-page-shadow:0px 2px 12px 0px #00000080;--rp-dropdown-background-color:#434c56;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#2d3339;--rp-popover-background-color:#434c56;--rp-popover-color:var(--rp-text-color);--rp-popover-border-color:#2d3339;--rp-dialog-background-color:#434c56;--rp-properties-divider-color:#2d3339;--rp-property-item-label-color:#c6ccd2;--rp-dialog-title-color:#fff;--rp-print-progress-background:#434c56;--rp-print-progress-color:#fff;--rp-print-progress-cancel-button-border-color:#919497;--rp-drop-zone-background-color:#1c2024;--rp-drop-zone-border:#434c56;--rp-drop-zone-font-color:#7b8896;--rp-tooltip-background-color:#5b6d7f;--rp-password-background-color:#1c2024;--rp-password-title-font-color:#fff;--rp-password-content-font-color:#c6ccd2;--rp-password-input-border-color:#656b71;--rp-password-input-placeholder-color:#85878e;--rp-password-input-font-color:#fff;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#2d3339;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}\n._rp-wrapper-layout_2cghq_1{height:100%;position:relative}\n._rp-skip-link_12ssl_1{z-index:10000;border:1px solid var(--rp-skip-link-border-color);border-radius:var(--rp-border-radius);background:var(--rp-skip-link-background-color);min-width:200px;min-height:36px;color:var(--rp-skip-link-color);font-size:var(--rp-skip-link-font-size);white-space:normal;text-align:center;clip:rect(0, 0, 0, 0);clip-path:inset(50%);justify-content:center;align-items:center;padding-inline:6px;font-weight:600;text-decoration:none;display:flex;position:absolute;top:6px;left:6px;overflow:hidden}._rp-skip-link_12ssl_1:focus{clip:auto;clip-path:none;overflow:visible}._rp-skip-link_12ssl_1:focus:not(:focus-visible),._rp-skip-link_12ssl_1:focus-visible{outline:none}._rp-skip-link_12ssl_1:hover{background:var(--rp-skip-link-border-color);border-color:var(--rp-skip-link-border-color)}\n._rp-sidebar-content-wrapper_ppg43_1{height:100%;display:flex;position:relative;overflow:hidden}._rp-sidebar-content_ppg43_1{background:var(--rp-toolbar-background);min-width:var(--rp-sidebar-width);max-width:var(--rp-sidebar-width);text-align:center;flex-shrink:0;padding-top:.75rem}._rp-thumbnails-wrapper_ppg43_17{width:var(--rp-thumbnail-width,auto);flex-shrink:0;transition:width .15s;position:relative;overflow:hidden}._rp-thumbnails-wrapper_ppg43_17._rp-thumbnails-wrapper-dragging_ppg43_24{transition:width}._rp-thumbnails-wrapper-hidden_ppg43_28{width:0}\n._rp-thumbnail-dragger_1faw8_2{touch-action:none;cursor:col-resize;background-color:var(--rp-thumbnail-border-color);width:4px;height:100%;transition:width .4s;position:absolute;top:0;right:0}._rp-thumbnail-dragger-dragging_1faw8_13,._rp-thumbnail-dragger_1faw8_2:hover{width:5px}\n._rp-thumbnail-dragger_174bn_1{touch-action:none;cursor:col-resize;background-color:var(--rp-thumbnail-border-color);width:4px;height:100%;transition:width .4s;position:absolute;top:0;right:0}._rp-thumbnail-dragger_174bn_1:hover,._rp-thumbnail-dragger-dragging_174bn_15{width:5px}\n._rp-thumbnail-wrapper_czi7p_1{margin-bottom:var(--rp-thumbnail-padding-y);cursor:pointer;flex-direction:column;align-items:center;display:flex}._rp-thumbnail-text_czi7p_10{color:var(--rp-text-color);margin-top:8px;font-size:12px;font-weight:400}._rp-thumbnail_czi7p_1{display:flex;position:relative;box-shadow:0 2px 6px #00000026}._rp-thumbnail_czi7p_1:not(._rp-thumbnail-active_czi7p_23):not(:hover){padding:4px}._rp-thumbnail-active_czi7p_23,._rp-thumbnail_czi7p_1:hover{border:var(--rp-thumbnail-active-color) solid 4px}._rp-thumbnail-loader_czi7p_32{justify-content:center;align-items:center;display:flex}\n._rp-thumbnails-container_1szrf_1{height:100%;max-height:100%;width:var(--rp-thumbnail-width,auto);background:var(--rp-thumbnail-background-color);flex-direction:column;align-items:center;display:flex;overflow:hidden auto}._rp-thumbnails_1szrf_1{padding-top:var(--rp-thumbnail-padding-y);box-sizing:border-box;width:100%;padding-right:4px}\n._rp-dialog-wrapper_39boz_1{z-index:9999;position:fixed;inset:0}._rp-dialog-overlay_39boz_7{background:var(--rp-overlay-background-color);position:fixed;inset:0}._rp-document-dialog_39boz_13{background:var(--rp-dialog-background-color);border-radius:var(--rp-border-radius);border:none;max-width:420px;padding:16px;line-height:1.5;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}._rp-document-dialog_39boz_13:focus-visible{outline:none}@media screen and (width<=640px){._rp-document-dialog_39boz_13{width:85%}}._rp-dialog-title_39boz_35{font-size:var(--rp-dialog-title-font-size);font-weight:var(--rp-dialog-title-font-weight);color:var(--rp-dialog-title-color);margin-top:0;margin-bottom:12px;line-height:normal}._rp-dialog-close_39boz_44{font-size:var(--rp-property-close-icon-size);cursor:pointer;position:absolute;top:16px;right:11px}._rp-properties-divider_39boz_52{background:var(--rp-properties-divider-color);width:100%;height:1px;margin-top:var(--rp-properties-divider-margin);margin-bottom:var(--rp-properties-divider-margin)}\n._rp-menu-item_cu12j_1{padding:var(--rp-dropdown-padding-menu-item);cursor:pointer;border-radius:var(--rp-border-radius);outline:none;align-items:center;display:flex}._rp-menu-item_cu12j_1 :is(svg){font-size:var(--rp-menu-item-icon-size)}._rp-menu-item_cu12j_1:is(:hover,:focus-visible){background:var(--rp-dropdown-hover-background-color)}.rp-menu-item-left{justify-content:center;align-items:center;padding-right:8px;display:flex}.rp-menu-item{flex-direction:row;align-items:center;width:100%;display:flex}.rp-menu-item-right{margin-left:auto}.rp-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-menu-item_cu12j_1[data-disabled]{pointer-events:none;opacity:.5}\n._rp-menu-separator_17dlz_1{background-color:var(--rp-dropdown-separator-color);height:1px;margin-top:var(--rp-dropdown-separator-margin);margin-bottom:var(--rp-dropdown-separator-margin)}\n._rp-go-to-Top_4e0yd_1{transform:rotate(180deg)}\n._rp-other-tool-content_su718_1{padding:var(--rp-dropdown-padding)}\n._rp-paginate_3amlb_1{align-items:center;display:flex}._rp-page-input_3amlb_6{box-sizing:border-box;appearance:none;flex-shrink:0;width:3.5em;min-width:calc(4ch + 1rem);max-width:calc(4ch + 1rem);margin:1px .25rem;padding:.25rem .5rem}._rp-page-input_3amlb_6::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._rp-page-input_3amlb_6::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}._rp-page-input_3amlb_6[type=number]{-moz-appearance:textfield}._rp-total-page_3amlb_29{color:var(--rp-text-color);margin-right:4px;font-size:14px;font-weight:400}._rp-sr-only_3amlb_36{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}\n._rp-property-item-wrapper_jno3l_1{gap:var(--rp-property-item-gap);margin-top:var(--rp-property-item-gap);margin-bottom:var(--rp-property-item-gap);font-size:var(--rp-property-item-font-size);font-weight:var(--rp-property-item-font-weight);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}._rp-property-item-label_jno3l_11{color:var(--rp-property-item-label-color)}._rp-property-item-value_jno3l_15{grid-column:span 2/span 2}\n._rp-toolbar-content_sz31z_1{background:var(--rp-toolbar-background);border-bottom:var(--rp-toolbar-border-color) 1px solid;padding:0 var(--rp-toolbar-padding);min-height:var(--rp-toolbar-size);align-items:center;display:flex}._rp-toolbar-wrapper_sz31z_10{justify-content:space-between;gap:0;width:100%;padding-left:1px;display:flex;overflow-x:auto}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar{width:2px!important;height:2px!important}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar-thumb{background-color:#888;border-radius:3px}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar-track{background:#f1f1f1}._rp-toolbar-start_sz31z_33{align-items:center;gap:var(--rp-toolbar-gap);display:flex}._rp-toolbar-middle_sz31z_39{justify-content:center;align-items:center;gap:var(--rp-toolbar-gap);display:flex}._rp-toolbar-end_sz31z_46{justify-content:flex-end;align-items:center;gap:var(--rp-toolbar-gap);padding-right:1px;display:flex}\n._rp-rotate-counterclockwise_1nqcb_1{transform:rotateY(180deg)}\n._rp-search-tool-content_1gldw_1{border:1px solid var(--rp-popover-border-color);border-radius:var(--rp-popover-border-radius);background-color:var(--rp-popover-background-color);color:var(--rp-text-color);padding:8px;display:flex}._rp-search-tool-input_1gldw_10{color:var(--rp-text-color);align-items:center;gap:.7rem;display:flex}._rp-search-tool-input-icon_1gldw_17{color:var(--rp-text-color);font-size:1.25rem}._rp-search-tool-input-icon_1gldw_17[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-search-tool-controls_1gldw_27{border-left:1px solid var(--rp-popover-border-color);align-items:baseline;margin-left:.4rem;padding-left:.4rem;display:flex}._rp-search-tool-input-wrapper_1gldw_35{flex-direction:column;gap:8px;display:flex}._rp-search-tool-input-checkboxes_1gldw_41{gap:.5rem;display:flex}._rp-search-tool-input-clear_1gldw_46{cursor:pointer;color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0;right:0}._rp-search-input_1gldw_60{border:1px solid var(--rp-search-input-border-color);color:var(--rp-text-color);max-width:220px;padding-right:2rem}._rp-search-icon-info_1gldw_67{cursor:pointer;justify-content:center;align-items:center;margin-right:.5rem;font-size:20px;display:flex}._rp-search-loader-icon_1gldw_76{width:20px;height:20px}._rp-search-live-region_1gldw_81{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-search-tool-result-navigator_1gldw_93{margin-right:.3rem}\n._rp-toolbar-layout_13tet_1{flex-direction:column;height:100%;display:flex}._rp-content_13tet_7{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex}._rp-topbar-content_13tet_13{background:var(--rp-toolbar-background);border-bottom:var(--rp-toolbar-border-color) 1px solid;padding:0 var(--rp-toolbar-padding);min-height:var(--rp-toolbar-size);align-items:center;display:flex}._rp-sidebar-content_13tet_22{text-align:center;background:var(--rp-toolbar-background);border-right:var(--rp-toolbar-border-color) 1px solid;min-width:var(--rp-sidebar-width);flex-direction:column;padding-block:.75rem;display:flex}._rp-pages_13tet_32{background:var(--rp-pages-background-color);flex:1}._rp-thumbnails-wrapper_13tet_37{width:var(--rp-thumbnail-width,auto);flex-shrink:0;transition:width .15s;position:relative;overflow:hidden}._rp-thumbnails-wrapper-hidden_13tet_45{width:0}\n._rp-zoom-wrapper_1yldl_1{gap:4px;display:flex}._rp-current-zoom-wrapper_1yldl_6{align-items:center;display:flex}._rp-current-zoom-wrapper_1yldl_6._active_1yldl_11{background-color:var(--rp-button-hover-background)}._rp-current-zoom-icon_1yldl_15{margin-left:2px;transform:rotate(180deg)}._rp-zoom-level-icon_1yldl_20{margin-left:2px}._rp-current-zoom-text_1yldl_24{font-size:14px}._rp-zoom-dropdown-content_1yldl_28{padding:var(--rp-dropdown-padding)}\n._rp-annotation-layer_rwxfx_1{--annotation-unfocused-field-background:url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none;pointer-events:none;transform:unset;color:#000;transform-origin:var(--rp-page-rotate-translate);transform:rotate(var(--rp-rotate));display:block;position:absolute;inset:0}._rp-annotation-layer_rwxfx_1 :is(img){width:100%;max-width:100%}._rp-annotation-layer_rwxfx_1 .overlaidText{width:0;height:0;display:inline-block;position:absolute;top:0;left:0;overflow:hidden}._rp-annotation-layer_rwxfx_1 section:not(.popupAnnotation){z-index:calc(var(--rp-base-z-index,1) * 3)!important}._rp-annotation-layer_rwxfx_1 section:has(div.annotationContent) canvas.annotationContent{display:none}._rp-annotation-layer_rwxfx_1 section a{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}._rp-annotation-layer_rwxfx_1 section a:hover{background-color:var(--rp-annotation-layer__link-hover-background)}._rp-annotation-layer_rwxfx_1 section :is(svg){width:100%;height:100%;position:absolute;top:0;left:0}._rp-annotation-layer_rwxfx_1 section .popupTriggerArea,._rp-annotation-layer_rwxfx_1 section.popupTriggerArea{cursor:pointer}._rp-annotation-layer_rwxfx_1 section.popupAnnotation{font-size:calc(9px * var(--scale-factor));pointer-events:none;width:max-content;max-width:45%;height:auto}._rp-annotation-layer_rwxfx_1 section.popupAnnotation.focused .popup{outline-width:3px}._rp-annotation-layer_rwxfx_1 section .popupContent{margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor));border-top:1px solid #333}._rp-annotation-layer_rwxfx_1 section .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}._rp-annotation-layer_rwxfx_1 section .annotationTextContent,._rp-annotation-layer_rwxfx_1 .overlaidText{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}._rp-annotation-layer_rwxfx_1 section .annotationTextContent span{width:100%;display:inline-block}._rp-annotation-layer_rwxfx_1 section.fileAttachmentAnnotation .popupTriggerArea{width:100%;height:100%}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea),._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select,._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea)[disabled],._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select[disabled],._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea):hover,._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select:hover,._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea):hover,._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select:hover,._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea):focus,._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation textarea{resize:none}._rp-annotation-layer_rwxfx_1 section .popup{box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;font-size:calc(9px * var(--scale-factor));background-color:#ff9;outline:1.5px solid #ffff4a}._rp-annotation-layer_rwxfx_1 section .popup *{font-size:calc(9px * var(--scale-factor))}._rp-annotation-layer_rwxfx_1 section .popup .header{display:inline-block}._rp-annotation-layer_rwxfx_1 section .popup .header h1{font-weight:700;display:inline}._rp-annotation-layer_rwxfx_1 section .popup .header .popupDate{margin-left:calc(5px * var(--scale-factor));width:fit-content;display:inline-block}._rp-annotation-layer_rwxfx_1 section{text-align:initial;pointer-events:auto;box-sizing:border-box;position:absolute}\n._rp-page-wrapper_krysr_1{justify-content:center;align-items:center;display:flex}._rp-page_krysr_1{box-shadow:var(--rp-page-shadow,0px 2px 12px 0px #00000026);outline:var(--rp-page-outline,none);outline-offset:var(--rp-page-outline-offset,0);position:relative}._rp-loader-wrapper_krysr_17{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}\n._rp-text-highlight_jdkf8_1{pointer-events:none;transform-origin:0 0;white-space:pre;line-height:1;position:absolute;overflow:hidden}\n._rp-text-layer_1553j_1{color:#0000;transform:rotate(var(--rp-rotate));transform-origin:var(--rp-page-rotate-translate);z-index:0;--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));position:absolute;inset:0}._rp-text-layer_1553j_1._selecting_1553j_14~[data-rp$=annotationLayer] section{pointer-events:none}._rp-text-layer_1553j_1 br::selection{color:#0000;background-color:#0000}._rp-text-layer_1553j_1 :is(span,br):not(.highlight){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._rp-text-layer_1553j_1>:not(._markedContent_1553j_37),._rp-text-layer_1553j_1 ._markedContent_1553j_37 span:not(._markedContent_1553j_37){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))}._rp-text-layer_1553j_1 .endOfContent{bottom:0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._rp-text-layer_1553j_1._selecting_1553j_14 .endOfContent{top:0}._rp-text-layer-text_1553j_61{transform-origin:0 0;white-space:pre;line-height:1;position:absolute;overflow:hidden}@-moz-document url-prefix(){._rp-text-layer-text_1553j_61{overflow:visible}}\n"; | ||
| //#endregion | ||
| export { e as t }; |
| import { useDocumentContext as e } from "./contexts/RPDocumentContext.js"; | ||
| import { usePagesRotateContext as t } from "./contexts/PagesRotateContext.js"; | ||
| import { r as n } from "./PaginationContext-B3qzCYJu.js"; | ||
| import { useRenderQueue as r } from "./contexts/RenderQueueProvider.js"; | ||
| import { t as i } from "./clsx-B7LyVm5O.js"; | ||
| import { t as a } from "./LoaderIcon-D9YjinGf.js"; | ||
| import { t as o } from "./CustomThumbnailElement-C2quEICO.js"; | ||
| import { useCallback as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react"; | ||
| import { jsx as f, jsxs as p } from "react/jsx-runtime"; | ||
| import './assets/Thumbnail.css';//#region lib/components/layout/sidebar/Thumbnail.module.css | ||
| var m = { | ||
| "rp-thumbnail-wrapper": "_rp-thumbnail-wrapper_czi7p_1", | ||
| "rp-thumbnail-text": "_rp-thumbnail-text_czi7p_10", | ||
| "rp-thumbnail": "_rp-thumbnail_czi7p_1", | ||
| "rp-thumbnail-active": "_rp-thumbnail-active_czi7p_23", | ||
| "rp-thumbnail-loader": "_rp-thumbnail-loader_czi7p_32" | ||
| }, h = (h) => { | ||
| let { pageNumber: g, isFocused: _, viewport: v } = h, { goToPage: y } = n(), { pageRotate: b } = t(), x = u(null), S = r(), { pages: C } = e(), [w, T] = d(null), E = u(!1), D = u(), O = l(() => _ ? m["rp-thumbnail-active"] : "", [_]), k = l(() => ({ | ||
| width: Math.round(v.width), | ||
| height: Math.round(v.height) | ||
| }), [v]), A = s(() => { | ||
| g && y(g); | ||
| }, [y, g]); | ||
| return c(() => { | ||
| let e = C.get(g); | ||
| D.current !== e && (T(null), D.current = e); | ||
| }, [C, g]), c(() => { | ||
| let e = C.get(g); | ||
| if (!x.current || !g || !e || w) return; | ||
| let t = new IntersectionObserver((t) => { | ||
| t.forEach((t) => { | ||
| if (E.current) { | ||
| E.current = !1, S.removeQueue(`thumbnail-${g}`); | ||
| return; | ||
| } | ||
| if (t.isIntersecting) { | ||
| let t = document.createElement("canvas"); | ||
| E.current = !0, S.enqueue(`thumbnail-${g}`, { | ||
| page: e.page, | ||
| canvasElem: t, | ||
| options: { scale: 1 }, | ||
| onLoaded: () => { | ||
| t.toBlob((e) => { | ||
| e && T(URL.createObjectURL(e)); | ||
| }); | ||
| } | ||
| }, 2); | ||
| } | ||
| }); | ||
| }); | ||
| return x.current && t.observe(x.current), () => { | ||
| t.disconnect(), S.removeQueue(`thumbnail-${g}`); | ||
| }; | ||
| }, [ | ||
| S, | ||
| g, | ||
| C, | ||
| w | ||
| ]), /* @__PURE__ */ p("div", { | ||
| onClick: A, | ||
| onKeyDown: (e) => { | ||
| (e.key === "Enter" || e.key === " ") && (e.preventDefault(), A()); | ||
| }, | ||
| id: `page-${g}`, | ||
| className: m["rp-thumbnail-wrapper"], | ||
| ref: x, | ||
| role: "button", | ||
| tabIndex: 0, | ||
| "aria-label": `Go to page ${g}`, | ||
| "aria-current": _ ? "page" : void 0, | ||
| children: [/* @__PURE__ */ p("div", { | ||
| style: { transform: `rotate(${b[g || 0]}deg)` }, | ||
| className: i(O, m["rp-thumbnail"]), | ||
| "aria-hidden": "true", | ||
| children: [w ? /* @__PURE__ */ f("img", { | ||
| src: w, | ||
| width: k.width, | ||
| height: k.height, | ||
| alt: `Page ${g} thumbnail`, | ||
| "aria-hidden": "true" | ||
| }) : /* @__PURE__ */ f("div", { | ||
| className: m["rp-thumbnail-loader"], | ||
| style: { | ||
| width: `${k.width}px`, | ||
| height: `${k.height}px` | ||
| }, | ||
| children: /* @__PURE__ */ f(a, { "aria-hidden": "true" }) | ||
| }), /* @__PURE__ */ f(o, { pageNumber: g })] | ||
| }), /* @__PURE__ */ f("div", { | ||
| className: m["rp-thumbnail-text"], | ||
| "aria-hidden": "true", | ||
| children: g | ||
| })] | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { h as t }; |
| import { r as e } from "./PaginationContext-B3qzCYJu.js"; | ||
| import { useThumbnailContext as t } from "./contexts/ThumbnailsContext.js"; | ||
| import { useThumbnailContainerRegister as n } from "./contexts/ElementThumbnailContext.js"; | ||
| import { withRef as r } from "./utils/withRef.js"; | ||
| import { t as i } from "./Thumbnail-BNpCO-jm.js"; | ||
| import { useInfiniteScroll as a } from "./utils/hooks/useInfiniteScroll.js"; | ||
| import { useCallback as o, useEffect as s, useImperativeHandle as c, useMemo as l, useRef as u } from "react"; | ||
| import { jsx as d } from "react/jsx-runtime"; | ||
| import './assets/Thumbnails.css';//#region lib/components/layout/sidebar/Thumbnails.module.css | ||
| var f = { | ||
| "rp-thumbnails-container": "_rp-thumbnails-container_1szrf_1", | ||
| "rp-thumbnails": "_rp-thumbnails_1szrf_1" | ||
| }, p = 16, m = (e, t) => { | ||
| let n = e?.querySelector(`#page-${t}`); | ||
| e && n?.offsetTop && (e.scrollTop = n?.offsetTop - p); | ||
| }, h = r((r, p) => { | ||
| let { show: h, width: g } = r, { focusedPage: _, totalPages: v } = e(), { thumbnailPages: y, addPage: b, thumbnailLength: x, addToPage: S } = t(), C = n(), w = u(null), T = u(1); | ||
| c(p, () => w.current), s(() => (C(w.current), () => C(null)), [C]); | ||
| let E = l(() => Object.values(y), [y]), D = o(() => { | ||
| let e = x + 1; | ||
| e <= v && b(e); | ||
| }, [ | ||
| b, | ||
| v, | ||
| x | ||
| ]); | ||
| return s(() => { | ||
| _ > x && v > x ? S(_) : h && T.current !== _ && (m(w.current, _), T.current = _); | ||
| }, [ | ||
| _, | ||
| x, | ||
| S, | ||
| h, | ||
| E | ||
| ]), a(w.current, D), /* @__PURE__ */ d("div", { | ||
| ref: w, | ||
| className: f["rp-thumbnails-container"], | ||
| style: { width: g }, | ||
| children: /* @__PURE__ */ d("div", { | ||
| className: f["rp-thumbnails"], | ||
| children: h ? E.map((e, t) => /* @__PURE__ */ d(i, { | ||
| isFocused: _ === e.page?.pageNumber, | ||
| pageNumber: e.page?.pageNumber, | ||
| loading: e.loading, | ||
| viewport: e.viewport, | ||
| defaultRotation: e.defaultRotation | ||
| }, t)) : null | ||
| }) | ||
| }); | ||
| }); | ||
| //#endregion | ||
| export { h as t }; |
@@ -1,1 +0,1 @@ | ||
| ._rp-loading-overlay_wazy2_1{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-loading-modal_wazy2_14{background:var(--rp-print-progress-background);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:240px;min-height:120px;padding:24px;display:flex;box-shadow:0 4px 6px #0000001a}._rp-loading-title_wazy2_27{text-align:center;color:var(--rp-print-progress-color);margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}._rp-loading-progress-bar_wazy2_35{background:#f0f0f0;border-radius:32px;width:100%;height:4px;margin-bottom:16px;position:relative;overflow:hidden}._rp-loading-progress_wazy2_35{background:linear-gradient(90deg, color-mix(in srgb, var(--rp-primary-color) 80%, black) 0%, var(--rp-primary-color) 50%, color-mix(in srgb, var(--rp-primary-color) 80%, white) 100%);border-radius:32px;height:100%;position:absolute}._rp-loading-cancel-button_wazy2_55{color:#666;border-radius:var(--rp-button-border-radius);cursor:pointer;background:0 0;border:1px solid #e2e6e9;width:70px;padding:8px;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s}._rp-loading-cancel-button_wazy2_55:hover{background:#f5f5f5}@keyframes _loading_wazy2_1{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}} | ||
| ._rp-loading-overlay_8gxoj_1{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-loading-modal_8gxoj_14{background:var(--rp-print-progress-background);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:240px;min-height:120px;padding:24px;display:flex;box-shadow:0 4px 6px #0000001a}._rp-loading-title_8gxoj_27{text-align:center;color:var(--rp-print-progress-color);margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}._rp-loading-progress-bar_8gxoj_35{background:#f0f0f0;border-radius:32px;width:100%;height:4px;margin-bottom:16px;position:relative;overflow:hidden}._rp-loading-progress_8gxoj_35{background:linear-gradient(90deg, color-mix(in srgb, var(--rp-primary-color) 80%, black) 0%, var(--rp-primary-color) 50%, color-mix(in srgb, var(--rp-primary-color) 80%, white) 100%);border-radius:32px;height:100%;position:absolute}._rp-loading-cancel-button_8gxoj_55{width:70px;color:var(--rp-text-color);border-radius:var(--rp-button-border-radius);cursor:pointer;border:none;border:1px solid var(--rp-print-progress-cancel-button-border-color);background:0 0;padding:8px;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s}._rp-loading-cancel-button_8gxoj_55:hover{opacity:.6}@keyframes _loading_8gxoj_1{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}} |
@@ -1,1 +0,1 @@ | ||
| ._rp-layout_1yzm4_1{height:100%}._rp-layout-wrapper_1yzm4_5{flex:1;height:100%;position:relative}._rp-content_1yzm4_11{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex;overflow:hidden}._rp-sidebar_1yzm4_18{flex-shrink:0;display:flex}._rp-pages_1yzm4_23{flex:1;min-width:0;height:100%}._rp-container_1yzm4_29{height:100%}._rp-loader_1yzm4_33{background-color:var(--rp-loader-backdrop-color)}._rp-theme-variables_1yzm4_37{--rp-font-family:inherit;--rp-primary-color:#34affc;--rp-border-radius:4px;--rp-text-color:#1c2024;--rp-outline-color:var(--rp-primary-color);--rp-font-size:16px;--rp-drop-mask-background-color:#fafafa;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#c6ccd2;--rp-icon-font-size:calc(var(--rp-font-size) * 1.25);--rp-toolbar-background:#e2e6e9;--rp-toolbar-border-color:#c6ccd2;--rp-toolbar-padding:.25rem;--rp-toolbar-gap:.25rem;--rp-toolbar-size:48px;--rp-sidebar-width:48px;--rp-thumbnail-border-color:#e2e6e9;--rp-thumbnail-background-color:#fff;--rp-thumbnail-active-color:#0003;--rp-thumbnail-padding-y:16px;--rp-button-hover-background:#0000001a;--rp-button-padding:4px;--rp-button-border-radius:4px;--rp-input-padding:.5rem;--rp-input-border-radius:calc(var(--rp-border-radius) + 2px);--rp-input-background-color:#fff;--rp-input-placeholder-color:#c6ccd2;--rp-pages-background-color:#fff;--rp-page-shadow:0px 2px 12px 0px #00000026;--rp-page-outline:none;--rp-page-outline-offset:0;--rp-annotation-layer__link-hover-background:#ff03;--rp-dropdown-background-color:#f1f2f4;--rp-dropdown-padding:4px;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#e2e6e9;--rp-dropdown-separator-margin:4px;--rp-dropdown-padding-menu-item:8px;--rp-dropdown-font-size:calc(var(--rp-font-size) * .875);--rp-dropdown-border-radius:calc(var(--rp-border-radius) + 2px);--rp-search-tool-dropdown-padding:8px;--rp-popover-font-size:calc(var(--rp-font-size) * .875);--rp-popover-background-color:#f1f2f4;--rp-popover-color:#1c2024;--rp-popover-border-color:#e2e6e9;--rp-popover-border-radius:calc(var(--rp-border-radius) + 2px);--rp-overlay-background-color:#000c;--rp-dialog-background-color:#f1f2f4;--rp-properties-divider-color:#e2e6e9;--rp-properties-divider-margin:16px;--rp-property-item-gap:12px;--rp-dialog-title-color:#1c2024;--rp-property-item-label-color:#596673;--rp-property-close-icon-size:calc(var(--rp-font-size) * 1.25);--rp-property-item-font-size:calc(var(--rp-font-size) * .875);--rp-property-item-font-weight:400;--rp-dialog-title-font-size:calc(var(--rp-font-size) * 1.125);--rp-dialog-title-font-weight:600;--rp-menu-item-icon-size:16px;--rp-print-progress-background:#f1f2f4;--rp-print-progress-color:#1c2024;--rp-drop-zone-border:#c6ccd2;--rp-drop-zone-font-color:#8c99a6;--rp-drop-zone-font-size:calc(var(--rp-font-size) * 1.125);--rp-drop-zone-background-color:#fafafa;--rp-checkbox-border-radius:var(--rp-border-radius);--rp-checkbox-border-color:#e2e6e9;--rp-checkbox-indicator-color:white;--rp-highlight-background-color:#ff0;--rp-text-layer-highlight-border-radius:var(--rp-border-radius);--rp-current-highlight-background-color:red;--rp-tooltip-background-color:#1c2024;--rp-tooltip-border-radius:var(--rp-border-radius);--rp-tooltip-font-color:#fff;--rp-tooltip-font-size:14px;--rp-tooltip-padding:8px 8px;--rp-password-background-color:#fff;--rp-password-title-font-color:#1c2024;--rp-password-content-font-color:#596673;--rp-password-input-border-color:#e2e6e9;--rp-password-input-placeholder-color:#c6ccd2;--rp-password-input-font-color:#000;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#e2e6e9;--rp-password-button-border-radius:8px;--rp-container-focus-outline-width:0px;--rp-container-focus-outline-color:var(--rp-primary-color);--rp-container-focus-outline-offset:2px;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}._rp-theme-variables_1yzm4_37._rp-dark-mode_1yzm4_156{--rp-primary-color:#34affc;--rp-text-color:#fff;--rp-drop-mask-background-color:#1c2024;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#596673;--rp-toolbar-background:#2d3339;--rp-toolbar-border-color:#434c56;--rp-thumbnail-border-color:#2d3339;--rp-thumbnail-background-color:#1c2024;--rp-thumbnail-active-color:#0000004d;--rp-button-hover-background:#0000004d;--rp-input-background-color:#1c2024;--rp-pages-background-color:#1c2024;--rp-page-shadow:0px 2px 12px 0px #00000080;--rp-dropdown-background-color:#434c56;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#2d3339;--rp-popover-background-color:#434c56;--rp-popover-color:var(--rp-text-color);--rp-popover-border-color:#2d3339;--rp-dialog-background-color:#434c56;--rp-properties-divider-color:#2d3339;--rp-property-item-label-color:#c6ccd2;--rp-dialog-title-color:#fff;--rp-print-progress-background:#434c56;--rp-print-progress-color:#fff;--rp-drop-zone-background-color:#1c2024;--rp-drop-zone-border:#434c56;--rp-drop-zone-font-color:#596673;--rp-tooltip-background-color:#5b6d7f;--rp-password-background-color:#1c2024;--rp-password-title-font-color:#fff;--rp-password-content-font-color:#c6ccd2;--rp-password-input-border-color:#2d3339;--rp-password-input-placeholder-color:#596673;--rp-password-input-font-color:#fff;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#2d3339;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5} | ||
| ._rp-layout_x5f86_1{height:100%}._rp-layout-wrapper_x5f86_5{flex:1;height:100%;position:relative}._rp-content_x5f86_11{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex;overflow:hidden}._rp-sidebar_x5f86_18{flex-shrink:0;display:flex}._rp-pages_x5f86_23{flex:1;min-width:0;height:100%}._rp-container_x5f86_29{height:100%}._rp-loader_x5f86_33{background-color:var(--rp-loader-backdrop-color)}._rp-theme-variables_x5f86_37{--rp-font-family:inherit;--rp-primary-color:#34affc;--rp-border-radius:4px;--rp-text-color:#1c2024;--rp-outline-color:var(--rp-primary-color);--rp-font-size:16px;--rp-drop-mask-background-color:#fafafa;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#c6ccd2;--rp-icon-font-size:calc(var(--rp-font-size) * 1.25);--rp-toolbar-background:#e2e6e9;--rp-toolbar-border-color:#c6ccd2;--rp-toolbar-padding:.25rem;--rp-toolbar-gap:.25rem;--rp-toolbar-size:48px;--rp-sidebar-width:48px;--rp-thumbnail-border-color:#e2e6e9;--rp-thumbnail-background-color:#fff;--rp-thumbnail-active-color:#0003;--rp-thumbnail-padding-y:16px;--rp-button-hover-background:#0000001a;--rp-button-padding:4px;--rp-button-border-radius:4px;--rp-input-padding:.5rem;--rp-input-border-radius:calc(var(--rp-border-radius) + 2px);--rp-input-background-color:#fff;--rp-input-placeholder-color:#75767c;--rp-search-input-border-color:#878c8f;--rp-pages-background-color:#fff;--rp-page-shadow:0px 2px 12px 0px #00000026;--rp-page-outline:none;--rp-page-outline-offset:0;--rp-annotation-layer__link-hover-background:#ff03;--rp-dropdown-background-color:#f1f2f4;--rp-dropdown-padding:4px;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#e2e6e9;--rp-dropdown-separator-margin:4px;--rp-dropdown-padding-menu-item:8px;--rp-dropdown-font-size:calc(var(--rp-font-size) * .875);--rp-dropdown-border-radius:calc(var(--rp-border-radius) + 2px);--rp-search-tool-dropdown-padding:8px;--rp-popover-font-size:calc(var(--rp-font-size) * .875);--rp-popover-background-color:#f1f2f4;--rp-popover-color:#1c2024;--rp-popover-border-color:#e2e6e9;--rp-popover-border-radius:calc(var(--rp-border-radius) + 2px);--rp-overlay-background-color:#000c;--rp-dialog-background-color:#f1f2f4;--rp-properties-divider-color:#e2e6e9;--rp-properties-divider-margin:16px;--rp-property-item-gap:12px;--rp-dialog-title-color:#1c2024;--rp-property-item-label-color:#596673;--rp-property-close-icon-size:calc(var(--rp-font-size) * 1.25);--rp-property-item-font-size:calc(var(--rp-font-size) * .875);--rp-property-item-font-weight:400;--rp-dialog-title-font-size:calc(var(--rp-font-size) * 1.125);--rp-dialog-title-font-weight:600;--rp-menu-item-icon-size:16px;--rp-print-progress-background:#f1f2f4;--rp-print-progress-color:#1c2024;--rp-print-progress-cancel-button-border-color:#919497;--rp-drop-zone-border:#c6ccd2;--rp-drop-zone-font-color:#677481;--rp-drop-zone-font-size:calc(var(--rp-font-size) * 1.125);--rp-drop-zone-background-color:#fafafa;--rp-checkbox-border-radius:var(--rp-border-radius);--rp-checkbox-border-color:#878c8f;--rp-checkbox-indicator-color:white;--rp-highlight-background-color:#ff0;--rp-text-layer-highlight-border-radius:var(--rp-border-radius);--rp-current-highlight-background-color:red;--rp-tooltip-background-color:#1c2024;--rp-tooltip-border-radius:var(--rp-border-radius);--rp-tooltip-font-color:#fff;--rp-tooltip-font-size:14px;--rp-tooltip-padding:8px 8px;--rp-password-background-color:#fff;--rp-password-title-font-color:#1c2024;--rp-password-content-font-color:#596673;--rp-password-input-border-color:#919497;--rp-password-input-placeholder-color:#75767c;--rp-password-input-font-color:#000;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#e2e6e9;--rp-password-button-border-radius:8px;--rp-container-focus-outline-width:0px;--rp-container-focus-outline-color:var(--rp-primary-color);--rp-container-focus-outline-offset:2px;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}._rp-theme-variables_x5f86_37._rp-dark-mode_x5f86_158{--rp-primary-color:#34affc;--rp-text-color:#fff;--rp-drop-mask-background-color:#1c2024;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#596673;--rp-toolbar-background:#2d3339;--rp-toolbar-border-color:#434c56;--rp-thumbnail-border-color:#2d3339;--rp-thumbnail-background-color:#1c2024;--rp-thumbnail-active-color:#0000004d;--rp-button-hover-background:#0000004d;--rp-input-background-color:#1c2024;--rp-search-input-border-color:#878c8f;--rp-pages-background-color:#1c2024;--rp-page-shadow:0px 2px 12px 0px #00000080;--rp-dropdown-background-color:#434c56;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#2d3339;--rp-popover-background-color:#434c56;--rp-popover-color:var(--rp-text-color);--rp-popover-border-color:#2d3339;--rp-dialog-background-color:#434c56;--rp-properties-divider-color:#2d3339;--rp-property-item-label-color:#c6ccd2;--rp-dialog-title-color:#fff;--rp-print-progress-background:#434c56;--rp-print-progress-color:#fff;--rp-print-progress-cancel-button-border-color:#919497;--rp-drop-zone-background-color:#1c2024;--rp-drop-zone-border:#434c56;--rp-drop-zone-font-color:#7b8896;--rp-tooltip-background-color:#5b6d7f;--rp-password-background-color:#1c2024;--rp-password-title-font-color:#fff;--rp-password-content-font-color:#c6ccd2;--rp-password-input-border-color:#656b71;--rp-password-input-placeholder-color:#85878e;--rp-password-input-font-color:#fff;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#2d3339;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5} |
@@ -1,1 +0,1 @@ | ||
| ._rp-search-tool-content_t0ih3_1{border:1px solid var(--rp-popover-border-color);border-radius:var(--rp-popover-border-radius);background-color:var(--rp-popover-background-color);color:var(--rp-text-color);padding:8px;display:flex}._rp-search-tool-input_t0ih3_10{color:var(--rp-text-color);align-items:center;gap:.7rem;display:flex}._rp-search-tool-input-icon_t0ih3_17{color:var(--rp-text-color);font-size:1.25rem}._rp-search-tool-input-icon_t0ih3_17[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-search-tool-controls_t0ih3_27{border-left:1px solid var(--rp-popover-border-color);align-items:baseline;margin-left:.4rem;padding-left:.4rem;display:flex}._rp-search-tool-input-wrapper_t0ih3_35{flex-direction:column;gap:8px;display:flex}._rp-search-tool-input-checkboxes_t0ih3_41{gap:.5rem;display:flex}._rp-search-tool-input-clear_t0ih3_46{cursor:pointer;color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0;right:0}._rp-search-input_t0ih3_60{color:var(--rp-text-color);max-width:220px;padding-right:2rem}._rp-search-icon-info_t0ih3_66{cursor:pointer;justify-content:center;align-items:center;margin-right:.5rem;font-size:20px;display:flex}._rp-search-loader-icon_t0ih3_75{width:20px;height:20px}._rp-search-tool-result-navigator_t0ih3_80{margin-right:.3rem} | ||
| ._rp-search-tool-content_1gldw_1{border:1px solid var(--rp-popover-border-color);border-radius:var(--rp-popover-border-radius);background-color:var(--rp-popover-background-color);color:var(--rp-text-color);padding:8px;display:flex}._rp-search-tool-input_1gldw_10{color:var(--rp-text-color);align-items:center;gap:.7rem;display:flex}._rp-search-tool-input-icon_1gldw_17{color:var(--rp-text-color);font-size:1.25rem}._rp-search-tool-input-icon_1gldw_17[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-search-tool-controls_1gldw_27{border-left:1px solid var(--rp-popover-border-color);align-items:baseline;margin-left:.4rem;padding-left:.4rem;display:flex}._rp-search-tool-input-wrapper_1gldw_35{flex-direction:column;gap:8px;display:flex}._rp-search-tool-input-checkboxes_1gldw_41{gap:.5rem;display:flex}._rp-search-tool-input-clear_1gldw_46{cursor:pointer;color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0;right:0}._rp-search-input_1gldw_60{border:1px solid var(--rp-search-input-border-color);color:var(--rp-text-color);max-width:220px;padding-right:2rem}._rp-search-icon-info_1gldw_67{cursor:pointer;justify-content:center;align-items:center;margin-right:.5rem;font-size:20px;display:flex}._rp-search-loader-icon_1gldw_76{width:20px;height:20px}._rp-search-live-region_1gldw_81{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-search-tool-result-navigator_1gldw_93{margin-right:.3rem} |
@@ -1,2 +0,2 @@ | ||
| import { t as e } from "../style-C8T5x1fE.js"; | ||
| import { t as e } from "../style-DCakeEMr.js"; | ||
| export { e as combinedCSS }; |
| import { useDarkModeContext as e } from "../../contexts/DarkModeContext.js"; | ||
| import { t } from "../../clsx-B7LyVm5O.js"; | ||
| import { withRef as n } from "../../utils/withRef.js"; | ||
| import { t as r } from "../../RPLayout.module-Vc3h4xxS.js"; | ||
| import { t as r } from "../../RPLayout.module-CkUgQ1Fi.js"; | ||
| import { useThemeContext as i } from "../../contexts/ThemeContext.js"; | ||
@@ -6,0 +6,0 @@ import { jsx as a } from "react/jsx-runtime"; |
| import { withRef as e } from "../../utils/withRef.js"; | ||
| import { t } from "../../RPLayout.module-Vc3h4xxS.js"; | ||
| import { t } from "../../RPLayout.module-CkUgQ1Fi.js"; | ||
| import { jsx as n } from "react/jsx-runtime"; | ||
@@ -4,0 +4,0 @@ //#region lib/components/layout/LayoutWrapper.tsx |
@@ -7,3 +7,3 @@ "use client"; | ||
| import { useLoaderContext as i } from "../../contexts/LoaderContext.js"; | ||
| import { t as a } from "../../RPLayout.module-Vc3h4xxS.js"; | ||
| import { t as a } from "../../RPLayout.module-CkUgQ1Fi.js"; | ||
| import { LayoutContainer as o } from "./LayoutContainer.js"; | ||
@@ -10,0 +10,0 @@ import { IconProvider as s } from "../../contexts/IconContext.js"; |
@@ -6,3 +6,3 @@ "use client"; | ||
| import { useLoaderContext as r } from "../../contexts/LoaderContext.js"; | ||
| import { t as i } from "../../RPLayout.module-Vc3h4xxS.js"; | ||
| import { t as i } from "../../RPLayout.module-CkUgQ1Fi.js"; | ||
| import { LayoutContainer as a } from "./LayoutContainer.js"; | ||
@@ -9,0 +9,0 @@ import { ViewportProvider as o } from "../../contexts/ViewportContext.js"; |
@@ -12,3 +12,3 @@ "use client"; | ||
| import { n as c, t as l } from "../../../RPSplitter-C63X9M8w.js"; | ||
| import { t as u } from "../../../Thumbnails-DnAsrttK.js"; | ||
| import { t as u } from "../../../Thumbnails-DYvhzEUD.js"; | ||
| import { useCallback as d, useMemo as f, useRef as p, useState as m } from "react"; | ||
@@ -15,0 +15,0 @@ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime"; |
| "use client"; | ||
| import { t as e } from "../../../Thumbnail-CzclS3h_.js"; | ||
| import { t as e } from "../../../Thumbnail-BNpCO-jm.js"; | ||
| export { e as Thumbnail }; |
@@ -1,2 +0,2 @@ | ||
| import { t as e } from "../../../Thumbnails-DnAsrttK.js"; | ||
| import { t as e } from "../../../Thumbnails-DYvhzEUD.js"; | ||
| export { e as Thumbnails }; |
@@ -1,2 +0,2 @@ | ||
| import { r as e } from "../../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as e } from "../../../PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as t } from "../../../contexts/LocalizationContext.js"; | ||
@@ -3,0 +3,0 @@ import { useToolbarComponentContext as n } from "../../../contexts/ToolbarComponentContext.js"; |
| import { ScrollMode as e, ViewMode as t } from "../../../utils/types.js"; | ||
| import { useScrollModeContext as n } from "../../../contexts/ScrollModeContext.js"; | ||
| import { useViewModeContext as r } from "../../../contexts/ViewModeContext.js"; | ||
| import { r as i } from "../../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as i } from "../../../PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as a } from "../../../contexts/LocalizationContext.js"; | ||
@@ -6,0 +6,0 @@ import { useToolbarComponentContext as o } from "../../../contexts/ToolbarComponentContext.js"; |
@@ -11,3 +11,3 @@ import { usePrintContext as e } from "../../../contexts/PrintContext.js"; | ||
| import { SearchTool as l } from "./SearchTool.js"; | ||
| import { t as u } from "../../../LoadingIndicator-DiWoWs4Y.js"; | ||
| import { t as u } from "../../../LoadingIndicator-B_Jsf8No.js"; | ||
| import { jsx as d, jsxs as f } from "react/jsx-runtime"; | ||
@@ -14,0 +14,0 @@ //#region lib/components/layout/toolbar/RPToolbar.tsx |
@@ -5,3 +5,3 @@ import { useLocalizationContext as e } from "../../../contexts/LocalizationContext.js"; | ||
| import { CloseIcon as r } from "../../icons/CloseIcon.js"; | ||
| import { t as i } from "../../../SearchTool.module-DUkVXfOn.js"; | ||
| import { t as i } from "../../../SearchTool.module-F4m4ggTb.js"; | ||
| import { jsx as a } from "react/jsx-runtime"; | ||
@@ -8,0 +8,0 @@ //#region lib/components/layout/toolbar/SearchCloseButton.tsx |
@@ -6,3 +6,3 @@ import { useLocalizationContext as e } from "../../../contexts/LocalizationContext.js"; | ||
| import { t as i } from "../../../RPTooltip-ZZoFqP7C.js"; | ||
| import { t as a } from "../../../SearchTool.module-DUkVXfOn.js"; | ||
| import { t as a } from "../../../SearchTool.module-F4m4ggTb.js"; | ||
| import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime"; | ||
@@ -9,0 +9,0 @@ //#region lib/components/layout/toolbar/SearchResultNavigator.tsx |
@@ -7,81 +7,87 @@ import { useDocumentContext as e } from "../../../contexts/RPDocumentContext.js"; | ||
| import { useSearchContext as ee } from "../../../contexts/SearchContext.js"; | ||
| import { t as te } from "../../../LoaderIcon-D9YjinGf.js"; | ||
| import { useIconToolContext as a } from "../../../contexts/IconToolContext.js"; | ||
| import { t as o } from "../../../Button-BNlmxWrV.js"; | ||
| import { t as a } from "../../../LoaderIcon-D9YjinGf.js"; | ||
| import { useIconToolContext as o } from "../../../contexts/IconToolContext.js"; | ||
| import { t as te } from "../../../Button-BNlmxWrV.js"; | ||
| import { t as s } from "../../../Input-DjSWOjCI.js"; | ||
| import { useIconContext as c } from "../../../contexts/IconContext.js"; | ||
| import { useViewportContext as ne } from "../../../contexts/ViewportContext.js"; | ||
| import { t as l } from "../../../RPTooltip-ZZoFqP7C.js"; | ||
| import { t as re } from "../../../DropDown-DikL-krI.js"; | ||
| import { InfoIcon as u } from "../../icons/InfoIcon.js"; | ||
| import { SearchIcon as d } from "../../icons/SearchIcon.js"; | ||
| import { t as f } from "../../../SearchTool.module-DUkVXfOn.js"; | ||
| import { t as p } from "../../../Checkbox-Brta-YKG.js"; | ||
| import { ClearIcon as m } from "../../icons/ClearIcon.js"; | ||
| import { SearchResultNavigator as h } from "./SearchResultNavigator.js"; | ||
| import { SearchCloseButton as g } from "./SearchCloseButton.js"; | ||
| import { useCallback as _, useEffect as v, useMemo as y, useRef as b, useState as x } from "react"; | ||
| import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime"; | ||
| import { useViewportContext as l } from "../../../contexts/ViewportContext.js"; | ||
| import { t as u } from "../../../RPTooltip-ZZoFqP7C.js"; | ||
| import { t as ne } from "../../../DropDown-DikL-krI.js"; | ||
| import { InfoIcon as d } from "../../icons/InfoIcon.js"; | ||
| import { SearchIcon as f } from "../../icons/SearchIcon.js"; | ||
| import { t as p } from "../../../SearchTool.module-F4m4ggTb.js"; | ||
| import { t as m } from "../../../Checkbox-Brta-YKG.js"; | ||
| import { ClearIcon as h } from "../../icons/ClearIcon.js"; | ||
| import { SearchResultNavigator as g } from "./SearchResultNavigator.js"; | ||
| import { SearchCloseButton as _ } from "./SearchCloseButton.js"; | ||
| import { useCallback as v, useEffect as y, useMemo as b, useRef as x, useState as S } from "react"; | ||
| import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime"; | ||
| //#region lib/components/layout/toolbar/SearchTool.tsx | ||
| var ie = () => { | ||
| let { searchIcon: e } = c(), { searchIcon: t } = a(); | ||
| return e ?? t ?? /* @__PURE__ */ C(d, {}); | ||
| }, ae = () => { | ||
| let { searchClearIcon: e } = c(), { searchClearIcon: t } = a(); | ||
| return e ?? t ?? /* @__PURE__ */ C(m, {}); | ||
| }, T = ({ icon: a }) => { | ||
| let { container: c } = t(), [m, T] = x(!1), E = b(null), D = b(m); | ||
| D.current = m; | ||
| let { pdf: O } = e(), [k, A] = x(null), { searchOptions: j, setSearchOptions: M, loading: N, setSearch: P, totalMatches: F, currentMatchPosition: I, nextMatch: L, prevMatch: R, search: z } = ee(), { searchTool: B = !0 } = r(), { searchTool: V = !0 } = i(), [H, U] = x(z), { localeMessages: W } = n(), { isSmallScreen: G } = ne(), [K, q] = x(null), [oe, se] = x(!1), ce = _(() => { | ||
| D.current && (P(""), U("")), T((e) => !e); | ||
| }, [P]), J = _(() => { | ||
| P(""), U(""), T(!1), requestAnimationFrame(() => { | ||
| E.current?.focus(); | ||
| var E = () => { | ||
| let { searchIcon: e } = c(), { searchIcon: t } = o(); | ||
| return e ?? t ?? /* @__PURE__ */ w(f, {}); | ||
| }, re = () => { | ||
| let { searchClearIcon: e } = c(), { searchClearIcon: t } = o(); | ||
| return e ?? t ?? /* @__PURE__ */ w(h, {}); | ||
| }, D = ({ icon: o }) => { | ||
| let { container: c } = t(), [h, D] = S(!1), O = x(null), k = x(h); | ||
| k.current = h; | ||
| let { pdf: A } = e(), [j, M] = S(null), { searchOptions: N, setSearchOptions: P, loading: F, setSearch: I, totalMatches: L, currentMatchPosition: R, nextMatch: z, prevMatch: B, search: V } = ee(), { searchTool: ie = !0 } = r(), { searchTool: ae = !0 } = i(), [H, U] = S(V), { localeMessages: W } = n(), { isSmallScreen: G } = l(), [K, q] = S(null), [oe, se] = S(!1), ce = v(() => { | ||
| k.current && (I(""), U("")), D((e) => !e); | ||
| }, [I]), J = v(() => { | ||
| I(""), U(""), D(!1), requestAnimationFrame(() => { | ||
| O.current?.focus(); | ||
| }); | ||
| }, [P]), Y = (e) => { | ||
| }, [I]), Y = (e) => { | ||
| let t = e.key === "Enter", n = e.key === " "; | ||
| (t || n) && J(); | ||
| }, X = _((e) => { | ||
| e.key === "Escape" && m && J(); | ||
| }, [m]), Z = _((e) => { | ||
| e.shiftKey && e.key === "Enter" ? R() : e.key === "Enter" && z !== H ? P(H) : e.key === "Enter" && L(); | ||
| }, X = v((e) => { | ||
| e.key === "Escape" && h && J(); | ||
| }, [h]), le = v((e) => { | ||
| e.shiftKey && e.key === "Enter" ? B() : e.key === "Enter" && V !== H ? I(H) : e.key === "Enter" && z(); | ||
| }, [ | ||
| H, | ||
| R, | ||
| L, | ||
| P, | ||
| z | ||
| B, | ||
| z, | ||
| I, | ||
| V | ||
| ]); | ||
| v(() => { | ||
| U(z); | ||
| }, [z]), v(() => { | ||
| z && O && se(!0); | ||
| }, [z, O]), v(() => { | ||
| z && z.trim() !== "" && (U(z), P(z)); | ||
| }, []), v(() => (window.addEventListener("keydown", X), () => { | ||
| y(() => { | ||
| U(V); | ||
| }, [V]), y(() => { | ||
| V && A && se(!0); | ||
| }, [V, A]), y(() => { | ||
| V && V.trim() !== "" && (U(V), I(V)); | ||
| }, []), y(() => (window.addEventListener("keydown", X), () => { | ||
| window.removeEventListener("keydown", X); | ||
| }), [X]), v(() => { | ||
| k && setTimeout(() => { | ||
| k.focus(); | ||
| }), [X]), y(() => { | ||
| j && setTimeout(() => { | ||
| j.focus(); | ||
| }, 0); | ||
| }, [k]); | ||
| let le = _((e) => { | ||
| }, [j]); | ||
| let ue = v((e) => { | ||
| U(e.target.value); | ||
| }, []), Q = _(() => { | ||
| U(""), P(""); | ||
| }, [P]), ue = y(() => `${I} / ${F}`, [I, F]), { wholeWords: de, matchCase: fe } = y(() => j, [j]), pe = _((e) => { | ||
| M((t) => ({ | ||
| }, []), Z = v(() => { | ||
| U(""), I(""); | ||
| }, [I]), Q = b(() => `${R} / ${L}`, [R, L]), de = b(() => V.trim() ? F ? W?.searchLoadingMessage || "Searching" : L ? (W?.searchResultsMessage || "{current} of {total} matches").replace("{current}", String(R)).replace("{total}", String(L)) : W?.searchNoResultsMessage || "No matches found" : "", [ | ||
| R, | ||
| F, | ||
| W, | ||
| V, | ||
| L | ||
| ]), { wholeWords: fe, matchCase: pe } = b(() => N, [N]), me = v((e) => { | ||
| P((t) => ({ | ||
| ...t, | ||
| matchCase: e | ||
| })); | ||
| }, [M]), me = _((e) => { | ||
| M((t) => ({ | ||
| }, [P]), he = v((e) => { | ||
| P((t) => ({ | ||
| ...t, | ||
| wholeWords: e | ||
| })); | ||
| }, [M]); | ||
| v(() => { | ||
| O && oe && J(); | ||
| }, [O, J]); | ||
| let $ = y(() => K?.querySelectorAll("[tabindex]:not([tabindex=\"-1\"])") || [], [K]), he = _((e) => { | ||
| }, [P]); | ||
| y(() => { | ||
| A && oe && J(); | ||
| }, [A, J]); | ||
| let $ = b(() => K?.querySelectorAll("[tabindex]:not([tabindex=\"-1\"])") || [], [K]), ge = v((e) => { | ||
| if (e.key === "Tab") { | ||
@@ -105,4 +111,4 @@ let t = document.activeElement, n = -1; | ||
| }, [$]); | ||
| return !B || !V ? null : /* @__PURE__ */ C(S, { children: /* @__PURE__ */ C(re, { | ||
| open: m, | ||
| return !ie || !ae ? null : /* @__PURE__ */ w(C, { children: /* @__PURE__ */ w(ne, { | ||
| open: h, | ||
| container: c, | ||
@@ -113,36 +119,36 @@ side: "bottom", | ||
| avoidCollisions: !1, | ||
| triggerComponent: /* @__PURE__ */ C(l, { | ||
| triggerComponent: /* @__PURE__ */ w(u, { | ||
| content: W?.searchButtonTooltip, | ||
| children: /* @__PURE__ */ C(o, { | ||
| ref: E, | ||
| active: m, | ||
| children: /* @__PURE__ */ w(te, { | ||
| ref: O, | ||
| active: h, | ||
| onClick: ce, | ||
| "aria-label": W?.searchButtonTooltip, | ||
| "aria-expanded": m, | ||
| "aria-expanded": h, | ||
| "aria-haspopup": "dialog", | ||
| children: a || /* @__PURE__ */ C(ie, {}) | ||
| children: o || /* @__PURE__ */ w(E, {}) | ||
| }) | ||
| }), | ||
| children: /* @__PURE__ */ w("div", { | ||
| children: /* @__PURE__ */ T("div", { | ||
| ref: q, | ||
| className: f["rp-search-tool-content"], | ||
| className: p["rp-search-tool-content"], | ||
| tabIndex: -1, | ||
| onKeyDown: he, | ||
| onKeyDown: ge, | ||
| role: "dialog", | ||
| "aria-label": W?.searchInputTooltip || "Search dialog", | ||
| children: [/* @__PURE__ */ w("div", { | ||
| className: f["rp-search-tool-input-wrapper"], | ||
| children: [/* @__PURE__ */ w("div", { | ||
| className: f["rp-search-tool-input"], | ||
| children: [/* @__PURE__ */ T("div", { | ||
| className: p["rp-search-tool-input-wrapper"], | ||
| children: [/* @__PURE__ */ T("div", { | ||
| className: p["rp-search-tool-input"], | ||
| children: [ | ||
| /* @__PURE__ */ C(l, { | ||
| /* @__PURE__ */ w(u, { | ||
| content: W?.searchInputTooltip, | ||
| children: /* @__PURE__ */ C(s, { | ||
| children: /* @__PURE__ */ w(s, { | ||
| value: H, | ||
| onKeyDown: Z, | ||
| onChange: le, | ||
| icon: /* @__PURE__ */ C(d, {}), | ||
| onKeyDown: le, | ||
| onChange: ue, | ||
| icon: /* @__PURE__ */ w(f, {}), | ||
| placeholder: W?.searchInputPlaceholder, | ||
| className: f["rp-search-input"], | ||
| ref: A, | ||
| className: p["rp-search-input"], | ||
| ref: M, | ||
| id: "search-input", | ||
@@ -155,5 +161,5 @@ name: "search-input", | ||
| "aria-describedby": "search-results-count", | ||
| children: !!H && /* @__PURE__ */ C("span", { | ||
| className: f["rp-search-tool-input-clear"], | ||
| onClick: Q, | ||
| children: !!H && /* @__PURE__ */ w("span", { | ||
| className: p["rp-search-tool-input-clear"], | ||
| onClick: Z, | ||
| role: "button", | ||
@@ -163,23 +169,29 @@ tabIndex: 0, | ||
| onKeyDown: (e) => { | ||
| (e.key === "Enter" || e.key === " ") && (e.preventDefault(), Q()); | ||
| (e.key === "Enter" || e.key === " ") && (e.preventDefault(), Z()); | ||
| }, | ||
| children: /* @__PURE__ */ C(ae, {}) | ||
| children: /* @__PURE__ */ w(re, {}) | ||
| }) | ||
| }) | ||
| }), | ||
| N ? /* @__PURE__ */ C("span", { | ||
| /* @__PURE__ */ w("span", { | ||
| className: p["rp-search-live-region"], | ||
| role: "status", | ||
| "aria-live": "polite", | ||
| "aria-label": "Searching", | ||
| children: /* @__PURE__ */ C(te, { | ||
| className: f["rp-search-loader-icon"], | ||
| "aria-hidden": "true" | ||
| }) | ||
| }) : /* @__PURE__ */ C("span", { | ||
| "aria-atomic": "true", | ||
| children: de | ||
| }), | ||
| F ? /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(a, { | ||
| className: p["rp-search-loader-icon"], | ||
| "aria-hidden": "true" | ||
| }), /* @__PURE__ */ w("span", { | ||
| id: "search-results-count", | ||
| "aria-live": "polite", | ||
| children: ue | ||
| className: p["rp-search-live-region"], | ||
| children: Q | ||
| })] }) : /* @__PURE__ */ w("span", { | ||
| id: "search-results-count", | ||
| children: Q | ||
| }), | ||
| G && /* @__PURE__ */ C("div", { | ||
| className: f["rp-search-tool-controls"], | ||
| children: /* @__PURE__ */ C(g, { | ||
| G && /* @__PURE__ */ w("div", { | ||
| className: p["rp-search-tool-controls"], | ||
| children: /* @__PURE__ */ w(_, { | ||
| onKeyPress: Y, | ||
@@ -190,36 +202,36 @@ handleClose: J | ||
| ] | ||
| }), /* @__PURE__ */ w("div", { | ||
| className: f["rp-search-tool-input-checkboxes"], | ||
| }), /* @__PURE__ */ T("div", { | ||
| className: p["rp-search-tool-input-checkboxes"], | ||
| children: [ | ||
| G && /* @__PURE__ */ C(h, {}), | ||
| /* @__PURE__ */ C(p, { | ||
| G && /* @__PURE__ */ w(g, {}), | ||
| /* @__PURE__ */ w(m, { | ||
| tabIndex: 0, | ||
| name: "matchCase", | ||
| value: fe, | ||
| onChange: pe, | ||
| value: pe, | ||
| onChange: me, | ||
| "aria-label": W?.searchMatchCaseLabel, | ||
| children: W?.searchMatchCaseLabel | ||
| }), | ||
| !G && /* @__PURE__ */ C(l, { | ||
| !G && /* @__PURE__ */ w(u, { | ||
| content: W?.searchMatchCaseTooltip, | ||
| children: /* @__PURE__ */ C("div", { | ||
| className: f["rp-search-icon-info"], | ||
| children: /* @__PURE__ */ w("div", { | ||
| className: p["rp-search-icon-info"], | ||
| tabIndex: 0, | ||
| children: /* @__PURE__ */ C(u, {}) | ||
| children: /* @__PURE__ */ w(d, {}) | ||
| }) | ||
| }), | ||
| /* @__PURE__ */ C(p, { | ||
| /* @__PURE__ */ w(m, { | ||
| tabIndex: 0, | ||
| name: "wholeWord", | ||
| value: de, | ||
| onChange: me, | ||
| value: fe, | ||
| onChange: he, | ||
| "aria-label": W?.searchWholeWordsLabel, | ||
| children: W?.searchWholeWordsLabel | ||
| }), | ||
| !G && /* @__PURE__ */ C(l, { | ||
| !G && /* @__PURE__ */ w(u, { | ||
| content: W?.searchWholeWordsTooltip, | ||
| children: /* @__PURE__ */ C("div", { | ||
| children: /* @__PURE__ */ w("div", { | ||
| tabIndex: 0, | ||
| className: f["rp-search-icon-info"], | ||
| children: /* @__PURE__ */ C(u, {}) | ||
| className: p["rp-search-icon-info"], | ||
| children: /* @__PURE__ */ w(d, {}) | ||
| }) | ||
@@ -229,5 +241,5 @@ }) | ||
| })] | ||
| }), !G && /* @__PURE__ */ w("div", { | ||
| className: f["rp-search-tool-controls"], | ||
| children: [/* @__PURE__ */ C(h, {}), /* @__PURE__ */ C(g, { | ||
| }), !G && /* @__PURE__ */ T("div", { | ||
| className: p["rp-search-tool-controls"], | ||
| children: [/* @__PURE__ */ w(g, {}), /* @__PURE__ */ w(_, { | ||
| onKeyPress: Y, | ||
@@ -241,2 +253,2 @@ handleClose: J | ||
| //#endregion | ||
| export { T as SearchTool }; | ||
| export { D as SearchTool }; |
@@ -5,5 +5,5 @@ import "../../../utils/constants.js"; | ||
| import { useThumbnailContext as n } from "../../../contexts/ThumbnailsContext.js"; | ||
| import { t as r } from "../../../LoadingIndicator-DiWoWs4Y.js"; | ||
| import { t as r } from "../../../LoadingIndicator-B_Jsf8No.js"; | ||
| import { t as i } from "../../../RPSplitter-C63X9M8w.js"; | ||
| import { t as a } from "../../../Thumbnails-DnAsrttK.js"; | ||
| import { t as a } from "../../../Thumbnails-DYvhzEUD.js"; | ||
| import { t as o } from "../../../ToolbarLayout.module-Zo715dbb.js"; | ||
@@ -10,0 +10,0 @@ import { useRef as s, useState as c } from "react"; |
@@ -5,5 +5,5 @@ import "../../../utils/constants.js"; | ||
| import { useThumbnailContext as n } from "../../../contexts/ThumbnailsContext.js"; | ||
| import { t as r } from "../../../LoadingIndicator-DiWoWs4Y.js"; | ||
| import { t as r } from "../../../LoadingIndicator-B_Jsf8No.js"; | ||
| import { t as i } from "../../../RPSplitter-C63X9M8w.js"; | ||
| import { t as a } from "../../../Thumbnails-DnAsrttK.js"; | ||
| import { t as a } from "../../../Thumbnails-DYvhzEUD.js"; | ||
| import { t as o } from "../../../ToolbarLayout.module-Zo715dbb.js"; | ||
@@ -10,0 +10,0 @@ import { RPVerticalBar as s } from "./tools/defaults/RPVerticalBar.js"; |
@@ -1,2 +0,2 @@ | ||
| import { r as e } from "../../../../main-CKr9unOk.js"; | ||
| import { r as e } from "../../../../main-CnL3zQcy.js"; | ||
| export { e as DualPageWithCoverTool }; |
@@ -1,2 +0,2 @@ | ||
| import { n as e } from "../../../../main-CKr9unOk.js"; | ||
| import { n as e } from "../../../../main-CnL3zQcy.js"; | ||
| export { e as FirstPageTool }; |
@@ -1,2 +0,2 @@ | ||
| import { r as e } from "../../../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as e } from "../../../../PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as t } from "../../../../contexts/LocalizationContext.js"; | ||
@@ -3,0 +3,0 @@ import { t as n } from "../../../../Input-DjSWOjCI.js"; |
@@ -1,2 +0,2 @@ | ||
| import { t as e } from "../../../../main-CKr9unOk.js"; | ||
| import { t as e } from "../../../../main-CnL3zQcy.js"; | ||
| export { e as LastPageTool }; |
@@ -1,2 +0,2 @@ | ||
| import { r as e } from "../../../../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as e } from "../../../../../PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as t } from "../../../../../contexts/LocalizationContext.js"; | ||
@@ -3,0 +3,0 @@ import { t as n } from "../../../../../RPTooltip-ZZoFqP7C.js"; |
| import { ScrollMode as e, ViewMode as t } from "../../../../utils/types.js"; | ||
| import { useScrollModeContext as n } from "../../../../contexts/ScrollModeContext.js"; | ||
| import { useViewModeContext as r } from "../../../../contexts/ViewModeContext.js"; | ||
| import { r as i } from "../../../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as i } from "../../../../PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as a } from "../../../../contexts/LocalizationContext.js"; | ||
@@ -6,0 +6,0 @@ import { ChevronUpIcon as o } from "../../../icons/ChevronUpIcon.js"; |
@@ -1,2 +0,2 @@ | ||
| import { r as e } from "../../../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as e } from "../../../../PaginationContext-B3qzCYJu.js"; | ||
| import { useLocalizationContext as t } from "../../../../contexts/LocalizationContext.js"; | ||
@@ -3,0 +3,0 @@ import { ChevronUpIcon as n } from "../../../icons/ChevronUpIcon.js"; |
@@ -1,2 +0,2 @@ | ||
| import { t as e } from "../../AnnotationLayer-CAIvKf_O.js"; | ||
| import { t as e } from "../../AnnotationLayer-SQbmx6wX.js"; | ||
| export { e as AnnotationLayer }; |
@@ -1,3 +0,3 @@ | ||
| import { r as e } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { t } from "../../RPPage-C_r8aeTc.js"; | ||
| import { r as e } from "../../PaginationContext-B3qzCYJu.js"; | ||
| import { t } from "../../RPPage-BdoE0RrK.js"; | ||
| import { memo as n, useMemo as r } from "react"; | ||
@@ -4,0 +4,0 @@ import { jsx as i } from "react/jsx-runtime"; |
@@ -1,3 +0,3 @@ | ||
| import { r as e } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { t } from "../../RPPage-C_r8aeTc.js"; | ||
| import { r as e } from "../../PaginationContext-B3qzCYJu.js"; | ||
| import { t } from "../../RPPage-BdoE0RrK.js"; | ||
| import { memo as n, useMemo as r } from "react"; | ||
@@ -4,0 +4,0 @@ import { jsx as i } from "react/jsx-runtime"; |
@@ -1,2 +0,2 @@ | ||
| import { t as e } from "../../RPPage-C_r8aeTc.js"; | ||
| import { t as e } from "../../RPPage-BdoE0RrK.js"; | ||
| export { e as RPPage }; |
@@ -1,3 +0,3 @@ | ||
| import { r as e } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { t } from "../../RPPage-C_r8aeTc.js"; | ||
| import { r as e } from "../../PaginationContext-B3qzCYJu.js"; | ||
| import { t } from "../../RPPage-BdoE0RrK.js"; | ||
| import { useMemo as n } from "react"; | ||
@@ -4,0 +4,0 @@ import { jsx as r } from "react/jsx-runtime"; |
@@ -14,3 +14,3 @@ import { ScrollMode as e, SelectionMode as t, ViewMode as n } from "../utils/types.js"; | ||
| import { SmoothScrollProvider as p } from "../contexts/SmoothScrollContext.js"; | ||
| import { n as m } from "../PaginationContext-Cwf8sCpK.js"; | ||
| import { n as m } from "../PaginationContext-B3qzCYJu.js"; | ||
| import { DarkModeProvider as h } from "../contexts/DarkModeContext.js"; | ||
@@ -17,0 +17,0 @@ import { LayerProvider as g } from "../contexts/LayerContext.js"; |
| "use client"; | ||
| import { t as e } from "../RPPages-CmXHTAqF.js"; | ||
| import { t as e } from "../RPPages-Ct1XvFTS.js"; | ||
| export { e as RPPages }; |
@@ -11,3 +11,3 @@ "use client"; | ||
| import { useFlickerSelectText as c } from "../utils/hooks/useFlickerSelectText.js"; | ||
| import { t as l } from "../style-C8T5x1fE.js"; | ||
| import { t as l } from "../style-DCakeEMr.js"; | ||
| import { injectGlobalCSS as u } from "../libInjectCss.js"; | ||
@@ -14,0 +14,0 @@ import { injectPrintCSS as d } from "../utils/injectPrintCSS.js"; |
@@ -1,2 +0,2 @@ | ||
| import { t as e } from "../../LoadingIndicator-DiWoWs4Y.js"; | ||
| import { t as e } from "../../LoadingIndicator-B_Jsf8No.js"; | ||
| export { e as default }; |
@@ -5,3 +5,3 @@ import { LicenseType as e } from "../utils/types.js"; | ||
| import { useSmoothScrollContext as r } from "./SmoothScrollContext.js"; | ||
| import { r as i } from "../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as i } from "../PaginationContext-B3qzCYJu.js"; | ||
| import { useThumbnailContext as a } from "./ThumbnailsContext.js"; | ||
@@ -8,0 +8,0 @@ import { useLicenseContext as o } from "./LicenseContext.js"; |
@@ -1,2 +0,2 @@ | ||
| import { n as e, r as t, t as n } from "../PaginationContext-Cwf8sCpK.js"; | ||
| import { n as e, r as t, t as n } from "../PaginationContext-B3qzCYJu.js"; | ||
| export { n as PaginationContext, e as PaginationProvider, t as usePaginationContext }; |
@@ -1,2 +0,2 @@ | ||
| import { r as e } from "../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as e } from "../PaginationContext-B3qzCYJu.js"; | ||
| import { Queue as t } from "../utils/Queue.js"; | ||
@@ -3,0 +3,0 @@ import { renderPage as n } from "../utils/renderPage.js"; |
+3
-3
@@ -7,3 +7,3 @@ import { Locales as e, ScrollMode as t, SelectionMode as n, ThemeVariables as r, ViewMode as i, ZoomLevel as a } from "./utils/types.js"; | ||
| import { useZoomContext as u } from "./contexts/ZoomContext.js"; | ||
| import { r as d } from "./PaginationContext-Cwf8sCpK.js"; | ||
| import { r as d } from "./PaginationContext-B3qzCYJu.js"; | ||
| import { useDarkModeContext as f } from "./contexts/DarkModeContext.js"; | ||
@@ -20,3 +20,3 @@ import { useSelectionModeContext as p } from "./contexts/SelectionModeContext.js"; | ||
| import { RPProvider as S } from "./components/RPProvider.js"; | ||
| import { t as C } from "./RPPages-CmXHTAqF.js"; | ||
| import { t as C } from "./RPPages-Ct1XvFTS.js"; | ||
| import { useFileDownload as w } from "./utils/hooks/useFileDownload.js"; | ||
@@ -51,3 +51,3 @@ import { RPTheme as T } from "./components/RPTheme.js"; | ||
| import { DualPageTool as Q } from "./components/layout/toolbar/tools/DualPageTool.js"; | ||
| import { n as $, r as ee, t as te } from "./main-CKr9unOk.js"; | ||
| import { n as $, r as ee, t as te } from "./main-CnL3zQcy.js"; | ||
| import { PageScrollingTool as ne } from "./components/layout/toolbar/tools/PageScrollingTool.js"; | ||
@@ -54,0 +54,0 @@ import { VerticalScrollingTool as re } from "./components/layout/toolbar/tools/VerticalScrollingTool.js"; |
@@ -12,2 +12,5 @@ declare const _default: { | ||
| "searchWholeWordsTooltip": "Exakte Wörter suchen (Groß-/Kleinschreibung ignorieren)", | ||
| "searchLoadingMessage": "Suche läuft", | ||
| "searchNoResultsMessage": "Keine Treffer gefunden", | ||
| "searchResultsMessage": "{current} von {total} Treffern", | ||
| "previousPageTooltip": "Vorherige Seite", | ||
@@ -14,0 +17,0 @@ "currentPageTooltip": "Aktuelle Seite", |
@@ -12,2 +12,5 @@ declare const _default: { | ||
| "searchWholeWordsTooltip": "Search exact and case insensitive word(s)", | ||
| "searchLoadingMessage": "Searching", | ||
| "searchNoResultsMessage": "No matches found", | ||
| "searchResultsMessage": "{current} of {total} matches", | ||
| "previousPageTooltip": "Previous page", | ||
@@ -14,0 +17,0 @@ "currentPageTooltip": "Current page", |
@@ -12,2 +12,5 @@ declare const _default: { | ||
| "searchWholeWordsTooltip": "Cerca esatte parole senza distinzione maiuscole/minuscole", | ||
| "searchLoadingMessage": "Ricerca in corso", | ||
| "searchNoResultsMessage": "Nessuna corrispondenza trovata", | ||
| "searchResultsMessage": "{current} di {total} corrispondenze", | ||
| "previousPageTooltip": "Pagina precedente", | ||
@@ -14,0 +17,0 @@ "currentPageTooltip": "Pagina corrente", |
@@ -12,2 +12,5 @@ declare const _default: { | ||
| "searchWholeWordsTooltip": "Pesquisar palavras exatas sem distinção de maiúsculas/minúsculas", | ||
| "searchLoadingMessage": "A pesquisar", | ||
| "searchNoResultsMessage": "Nenhuma correspondência encontrada", | ||
| "searchResultsMessage": "{current} de {total} correspondências", | ||
| "previousPageTooltip": "Página anterior", | ||
@@ -14,0 +17,0 @@ "currentPageTooltip": "Página atual", |
@@ -12,2 +12,5 @@ declare const _default: { | ||
| "searchWholeWordsTooltip": "ค้นหาคำที่ตรงตัวไม่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก", | ||
| "searchLoadingMessage": "กำลังค้นหา", | ||
| "searchNoResultsMessage": "ไม่พบผลการค้นหา", | ||
| "searchResultsMessage": "ผลการค้นหาที่ {current} จาก {total}", | ||
| "previousPageTooltip": "หน้าก่อนหน้า", | ||
@@ -14,0 +17,0 @@ "currentPageTooltip": "หน้าปัจจุบัน", |
@@ -12,2 +12,5 @@ declare const _default: { | ||
| "searchWholeWordsTooltip": "搜索完全匹配", | ||
| "searchLoadingMessage": "正在搜索", | ||
| "searchNoResultsMessage": "未找到匹配项", | ||
| "searchResultsMessage": "第 {current} 条,共 {total} 条匹配", | ||
| "previousPageTooltip": "上一页", | ||
@@ -14,0 +17,0 @@ "currentPageTooltip": "当前页", |
@@ -89,2 +89,5 @@ import { PDFPageProxy } from 'pdfjs-dist'; | ||
| searchWholeWordsTooltip?: string; | ||
| searchLoadingMessage?: string; | ||
| searchNoResultsMessage?: string; | ||
| searchResultsMessage?: string; | ||
| previousPageTooltip?: string; | ||
@@ -404,2 +407,3 @@ currentPageTooltip?: string; | ||
| INPUT_PLACEHOLDER_COLOR = "--rp-input-placeholder-color", | ||
| SEARCH_INPUT_BORDER_COLOR = "--rp-search-input-border-color", | ||
| PAGES_BACKGROUND_COLOR = "--rp-pages-background-color", | ||
@@ -439,2 +443,3 @@ PAGE_SHADOW = "--rp-page-shadow", | ||
| PRINT_PROGRESS_COLOR = "--rp-print-progress-color", | ||
| PRINT_PROGRESS_CANCEL_BUTTON_BORDER_COLOR = "--rp-print-progress-cancel-button-border-color", | ||
| DROP_ZONE_BORDER = "--rp-drop-zone-border", | ||
@@ -441,0 +446,0 @@ DROP_ZONE_FONT_COLOR = "--rp-drop-zone-font-color", |
@@ -6,3 +6,3 @@ import { n as e } from "../../chunk-C_CI6nMA.js"; | ||
| //#region lib/utils/hooks/useLicense.ts | ||
| var o = /* @__PURE__ */ new Date("2026-06-17T07:53:28.851Z"), s = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIokvErJ0Fctu0jduSAx\ngr+5Har/VSuZLlOunS28hnlqqA+OF1apHL7RYkjBosS15yvviYdLrVWYHpHnoY4b\nHLQ9I6YX6FMB9T/VbB4xLdVdKvfi8r49aTScl5EKuSpgpPgz2VSJTfvVGcRuth/Y\nBm7PPGYdL2l2gvKDxchmmsHFPukGki9L4JOUeIVX0GXAxabENckaEH/iC1NZhX+W\nvXnpHeHuIIKlZ16LSivXNgo6BH2Z3GFdg4G3cAaXr6qNP8fsacYNqv2SpTW1viFD\nvzcGRabN25gpJAp9/syeScefWH3OiJY1lmw88oTiJbjIoiq6AkPhfn3G9mF54nvR\nkwIDAQAB\n-----END PUBLIC KEY-----", c = "Please visit https://app.react-pdf-kit.dev to generate a new license key.", l = { | ||
| var o = /* @__PURE__ */ new Date("2026-06-17T07:57:38.614Z"), s = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIokvErJ0Fctu0jduSAx\ngr+5Har/VSuZLlOunS28hnlqqA+OF1apHL7RYkjBosS15yvviYdLrVWYHpHnoY4b\nHLQ9I6YX6FMB9T/VbB4xLdVdKvfi8r49aTScl5EKuSpgpPgz2VSJTfvVGcRuth/Y\nBm7PPGYdL2l2gvKDxchmmsHFPukGki9L4JOUeIVX0GXAxabENckaEH/iC1NZhX+W\nvXnpHeHuIIKlZ16LSivXNgo6BH2Z3GFdg4G3cAaXr6qNP8fsacYNqv2SpTW1viFD\nvzcGRabN25gpJAp9/syeScefWH3OiJY1lmw88oTiJbjIoiq6AkPhfn3G9mF54nvR\nkwIDAQAB\n-----END PUBLIC KEY-----", c = "Please visit https://app.react-pdf-kit.dev to generate a new license key.", l = { | ||
| invalidLicense: `You are currently using without a valid license. ${c}`, | ||
@@ -9,0 +9,0 @@ mismatchedDomain: `Your license key is not valid for the current domain / IP. ${c}`, |
@@ -1,2 +0,2 @@ | ||
| import { a as e, i as t, n, o as r, r as i, t as a } from "../../de_DE-DwUvXUWH.js"; | ||
| import { a as e, i as t, n, o as r, r as i, t as a } from "../../de_DE-C1OrwQKj.js"; | ||
| import { useCallback as o, useMemo as s, useState as c } from "react"; | ||
@@ -3,0 +3,0 @@ //#region lib/utils/hooks/useLocalization.ts |
@@ -1,2 +0,2 @@ | ||
| import { i as e } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { i as e } from "../../PaginationContext-B3qzCYJu.js"; | ||
| export { e as usePaginate }; |
@@ -7,15 +7,15 @@ import { ViewMode as e } from "../types.js"; | ||
| import { getGridDimension as a, getPositionFromPage as o } from "../calculatePage.js"; | ||
| import { r as s } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as s } from "../../PaginationContext-B3qzCYJu.js"; | ||
| import { useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react"; | ||
| //#region lib/utils/hooks/usePresentPage.ts | ||
| var p = (p, m, h, g) => { | ||
| let _ = d(), { contentRef: v } = t(), { heights: y, widths: b } = r(), { setFocusedPage: x } = s(), S = d(x); | ||
| S.current = x; | ||
| let [C, w] = f([]), { targetScrollPage: T } = i(), E = n(C, 0, 500), D = u(() => { | ||
| let _ = d(), v = d(), { contentRef: y } = t(), { heights: b, widths: x } = r(), { setFocusedPage: S } = s(), C = d(S); | ||
| C.current = S; | ||
| let [w, T] = f([]), { targetScrollPage: E } = i(), D = n(w, 0, 500), O = u(() => { | ||
| let t = g === e.DUAL_PAGE_WITH_COVER, { rowsHeight: n, columnsWidth: r } = a({ | ||
| heights: y, | ||
| widths: b | ||
| heights: b, | ||
| widths: x | ||
| }, p, t); | ||
| return y.map((e, i) => { | ||
| let a = b[i], s = o(i + 1, p, t), c = r.slice(0, s.columnIndex).reduce((e, t) => e + t, 0), l = n.slice(0, s.rowIndex).reduce((e, t) => e + t, 0), u = c + a, d = l + e; | ||
| return b.map((e, i) => { | ||
| let a = x[i], s = o(i + 1, p, t), c = r.slice(0, s.columnIndex).reduce((e, t) => e + t, 0), l = n.slice(0, s.rowIndex).reduce((e, t) => e + t, 0), u = c + a, d = l + e; | ||
| return { | ||
@@ -33,4 +33,4 @@ pageNumber: i + 1, | ||
| }, [ | ||
| y, | ||
| b, | ||
| x, | ||
| p, | ||
@@ -41,7 +41,11 @@ m, | ||
| l(() => { | ||
| E.length > 0 && !T.current && S.current(E[0].pageNumber), E[0]?.ratio && E.some((e) => e.pageNumber === T.current) && setTimeout(() => { | ||
| T.current = void 0; | ||
| }, 500); | ||
| }, [E]); | ||
| let O = c((e) => { | ||
| D.length > 0 && !E.current && C.current(D[0].pageNumber); | ||
| let e = D[0]?.ratio, t = E.current; | ||
| e && D.some((e) => e.pageNumber === t) && (clearTimeout(v.current), v.current = setTimeout(() => { | ||
| E.current === t && (E.current = void 0); | ||
| }, 500)); | ||
| }, [D]), l(() => () => { | ||
| clearTimeout(v.current); | ||
| }, []); | ||
| let k = c((e) => { | ||
| _.current && cancelAnimationFrame(_.current), _.current = requestAnimationFrame(() => { | ||
@@ -54,3 +58,3 @@ let t = e.target, n = { | ||
| }; | ||
| w(D.filter((e) => { | ||
| T(O.filter((e) => { | ||
| let t = e.endX >= n.startLeft && e.endY >= n.startTop, r = e.startX <= n.endLeft && e.startY <= n.endTop; | ||
@@ -66,10 +70,10 @@ return t && r; | ||
| }); | ||
| }, [v, D]); | ||
| }, [y, O]); | ||
| l(() => { | ||
| if (h) return h?.addEventListener("scroll", O), () => { | ||
| h?.removeEventListener("scroll", O); | ||
| if (h) return h?.addEventListener("scroll", k), () => { | ||
| h?.removeEventListener("scroll", k); | ||
| }; | ||
| }, [h, O]); | ||
| }, [h, k]); | ||
| }; | ||
| //#endregion | ||
| export { p as usePresentPage }; |
@@ -1,2 +0,2 @@ | ||
| import { a as e } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { a as e } from "../../PaginationContext-B3qzCYJu.js"; | ||
| export { e as useScrollToPage }; |
@@ -12,3 +12,3 @@ import { ScrollMode as e, ViewMode as t } from "../types.js"; | ||
| import { getScrollDistance as d } from "../getScrollDistance.js"; | ||
| import { r as f } from "../../PaginationContext-Cwf8sCpK.js"; | ||
| import { r as f } from "../../PaginationContext-B3qzCYJu.js"; | ||
| import { findMatches as p } from "../highlight.js"; | ||
@@ -15,0 +15,0 @@ import { getWordPositionInPage as m } from "../getWordPositionInPage.js"; |
@@ -1,2 +0,2 @@ | ||
| import { a as e, i as t, n, o as r, r as i, t as a } from "../de_DE-DwUvXUWH.js"; | ||
| import { a as e, i as t, n, o as r, r as i, t as a } from "../de_DE-C1OrwQKj.js"; | ||
| //#region lib/utils/types.ts | ||
@@ -16,3 +16,3 @@ var o = /* @__PURE__ */ function(e) { | ||
| }({}), f = /* @__PURE__ */ function(e) { | ||
| return e.FONT_FAMILY = "--rp-font-family", e.PRIMARY_COLOR = "--rp-primary-color", e.BORDER_RADIUS = "--rp-border-radius", e.TEXT_COLOR = "--rp-text-color", e.OUTLINE_COLOR = "--rp-outline-color", e.FONT_SIZE = "--rp-font-size", e.DROP_MASK_BACKGROUND_COLOR = "--rp-drop-mask-background-color", e.LOADER_BACKDROP_COLOR = "--rp-loader-backdrop-color", e.ICON_DISABLED = "--rp-icon-disabled", e.ICON_FONT_SIZE = "--rp-icon-font-size", e.TOOLBAR_BACKGROUND = "--rp-toolbar-background", e.TOOLBAR_BORDER_COLOR = "--rp-toolbar-border-color", e.TOOLBAR_PADDING = "--rp-toolbar-padding", e.TOOLBAR_GAP = "--rp-toolbar-gap", e.TOOLBAR_SIZE = "--rp-toolbar-size", e.SIDEBAR_WIDTH = "--rp-sidebar-width", e.THUMBNAIL_BORDER_COLOR = "--rp-thumbnail-border-color", e.THUMBNAIL_BACKGROUND_COLOR = "--rp-thumbnail-background-color", e.THUMBNAIL_ACTIVE_COLOR = "--rp-thumbnail-active-color", e.THUMBNAIL_PADDING_Y = "--rp-thumbnail-padding-y", e.BUTTON_HOVER_BACKGROUND = "--rp-button-hover-background", e.BUTTON_PADDING = "--rp-button-padding", e.INPUT_PADDING = "--rp-input-padding", e.INPUT_BORDER_RADIUS = "--rp-input-border-radius", e.INPUT_BACKGROUND_COLOR = "--rp-input-background-color", e.INPUT_PLACEHOLDER_COLOR = "--rp-input-placeholder-color", e.PAGES_BACKGROUND_COLOR = "--rp-pages-background-color", e.PAGE_SHADOW = "--rp-page-shadow", e.PAGE_OUTLINE = "--rp-page-outline", e.PAGE_OUTLINE_OFFSET = "--rp-page-outline-offset", e.ANNOTATION_LAYER_LINK_HOVER_BACKGROUND = "--rp-annotation-layer__link-hover-background", e.DROPDOWN_BACKGROUND_COLOR = "--rp-dropdown-background-color", e.DROPDOWN_PADDING = "--rp-dropdown-padding", e.DROPDOWN_HOVER_BACKGROUND_COLOR = "--rp-dropdown-hover-background-color", e.DROPDOWN_SEPARATOR_COLOR = "--rp-dropdown-separator-color", e.DROPDOWN_SEPARATOR_MARGIN = "--rp-dropdown-separator-margin", e.DROPDOWN_PADDING_MENU_ITEM = "--rp-dropdown-padding-menu-item", e.DROPDOWN_FONT_SIZE = "--rp-dropdown-font-size", e.DROPDOWN_BORDER_RADIUS = "--rp-dropdown-border-radius", e.SEARCH_TOOL_DROPDOWN_PADDING = "--rp-search-tool-dropdown-padding", e.POPOVER_FONT_SIZE = "--rp-popover-font-size", e.POPOVER_BACKGROUND_COLOR = "--rp-popover-background-color", e.POPOVER_COLOR = "--rp-popover-color", e.POPOVER_BORDER_COLOR = "--rp-popover-border-color", e.POPOVER_BORDER_RADIUS = "--rp-popover-border-radius", e.OVERLAY_BACKGROUND_COLOR = "--rp-overlay-background-color", e.DIALOG_BACKGROUND_COLOR = "--rp-dialog-background-color", e.PROPERTIES_DIVIDER_COLOR = "--rp-properties-divider-color", e.PROPERTIES_DIVIDER_MARGIN = "--rp-properties-divider-margin", e.PROPERTY_ITEM_GAP = "--rp-property-item-gap", e.DIALOG_TITLE_COLOR = "--rp-dialog-title-color", e.PROPERTY_ITEM_LABEL_COLOR = "--rp-property-item-label-color", e.PROPERTY_CLOSE_ICON_SIZE = "--rp-property-close-icon-size", e.PROPERTY_ITEM_FONT_SIZE = "--rp-property-item-font-size", e.PROPERTY_ITEM_FONT_WEIGHT = "--rp-property-item-font-weight", e.DIALOG_TITLE_FONT_SIZE = "--rp-dialog-title-font-size", e.DIALOG_TITLE_FONT_WEIGHT = "--rp-dialog-title-font-weight", e.MENU_ITEM_ICON_SIZE = "--rp-menu-item-icon-size", e.PRINT_PROGRESS_BACKGROUND = "--rp-print-progress-background", e.PRINT_PROGRESS_COLOR = "--rp-print-progress-color", e.DROP_ZONE_BORDER = "--rp-drop-zone-border", e.DROP_ZONE_FONT_COLOR = "--rp-drop-zone-font-color", e.DROP_ZONE_FONT_SIZE = "--rp-drop-zone-font-size", e.DROP_ZONE_BACKGROUND_COLOR = "--rp-drop-zone-background-color", e.CHECKBOX_BORDER_RADIUS = "--rp-checkbox-border-radius", e.CHECKBOX_BORDER_COLOR = "--rp-checkbox-border-color", e.CHECKBOX_INDICATOR_COLOR = "--rp-checkbox-indicator-color", e.HIGHLIGHT_BACKGROUND_COLOR = "--rp-highlight-background-color", e.TEXT_LAYER_HIGHLIGHT_BORDER_RADIUS = "--rp-text-layer-highlight-border-radius", e.CURRENT_HIGHLIGHT_BACKGROUND_COLOR = "--rp-current-highlight-background-color", e.TOOLTIP_BACKGROUND_COLOR = "--rp-tooltip-background-color", e.TOOLTIP_BORDER_RADIUS = "--rp-tooltip-border-radius", e.TOOLTIP_FONT_COLOR = "--rp-tooltip-font-color", e.TOOLTIP_FONT_SIZE = "--rp-tooltip-font-size", e.TOOLTIP_PADDING = "--rp-tooltip-padding", e.PASSWORD_MODAL_BACKGROUND_COLOR = "--rp-password-background-color", e.PASSWORD_MODAL_TITLE_FONT_COLOR = "--rp-password-title-font-color", e.PASSWORD_MODAL_CONTENT_FONT_COLOR = "--rp-password-content-font-color", e.PASSWORD_MODAL_INPUT_PLACEHOLDER_COLOR = "--rp-password-input-placeholder-color", e.PASSWORD_MODAL_INPUT_BORDER_COLOR = "--rp-password-input-border-color", e.PASSWORD_MODAL_INPUT_FONT_COLOR = "--rp-password-input-font-color", e.PASSWORD_MODAL_BUTTON_FONT_COLOR = "--rp-password-button-font-color", e.PASSWORD_MODAL_BUTTON_BACKGROUND_COLOR = "--rp-password-button-background-color", e.PASSWORD_MODAL_BUTTON_BORDER_COLOR = "--rp-password-button-border-color", e.PASSWORD_MODAL_BORDER_COLOR = "--rp-password-border-color", e.CONTAINER_FOCUS_OUTLINE_WIDTH = "--rp-container-focus-outline-width", e.CONTAINER_FOCUS_OUTLINE_COLOR = "--rp-container-focus-outline-color", e.CONTAINER_FOCUS_OUTLINE_OFFSET = "--rp-container-focus-outline-offset", e.BUTTON_BORDER_RADIUS = "--rp-button-border-radius", e.SKIP_LINK_FONT_SIZE = "--rp-skip-link-font-size", e.SKIP_LINK_COLOR = "--rp-skip-link-color", e.SKIP_LINK_BACKGROUND_COLOR = "--rp-skip-link-background-color", e.SKIP_LINK_BORDER_COLOR = "--rp-skip-link-border-color", e; | ||
| return e.FONT_FAMILY = "--rp-font-family", e.PRIMARY_COLOR = "--rp-primary-color", e.BORDER_RADIUS = "--rp-border-radius", e.TEXT_COLOR = "--rp-text-color", e.OUTLINE_COLOR = "--rp-outline-color", e.FONT_SIZE = "--rp-font-size", e.DROP_MASK_BACKGROUND_COLOR = "--rp-drop-mask-background-color", e.LOADER_BACKDROP_COLOR = "--rp-loader-backdrop-color", e.ICON_DISABLED = "--rp-icon-disabled", e.ICON_FONT_SIZE = "--rp-icon-font-size", e.TOOLBAR_BACKGROUND = "--rp-toolbar-background", e.TOOLBAR_BORDER_COLOR = "--rp-toolbar-border-color", e.TOOLBAR_PADDING = "--rp-toolbar-padding", e.TOOLBAR_GAP = "--rp-toolbar-gap", e.TOOLBAR_SIZE = "--rp-toolbar-size", e.SIDEBAR_WIDTH = "--rp-sidebar-width", e.THUMBNAIL_BORDER_COLOR = "--rp-thumbnail-border-color", e.THUMBNAIL_BACKGROUND_COLOR = "--rp-thumbnail-background-color", e.THUMBNAIL_ACTIVE_COLOR = "--rp-thumbnail-active-color", e.THUMBNAIL_PADDING_Y = "--rp-thumbnail-padding-y", e.BUTTON_HOVER_BACKGROUND = "--rp-button-hover-background", e.BUTTON_PADDING = "--rp-button-padding", e.INPUT_PADDING = "--rp-input-padding", e.INPUT_BORDER_RADIUS = "--rp-input-border-radius", e.INPUT_BACKGROUND_COLOR = "--rp-input-background-color", e.INPUT_PLACEHOLDER_COLOR = "--rp-input-placeholder-color", e.SEARCH_INPUT_BORDER_COLOR = "--rp-search-input-border-color", e.PAGES_BACKGROUND_COLOR = "--rp-pages-background-color", e.PAGE_SHADOW = "--rp-page-shadow", e.PAGE_OUTLINE = "--rp-page-outline", e.PAGE_OUTLINE_OFFSET = "--rp-page-outline-offset", e.ANNOTATION_LAYER_LINK_HOVER_BACKGROUND = "--rp-annotation-layer__link-hover-background", e.DROPDOWN_BACKGROUND_COLOR = "--rp-dropdown-background-color", e.DROPDOWN_PADDING = "--rp-dropdown-padding", e.DROPDOWN_HOVER_BACKGROUND_COLOR = "--rp-dropdown-hover-background-color", e.DROPDOWN_SEPARATOR_COLOR = "--rp-dropdown-separator-color", e.DROPDOWN_SEPARATOR_MARGIN = "--rp-dropdown-separator-margin", e.DROPDOWN_PADDING_MENU_ITEM = "--rp-dropdown-padding-menu-item", e.DROPDOWN_FONT_SIZE = "--rp-dropdown-font-size", e.DROPDOWN_BORDER_RADIUS = "--rp-dropdown-border-radius", e.SEARCH_TOOL_DROPDOWN_PADDING = "--rp-search-tool-dropdown-padding", e.POPOVER_FONT_SIZE = "--rp-popover-font-size", e.POPOVER_BACKGROUND_COLOR = "--rp-popover-background-color", e.POPOVER_COLOR = "--rp-popover-color", e.POPOVER_BORDER_COLOR = "--rp-popover-border-color", e.POPOVER_BORDER_RADIUS = "--rp-popover-border-radius", e.OVERLAY_BACKGROUND_COLOR = "--rp-overlay-background-color", e.DIALOG_BACKGROUND_COLOR = "--rp-dialog-background-color", e.PROPERTIES_DIVIDER_COLOR = "--rp-properties-divider-color", e.PROPERTIES_DIVIDER_MARGIN = "--rp-properties-divider-margin", e.PROPERTY_ITEM_GAP = "--rp-property-item-gap", e.DIALOG_TITLE_COLOR = "--rp-dialog-title-color", e.PROPERTY_ITEM_LABEL_COLOR = "--rp-property-item-label-color", e.PROPERTY_CLOSE_ICON_SIZE = "--rp-property-close-icon-size", e.PROPERTY_ITEM_FONT_SIZE = "--rp-property-item-font-size", e.PROPERTY_ITEM_FONT_WEIGHT = "--rp-property-item-font-weight", e.DIALOG_TITLE_FONT_SIZE = "--rp-dialog-title-font-size", e.DIALOG_TITLE_FONT_WEIGHT = "--rp-dialog-title-font-weight", e.MENU_ITEM_ICON_SIZE = "--rp-menu-item-icon-size", e.PRINT_PROGRESS_BACKGROUND = "--rp-print-progress-background", e.PRINT_PROGRESS_COLOR = "--rp-print-progress-color", e.PRINT_PROGRESS_CANCEL_BUTTON_BORDER_COLOR = "--rp-print-progress-cancel-button-border-color", e.DROP_ZONE_BORDER = "--rp-drop-zone-border", e.DROP_ZONE_FONT_COLOR = "--rp-drop-zone-font-color", e.DROP_ZONE_FONT_SIZE = "--rp-drop-zone-font-size", e.DROP_ZONE_BACKGROUND_COLOR = "--rp-drop-zone-background-color", e.CHECKBOX_BORDER_RADIUS = "--rp-checkbox-border-radius", e.CHECKBOX_BORDER_COLOR = "--rp-checkbox-border-color", e.CHECKBOX_INDICATOR_COLOR = "--rp-checkbox-indicator-color", e.HIGHLIGHT_BACKGROUND_COLOR = "--rp-highlight-background-color", e.TEXT_LAYER_HIGHLIGHT_BORDER_RADIUS = "--rp-text-layer-highlight-border-radius", e.CURRENT_HIGHLIGHT_BACKGROUND_COLOR = "--rp-current-highlight-background-color", e.TOOLTIP_BACKGROUND_COLOR = "--rp-tooltip-background-color", e.TOOLTIP_BORDER_RADIUS = "--rp-tooltip-border-radius", e.TOOLTIP_FONT_COLOR = "--rp-tooltip-font-color", e.TOOLTIP_FONT_SIZE = "--rp-tooltip-font-size", e.TOOLTIP_PADDING = "--rp-tooltip-padding", e.PASSWORD_MODAL_BACKGROUND_COLOR = "--rp-password-background-color", e.PASSWORD_MODAL_TITLE_FONT_COLOR = "--rp-password-title-font-color", e.PASSWORD_MODAL_CONTENT_FONT_COLOR = "--rp-password-content-font-color", e.PASSWORD_MODAL_INPUT_PLACEHOLDER_COLOR = "--rp-password-input-placeholder-color", e.PASSWORD_MODAL_INPUT_BORDER_COLOR = "--rp-password-input-border-color", e.PASSWORD_MODAL_INPUT_FONT_COLOR = "--rp-password-input-font-color", e.PASSWORD_MODAL_BUTTON_FONT_COLOR = "--rp-password-button-font-color", e.PASSWORD_MODAL_BUTTON_BACKGROUND_COLOR = "--rp-password-button-background-color", e.PASSWORD_MODAL_BUTTON_BORDER_COLOR = "--rp-password-button-border-color", e.PASSWORD_MODAL_BORDER_COLOR = "--rp-password-border-color", e.CONTAINER_FOCUS_OUTLINE_WIDTH = "--rp-container-focus-outline-width", e.CONTAINER_FOCUS_OUTLINE_COLOR = "--rp-container-focus-outline-color", e.CONTAINER_FOCUS_OUTLINE_OFFSET = "--rp-container-focus-outline-offset", e.BUTTON_BORDER_RADIUS = "--rp-button-border-radius", e.SKIP_LINK_FONT_SIZE = "--rp-skip-link-font-size", e.SKIP_LINK_COLOR = "--rp-skip-link-color", e.SKIP_LINK_BACKGROUND_COLOR = "--rp-skip-link-background-color", e.SKIP_LINK_BORDER_COLOR = "--rp-skip-link-border-color", e; | ||
| }({}), p = /* @__PURE__ */ function(e) { | ||
@@ -19,0 +19,0 @@ return e.PAGE_SCROLLING = "PAGE", e.VERTICAL_SCROLLING = "VERTICAL", e.HORIZONTAL_SCROLLING = "HORIZONTAL", e; |
+1
-1
| { | ||
| "name": "@react-pdf-kit/viewer", | ||
| "version": "2.7.1", | ||
| "version": "2.7.2-rc.0", | ||
| "private": false, | ||
@@ -5,0 +5,0 @@ "description": "A react-pdf-viewer component for React and Next.js. Suitable for react-pdf document.", |
| import { AnnotationSubType as e } from "./utils/types.js"; | ||
| import { useDocumentContext as t } from "./contexts/RPDocumentContext.js"; | ||
| import { useInitialStateContext as n } from "./contexts/InitialStateContext.js"; | ||
| import { useScrollModeContext as r } from "./contexts/ScrollModeContext.js"; | ||
| import { r as i } from "./PaginationContext-Cwf8sCpK.js"; | ||
| import { usePrintContext as a } from "./contexts/PrintContext.js"; | ||
| import { SimpleLinkService as o } from "./utils/link_service.js"; | ||
| import { annotationEventsHandler as s, bindLayerEvents as c, enhanceLinkAccessibility as l, fixTabIndexAccessibility as u, handleAnnotationWidget as d, insertDateText as f, unbindLayerEvents as p } from "./utils/annotations.js"; | ||
| import { useFileDownload as m } from "./utils/hooks/useFileDownload.js"; | ||
| import { useCallback as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react"; | ||
| import { AnnotationLayer as b } from "pdfjs-dist"; | ||
| import { jsx as x } from "react/jsx-runtime"; | ||
| import './assets/AnnotationLayer.css';//#region lib/components/page/AnnotationLayer.module.css | ||
| var S = { "rp-annotation-layer": "_rp-annotation-layer_rwxfx_1" }, C = "https://unpkg.com/pdfjs-dist@4.4.168/web/images/", w = (w) => { | ||
| let { pageNumber: T } = w, E = v(null), { pages: D, pdf: O } = t(), { interactiveForm: k } = n(), A = v(), [j, M] = y(), { goToPage: N } = i(), { scrollMode: P } = r(), { print: F } = a(), { download: I } = m(), L = v(null), R = _(() => D.get(T), [D, T]), z = _(() => R?.page.getViewport(), [R]); | ||
| g(() => { | ||
| A.current &&= (A.current.div.replaceChildren(), void 0); | ||
| }, [O]), g(() => { | ||
| R && R.page.getAnnotations().then((e) => { | ||
| A.current = void 0, M(e), E.current && (E.current.innerText = ""); | ||
| }); | ||
| }, [R]); | ||
| let B = h((e) => { | ||
| !j || !O || (f(E.current), s(e, O, j).then((e) => { | ||
| e?.data?.action === "Print" ? F() : e?.data?.action === "SaveAs" && I(); | ||
| })); | ||
| }, [ | ||
| O, | ||
| j, | ||
| P, | ||
| F, | ||
| I | ||
| ]); | ||
| return g(() => { | ||
| if (!R || !j) return; | ||
| let t = R.page.getViewport(); | ||
| if (A.current) { | ||
| A.current.update({ viewport: t.clone({ dontFlip: !0 }) }); | ||
| return; | ||
| } | ||
| let n = /* @__PURE__ */ new Map([]); | ||
| for (let r of j) { | ||
| let { annotationType: i } = r; | ||
| switch (i) { | ||
| case e.Widget: | ||
| d(r, t, n); | ||
| break; | ||
| default: break; | ||
| } | ||
| } | ||
| let r = new AbortController(); | ||
| return (async () => { | ||
| A.current &&= (A.current.div.replaceChildren(), void 0), E.current && (E.current.innerText = ""), A.current = new b({ | ||
| div: E.current, | ||
| accessibilityManager: void 0, | ||
| annotationCanvasMap: void 0, | ||
| annotationEditorUIManager: void 0, | ||
| structTreeLayer: null, | ||
| page: R.page, | ||
| viewport: t.clone({ dontFlip: !0 }), | ||
| commentManager: void 0, | ||
| linkService: new o(O, N), | ||
| annotationStorage: O?.annotationStorage | ||
| }), E.current && p(E.current, B); | ||
| let e = await O?.hasJSActions(), n = await O?.getFieldObjects(); | ||
| if (r.signal.aborted) throw "abort"; | ||
| return A.current?.render({ | ||
| annotations: j, | ||
| annotationStorage: O?.annotationStorage, | ||
| hasJSActions: e, | ||
| fieldObjects: n, | ||
| div: E.current, | ||
| viewport: t.clone({ dontFlip: !0 }), | ||
| page: R.page, | ||
| imageResourcesPath: C, | ||
| renderForms: k ?? !0, | ||
| linkService: new o(O, N), | ||
| downloadManager: null, | ||
| enableScripting: !1 | ||
| }); | ||
| })().then(() => { | ||
| E.current && (c(E.current, B), u(E.current), l(E.current), L.current && L.current.disconnect(), L.current = new MutationObserver(() => { | ||
| E.current && (u(E.current), l(E.current)); | ||
| }), L.current.observe(E.current, { | ||
| childList: !0, | ||
| subtree: !0, | ||
| attributes: !0, | ||
| attributeFilter: ["tabindex", "href"] | ||
| })); | ||
| }).catch((e) => { | ||
| if (e !== "abort") throw e; | ||
| }).finally(() => { | ||
| A.current = void 0; | ||
| }), () => { | ||
| r.abort("clear"), E.current && p(E.current, B), L.current &&= (L.current.disconnect(), null); | ||
| }; | ||
| }, [ | ||
| O, | ||
| j, | ||
| B, | ||
| N | ||
| ]), /* @__PURE__ */ x("div", { | ||
| "data-rp": `page-${T}-annotationLayer`, | ||
| style: { | ||
| width: `${z?.width}px`, | ||
| height: `${z?.height}px` | ||
| }, | ||
| className: S["rp-annotation-layer"], | ||
| ref: E | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { w as t }; |
| var e = { | ||
| searchButtonTooltip: "Search in Document", | ||
| searchInputPlaceholder: "Enter to search", | ||
| searchInputTooltip: "Search", | ||
| searchPrevTooltip: "Previous match", | ||
| searchNextTooltip: "Next match", | ||
| searchCloseButtonTooltip: "Close", | ||
| searchMatchCaseLabel: "Match Case", | ||
| searchMatchCaseTooltip: "Search case sensitive text", | ||
| searchWholeWordsLabel: "Whole Words", | ||
| searchWholeWordsTooltip: "Search exact and case insensitive word(s)", | ||
| previousPageTooltip: "Previous page", | ||
| currentPageTooltip: "Current page", | ||
| nextPageTooltip: "Next page", | ||
| zoomOutTooltip: "Zoom out", | ||
| zoomInTooltip: "Zoom in", | ||
| zoomSelectTooltip: "Select zoom level", | ||
| zoomActualSize: "Actual Size", | ||
| zoomPageFit: "Page Fit", | ||
| zoomPageWidth: "Page Width", | ||
| themeEnableDarkTooltip: "Enable dark theme", | ||
| themeEnableLightTooltip: "Enable light theme", | ||
| openLocalFileLabel: "Open local file", | ||
| openLocalFileTooltip: "Open local file", | ||
| downloadFileLabel: "Download file", | ||
| downloadFileTooltip: "Download file", | ||
| printLabel: "Print", | ||
| printTooltip: "Print", | ||
| printLoadingMessage: "Preparing Document", | ||
| printCancelLabel: "Cancel", | ||
| fullScreenLabel: "Full screen", | ||
| fullScreenTooltip: "Full screen", | ||
| moreOptionTooltip: "More options", | ||
| firstPageLabel: "First page", | ||
| firstPageTooltip: "Go to first page", | ||
| lastPageLabel: "Last page", | ||
| lastPageTooltip: "Go to last page", | ||
| rotateClockwiseLabel: "Rotate clockwise", | ||
| rotateClockwiseTooltip: "Rotate clockwise", | ||
| rotateCounterclockwiseLabel: "Rotate counterclockwise", | ||
| rotateCounterclockwiseTooltip: "Rotate counterclockwise", | ||
| textSelectionLabel: "Text selection tool", | ||
| textSelectionTooltip: "Enable text selection tool", | ||
| handToolLabel: "Hand tool", | ||
| handToolTooltip: "Enable hand tool", | ||
| documentPropertiesLabel: "Document properties", | ||
| documentPropertiesTooltip: "View document properties", | ||
| pageScrollingLabel: "Page scrolling", | ||
| pageScrollingTooltip: "Enable page scrolling", | ||
| verticalScrollingLabel: "Vertical scrolling", | ||
| verticalScrollingTooltip: "Enable vertical scrolling", | ||
| horizontalLabel: "Horizontal scrolling", | ||
| horizontalTooltip: "Enable horizontal scrolling", | ||
| wrappedScrollingLabel: "Wrapped scrolling", | ||
| wrappedScrollingTooltip: "Enable wrapped scrolling", | ||
| singlePageLabel: "Single page", | ||
| singlePageTooltip: "Enable single page view", | ||
| dualPageLabel: "Dual page", | ||
| dualPageTooltip: "Enable dual page view", | ||
| dualPageWithCoverLabel: "Dual page with cover", | ||
| dualPageWithCoverTooltip: "Enable dual page view with cover", | ||
| propertiesFilenameLabel: "File name", | ||
| propertiesFileSizeLabel: "File size", | ||
| propertiesTitleLabel: "Title", | ||
| propertiesAuthorLabel: "Author", | ||
| propertiesSubjectLabel: "Subject", | ||
| propertiesKeywordLabel: "Keywords", | ||
| propertiesCreatorLabel: "Creator", | ||
| propertiesCreateOnLabel: "Created on", | ||
| propertiesModifiedOnLabel: "Modified on", | ||
| propertiesPDFProducerLabel: "PDF producer", | ||
| propertiesPDFVersionLabel: "PDF version", | ||
| propertiesPageCountLabel: "Page count", | ||
| thumbnailTooltip: "Thumbnail", | ||
| passwordModalTitle: "Password Required", | ||
| passwordModalMessage: "This document is password protected. Please enter a password to open the file.", | ||
| passwordPlaceholder: "Enter password", | ||
| passwordConfirmLabel: "Submit", | ||
| passwordError: "Incorrect password", | ||
| dragDropFileMessage: "Drag and drop the PDF file here", | ||
| ofTotalPagesLabel: "of", | ||
| skipToMenuLabel: "Skip to Menu", | ||
| skipToMainContentLabel: "Skip to Main Content" | ||
| }, t = { | ||
| searchButtonTooltip: "搜索文件", | ||
| searchInputPlaceholder: "输入搜索词", | ||
| searchInputTooltip: "搜索", | ||
| searchPrevTooltip: "上一条", | ||
| searchNextTooltip: "下一条", | ||
| searchCloseButtonTooltip: "关闭", | ||
| searchMatchCaseLabel: "区分大小写", | ||
| searchMatchCaseTooltip: "搜索区分大小写", | ||
| searchWholeWordsLabel: "全字匹配", | ||
| searchWholeWordsTooltip: "搜索完全匹配", | ||
| previousPageTooltip: "上一页", | ||
| currentPageTooltip: "当前页", | ||
| nextPageTooltip: "下一页", | ||
| zoomOutTooltip: "缩小", | ||
| zoomInTooltip: "放大", | ||
| zoomSelectTooltip: "选择缩放级别", | ||
| zoomActualSize: "实际大小", | ||
| zoomPageFit: "适合页面", | ||
| zoomPageWidth: "页面宽度", | ||
| themeEnableDarkTooltip: "切换到深色模式", | ||
| themeEnableLightTooltip: "切换到浅色模式", | ||
| openLocalFileLabel: "打开文件", | ||
| openLocalFileTooltip: "打开文件", | ||
| downloadFileLabel: "下载文件", | ||
| downloadFileTooltip: "下载文件", | ||
| printLabel: "打印", | ||
| printTooltip: "打印", | ||
| printLoadingMessage: "准备文件", | ||
| printCancelLabel: "取消", | ||
| fullScreenLabel: "全屏", | ||
| fullScreenTooltip: "全屏", | ||
| moreOptionTooltip: "更多选项", | ||
| firstPageLabel: "第一页", | ||
| firstPageTooltip: "跳转到第一页", | ||
| lastPageLabel: "最后一页", | ||
| lastPageTooltip: "跳转到最后一页", | ||
| rotateClockwiseLabel: "顺时针旋转", | ||
| rotateClockwiseTooltip: "顺时针旋转", | ||
| rotateCounterclockwiseLabel: "逆时针旋转", | ||
| rotateCounterclockwiseTooltip: "逆时针旋转", | ||
| textSelectionLabel: "文本选择工具", | ||
| textSelectionTooltip: "启用文本选择工具", | ||
| handToolLabel: "手型工具", | ||
| handToolTooltip: "启用手型工具", | ||
| documentPropertiesLabel: "文件属性", | ||
| documentPropertiesTooltip: "查看文件属性", | ||
| pageScrollingLabel: "页面滚动", | ||
| pageScrollingTooltip: "启用页面滚动", | ||
| verticalScrollingLabel: "垂直滚动", | ||
| verticalScrollingTooltip: "启用垂直滚动", | ||
| horizontalLabel: "水平滚动", | ||
| horizontalTooltip: "启用水平滚动", | ||
| wrappedScrollingLabel: "环绕滚动", | ||
| wrappedScrollingTooltip: "启用环绕滚动", | ||
| singlePageLabel: "单页面视图", | ||
| singlePageTooltip: "启用单页视图", | ||
| dualPageLabel: "双页面视图", | ||
| dualPageTooltip: "启用双页视图", | ||
| dualPageWithCoverLabel: "封面双页面视图", | ||
| dualPageWithCoverTooltip: "启用封面双页视图", | ||
| propertiesFilenameLabel: "文件名称", | ||
| propertiesFileSizeLabel: "文件大小", | ||
| propertiesTitleLabel: "标题", | ||
| propertiesAuthorLabel: "作者", | ||
| propertiesSubjectLabel: "主题", | ||
| propertiesKeywordLabel: "关键字", | ||
| propertiesCreatorLabel: "创建者", | ||
| propertiesCreateOnLabel: "创建于", | ||
| propertiesModifiedOnLabel: "修改于", | ||
| propertiesPDFProducerLabel: "PDF 制作程序 ", | ||
| propertiesPDFVersionLabel: "PDF版本", | ||
| propertiesPageCountLabel: "页数", | ||
| thumbnailTooltip: "缩略图", | ||
| passwordModalTitle: "需要密码", | ||
| passwordModalMessage: "此文件受密码保护。请输入密码以打开文件。", | ||
| passwordPlaceholder: "输入密码", | ||
| passwordConfirmLabel: "提交", | ||
| passwordError: "密码错误", | ||
| dragDropFileMessage: "将PDF文件拖放到这里", | ||
| ofTotalPagesLabel: "共", | ||
| skipToMenuLabel: "跳转到菜单", | ||
| skipToMainContentLabel: "跳转到主内容" | ||
| }, n = { | ||
| searchButtonTooltip: "Cerca nel documento", | ||
| searchInputPlaceholder: "Premi Invio per cercare", | ||
| searchInputTooltip: "Cerca", | ||
| searchPrevTooltip: "Corrispondenza precedente", | ||
| searchNextTooltip: "Corrispondenza successiva", | ||
| searchCloseButtonTooltip: "Chiudi", | ||
| searchMatchCaseLabel: "Maiuscole/minuscole", | ||
| searchMatchCaseTooltip: "Cerca testo con distinzione maiuscole/minuscole", | ||
| searchWholeWordsLabel: "Parola intera", | ||
| searchWholeWordsTooltip: "Cerca esatte parole senza distinzione maiuscole/minuscole", | ||
| previousPageTooltip: "Pagina precedente", | ||
| currentPageTooltip: "Pagina corrente", | ||
| nextPageTooltip: "Pagina successiva", | ||
| zoomOutTooltip: "Ridurre", | ||
| zoomInTooltip: "Ingrandire", | ||
| zoomSelectTooltip: "Seleziona un livello di zoom", | ||
| zoomActualSize: "Dimensioni effettive", | ||
| zoomPageFit: "Adatta pagina", | ||
| zoomPageWidth: "Larghezza pagina", | ||
| themeEnableDarkTooltip: "Abilita tema scuro", | ||
| themeEnableLightTooltip: "Abilita tema chiaro", | ||
| openLocalFileLabel: "Aprire file", | ||
| openLocalFileTooltip: "Aprire file", | ||
| downloadFileLabel: "Scaricare file", | ||
| downloadFileTooltip: "Scaricare file", | ||
| printLabel: "Stampa", | ||
| printTooltip: "Stampa", | ||
| printLoadingMessage: "Preparazione del documento", | ||
| printCancelLabel: "Annulla", | ||
| fullScreenLabel: "Schermo intero", | ||
| fullScreenTooltip: "Schermo intero", | ||
| moreOptionTooltip: "Altre opzioni", | ||
| firstPageLabel: "Prima pagina", | ||
| firstPageTooltip: "Vai alla prima pagina", | ||
| lastPageLabel: "Ultima pagina", | ||
| lastPageTooltip: "Vai all’ultima pagina", | ||
| rotateClockwiseLabel: "Ruota in senso orario", | ||
| rotateClockwiseTooltip: "Ruota in senso orario", | ||
| rotateCounterclockwiseLabel: "Ruota in senso antiorario", | ||
| rotateCounterclockwiseTooltip: "Ruota in senso antiorario", | ||
| textSelectionLabel: "Strumento di selezione testo", | ||
| textSelectionTooltip: "Abilita strumento di selezione testo", | ||
| handToolLabel: "Strumento mano", | ||
| handToolTooltip: "Abilita strumento mano", | ||
| documentPropertiesLabel: "Proprietà documento", | ||
| documentPropertiesTooltip: "Visualizza proprietà documento", | ||
| pageScrollingLabel: "Scorrimento pagina", | ||
| pageScrollingTooltip: "Abilita lo scorrimento delle pagine", | ||
| verticalScrollingLabel: "Scorrimento verticale", | ||
| verticalScrollingTooltip: "Abilita lo scorrimento verticale", | ||
| horizontalLabel: "Scorrimento orizzontale", | ||
| horizontalTooltip: "Abilita lo scorrimento orizzontale", | ||
| wrappedScrollingLabel: "Scorrimento avvolto", | ||
| wrappedScrollingTooltip: "Abilita lo scorrimento avvolto", | ||
| singlePageLabel: "Singolo", | ||
| singlePageTooltip: "Visualizzazione singola", | ||
| dualPageLabel: "Doppio", | ||
| dualPageTooltip: "Visualizzazione doppio", | ||
| dualPageWithCoverLabel: "Doppio con copertina", | ||
| dualPageWithCoverTooltip: "Visualizzazione doppio con copertina", | ||
| propertiesFilenameLabel: "Nome file", | ||
| propertiesFileSizeLabel: "Dimensione file", | ||
| propertiesTitleLabel: "Titolo", | ||
| propertiesAuthorLabel: "Autore", | ||
| propertiesSubjectLabel: "Oggetto", | ||
| propertiesKeywordLabel: "Parole chiave", | ||
| propertiesCreatorLabel: "Creatore", | ||
| propertiesCreateOnLabel: "Creato il", | ||
| propertiesModifiedOnLabel: "Modificato il", | ||
| propertiesPDFProducerLabel: "Produttore PDF", | ||
| propertiesPDFVersionLabel: "Versione PDF", | ||
| propertiesPageCountLabel: "Numero di pagine", | ||
| thumbnailTooltip: "Miniature", | ||
| passwordModalTitle: "Password richiesta", | ||
| passwordModalMessage: "Questo documento è protetto da password. Si prega di inserire una password per aprire il file.", | ||
| passwordPlaceholder: "Inserisci la password", | ||
| passwordConfirmLabel: "Invia", | ||
| passwordError: "Password errata", | ||
| dragDropFileMessage: "Trascina e rilascia il file PDF qui", | ||
| ofTotalPagesLabel: "di", | ||
| skipToMenuLabel: "Vai al menu", | ||
| skipToMainContentLabel: "Vai al contenuto principale" | ||
| }, r = { | ||
| searchButtonTooltip: "Pesquisar no documento", | ||
| searchInputPlaceholder: "Pressione Enter para pesquisar", | ||
| searchInputTooltip: "Pesquisar", | ||
| searchPrevTooltip: "Correspondência anterior", | ||
| searchNextTooltip: "Correspondência seguinte", | ||
| searchCloseButtonTooltip: "Fechar", | ||
| searchMatchCaseLabel: "Diferenciar maiúsculas/minúsculas", | ||
| searchMatchCaseTooltip: "Pesquisar texto com distinção de maiúsculas/minúsculas", | ||
| searchWholeWordsLabel: "Palavra inteira", | ||
| searchWholeWordsTooltip: "Pesquisar palavras exatas sem distinção de maiúsculas/minúsculas", | ||
| previousPageTooltip: "Página anterior", | ||
| currentPageTooltip: "Página atual", | ||
| nextPageTooltip: "Próxima página", | ||
| zoomOutTooltip: "Reduzir", | ||
| zoomInTooltip: "Ampliar", | ||
| zoomSelectTooltip: "Selecionar nível de zoom", | ||
| zoomActualSize: "Tamanho real", | ||
| zoomPageFit: "Ajustar à página", | ||
| zoomPageWidth: "Largura da página", | ||
| themeEnableDarkTooltip: "Ativar tema escuro", | ||
| themeEnableLightTooltip: "Ativar tema claro", | ||
| openLocalFileLabel: "Abrir arquivo", | ||
| openLocalFileTooltip: "Abrir arquivo", | ||
| downloadFileLabel: "Baixar arquivo", | ||
| downloadFileTooltip: "Baixar arquivo", | ||
| printLabel: "Imprimir", | ||
| printTooltip: "Imprimir", | ||
| printLoadingMessage: "Preparando documento", | ||
| printCancelLabel: "Cancelar", | ||
| fullScreenLabel: "Tela inteira", | ||
| fullScreenTooltip: "Tela inteira", | ||
| moreOptionTooltip: "Mais opções", | ||
| firstPageLabel: "Primeira página", | ||
| firstPageTooltip: "Ir para a primeira página", | ||
| lastPageLabel: "Última página", | ||
| lastPageTooltip: "Ir para a última página", | ||
| rotateClockwiseLabel: "Girar no sentido horário", | ||
| rotateClockwiseTooltip: "Girar no sentido horário", | ||
| rotateCounterclockwiseLabel: "Girar no sentido anti-horário", | ||
| rotateCounterclockwiseTooltip: "Girar no sentido anti-horário", | ||
| textSelectionLabel: "Ferramenta de seleção de texto", | ||
| textSelectionTooltip: "Ativar ferramenta de seleção de texto", | ||
| handToolLabel: "Ferramenta de mão", | ||
| handToolTooltip: "Ativar ferramenta de mão", | ||
| documentPropertiesLabel: "Propriedades do documento", | ||
| documentPropertiesTooltip: "Ver propriedades do documento", | ||
| pageScrollingLabel: "Rolagem página", | ||
| pageScrollingTooltip: "Ativar rolagem de página", | ||
| verticalScrollingLabel: "Rolagem vertical", | ||
| verticalScrollingTooltip: "Ativar rolagem vertical", | ||
| horizontalLabel: "Rolagem horizontal", | ||
| horizontalTooltip: "Ativar rolagem horizontal", | ||
| wrappedScrollingLabel: "Rolagem envolvida", | ||
| wrappedScrollingTooltip: "Ativar rolagem envolvente", | ||
| singlePageLabel: "Página única", | ||
| singlePageTooltip: "Ativar página única", | ||
| dualPageLabel: "Página dupla", | ||
| dualPageTooltip: "Ativar página dupla", | ||
| dualPageWithCoverLabel: "Página dupla com capa", | ||
| dualPageWithCoverTooltip: "Ativar página dupla com capa", | ||
| propertiesFilenameLabel: "Nome do arquivo", | ||
| propertiesFileSizeLabel: "Tamanho do arquivo", | ||
| propertiesTitleLabel: "Título", | ||
| propertiesAuthorLabel: "Autor", | ||
| propertiesSubjectLabel: "Assunto", | ||
| propertiesKeywordLabel: "Palavras-chave", | ||
| propertiesCreatorLabel: "Criador", | ||
| propertiesCreateOnLabel: "Criado em", | ||
| propertiesModifiedOnLabel: "Modificado em", | ||
| propertiesPDFProducerLabel: "Produtor do PDF", | ||
| propertiesPDFVersionLabel: "Versão do PDF", | ||
| propertiesPageCountLabel: "Número de páginas", | ||
| thumbnailTooltip: "Miniatura", | ||
| passwordModalTitle: "Senha necessária", | ||
| passwordModalMessage: "Este documento é protegido por senha. Por favor, insira uma senha para abrir o arquivo.", | ||
| passwordPlaceholder: "Insira a senha", | ||
| passwordConfirmLabel: "Enviar", | ||
| passwordError: "Senha incorreta", | ||
| dragDropFileMessage: "Arraste e solte o arquivo PDF aqui", | ||
| ofTotalPagesLabel: "de", | ||
| skipToMenuLabel: "Saltar para o menu", | ||
| skipToMainContentLabel: "Saltar para o conteúdo principal" | ||
| }, i = { | ||
| searchButtonTooltip: "ค้นหาในเอกสาร", | ||
| searchInputPlaceholder: "กรอกคำค้นหา", | ||
| searchInputTooltip: "ค้นหา", | ||
| searchPrevTooltip: "ผลการค้นหาก่อนหน้า", | ||
| searchNextTooltip: "ผลการค้นหาถัดไป", | ||
| searchCloseButtonTooltip: "ปิด", | ||
| searchMatchCaseLabel: "ข้อความที่มีคำ", | ||
| searchMatchCaseTooltip: "ค้นหาข้อความที่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก", | ||
| searchWholeWordsLabel: "ทั้งคำ", | ||
| searchWholeWordsTooltip: "ค้นหาคำที่ตรงตัวไม่มีการแยกตัวพิมพ์ใหญ่/พิมพ์เล็ก", | ||
| previousPageTooltip: "หน้าก่อนหน้า", | ||
| currentPageTooltip: "หน้าปัจจุบัน", | ||
| nextPageTooltip: "หน้าถัดไป", | ||
| zoomOutTooltip: "ย่อ", | ||
| zoomInTooltip: "ขยาย", | ||
| zoomSelectTooltip: "เลือกระดับซูม", | ||
| zoomActualSize: "ขนาดจริง", | ||
| zoomPageFit: "พอดีหน้า", | ||
| zoomPageWidth: "พอดีความกว้าง", | ||
| themeEnableDarkTooltip: "เปิดโหมดมืด", | ||
| themeEnableLightTooltip: "เปิดโหมดสว่าง", | ||
| openLocalFileLabel: "เปิดไฟล์", | ||
| openLocalFileTooltip: "เปิดไฟล์", | ||
| downloadFileLabel: "ดาวน์โหลดเอกสาร", | ||
| downloadFileTooltip: "ดาวน์โหลดเอกสาร", | ||
| printLabel: "พิมพ์", | ||
| printTooltip: "พิมพ์", | ||
| printLoadingMessage: "เตรียมเอกสาร", | ||
| printCancelLabel: "ยกเลิก", | ||
| fullScreenLabel: "เต็มจอ", | ||
| fullScreenTooltip: "เต็มจอ", | ||
| moreOptionTooltip: "ตัวเลือกเพิ่มเติม", | ||
| firstPageLabel: "หน้าแรก", | ||
| firstPageTooltip: "ไปที่หน้าแรก", | ||
| lastPageLabel: "หน้าสุดท้าย", | ||
| lastPageTooltip: "ไปที่หน้าสุดท้าย", | ||
| rotateClockwiseLabel: "หมุนตามเข็มนาฬิกา", | ||
| rotateClockwiseTooltip: "หมุนตามเข็มนาฬิกา", | ||
| rotateCounterclockwiseLabel: "หมุนทวนเข็มนาฬิกา", | ||
| rotateCounterclockwiseTooltip: "หมุนทวนเข็มนาฬิกา", | ||
| textSelectionLabel: "เครื่องมือเลือกข้อความ", | ||
| textSelectionTooltip: "เปิดใช้การเลือกข้อความ", | ||
| handToolLabel: "เครื่องมือแฮนด์ทูล", | ||
| handToolTooltip: "เปิดใช้แฮนด์ทูล", | ||
| documentPropertiesLabel: "คุณสมบัติของเอกสาร", | ||
| documentPropertiesTooltip: "ดูคุณสมบัติของเอกสาร", | ||
| pageScrollingLabel: "การเลื่อนภายในหน้า", | ||
| pageScrollingTooltip: "เปิดใช้การเลื่อนภายในหน้า", | ||
| verticalScrollingLabel: "การเลื่อนแนวตั้ง", | ||
| verticalScrollingTooltip: "เปิดใช้การเลื่อนแนวตั้ง", | ||
| horizontalLabel: "การเลื่อนแนวนอน", | ||
| horizontalTooltip: "เปิดใช้การเลื่อนแนวนอน", | ||
| wrappedScrollingLabel: "การเลื่อนแบบแรพ", | ||
| wrappedScrollingTooltip: "เปิดใช้การเลื่อนแบบแรพ", | ||
| singlePageLabel: "หน้าเดี่ยว", | ||
| singlePageTooltip: "เปิดใช้หน้าเดี่ยว", | ||
| dualPageLabel: "หน้าคู่", | ||
| dualPageTooltip: "เปิดใช้หน้าคู่", | ||
| dualPageWithCoverLabel: "หน้าคู่พร้อมปก", | ||
| dualPageWithCoverTooltip: "เปิดใช้หน้าคู่พร้อมปก", | ||
| propertiesFilenameLabel: "ชื่อเอกสาร", | ||
| propertiesFileSizeLabel: "ขนาดเอกสาร", | ||
| propertiesTitleLabel: "ชื่อเรื่อง", | ||
| propertiesAuthorLabel: "ผู้เขียน", | ||
| propertiesSubjectLabel: "หัวข้อ", | ||
| propertiesKeywordLabel: "คำสำคัญ", | ||
| propertiesCreatorLabel: "ผู้สร้าง", | ||
| propertiesCreateOnLabel: "วันที่สร้าง", | ||
| propertiesModifiedOnLabel: "วันที่แก้ไข", | ||
| propertiesPDFProducerLabel: "ผู้ผลิต PDF", | ||
| propertiesPDFVersionLabel: "เวอร์ชัน PDF", | ||
| propertiesPageCountLabel: "จำนวนหน้า", | ||
| thumbnailTooltip: "ภาพย่อ", | ||
| passwordModalTitle: "กรุณากรอกรหัสผ่าน", | ||
| passwordModalMessage: "เอกสารนี้ได้รับการป้องกันด้วยรหัสผ่าน กรุณาใส่รหัสผ่านเพื่อเปิดไฟล์", | ||
| passwordPlaceholder: "กรอกรหัสผ่าน", | ||
| passwordConfirmLabel: "ส่ง", | ||
| passwordError: "รหัสผ่านไม่ถูกต้อง", | ||
| dragDropFileMessage: "ลากและวางไฟล์ PDF ที่นี่", | ||
| ofTotalPagesLabel: "จาก", | ||
| skipToMenuLabel: "ข้ามไปที่เมนู", | ||
| skipToMainContentLabel: "ข้ามไปที่เนื้อหาหลัก" | ||
| }, a = { | ||
| searchButtonTooltip: "Im Dokument suchen", | ||
| searchInputPlaceholder: "Zum Suchen eingeben", | ||
| searchInputTooltip: "Suche", | ||
| searchPrevTooltip: "Vorheriger Treffer", | ||
| searchNextTooltip: "Nächster Treffer", | ||
| searchCloseButtonTooltip: "Schließen", | ||
| searchMatchCaseLabel: "Groß-/Kleinschreibung", | ||
| searchMatchCaseTooltip: "Groß-/Kleinschreibung beachten", | ||
| searchWholeWordsLabel: "Ganze Wörter", | ||
| searchWholeWordsTooltip: "Exakte Wörter suchen (Groß-/Kleinschreibung ignorieren)", | ||
| previousPageTooltip: "Vorherige Seite", | ||
| currentPageTooltip: "Aktuelle Seite", | ||
| nextPageTooltip: "Nächste Seite", | ||
| zoomOutTooltip: "Verkleinern", | ||
| zoomInTooltip: "Vergrößern", | ||
| zoomSelectTooltip: "Zoomstufe auswählen", | ||
| zoomActualSize: "Originalgröße", | ||
| zoomPageFit: "Seite einpassen", | ||
| zoomPageWidth: "Seitenbreite", | ||
| themeEnableDarkTooltip: "Dunkles Design aktivieren", | ||
| themeEnableLightTooltip: "Helles Design aktivieren", | ||
| openLocalFileLabel: "Lokale Datei öffnen", | ||
| openLocalFileTooltip: "Lokale Datei öffnen", | ||
| downloadFileLabel: "Datei herunterladen", | ||
| downloadFileTooltip: "Datei herunterladen", | ||
| printLabel: "Drucken", | ||
| printTooltip: "Drucken", | ||
| printLoadingMessage: "Dokument wird vorbereitet", | ||
| printCancelLabel: "Abbrechen", | ||
| fullScreenLabel: "Vollbild", | ||
| fullScreenTooltip: "Vollbild", | ||
| moreOptionTooltip: "Weitere Optionen", | ||
| firstPageLabel: "Erste Seite", | ||
| firstPageTooltip: "Zur ersten Seite", | ||
| lastPageLabel: "Letzte Seite", | ||
| lastPageTooltip: "Zur letzten Seite", | ||
| rotateClockwiseLabel: "Im Uhrzeigersinn drehen", | ||
| rotateClockwiseTooltip: "Im Uhrzeigersinn drehen", | ||
| rotateCounterclockwiseLabel: "Gegen den Uhrzeigersinn drehen", | ||
| rotateCounterclockwiseTooltip: "Gegen den Uhrzeigersinn drehen", | ||
| textSelectionLabel: "Textauswahl-Werkzeug", | ||
| textSelectionTooltip: "Textauswahl-Werkzeug aktivieren", | ||
| handToolLabel: "Hand-Werkzeug", | ||
| handToolTooltip: "Hand-Werkzeug aktivieren", | ||
| documentPropertiesLabel: "Dokumenteigenschaften", | ||
| documentPropertiesTooltip: "Dokumenteigenschaften anzeigen", | ||
| pageScrollingLabel: "Bildlauf", | ||
| pageScrollingTooltip: "Seitenweises Blättern aktivieren", | ||
| verticalScrollingLabel: "Vertikaler Bildlauf", | ||
| verticalScrollingTooltip: "Vertikalen Bildlauf aktivieren", | ||
| horizontalLabel: "Horizontaler Bildlauf", | ||
| horizontalTooltip: "Horizontalen Bildlauf aktivieren", | ||
| wrappedScrollingLabel: "Bildlauf mit Umbruch", | ||
| wrappedScrollingTooltip: "Bildlauf mit Umbruch aktivieren", | ||
| singlePageLabel: "Einzelseite", | ||
| singlePageTooltip: "Einzelseitenansicht aktivieren", | ||
| dualPageLabel: "Doppelseite", | ||
| dualPageTooltip: "Doppelseitenansicht aktivieren", | ||
| dualPageWithCoverLabel: "Doppelseite mit Deckblatt", | ||
| dualPageWithCoverTooltip: "Doppelseitenansicht mit Deckblatt aktivieren", | ||
| propertiesFilenameLabel: "Dateiname", | ||
| propertiesFileSizeLabel: "Dateigröße", | ||
| propertiesTitleLabel: "Titel", | ||
| propertiesAuthorLabel: "Autor", | ||
| propertiesSubjectLabel: "Thema", | ||
| propertiesKeywordLabel: "Stichwörter", | ||
| propertiesCreatorLabel: "Ersteller", | ||
| propertiesCreateOnLabel: "Erstellt am", | ||
| propertiesModifiedOnLabel: "Geändert am", | ||
| propertiesPDFProducerLabel: "PDF-Produzent", | ||
| propertiesPDFVersionLabel: "PDF-Version", | ||
| propertiesPageCountLabel: "Seitenanzahl", | ||
| thumbnailTooltip: "Miniaturansicht", | ||
| passwordModalTitle: "Passwort erforderlich", | ||
| passwordModalMessage: "Dieses Dokument ist passwortgeschützt. Bitte geben Sie ein Passwort ein, um die Datei zu öffnen.", | ||
| passwordPlaceholder: "Passwort eingeben", | ||
| passwordConfirmLabel: "Bestätigen", | ||
| passwordError: "Falsches Passwort", | ||
| dragDropFileMessage: "PDF-Datei hierher ziehen", | ||
| ofTotalPagesLabel: "von", | ||
| skipToMenuLabel: "Zum Menü springen", | ||
| skipToMainContentLabel: "Zum Hauptinhalt springen" | ||
| }; | ||
| //#endregion | ||
| export { t as a, n as i, i as n, e as o, r, a as t }; |
| import { useLocalizationContext as e } from "./contexts/LocalizationContext.js"; | ||
| import { usePrintContext as t } from "./contexts/PrintContext.js"; | ||
| import { t as n } from "./clsx-B7LyVm5O.js"; | ||
| import { jsx as r, jsxs as i } from "react/jsx-runtime"; | ||
| import './assets/LoadingIndicator.css';var a = { | ||
| "rp-loading-overlay": "_rp-loading-overlay_wazy2_1", | ||
| "rp-loading-modal": "_rp-loading-modal_wazy2_14", | ||
| "rp-loading-title": "_rp-loading-title_wazy2_27", | ||
| "rp-loading-progress-bar": "_rp-loading-progress-bar_wazy2_35", | ||
| "rp-loading-progress": "_rp-loading-progress_wazy2_35", | ||
| "rp-loading-cancel-button": "_rp-loading-cancel-button_wazy2_55", | ||
| loading: "_loading_wazy2_1" | ||
| }, o = ({ percentage: o }) => { | ||
| let { cancel: s } = t(), { localeMessages: c } = e(); | ||
| return o < 1 ? null : /* @__PURE__ */ r("div", { | ||
| className: n(a["rp-loading-overlay"]), | ||
| children: /* @__PURE__ */ i("div", { | ||
| className: n(a["rp-loading-modal"]), | ||
| children: [ | ||
| /* @__PURE__ */ i("div", { | ||
| className: n(a["rp-loading-title"]), | ||
| children: [c?.printLoadingMessage, "..."] | ||
| }), | ||
| /* @__PURE__ */ r("div", { | ||
| className: n(a["rp-loading-progress-bar"]), | ||
| children: /* @__PURE__ */ r("div", { | ||
| className: n(a["rp-loading-progress"]), | ||
| style: { width: `${o}%` } | ||
| }) | ||
| }), | ||
| /* @__PURE__ */ r("button", { | ||
| className: n(a["rp-loading-cancel-button"]), | ||
| onClick: s, | ||
| onKeyDown: (e) => { | ||
| e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), s()); | ||
| }, | ||
| autoFocus: !0, | ||
| children: c?.printCancelLabel | ||
| }) | ||
| ] | ||
| }) | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { o as t }; |
| import { useViewModeContext as e } from "./contexts/ViewModeContext.js"; | ||
| import { r as t } from "./PaginationContext-Cwf8sCpK.js"; | ||
| import { useLocalizationContext as n } from "./contexts/LocalizationContext.js"; | ||
| import { t as r } from "./Button-BNlmxWrV.js"; | ||
| import { t as i } from "./RPTooltip-ZZoFqP7C.js"; | ||
| import { DualPageWithCoverIcon as a } from "./components/icons/DualPageWithCoverIcon.js"; | ||
| import { GoToDownIcon as o } from "./components/icons/GoToDownIcon.js"; | ||
| import { t as s } from "./MostPageTool.module-BRVv-sGz.js"; | ||
| import { useCallback as c } from "react"; | ||
| import { jsx as l } from "react/jsx-runtime"; | ||
| //#region lib/components/layout/toolbar/tools/DualPageWithCoverTool.tsx | ||
| var u = ({ children: e, className: t, localeMessages: n }) => /* @__PURE__ */ l(i, { | ||
| className: t, | ||
| content: n?.dualPageWithCoverTooltip, | ||
| children: e | ||
| }), d = ({ icon: t }) => { | ||
| let { setDualPageWithCover: i } = e(), { localeMessages: o } = n(); | ||
| return /* @__PURE__ */ l(u, { | ||
| localeMessages: o, | ||
| children: /* @__PURE__ */ l(r, { | ||
| onClick: i, | ||
| "aria-label": o?.dualPageWithCoverTooltip, | ||
| children: t || /* @__PURE__ */ l(a, {}) | ||
| }) | ||
| }); | ||
| }, f = ({ children: e, className: t, localeMessages: n }) => /* @__PURE__ */ l(i, { | ||
| className: t, | ||
| content: n?.firstPageTooltip, | ||
| children: e | ||
| }), p = ({ icon: e }) => { | ||
| let { goToPage: i } = t(), { localeMessages: a } = n(); | ||
| return /* @__PURE__ */ l(f, { | ||
| localeMessages: a, | ||
| children: /* @__PURE__ */ l(r, { | ||
| onClick: c(() => { | ||
| i(1); | ||
| }, [i]), | ||
| "aria-label": a?.firstPageTooltip, | ||
| children: e || /* @__PURE__ */ l(o, { className: s["rp-go-to-Top"] }) | ||
| }) | ||
| }); | ||
| }, m = ({ children: e, className: t, localeMessages: n }) => /* @__PURE__ */ l(i, { | ||
| className: t, | ||
| content: n?.lastPageTooltip, | ||
| children: e | ||
| }), h = ({ icon: e }) => { | ||
| let { goToPage: i, totalPages: a } = t(), { localeMessages: s } = n(); | ||
| return /* @__PURE__ */ l(m, { | ||
| localeMessages: s, | ||
| children: /* @__PURE__ */ l(r, { | ||
| onClick: c(() => { | ||
| i(a); | ||
| }, [i, a]), | ||
| "aria-label": s?.lastPageTooltip, | ||
| children: e || /* @__PURE__ */ l(o, {}) | ||
| }) | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { p as n, d as r, h as t }; |
| import { ScrollMode as e, ViewMode as t } from "./utils/types.js"; | ||
| import { appConsole as n } from "./utils/appConsole.js"; | ||
| import { useDocumentContext as r } from "./contexts/RPDocumentContext.js"; | ||
| import { useInitialStateContext as i } from "./contexts/InitialStateContext.js"; | ||
| import { useScrollModeContext as a } from "./contexts/ScrollModeContext.js"; | ||
| import { useViewModeContext as o } from "./contexts/ViewModeContext.js"; | ||
| import { useVirtualScrollContext as s } from "./contexts/VirtualScrollContext.js"; | ||
| import { useVirtualGridContext as c } from "./contexts/VirtualGridContext.js"; | ||
| import { smoothScrollTo as l } from "./utils/smoothScrollTo.js"; | ||
| import { useLayoutContainer as u } from "./contexts/LayoutContainerContext.js"; | ||
| import { useGlobalCurrentPage as d } from "./contexts/GlobalCurrentPage.js"; | ||
| import { useDebounce as f } from "./utils/hooks/useDebounce.js"; | ||
| import { useDimensionPagesContext as p } from "./contexts/DimensionPagesContext.js"; | ||
| import { useSmoothScrollContext as m } from "./contexts/SmoothScrollContext.js"; | ||
| import { getScrollDistance as h } from "./utils/getScrollDistance.js"; | ||
| import { getGridDimension as g, getPositionFromPage as _ } from "./utils/calculatePage.js"; | ||
| import { createContext as v, useCallback as y, useContext as b, useEffect as x, useMemo as S, useRef as C, useState as w } from "react"; | ||
| import { jsx as T } from "react/jsx-runtime"; | ||
| //#region lib/utils/hooks/useScrollToPage.ts | ||
| var E = () => { | ||
| let { viewMode: n } = o(), { scrollMode: r } = a(), { virtualScrollRef: i, virtualScrollableElementRef: u, pageScrollElementRef: d } = s(), { setFocusedPage: f } = k(), v = C(), { columnCount: b } = c(), { widths: S, heights: w } = p(), T = C(r), E = C(n), D = C(b), { targetScrollPage: O, scrollBehavior: A } = m(), j = C(null); | ||
| x(() => { | ||
| i?.scrollToItem && (v.current = i); | ||
| }, [i]), x(() => { | ||
| T.current = r, E.current = n; | ||
| }, [r, n]); | ||
| let M = y((e, t) => { | ||
| if (!d) return; | ||
| let n = Math.ceil(e / 2) * 2 - 1; | ||
| if (e === n + 1) { | ||
| let e = { | ||
| left: S[n], | ||
| top: 0 | ||
| }; | ||
| return new Promise((t) => l(d, e, t)); | ||
| } | ||
| return d?.scrollTo({ | ||
| left: 0, | ||
| top: 0, | ||
| behavior: t | ||
| }); | ||
| }, [ | ||
| d, | ||
| S, | ||
| l | ||
| ]); | ||
| x(() => { | ||
| T.current = r, E.current = n; | ||
| }, [r, n]), x(() => { | ||
| D.current = b; | ||
| }, [b]); | ||
| let N = y((n, r = A) => { | ||
| f(n); | ||
| let i = n - 1, a = i, o = 0; | ||
| if (E.current === t.DUAL_PAGE && T.current === e.PAGE_SCROLLING) { | ||
| M(n, r); | ||
| return; | ||
| } | ||
| if (T.current === e.PAGE_SCROLLING) { | ||
| f(n); | ||
| return; | ||
| } | ||
| if (!v.current || !u) { | ||
| j.current = { | ||
| page: n, | ||
| behavior: r | ||
| }; | ||
| return; | ||
| } | ||
| j.current = null; | ||
| let s = u; | ||
| r === "smooth" && (O.current = n); | ||
| let c = E.current === t.DUAL_PAGE_WITH_COVER, { columnsWidth: l, rowsHeight: d } = g({ | ||
| widths: S, | ||
| heights: w | ||
| }, b, c); | ||
| if (T.current === e.HORIZONTAL_SCROLLING) { | ||
| o = i; | ||
| let e = h(l, o), t = { | ||
| left: Math.floor(e), | ||
| top: 0 | ||
| }; | ||
| return s.scrollTo({ | ||
| ...t, | ||
| behavior: r | ||
| }); | ||
| } | ||
| if (E.current === t.DUAL_PAGE_WITH_COVER) { | ||
| let { rowIndex: e, columnIndex: t } = _(n, b, !0), i = h(l, t), a = h(d, e), o = { | ||
| left: Math.floor(i), | ||
| top: Math.floor(a) | ||
| }; | ||
| return s.scrollTo({ | ||
| ...o, | ||
| behavior: r | ||
| }); | ||
| } | ||
| if (E.current === t.DUAL_PAGE) { | ||
| o = i % 2, a = Math.floor(i / 2); | ||
| let e = h(l, o), t = h(d, a), n = { | ||
| left: Math.floor(e), | ||
| top: Math.floor(t) | ||
| }; | ||
| return s.scrollTo({ | ||
| ...n, | ||
| behavior: r | ||
| }); | ||
| } | ||
| let p = h(d, a), m = { | ||
| left: 0, | ||
| top: Math.floor(p) | ||
| }; | ||
| return s.scrollTo({ | ||
| ...m, | ||
| behavior: r | ||
| }); | ||
| }, [ | ||
| u, | ||
| b, | ||
| M, | ||
| f, | ||
| l, | ||
| w, | ||
| S, | ||
| A | ||
| ]); | ||
| return x(() => { | ||
| if (!u || !j.current) return; | ||
| let { page: e, behavior: t } = j.current; | ||
| j.current = null, N(e, t); | ||
| }, [u, N]), { scrollToPage: N }; | ||
| }, D = (n = 1) => { | ||
| let [r, i] = w(n), [s, c] = w(0), { scrollToPage: l } = E(), d = C(n), { viewMode: m } = o(), { scrollMode: h } = a(), { widths: g } = p(), { pagesRef: _ } = u(), v = f(r, 100), b = y((e) => { | ||
| if (!/^[0-9]*$/g.test(e.toString()) || !e) return { | ||
| success: !1, | ||
| currentPage: d.current | ||
| }; | ||
| let t = +e; | ||
| return t <= 0 || t > s ? { | ||
| success: !1, | ||
| currentPage: d.current | ||
| } : (i(t), d.current = t, { | ||
| success: !0, | ||
| currentPage: +e | ||
| }); | ||
| }, [s]), x = y(b, [b]), T = y((e) => { | ||
| i(e), d.current = e; | ||
| }, []), D = y((e, t) => { | ||
| let n = b(e); | ||
| return n.success && l(n.currentPage, t), n; | ||
| }, [b, l]), O = y((e) => { | ||
| let n = e % 2 == 1; | ||
| if (!_ || n) return !1; | ||
| let r = n ? g[e] : g[e - 1], i = n ? g[e + 1] : g[e]; | ||
| return m === t.DUAL_PAGE && r + i < _.clientWidth; | ||
| }, [ | ||
| m, | ||
| g, | ||
| _, | ||
| s | ||
| ]), k = y(() => { | ||
| let e = r - 1; | ||
| O(e) && (e = r - 2), D(e); | ||
| }, [ | ||
| D, | ||
| r, | ||
| m, | ||
| h, | ||
| O | ||
| ]), A = S(() => m === t.DUAL_PAGE && h === e.PAGE_SCROLLING ? r === s - 1 : r === s, [ | ||
| r, | ||
| s, | ||
| m, | ||
| h | ||
| ]); | ||
| return { | ||
| focusedPage: v, | ||
| totalPages: s, | ||
| setFocusedPage: x, | ||
| resetPage: T, | ||
| setTotalPages: c, | ||
| nextPage: y(() => { | ||
| if (A) return; | ||
| let e = r + 1; | ||
| O(e) && (e = r + 2), D(e); | ||
| }, [ | ||
| D, | ||
| r, | ||
| O, | ||
| m, | ||
| h, | ||
| A | ||
| ]), | ||
| prevPage: k, | ||
| goToPage: D | ||
| }; | ||
| }, O = v({ | ||
| focusedPage: 0, | ||
| setFocusedPage: (e) => {}, | ||
| goToPage: (e, t) => ({ | ||
| success: !!e, | ||
| currentPage: +e | ||
| }), | ||
| totalPages: 0, | ||
| setTotalPages: (e) => {}, | ||
| prevPage: () => {}, | ||
| nextPage: () => {} | ||
| }), k = () => { | ||
| let e = b(O); | ||
| return e?.focusedPage === void 0 && n.error("Please use this hooks inside children component of RPProvider"), e; | ||
| }, A = ({ children: e }) => { | ||
| let { pdf: t } = r(), { setCurrentPage: n } = d(), { initialPage: a = 1 } = i(), { focusedPage: o, totalPages: s, setFocusedPage: c, resetPage: l, setTotalPages: u, goToPage: f, nextPage: p, prevPage: m } = D(a), h = C(!0); | ||
| return x(() => { | ||
| if (!t) { | ||
| h.current || (u(0), l(1)); | ||
| return; | ||
| } | ||
| if (!t.numPages) return; | ||
| u(t.numPages); | ||
| let e = h.current ? a : 1; | ||
| l(Math.min(Math.max(e, 1), t.numPages)), h.current = !1; | ||
| }, [ | ||
| t, | ||
| u, | ||
| l | ||
| ]), x(() => { | ||
| n(o); | ||
| }, [o, n]), /* @__PURE__ */ T(O.Provider, { | ||
| value: { | ||
| focusedPage: o, | ||
| totalPages: s, | ||
| setFocusedPage: c, | ||
| setTotalPages: u, | ||
| nextPage: p, | ||
| prevPage: m, | ||
| goToPage: f | ||
| }, | ||
| children: e | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { E as a, D as i, A as n, k as r, O as t }; |
| import './assets/RPLayout.css';//#region lib/components/layout/RPLayout.module.css | ||
| var e = { | ||
| "rp-layout": "_rp-layout_1yzm4_1", | ||
| "rp-layout-wrapper": "_rp-layout-wrapper_1yzm4_5", | ||
| "rp-content": "_rp-content_1yzm4_11", | ||
| "rp-sidebar": "_rp-sidebar_1yzm4_18", | ||
| "rp-pages": "_rp-pages_1yzm4_23", | ||
| "rp-container": "_rp-container_1yzm4_29", | ||
| "rp-loader": "_rp-loader_1yzm4_33", | ||
| "rp-theme-variables": "_rp-theme-variables_1yzm4_37", | ||
| "rp-dark-mode": "_rp-dark-mode_1yzm4_156" | ||
| }; | ||
| //#endregion | ||
| export { e as t }; |
| import { useDocumentContext as e } from "./contexts/RPDocumentContext.js"; | ||
| import { useZoomContext as t } from "./contexts/ZoomContext.js"; | ||
| import { usePagesRotateContext as n } from "./contexts/PagesRotateContext.js"; | ||
| import { useLayerContext as r } from "./contexts/LayerContext.js"; | ||
| import { useLoaderContext as i } from "./contexts/LoaderContext.js"; | ||
| import { CanvasLayer as a } from "./components/page/CanvasLayer.js"; | ||
| import { t as o } from "./TextLayer-DWGFN9SF.js"; | ||
| import { t as s } from "./AnnotationLayer-CAIvKf_O.js"; | ||
| import { t as c } from "./TextHighlightLayer-BSVgBxR3.js"; | ||
| import { CustomElement as l } from "./components/page/CustomElement.js"; | ||
| import { withRef as u } from "./utils/withRef.js"; | ||
| import { useCallback as d, useEffect as f, useImperativeHandle as p, useMemo as m, useRef as h, useState as g } from "react"; | ||
| import { jsx as _, jsxs as v } from "react/jsx-runtime"; | ||
| import './assets/RPPage.css';//#region lib/components/page/RPPage.module.css | ||
| var y = { | ||
| "rp-page-wrapper": "_rp-page-wrapper_krysr_1", | ||
| "rp-page": "_rp-page_krysr_1", | ||
| "rp-loader-wrapper": "_rp-loader-wrapper_krysr_17" | ||
| }, b = u((u, b) => { | ||
| let { pageNumber: x, style: S, ...C } = u, { pages: w } = e(), { pageRotate: T } = n(), { textLayer: E } = r(), { currentZoom: D } = t(), { LoaderImageComponent: O } = i(), k = h(w.get(x)), [A, j] = g(!1), M = h(null), [N, P] = g({ | ||
| width: 0, | ||
| height: 0 | ||
| }); | ||
| p(b, () => M.current); | ||
| let F = m(() => k.current ? T[x] : 0, [x, T]); | ||
| f(() => { | ||
| w && (k.current = w.get(x), k.current && P(k.current.page.getViewport({ | ||
| scale: D, | ||
| rotation: F | ||
| }))); | ||
| }, [ | ||
| w, | ||
| x, | ||
| F, | ||
| D | ||
| ]); | ||
| let I = m(() => { | ||
| switch (F) { | ||
| case 90: return `${N.width / 2}px ${N.width / 2}px`; | ||
| case -90: | ||
| case 270: return `${N.height / 2}px ${N.height / 2}px`; | ||
| default: return "center"; | ||
| } | ||
| }, [F, N]), L = d(() => { | ||
| j(!0); | ||
| }, []), R = d(() => { | ||
| j(!1); | ||
| }, []); | ||
| return /* @__PURE__ */ _("div", { | ||
| ref: M, | ||
| id: `page-${x}`, | ||
| "data-rp": `page-${x}`, | ||
| ...C, | ||
| style: { | ||
| ...S, | ||
| "--rp-rotate": `${F}deg`, | ||
| "--rp-page-rotate-translate": `${I}`, | ||
| "--user-unit": N.userUnit || 1, | ||
| "--scale-factor": D, | ||
| "--total-scale-factor": "calc(var(--scale-factor) * var(--user-unit))" | ||
| }, | ||
| className: y["rp-page-wrapper"], | ||
| children: /* @__PURE__ */ v("div", { | ||
| style: { | ||
| width: `${N.width}px`, | ||
| height: `${N.height}px` | ||
| }, | ||
| className: y["rp-page"], | ||
| children: [ | ||
| /* @__PURE__ */ _(a, { | ||
| onLoading: L, | ||
| onLoaded: R, | ||
| pageNumber: x | ||
| }), | ||
| A && O && /* @__PURE__ */ _("div", { | ||
| className: y["rp-loader-wrapper"], | ||
| children: /* @__PURE__ */ _(O, {}) | ||
| }), | ||
| /* @__PURE__ */ _(l, { pageNumber: x }), | ||
| E && /* @__PURE__ */ _(o, { pageNumber: x }), | ||
| /* @__PURE__ */ _(c, { | ||
| pageNumber: x, | ||
| viewport: N | ||
| }), | ||
| /* @__PURE__ */ _(s, { pageNumber: x }) | ||
| ] | ||
| }) | ||
| }); | ||
| }); | ||
| //#endregion | ||
| export { b as t }; |
| import { ErrorType as e, ScrollMode as t, SelectionMode as n, ViewMode as r } from "./utils/types.js"; | ||
| import { useDocumentPasswordContext as i } from "./contexts/DocumentPasswordContext.js"; | ||
| import { useDocumentContext as a } from "./contexts/RPDocumentContext.js"; | ||
| import { useInitialStateContext as o } from "./contexts/InitialStateContext.js"; | ||
| import { useScrollModeContext as s } from "./contexts/ScrollModeContext.js"; | ||
| import { useViewModeContext as c } from "./contexts/ViewModeContext.js"; | ||
| import { useVirtualScrollContext as l } from "./contexts/VirtualScrollContext.js"; | ||
| import { useLayoutContainer as u } from "./contexts/LayoutContainerContext.js"; | ||
| import { useEventCallbackContext as d } from "./contexts/EventCallbackContext.js"; | ||
| import { useDebounce as f } from "./utils/hooks/useDebounce.js"; | ||
| import { getPageFromPosition as p } from "./utils/calculatePage.js"; | ||
| import { a as m, r as h } from "./PaginationContext-Cwf8sCpK.js"; | ||
| import { useSelectionModeContext as g } from "./contexts/SelectionModeContext.js"; | ||
| import { useFullScreenContext as _ } from "./contexts/FullScreenContext.js"; | ||
| import { t as v } from "./clsx-B7LyVm5O.js"; | ||
| import { useLoaderContext as ee } from "./contexts/LoaderContext.js"; | ||
| import { t as y } from "./RPPage-C_r8aeTc.js"; | ||
| import { useVirtualReactWindow as te } from "./utils/hooks/useVirtualReactWindow.js"; | ||
| import { DualPage as ne } from "./components/page/DualPage.js"; | ||
| import { DualPageWithCover as re } from "./components/page/DualPageWithCover.js"; | ||
| import { SinglePage as ie } from "./components/page/SinglePage.js"; | ||
| import { useMousePressed as ae } from "./utils/hooks/useMousePressed.js"; | ||
| import { useGrabScroll as oe } from "./utils/hooks/useGrabScroll.js"; | ||
| import { usePinch as se } from "./utils/hooks/usePinch.js"; | ||
| import { t as b } from "./PasswordModal-CB9Rd2zJ.js"; | ||
| import { usePresentPage as x } from "./utils/hooks/usePresentPage.js"; | ||
| import { LayoutContainer as ce } from "./components/layout/LayoutContainer.js"; | ||
| import { LayoutWrapper as le } from "./components/layout/LayoutWrapper.js"; | ||
| import { useCopyText as ue } from "./utils/hooks/useCopyText.js"; | ||
| import { useTextSelection as de } from "./utils/hooks/useTextSelection.js"; | ||
| import { approximateFraction as fe } from "./utils/approximateFragtion.js"; | ||
| import { Component as pe, PureComponent as S, createElement as C, memo as me, useCallback as w, useEffect as T, useMemo as he, useRef as E, useState as ge } from "react"; | ||
| import { OutputScale as _e } from "pdfjs-dist"; | ||
| import { Fragment as ve, jsx as D, jsxs as ye } from "react/jsx-runtime"; | ||
| import './assets/RPPages.css';//#region lib/components/RPPages.module.css | ||
| var O = { | ||
| "rp-pages": "_rp-pages_fn8tz_1", | ||
| "rp-page-scrolling-wrapper": "_rp-page-scrolling-wrapper_fn8tz_6", | ||
| "rp-pages-horizontal-scroll": "_rp-pages-horizontal-scroll_fn8tz_11", | ||
| "rp-not-supported-list": "_rp-not-supported-list_fn8tz_15", | ||
| "rp-pages-container": "_rp-pages-container_fn8tz_23", | ||
| "rp-viewer": "_rp-viewer_fn8tz_65", | ||
| "rp-cursor-grab": "_rp-cursor-grab_fn8tz_70", | ||
| "rp-cursor-grabbing": "_rp-cursor-grabbing_fn8tz_78", | ||
| "rp-loader": "_rp-loader_fn8tz_86", | ||
| "rp-not-supported": "_rp-not-supported_fn8tz_15", | ||
| "rp-not-supported-content": "_rp-not-supported-content_fn8tz_102", | ||
| "rp-load-error": "_rp-load-error_fn8tz_108", | ||
| "rp-load-error-message": "_rp-load-error-message_fn8tz_116" | ||
| }; | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js | ||
| function k() { | ||
| return k = Object.assign ? Object.assign.bind() : function(e) { | ||
| for (var t = 1; t < arguments.length; t++) { | ||
| var n = arguments[t]; | ||
| for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]); | ||
| } | ||
| return e; | ||
| }, k.apply(null, arguments); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js | ||
| function A(e) { | ||
| if (e === void 0) throw ReferenceError("this hasn't been initialised - super() hasn't been called"); | ||
| return e; | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js | ||
| function be(e, t) { | ||
| return be = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) { | ||
| return e.__proto__ = t, e; | ||
| }, be(e, t); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js | ||
| function xe(e, t) { | ||
| e.prototype = Object.create(t.prototype), e.prototype.constructor = e, be(e, t); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/memoize-one@5.2.1/node_modules/memoize-one/dist/memoize-one.esm.js | ||
| var Se = Number.isNaN || function(e) { | ||
| return typeof e == "number" && e !== e; | ||
| }; | ||
| function Ce(e, t) { | ||
| return !!(e === t || Se(e) && Se(t)); | ||
| } | ||
| function j(e, t) { | ||
| if (e.length !== t.length) return !1; | ||
| for (var n = 0; n < e.length; n++) if (!Ce(e[n], t[n])) return !1; | ||
| return !0; | ||
| } | ||
| function M(e, t) { | ||
| t === void 0 && (t = j); | ||
| var n, r = [], i, a = !1; | ||
| function o() { | ||
| var o = [...arguments]; | ||
| return a && n === this && t(o, r) ? i : (i = e.apply(this, o), a = !0, n = this, r = o, i); | ||
| } | ||
| return o; | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js | ||
| function N(e, t) { | ||
| if (e == null) return {}; | ||
| var n = {}; | ||
| for (var r in e) if ({}.hasOwnProperty.call(e, r)) { | ||
| if (t.indexOf(r) !== -1) continue; | ||
| n[r] = e[r]; | ||
| } | ||
| return n; | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/react-window@1.8.11_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-window/dist/index.esm.js | ||
| var P = typeof performance == "object" && typeof performance.now == "function" ? function() { | ||
| return performance.now(); | ||
| } : function() { | ||
| return Date.now(); | ||
| }; | ||
| function we(e) { | ||
| cancelAnimationFrame(e.id); | ||
| } | ||
| function Te(e, t) { | ||
| var n = P(); | ||
| function r() { | ||
| P() - n >= t ? e.call(null) : i.id = requestAnimationFrame(r); | ||
| } | ||
| var i = { id: requestAnimationFrame(r) }; | ||
| return i; | ||
| } | ||
| var F = -1; | ||
| function Ee(e) { | ||
| if (e === void 0 && (e = !1), F === -1 || e) { | ||
| var t = document.createElement("div"), n = t.style; | ||
| n.width = "50px", n.height = "50px", n.overflow = "scroll", document.body.appendChild(t), F = t.offsetWidth - t.clientWidth, document.body.removeChild(t); | ||
| } | ||
| return F; | ||
| } | ||
| var I = null; | ||
| function De(e) { | ||
| if (e === void 0 && (e = !1), I === null || e) { | ||
| var t = document.createElement("div"), n = t.style; | ||
| n.width = "50px", n.height = "50px", n.overflow = "scroll", n.direction = "rtl"; | ||
| var r = document.createElement("div"), i = r.style; | ||
| return i.width = "100px", i.height = "100px", t.appendChild(r), document.body.appendChild(t), t.scrollLeft > 0 ? I = "positive-descending" : (t.scrollLeft = 1, I = t.scrollLeft === 0 ? "negative" : "positive-ascending"), document.body.removeChild(t), I; | ||
| } | ||
| return I; | ||
| } | ||
| var Oe = 150, L = function(e) { | ||
| var t = e.columnIndex; | ||
| return e.data, e.rowIndex + ":" + t; | ||
| }, R = null, z = null, B = null; | ||
| process.env.NODE_ENV !== "production" && typeof window < "u" && window.WeakSet !== void 0 && (R = /* @__PURE__ */ new WeakSet(), z = /* @__PURE__ */ new WeakSet(), B = /* @__PURE__ */ new WeakSet()); | ||
| function ke(e) { | ||
| var t, n = e.getColumnOffset, r = e.getColumnStartIndexForOffset, i = e.getColumnStopIndexForStartIndex, a = e.getColumnWidth, o = e.getEstimatedTotalHeight, s = e.getEstimatedTotalWidth, c = e.getOffsetForColumnAndAlignment, l = e.getOffsetForRowAndAlignment, u = e.getRowHeight, d = e.getRowOffset, f = e.getRowStartIndexForOffset, p = e.getRowStopIndexForStartIndex, m = e.initInstanceProps, h = e.shouldResetStyleCacheOnItemSizeChange, g = e.validateProps; | ||
| return t = /* @__PURE__ */ function(e) { | ||
| xe(t, e); | ||
| function t(t) { | ||
| var r = e.call(this, t) || this; | ||
| return r._instanceProps = m(r.props, A(r)), r._resetIsScrollingTimeoutId = null, r._outerRef = void 0, r.state = { | ||
| instance: A(r), | ||
| isScrolling: !1, | ||
| horizontalScrollDirection: "forward", | ||
| scrollLeft: typeof r.props.initialScrollLeft == "number" ? r.props.initialScrollLeft : 0, | ||
| scrollTop: typeof r.props.initialScrollTop == "number" ? r.props.initialScrollTop : 0, | ||
| scrollUpdateWasRequested: !1, | ||
| verticalScrollDirection: "forward" | ||
| }, r._callOnItemsRendered = void 0, r._callOnItemsRendered = M(function(e, t, n, i, a, o, s, c) { | ||
| return r.props.onItemsRendered({ | ||
| overscanColumnStartIndex: e, | ||
| overscanColumnStopIndex: t, | ||
| overscanRowStartIndex: n, | ||
| overscanRowStopIndex: i, | ||
| visibleColumnStartIndex: a, | ||
| visibleColumnStopIndex: o, | ||
| visibleRowStartIndex: s, | ||
| visibleRowStopIndex: c | ||
| }); | ||
| }), r._callOnScroll = void 0, r._callOnScroll = M(function(e, t, n, i, a) { | ||
| return r.props.onScroll({ | ||
| horizontalScrollDirection: n, | ||
| scrollLeft: e, | ||
| scrollTop: t, | ||
| verticalScrollDirection: i, | ||
| scrollUpdateWasRequested: a | ||
| }); | ||
| }), r._getItemStyle = void 0, r._getItemStyle = function(e, t) { | ||
| var i = r.props, o = i.columnWidth, s = i.direction, c = i.rowHeight, l = r._getItemStyleCache(h && o, h && s, h && c), f = e + ":" + t, p; | ||
| if (l.hasOwnProperty(f)) p = l[f]; | ||
| else { | ||
| var m = n(r.props, t, r._instanceProps), g = s === "rtl"; | ||
| l[f] = p = { | ||
| position: "absolute", | ||
| left: g ? void 0 : m, | ||
| right: g ? m : void 0, | ||
| top: d(r.props, e, r._instanceProps), | ||
| height: u(r.props, e, r._instanceProps), | ||
| width: a(r.props, t, r._instanceProps) | ||
| }; | ||
| } | ||
| return p; | ||
| }, r._getItemStyleCache = void 0, r._getItemStyleCache = M(function(e, t, n) { | ||
| return {}; | ||
| }), r._onScroll = function(e) { | ||
| var t = e.currentTarget, n = t.clientHeight, i = t.clientWidth, a = t.scrollLeft, o = t.scrollTop, s = t.scrollHeight, c = t.scrollWidth; | ||
| r.setState(function(e) { | ||
| if (e.scrollLeft === a && e.scrollTop === o) return null; | ||
| var t = r.props.direction, l = a; | ||
| if (t === "rtl") switch (De()) { | ||
| case "negative": | ||
| l = -a; | ||
| break; | ||
| case "positive-descending": | ||
| l = c - i - a; | ||
| break; | ||
| } | ||
| l = Math.max(0, Math.min(l, c - i)); | ||
| var u = Math.max(0, Math.min(o, s - n)); | ||
| return { | ||
| isScrolling: !0, | ||
| horizontalScrollDirection: e.scrollLeft < a ? "forward" : "backward", | ||
| scrollLeft: l, | ||
| scrollTop: u, | ||
| verticalScrollDirection: e.scrollTop < o ? "forward" : "backward", | ||
| scrollUpdateWasRequested: !1 | ||
| }; | ||
| }, r._resetIsScrollingDebounced); | ||
| }, r._outerRefSetter = function(e) { | ||
| var t = r.props.outerRef; | ||
| r._outerRef = e, typeof t == "function" ? t(e) : typeof t == "object" && t && t.hasOwnProperty("current") && (t.current = e); | ||
| }, r._resetIsScrollingDebounced = function() { | ||
| r._resetIsScrollingTimeoutId !== null && we(r._resetIsScrollingTimeoutId), r._resetIsScrollingTimeoutId = Te(r._resetIsScrolling, Oe); | ||
| }, r._resetIsScrolling = function() { | ||
| r._resetIsScrollingTimeoutId = null, r.setState({ isScrolling: !1 }, function() { | ||
| r._getItemStyleCache(-1); | ||
| }); | ||
| }, r; | ||
| } | ||
| t.getDerivedStateFromProps = function(e, t) { | ||
| return V(e, t), g(e), null; | ||
| }; | ||
| var _ = t.prototype; | ||
| return _.scrollTo = function(e) { | ||
| var t = e.scrollLeft, n = e.scrollTop; | ||
| t !== void 0 && (t = Math.max(0, t)), n !== void 0 && (n = Math.max(0, n)), this.setState(function(e) { | ||
| return t === void 0 && (t = e.scrollLeft), n === void 0 && (n = e.scrollTop), e.scrollLeft === t && e.scrollTop === n ? null : { | ||
| horizontalScrollDirection: e.scrollLeft < t ? "forward" : "backward", | ||
| scrollLeft: t, | ||
| scrollTop: n, | ||
| scrollUpdateWasRequested: !0, | ||
| verticalScrollDirection: e.scrollTop < n ? "forward" : "backward" | ||
| }; | ||
| }, this._resetIsScrollingDebounced); | ||
| }, _.scrollToItem = function(e) { | ||
| var t = e.align, n = t === void 0 ? "auto" : t, r = e.columnIndex, i = e.rowIndex, a = this.props, u = a.columnCount, d = a.height, f = a.rowCount, p = a.width, m = this.state, h = m.scrollLeft, g = m.scrollTop, _ = Ee(); | ||
| r !== void 0 && (r = Math.max(0, Math.min(r, u - 1))), i !== void 0 && (i = Math.max(0, Math.min(i, f - 1))); | ||
| var v = o(this.props, this._instanceProps), ee = s(this.props, this._instanceProps) > p ? _ : 0, y = v > d ? _ : 0; | ||
| this.scrollTo({ | ||
| scrollLeft: r === void 0 ? h : c(this.props, r, n, h, this._instanceProps, y), | ||
| scrollTop: i === void 0 ? g : l(this.props, i, n, g, this._instanceProps, ee) | ||
| }); | ||
| }, _.componentDidMount = function() { | ||
| var e = this.props, t = e.initialScrollLeft, n = e.initialScrollTop; | ||
| if (this._outerRef != null) { | ||
| var r = this._outerRef; | ||
| typeof t == "number" && (r.scrollLeft = t), typeof n == "number" && (r.scrollTop = n); | ||
| } | ||
| this._callPropsCallbacks(); | ||
| }, _.componentDidUpdate = function() { | ||
| var e = this.props.direction, t = this.state, n = t.scrollLeft, r = t.scrollTop; | ||
| if (t.scrollUpdateWasRequested && this._outerRef != null) { | ||
| var i = this._outerRef; | ||
| if (e === "rtl") switch (De()) { | ||
| case "negative": | ||
| i.scrollLeft = -n; | ||
| break; | ||
| case "positive-ascending": | ||
| i.scrollLeft = n; | ||
| break; | ||
| default: | ||
| var a = i.clientWidth; | ||
| i.scrollLeft = i.scrollWidth - a - n; | ||
| break; | ||
| } | ||
| else i.scrollLeft = Math.max(0, n); | ||
| i.scrollTop = Math.max(0, r); | ||
| } | ||
| this._callPropsCallbacks(); | ||
| }, _.componentWillUnmount = function() { | ||
| this._resetIsScrollingTimeoutId !== null && we(this._resetIsScrollingTimeoutId); | ||
| }, _.render = function() { | ||
| var e = this.props, t = e.children, n = e.className, r = e.columnCount, i = e.direction, a = e.height, c = e.innerRef, l = e.innerElementType, u = e.innerTagName, d = e.itemData, f = e.itemKey, p = f === void 0 ? L : f, m = e.outerElementType, h = e.outerTagName, g = e.rowCount, _ = e.style, v = e.useIsScrolling, ee = e.width, y = this.state.isScrolling, te = this._getHorizontalRangeToRender(), ne = te[0], re = te[1], ie = this._getVerticalRangeToRender(), ae = ie[0], oe = ie[1], se = []; | ||
| if (r > 0 && g) for (var b = ae; b <= oe; b++) for (var x = ne; x <= re; x++) se.push(C(t, { | ||
| columnIndex: x, | ||
| data: d, | ||
| isScrolling: v ? y : void 0, | ||
| key: p({ | ||
| columnIndex: x, | ||
| data: d, | ||
| rowIndex: b | ||
| }), | ||
| rowIndex: b, | ||
| style: this._getItemStyle(b, x) | ||
| })); | ||
| var ce = o(this.props, this._instanceProps), le = s(this.props, this._instanceProps); | ||
| return C(m || h || "div", { | ||
| className: n, | ||
| onScroll: this._onScroll, | ||
| ref: this._outerRefSetter, | ||
| style: k({ | ||
| position: "relative", | ||
| height: a, | ||
| width: ee, | ||
| overflow: "auto", | ||
| WebkitOverflowScrolling: "touch", | ||
| willChange: "transform", | ||
| direction: i | ||
| }, _) | ||
| }, C(l || u || "div", { | ||
| children: se, | ||
| ref: c, | ||
| style: { | ||
| height: ce, | ||
| pointerEvents: y ? "none" : void 0, | ||
| width: le | ||
| } | ||
| })); | ||
| }, _._callPropsCallbacks = function() { | ||
| var e = this.props, t = e.columnCount, n = e.onItemsRendered, r = e.onScroll, i = e.rowCount; | ||
| if (typeof n == "function" && t > 0 && i > 0) { | ||
| var a = this._getHorizontalRangeToRender(), o = a[0], s = a[1], c = a[2], l = a[3], u = this._getVerticalRangeToRender(), d = u[0], f = u[1], p = u[2], m = u[3]; | ||
| this._callOnItemsRendered(o, s, d, f, c, l, p, m); | ||
| } | ||
| if (typeof r == "function") { | ||
| var h = this.state, g = h.horizontalScrollDirection, _ = h.scrollLeft, v = h.scrollTop, ee = h.scrollUpdateWasRequested, y = h.verticalScrollDirection; | ||
| this._callOnScroll(_, v, g, y, ee); | ||
| } | ||
| }, _._getHorizontalRangeToRender = function() { | ||
| var e = this.props, t = e.columnCount, n = e.overscanColumnCount, a = e.overscanColumnsCount, o = e.overscanCount, s = e.rowCount, c = this.state, l = c.horizontalScrollDirection, u = c.isScrolling, d = c.scrollLeft, f = n || a || o || 1; | ||
| if (t === 0 || s === 0) return [ | ||
| 0, | ||
| 0, | ||
| 0, | ||
| 0 | ||
| ]; | ||
| var p = r(this.props, d, this._instanceProps), m = i(this.props, p, d, this._instanceProps), h = !u || l === "backward" ? Math.max(1, f) : 1, g = !u || l === "forward" ? Math.max(1, f) : 1; | ||
| return [ | ||
| Math.max(0, p - h), | ||
| Math.max(0, Math.min(t - 1, m + g)), | ||
| p, | ||
| m | ||
| ]; | ||
| }, _._getVerticalRangeToRender = function() { | ||
| var e = this.props, t = e.columnCount, n = e.overscanCount, r = e.overscanRowCount, i = e.overscanRowsCount, a = e.rowCount, o = this.state, s = o.isScrolling, c = o.verticalScrollDirection, l = o.scrollTop, u = r || i || n || 1; | ||
| if (t === 0 || a === 0) return [ | ||
| 0, | ||
| 0, | ||
| 0, | ||
| 0 | ||
| ]; | ||
| var d = f(this.props, l, this._instanceProps), m = p(this.props, d, l, this._instanceProps), h = !s || c === "backward" ? Math.max(1, u) : 1, g = !s || c === "forward" ? Math.max(1, u) : 1; | ||
| return [ | ||
| Math.max(0, d - h), | ||
| Math.max(0, Math.min(a - 1, m + g)), | ||
| d, | ||
| m | ||
| ]; | ||
| }, t; | ||
| }(S), t.defaultProps = { | ||
| direction: "ltr", | ||
| itemData: void 0, | ||
| useIsScrolling: !1 | ||
| }, t; | ||
| } | ||
| var V = function(e, t) { | ||
| var n = e.children, r = e.direction, i = e.height, a = e.innerTagName, o = e.outerTagName, s = e.overscanColumnsCount, c = e.overscanCount, l = e.overscanRowsCount, u = e.width, d = t.instance; | ||
| if (process.env.NODE_ENV !== "production") { | ||
| if (typeof c == "number" && R && !R.has(d) && (R.add(d), console.warn("The overscanCount prop has been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (typeof s == "number" || typeof l == "number") && z && !z.has(d) && (z.add(d), console.warn("The overscanColumnsCount and overscanRowsCount props have been deprecated. Please use the overscanColumnCount and overscanRowCount props instead.")), (a != null || o != null) && B && !B.has(d) && (B.add(d), console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead.")), n == null) throw Error("An invalid \"children\" prop has been specified. Value should be a React component. " + ("\"" + (n === null ? "null" : typeof n) + "\" was specified.")); | ||
| switch (r) { | ||
| case "ltr": | ||
| case "rtl": break; | ||
| default: throw Error("An invalid \"direction\" prop has been specified. Value should be either \"ltr\" or \"rtl\". " + ("\"" + r + "\" was specified.")); | ||
| } | ||
| if (typeof u != "number") throw Error("An invalid \"width\" prop has been specified. Grids must specify a number for width. " + ("\"" + (u === null ? "null" : typeof u) + "\" was specified.")); | ||
| if (typeof i != "number") throw Error("An invalid \"height\" prop has been specified. Grids must specify a number for height. " + ("\"" + (i === null ? "null" : typeof i) + "\" was specified.")); | ||
| } | ||
| }, Ae = 50, je = function(e, t) { | ||
| var n = e.rowCount, r = t.rowMetadataMap, i = t.estimatedRowHeight, a = t.lastMeasuredRowIndex, o = 0; | ||
| if (a >= n && (a = n - 1), a >= 0) { | ||
| var s = r[a]; | ||
| o = s.offset + s.size; | ||
| } | ||
| var c = (n - a - 1) * i; | ||
| return o + c; | ||
| }, H = function(e, t) { | ||
| var n = e.columnCount, r = t.columnMetadataMap, i = t.estimatedColumnWidth, a = t.lastMeasuredColumnIndex, o = 0; | ||
| if (a >= n && (a = n - 1), a >= 0) { | ||
| var s = r[a]; | ||
| o = s.offset + s.size; | ||
| } | ||
| var c = (n - a - 1) * i; | ||
| return o + c; | ||
| }, U = function(e, t, n, r) { | ||
| var i, a, o; | ||
| if (e === "column" ? (i = r.columnMetadataMap, a = t.columnWidth, o = r.lastMeasuredColumnIndex) : (i = r.rowMetadataMap, a = t.rowHeight, o = r.lastMeasuredRowIndex), n > o) { | ||
| var s = 0; | ||
| if (o >= 0) { | ||
| var c = i[o]; | ||
| s = c.offset + c.size; | ||
| } | ||
| for (var l = o + 1; l <= n; l++) { | ||
| var u = a(l); | ||
| i[l] = { | ||
| offset: s, | ||
| size: u | ||
| }, s += u; | ||
| } | ||
| e === "column" ? r.lastMeasuredColumnIndex = n : r.lastMeasuredRowIndex = n; | ||
| } | ||
| return i[n]; | ||
| }, Me = function(e, t, n, r) { | ||
| var i, a; | ||
| return e === "column" ? (i = n.columnMetadataMap, a = n.lastMeasuredColumnIndex) : (i = n.rowMetadataMap, a = n.lastMeasuredRowIndex), (a > 0 ? i[a].offset : 0) >= r ? Ne(e, t, n, a, 0, r) : Pe(e, t, n, Math.max(0, a), r); | ||
| }, Ne = function(e, t, n, r, i, a) { | ||
| for (; i <= r;) { | ||
| var o = i + Math.floor((r - i) / 2), s = U(e, t, o, n).offset; | ||
| if (s === a) return o; | ||
| s < a ? i = o + 1 : s > a && (r = o - 1); | ||
| } | ||
| return i > 0 ? i - 1 : 0; | ||
| }, Pe = function(e, t, n, r, i) { | ||
| for (var a = e === "column" ? t.columnCount : t.rowCount, o = 1; r < a && U(e, t, r, n).offset < i;) r += o, o *= 2; | ||
| return Ne(e, t, n, Math.min(r, a - 1), Math.floor(r / 2), i); | ||
| }, Fe = function(e, t, n, r, i, a, o) { | ||
| var s = e === "column" ? t.width : t.height, c = U(e, t, n, a), l = e === "column" ? H(t, a) : je(t, a), u = Math.max(0, Math.min(l - s, c.offset)), d = Math.max(0, c.offset - s + o + c.size); | ||
| switch (r === "smart" && (r = i >= d - s && i <= u + s ? "auto" : "center"), r) { | ||
| case "start": return u; | ||
| case "end": return d; | ||
| case "center": return Math.round(d + (u - d) / 2); | ||
| default: return i >= d && i <= u ? i : d > u || i < d ? d : u; | ||
| } | ||
| }, Ie = /* @__PURE__ */ ke({ | ||
| getColumnOffset: function(e, t, n) { | ||
| return U("column", e, t, n).offset; | ||
| }, | ||
| getColumnStartIndexForOffset: function(e, t, n) { | ||
| return Me("column", e, n, t); | ||
| }, | ||
| getColumnStopIndexForStartIndex: function(e, t, n, r) { | ||
| for (var i = e.columnCount, a = e.width, o = U("column", e, t, r), s = n + a, c = o.offset + o.size, l = t; l < i - 1 && c < s;) l++, c += U("column", e, l, r).size; | ||
| return l; | ||
| }, | ||
| getColumnWidth: function(e, t, n) { | ||
| return n.columnMetadataMap[t].size; | ||
| }, | ||
| getEstimatedTotalHeight: je, | ||
| getEstimatedTotalWidth: H, | ||
| getOffsetForColumnAndAlignment: function(e, t, n, r, i, a) { | ||
| return Fe("column", e, t, n, r, i, a); | ||
| }, | ||
| getOffsetForRowAndAlignment: function(e, t, n, r, i, a) { | ||
| return Fe("row", e, t, n, r, i, a); | ||
| }, | ||
| getRowOffset: function(e, t, n) { | ||
| return U("row", e, t, n).offset; | ||
| }, | ||
| getRowHeight: function(e, t, n) { | ||
| return n.rowMetadataMap[t].size; | ||
| }, | ||
| getRowStartIndexForOffset: function(e, t, n) { | ||
| return Me("row", e, n, t); | ||
| }, | ||
| getRowStopIndexForStartIndex: function(e, t, n, r) { | ||
| for (var i = e.rowCount, a = e.height, o = U("row", e, t, r), s = n + a, c = o.offset + o.size, l = t; l < i - 1 && c < s;) l++, c += U("row", e, l, r).size; | ||
| return l; | ||
| }, | ||
| initInstanceProps: function(e, t) { | ||
| var n = e, r = n.estimatedColumnWidth, i = n.estimatedRowHeight, a = { | ||
| columnMetadataMap: {}, | ||
| estimatedColumnWidth: r || Ae, | ||
| estimatedRowHeight: i || Ae, | ||
| lastMeasuredColumnIndex: -1, | ||
| lastMeasuredRowIndex: -1, | ||
| rowMetadataMap: {} | ||
| }; | ||
| return t.resetAfterColumnIndex = function(e, n) { | ||
| n === void 0 && (n = !0), t.resetAfterIndices({ | ||
| columnIndex: e, | ||
| shouldForceUpdate: n | ||
| }); | ||
| }, t.resetAfterRowIndex = function(e, n) { | ||
| n === void 0 && (n = !0), t.resetAfterIndices({ | ||
| rowIndex: e, | ||
| shouldForceUpdate: n | ||
| }); | ||
| }, t.resetAfterIndices = function(e) { | ||
| var n = e.columnIndex, r = e.rowIndex, i = e.shouldForceUpdate, o = i === void 0 ? !0 : i; | ||
| typeof n == "number" && (a.lastMeasuredColumnIndex = Math.min(a.lastMeasuredColumnIndex, n - 1)), typeof r == "number" && (a.lastMeasuredRowIndex = Math.min(a.lastMeasuredRowIndex, r - 1)), t._getItemStyleCache(-1), o && t.forceUpdate(); | ||
| }, a; | ||
| }, | ||
| shouldResetStyleCacheOnItemSizeChange: !1, | ||
| validateProps: function(e) { | ||
| var t = e.columnWidth, n = e.rowHeight; | ||
| if (process.env.NODE_ENV !== "production") { | ||
| if (typeof t != "function") throw Error("An invalid \"columnWidth\" prop has been specified. Value should be a function. " + ("\"" + (t === null ? "null" : typeof t) + "\" was specified.")); | ||
| if (typeof n != "function") throw Error("An invalid \"rowHeight\" prop has been specified. Value should be a function. " + ("\"" + (n === null ? "null" : typeof n) + "\" was specified.")); | ||
| } | ||
| } | ||
| }); | ||
| process.env.NODE_ENV !== "production" && typeof window < "u" && window.WeakSet; | ||
| function W(e, t) { | ||
| for (var n in e) if (!(n in t)) return !0; | ||
| for (var r in t) if (e[r] !== t[r]) return !0; | ||
| return !1; | ||
| } | ||
| var G = ["style"], K = ["style"]; | ||
| function q(e, t) { | ||
| var n = e.style, r = N(e, G), i = t.style, a = N(t, K); | ||
| return !W(n, i) && !W(r, a); | ||
| } | ||
| //#endregion | ||
| //#region node_modules/.pnpm/react-virtualized-auto-sizer@1.0.26_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js | ||
| var J = typeof window < "u" ? window : typeof self < "u" ? self : global, Y = null, X = null, Le = 20, Z = J.clearTimeout, Re = J.setTimeout, Q = J.cancelAnimationFrame || J.mozCancelAnimationFrame || J.webkitCancelAnimationFrame, $ = J.requestAnimationFrame || J.mozRequestAnimationFrame || J.webkitRequestAnimationFrame; | ||
| Q == null || $ == null ? (Y = Z, X = function(e) { | ||
| return Re(e, Le); | ||
| }) : (Y = function([e, t]) { | ||
| Q(e), Z(t); | ||
| }, X = function(e) { | ||
| let t = $(function() { | ||
| Z(n), e(); | ||
| }), n = Re(function() { | ||
| Q(t), e(); | ||
| }, Le); | ||
| return [t, n]; | ||
| }); | ||
| function ze(e) { | ||
| let t, n, r, i, a, o, s, c = typeof document < "u" && document.attachEvent; | ||
| if (!c) { | ||
| o = function(e) { | ||
| let t = e.__resizeTriggers__, n = t.firstElementChild, r = t.lastElementChild, i = n.firstElementChild; | ||
| r.scrollLeft = r.scrollWidth, r.scrollTop = r.scrollHeight, i.style.width = n.offsetWidth + 1 + "px", i.style.height = n.offsetHeight + 1 + "px", n.scrollLeft = n.scrollWidth, n.scrollTop = n.scrollHeight; | ||
| }, a = function(e) { | ||
| return e.offsetWidth !== e.__resizeLast__.width || e.offsetHeight !== e.__resizeLast__.height; | ||
| }, s = function(e) { | ||
| if (e.target.className && typeof e.target.className.indexOf == "function" && e.target.className.indexOf("contract-trigger") < 0 && e.target.className.indexOf("expand-trigger") < 0) return; | ||
| let t = this; | ||
| o(this), this.__resizeRAF__ && Y(this.__resizeRAF__), this.__resizeRAF__ = X(function() { | ||
| a(t) && (t.__resizeLast__.width = t.offsetWidth, t.__resizeLast__.height = t.offsetHeight, t.__resizeListeners__.forEach(function(n) { | ||
| n.call(t, e); | ||
| })); | ||
| }); | ||
| }; | ||
| let e = !1, c = ""; | ||
| r = "animationstart"; | ||
| let l = "Webkit Moz O ms".split(" "), u = "webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "), d = ""; | ||
| { | ||
| let t = document.createElement("fakeelement"); | ||
| if (t.style.animationName !== void 0 && (e = !0), e === !1) { | ||
| for (let n = 0; n < l.length; n++) if (t.style[l[n] + "AnimationName"] !== void 0) { | ||
| d = l[n], c = "-" + d.toLowerCase() + "-", r = u[n], e = !0; | ||
| break; | ||
| } | ||
| } | ||
| } | ||
| n = "resizeanim", t = "@" + c + "keyframes " + n + " { from { opacity: 0; } to { opacity: 0; } } ", i = c + "animation: 1ms " + n + "; "; | ||
| } | ||
| let l = function(n) { | ||
| if (!n.getElementById("detectElementResize")) { | ||
| let r = (t || "") + ".resize-triggers { " + (i || "") + "visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }", a = n.head || n.getElementsByTagName("head")[0], o = n.createElement("style"); | ||
| o.id = "detectElementResize", o.type = "text/css", e != null && o.setAttribute("nonce", e), o.styleSheet ? o.styleSheet.cssText = r : o.appendChild(n.createTextNode(r)), a.appendChild(o); | ||
| } | ||
| }; | ||
| return { | ||
| addResizeListener: function(e, t) { | ||
| if (c) e.attachEvent("onresize", t); | ||
| else { | ||
| if (!e.__resizeTriggers__) { | ||
| let t = e.ownerDocument, i = J.getComputedStyle(e); | ||
| i && i.position === "static" && (e.style.position = "relative"), l(t), e.__resizeLast__ = {}, e.__resizeListeners__ = [], (e.__resizeTriggers__ = t.createElement("div")).className = "resize-triggers"; | ||
| let a = t.createElement("div"); | ||
| a.className = "expand-trigger", a.appendChild(t.createElement("div")); | ||
| let c = t.createElement("div"); | ||
| c.className = "contract-trigger", e.__resizeTriggers__.appendChild(a), e.__resizeTriggers__.appendChild(c), e.appendChild(e.__resizeTriggers__), o(e), e.addEventListener("scroll", s, !0), r && (e.__resizeTriggers__.__animationListener__ = function(t) { | ||
| t.animationName === n && o(e); | ||
| }, e.__resizeTriggers__.addEventListener(r, e.__resizeTriggers__.__animationListener__)); | ||
| } | ||
| e.__resizeListeners__.push(t); | ||
| } | ||
| }, | ||
| removeResizeListener: function(e, t) { | ||
| if (c) e.detachEvent("onresize", t); | ||
| else if (e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t), 1), !e.__resizeListeners__.length) { | ||
| e.removeEventListener("scroll", s, !0), e.__resizeTriggers__.__animationListener__ && (e.__resizeTriggers__.removeEventListener(r, e.__resizeTriggers__.__animationListener__), e.__resizeTriggers__.__animationListener__ = null); | ||
| try { | ||
| e.__resizeTriggers__ = !e.removeChild(e.__resizeTriggers__); | ||
| } catch {} | ||
| } | ||
| } | ||
| }; | ||
| } | ||
| var Be = class extends pe { | ||
| constructor(...e) { | ||
| super(...e), this.state = { | ||
| height: this.props.defaultHeight || 0, | ||
| width: this.props.defaultWidth || 0 | ||
| }, this._autoSizer = null, this._detectElementResize = null, this._didLogDeprecationWarning = !1, this._parentNode = null, this._resizeObserver = null, this._timeoutId = null, this._onResize = () => { | ||
| this._timeoutId = null; | ||
| let { disableHeight: e, disableWidth: t, onResize: n } = this.props; | ||
| if (this._parentNode) { | ||
| let r = window.getComputedStyle(this._parentNode) || {}, i = parseFloat(r.paddingLeft || "0"), a = parseFloat(r.paddingRight || "0"), o = parseFloat(r.paddingTop || "0"), s = parseFloat(r.paddingBottom || "0"), c = this._parentNode.getBoundingClientRect(), l = c.height - o - s, u = c.width - i - a; | ||
| if (!e && this.state.height !== l || !t && this.state.width !== u) { | ||
| this.setState({ | ||
| height: l, | ||
| width: u | ||
| }); | ||
| let e = () => { | ||
| this._didLogDeprecationWarning || (this._didLogDeprecationWarning = !0, console.warn("scaledWidth and scaledHeight parameters have been deprecated; use width and height instead")); | ||
| }; | ||
| typeof n == "function" && n({ | ||
| height: l, | ||
| width: u, | ||
| get scaledHeight() { | ||
| return e(), l; | ||
| }, | ||
| get scaledWidth() { | ||
| return e(), u; | ||
| } | ||
| }); | ||
| } | ||
| } | ||
| }, this._setRef = (e) => { | ||
| this._autoSizer = e; | ||
| }; | ||
| } | ||
| componentDidMount() { | ||
| let { nonce: e } = this.props, t = this._autoSizer ? this._autoSizer.parentNode : null; | ||
| if (t != null && t.ownerDocument && t.ownerDocument.defaultView && t instanceof t.ownerDocument.defaultView.HTMLElement) { | ||
| this._parentNode = t; | ||
| let n = t.ownerDocument.defaultView.ResizeObserver; | ||
| n == null ? (this._detectElementResize = ze(e), this._detectElementResize.addResizeListener(t, this._onResize)) : (this._resizeObserver = new n(() => { | ||
| this._timeoutId = setTimeout(this._onResize, 0); | ||
| }), this._resizeObserver.observe(t)), this._onResize(); | ||
| } | ||
| } | ||
| componentWillUnmount() { | ||
| this._parentNode && (this._detectElementResize && this._detectElementResize.removeResizeListener(this._parentNode, this._onResize), this._timeoutId !== null && clearTimeout(this._timeoutId), this._resizeObserver && this._resizeObserver.disconnect()); | ||
| } | ||
| render() { | ||
| let { children: e, defaultHeight: t, defaultWidth: n, disableHeight: r = !1, disableWidth: i = !1, doNotBailOutOnEmptyChildren: a = !1, nonce: o, onResize: s, style: c = {}, tagName: l = "div", ...u } = this.props, { height: d, width: f } = this.state, p = { overflow: "visible" }, m = {}, h = !1; | ||
| return r || (d === 0 && (h = !0), p.height = 0, m.height = d, m.scaledHeight = d), i || (f === 0 && (h = !0), p.width = 0, m.width = f, m.scaledWidth = f), a && (h = !1), C(l, { | ||
| ref: this._setRef, | ||
| style: { | ||
| ...p, | ||
| ...c | ||
| }, | ||
| ...u | ||
| }, !h && e(m)); | ||
| } | ||
| }, Ve = me(({ columnIndex: e, rowIndex: t, data: n, style: r }) => { | ||
| let i = p(t, e, n.columnCount, n.isDualPageWithCover); | ||
| if (i <= 0) return null; | ||
| if (n.isDualPageWithCover) { | ||
| let a = i === n.totalPages && n.totalPages % 2 == 0; | ||
| if (t === 0 && i === 1 || a && e === 0) { | ||
| let e = n.columnWidths.reduce((e, t) => e + t, 0); | ||
| return /* @__PURE__ */ D("div", { | ||
| style: { | ||
| ...r, | ||
| width: e, | ||
| display: "flex", | ||
| justifyContent: "center", | ||
| alignItems: "flex-start" | ||
| }, | ||
| children: /* @__PURE__ */ D(y, { | ||
| style: { position: "relative" }, | ||
| pageNumber: i | ||
| }, i) | ||
| }); | ||
| } | ||
| } | ||
| return n.columnCount === 2 ? /* @__PURE__ */ D("div", { | ||
| style: { | ||
| ...r, | ||
| display: "flex", | ||
| justifyContent: e === 0 ? "flex-end" : "flex-start", | ||
| alignItems: "flex-start" | ||
| }, | ||
| children: /* @__PURE__ */ D(y, { | ||
| style: { position: "relative" }, | ||
| pageNumber: i | ||
| }, i) | ||
| }) : /* @__PURE__ */ D(y, { | ||
| style: r, | ||
| pageNumber: i | ||
| }, i); | ||
| }, q), He = () => { | ||
| let p = E(new _e()), { initialPage: y = 1, initialScrollMode: pe } = o(), { pagesRef: S, setPagesRef: C, setContentRef: me } = u(), { scrollToPage: k } = m(); | ||
| ue(S); | ||
| let { virtualScrollRef: A, getVirtualScrollRef: be, getPageScrollElementRef: xe, getVirtualScrollableElementRef: Se, setTotalInnerDimensions: Ce, virtualScrollableElementRef: j, totalInnerDimensions: M, pageScrollElementRef: N } = l(), P = E(y > 1), [we, Te] = ge(y > 1), { nextPage: F, prevPage: Ee, setFocusedPage: I, focusedPage: De, totalPages: Oe } = h(), { scrollMode: L } = s(), { viewMode: R } = c(), z = E(null), B = E(null), { loading: ke, error: V } = a(), { passwordRequired: Ae } = i(), { LoaderImageComponent: je } = ee(), H = E(M), U = E({ | ||
| viewMode: R, | ||
| scrollMode: L | ||
| }), Me = E(!1), Ne = E(), { isFullScreen: Pe } = _(), { pageDimension: Fe, rowCount: W, rowHeight: G, columnCount: K, columnWidth: q, estimatedColumnWidth: J, estimatedRowHeight: Y, totalDimension: X } = te(), Le = f(M, 100), { onScroll: Z, onTextSelect: Re } = d(); | ||
| de({ | ||
| onTextSelect: Re, | ||
| pagesRef: S | ||
| }); | ||
| let Q = E(); | ||
| x(K, W, j, R); | ||
| let $ = E({ | ||
| scrollTop: 0, | ||
| scrollLeft: 0 | ||
| }); | ||
| se(S); | ||
| let { isPressed: ze } = ae(), { selectionMode: He } = g(), { initializeGrabScroll: Ue, resetGrabState: We } = oe({ isPressed: ze }), Ge = he(() => He === n.HAND, [He]), Ke = he(() => { | ||
| let e = Array.from({ length: K }, (e, t) => q(t)); | ||
| return { | ||
| columnCount: K, | ||
| isDualPageWithCover: R === r.DUAL_PAGE_WITH_COVER, | ||
| columnWidths: e, | ||
| totalPages: Oe | ||
| }; | ||
| }, [ | ||
| K, | ||
| R, | ||
| q, | ||
| Oe | ||
| ]), qe = w((e) => { | ||
| let t = document.activeElement !== S; | ||
| !Pe && t || (["ArrowUp", "ArrowLeft"].includes(e.key) ? (e.preventDefault(), Ee()) : ["ArrowDown", "ArrowRight"].includes(e.key) && (e.preventDefault(), F())); | ||
| }, [ | ||
| F, | ||
| Ee, | ||
| Pe, | ||
| L | ||
| ]); | ||
| T(() => (window.addEventListener("keydown", qe), () => { | ||
| window.removeEventListener("keydown", qe); | ||
| }), [qe]), T(() => { | ||
| if (z.current && (z.current.style.position = "relative"), A) for (let e = 0; e < W; e++) for (let t = 0; t < K; t++) A.resetAfterIndices({ | ||
| columnIndex: t, | ||
| rowIndex: e, | ||
| shouldForceUpdate: !0 | ||
| }); | ||
| }, [ | ||
| W, | ||
| K, | ||
| Fe, | ||
| A | ||
| ]); | ||
| let Je = w((e, t) => { | ||
| if (!j) return { | ||
| scrollTop: 0, | ||
| scrollLeft: 0 | ||
| }; | ||
| let n = $.current.scrollTop > t, r = $.current.scrollLeft > e; | ||
| return n || r ? $.current : { | ||
| scrollTop: j.scrollTop, | ||
| scrollLeft: j.scrollLeft | ||
| }; | ||
| }, [j]), Ye = w((e, t) => { | ||
| if (U.current.viewMode !== R || U.current.scrollMode !== L) { | ||
| Q.current && clearTimeout(Q.current), Me.current = !0, k(De, "auto"), Q.current = setTimeout(() => { | ||
| requestAnimationFrame(() => { | ||
| U.current = { | ||
| viewMode: R, | ||
| scrollMode: L | ||
| }; | ||
| }); | ||
| }, 100); | ||
| return; | ||
| } | ||
| let n = e.scrollTop, r = e.scrollLeft; | ||
| if (!t.height || !t.width) return; | ||
| Me.current = !0; | ||
| let { height: i, width: a } = t, { height: o, width: s } = H.current; | ||
| if (o === i && s === a) return; | ||
| if (P.current && y > 1) { | ||
| H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| return; | ||
| } | ||
| if (!o || !s) { | ||
| H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| return; | ||
| } | ||
| if (n === 0 && r === 0) { | ||
| H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| return; | ||
| } | ||
| let c = n / o * i, l = r / s * a, u = Math.round(Math.min(c, i)) || 0, d = Math.round(Math.min(l, a)) || 0; | ||
| Ne.current = setTimeout(() => { | ||
| requestAnimationFrame(() => { | ||
| j?.scrollTo({ | ||
| top: u, | ||
| left: d, | ||
| behavior: "auto" | ||
| }); | ||
| }); | ||
| }, 0), H.current = { | ||
| height: t.height, | ||
| width: t.width | ||
| }; | ||
| }, [ | ||
| j, | ||
| R, | ||
| L, | ||
| k, | ||
| y | ||
| ]); | ||
| T(() => { | ||
| clearTimeout(Ne.current); | ||
| let e = Array.from({ length: W }).reduce((e, t, n) => e + G(n), 0), t = Array.from({ length: K }).reduce((e, t, n) => e + q(n), 0), n = Je(t, e); | ||
| $.current = n, Ye(n, { | ||
| height: e, | ||
| width: t | ||
| }), Ce({ | ||
| height: e, | ||
| width: t | ||
| }); | ||
| }, [ | ||
| Fe, | ||
| W, | ||
| K, | ||
| Ye | ||
| ]); | ||
| let Xe = w((e) => { | ||
| $.current = { | ||
| scrollTop: e.scrollTop, | ||
| scrollLeft: e.scrollLeft | ||
| }; | ||
| }, [j]); | ||
| T(() => { | ||
| if (Z) return N && N.addEventListener("scroll", Z), j && j.addEventListener("scroll", Z), () => { | ||
| N?.removeEventListener("scroll", Z), j?.removeEventListener("scroll", Z); | ||
| }; | ||
| }, [ | ||
| j, | ||
| N, | ||
| Z | ||
| ]), T(() => () => { | ||
| Q.current && clearTimeout(Q.current); | ||
| }, []); | ||
| let Ze = he(() => v(O["rp-pages-container"], { | ||
| [O["rp-cursor-grab"]]: Ge && !ze, | ||
| [O["rp-cursor-grabbing"]]: Ge && ze | ||
| }), [Ge, ze]), Qe = w((e) => { | ||
| if (Ge && e) { | ||
| let e = v(O["rp-pages"]); | ||
| Ue(document.querySelector(`.${e}`)); | ||
| } | ||
| }, [ | ||
| Ge, | ||
| Ue, | ||
| O | ||
| ]); | ||
| return T(() => { | ||
| ke && We(); | ||
| }, [ke]), T(() => { | ||
| if (V !== e.INVALID_OR_CORRUPTED_PDF) return; | ||
| let t = requestAnimationFrame(() => { | ||
| B.current?.focus(); | ||
| }); | ||
| return () => { | ||
| cancelAnimationFrame(t); | ||
| }; | ||
| }, [V]), T(() => { | ||
| if (!(Le.height === 0 || !P.current)) { | ||
| if (pe === t.PAGE_SCROLLING) { | ||
| y !== De && N && I(y), P.current = !1, Te(!1); | ||
| return; | ||
| } | ||
| j && (k(y, "auto"), (j.scrollLeft > 0 || j.scrollTop > 0) && (I(y), P.current = !1, Te(!1))); | ||
| } | ||
| }, [ | ||
| k, | ||
| pe, | ||
| N, | ||
| I, | ||
| Le, | ||
| j | ||
| ]), /* @__PURE__ */ ye(ve, { children: [/* @__PURE__ */ D(le, { | ||
| ref: me, | ||
| children: /* @__PURE__ */ D(ce, { | ||
| ref: C, | ||
| tabIndex: -1, | ||
| className: Ze, | ||
| style: { | ||
| "--scale-round-x": `${fe(p.current.sx)[1]}px`, | ||
| "--scale-round-y": `${fe(p.current.sy)[1]}px` | ||
| }, | ||
| children: /* @__PURE__ */ D(Be, { | ||
| style: { minHeight: "50px" }, | ||
| children: ({ width: n, height: i }) => /* @__PURE__ */ D("div", { | ||
| "data-rp": "pages", | ||
| ref: Qe, | ||
| style: { | ||
| width: n, | ||
| height: i, | ||
| ...we && { visibility: "hidden" } | ||
| }, | ||
| children: L === t.PAGE_SCROLLING ? V === e.INVALID_OR_CORRUPTED_PDF ? /* @__PURE__ */ D("div", { | ||
| ref: B, | ||
| className: O["rp-load-error"], | ||
| style: { | ||
| width: n, | ||
| height: i | ||
| }, | ||
| tabIndex: -1, | ||
| role: "alert", | ||
| "aria-live": "assertive", | ||
| "aria-atomic": "true", | ||
| children: /* @__PURE__ */ D("div", { | ||
| className: O["rp-load-error-message"], | ||
| children: "Invalid or corrupted PDF file." | ||
| }) | ||
| }) : /* @__PURE__ */ D("div", { | ||
| ref: xe, | ||
| style: { | ||
| width: n, | ||
| height: i | ||
| }, | ||
| className: v(O["rp-pages"], O["rp-page-scrolling-wrapper"]), | ||
| children: R === r.DUAL_PAGE ? /* @__PURE__ */ D(ne, { | ||
| widths: q, | ||
| heights: G | ||
| }) : R === r.DUAL_PAGE_WITH_COVER ? /* @__PURE__ */ D(re, { | ||
| widths: q, | ||
| heights: G | ||
| }) : /* @__PURE__ */ D(ie, { | ||
| widths: q, | ||
| heights: G | ||
| }) | ||
| }) : Y ? /* @__PURE__ */ D(Ie, { | ||
| ref: be, | ||
| itemData: Ke, | ||
| outerRef: Se, | ||
| innerRef: z, | ||
| onScroll: Xe, | ||
| columnCount: K, | ||
| columnWidth: q, | ||
| rowHeight: G, | ||
| height: i, | ||
| width: n, | ||
| estimatedColumnWidth: J, | ||
| estimatedRowHeight: Y, | ||
| rowCount: W, | ||
| className: v(O["rp-pages"], L === t.HORIZONTAL_SCROLLING ? O["rp-pages-horizontal-scroll"] : ""), | ||
| style: { | ||
| "--rp-pages-height": `${X.height}px`, | ||
| "--rp-pages-width": `${X.width}px`, | ||
| "--rp-row-count": `${W}`, | ||
| "--rp-column-count": `${K}` | ||
| }, | ||
| children: Ve | ||
| }) : !ke && !V ? /* @__PURE__ */ D("div", { | ||
| className: O["rp-loader"], | ||
| style: { | ||
| display: "flex", | ||
| justifyContent: "center", | ||
| alignItems: "center", | ||
| height: "100%", | ||
| width: "100%" | ||
| }, | ||
| children: je && /* @__PURE__ */ D(je, {}) | ||
| }) : V === e.NOT_SUPPORTED ? /* @__PURE__ */ D("div", { | ||
| className: O["rp-not-supported"], | ||
| children: /* @__PURE__ */ ye("div", { | ||
| className: O["rp-not-supported-content"], | ||
| children: ["React PDF Kit is unable to render on this browser. Please use the supported browsers from the list below:", /* @__PURE__ */ D("div", { children: /* @__PURE__ */ ye("ul", { | ||
| className: O["rp-not-supported-list"], | ||
| children: [ | ||
| /* @__PURE__ */ D("li", { children: "Chrome 126+" }), | ||
| /* @__PURE__ */ D("li", { children: "Edge 126+" }), | ||
| /* @__PURE__ */ D("li", { children: "Firefox 126+" }), | ||
| /* @__PURE__ */ D("li", { children: "Safari 18.4+" }), | ||
| /* @__PURE__ */ D("li", { children: "Safari iOS 18.4+" }), | ||
| /* @__PURE__ */ D("li", { children: "Chrome Android 126+" }) | ||
| ] | ||
| }) })] | ||
| }) | ||
| }) : V === e.INVALID_OR_CORRUPTED_PDF ? /* @__PURE__ */ D("div", { | ||
| ref: B, | ||
| className: O["rp-load-error"], | ||
| tabIndex: -1, | ||
| role: "alert", | ||
| "aria-live": "assertive", | ||
| "aria-atomic": "true", | ||
| children: /* @__PURE__ */ D("div", { | ||
| className: O["rp-load-error-message"], | ||
| children: "Invalid or corrupted PDF file." | ||
| }) | ||
| }) : null | ||
| }) | ||
| }) | ||
| }) | ||
| }), Ae && /* @__PURE__ */ D(b, {})] }); | ||
| }; | ||
| //#endregion | ||
| export { He as t }; |
| import './assets/SearchTool.css';//#region lib/components/layout/toolbar/SearchTool.module.css | ||
| var e = { | ||
| "rp-search-tool-content": "_rp-search-tool-content_t0ih3_1", | ||
| "rp-search-tool-input": "_rp-search-tool-input_t0ih3_10", | ||
| "rp-search-tool-input-icon": "_rp-search-tool-input-icon_t0ih3_17", | ||
| "rp-search-tool-controls": "_rp-search-tool-controls_t0ih3_27", | ||
| "rp-search-tool-input-wrapper": "_rp-search-tool-input-wrapper_t0ih3_35", | ||
| "rp-search-tool-input-checkboxes": "_rp-search-tool-input-checkboxes_t0ih3_41", | ||
| "rp-search-tool-input-clear": "_rp-search-tool-input-clear_t0ih3_46", | ||
| "rp-search-input": "_rp-search-input_t0ih3_60", | ||
| "rp-search-icon-info": "_rp-search-icon-info_t0ih3_66", | ||
| "rp-search-loader-icon": "_rp-search-loader-icon_t0ih3_75", | ||
| "rp-search-tool-result-navigator": "_rp-search-tool-result-navigator_t0ih3_80" | ||
| }; | ||
| //#endregion | ||
| export { e as t }; |
| //#endregion | ||
| //#region lib/assets/style.ts | ||
| var e = "\nbutton{font-family:inherit}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}\n._rp-button_xxds9_1{border-radius:var(--rp-button-border-radius);padding:var(--rp-button-padding);color:var(--rp-text-color);cursor:pointer;font-size:var(--rp-icon-font-size);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._rp-button_xxds9_1[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-button_xxds9_1:hover:not(:disabled),._rp-button-active_xxds9_20:not(:disabled){background:var(--rp-button-hover-background)}._rp-button_xxds9_1:disabled{cursor:not-allowed;color:var(--rp-icon-disabled)}._rp-button_xxds9_1:focus-visible{outline-color:var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:0;outline-style:solid;transition:none}\n._rp-checkbox_1vwg8_1{all:unset;border-radius:var(--rp-checkbox-border-radius);border-color:var(--rp-checkbox-border-color);width:16px;height:16px;box-shadow:0 2px 10px var(--black-a7);background-color:#fff;border-style:solid;border-width:1px;justify-content:center;align-items:center;margin-right:8px;display:flex}._rp-checkbox_1vwg8_1:focus{outline:1px solid var(--rp-primary-color)}._rp-checkbox_1vwg8_1[data-state=checked]{background-color:var(--rp-primary-color)}._rp-checkbox-indicator_1vwg8_25{color:var(--rp-checkbox-indicator-color)}\n._rp-dropdown-content_1vzkq_1{font-family:var(--rp-font-family);font-size:var(--rp-dropdown-font-size);background-color:var(--rp-dropdown-background-color);border-radius:var(--rp-dropdown-border-radius);will-change:transform, opacity;min-width:260px;z-index:calc(var(--rp-base-z-index,1) * 5);animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);box-shadow:0 2px 12px #00000026}._rp-dropdown-content_1vzkq_1[data-side=top]{animation-name:_slideDownAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=right]{animation-name:_slideLeftAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=bottom]{animation-name:_slideUpAndFade_1vzkq_1}._rp-dropdown-content_1vzkq_1[data-side=left]{animation-name:_slideRightAndFade_1vzkq_1}._rp-dropdown-arrow_1vzkq_30{fill:var(--rp-dropdown-background-color)}@keyframes _slideUpAndFade_1vzkq_1{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideRightAndFade_1vzkq_1{0%{opacity:0;transform:translate(-2px)}to{opacity:1;transform:translate(0)}}@keyframes _slideDownAndFade_1vzkq_1{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideLeftAndFade_1vzkq_1{0%{opacity:0;transform:translate(2px)}to{opacity:1;transform:translate(0)}}\n._rp-input_dun7b_1{font-family:var(--rp-font-family);border-width:1px;border-color:var(--rp-input-border-color,transparent);border-radius:var(--rp-input-border-radius);min-height:2rem;color:var(--rp-text-color);background:var(--rp-input-background-color);padding:var(--rp-input-padding);box-sizing:border-box;border-style:solid;outline:none}._rp-input_dun7b_1::placeholder{color:var(--rp-input-placeholder-color)}._rp-input_dun7b_1[data-icon=true]{padding-left:calc(1rem + 14px)}._rp-input_dun7b_1:focus,._rp-input_dun7b_1:focus-visible{border-color:var(--rp-outline-color,var(--rp-primary-color))}._rp-input-wrapper_dun7b_28{position:relative}._rp-input-label_dun7b_32{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-input-icon_dun7b_44{color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0}\n._rp-loading-overlay_wazy2_1{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-loading-modal_wazy2_14{background:var(--rp-print-progress-background);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:240px;min-height:120px;padding:24px;display:flex;box-shadow:0 4px 6px #0000001a}._rp-loading-title_wazy2_27{text-align:center;color:var(--rp-print-progress-color);margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}._rp-loading-progress-bar_wazy2_35{background:#f0f0f0;border-radius:32px;width:100%;height:4px;margin-bottom:16px;position:relative;overflow:hidden}._rp-loading-progress_wazy2_35{background:linear-gradient(90deg, color-mix(in srgb, var(--rp-primary-color) 80%, black) 0%, var(--rp-primary-color) 50%, color-mix(in srgb, var(--rp-primary-color) 80%, white) 100%);border-radius:32px;height:100%;position:absolute}._rp-loading-cancel-button_wazy2_55{color:#666;border-radius:var(--rp-button-border-radius);cursor:pointer;background:0 0;border:1px solid #e2e6e9;width:70px;padding:8px;font-family:system-ui,-apple-system,sans-serif;transition:background-color .2s}._rp-loading-cancel-button_wazy2_55:hover{background:#f5f5f5}@keyframes _loading_wazy2_1{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}}\n._rp-password-overlay_9cdbk_1{z-index:100;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}._rp-password-modal_9cdbk_13{background:var(--rp-password-background-color);border:1px solid var(--rp-password-border-color);border-radius:8px;flex-direction:column;justify-content:start;max-width:360px;margin-left:10px;margin-right:10px;padding:24px;display:flex;box-shadow:0 2px 12px #00000026}._rp-password-title_9cdbk_27{font-family:var(--rp-font-family);color:var(--rp-password-title-font-color);margin-bottom:16px;font-size:16px;font-weight:500}._rp-password-content_9cdbk_35{font-size:14px;font-family:var(--rp-font-family);color:var(--rp-password-content-font-color)}._rp-password-form_9cdbk_41{margin-top:32px}._rp-password-label_9cdbk_45{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._rp-password-input_9cdbk_57{border:1px solid var(--rp-password-input-border-color);border-radius:var(--rp-input-border-radius);box-sizing:border-box;background-color:var(--rp-password-background-color);width:100%;min-height:32px;caret-color:var(--rp-password-input-color);color:var(--rp-password-input-font-color);padding:7.5px;font-size:14px}._rp-password-input_9cdbk_57::placeholder{color:var(--rp-password-input-placeholder-color)}._rp-password-input-invalid_9cdbk_74{border-color:#ff2f61}._rp-password-message-invalid_9cdbk_78{color:#ff2f61;min-height:20px;margin-top:4px}._rp-password-submit-button_9cdbk_84{text-align:center;border-radius:var(--rp-password-button-border-radius);background-color:var(--rp-password-button-background-color);width:100%;min-height:35px;color:var(--rp-password-button-font-color);cursor:pointer;font-family:var(--rp-font-family);border:1px solid var(--rp-password-button-border-color);justify-content:center;align-items:center;margin-top:8px;padding:8px;transition:background-color .2s;display:flex}\n._tooltipContent_12gjy_1{border-radius:var(--rp-tooltip-border-radius);padding:var(--rp-tooltip-padding);background-color:var(--rp-tooltip-background-color);z-index:1000}._tooltipArrow_12gjy_8{fill:var(--rp-tooltip-background-color)}._tooltipContent_12gjy_1 span{color:var(--rp-tooltip-font-color);font-size:var(--rp-tooltip-font-size)}@keyframes _fadeIn_12gjy_1{0%{opacity:0}to{opacity:1}}\n._rp-drop-zone_1sc50_1{z-index:100;background-color:var(--rp-drop-zone-background-color);font-size:var(--rp-drop-zone-font-size);color:var(--rp-drop-zone-font-color);border:dashed var(--rp-drop-zone-border) 1px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._rp-drop-zone-transparent_1sc50_15{z-index:100;background-color:#0000;position:absolute;inset:0}\n._rp-pages_fn8tz_1{justify-content:center;display:flex}._rp-pages_fn8tz_1:not(._rp-page-scrolling-wrapper_fn8tz_6)>div{height:var(--rp-pages-height)!important;width:var(--rp-pages-width)!important}._rp-pages-horizontal-scroll_fn8tz_11{display:block}._rp-not-supported-list_fn8tz_15{margin:0;padding:0 0 0 .5em;list-style-type:disc;list-style-position:inside}._rp-pages-container_fn8tz_23{outline-width:0;height:100%;position:relative}._rp-pages-container_fn8tz_23 .ignore-hover:focus,._rp-pages-container_fn8tz_23 :not(:hover):focus-visible,._rp-pages-container_fn8tz_23 :not(:hover):focus:focus-visible{outline-color:var(--rp-outline-color,-webkit-focus-ring-color);outline-offset:0px;outline-width:1px;outline-style:solid;transition:none}._rp-pages-container_fn8tz_23 .highlight.appended{border-radius:var(--rp-text-layer-highlight-border-radius);background-color:var(--rp-highlight-background-color);opacity:.5}._rp-pages-container_fn8tz_23 .highlight.appended.begin{border-radius:var(--rp-text-layer-highlight-border-radius) 0 0 var(--rp-text-layer-highlight-border-radius)}._rp-pages-container_fn8tz_23 .highlight.appended.middle{border-radius:0}._rp-pages-container_fn8tz_23 .highlight.appended.end{border-radius:0 var(--rp-text-layer-highlight-border-radius) var(--rp-text-layer-highlight-border-radius) 0}._rp-pages-container_fn8tz_23 .highlight.appended.selected{background-color:var(--rp-current-highlight-background-color)}._rp-page-scrolling-wrapper_fn8tz_6{position:relative;overflow:auto}._rp-viewer_fn8tz_65{height:100%;position:relative}._rp-cursor-grab_fn8tz_70{cursor:grab;-webkit-user-select:none;user-select:none}._rp-cursor-grabbing_fn8tz_78{cursor:grabbing;-webkit-user-select:none;user-select:none}._rp-loader_fn8tz_86{background-color:var(--rp-loader-backdrop-color)}._rp-pages-container_fn8tz_23{background:var(--rp-pages-background-color)}._rp-not-supported_fn8tz_15{justify-content:center;align-items:center;width:100%;height:100%;display:flex}._rp-not-supported-content_fn8tz_102{max-width:250px;font-weight:400;line-height:1.5}._rp-load-error_fn8tz_108{justify-content:center;align-items:center;width:100%;height:100%;display:flex}._rp-load-error-message_fn8tz_116{text-align:center;max-width:280px;font-weight:400;line-height:1.5}\n._rp-loader-icon_7y2fm_1{width:40px;height:40px;animation:1s linear infinite _spin_7y2fm_1}@media (prefers-reduced-motion:reduce){._rp-loader-icon_7y2fm_1{animation:none}}@keyframes _spin_7y2fm_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n._rp-container_f63gc_1{font-family:var(--rp-font-family);height:600px;color:var(--rp-text-color);border-radius:var(--rp-border-radius);position:relative;overflow:hidden}._rp-container_f63gc_1:focus,._rp-container_f63gc_1:focus-within{outline:var(--rp-container-focus-outline-width) solid var(--rp-container-focus-outline-color);outline-offset:var(--rp-container-focus-outline-offset)}\n._rp-layout_1yzm4_1{height:100%}._rp-layout-wrapper_1yzm4_5{flex:1;height:100%;position:relative}._rp-content_1yzm4_11{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex;overflow:hidden}._rp-sidebar_1yzm4_18{flex-shrink:0;display:flex}._rp-pages_1yzm4_23{flex:1;min-width:0;height:100%}._rp-container_1yzm4_29{height:100%}._rp-loader_1yzm4_33{background-color:var(--rp-loader-backdrop-color)}._rp-theme-variables_1yzm4_37{--rp-font-family:inherit;--rp-primary-color:#34affc;--rp-border-radius:4px;--rp-text-color:#1c2024;--rp-outline-color:var(--rp-primary-color);--rp-font-size:16px;--rp-drop-mask-background-color:#fafafa;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#c6ccd2;--rp-icon-font-size:calc(var(--rp-font-size) * 1.25);--rp-toolbar-background:#e2e6e9;--rp-toolbar-border-color:#c6ccd2;--rp-toolbar-padding:.25rem;--rp-toolbar-gap:.25rem;--rp-toolbar-size:48px;--rp-sidebar-width:48px;--rp-thumbnail-border-color:#e2e6e9;--rp-thumbnail-background-color:#fff;--rp-thumbnail-active-color:#0003;--rp-thumbnail-padding-y:16px;--rp-button-hover-background:#0000001a;--rp-button-padding:4px;--rp-button-border-radius:4px;--rp-input-padding:.5rem;--rp-input-border-radius:calc(var(--rp-border-radius) + 2px);--rp-input-background-color:#fff;--rp-input-placeholder-color:#c6ccd2;--rp-pages-background-color:#fff;--rp-page-shadow:0px 2px 12px 0px #00000026;--rp-page-outline:none;--rp-page-outline-offset:0;--rp-annotation-layer__link-hover-background:#ff03;--rp-dropdown-background-color:#f1f2f4;--rp-dropdown-padding:4px;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#e2e6e9;--rp-dropdown-separator-margin:4px;--rp-dropdown-padding-menu-item:8px;--rp-dropdown-font-size:calc(var(--rp-font-size) * .875);--rp-dropdown-border-radius:calc(var(--rp-border-radius) + 2px);--rp-search-tool-dropdown-padding:8px;--rp-popover-font-size:calc(var(--rp-font-size) * .875);--rp-popover-background-color:#f1f2f4;--rp-popover-color:#1c2024;--rp-popover-border-color:#e2e6e9;--rp-popover-border-radius:calc(var(--rp-border-radius) + 2px);--rp-overlay-background-color:#000c;--rp-dialog-background-color:#f1f2f4;--rp-properties-divider-color:#e2e6e9;--rp-properties-divider-margin:16px;--rp-property-item-gap:12px;--rp-dialog-title-color:#1c2024;--rp-property-item-label-color:#596673;--rp-property-close-icon-size:calc(var(--rp-font-size) * 1.25);--rp-property-item-font-size:calc(var(--rp-font-size) * .875);--rp-property-item-font-weight:400;--rp-dialog-title-font-size:calc(var(--rp-font-size) * 1.125);--rp-dialog-title-font-weight:600;--rp-menu-item-icon-size:16px;--rp-print-progress-background:#f1f2f4;--rp-print-progress-color:#1c2024;--rp-drop-zone-border:#c6ccd2;--rp-drop-zone-font-color:#8c99a6;--rp-drop-zone-font-size:calc(var(--rp-font-size) * 1.125);--rp-drop-zone-background-color:#fafafa;--rp-checkbox-border-radius:var(--rp-border-radius);--rp-checkbox-border-color:#e2e6e9;--rp-checkbox-indicator-color:white;--rp-highlight-background-color:#ff0;--rp-text-layer-highlight-border-radius:var(--rp-border-radius);--rp-current-highlight-background-color:red;--rp-tooltip-background-color:#1c2024;--rp-tooltip-border-radius:var(--rp-border-radius);--rp-tooltip-font-color:#fff;--rp-tooltip-font-size:14px;--rp-tooltip-padding:8px 8px;--rp-password-background-color:#fff;--rp-password-title-font-color:#1c2024;--rp-password-content-font-color:#596673;--rp-password-input-border-color:#e2e6e9;--rp-password-input-placeholder-color:#c6ccd2;--rp-password-input-font-color:#000;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#e2e6e9;--rp-password-button-border-radius:8px;--rp-container-focus-outline-width:0px;--rp-container-focus-outline-color:var(--rp-primary-color);--rp-container-focus-outline-offset:2px;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}._rp-theme-variables_1yzm4_37._rp-dark-mode_1yzm4_156{--rp-primary-color:#34affc;--rp-text-color:#fff;--rp-drop-mask-background-color:#1c2024;--rp-loader-backdrop-color:transparent;--rp-icon-disabled:#596673;--rp-toolbar-background:#2d3339;--rp-toolbar-border-color:#434c56;--rp-thumbnail-border-color:#2d3339;--rp-thumbnail-background-color:#1c2024;--rp-thumbnail-active-color:#0000004d;--rp-button-hover-background:#0000004d;--rp-input-background-color:#1c2024;--rp-pages-background-color:#1c2024;--rp-page-shadow:0px 2px 12px 0px #00000080;--rp-dropdown-background-color:#434c56;--rp-dropdown-hover-background-color:#0000001a;--rp-dropdown-separator-color:#2d3339;--rp-popover-background-color:#434c56;--rp-popover-color:var(--rp-text-color);--rp-popover-border-color:#2d3339;--rp-dialog-background-color:#434c56;--rp-properties-divider-color:#2d3339;--rp-property-item-label-color:#c6ccd2;--rp-dialog-title-color:#fff;--rp-print-progress-background:#434c56;--rp-print-progress-color:#fff;--rp-drop-zone-background-color:#1c2024;--rp-drop-zone-border:#434c56;--rp-drop-zone-font-color:#596673;--rp-tooltip-background-color:#5b6d7f;--rp-password-background-color:#1c2024;--rp-password-title-font-color:#fff;--rp-password-content-font-color:#c6ccd2;--rp-password-input-border-color:#2d3339;--rp-password-input-placeholder-color:#596673;--rp-password-input-font-color:#fff;--rp-password-button-background-color:#34affc;--rp-password-button-font-color:#fff;--rp-password-button-border-color:#0995ee;--rp-password-border-color:#2d3339;--rp-skip-link-font-size:14px;--rp-skip-link-color:#fff;--rp-skip-link-background-color:#0075cb;--rp-skip-link-border-color:#005da5}\n._rp-wrapper-layout_2cghq_1{height:100%;position:relative}\n._rp-skip-link_12ssl_1{z-index:10000;border:1px solid var(--rp-skip-link-border-color);border-radius:var(--rp-border-radius);background:var(--rp-skip-link-background-color);min-width:200px;min-height:36px;color:var(--rp-skip-link-color);font-size:var(--rp-skip-link-font-size);white-space:normal;text-align:center;clip:rect(0, 0, 0, 0);clip-path:inset(50%);justify-content:center;align-items:center;padding-inline:6px;font-weight:600;text-decoration:none;display:flex;position:absolute;top:6px;left:6px;overflow:hidden}._rp-skip-link_12ssl_1:focus{clip:auto;clip-path:none;overflow:visible}._rp-skip-link_12ssl_1:focus:not(:focus-visible),._rp-skip-link_12ssl_1:focus-visible{outline:none}._rp-skip-link_12ssl_1:hover{background:var(--rp-skip-link-border-color);border-color:var(--rp-skip-link-border-color)}\n._rp-sidebar-content-wrapper_ppg43_1{height:100%;display:flex;position:relative;overflow:hidden}._rp-sidebar-content_ppg43_1{background:var(--rp-toolbar-background);min-width:var(--rp-sidebar-width);max-width:var(--rp-sidebar-width);text-align:center;flex-shrink:0;padding-top:.75rem}._rp-thumbnails-wrapper_ppg43_17{width:var(--rp-thumbnail-width,auto);flex-shrink:0;transition:width .15s;position:relative;overflow:hidden}._rp-thumbnails-wrapper_ppg43_17._rp-thumbnails-wrapper-dragging_ppg43_24{transition:width}._rp-thumbnails-wrapper-hidden_ppg43_28{width:0}\n._rp-thumbnail-dragger_1faw8_2{touch-action:none;cursor:col-resize;background-color:var(--rp-thumbnail-border-color);width:4px;height:100%;transition:width .4s;position:absolute;top:0;right:0}._rp-thumbnail-dragger-dragging_1faw8_13,._rp-thumbnail-dragger_1faw8_2:hover{width:5px}\n._rp-thumbnail-dragger_174bn_1{touch-action:none;cursor:col-resize;background-color:var(--rp-thumbnail-border-color);width:4px;height:100%;transition:width .4s;position:absolute;top:0;right:0}._rp-thumbnail-dragger_174bn_1:hover,._rp-thumbnail-dragger-dragging_174bn_15{width:5px}\n._rp-thumbnail-wrapper_czi7p_1{margin-bottom:var(--rp-thumbnail-padding-y);cursor:pointer;flex-direction:column;align-items:center;display:flex}._rp-thumbnail-text_czi7p_10{color:var(--rp-text-color);margin-top:8px;font-size:12px;font-weight:400}._rp-thumbnail_czi7p_1{display:flex;position:relative;box-shadow:0 2px 6px #00000026}._rp-thumbnail_czi7p_1:not(._rp-thumbnail-active_czi7p_23):not(:hover){padding:4px}._rp-thumbnail-active_czi7p_23,._rp-thumbnail_czi7p_1:hover{border:var(--rp-thumbnail-active-color) solid 4px}._rp-thumbnail-loader_czi7p_32{justify-content:center;align-items:center;display:flex}\n._rp-thumbnails-container_1szrf_1{height:100%;max-height:100%;width:var(--rp-thumbnail-width,auto);background:var(--rp-thumbnail-background-color);flex-direction:column;align-items:center;display:flex;overflow:hidden auto}._rp-thumbnails_1szrf_1{padding-top:var(--rp-thumbnail-padding-y);box-sizing:border-box;width:100%;padding-right:4px}\n._rp-dialog-wrapper_39boz_1{z-index:9999;position:fixed;inset:0}._rp-dialog-overlay_39boz_7{background:var(--rp-overlay-background-color);position:fixed;inset:0}._rp-document-dialog_39boz_13{background:var(--rp-dialog-background-color);border-radius:var(--rp-border-radius);border:none;max-width:420px;padding:16px;line-height:1.5;position:relative;top:50%;left:50%;transform:translate(-50%,-50%)}._rp-document-dialog_39boz_13:focus-visible{outline:none}@media screen and (width<=640px){._rp-document-dialog_39boz_13{width:85%}}._rp-dialog-title_39boz_35{font-size:var(--rp-dialog-title-font-size);font-weight:var(--rp-dialog-title-font-weight);color:var(--rp-dialog-title-color);margin-top:0;margin-bottom:12px;line-height:normal}._rp-dialog-close_39boz_44{font-size:var(--rp-property-close-icon-size);cursor:pointer;position:absolute;top:16px;right:11px}._rp-properties-divider_39boz_52{background:var(--rp-properties-divider-color);width:100%;height:1px;margin-top:var(--rp-properties-divider-margin);margin-bottom:var(--rp-properties-divider-margin)}\n._rp-menu-item_cu12j_1{padding:var(--rp-dropdown-padding-menu-item);cursor:pointer;border-radius:var(--rp-border-radius);outline:none;align-items:center;display:flex}._rp-menu-item_cu12j_1 :is(svg){font-size:var(--rp-menu-item-icon-size)}._rp-menu-item_cu12j_1:is(:hover,:focus-visible){background:var(--rp-dropdown-hover-background-color)}.rp-menu-item-left{justify-content:center;align-items:center;padding-right:8px;display:flex}.rp-menu-item{flex-direction:row;align-items:center;width:100%;display:flex}.rp-menu-item-right{margin-left:auto}.rp-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-menu-item_cu12j_1[data-disabled]{pointer-events:none;opacity:.5}\n._rp-menu-separator_17dlz_1{background-color:var(--rp-dropdown-separator-color);height:1px;margin-top:var(--rp-dropdown-separator-margin);margin-bottom:var(--rp-dropdown-separator-margin)}\n._rp-go-to-Top_4e0yd_1{transform:rotate(180deg)}\n._rp-other-tool-content_su718_1{padding:var(--rp-dropdown-padding)}\n._rp-paginate_3amlb_1{align-items:center;display:flex}._rp-page-input_3amlb_6{box-sizing:border-box;appearance:none;flex-shrink:0;width:3.5em;min-width:calc(4ch + 1rem);max-width:calc(4ch + 1rem);margin:1px .25rem;padding:.25rem .5rem}._rp-page-input_3amlb_6::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._rp-page-input_3amlb_6::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}._rp-page-input_3amlb_6[type=number]{-moz-appearance:textfield}._rp-total-page_3amlb_29{color:var(--rp-text-color);margin-right:4px;font-size:14px;font-weight:400}._rp-sr-only_3amlb_36{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}\n._rp-property-item-wrapper_jno3l_1{gap:var(--rp-property-item-gap);margin-top:var(--rp-property-item-gap);margin-bottom:var(--rp-property-item-gap);font-size:var(--rp-property-item-font-size);font-weight:var(--rp-property-item-font-weight);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}._rp-property-item-label_jno3l_11{color:var(--rp-property-item-label-color)}._rp-property-item-value_jno3l_15{grid-column:span 2/span 2}\n._rp-toolbar-content_sz31z_1{background:var(--rp-toolbar-background);border-bottom:var(--rp-toolbar-border-color) 1px solid;padding:0 var(--rp-toolbar-padding);min-height:var(--rp-toolbar-size);align-items:center;display:flex}._rp-toolbar-wrapper_sz31z_10{justify-content:space-between;gap:0;width:100%;padding-left:1px;display:flex;overflow-x:auto}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar{width:2px!important;height:2px!important}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar-thumb{background-color:#888;border-radius:3px}._rp-toolbar-wrapper_sz31z_10::-webkit-scrollbar-track{background:#f1f1f1}._rp-toolbar-start_sz31z_33{align-items:center;gap:var(--rp-toolbar-gap);display:flex}._rp-toolbar-middle_sz31z_39{justify-content:center;align-items:center;gap:var(--rp-toolbar-gap);display:flex}._rp-toolbar-end_sz31z_46{justify-content:flex-end;align-items:center;gap:var(--rp-toolbar-gap);padding-right:1px;display:flex}\n._rp-rotate-counterclockwise_1nqcb_1{transform:rotateY(180deg)}\n._rp-search-tool-content_t0ih3_1{border:1px solid var(--rp-popover-border-color);border-radius:var(--rp-popover-border-radius);background-color:var(--rp-popover-background-color);color:var(--rp-text-color);padding:8px;display:flex}._rp-search-tool-input_t0ih3_10{color:var(--rp-text-color);align-items:center;gap:.7rem;display:flex}._rp-search-tool-input-icon_t0ih3_17{color:var(--rp-text-color);font-size:1.25rem}._rp-search-tool-input-icon_t0ih3_17[aria-disabled=true]{opacity:.5;cursor:not-allowed}._rp-search-tool-controls_t0ih3_27{border-left:1px solid var(--rp-popover-border-color);align-items:baseline;margin-left:.4rem;padding-left:.4rem;display:flex}._rp-search-tool-input-wrapper_t0ih3_35{flex-direction:column;gap:8px;display:flex}._rp-search-tool-input-checkboxes_t0ih3_41{gap:.5rem;display:flex}._rp-search-tool-input-clear_t0ih3_46{cursor:pointer;color:var(--rp-input-placeholder-color);justify-content:center;align-items:center;padding-left:.5rem;padding-right:.5rem;display:flex;position:absolute;top:0;bottom:0;right:0}._rp-search-input_t0ih3_60{color:var(--rp-text-color);max-width:220px;padding-right:2rem}._rp-search-icon-info_t0ih3_66{cursor:pointer;justify-content:center;align-items:center;margin-right:.5rem;font-size:20px;display:flex}._rp-search-loader-icon_t0ih3_75{width:20px;height:20px}._rp-search-tool-result-navigator_t0ih3_80{margin-right:.3rem}\n._rp-toolbar-layout_13tet_1{flex-direction:column;height:100%;display:flex}._rp-content_13tet_7{width:100%;height:calc(100% - var(--rp-toolbar-height));display:flex}._rp-topbar-content_13tet_13{background:var(--rp-toolbar-background);border-bottom:var(--rp-toolbar-border-color) 1px solid;padding:0 var(--rp-toolbar-padding);min-height:var(--rp-toolbar-size);align-items:center;display:flex}._rp-sidebar-content_13tet_22{text-align:center;background:var(--rp-toolbar-background);border-right:var(--rp-toolbar-border-color) 1px solid;min-width:var(--rp-sidebar-width);flex-direction:column;padding-block:.75rem;display:flex}._rp-pages_13tet_32{background:var(--rp-pages-background-color);flex:1}._rp-thumbnails-wrapper_13tet_37{width:var(--rp-thumbnail-width,auto);flex-shrink:0;transition:width .15s;position:relative;overflow:hidden}._rp-thumbnails-wrapper-hidden_13tet_45{width:0}\n._rp-zoom-wrapper_1yldl_1{gap:4px;display:flex}._rp-current-zoom-wrapper_1yldl_6{align-items:center;display:flex}._rp-current-zoom-wrapper_1yldl_6._active_1yldl_11{background-color:var(--rp-button-hover-background)}._rp-current-zoom-icon_1yldl_15{margin-left:2px;transform:rotate(180deg)}._rp-zoom-level-icon_1yldl_20{margin-left:2px}._rp-current-zoom-text_1yldl_24{font-size:14px}._rp-zoom-dropdown-content_1yldl_28{padding:var(--rp-dropdown-padding)}\n._rp-annotation-layer_rwxfx_1{--annotation-unfocused-field-background:url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none;pointer-events:none;transform:unset;color:#000;transform-origin:var(--rp-page-rotate-translate);transform:rotate(var(--rp-rotate));display:block;position:absolute;inset:0}._rp-annotation-layer_rwxfx_1 :is(img){width:100%;max-width:100%}._rp-annotation-layer_rwxfx_1 .overlaidText{width:0;height:0;display:inline-block;position:absolute;top:0;left:0;overflow:hidden}._rp-annotation-layer_rwxfx_1 section:not(.popupAnnotation){z-index:calc(var(--rp-base-z-index,1) * 3)!important}._rp-annotation-layer_rwxfx_1 section:has(div.annotationContent) canvas.annotationContent{display:none}._rp-annotation-layer_rwxfx_1 section a{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}._rp-annotation-layer_rwxfx_1 section a:hover{background-color:var(--rp-annotation-layer__link-hover-background)}._rp-annotation-layer_rwxfx_1 section :is(svg){width:100%;height:100%;position:absolute;top:0;left:0}._rp-annotation-layer_rwxfx_1 section .popupTriggerArea,._rp-annotation-layer_rwxfx_1 section.popupTriggerArea{cursor:pointer}._rp-annotation-layer_rwxfx_1 section.popupAnnotation{font-size:calc(9px * var(--scale-factor));pointer-events:none;width:max-content;max-width:45%;height:auto}._rp-annotation-layer_rwxfx_1 section.popupAnnotation.focused .popup{outline-width:3px}._rp-annotation-layer_rwxfx_1 section .popupContent{margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor));border-top:1px solid #333}._rp-annotation-layer_rwxfx_1 section .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}._rp-annotation-layer_rwxfx_1 section .annotationTextContent,._rp-annotation-layer_rwxfx_1 .overlaidText{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}._rp-annotation-layer_rwxfx_1 section .annotationTextContent span{width:100%;display:inline-block}._rp-annotation-layer_rwxfx_1 section.fileAttachmentAnnotation .popupTriggerArea{width:100%;height:100%}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea),._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select,._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea)[disabled],._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select[disabled],._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea):hover,._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select:hover,._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea):hover,._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select:hover,._rp-annotation-layer_rwxfx_1 section.buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation :is(input,textarea):focus,._rp-annotation-layer_rwxfx_1 section.choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}._rp-annotation-layer_rwxfx_1 section.textWidgetAnnotation textarea{resize:none}._rp-annotation-layer_rwxfx_1 section .popup{box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;font-size:calc(9px * var(--scale-factor));background-color:#ff9;outline:1.5px solid #ffff4a}._rp-annotation-layer_rwxfx_1 section .popup *{font-size:calc(9px * var(--scale-factor))}._rp-annotation-layer_rwxfx_1 section .popup .header{display:inline-block}._rp-annotation-layer_rwxfx_1 section .popup .header h1{font-weight:700;display:inline}._rp-annotation-layer_rwxfx_1 section .popup .header .popupDate{margin-left:calc(5px * var(--scale-factor));width:fit-content;display:inline-block}._rp-annotation-layer_rwxfx_1 section{text-align:initial;pointer-events:auto;box-sizing:border-box;position:absolute}\n._rp-page-wrapper_krysr_1{justify-content:center;align-items:center;display:flex}._rp-page_krysr_1{box-shadow:var(--rp-page-shadow,0px 2px 12px 0px #00000026);outline:var(--rp-page-outline,none);outline-offset:var(--rp-page-outline-offset,0);position:relative}._rp-loader-wrapper_krysr_17{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}\n._rp-text-highlight_jdkf8_1{pointer-events:none;transform-origin:0 0;white-space:pre;line-height:1;position:absolute;overflow:hidden}\n._rp-text-layer_1553j_1{color:#0000;transform:rotate(var(--rp-rotate));transform-origin:var(--rp-page-rotate-translate);z-index:0;--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));position:absolute;inset:0}._rp-text-layer_1553j_1._selecting_1553j_14~[data-rp$=annotationLayer] section{pointer-events:none}._rp-text-layer_1553j_1 br::selection{color:#0000;background-color:#0000}._rp-text-layer_1553j_1 :is(span,br):not(.highlight){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}._rp-text-layer_1553j_1>:not(._markedContent_1553j_37),._rp-text-layer_1553j_1 ._markedContent_1553j_37 span:not(._markedContent_1553j_37){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))}._rp-text-layer_1553j_1 .endOfContent{bottom:0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}._rp-text-layer_1553j_1._selecting_1553j_14 .endOfContent{top:0}._rp-text-layer-text_1553j_61{transform-origin:0 0;white-space:pre;line-height:1;position:absolute;overflow:hidden}@-moz-document url-prefix(){._rp-text-layer-text_1553j_61{overflow:visible}}\n"; | ||
| //#endregion | ||
| export { e as t }; |
| import { useDocumentContext as e } from "./contexts/RPDocumentContext.js"; | ||
| import { usePagesRotateContext as t } from "./contexts/PagesRotateContext.js"; | ||
| import { r as n } from "./PaginationContext-Cwf8sCpK.js"; | ||
| import { useRenderQueue as r } from "./contexts/RenderQueueProvider.js"; | ||
| import { t as i } from "./clsx-B7LyVm5O.js"; | ||
| import { t as a } from "./LoaderIcon-D9YjinGf.js"; | ||
| import { t as o } from "./CustomThumbnailElement-C2quEICO.js"; | ||
| import { useCallback as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react"; | ||
| import { jsx as f, jsxs as p } from "react/jsx-runtime"; | ||
| import './assets/Thumbnail.css';//#region lib/components/layout/sidebar/Thumbnail.module.css | ||
| var m = { | ||
| "rp-thumbnail-wrapper": "_rp-thumbnail-wrapper_czi7p_1", | ||
| "rp-thumbnail-text": "_rp-thumbnail-text_czi7p_10", | ||
| "rp-thumbnail": "_rp-thumbnail_czi7p_1", | ||
| "rp-thumbnail-active": "_rp-thumbnail-active_czi7p_23", | ||
| "rp-thumbnail-loader": "_rp-thumbnail-loader_czi7p_32" | ||
| }, h = (h) => { | ||
| let { pageNumber: g, isFocused: _, viewport: v } = h, { goToPage: y } = n(), { pageRotate: b } = t(), x = u(null), S = r(), { pages: C } = e(), [w, T] = d(null), E = u(!1), D = u(), O = l(() => _ ? m["rp-thumbnail-active"] : "", [_]), k = l(() => ({ | ||
| width: Math.round(v.width), | ||
| height: Math.round(v.height) | ||
| }), [v]), A = s(() => { | ||
| g && y(g); | ||
| }, [y, g]); | ||
| return c(() => { | ||
| let e = C.get(g); | ||
| D.current !== e && (T(null), D.current = e); | ||
| }, [C, g]), c(() => { | ||
| let e = C.get(g); | ||
| if (!x.current || !g || !e || w) return; | ||
| let t = new IntersectionObserver((t) => { | ||
| t.forEach((t) => { | ||
| if (E.current) { | ||
| E.current = !1, S.removeQueue(`thumbnail-${g}`); | ||
| return; | ||
| } | ||
| if (t.isIntersecting) { | ||
| let t = document.createElement("canvas"); | ||
| E.current = !0, S.enqueue(`thumbnail-${g}`, { | ||
| page: e.page, | ||
| canvasElem: t, | ||
| options: { scale: 1 }, | ||
| onLoaded: () => { | ||
| t.toBlob((e) => { | ||
| e && T(URL.createObjectURL(e)); | ||
| }); | ||
| } | ||
| }, 2); | ||
| } | ||
| }); | ||
| }); | ||
| return x.current && t.observe(x.current), () => { | ||
| t.disconnect(), S.removeQueue(`thumbnail-${g}`); | ||
| }; | ||
| }, [ | ||
| S, | ||
| g, | ||
| C, | ||
| w | ||
| ]), /* @__PURE__ */ p("div", { | ||
| onClick: A, | ||
| onKeyDown: (e) => { | ||
| (e.key === "Enter" || e.key === " ") && (e.preventDefault(), A()); | ||
| }, | ||
| id: `page-${g}`, | ||
| className: m["rp-thumbnail-wrapper"], | ||
| ref: x, | ||
| role: "button", | ||
| tabIndex: 0, | ||
| "aria-label": `Go to page ${g}`, | ||
| "aria-current": _ ? "page" : void 0, | ||
| children: [/* @__PURE__ */ p("div", { | ||
| style: { transform: `rotate(${b[g || 0]}deg)` }, | ||
| className: i(O, m["rp-thumbnail"]), | ||
| "aria-hidden": "true", | ||
| children: [w ? /* @__PURE__ */ f("img", { | ||
| src: w, | ||
| width: k.width, | ||
| height: k.height, | ||
| alt: `Page ${g} thumbnail`, | ||
| "aria-hidden": "true" | ||
| }) : /* @__PURE__ */ f("div", { | ||
| className: m["rp-thumbnail-loader"], | ||
| style: { | ||
| width: `${k.width}px`, | ||
| height: `${k.height}px` | ||
| }, | ||
| children: /* @__PURE__ */ f(a, { "aria-hidden": "true" }) | ||
| }), /* @__PURE__ */ f(o, { pageNumber: g })] | ||
| }), /* @__PURE__ */ f("div", { | ||
| className: m["rp-thumbnail-text"], | ||
| "aria-hidden": "true", | ||
| children: g | ||
| })] | ||
| }); | ||
| }; | ||
| //#endregion | ||
| export { h as t }; |
| import { r as e } from "./PaginationContext-Cwf8sCpK.js"; | ||
| import { useThumbnailContext as t } from "./contexts/ThumbnailsContext.js"; | ||
| import { useThumbnailContainerRegister as n } from "./contexts/ElementThumbnailContext.js"; | ||
| import { withRef as r } from "./utils/withRef.js"; | ||
| import { t as i } from "./Thumbnail-CzclS3h_.js"; | ||
| import { useInfiniteScroll as a } from "./utils/hooks/useInfiniteScroll.js"; | ||
| import { useCallback as o, useEffect as s, useImperativeHandle as c, useMemo as l, useRef as u } from "react"; | ||
| import { jsx as d } from "react/jsx-runtime"; | ||
| import './assets/Thumbnails.css';//#region lib/components/layout/sidebar/Thumbnails.module.css | ||
| var f = { | ||
| "rp-thumbnails-container": "_rp-thumbnails-container_1szrf_1", | ||
| "rp-thumbnails": "_rp-thumbnails_1szrf_1" | ||
| }, p = 16, m = (e, t) => { | ||
| let n = e?.querySelector(`#page-${t}`); | ||
| e && n?.offsetTop && (e.scrollTop = n?.offsetTop - p); | ||
| }, h = r((r, p) => { | ||
| let { show: h, width: g } = r, { focusedPage: _, totalPages: v } = e(), { thumbnailPages: y, addPage: b, thumbnailLength: x, addToPage: S } = t(), C = n(), w = u(null), T = u(1); | ||
| c(p, () => w.current), s(() => (C(w.current), () => C(null)), [C]); | ||
| let E = l(() => Object.values(y), [y]), D = o(() => { | ||
| let e = x + 1; | ||
| e <= v && b(e); | ||
| }, [ | ||
| b, | ||
| v, | ||
| x | ||
| ]); | ||
| return s(() => { | ||
| _ > x && v > x ? S(_) : h && T.current !== _ && (m(w.current, _), T.current = _); | ||
| }, [ | ||
| _, | ||
| x, | ||
| S, | ||
| h, | ||
| E | ||
| ]), a(w.current, D), /* @__PURE__ */ d("div", { | ||
| ref: w, | ||
| className: f["rp-thumbnails-container"], | ||
| style: { width: g }, | ||
| children: /* @__PURE__ */ d("div", { | ||
| className: f["rp-thumbnails"], | ||
| children: h ? E.map((e, t) => /* @__PURE__ */ d(i, { | ||
| isFocused: _ === e.page?.pageNumber, | ||
| pageNumber: e.page?.pageNumber, | ||
| loading: e.loading, | ||
| viewport: e.viewport, | ||
| defaultRotation: e.defaultRotation | ||
| }, t)) : null | ||
| }) | ||
| }); | ||
| }); | ||
| //#endregion | ||
| export { h as t }; |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
Unidentified License
LicenseSomething that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Unidentified License
LicenseSomething that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
2657962
0.16%35089
0.16%4
33.33%