blob: 4cd16fb920d7e9263f71fc7de82c588fa4b2dfae [file] [log] [blame]
<style include="pdf-viewer-shared-style cr-hidden-style">
:host {
--viewer-pdf-sidenav-width: 300px;
}
viewer-pdf-sidenav,
viewer-pdf-toolbar-new {
--pdf-toolbar-text-color: rgb(241, 241, 241);
}
viewer-pdf-toolbar,
viewer-pdf-toolbar-new {
--active-button-bg: rgba(255, 255, 255, 0.24);
}
#sidenav-container {
overflow: hidden;
transition: width 250ms cubic-bezier(.6, 0, 0, 1), visibility 250ms;
visibility: visible;
width: var(--viewer-pdf-sidenav-width);
}
#sidenav-container[closed] {
transition: width 200ms cubic-bezier(.6, 0, 0, 1), visibility 200ms;
visibility: hidden;
width: 0;
}
@media(max-width: 500px),
(max-height: 250px) {
#sidenav-container {
display: none;
}
}
#content-focus-rectangle {
border: 2px solid var(--google-grey-600);
border-radius: 2px;
box-sizing: border-box;
height: 100%;
pointer-events: none;
position: fixed;
width: 100%;
/* z-index for this should be higher than toolbar. */
z-index: 5;
}
viewer-pdf-toolbar {
position: fixed;
width: 100%;
z-index: 4;
}
viewer-ink-host {
height: 100%;
position: absolute;
width: 100%;
}
@media(max-height: 250px) {
viewer-pdf-toolbar {
display: none;
}
}
/* Styles only applying when the pdfViewerUpdateEnabled flag is on. */
viewer-pdf-toolbar-new {
z-index: 1;
}
@media(max-width: 200px),
(max-height: 250px) {
viewer-pdf-toolbar-new {
display: none;
}
}
:host-context([pdf-viewer-update-enabled]):host {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
}
#container {
display: flex;
flex: 1;
overflow: hidden;
}
:host-context([pdf-viewer-update-enabled]) #plugin {
position: initial;
}
:host-context([pdf-viewer-update-enabled]) #content {
height: 100%;
left: 0;
position: sticky;
top: 0;
z-index: initial;
}
:host-context([pdf-viewer-update-enabled]) #sizer {
top: 0;
width: 100%;
z-index: initial;
}
/* #main and #scroller are intentionally different elements so that a
* ResizeObserver can be used on #main without triggering
* "ResizeObserver loop limit exceeded".
*/
#main {
flex: 1;
overflow: hidden;
}
#scroller {
/* TODO(crbug.com/1158670): Fix the plugin to properly support RTL painting
* of PDF contents, such that content is aligned to the top-right corner.
* Until then force LTR even in RTL languages, so scrolling of the content
* can originate in the top-left corner, consistent with the expectations of
* the plugin.
*/
direction: ltr;
height: 100%;
overflow: auto;
position: relative;
}
/* Hide scrollbars when in Presentation mode. */
#scroller:fullscreen {
overflow: hidden;
}
</style>
<template is="dom-if" if="[[!pdfViewerUpdateEnabled_]]">
<viewer-pdf-toolbar id="toolbar" strings="[[strings]]"
bookmarks="[[bookmarks_]]" doc-title="[[title_]]"
has-edits="[[hasEdits_]]"
has-entered-annotation-mode="[[hasEnteredAnnotationMode_]]"
pdf-form-save-enabled="[[pdfFormSaveEnabled_]]"
printing-enabled="[[printingEnabled_]]"
is-form-field-focused="[[isFormFieldFocused_]]"
doc-length="[[docLength_]]" page-no="[[pageNo_]]"
load-progress="[[loadProgress_]]"
<if expr="chromeos">
annotation-available="[[annotationAvailable_]]"
pdf-annotations-enabled="[[pdfAnnotationsEnabled_]]"
</if>
on-change-page-and-xy="onChangePageAndXy_"
on-change-page="onChangePage_"
on-dropdown-opened="onDropdownOpened_"
on-navigate="onNavigate_"
on-save="onToolbarSave_" on-print="onPrint_"
<if expr="chromeos">
on-annotation-mode-toggled="onAnnotationModeToggled_"
</if>
on-rotate-right="rotateClockwise" hidden>
</viewer-pdf-toolbar>
</template>
<template is="dom-if" if="[[pdfViewerUpdateEnabled_]]">
<viewer-pdf-toolbar-new id="toolbar"
annotation-mode="[[annotationMode_]]"
doc-title="[[title_]]" doc-length="[[docLength_]]" page-no="[[pageNo_]]"
load-progress="[[loadProgress_]]" has-edits="[[hasEdits_]]"
has-entered-annotation-mode="[[hasEnteredAnnotationMode_]]"
pdf-form-save-enabled="[[pdfFormSaveEnabled_]]"
presentation-mode-enabled="[[presentationModeEnabled_]]"
printing-enabled="[[printingEnabled_]]"
rotated="[[isRotated_(clockwiseRotations_)]]"
is-form-field-focused="[[isFormFieldFocused_]]"
sidenav-collapsed="[[sidenavCollapsed_]]"
two-up-view-enabled="[[twoUpViewEnabled_]]"
viewport-zoom="[[viewportZoom_]]" zoom-bounds="[[zoomBounds_]]"
<if expr="chromeos">
annotation-available="[[annotationAvailable_]]"
pdf-annotations-enabled="[[pdfAnnotationsEnabled_]]"
</if>
on-change-page="onChangePage_"
on-display-annotations-changed="onDisplayAnnotationsChanged_"
on-dropdown-opened="onDropdownOpened_"
on-fit-to-changed="onFitToChanged"
on-present-click="onPresentClick_"
on-properties-click="onPropertiesClick_"
on-annotation-mode-dialog-confirmed="onResetView_"
on-sidenav-toggle-click="onSidenavToggleClick_"
on-two-up-view-changed="onTwoUpViewChanged_"
on-zoom-changed="onZoomChanged" on-zoom-in="onZoomIn"
on-zoom-out="onZoomOut" on-rotate-left="rotateCounterclockwise"
<if expr="chromeos">
on-annotation-mode-toggled="onAnnotationModeToggled_"
</if>
on-print="onPrint_" on-save="onToolbarSave_" hidden>
</viewer-pdf-toolbar-new>
</template>
<template is="dom-if" if="[[pdfViewerUpdateEnabled_]]">
<div id="container">
<div id="sidenav-container" closed$="[[sidenavCollapsed_]]"
hidden$="[[!toolbarEnabled_]]">
<viewer-pdf-sidenav id="sidenav"
active-page="[[pageNo_]]" bookmarks="[[bookmarks_]]"
clockwise-rotations="[[clockwiseRotations_]]"
doc-length="[[docLength_]]" on-change-page="onChangePage_"
on-change-page-and-xy="onChangePageAndXy_" on-navigate="onNavigate_">
</viewer-pdf-sidenav>
</div>
<div id="main">
<div id="scroller" on-scroll="onScroll_">
<div id="sizer"></div>
<div id="content"></div>
</div>
<div>
</div>
</template>
<template is="dom-if" if="[[!pdfViewerUpdateEnabled_]]">
<div id="sizer"></div>
</template>
<viewer-password-screen id="password-screen"
on-password-submitted="onPasswordSubmitted_">
</viewer-password-screen>
<template is="dom-if" if="[[showPropertiesDialog_]]" restamp>
<viewer-properties-dialog id="properties-dialog"
document-metadata="[[documentMetadata_]]" file-name="[[fileName_]]"
page-count="[[docLength_]]" on-close="onPropertiesDialogClose_">
</viewer-properties-dialog>
</template>
<template is="dom-if" if="[[!pdfViewerUpdateEnabled_]]">
<viewer-zoom-toolbar id="zoom-toolbar"
on-fit-to-changed="onFitToChanged"
on-zoom-in="onZoomIn" on-zoom-out="onZoomOut">
</viewer-zoom-toolbar>
</template>
<viewer-error-screen id="error-screen"></viewer-error-screen>
<if expr="chromeos">
<viewer-form-warning id="form-warning"></viewer-form-warning>
</if>
<template is="dom-if" if="[[!pdfViewerUpdateEnabled_]]">
<div id="content"></div>
</template>
<div id="content-focus-rectangle" hidden$="[[!documentHasFocus_]]"></div>