ngx-extended-pdf-viewer
Version:
Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.
1 lines • 474 kB
Source Map (JSON)
{"version":3,"file":"ngx-extended-pdf-viewer.mjs","sources":["../../../projects/ngx-extended-pdf-viewer/src/lib/events/find-result.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/pdf-default-options.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/verbosity-level.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dummy-components/pdf-dummy-components.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dummy-components/pdf-dummy-components.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-dark-theme/pdf-dark-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-dark-theme/pdf-dark-theme.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-light-theme/pdf-light-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-light-theme/pdf-light-theme.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/dynamic-css/dynamic-css.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/dynamic-css/dynamic-css.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-error-message/pdf-error-message.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-error-message/pdf-error-message.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-password-dialog/pdf-password-dialog.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-password-dialog/pdf-password-dialog.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-notification-service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/acroform-dark-theme/pdf-acroform-dark-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/acroform-default-theme/pdf-acroform-default-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-original-theme/pdf-original.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-original-theme/pdf-original.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-bookmark/pdf-bookmark.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-bookmark/pdf-bookmark.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-context-menu/pdf-context-menu.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-context-menu/pdf-context-menu.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-download/pdf-download.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-download/pdf-download.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-find-button/pdf-find-button.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-find-button/pdf-find-button.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/options/pdf-cursor-tools.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-hand-tool/pdf-hand-tool.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-hand-tool/pdf-hand-tool.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-open-file/pdf-open-file.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-open-file/pdf-open-file.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-paging-area.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-paging-area.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-presentation-mode/pdf-presentation-mode.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-presentation-mode/pdf-presentation-mode.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-print/pdf-print.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-print/pdf-print.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-rotate-page/pdf-rotate-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-rotate-page/pdf-rotate-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-select-tool/pdf-select-tool.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-select-tool/pdf-select-tool.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toolbar/pdf-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toolbar/pdf-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/translate.pipe.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-common.module.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.module.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/pdf-viewer.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pinch-on-mobile-support.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/unit-to-px.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/options/ngx-console.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.module.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/link-target.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/password-prompt.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-document-properties-extractor.ts","../../../projects/ngx-extended-pdf-viewer/src/public_api.ts","../../../projects/ngx-extended-pdf-viewer/src/ngx-extended-pdf-viewer.ts"],"sourcesContent":["export enum FindState {\n FOUND = 0,\n NOT_FOUND = 1,\n WRAPPED = 2,\n PENDING = 3\n}\n\nexport interface FindResultMatchesCount {\n current?: number;\n total?: number;\n matches?: Array<any>;\n matchesLength?: Array<any>;\n matchesColor?: Array<any>;\n\n}\n\nexport interface FindResult {\n state: FindState;\n previous: any;\n matchesCount: FindResultMatchesCount;\n}\n","const _isIE11 = typeof window === 'undefined' ? false : !!(<any>window).MSInputMethodContext && !!(<any>document).documentMode;\nconst isEdge = typeof navigator === 'undefined' || /Edge\\/\\d./i.test(navigator.userAgent);\nconst needsES5 = typeof ReadableStream === 'undefined' || typeof Promise['allSettled'] === 'undefined';\n\nexport const pdfjsVersion = '2.14.304';\nexport const pdfjsBleedingEdgeVersion = '2.15.350';\nexport function getVersionSuffix(folder: string): string {\n if (folder && folder.includes('bleeding-edge')) {\n return pdfjsBleedingEdgeVersion;\n }\n return pdfjsVersion;\n}\n\nexport let pdfDefaultOptions = {\n needsES5: _isIE11 || isEdge || needsES5,\n cursorToolOnLoad: 0,\n defaultUrl: '',\n defaultZoomValue: undefined,\n disableHistory: false,\n disablePageLabels: false,\n enablePrintAutoRotate: false,\n enableWebGL: false,\n eventBusDispatchToDOM: false,\n externalLinkRel: 'noopener noreferrer nofollow',\n externalLinkTarget: 0,\n historyUpdateUrl: false,\n ignoreDestinationZoom: false,\n imageResourcesPath: './images/',\n maxCanvasPixels: 16777216,\n pdfBugEnabled: false,\n rangeChunkSize: 65536,\n removePageBorders: false,\n renderer: 'canvas',\n renderInteractiveForms: true, // renamed - until pdf.js 2.10\n renderForms: true, // renamed - since pdf.js 2.11\n enableXfa: true,\n sidebarViewOnLoad: -1,\n scrollModeOnLoad: -1,\n spreadModeOnLoad: -1,\n textLayerMode: 2,\n useOnlyCssZoom: false,\n viewOnLoad: 0,\n cMapPacked: true,\n cMapUrl: () => `./${pdfDefaultOptions.assetsFolder}/cmaps/`,\n disableAutoFetch: false,\n disableCreateObjectURL: false,\n disableFontFace: false,\n disableRange: false,\n disableStream: false,\n isEvalSupported: true,\n maxImageSize: -1,\n pdfBug: false,\n postMessageTransfers: true,\n verbosity: 1,\n workerPort: null,\n assetsFolder: 'assets',\n sandboxBundleSrc: () =>\n pdfDefaultOptions.needsES5\n ? `./${pdfDefaultOptions.assetsFolder}/pdf.sandbox-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}-es5.js`\n : `./${pdfDefaultOptions.assetsFolder}/pdf.sandbox-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}.js`,\n workerSrc: () =>\n pdfDefaultOptions.needsES5\n ? `./${pdfDefaultOptions.assetsFolder}/pdf.worker-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}-es5.js`\n : `./${pdfDefaultOptions.assetsFolder}/pdf.worker-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}.js`,\n standardFontDataUrl: () => `../${pdfDefaultOptions.assetsFolder}/standard_fonts/`,\n\n // options specific to ngx-extended-pdf-viewer (as opposed to being used by pdf.js)\n doubleTapZoomFactor: 'page-width',\n enableScripting: true,\n defaultCacheSize: 50,\n passwordPrompt: undefined,\n annotationEditorEnabled: false,\n};\n\nif (typeof window !== 'undefined') {\n if ((<any>window).pdfDefaultOptions) {\n pdfDefaultOptions = (<any>window).pdfDefaultOptions;\n } else {\n (<any>window).pdfDefaultOptions = pdfDefaultOptions;\n }\n}\n","export enum VerbosityLevel {\n ERRORS = 0,\n WARNINGS = 1,\n INFOS = 5\n};\n","import { Component } from '@angular/core';\n\n/** List of all fields that can be customized */\nconst requiredIds = [\n 'toolbarViewer',\n 'numPages',\n 'pageNumber',\n 'scaleSelectContainer',\n 'customScaleOption',\n 'scaleSelect',\n 'scrollPage',\n 'previous',\n 'next',\n 'zoomIn',\n 'zoomOut',\n 'viewFind',\n 'openFile',\n 'print',\n 'presentationMode',\n 'download',\n 'viewBookmark',\n 'secondaryToolbar',\n 'secondaryToolbarToggle',\n 'secondaryToolbarButtonContainer',\n 'secondaryPresentationMode',\n 'secondaryOpenFile',\n 'secondaryPrint',\n 'secondaryDownload',\n 'secondaryViewBookmark',\n 'firstPage',\n 'lastPage',\n 'pageRotateCw',\n 'pageRotateCcw',\n 'cursorSelectTool',\n 'cursorHandTool',\n 'scrollVertical',\n 'scrollHorizontal',\n 'scrollWrapped',\n 'spreadNone',\n 'spreadOdd',\n 'spreadEven',\n 'documentProperties',\n 'contextFirstPage',\n 'contextLastPage',\n 'contextPageRotateCw',\n 'contextPageRotateCcw',\n 'currentOutlineItem',\n 'outerContainer',\n 'viewerContainer',\n 'sidebarToggle',\n 'viewThumbnail',\n 'viewOutline',\n 'viewAttachments',\n 'thumbnailView',\n 'outlineView',\n 'attachmentsView',\n 'outerContainer',\n 'sidebarResizer',\n 'outlineOptionsContainer',\n 'findbar',\n 'viewFind',\n 'findInput',\n 'findInputMultiline',\n 'findHighlightAll',\n 'findCurrentPage',\n 'findRange',\n 'findMatchCase',\n 'findMatchDiacritics',\n 'findEntireWord',\n 'findMultipleSearchTexts',\n 'findIgnoreAccents',\n 'findMsg',\n 'findResultsCount',\n 'findPrevious',\n 'findNext',\n 'findFuzzy',\n 'passwordOverlay',\n 'passwordText',\n 'password',\n 'passwordSubmit',\n 'passwordCancel',\n 'documentPropertiesOverlay',\n 'documentPropertiesClose',\n 'fileNameField',\n 'fileSizeField',\n 'titleField',\n 'authorField',\n 'subjectField',\n 'keywordsField',\n 'creationDateField',\n 'modificationDateField',\n 'creatorField',\n 'producerField',\n 'versionField',\n 'pageCountField',\n 'pageSizeField',\n 'linearizedField',\n 'errorWrapper',\n 'errorMessage',\n 'errorClose',\n 'errorMoreInfo',\n 'errorShowMore',\n 'errorShowLess',\n 'scaleSelectContainer',\n 'viewAttachments',\n 'viewLayers',\n 'viewThumbnail',\n 'viewOutline',\n 'editorModeButtons',\n 'editorNone',\n 'editorFreeText',\n];\n\n@Component({\n selector: 'pdf-dummy-components',\n templateUrl: './pdf-dummy-components.component.html',\n})\nexport class PdfDummyComponentsComponent {\n private dummyComponentsContainer: Element;\n\n public addMissingStandardWidgets(): void {\n this.dummyComponentsContainer = document.getElementsByClassName('dummy-pdf-viewer-components')[0];\n const container = this.dummyComponentsContainer as HTMLElement;\n if (container) {\n for (let i = 0; i < container.children.length; i++) {\n const child = container.firstChild;\n if (child) {\n container.removeChild(child);\n }\n }\n }\n\n requiredIds.forEach((id) => {\n if (this.needsDummyWidget(id)) {\n const dummy = document.createElement('span');\n dummy.id = id;\n dummy.className = 'invisible dummy-component';\n this.dummyComponentsContainer.appendChild(dummy);\n }\n });\n\n if (this.needsDummyWidget('scaleSelect')) {\n const dummy = document.createElement('select');\n dummy.id = 'scaleSelect';\n dummy.className = 'invisible dummy-component';\n this.dummyComponentsContainer.appendChild(dummy);\n }\n }\n\n private needsDummyWidget(id: string): boolean {\n const widget = document.getElementById(id);\n if (!widget) {\n return true;\n }\n return false;\n }\n}\n","<span class=\"invisible dummy-pdf-viewer-components\">\n</span>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pdf-dark-theme',\n templateUrl: './pdf-dark-theme.component.html',\n styleUrls: ['./colors.scss', '../common/print.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PdfDarkThemeComponent {}\n","","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pdf-light-theme',\n templateUrl: './pdf-light-theme.component.html',\n styleUrls: ['./colors.scss', '../common/print.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PdfLightThemeComponent {}\n","","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Input, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';\n\n@Component({\n selector: 'pdf-dynamic-css',\n templateUrl: './dynamic-css.component.html',\n styleUrls: ['./dynamic-css.component.css']\n})\nexport class DynamicCssComponent implements OnInit, OnChanges, OnDestroy {\n @Input()\n public zoom = 1.0;\n\n @Input()\n public width = 100;\n\n public xs = 490;\n\n public sm = 560;\n\n public md = 610;\n\n public lg = 660;\n\n public xl = 740;\n\n public xxl = 830;\n\n public get style(): string {\n return `\n@media all and (max-width: ${this.xl}px) {\n #toolbarViewerMiddle {\n display: table;\n margin: auto;\n left: auto;\n position: inherit;\n transform: none;\n }\n}\n\n@media all and (max-width: 840px) {\n #sidebarContent {\n background-color: rgba(0, 0, 0, 0.7);\n }\n\n html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {\n left: 0px !important;\n }\n html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer {\n right: 0px !important;\n }\n\n #outerContainer .hiddenLargeView,\n #outerContainer .hiddenMediumView {\n display: inherit;\n }\n #outerContainer .visibleLargeView,\n #outerContainer .visibleMediumView {\n display: none;\n }\n}\n\n@media all and (max-width: ${this.lg}px) {\n .toolbarButtonSpacer {\n width: 15px;\n }\n\n #outerContainer .hiddenLargeView {\n display: none;\n }\n #outerContainer .visibleLargeView {\n display: inherit;\n }\n}\n\n@media all and (max-width: ${this.md}px) {\n .toolbarButtonSpacer {\n display: none;\n }\n #outerContainer .hiddenMediumView {\n display: none;\n }\n #outerContainer .visibleMediumView {\n display: inherit;\n }\n}\n\n@media all and (max-width: ${this.sm}px) {\n #outerContainer .hiddenSmallView,\n #outerContainer .hiddenSmallView * {\n display: none;\n }\n #outerContainer .visibleSmallView {\n display: inherit;\n }\n .toolbarButtonSpacer {\n width: 0;\n }\n html[dir='ltr'] .findbar {\n left: 38px;\n }\n html[dir='rtl'] .findbar {\n right: 38px;\n }\n}\n\n@media all and (max-width: ${this.xs}px) {\n #scaleSelectContainer {\n display: none;\n }\n}\n\n#outerContainer .visibleXLView,\n#outerContainer .visibleXXLView,\n#outerContainer .visibleTinyView {\n display: none;\n}\n\n#outerContainer .hiddenXLView,\n#outerContainer .hiddenXXLView {\n display: unset;\n}\n\n@media all and (max-width: ${this.xl}px) {\n #outerContainer .hiddenXLView {\n display: none;\n }\n #outerContainer .visibleXLView {\n display: inherit;\n }\n\n #toolbarViewerMiddle {\n -webkit-transform: translateX(-36%);\n transform: translateX(-36%);\n display: unset;\n margin: unset;\n left: 50%;\n position: absolute;\n }\n}\n\n@media all and (max-width: ${this.xxl}px) {\n #outerContainer .hiddenXXLView {\n display: none;\n }\n #outerContainer .visibleXXLView {\n display: inherit;\n }\n}\n\n@media all and (max-width: ${this.md}px) {\n #toolbarViewerMiddle {\n -webkit-transform: translateX(-26%);\n transform: translateX(-26%);\n }\n}\n\n@media all and (max-width: ${this.xs}px) {\n #outerContainer .hiddenTinyView,\n #outerContainer .hiddenTinyView * {\n display: none;\n }\n #outerContainer .visibleTinyView {\n display: inherit;\n }\n}\n `;\n}\n\n constructor(private renderer: Renderer2, @Inject(DOCUMENT) private document: any) {}\n\n ngOnInit() {\n this.injectStyle();\n }\n\n ngOnChanges() {\n const fullWith = this.document.body.clientWidth;\n const partialViewScale = fullWith / this.width;\n const scaleFactor = partialViewScale * (this.zoom ? this.zoom : 1);\n\n this.xs = scaleFactor * 490;\n this.sm = scaleFactor * 560;\n this.md = scaleFactor * 610;\n this.lg = scaleFactor * 660;\n this.xl = scaleFactor * 740;\n this.xxl = scaleFactor * 830;\n\n const styles = this.document.getElementById('pdf-dynamic-css');\n if (styles) {\n styles.innerHTML = this.style;\n }\n }\n\n private injectStyle() {\n const styles = this.document.createElement('STYLE') as HTMLStyleElement;\n styles.id = 'pdf-dynamic-css';\n styles.innerHTML = this.style;\n this.renderer.appendChild(this.document.head, styles);\n }\n\n public ngOnDestroy() {\n const styles = this.document.getElementById('pdf-dynamic-css') as HTMLElement;\n if (styles && styles.parentElement) {\n (styles.parentElement as any).removeChild(styles);\n }\n }\n}\n","","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FindResultMatchesCount, FindState } from './events/find-result';\nimport { PageRenderedEvent } from './events/page-rendered-event';\nimport { PagesLoadedEvent } from './events/pages-loaded-event';\nimport { PdfDownloadedEvent } from './events/pdf-downloaded-event';\nimport { PdfLoadedEvent } from './events/pdf-loaded-event';\nimport { PdfThumbnailDrawnEvent } from './events/pdf-thumbnail-drawn-event';\nimport { ProgressBarEvent } from './events/progress-bar-event';\nimport { TextLayerRenderedEvent } from './events/textlayer-rendered';\nimport { FormDataType } from './ngx-extended-pdf-viewer.component';\nimport { PdfBackground } from './options/pdf-background';\nimport { pdfDefaultOptions } from './options/pdf-default-options';\nimport { ScrollModeType } from './options/pdf-viewer';\nimport { VerbosityLevel } from './options/verbosity-level';\nimport { PdfDummyComponentsComponent } from './pdf-dummy-components/pdf-dummy-components.component';\nimport { PdfSecondaryToolbarComponent } from './secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nimport { PdfSidebarComponent } from './sidebar/pdf-sidebar/pdf-sidebar.component';\n\n@Component({\n selector: 'ngx-extended-pdf-viewer',\n templateUrl: './ngx-extended-pdf-viewer-server.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxExtendedPdfViewerServerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n public static ngxExtendedPdfViewerInitialized = false;\n\n /**\n * The dummy components are inserted automatically when the user customizes the toolbar\n * without adding every original toolbar item. Without the dummy components, the\n * initialization code of pdf.js crashes because it assume that every standard widget is there.\n */\n @ViewChild(PdfDummyComponentsComponent)\n public dummyComponents: PdfDummyComponentsComponent;\n\n @ViewChild('root')\n public root: ElementRef;\n\n /* UI templates */\n @Input()\n public customFindbarInputArea: TemplateRef<any>;\n\n @Input()\n public customToolbar: TemplateRef<any>;\n\n @Input()\n public customFindbar: TemplateRef<any>;\n\n @Input()\n public customFindbarButtons: TemplateRef<any> | undefined = undefined;\n\n @Input()\n public customSecondaryToolbar: TemplateRef<any>;\n\n @Input()\n public customSidebar: TemplateRef<any>;\n\n @Input()\n public customThumbnail: TemplateRef<any>;\n\n @Input()\n public customFreeFloatingBar: TemplateRef<any>;\n\n @Input()\n public showFreeFloatingBar = true;\n\n @Input()\n public formData: FormDataType = {};\n\n @Output()\n public formDataChange = new EventEmitter<FormDataType>();\n\n @Input()\n public pageViewMode: 'single' | 'book' | 'multiple' | 'infinite-scroll' = 'multiple';\n\n @Output()\n public progress = new EventEmitter<ProgressBarEvent>();\n\n @ViewChild('pdfSecondaryToolbarComponent')\n private secondaryToolbarComponent: PdfSecondaryToolbarComponent;\n\n @ViewChild('pdfsidebar')\n private sidebarComponent: PdfSidebarComponent;\n\n @Output()\n public srcChange = new EventEmitter<string>();\n\n @Input()\n public scrollMode: ScrollModeType | undefined = undefined;\n\n @Output()\n public scrollModeChange = new EventEmitter<ScrollModeType>();\n\n @Input()\n public authorization: Object | undefined = undefined;\n\n @Input()\n public httpHeaders: Object | undefined = undefined;\n\n @Input()\n public contextMenuAllowed = true;\n\n @Output()\n public afterPrint = new EventEmitter<void>();\n\n @Output()\n public beforePrint = new EventEmitter<void>();\n\n @Output()\n public currentZoomFactor = new EventEmitter<number>();\n\n @Input()\n public enablePrint = true;\n\n /**\n * Number of milliseconds to wait between initializing the PDF viewer and loading the PDF file.\n * Most users can let this parameter safely at it's default value of zero.\n * Set this to 1000 or higher if you run into timing problems (typically caused by loading the locale files\n * after the PDF files, so they are not available when the PDF viewer is initialized).\n */\n @Input()\n public delayFirstView = 0;\n\n /** store the timeout id so it can be canceled if user leaves the page before the PDF is shown */\n private initTimeout: any;\n\n /** How many log messages should be printed?\n * Legal values: VerbosityLevel.INFOS (= 5), VerbosityLevel.WARNINGS (= 1), VerbosityLevel.ERRORS (= 0) */\n @Input()\n public logLevel = VerbosityLevel.WARNINGS;\n\n @Input()\n public enablePinchOnMobile = false;\n\n /** Use the minified (minifiedJSLibraries=\"true\", which is the default) or the user-readable pdf.js library (minifiedJSLibraries=\"false\") */\n @Input()\n public minifiedJSLibraries = true;\n\n public primaryMenuVisible = true;\n\n /** option to increase (or reduce) print resolution. Default is 150 (dpi). Sensible values\n * are 300, 600, and 1200. Note the increase memory consumption, which may even result in a browser crash. */\n @Input()\n public printResolution = null;\n\n @Input()\n public rotation: 0 | 90 | 180 | 270;\n\n @Output()\n public rotationChange = new EventEmitter<0 | 90 | 180 | 270>();\n\n public hasSignature: boolean;\n\n @Input()\n public set src(url: string | ArrayBuffer | Blob | Uint8Array | { range: any }) {}\n\n @Input()\n public set base64Src(base64: string) {}\n\n @Input()\n public set height(h: string) {}\n\n /**\n * If this flag is true, this components adds a link to the locale assets. The pdf viewer\n * sees this link and uses it to load the locale files automatically.\n * @param useBrowserLocale boolean\n */\n @Input()\n public useBrowserLocale = false;\n\n @Input()\n public backgroundColor = '#e8e8eb';\n\n @Input()\n public pdfBackground: PdfBackground = '#ffffff';\n\n @Input()\n public pdfBackgroundColorToReplace: string = '#ffffff';\n\n /** Allows the user to define the name of the file after clicking \"download\" */\n @Input()\n public filenameForDownload = 'document.pdf';\n\n /** Allows the user to disable the keyboard bindings completely */\n @Input()\n public ignoreKeyboard = false;\n\n /** Allows the user to disable a list of key bindings. */\n @Input()\n public ignoreKeys: Array<string> = [];\n\n /** Allows the user to enable a list of key bindings explicitly. If this property is set, every other key binding is ignored. */\n @Input()\n public acceptKeys: Array<string> = [];\n\n /** Allows the user to put the viewer's svg images into an arbitrary folder */\n @Input()\n public imageResourcesPath = './' + pdfDefaultOptions.assetsFolder + '/images/';\n\n /** Allows the user to put their locale folder into an arbitrary folder */\n @Input()\n public localeFolderPath = './' + pdfDefaultOptions.assetsFolder + '/locale';\n\n /** Override the default locale. This must be the complete locale name, such as \"es-ES\". The string is allowed to be all lowercase.\n */\n @Input()\n public language: string | undefined = undefined;\n\n /** By default, listening to the URL is deactivated because often the anchor tag is used for the Angular router */\n @Input()\n public listenToURL = false;\n\n /** Navigate to a certain \"named destination\" */\n @Input()\n public nameddest: string | undefined = undefined;\n\n /** allows you to pass a password to read password-protected files */\n @Input()\n public password: string | undefined = undefined;\n\n /** pdf.js can show signatures, but fails to verify them. So they are switched off by default.\n * Set \"[showUnverifiedSignatures]\"=\"true\" to display e-signatures nonetheless.\n */\n @Input()\n public showUnverifiedSignatures = false;\n\n @Input()\n public startTabindex: number | undefined;\n\n public get showSidebarButton() {\n return true;\n }\n @Input()\n public set showSidebarButton(show: boolean) {}\n\n @Input()\n public sidebarVisible: boolean | undefined = undefined;\n\n @Output()\n public sidebarVisibleChange = new EventEmitter<boolean>();\n\n @Input()\n public showFindButton: boolean | undefined = undefined;\n\n @Input()\n public showFindHighlightAll = true;\n\n @Input()\n public showFindMatchCase = true;\n\n @Input()\n public showFindCurrentPageOnly = true;\n\n @Input()\n public showFindPageRange = true;\n\n @Input()\n public showFindEntireWord = true;\n\n @Input()\n public showFindEntirePhrase = true;\n\n @Input()\n public showFindIgnoreAccents = true;\n\n @Input()\n public showFindFuzzySearch = true;\n\n @Input()\n public showFindResultsCount = true;\n\n @Input()\n public showFindMessages = true;\n\n @Input()\n public showPagingButtons = true;\n @Input()\n public showZoomButtons = true;\n @Input()\n public showPresentationModeButton = false;\n @Input()\n public showOpenFileButton = true;\n @Input()\n public showPrintButton = true;\n @Input()\n public showDownloadButton = true;\n @Input()\n public showBookmarkButton = true;\n\n @Input()\n public theme: 'dark' | 'light' | 'custom' = 'light';\n\n @Input()\n public showToolbar = true;\n\n @Input()\n public showSecondaryToolbarButton = true;\n\n /** Set by the event (secondaryMenuIsEmpty) */\n public hideKebabMenuForSecondaryToolbar = false;\n\n @Input()\n public showRotateButton = true;\n @Input()\n public handTool = true;\n @Output()\n public handToolChange = new EventEmitter<boolean>();\n @Input()\n public showHandToolButton = false;\n @Input()\n public showScrollingButton = true;\n @Input()\n public showSpreadButton = true;\n @Input()\n public showPropertiesButton = true;\n @Input()\n public showBorders = true;\n\n @Input()\n public spread: 'off' | 'even' | 'odd';\n\n @Output()\n public spreadChange = new EventEmitter<'off' | 'even' | 'odd'>();\n\n @Output()\n public thumbnailDrawn = new EventEmitter<PdfThumbnailDrawnEvent>();\n\n private _page: number | undefined = undefined;\n\n public get page(): number | undefined {\n return this._page;\n }\n\n @Input()\n public set page(p: number | undefined) {} // NOSONAR\n\n @Output()\n public pageChange = new EventEmitter<number | undefined>();\n\n @Input()\n public pageLabel: string | undefined = undefined;\n\n @Output()\n public pageLabelChange = new EventEmitter<string | undefined>();\n\n @Output()\n public pagesLoaded = new EventEmitter<PagesLoadedEvent>();\n\n @Output()\n public pageRendered = new EventEmitter<PageRenderedEvent>();\n\n @Output()\n public pdfDownloaded = new EventEmitter<PdfDownloadedEvent>();\n\n @Output()\n public pdfLoaded = new EventEmitter<PdfLoadedEvent>();\n\n @Output()\n public pdfLoadingFailed = new EventEmitter<Error>();\n\n @Input()\n public textLayer: boolean | undefined = undefined;\n\n @Output()\n public textLayerRendered = new EventEmitter<TextLayerRenderedEvent>();\n\n @Output()\n public updateFindMatchesCount = new EventEmitter<FindResultMatchesCount>();\n\n @Output()\n public updateFindState = new EventEmitter<FindState>();\n\n /** Legal values: undefined, 'auto', 'page-actual', 'page-fit', 'page-width', or '50' (or any other percentage) */\n @Input()\n public zoom: string | number | undefined = undefined;\n\n @Output()\n public zoomChange = new EventEmitter<string | number | undefined>();\n\n @Input()\n public zoomLevels = ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 1, 1.25, 1.5, 2, 3, 4];\n\n @Input()\n public maxZoom = 10;\n\n @Input()\n public minZoom = 0.1;\n\n /** This attributes allows you to increase the size of the UI elements so you can use them on small mobile devices.\n * This attribute is a string with a percent character at the end (e.g. \"150%\").\n */\n @Input() _mobileFriendlyZoom = '100%';\n\n public mobileFriendlyZoomScale = 1;\n\n public toolbarMarginTop = '0px';\n\n public toolbarWidth = '100%';\n\n public toolbarWidthInPixels = 100;\n\n public secondaryToolbarTop: string | undefined = undefined;\n\n // dirty IE11 hack - temporary solution\n public findbarTop: string | undefined = undefined;\n\n // dirty IE11 hack - temporary solution\n public findbarLeft: string | undefined = undefined;\n\n // Additional PDF Form Field Types #567: Used to store the exported values of radio and checkbox buttons\n public buttonValues: any = {};\n\n public get mobileFriendlyZoom() {\n return this._mobileFriendlyZoom;\n }\n /**\n * This attributes allows you to increase the size of the UI elements so you can use them on small mobile devices.\n * This attribute is a string with a percent character at the end (e.g. \"150%\").\n */\n @Input()\n public set mobileFriendlyZoom(zoom: string) {} // NOSONAR\n\n @Input()\n public wheelAction: 'scroll' | 'zoom' = 'scroll';\n\n public get sidebarPositionTop(): string {\n return '32px';\n }\n\n ngOnChanges(changes: SimpleChanges): void {}\n\n ngOnInit() {}\n\n ngAfterViewInit() {}\n\n public ngOnDestroy(): void {}\n\n @HostListener('contextmenu')\n public onContextMenu(): boolean {\n return this.contextMenuAllowed;\n }\n}\n","<link *ngIf=\"useBrowserLocale\" rel=\"resource\" type=\"application/l10n\" [attr.xhref]=\"localeFolderPath+'/locale.properties'\" origin=\"ngx-extended-pdf-viewer\" />\n<pdf-dark-theme *ngIf=\"theme==='dark'\"></pdf-dark-theme>\n<pdf-light-theme *ngIf=\"theme==='light'\"></pdf-light-theme>\n\n<pdf-dynamic-css [zoom]=\"mobileFriendlyZoomScale\" [width]=\"toolbarWidthInPixels\"></pdf-dynamic-css>\n<div class=\"zoom\" [style.height]=\"height\">\n <div class=\"html\">\n <div id=\"mainContainer\">\n <pdf-dummy-components></pdf-dummy-components>\n </div>\n </div>\n</div>\n\n<ng-template #defaultFreeFloatingBar>\n\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'pdf-document-properties-dialog',\n templateUrl: './pdf-document-properties-dialog.component.html',\n})\nexport class PdfDocumentPropertiesDialogComponent {}\n","<dialog id=\"documentPropertiesDialog\">\n <div class=\"row\">\n <span id=\"fileNameLabel\" data-l10n-id=\"document_properties_file_name\">File name:</span>\n <p id=\"fileNameField\" aria-labelledby=\"fileNameLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"fileSizeLabel\" data-l10n-id=\"document_properties_file_size\">File size:</span>\n <p id=\"fileSizeField\" aria-labelledby=\"fileSizeLabel\">-</p>\n </div>\n <div class=\"separator\"></div>\n <div class=\"row\">\n <span id=\"titleLabel\" data-l10n-id=\"document_properties_title\">Title:</span>\n <p id=\"titleField\" aria-labelledby=\"titleLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"authorLabel\" data-l10n-id=\"document_properties_author\">Author:</span>\n <p id=\"authorField\" aria-labelledby=\"authorLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"subjectLabel\" data-l10n-id=\"document_properties_subject\">Subject:</span>\n <p id=\"subjectField\" aria-labelledby=\"subjectLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"keywordsLabel\" data-l10n-id=\"document_properties_keywords\">Keywords:</span>\n <p id=\"keywordsField\" aria-labelledby=\"keywordsLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"creationDateLabel\" data-l10n-id=\"document_properties_creation_date\">Creation Date:</span>\n <p id=\"creationDateField\" aria-labelledby=\"creationDateLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"modificationDateLabel\" data-l10n-id=\"document_properties_modification_date\">Modification Date:</span>\n <p id=\"modificationDateField\" aria-labelledby=\"modificationDateLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"creatorLabel\" data-l10n-id=\"document_properties_creator\">Creator:</span>\n <p id=\"creatorField\" aria-labelledby=\"creatorLabel\">-</p>\n </div>\n <div class=\"separator\"></div>\n <div class=\"row\">\n <span id=\"producerLabel\" data-l10n-id=\"document_properties_producer\">PDF Producer:</span>\n <p id=\"producerField\" aria-labelledby=\"producerLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"versionLabel\" data-l10n-id=\"document_properties_version\">PDF Version:</span>\n <p id=\"versionField\" aria-labelledby=\"versionLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"pageCountLabel\" data-l10n-id=\"document_properties_page_count\">Page Count:</span>\n <p id=\"pageCountField\" aria-labelledby=\"pageCountLabel\">-</p>\n </div>\n <div class=\"row\">\n <span id=\"pageSizeLabel\" data-l10n-id=\"document_properties_page_size\">Page Size:</span>\n <p id=\"pageSizeField\" aria-labelledby=\"pageSizeLabel\">-</p>\n </div>\n <div class=\"separator\"></div>\n <div class=\"row\">\n <span id=\"linearizedLabel\" data-l10n-id=\"document_properties_linearized\">Fast Web View:</span>\n <p id=\"linearizedField\" aria-labelledby=\"linearizedLabel\">-</p>\n </div>\n <div class=\"buttonRow\">\n <button id=\"documentPropertiesClose\" class=\"dialogButton\"><span data-l10n-id=\"document_properties_close\">Close</span></button>\n </div>\n</dialog>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'pdf-error-message',\n templateUrl: './pdf-error-message.component.html',\n})\nexport class PdfErrorMessageComponent {}\n","<div id=\"errorWrapper\" hidden=\"true\">\n <div id=\"errorMessageLeft\">\n <span id=\"errorMessage\"></span>\n <button type=\"button\" id=\"errorShowMore\" data-l10n-id=\"error_more_info\">More Information</button>\n <button type=\"button\" id=\"errorShowLess\" data-l10n-id=\"error_less_info\" hidden=\"true\">Less Information</button>\n </div>\n <div id=\"errorMessageRight\">\n <button type=\"button\" id=\"errorClose\" data-l10n-id=\"error_close\">Close</button>\n </div>\n <div class=\"clearBoth\"></div>\n <textarea id=\"errorMoreInfo\" hidden=\"true\" readonly=\"readonly\"></textarea>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'pdf-password-dialog',\n templateUrl: './pdf-password-dialog.component.html',\n})\nexport class PdfPasswordDialogComponent {}\n","<dialog id=\"passwordDialog\">\n <div class=\"row\">\n <label for=\"password\" id=\"passwordText\" data-l10n-id=\"password_label\">Enter the password to open this PDF file:</label>\n </div>\n <div class=\"row\">\n <input type=\"password\" id=\"password\" class=\"toolbarField\" />\n </div>\n <div class=\"buttonRow\">\n <button id=\"passwordCancel\" class=\"dialogButton\"><span data-l10n-id=\"password_cancel\">Cancel</span></button>\n <button id=\"passwordSubmit\" class=\"dialogButton\"><span data-l10n-id=\"password_ok\">OK</span></button>\n </div>\n</dialog>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'pdf-prepare-printing-dialog',\n templateUrl: './pdf-prepare-printing-dialog.component.html',\n})\nexport class PdfPreparePrintingDialogComponent {}\n","<dialog id=\"printServiceDialog\" style=\"min-width: 200px\">\n <div class=\"row\">\n <span data-l10n-id=\"print_progress_message\">Preparing document for printing…</span>\n </div>\n <div class=\"row\">\n <progress value=\"0\" max=\"100\"></progress>\n <span data-l10n-id=\"print_progress_percent\" data-l10n-args='{ \"progress\": 0 }' class=\"relative-progress\">0%</span>\n </div>\n <div class=\"buttonRow\">\n <button id=\"printCancel\" class=\"dialogButton\"><span data-l10n-id=\"print_progress_close\">Cancel</span></button>\n </div>\n</dialog>\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { getVersionSuffix, pdfDefaultOptions } from './options/pdf-default-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PDFNotificationService {\n // this event is fired when the pdf.js library has been loaded and objects like PDFApplication are available\n public onPDFJSInit = new Subject<void>();\n\n public pdfjsVersion = getVersionSuffix(pdfDefaultOptions.assetsFolder);\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { IPDFViewerApplication } from '../../options/pdf-viewer-application';\nimport { PDFNotificationService } from './../../pdf-notification-service';\n\n@Component({\n selector: 'pdf-secondary-toolbar',\n templateUrl: './pdf-secondary-toolbar.component.html',\n styleUrls: ['./pdf-secondary-toolbar.component.css'],\n})\nexport class PdfSecondaryToolbarComponent implements OnChanges, AfterViewInit, OnDestroy {\n @Input()\n public customSecondaryToolbar: TemplateRef<any> | undefined;\n\n @Input()\n public secondaryToolbarTop;\n\n @Input()\n public mobileFriendlyZoomScale: number;\n\n @Input()\n public showPresentationModeButton = true;\n\n @Input()\n public showOpenFileButton = true;\n\n @Input()\n public showPrintButton = true;\n\n @Input()\n public showDownloadButton = true;\n\n @Input()\n public showBookmarkButton = true;\n\n @Input()\n public showPagingButtons = true;\n\n @Input()\n public showRotateButton = true;\n\n @Input()\n public showHandToolButton = true;\n\n @Input()\n public showScrollingButton = true;\n\n @Input()\n public showSpreadButton = true;\n\n @Input()\n public showPropertiesButton = true;\n\n @Output()\n public spreadChange = new EventEmitter<'off' | 'even' | 'odd'>();\n\n @Output()\n public secondaryMenuIsEmpty = new EventEmitter<boolean>();\n\n public disablePreviousPage = true;\n\n public disableNextPage = true;\n\n private mutationObserver: Mutatio