art-bd-ui 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_virtual/common.js +5 -0
- package/dist/cjs/_virtual/dayjs.min.js +11 -0
- package/dist/cjs/_virtual/dayjs.min2.js +5 -0
- package/dist/cjs/_virtual/deflate.js +5 -0
- package/dist/cjs/_virtual/deflate2.js +5 -0
- package/dist/cjs/_virtual/index10.js +5 -0
- package/dist/cjs/_virtual/index5.js +2 -8
- package/dist/cjs/_virtual/index6.js +4 -4
- package/dist/cjs/_virtual/index7.js +8 -2
- package/dist/cjs/_virtual/index8.js +8 -2
- package/dist/cjs/_virtual/index9.js +2 -2
- package/dist/cjs/_virtual/inflate.js +5 -0
- package/dist/cjs/_virtual/inflate2.js +5 -0
- package/dist/cjs/_virtual/quarterOfYear.js +11 -0
- package/dist/cjs/_virtual/quarterOfYear2.js +5 -0
- package/dist/cjs/_virtual/strings.js +5 -0
- package/dist/cjs/_virtual/trees.js +5 -0
- package/dist/cjs/_virtual/warning.js +11 -0
- package/dist/cjs/components/ui/date-pickers/date-input/date-input.js +116 -0
- package/dist/cjs/components/ui/date-pickers/date-range-picker/date-range-picker.js +64 -0
- package/dist/cjs/components/ui/date-pickers/date-time-picker/date-time-picker.js +2 -2
- package/dist/cjs/components/ui/pdf-content/hooks/use-page-layout.js +49 -0
- package/dist/cjs/components/ui/pdf-content/hooks/use-pdf-scale.js +23 -0
- package/dist/cjs/components/ui/pdf-content/hooks/use-virtual-pages.js +90 -0
- package/dist/cjs/components/ui/pdf-content/pdf-content.js +91 -0
- package/dist/cjs/components/ui/pdf-content/pdf-page.js +20 -0
- package/dist/cjs/components/ui/pdf-content/utils.js +7 -0
- package/dist/cjs/components/ui/pdf-viewer/pdf-field-types.js +144 -0
- package/dist/cjs/components/ui/pdf-viewer/pdf-viewer.js +48 -0
- package/dist/cjs/components/ui/pdf-viewer/pdf-worker-client.js +24 -0
- package/dist/cjs/components/ui/pdf-viewer/toolbar.js +13 -0
- package/dist/cjs/components/ui/pdf-viewer/use-filled-pdf.js +67 -0
- package/dist/cjs/components/ui/pdf-viewer/utils.js +284 -0
- package/dist/cjs/components/ui/rich-editor/rich-content-preview.js +342 -0
- package/dist/cjs/components/ui/rich-editor/rich-content-renderer.js +115 -41
- package/dist/cjs/components/ui/rich-editor/toolbar.js +6 -3
- package/dist/cjs/hooks/use-intersection.js +24 -0
- package/dist/cjs/hooks/use-raf-throttle.js +20 -0
- package/dist/cjs/hooks/use-resize-observer.js +20 -0
- package/dist/cjs/index.js +28 -3
- package/dist/cjs/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +1 -1
- package/dist/cjs/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +1 -1
- package/dist/cjs/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +1 -1
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Encoding.js +39 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Font.js +87 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json.js +7 -0
- package/dist/cjs/node_modules/@pdf-lib/standard-fonts/es/utils.js +69 -0
- package/dist/cjs/node_modules/@pdf-lib/upng/UPNG.js +1019 -0
- package/dist/cjs/node_modules/attr-accept/dist/es/index.js +1 -1
- package/dist/cjs/node_modules/chrono-node/dist/esm/calculation/mergingCalculation.js +76 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/calculation/years.js +34 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/chrono.js +113 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/abstractRefiners.js +41 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/calculation/weekdays.js +68 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/casualReferences.js +136 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/parsers/AbstractParserWithWordBoundary.js +33 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/parsers/AbstractTimeExpressionParser.js +336 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/parsers/ISOFormatParser.js +70 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/parsers/SlashDateFormatParser.js +79 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js +65 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/AbstractMergeDateTimeRefiner.js +24 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js +57 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/ExtractTimezoneOffsetRefiner.js +42 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/ForwardDateRefiner.js +78 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/MergeWeekdayComponentRefiner.js +26 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/OverlapRemovalRefiner.js +41 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/common/refiners/UnlikelyFormatFilter.js +54 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/configurations.js +23 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/configuration.js +66 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/constants.js +277 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/index.js +36 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENCasualDateParser.js +55 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENCasualTimeParser.js +41 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js +58 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js +72 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENMonthNameParser.js +46 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENRelativeDateFormatParser.js +57 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENSlashMonthFormatParser.js +21 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +61 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +31 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +38 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js +30 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +39 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENWeekdayParser.js +67 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/parsers/ENYearMonthDayParser.js +51 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/refiners/ENExtractYearSuffixRefiner.js +37 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeDateRangeRefiner.js +13 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeDateTimeRefiner.js +13 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +33 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js +39 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/en/refiners/ENUnlikelyFormatFilter.js +38 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/constants.js +342 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/index.js +71 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/AbstractParserWithWordBoundaryChecking.js +24 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKCasualDateParser.js +35 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +52 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +55 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKMonthNameParser.js +43 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +63 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +60 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +21 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +28 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +25 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKWeekdayParser.js +48 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +13 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +13 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/results.js +269 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/timezone.js +278 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/types.js +32 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/utils/dates.js +9 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/utils/dayjs.js +43 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/utils/pattern.js +30 -0
- package/dist/cjs/node_modules/chrono-node/dist/esm/utils/timeunits.js +30 -0
- package/dist/cjs/node_modules/color-parse/index.js +1 -1
- package/dist/cjs/node_modules/comlink/dist/esm/comlink.js +360 -0
- package/dist/cjs/node_modules/dayjs/dayjs.min.js +18 -0
- package/dist/cjs/node_modules/dayjs/plugin/quarterOfYear.js +18 -0
- package/dist/cjs/node_modules/dequal/dist/index.js +88 -0
- package/dist/cjs/node_modules/make-cancellable-promise/dist/index.js +20 -0
- package/dist/cjs/node_modules/make-event-props/dist/index.js +151 -0
- package/dist/cjs/node_modules/merge-refs/dist/index.js +40 -0
- package/dist/cjs/node_modules/pako/index.js +29 -0
- package/dist/cjs/node_modules/pako/lib/deflate.js +417 -0
- package/dist/cjs/node_modules/pako/lib/inflate.js +442 -0
- package/dist/cjs/node_modules/pako/lib/utils/common.js +119 -0
- package/dist/cjs/node_modules/pako/lib/utils/strings.js +199 -0
- package/dist/cjs/node_modules/pako/lib/zlib/adler32.js +62 -0
- package/dist/cjs/node_modules/pako/lib/zlib/constants.js +79 -0
- package/dist/cjs/node_modules/pako/lib/zlib/crc32.js +70 -0
- package/dist/cjs/node_modules/pako/lib/zlib/deflate.js +1891 -0
- package/dist/cjs/node_modules/pako/lib/zlib/gzheader.js +69 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inffast.js +356 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inflate.js +1570 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inftrees.js +356 -0
- package/dist/cjs/node_modules/pako/lib/zlib/messages.js +43 -0
- package/dist/cjs/node_modules/pako/lib/zlib/trees.js +1235 -0
- package/dist/cjs/node_modules/pako/lib/zlib/zstream.js +58 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFDocument.js +1444 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFDocumentOptions.js +9 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js +154 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js +170 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFFont.js +218 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFImage.js +207 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFJavaScript.js +143 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFPage.js +1518 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/PDFPageOptions.js +17 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/StandardFonts.js +19 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/colors.js +72 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/errors.js +166 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFButton.js +295 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFCheckBox.js +311 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFDropdown.js +655 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFField.js +459 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFForm.js +802 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFOptionList.js +574 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js +490 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFSignature.js +118 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/PDFTextField.js +814 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/form/appearances.js +433 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/image/alignment.js +8 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/objects.js +84 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/operations.js +491 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/operators.js +285 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/rotations.js +81 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/sizes.js +6 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/svgPath.js +381 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/text/alignment.js +8 -0
- package/dist/cjs/node_modules/pdf-lib/es/api/text/layout.js +220 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/PDFContext.js +209 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/PDFObjectCopier.js +121 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js +99 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js +53 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js +130 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js +29 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js +156 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js +80 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js +27 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js +37 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js +29 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js +60 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js +19 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js +73 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js +76 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/flags.js +148 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/acroform/utils.js +128 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js +125 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/annotation/BorderStyle.js +31 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js +125 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js +113 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/annotation/flags.js +83 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js +131 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/document/PDFHeader.js +49 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/document/PDFTrailer.js +50 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js +34 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/CMap.js +48 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js +248 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js +77 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js +76 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/FontFlags.js +38 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js +38 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js +109 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js +98 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js +71 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js +106 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/errors.js +327 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js +517 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFArray.js +120 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFBool.js +55 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFDict.js +141 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFHexString.js +82 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js +35 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFName.js +146 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFNull.js +37 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFNumber.js +47 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFObject.js +25 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFRawStream.js +42 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFRef.js +55 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFStream.js +78 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/objects/PDFString.js +124 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/operators/PDFOperator.js +65 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js +91 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/parser/BaseParser.js +117 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/parser/ByteStream.js +66 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js +241 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js +78 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/parser/PDFParser.js +364 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js +94 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js +90 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js +78 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/DecodeStream.js +151 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/FlateStream.js +366 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/LZWStream.js +140 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/RunLengthStream.js +58 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/Stream.js +108 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/streams/decode.js +59 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFCatalog.js +98 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFContentStream.js +63 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js +195 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js +42 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js +86 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js +209 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/structures/PDFPageTree.js +180 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/syntax/CharCodes.js +68 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/syntax/Delimiters.js +17 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/syntax/Irregular.js +13 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/syntax/Keywords.js +85 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/syntax/Numeric.js +27 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/syntax/Whitespace.js +13 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js +122 -0
- package/dist/cjs/node_modules/pdf-lib/es/core/writers/PDFWriter.js +153 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/Cache.js +25 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/arrays.js +145 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/async.js +13 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/base64.js +89 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/errors.js +7 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/numbers.js +59 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/objects.js +16 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/pdfDocEncoding.js +70 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/png.js +62 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/rng.js +22 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/strings.js +154 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/unicode.js +247 -0
- package/dist/cjs/node_modules/pdf-lib/es/utils/validators.js +200 -0
- package/dist/cjs/node_modules/pdfjs-dist/build/pdf.js +25600 -0
- package/dist/cjs/node_modules/prop-types/index.js +1 -1
- package/dist/cjs/node_modules/prop-types/node_modules/react-is/index.js +1 -1
- package/dist/cjs/node_modules/react-pdf/dist/Document.js +311 -0
- package/dist/cjs/node_modules/react-pdf/dist/DocumentContext.js +10 -0
- package/dist/cjs/node_modules/react-pdf/dist/LinkService.js +155 -0
- package/dist/cjs/node_modules/react-pdf/dist/Message.js +11 -0
- package/dist/cjs/node_modules/react-pdf/dist/Page/AnnotationLayer.css.js +10 -0
- package/dist/cjs/node_modules/react-pdf/dist/Page/AnnotationLayer.js +152 -0
- package/dist/cjs/node_modules/react-pdf/dist/Page/Canvas.js +104 -0
- package/dist/cjs/node_modules/react-pdf/dist/Page/TextLayer.css.js +10 -0
- package/dist/cjs/node_modules/react-pdf/dist/Page/TextLayer.js +183 -0
- package/dist/cjs/node_modules/react-pdf/dist/Page.js +256 -0
- package/dist/cjs/node_modules/react-pdf/dist/PageContext.js +10 -0
- package/dist/cjs/node_modules/react-pdf/dist/PasswordResponses.js +11 -0
- package/dist/cjs/node_modules/react-pdf/dist/StructTree.js +81 -0
- package/dist/cjs/node_modules/react-pdf/dist/StructTreeItem.js +27 -0
- package/dist/cjs/node_modules/react-pdf/dist/index.js +9 -0
- package/dist/cjs/node_modules/react-pdf/dist/shared/constants.js +62 -0
- package/dist/cjs/node_modules/react-pdf/dist/shared/hooks/useDocumentContext.js +12 -0
- package/dist/cjs/node_modules/react-pdf/dist/shared/hooks/usePageContext.js +12 -0
- package/dist/cjs/node_modules/react-pdf/dist/shared/hooks/useResolver.js +23 -0
- package/dist/cjs/node_modules/react-pdf/dist/shared/structTreeUtils.js +75 -0
- package/dist/cjs/node_modules/react-pdf/dist/shared/utils.js +163 -0
- package/dist/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +19 -0
- package/dist/cjs/node_modules/tslib/tslib.es6.js +54 -0
- package/dist/cjs/node_modules/warning/warning.js +73 -0
- package/dist/cjs/utils/file.js +69 -0
- package/dist/esm/_virtual/common.js +3 -0
- package/dist/esm/_virtual/dayjs.min.js +7 -0
- package/dist/esm/_virtual/dayjs.min2.js +3 -0
- package/dist/esm/_virtual/deflate.js +3 -0
- package/dist/esm/_virtual/deflate2.js +3 -0
- package/dist/esm/_virtual/index10.js +3 -0
- package/dist/esm/_virtual/index5.js +2 -6
- package/dist/esm/_virtual/index6.js +4 -4
- package/dist/esm/_virtual/index7.js +6 -2
- package/dist/esm/_virtual/index8.js +6 -2
- package/dist/esm/_virtual/index9.js +2 -2
- package/dist/esm/_virtual/inflate.js +3 -0
- package/dist/esm/_virtual/inflate2.js +3 -0
- package/dist/esm/_virtual/quarterOfYear.js +7 -0
- package/dist/esm/_virtual/quarterOfYear2.js +3 -0
- package/dist/esm/_virtual/strings.js +3 -0
- package/dist/esm/_virtual/trees.js +3 -0
- package/dist/esm/_virtual/warning.js +7 -0
- package/dist/esm/components/ui/date-pickers/date-input/date-input.js +114 -0
- package/dist/esm/components/ui/date-pickers/date-range-picker/date-range-picker.js +62 -0
- package/dist/esm/components/ui/date-pickers/date-time-picker/date-time-picker.js +2 -2
- package/dist/esm/components/ui/pdf-content/hooks/use-page-layout.js +47 -0
- package/dist/esm/components/ui/pdf-content/hooks/use-pdf-scale.js +21 -0
- package/dist/esm/components/ui/pdf-content/hooks/use-virtual-pages.js +88 -0
- package/dist/esm/components/ui/pdf-content/pdf-content.js +88 -0
- package/dist/esm/components/ui/pdf-content/pdf-page.js +18 -0
- package/dist/esm/components/ui/pdf-content/utils.js +5 -0
- package/dist/esm/components/ui/pdf-viewer/pdf-field-types.js +140 -0
- package/dist/esm/components/ui/pdf-viewer/pdf-viewer.js +46 -0
- package/dist/esm/components/ui/pdf-viewer/pdf-worker-client.js +21 -0
- package/dist/esm/components/ui/pdf-viewer/toolbar.js +11 -0
- package/dist/esm/components/ui/pdf-viewer/use-filled-pdf.js +65 -0
- package/dist/esm/components/ui/pdf-viewer/utils.js +280 -0
- package/dist/esm/components/ui/rich-editor/rich-content-preview.js +321 -0
- package/dist/esm/components/ui/rich-editor/rich-content-renderer.js +114 -40
- package/dist/esm/components/ui/rich-editor/toolbar.js +6 -3
- package/dist/esm/hooks/use-intersection.js +22 -0
- package/dist/esm/hooks/use-raf-throttle.js +18 -0
- package/dist/esm/hooks/use-resize-observer.js +18 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +1 -1
- package/dist/esm/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +1 -1
- package/dist/esm/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +1 -1
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Courier-Bold.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Courier-BoldOblique.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Courier-Oblique.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Courier.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Encoding.js +37 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Font.js +85 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Bold.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Helvetica-BoldOblique.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Helvetica-Oblique.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Helvetica.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Symbol.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Times-Bold.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Times-BoldItalic.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Times-Italic.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/Times-Roman.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/ZapfDingbats.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/all-encodings.compressed.json.js +3 -0
- package/dist/esm/node_modules/@pdf-lib/standard-fonts/es/utils.js +65 -0
- package/dist/esm/node_modules/@pdf-lib/upng/UPNG.js +1015 -0
- package/dist/esm/node_modules/attr-accept/dist/es/index.js +1 -1
- package/dist/esm/node_modules/chrono-node/dist/esm/calculation/mergingCalculation.js +73 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/calculation/years.js +31 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/chrono.js +110 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/abstractRefiners.js +38 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/calculation/weekdays.js +62 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/casualReferences.js +121 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/parsers/AbstractParserWithWordBoundary.js +31 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/parsers/AbstractTimeExpressionParser.js +334 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/parsers/ISOFormatParser.js +66 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/parsers/SlashDateFormatParser.js +75 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js +61 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/AbstractMergeDateTimeRefiner.js +20 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js +53 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/ExtractTimezoneOffsetRefiner.js +38 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/ForwardDateRefiner.js +74 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/MergeWeekdayComponentRefiner.js +22 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/OverlapRemovalRefiner.js +37 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/common/refiners/UnlikelyFormatFilter.js +50 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/configurations.js +21 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/configuration.js +62 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/constants.js +260 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/index.js +17 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENCasualDateParser.js +51 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENCasualTimeParser.js +37 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js +54 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js +68 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENMonthNameParser.js +42 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENRelativeDateFormatParser.js +53 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENSlashMonthFormatParser.js +17 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +57 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +27 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +34 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js +26 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +35 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENWeekdayParser.js +63 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/parsers/ENYearMonthDayParser.js +47 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/refiners/ENExtractYearSuffixRefiner.js +33 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeDateRangeRefiner.js +9 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeDateTimeRefiner.js +9 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +29 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js +35 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/en/refiners/ENUnlikelyFormatFilter.js +34 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/constants.js +326 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/index.js +52 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/AbstractParserWithWordBoundaryChecking.js +21 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKCasualDateParser.js +31 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +48 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +51 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKMonthNameParser.js +39 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +59 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +56 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +17 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +24 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +21 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/parsers/UKWeekdayParser.js +44 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +9 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +9 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/results.js +265 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/timezone.js +273 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/types.js +32 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/utils/dates.js +7 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/utils/dayjs.js +37 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/utils/pattern.js +26 -0
- package/dist/esm/node_modules/chrono-node/dist/esm/utils/timeunits.js +27 -0
- package/dist/esm/node_modules/color-parse/index.js +1 -1
- package/dist/esm/node_modules/comlink/dist/esm/comlink.js +350 -0
- package/dist/esm/node_modules/dayjs/dayjs.min.js +16 -0
- package/dist/esm/node_modules/dayjs/plugin/quarterOfYear.js +16 -0
- package/dist/esm/node_modules/dequal/dist/index.js +86 -0
- package/dist/esm/node_modules/make-cancellable-promise/dist/index.js +16 -0
- package/dist/esm/node_modules/make-event-props/dist/index.js +128 -0
- package/dist/esm/node_modules/merge-refs/dist/index.js +36 -0
- package/dist/esm/node_modules/pako/index.js +27 -0
- package/dist/esm/node_modules/pako/lib/deflate.js +415 -0
- package/dist/esm/node_modules/pako/lib/inflate.js +440 -0
- package/dist/esm/node_modules/pako/lib/utils/common.js +117 -0
- package/dist/esm/node_modules/pako/lib/utils/strings.js +197 -0
- package/dist/esm/node_modules/pako/lib/zlib/adler32.js +60 -0
- package/dist/esm/node_modules/pako/lib/zlib/constants.js +77 -0
- package/dist/esm/node_modules/pako/lib/zlib/crc32.js +68 -0
- package/dist/esm/node_modules/pako/lib/zlib/deflate.js +1889 -0
- package/dist/esm/node_modules/pako/lib/zlib/gzheader.js +67 -0
- package/dist/esm/node_modules/pako/lib/zlib/inffast.js +354 -0
- package/dist/esm/node_modules/pako/lib/zlib/inflate.js +1568 -0
- package/dist/esm/node_modules/pako/lib/zlib/inftrees.js +354 -0
- package/dist/esm/node_modules/pako/lib/zlib/messages.js +41 -0
- package/dist/esm/node_modules/pako/lib/zlib/trees.js +1233 -0
- package/dist/esm/node_modules/pako/lib/zlib/zstream.js +56 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFDocument.js +1440 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFDocumentOptions.js +9 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js +150 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js +166 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFFont.js +214 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFImage.js +203 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFJavaScript.js +139 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFPage.js +1514 -0
- package/dist/esm/node_modules/pdf-lib/es/api/PDFPageOptions.js +17 -0
- package/dist/esm/node_modules/pdf-lib/es/api/StandardFonts.js +19 -0
- package/dist/esm/node_modules/pdf-lib/es/api/colors.js +64 -0
- package/dist/esm/node_modules/pdf-lib/es/api/errors.js +153 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFButton.js +291 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFCheckBox.js +307 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFDropdown.js +651 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFField.js +454 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFForm.js +798 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFOptionList.js +570 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js +486 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFSignature.js +114 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/PDFTextField.js +810 -0
- package/dist/esm/node_modules/pdf-lib/es/api/form/appearances.js +425 -0
- package/dist/esm/node_modules/pdf-lib/es/api/image/alignment.js +8 -0
- package/dist/esm/node_modules/pdf-lib/es/api/objects.js +80 -0
- package/dist/esm/node_modules/pdf-lib/es/api/operations.js +474 -0
- package/dist/esm/node_modules/pdf-lib/es/api/operators.js +245 -0
- package/dist/esm/node_modules/pdf-lib/es/api/rotations.js +72 -0
- package/dist/esm/node_modules/pdf-lib/es/api/sizes.js +4 -0
- package/dist/esm/node_modules/pdf-lib/es/api/svgPath.js +379 -0
- package/dist/esm/node_modules/pdf-lib/es/api/text/alignment.js +8 -0
- package/dist/esm/node_modules/pdf-lib/es/api/text/layout.js +216 -0
- package/dist/esm/node_modules/pdf-lib/es/core/PDFContext.js +205 -0
- package/dist/esm/node_modules/pdf-lib/es/core/PDFObjectCopier.js +117 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js +95 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js +49 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js +126 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js +25 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js +152 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js +76 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js +23 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js +33 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js +25 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js +56 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js +15 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js +69 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js +72 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/flags.js +148 -0
- package/dist/esm/node_modules/pdf-lib/es/core/acroform/utils.js +125 -0
- package/dist/esm/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js +121 -0
- package/dist/esm/node_modules/pdf-lib/es/core/annotation/BorderStyle.js +27 -0
- package/dist/esm/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js +121 -0
- package/dist/esm/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js +109 -0
- package/dist/esm/node_modules/pdf-lib/es/core/annotation/flags.js +83 -0
- package/dist/esm/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js +127 -0
- package/dist/esm/node_modules/pdf-lib/es/core/document/PDFHeader.js +45 -0
- package/dist/esm/node_modules/pdf-lib/es/core/document/PDFTrailer.js +46 -0
- package/dist/esm/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js +30 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/CMap.js +46 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js +244 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js +73 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js +72 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/FontFlags.js +36 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js +34 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js +105 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js +94 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js +67 -0
- package/dist/esm/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js +102 -0
- package/dist/esm/node_modules/pdf-lib/es/core/errors.js +299 -0
- package/dist/esm/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js +513 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFArray.js +116 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFBool.js +51 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFDict.js +137 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFHexString.js +78 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js +31 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFName.js +142 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFNull.js +33 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFNumber.js +43 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFObject.js +21 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFRawStream.js +38 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFRef.js +51 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFStream.js +74 -0
- package/dist/esm/node_modules/pdf-lib/es/core/objects/PDFString.js +120 -0
- package/dist/esm/node_modules/pdf-lib/es/core/operators/PDFOperator.js +61 -0
- package/dist/esm/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js +87 -0
- package/dist/esm/node_modules/pdf-lib/es/core/parser/BaseParser.js +113 -0
- package/dist/esm/node_modules/pdf-lib/es/core/parser/ByteStream.js +62 -0
- package/dist/esm/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js +237 -0
- package/dist/esm/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js +74 -0
- package/dist/esm/node_modules/pdf-lib/es/core/parser/PDFParser.js +360 -0
- package/dist/esm/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js +90 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js +86 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js +74 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/DecodeStream.js +147 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/FlateStream.js +362 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/LZWStream.js +136 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/RunLengthStream.js +54 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/Stream.js +104 -0
- package/dist/esm/node_modules/pdf-lib/es/core/streams/decode.js +57 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFCatalog.js +94 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFContentStream.js +59 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js +191 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js +38 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js +82 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js +205 -0
- package/dist/esm/node_modules/pdf-lib/es/core/structures/PDFPageTree.js +176 -0
- package/dist/esm/node_modules/pdf-lib/es/core/syntax/CharCodes.js +64 -0
- package/dist/esm/node_modules/pdf-lib/es/core/syntax/Delimiters.js +15 -0
- package/dist/esm/node_modules/pdf-lib/es/core/syntax/Irregular.js +11 -0
- package/dist/esm/node_modules/pdf-lib/es/core/syntax/Keywords.js +83 -0
- package/dist/esm/node_modules/pdf-lib/es/core/syntax/Numeric.js +23 -0
- package/dist/esm/node_modules/pdf-lib/es/core/syntax/Whitespace.js +11 -0
- package/dist/esm/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js +118 -0
- package/dist/esm/node_modules/pdf-lib/es/core/writers/PDFWriter.js +149 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/Cache.js +21 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/arrays.js +131 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/async.js +11 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/base64.js +85 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/errors.js +5 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/numbers.js +55 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/objects.js +11 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/pdfDocEncoding.js +68 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/png.js +60 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/rng.js +20 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/strings.js +134 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/unicode.js +239 -0
- package/dist/esm/node_modules/pdf-lib/es/utils/validators.js +182 -0
- package/dist/esm/node_modules/pdfjs-dist/build/pdf.js +25542 -0
- package/dist/esm/node_modules/prop-types/index.js +1 -1
- package/dist/esm/node_modules/prop-types/node_modules/react-is/index.js +1 -1
- package/dist/esm/node_modules/react-pdf/dist/Document.js +308 -0
- package/dist/esm/node_modules/react-pdf/dist/DocumentContext.js +6 -0
- package/dist/esm/node_modules/react-pdf/dist/LinkService.js +151 -0
- package/dist/esm/node_modules/react-pdf/dist/Message.js +7 -0
- package/dist/esm/node_modules/react-pdf/dist/Page/AnnotationLayer.css.js +6 -0
- package/dist/esm/node_modules/react-pdf/dist/Page/AnnotationLayer.js +148 -0
- package/dist/esm/node_modules/react-pdf/dist/Page/Canvas.js +100 -0
- package/dist/esm/node_modules/react-pdf/dist/Page/TextLayer.css.js +6 -0
- package/dist/esm/node_modules/react-pdf/dist/Page/TextLayer.js +179 -0
- package/dist/esm/node_modules/react-pdf/dist/Page.js +252 -0
- package/dist/esm/node_modules/react-pdf/dist/PageContext.js +6 -0
- package/dist/esm/node_modules/react-pdf/dist/PasswordResponses.js +7 -0
- package/dist/esm/node_modules/react-pdf/dist/StructTree.js +77 -0
- package/dist/esm/node_modules/react-pdf/dist/StructTreeItem.js +23 -0
- package/dist/esm/node_modules/react-pdf/dist/index.js +7 -0
- package/dist/esm/node_modules/react-pdf/dist/shared/constants.js +59 -0
- package/dist/esm/node_modules/react-pdf/dist/shared/hooks/useDocumentContext.js +8 -0
- package/dist/esm/node_modules/react-pdf/dist/shared/hooks/usePageContext.js +8 -0
- package/dist/esm/node_modules/react-pdf/dist/shared/hooks/useResolver.js +19 -0
- package/dist/esm/node_modules/react-pdf/dist/shared/structTreeUtils.js +68 -0
- package/dist/esm/node_modules/react-pdf/dist/shared/utils.js +146 -0
- package/dist/esm/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +15 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js +52 -1
- package/dist/esm/node_modules/warning/warning.js +71 -0
- package/dist/esm/utils/file.js +66 -0
- package/dist/styles.css +21 -0
- package/dist/types/index.d.ts +176 -12
- package/package.json +5 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useMemo, useEffect, useCallback } from 'react';
|
|
4
|
+
import mergeRefs from '../../../merge-refs/dist/index.js';
|
|
5
|
+
import { AnnotationMode } from '../../../pdfjs-dist/build/pdf.js';
|
|
6
|
+
import invariant from '../../../tiny-invariant/dist/esm/tiny-invariant.js';
|
|
7
|
+
import warning from '../../../../_virtual/warning.js';
|
|
8
|
+
import StructTree from '../StructTree.js';
|
|
9
|
+
import usePageContext from '../shared/hooks/usePageContext.js';
|
|
10
|
+
import { getDevicePixelRatio, cancelRunningTask, makePageCallback, isAbortException } from '../shared/utils.js';
|
|
11
|
+
|
|
12
|
+
const ANNOTATION_MODE = AnnotationMode;
|
|
13
|
+
function Canvas(props) {
|
|
14
|
+
const pageContext = usePageContext();
|
|
15
|
+
invariant(pageContext, 'Unable to find Page context.');
|
|
16
|
+
const mergedProps = { ...pageContext, ...props };
|
|
17
|
+
const { _className, canvasBackground, devicePixelRatio = getDevicePixelRatio(), onRenderError: onRenderErrorProps, onRenderSuccess: onRenderSuccessProps, page, renderForms, renderTextLayer, rotate, scale, } = mergedProps;
|
|
18
|
+
const { canvasRef } = props;
|
|
19
|
+
invariant(page, 'Attempted to render page canvas, but no page was specified.');
|
|
20
|
+
const canvasElement = useRef(null);
|
|
21
|
+
/**
|
|
22
|
+
* Called when a page is rendered successfully.
|
|
23
|
+
*/
|
|
24
|
+
function onRenderSuccess() {
|
|
25
|
+
if (!page) {
|
|
26
|
+
// Impossible, but TypeScript doesn't know that
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (onRenderSuccessProps) {
|
|
30
|
+
onRenderSuccessProps(makePageCallback(page, scale));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Called when a page fails to render.
|
|
35
|
+
*/
|
|
36
|
+
function onRenderError(error) {
|
|
37
|
+
if (isAbortException(error)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
warning(false, error.toString());
|
|
41
|
+
if (onRenderErrorProps) {
|
|
42
|
+
onRenderErrorProps(error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const renderViewport = useMemo(() => page.getViewport({ scale: scale * devicePixelRatio, rotation: rotate }), [devicePixelRatio, page, rotate, scale]);
|
|
46
|
+
const viewport = useMemo(() => page.getViewport({ scale, rotation: rotate }), [page, rotate, scale]);
|
|
47
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Omitted callbacks so they are not called every time they change
|
|
48
|
+
useEffect(function drawPageOnCanvas() {
|
|
49
|
+
if (!page) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// Ensures the canvas will be re-rendered from scratch. Otherwise all form data will stay.
|
|
53
|
+
page.cleanup();
|
|
54
|
+
const { current: canvas } = canvasElement;
|
|
55
|
+
if (!canvas) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
canvas.width = renderViewport.width;
|
|
59
|
+
canvas.height = renderViewport.height;
|
|
60
|
+
canvas.style.width = `${Math.floor(viewport.width)}px`;
|
|
61
|
+
canvas.style.height = `${Math.floor(viewport.height)}px`;
|
|
62
|
+
canvas.style.visibility = 'hidden';
|
|
63
|
+
const renderContext = {
|
|
64
|
+
annotationMode: renderForms ? ANNOTATION_MODE.ENABLE_FORMS : ANNOTATION_MODE.ENABLE,
|
|
65
|
+
canvas,
|
|
66
|
+
canvasContext: canvas.getContext('2d', { alpha: false }),
|
|
67
|
+
viewport: renderViewport,
|
|
68
|
+
};
|
|
69
|
+
if (canvasBackground) {
|
|
70
|
+
renderContext.background = canvasBackground;
|
|
71
|
+
}
|
|
72
|
+
const cancellable = page.render(renderContext);
|
|
73
|
+
const runningTask = cancellable;
|
|
74
|
+
cancellable.promise
|
|
75
|
+
.then(() => {
|
|
76
|
+
canvas.style.visibility = '';
|
|
77
|
+
onRenderSuccess();
|
|
78
|
+
})
|
|
79
|
+
.catch(onRenderError);
|
|
80
|
+
return () => cancelRunningTask(runningTask);
|
|
81
|
+
}, [canvasBackground, page, renderForms, renderViewport, viewport]);
|
|
82
|
+
const cleanup = useCallback(() => {
|
|
83
|
+
const { current: canvas } = canvasElement;
|
|
84
|
+
/**
|
|
85
|
+
* Zeroing the width and height cause most browsers to release graphics
|
|
86
|
+
* resources immediately, which can greatly reduce memory consumption.
|
|
87
|
+
*/
|
|
88
|
+
if (canvas) {
|
|
89
|
+
canvas.width = 0;
|
|
90
|
+
canvas.height = 0;
|
|
91
|
+
}
|
|
92
|
+
}, []);
|
|
93
|
+
useEffect(() => cleanup, [cleanup]);
|
|
94
|
+
return (jsx("canvas", { className: `${_className}__canvas`, dir: "ltr", ref: mergeRefs(canvasRef, canvasElement), style: {
|
|
95
|
+
display: 'block',
|
|
96
|
+
userSelect: 'none',
|
|
97
|
+
}, children: renderTextLayer ? jsx(StructTree, {}) : null }));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export { Canvas as default };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import styleInject from '../../../style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = "/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n:root {\n --react-pdf-text-layer: 1;\n --highlight-bg-color: rgba(180, 0, 170, 1);\n --highlight-selected-bg-color: rgba(0, 100, 0, 1);\n}\n\n@media screen and (forced-colors: active) {\n :root {\n --highlight-bg-color: Highlight;\n --highlight-selected-bg-color: ButtonText;\n }\n}\n\n[data-main-rotation='90'] {\n transform: rotate(90deg) translateY(-100%);\n}\n[data-main-rotation='180'] {\n transform: rotate(180deg) translate(-100%, -100%);\n}\n[data-main-rotation='270'] {\n transform: rotate(270deg) translateX(-100%);\n}\n\n.textLayer {\n position: absolute;\n text-align: initial;\n inset: 0;\n overflow: hidden;\n line-height: 1;\n text-size-adjust: none;\n forced-color-adjust: none;\n transform-origin: 0 0;\n z-index: 2;\n}\n\n.textLayer :is(span, br) {\n color: transparent;\n position: absolute;\n white-space: pre;\n cursor: text;\n margin: 0;\n transform-origin: 0 0;\n}\n\n/* Only necessary in Google Chrome, see issue 14205, and most unfortunately\n * the problem doesn't show up in \"text\" reference tests. */\n.textLayer span.markedContent {\n top: 0;\n height: 0;\n}\n\n.textLayer .highlight {\n margin: -1px;\n padding: 1px;\n background-color: var(--highlight-bg-color);\n border-radius: 4px;\n}\n\n.textLayer .highlight.appended {\n position: initial;\n}\n\n.textLayer .highlight.begin {\n border-radius: 4px 0 0 4px;\n}\n\n.textLayer .highlight.end {\n border-radius: 0 4px 4px 0;\n}\n\n.textLayer .highlight.middle {\n border-radius: 0;\n}\n\n.textLayer .highlight.selected {\n background-color: var(--highlight-selected-bg-color);\n}\n\n/* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */\n.textLayer br::selection {\n background: transparent;\n}\n\n.textLayer .endOfContent {\n display: block;\n position: absolute;\n inset: 100% 0 0;\n z-index: -1;\n cursor: default;\n user-select: none;\n}\n\n.textLayer.selecting .endOfContent {\n top: 0;\n}\n\n.hiddenCanvasElement {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n display: none;\n}\n";
|
|
4
|
+
styleInject(css_248z);
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useEffect, useCallback, useMemo, useLayoutEffect } from 'react';
|
|
4
|
+
import { clsx } from '../../../clsx/dist/clsx.js';
|
|
5
|
+
import makeCancellablePromise from '../../../make-cancellable-promise/dist/index.js';
|
|
6
|
+
import { TextLayer as TextLayer$1 } from '../../../pdfjs-dist/build/pdf.js';
|
|
7
|
+
import invariant from '../../../tiny-invariant/dist/esm/tiny-invariant.js';
|
|
8
|
+
import warning from '../../../../_virtual/warning.js';
|
|
9
|
+
import usePageContext from '../shared/hooks/usePageContext.js';
|
|
10
|
+
import useResolver from '../shared/hooks/useResolver.js';
|
|
11
|
+
import { cancelRunningTask, isAbortException } from '../shared/utils.js';
|
|
12
|
+
|
|
13
|
+
function isTextItem(item) {
|
|
14
|
+
return 'str' in item;
|
|
15
|
+
}
|
|
16
|
+
function TextLayer() {
|
|
17
|
+
const pageContext = usePageContext();
|
|
18
|
+
invariant(pageContext, 'Unable to find Page context.');
|
|
19
|
+
const { customTextRenderer, onGetTextError, onGetTextSuccess, onRenderTextLayerError, onRenderTextLayerSuccess, page, pageIndex, pageNumber, rotate, scale, } = pageContext;
|
|
20
|
+
invariant(page, 'Attempted to load page text content, but no page was specified.');
|
|
21
|
+
const [textContentState, textContentDispatch] = useResolver();
|
|
22
|
+
const { value: textContent, error: textContentError } = textContentState;
|
|
23
|
+
const layerElement = useRef(null);
|
|
24
|
+
warning(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--react-pdf-text-layer'), 10) === 1, 'TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer');
|
|
25
|
+
/**
|
|
26
|
+
* Called when a page text content is read successfully
|
|
27
|
+
*/
|
|
28
|
+
function onLoadSuccess() {
|
|
29
|
+
if (!textContent) {
|
|
30
|
+
// Impossible, but TypeScript doesn't know that
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (onGetTextSuccess) {
|
|
34
|
+
onGetTextSuccess(textContent);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Called when a page text content failed to read successfully
|
|
39
|
+
*/
|
|
40
|
+
function onLoadError() {
|
|
41
|
+
if (!textContentError) {
|
|
42
|
+
// Impossible, but TypeScript doesn't know that
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
warning(false, textContentError.toString());
|
|
46
|
+
if (onGetTextError) {
|
|
47
|
+
onGetTextError(textContentError);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: useEffect intentionally triggered on page change
|
|
51
|
+
useEffect(function resetTextContent() {
|
|
52
|
+
textContentDispatch({ type: 'RESET' });
|
|
53
|
+
}, [page, textContentDispatch]);
|
|
54
|
+
useEffect(function loadTextContent() {
|
|
55
|
+
if (!page) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const cancellable = makeCancellablePromise(page.getTextContent());
|
|
59
|
+
const runningTask = cancellable;
|
|
60
|
+
cancellable.promise
|
|
61
|
+
.then((nextTextContent) => {
|
|
62
|
+
textContentDispatch({ type: 'RESOLVE', value: nextTextContent });
|
|
63
|
+
})
|
|
64
|
+
.catch((error) => {
|
|
65
|
+
textContentDispatch({ type: 'REJECT', error });
|
|
66
|
+
});
|
|
67
|
+
return () => cancelRunningTask(runningTask);
|
|
68
|
+
}, [page, textContentDispatch]);
|
|
69
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Omitted callbacks so they are not called every time they change
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (textContent === undefined) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (textContent === false) {
|
|
75
|
+
onLoadError();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
onLoadSuccess();
|
|
79
|
+
}, [textContent]);
|
|
80
|
+
/**
|
|
81
|
+
* Called when a text layer is rendered successfully
|
|
82
|
+
*/
|
|
83
|
+
const onRenderSuccess = useCallback(() => {
|
|
84
|
+
if (onRenderTextLayerSuccess) {
|
|
85
|
+
onRenderTextLayerSuccess();
|
|
86
|
+
}
|
|
87
|
+
}, [onRenderTextLayerSuccess]);
|
|
88
|
+
/**
|
|
89
|
+
* Called when a text layer failed to render successfully
|
|
90
|
+
*/
|
|
91
|
+
const onRenderError = useCallback((error) => {
|
|
92
|
+
if (isAbortException(error)) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
warning(false, error.toString());
|
|
96
|
+
if (onRenderTextLayerError) {
|
|
97
|
+
onRenderTextLayerError(error);
|
|
98
|
+
}
|
|
99
|
+
}, [onRenderTextLayerError]);
|
|
100
|
+
function onMouseDown() {
|
|
101
|
+
const layer = layerElement.current;
|
|
102
|
+
if (!layer) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
layer.classList.add('selecting');
|
|
106
|
+
}
|
|
107
|
+
function onMouseUp() {
|
|
108
|
+
const layer = layerElement.current;
|
|
109
|
+
if (!layer) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
layer.classList.remove('selecting');
|
|
113
|
+
}
|
|
114
|
+
const viewport = useMemo(() => page.getViewport({ scale, rotation: rotate }), [page, rotate, scale]);
|
|
115
|
+
useLayoutEffect(function renderTextLayer() {
|
|
116
|
+
if (!page || !textContent) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const { current: layer } = layerElement;
|
|
120
|
+
if (!layer) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
layer.innerHTML = '';
|
|
124
|
+
const textContentSource = page.streamTextContent({ includeMarkedContent: true });
|
|
125
|
+
const parameters = {
|
|
126
|
+
container: layer,
|
|
127
|
+
textContentSource,
|
|
128
|
+
viewport,
|
|
129
|
+
};
|
|
130
|
+
const cancellable = new TextLayer$1(parameters);
|
|
131
|
+
const runningTask = cancellable;
|
|
132
|
+
cancellable
|
|
133
|
+
.render()
|
|
134
|
+
.then(() => {
|
|
135
|
+
const end = document.createElement('div');
|
|
136
|
+
end.className = 'endOfContent';
|
|
137
|
+
layer.append(end);
|
|
138
|
+
const layerChildren = layer.querySelectorAll('[role="presentation"]');
|
|
139
|
+
if (customTextRenderer) {
|
|
140
|
+
let index = 0;
|
|
141
|
+
textContent.items.forEach((item, itemIndex) => {
|
|
142
|
+
if (!isTextItem(item)) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const child = layerChildren[index];
|
|
146
|
+
if (!child) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const content = customTextRenderer({
|
|
150
|
+
pageIndex,
|
|
151
|
+
pageNumber,
|
|
152
|
+
itemIndex,
|
|
153
|
+
...item,
|
|
154
|
+
});
|
|
155
|
+
child.innerHTML = content;
|
|
156
|
+
index += item.str && item.hasEOL ? 2 : 1;
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
// Intentional immediate callback
|
|
160
|
+
onRenderSuccess();
|
|
161
|
+
})
|
|
162
|
+
.catch(onRenderError);
|
|
163
|
+
return () => cancelRunningTask(runningTask);
|
|
164
|
+
}, [
|
|
165
|
+
customTextRenderer,
|
|
166
|
+
onRenderError,
|
|
167
|
+
onRenderSuccess,
|
|
168
|
+
page,
|
|
169
|
+
pageIndex,
|
|
170
|
+
pageNumber,
|
|
171
|
+
textContent,
|
|
172
|
+
viewport,
|
|
173
|
+
]);
|
|
174
|
+
return (
|
|
175
|
+
// biome-ignore lint/a11y/noStaticElementInteractions: False positive caused by non interactive wrapper listening for bubbling events
|
|
176
|
+
jsx("div", { className: clsx('react-pdf__Page__textContent', 'textLayer'), onMouseUp: onMouseUp, onMouseDown: onMouseDown, ref: layerElement }));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export { TextLayer as default };
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useMemo, useEffect } from 'react';
|
|
4
|
+
import { clsx } from '../../clsx/dist/clsx.js';
|
|
5
|
+
import makeCancellablePromise from '../../make-cancellable-promise/dist/index.js';
|
|
6
|
+
import makeEventProps from '../../make-event-props/dist/index.js';
|
|
7
|
+
import mergeRefs from '../../merge-refs/dist/index.js';
|
|
8
|
+
import invariant from '../../tiny-invariant/dist/esm/tiny-invariant.js';
|
|
9
|
+
import warning from '../../../_virtual/warning.js';
|
|
10
|
+
import Message from './Message.js';
|
|
11
|
+
import AnnotationLayer from './Page/AnnotationLayer.js';
|
|
12
|
+
import Canvas from './Page/Canvas.js';
|
|
13
|
+
import TextLayer from './Page/TextLayer.js';
|
|
14
|
+
import pageContext from './PageContext.js';
|
|
15
|
+
import useDocumentContext from './shared/hooks/useDocumentContext.js';
|
|
16
|
+
import useResolver from './shared/hooks/useResolver.js';
|
|
17
|
+
import { isProvided, cancelRunningTask, makePageCallback } from './shared/utils.js';
|
|
18
|
+
|
|
19
|
+
const defaultScale = 1;
|
|
20
|
+
/**
|
|
21
|
+
* Displays a page.
|
|
22
|
+
*
|
|
23
|
+
* Should be placed inside `<Document />`. Alternatively, it can have `pdf` prop passed, which can be obtained from `<Document />`'s `onLoadSuccess` callback function, however some advanced functions like linking between pages inside a document may not be working correctly.
|
|
24
|
+
*/
|
|
25
|
+
function Page(props) {
|
|
26
|
+
const documentContext = useDocumentContext();
|
|
27
|
+
const mergedProps = { ...documentContext, ...props };
|
|
28
|
+
const { _className = 'react-pdf__Page', _enableRegisterUnregisterPage = true, canvasBackground, canvasRef, children, className, customRenderer: CustomRenderer, customTextRenderer, devicePixelRatio, error = 'Failed to load the page.', filterAnnotations, height, inputRef, loading = 'Loading page…', noData = 'No page specified.', onGetAnnotationsError: onGetAnnotationsErrorProps, onGetAnnotationsSuccess: onGetAnnotationsSuccessProps, onGetStructTreeError: onGetStructTreeErrorProps, onGetStructTreeSuccess: onGetStructTreeSuccessProps, onGetTextError: onGetTextErrorProps, onGetTextSuccess: onGetTextSuccessProps, onLoadError: onLoadErrorProps, onLoadSuccess: onLoadSuccessProps, onRenderAnnotationLayerError: onRenderAnnotationLayerErrorProps, onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccessProps, onRenderError: onRenderErrorProps, onRenderSuccess: onRenderSuccessProps, onRenderTextLayerError: onRenderTextLayerErrorProps, onRenderTextLayerSuccess: onRenderTextLayerSuccessProps, pageIndex: pageIndexProps, pageNumber: pageNumberProps, pdf, registerPage, renderAnnotationLayer: renderAnnotationLayerProps = true, renderForms = false, renderMode = 'canvas', renderTextLayer: renderTextLayerProps = true, rotate: rotateProps, scale: scaleProps = defaultScale, unregisterPage, width, ...otherProps } = mergedProps;
|
|
29
|
+
const [pageState, pageDispatch] = useResolver();
|
|
30
|
+
const { value: page, error: pageError } = pageState;
|
|
31
|
+
const pageElement = useRef(null);
|
|
32
|
+
invariant(pdf, 'Attempted to load a page, but no document was specified. Wrap <Page /> in a <Document /> or pass explicit `pdf` prop.');
|
|
33
|
+
const pageIndex = isProvided(pageNumberProps) ? pageNumberProps - 1 : (pageIndexProps !== null && pageIndexProps !== void 0 ? pageIndexProps : null);
|
|
34
|
+
const pageNumber = pageNumberProps !== null && pageNumberProps !== void 0 ? pageNumberProps : (isProvided(pageIndexProps) ? pageIndexProps + 1 : null);
|
|
35
|
+
const rotate = rotateProps !== null && rotateProps !== void 0 ? rotateProps : (page ? page.rotate : null);
|
|
36
|
+
const scale = useMemo(() => {
|
|
37
|
+
if (!page) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
// Be default, we'll render page at 100% * scale width.
|
|
41
|
+
let pageScale = 1;
|
|
42
|
+
// Passing scale explicitly null would cause the page not to render
|
|
43
|
+
const scaleWithDefault = scaleProps !== null && scaleProps !== void 0 ? scaleProps : defaultScale;
|
|
44
|
+
// If width/height is defined, calculate the scale of the page so it could be of desired width.
|
|
45
|
+
if (width || height) {
|
|
46
|
+
const viewport = page.getViewport({ scale: 1, rotation: rotate });
|
|
47
|
+
if (width) {
|
|
48
|
+
pageScale = width / viewport.width;
|
|
49
|
+
}
|
|
50
|
+
else if (height) {
|
|
51
|
+
pageScale = height / viewport.height;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return scaleWithDefault * pageScale;
|
|
55
|
+
}, [height, page, rotate, scaleProps, width]);
|
|
56
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: useEffect intentionally triggered on pdf change
|
|
57
|
+
useEffect(function hook() {
|
|
58
|
+
return () => {
|
|
59
|
+
if (!isProvided(pageIndex)) {
|
|
60
|
+
// Impossible, but TypeScript doesn't know that
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (_enableRegisterUnregisterPage && unregisterPage) {
|
|
64
|
+
unregisterPage(pageIndex);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}, [_enableRegisterUnregisterPage, pdf, pageIndex, unregisterPage]);
|
|
68
|
+
/**
|
|
69
|
+
* Called when a page is loaded successfully
|
|
70
|
+
*/
|
|
71
|
+
function onLoadSuccess() {
|
|
72
|
+
if (onLoadSuccessProps) {
|
|
73
|
+
if (!page || !scale) {
|
|
74
|
+
// Impossible, but TypeScript doesn't know that
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
onLoadSuccessProps(makePageCallback(page, scale));
|
|
78
|
+
}
|
|
79
|
+
if (_enableRegisterUnregisterPage && registerPage) {
|
|
80
|
+
if (!isProvided(pageIndex) || !pageElement.current) {
|
|
81
|
+
// Impossible, but TypeScript doesn't know that
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
registerPage(pageIndex, pageElement.current);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Called when a page failed to load
|
|
89
|
+
*/
|
|
90
|
+
function onLoadError() {
|
|
91
|
+
if (!pageError) {
|
|
92
|
+
// Impossible, but TypeScript doesn't know that
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
warning(false, pageError.toString());
|
|
96
|
+
if (onLoadErrorProps) {
|
|
97
|
+
onLoadErrorProps(pageError);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: useEffect intentionally triggered on pdf and pageIndex change
|
|
101
|
+
useEffect(function resetPage() {
|
|
102
|
+
pageDispatch({ type: 'RESET' });
|
|
103
|
+
}, [pageDispatch, pdf, pageIndex]);
|
|
104
|
+
useEffect(function loadPage() {
|
|
105
|
+
if (!pdf || !pageNumber) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const cancellable = makeCancellablePromise(pdf.getPage(pageNumber));
|
|
109
|
+
const runningTask = cancellable;
|
|
110
|
+
cancellable.promise
|
|
111
|
+
.then((nextPage) => {
|
|
112
|
+
pageDispatch({ type: 'RESOLVE', value: nextPage });
|
|
113
|
+
})
|
|
114
|
+
.catch((error) => {
|
|
115
|
+
pageDispatch({ type: 'REJECT', error });
|
|
116
|
+
});
|
|
117
|
+
return () => cancelRunningTask(runningTask);
|
|
118
|
+
}, [pageDispatch, pdf, pageNumber]);
|
|
119
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Omitted callbacks so they are not called every time they change
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
if (page === undefined) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (page === false) {
|
|
125
|
+
onLoadError();
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
onLoadSuccess();
|
|
129
|
+
}, [page, scale]);
|
|
130
|
+
const childContext = useMemo(() =>
|
|
131
|
+
// Technically there cannot be page without pageIndex, pageNumber, rotate and scale, but TypeScript doesn't know that
|
|
132
|
+
isProvided(pageIndex) && pageNumber && isProvided(rotate) && isProvided(scale)
|
|
133
|
+
? {
|
|
134
|
+
_className,
|
|
135
|
+
canvasBackground,
|
|
136
|
+
customTextRenderer,
|
|
137
|
+
devicePixelRatio,
|
|
138
|
+
filterAnnotations,
|
|
139
|
+
onGetAnnotationsError: onGetAnnotationsErrorProps,
|
|
140
|
+
onGetAnnotationsSuccess: onGetAnnotationsSuccessProps,
|
|
141
|
+
onGetStructTreeError: onGetStructTreeErrorProps,
|
|
142
|
+
onGetStructTreeSuccess: onGetStructTreeSuccessProps,
|
|
143
|
+
onGetTextError: onGetTextErrorProps,
|
|
144
|
+
onGetTextSuccess: onGetTextSuccessProps,
|
|
145
|
+
onRenderAnnotationLayerError: onRenderAnnotationLayerErrorProps,
|
|
146
|
+
onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccessProps,
|
|
147
|
+
onRenderError: onRenderErrorProps,
|
|
148
|
+
onRenderSuccess: onRenderSuccessProps,
|
|
149
|
+
onRenderTextLayerError: onRenderTextLayerErrorProps,
|
|
150
|
+
onRenderTextLayerSuccess: onRenderTextLayerSuccessProps,
|
|
151
|
+
page,
|
|
152
|
+
pageIndex,
|
|
153
|
+
pageNumber,
|
|
154
|
+
renderForms,
|
|
155
|
+
renderTextLayer: renderTextLayerProps,
|
|
156
|
+
rotate,
|
|
157
|
+
scale,
|
|
158
|
+
}
|
|
159
|
+
: null, [
|
|
160
|
+
_className,
|
|
161
|
+
canvasBackground,
|
|
162
|
+
customTextRenderer,
|
|
163
|
+
devicePixelRatio,
|
|
164
|
+
filterAnnotations,
|
|
165
|
+
onGetAnnotationsErrorProps,
|
|
166
|
+
onGetAnnotationsSuccessProps,
|
|
167
|
+
onGetStructTreeErrorProps,
|
|
168
|
+
onGetStructTreeSuccessProps,
|
|
169
|
+
onGetTextErrorProps,
|
|
170
|
+
onGetTextSuccessProps,
|
|
171
|
+
onRenderAnnotationLayerErrorProps,
|
|
172
|
+
onRenderAnnotationLayerSuccessProps,
|
|
173
|
+
onRenderErrorProps,
|
|
174
|
+
onRenderSuccessProps,
|
|
175
|
+
onRenderTextLayerErrorProps,
|
|
176
|
+
onRenderTextLayerSuccessProps,
|
|
177
|
+
page,
|
|
178
|
+
pageIndex,
|
|
179
|
+
pageNumber,
|
|
180
|
+
renderForms,
|
|
181
|
+
renderTextLayerProps,
|
|
182
|
+
rotate,
|
|
183
|
+
scale,
|
|
184
|
+
]);
|
|
185
|
+
const eventProps = useMemo(() => makeEventProps(otherProps, () => page ? (scale ? makePageCallback(page, scale) : undefined) : page),
|
|
186
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: FIXME
|
|
187
|
+
[otherProps, page, scale]);
|
|
188
|
+
const pageKey = `${pageIndex}@${scale}/${rotate}`;
|
|
189
|
+
function renderMainLayer() {
|
|
190
|
+
switch (renderMode) {
|
|
191
|
+
case 'custom': {
|
|
192
|
+
invariant(CustomRenderer, `renderMode was set to "custom", but no customRenderer was passed.`);
|
|
193
|
+
return jsx(CustomRenderer, {}, `${pageKey}_custom`);
|
|
194
|
+
}
|
|
195
|
+
case 'none':
|
|
196
|
+
return null;
|
|
197
|
+
case 'canvas':
|
|
198
|
+
default:
|
|
199
|
+
return jsx(Canvas, { canvasRef: canvasRef }, `${pageKey}_canvas`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function renderTextLayer() {
|
|
203
|
+
if (!renderTextLayerProps) {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
return jsx(TextLayer, {}, `${pageKey}_text`);
|
|
207
|
+
}
|
|
208
|
+
function renderAnnotationLayer() {
|
|
209
|
+
if (!renderAnnotationLayerProps) {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
return jsx(AnnotationLayer, {}, `${pageKey}_annotations`);
|
|
213
|
+
}
|
|
214
|
+
function renderChildren() {
|
|
215
|
+
function isFulfilledContext(context) {
|
|
216
|
+
return Boolean(context === null || context === void 0 ? void 0 : context.page);
|
|
217
|
+
}
|
|
218
|
+
if (!isFulfilledContext(childContext)) {
|
|
219
|
+
// Impossible, but TypeScript doesn't know that
|
|
220
|
+
throw new Error('page is undefined');
|
|
221
|
+
}
|
|
222
|
+
const resolvedChildren = typeof children === 'function' ? children(childContext) : children;
|
|
223
|
+
return (jsxs(pageContext.Provider, { value: childContext, children: [renderMainLayer(), renderTextLayer(), renderAnnotationLayer(), resolvedChildren] }));
|
|
224
|
+
}
|
|
225
|
+
function renderContent() {
|
|
226
|
+
if (!pageNumber) {
|
|
227
|
+
return jsx(Message, { type: "no-data", children: typeof noData === 'function' ? noData() : noData });
|
|
228
|
+
}
|
|
229
|
+
if (pdf === null || page === undefined || page === null) {
|
|
230
|
+
return (jsx(Message, { type: "loading", children: typeof loading === 'function' ? loading() : loading }));
|
|
231
|
+
}
|
|
232
|
+
if (pdf === false || page === false) {
|
|
233
|
+
return jsx(Message, { type: "error", children: typeof error === 'function' ? error() : error });
|
|
234
|
+
}
|
|
235
|
+
return renderChildren();
|
|
236
|
+
}
|
|
237
|
+
return (jsx("div", { className: clsx(_className, className), "data-page-number": pageNumber,
|
|
238
|
+
// Assertion is needed for React 18 compatibility
|
|
239
|
+
ref: mergeRefs(inputRef, pageElement), style: {
|
|
240
|
+
'--scale-round-x': '1px',
|
|
241
|
+
'--scale-round-y': '1px',
|
|
242
|
+
'--scale-factor': '1',
|
|
243
|
+
'--user-unit': `${scale}`,
|
|
244
|
+
'--total-scale-factor': 'calc(var(--scale-factor) * var(--user-unit))',
|
|
245
|
+
backgroundColor: canvasBackground || 'white',
|
|
246
|
+
position: 'relative',
|
|
247
|
+
minWidth: 'min-content',
|
|
248
|
+
minHeight: 'min-content',
|
|
249
|
+
}, ...eventProps, children: renderContent() }));
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export { Page as default };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import makeCancellablePromise from '../../make-cancellable-promise/dist/index.js';
|
|
4
|
+
import invariant from '../../tiny-invariant/dist/esm/tiny-invariant.js';
|
|
5
|
+
import warning from '../../../_virtual/warning.js';
|
|
6
|
+
import StructTreeItem from './StructTreeItem.js';
|
|
7
|
+
import usePageContext from './shared/hooks/usePageContext.js';
|
|
8
|
+
import useResolver from './shared/hooks/useResolver.js';
|
|
9
|
+
import { cancelRunningTask } from './shared/utils.js';
|
|
10
|
+
|
|
11
|
+
function StructTree() {
|
|
12
|
+
const pageContext = usePageContext();
|
|
13
|
+
invariant(pageContext, 'Unable to find Page context.');
|
|
14
|
+
const { onGetStructTreeError: onGetStructTreeErrorProps, onGetStructTreeSuccess: onGetStructTreeSuccessProps, } = pageContext;
|
|
15
|
+
const [structTreeState, structTreeDispatch] = useResolver();
|
|
16
|
+
const { value: structTree, error: structTreeError } = structTreeState;
|
|
17
|
+
const { customTextRenderer, page } = pageContext;
|
|
18
|
+
function onLoadSuccess() {
|
|
19
|
+
if (!structTree) {
|
|
20
|
+
// Impossible, but TypeScript doesn't know that
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (onGetStructTreeSuccessProps) {
|
|
24
|
+
onGetStructTreeSuccessProps(structTree);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function onLoadError() {
|
|
28
|
+
if (!structTreeError) {
|
|
29
|
+
// Impossible, but TypeScript doesn't know that
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
warning(false, structTreeError.toString());
|
|
33
|
+
if (onGetStructTreeErrorProps) {
|
|
34
|
+
onGetStructTreeErrorProps(structTreeError);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: useEffect intentionally triggered on page change
|
|
38
|
+
useEffect(function resetStructTree() {
|
|
39
|
+
structTreeDispatch({ type: 'RESET' });
|
|
40
|
+
}, [structTreeDispatch, page]);
|
|
41
|
+
useEffect(function loadStructTree() {
|
|
42
|
+
if (customTextRenderer) {
|
|
43
|
+
// TODO: Document why this is necessary
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!page) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const cancellable = makeCancellablePromise(page.getStructTree());
|
|
50
|
+
const runningTask = cancellable;
|
|
51
|
+
cancellable.promise
|
|
52
|
+
.then((nextStructTree) => {
|
|
53
|
+
structTreeDispatch({ type: 'RESOLVE', value: nextStructTree });
|
|
54
|
+
})
|
|
55
|
+
.catch((error) => {
|
|
56
|
+
structTreeDispatch({ type: 'REJECT', error });
|
|
57
|
+
});
|
|
58
|
+
return () => cancelRunningTask(runningTask);
|
|
59
|
+
}, [customTextRenderer, page, structTreeDispatch]);
|
|
60
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Omitted callbacks so they are not called every time they change
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (structTree === undefined) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (structTree === false) {
|
|
66
|
+
onLoadError();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
onLoadSuccess();
|
|
70
|
+
}, [structTree]);
|
|
71
|
+
if (!structTree) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
return jsx(StructTreeItem, { className: "react-pdf__Page__structTree structTree", node: structTree });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { StructTree as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { getAttributes, isStructTreeNode, isStructTreeNodeWithOnlyContentChild } from './shared/structTreeUtils.js';
|
|
4
|
+
|
|
5
|
+
function StructTreeItem({ className, node, }) {
|
|
6
|
+
const attributes = useMemo(() => getAttributes(node), [node]);
|
|
7
|
+
const children = useMemo(() => {
|
|
8
|
+
if (!isStructTreeNode(node)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (isStructTreeNodeWithOnlyContentChild(node)) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return node.children.map((child, index) => {
|
|
15
|
+
return (
|
|
16
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: index is stable here
|
|
17
|
+
jsx(StructTreeItem, { node: child }, index));
|
|
18
|
+
});
|
|
19
|
+
}, [node]);
|
|
20
|
+
return (jsx("span", { className: className, ...attributes, children: children }));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { StructTreeItem as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GlobalWorkerOptions } from '../../pdfjs-dist/build/pdf.js';
|
|
2
|
+
import * as pdf from '../../pdfjs-dist/build/pdf.js';
|
|
3
|
+
export { pdf as pdfjs };
|
|
4
|
+
import { displayWorkerWarning } from './shared/utils.js';
|
|
5
|
+
|
|
6
|
+
displayWorkerWarning();
|
|
7
|
+
GlobalWorkerOptions.workerSrc = 'pdf.worker.mjs';
|