UNPKG

pdfjs-dist

Version:

Generic build of Mozilla's PDF.js library.

2,027 lines (1,735 loc) • 161 kB
/* Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ .messageBar{ --closing-button-icon:url(images/messageBar_closingButton.svg); --message-bar-close-button-color:var(--text-primary-color); --message-bar-close-button-color-hover:var(--text-primary-color); --message-bar-close-button-border-radius:4px; --message-bar-close-button-border:none; --message-bar-close-button-hover-bg-color:light-dark( rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14) ); --message-bar-close-button-active-bg-color:light-dark( rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21) ); --message-bar-close-button-focus-bg-color:light-dark( rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07) ); @media screen and (forced-colors: active){ --message-bar-close-button-color:ButtonText; --message-bar-close-button-border:1px solid ButtonText; --message-bar-close-button-hover-bg-color:ButtonText; --message-bar-close-button-active-bg-color:ButtonText; --message-bar-close-button-focus-bg-color:ButtonText; --message-bar-close-button-color-hover:HighlightText; } display:flex; position:relative; padding:8px 8px 8px 16px; flex-direction:column; justify-content:center; align-items:center; gap:8px; -webkit-user-select:none; -moz-user-select:none; user-select:none; border-radius:4px; border:1px solid var(--message-bar-border-color); background:var(--message-bar-bg-color); color:var(--message-bar-fg-color); > div{ display:flex; align-items:flex-start; gap:8px; align-self:stretch; &::before{ content:""; display:inline-block; width:16px; height:16px; -webkit-mask-image:var(--message-bar-icon); mask-image:var(--message-bar-icon); -webkit-mask-size:cover; mask-size:cover; background-color:var(--message-bar-icon-color); flex-shrink:0; } } button{ cursor:pointer; &:focus-visible{ outline:var(--focus-ring-outline); outline-offset:2px; } } .closeButton{ width:32px; height:32px; background:none; border-radius:var(--message-bar-close-button-border-radius); border:var(--message-bar-close-button-border); display:flex; align-items:center; justify-content:center; &::before{ content:""; display:inline-block; width:16px; height:16px; -webkit-mask-image:var(--closing-button-icon); mask-image:var(--closing-button-icon); -webkit-mask-size:cover; mask-size:cover; background-color:var(--message-bar-close-button-color); } &:is(:hover, :active, :focus)::before{ background-color:var(--message-bar-close-button-color-hover); } &:hover{ background-color:var(--message-bar-close-button-hover-bg-color); } &:active{ background-color:var(--message-bar-close-button-active-bg-color); } &:focus{ background-color:var(--message-bar-close-button-focus-bg-color); } > span{ display:inline-block; width:0; height:0; overflow:hidden; } } } #editorUndoBar{ --text-primary-color:light-dark(#15141a, #fbfbfe); --message-bar-icon:url(images/messageBar_info.svg); --message-bar-icon-color:light-dark(#0060df, #73a7f3); --message-bar-bg-color:light-dark(#deeafc, #003070); --message-bar-fg-color:var(--text-primary-color); --message-bar-border-color:light-dark( rgb(0 0 0 / 0.08), rgb(255 255 255 / 0.08) ); --undo-button-bg-color:light-dark( rgb(21 20 26 / 0.07), rgb(255 255 255 / 0.08) ); --undo-button-bg-color-hover:light-dark( rgb(21 20 26 / 0.14), rgb(255 255 255 / 0.14) ); --undo-button-bg-color-active:light-dark( rgb(21 20 26 / 0.21), rgb(255 255 255 / 0.21) ); --undo-button-border:1px solid light-dark(#0060df, #0df); --undo-button-fg-color:var(--message-bar-fg-color); --undo-button-fg-color-hover:var(--undo-button-fg-color); --undo-button-fg-color-active:var(--undo-button-fg-color); @media screen and (forced-colors: active){ --text-primary-color:CanvasText; --message-bar-icon-color:CanvasText; --message-bar-bg-color:Canvas; --message-bar-border-color:CanvasText; --undo-button-bg-color:ButtonText; --undo-button-bg-color-hover:SelectedItem; --undo-button-bg-color-active:SelectedItem; --undo-button-fg-color:ButtonFace; --undo-button-fg-color-hover:SelectedItemText; --undo-button-fg-color-active:SelectedItemText; --undo-button-border:none; } position:fixed; top:50px; left:50%; transform:translateX(-50%); z-index:10; padding-block:8px; padding-inline:16px 8px; font:menu; font-size:15px; cursor:default; button{ cursor:pointer; } #editorUndoBarUndoButton{ border-radius:4px; font-weight:590; line-height:19.5px; color:var(--undo-button-fg-color); border:var(--undo-button-border); padding:4px 16px; margin-inline-start:8px; height:32px; background-color:var(--undo-button-bg-color); &:hover{ background-color:var(--undo-button-bg-color-hover); color:var(--undo-button-fg-color-hover); } &:active{ background-color:var(--undo-button-bg-color-active); color:var(--undo-button-fg-color-active); } } > div{ align-items:center; } } .dialog{ --dialog-bg-color:light-dark(white, #1c1b22); --dialog-border-color:light-dark(white, #1c1b22); --dialog-shadow:0 2px 14px 0 light-dark(rgb(58 57 68 / 0.2), #15141a); --text-primary-color:light-dark(#15141a, #fbfbfe); --text-secondary-color:light-dark(#5b5b66, #cfcfd8); --hover-filter:brightness(0.9); --link-fg-color:light-dark(#0060df, #0df); --link-hover-fg-color:light-dark(#0250bb, #80ebff); --separator-color:light-dark(#f0f0f4, #52525e); --textarea-border-color:#8f8f9d; --textarea-bg-color:light-dark(white, #42414d); --textarea-fg-color:var(--text-secondary-color); --radio-bg-color:light-dark(#f0f0f4, #2b2a33); --radio-checked-bg-color:light-dark(#fbfbfe, #15141a); --radio-border-color:#8f8f9d; --radio-checked-border-color:light-dark(#0060df, #0df); --button-secondary-bg-color:light-dark( rgb(21 20 26 / 0.07), rgb(251 251 254 / 0.07) ); --button-secondary-fg-color:var(--text-primary-color); --button-secondary-border-color:var(--button-secondary-bg-color); --button-secondary-active-bg-color:light-dark( rgb(21 20 26 / 0.21), rgb(251 251 254 / 0.21) ); --button-secondary-active-fg-color:var(--button-secondary-fg-color); --button-secondary-active-border-color:var(--button-secondary-bg-color); --button-secondary-hover-bg-color:light-dark( rgb(21 20 26 / 0.14), rgb(251 251 254 / 0.14) ); --button-secondary-hover-fg-color:var(--button-secondary-fg-color); --button-secondary-hover-border-color:var(--button-secondary-hover-bg-color); --button-secondary-disabled-bg-color:var(--button-secondary-bg-color); --button-secondary-disabled-border-color:var( --button-secondary-border-color ); --button-secondary-disabled-fg-color:var(--button-secondary-fg-color); --button-primary-bg-color:light-dark(#0060df, #0df); --button-primary-fg-color:light-dark(#fbfbfe, #15141a); --button-primary-border-color:var(--button-primary-bg-color); --button-primary-active-bg-color:light-dark(#054096, #aaf2ff); --button-primary-active-fg-color:var(--button-primary-fg-color); --button-primary-active-border-color:var(--button-primary-active-bg-color); --button-primary-hover-bg-color:light-dark(#0250bb, #80ebff); --button-primary-hover-fg-color:var(--button-primary-fg-color); --button-primary-hover-border-color:var(--button-primary-hover-bg-color); --button-primary-disabled-bg-color:var(--button-primary-bg-color); --button-primary-disabled-border-color:var(--button-primary-border-color); --button-primary-disabled-fg-color:var(--button-primary-fg-color); --button-disabled-opacity:0.4; --input-text-bg-color:light-dark(white, #42414d); --input-text-fg-color:var(--text-primary-color); @media (prefers-color-scheme: dark){ --hover-filter:brightness(1.4); --button-disabled-opacity:0.6; } @media screen and (forced-colors: active){ --dialog-bg-color:Canvas; --dialog-border-color:CanvasText; --dialog-shadow:none; --text-primary-color:CanvasText; --text-secondary-color:CanvasText; --hover-filter:none; --link-fg-color:LinkText; --link-hover-fg-color:LinkText; --separator-color:CanvasText; --textarea-border-color:ButtonBorder; --textarea-bg-color:Field; --textarea-fg-color:ButtonText; --radio-bg-color:ButtonFace; --radio-checked-bg-color:ButtonFace; --radio-border-color:ButtonText; --radio-checked-border-color:ButtonText; --button-secondary-bg-color:ButtonFace; --button-secondary-fg-color:ButtonText; --button-secondary-border-color:ButtonText; --button-secondary-active-bg-color:HighlightText; --button-secondary-active-fg-color:SelectedItem; --button-secondary-active-border-color:ButtonText; --button-secondary-hover-bg-color:HighlightText; --button-secondary-hover-fg-color:SelectedItem; --button-secondary-hover-border-color:SelectedItem; --button-secondary-disabled-fg-color:GrayText; --button-secondary-disabled-border-color:GrayText; --button-primary-bg-color:ButtonText; --button-primary-fg-color:ButtonFace; --button-primary-border-color:ButtonText; --button-primary-active-bg-color:SelectedItem; --button-primary-active-fg-color:HighlightText; --button-primary-active-border-color:ButtonText; --button-primary-hover-bg-color:SelectedItem; --button-primary-hover-fg-color:HighlightText; --button-primary-hover-border-color:SelectedItem; --button-primary-disabled-bg-color:GrayText; --button-primary-disabled-fg-color:ButtonFace; --button-primary-disabled-border-color:GrayText; --button-disabled-opacity:1; --input-text-bg-color:Field; --input-text-fg-color:FieldText; } font:message-box; font-size:13px; font-weight:400; line-height:150%; border-radius:4px; padding:12px 16px; border:1px solid var(--dialog-border-color); background:var(--dialog-bg-color); color:var(--text-primary-color); box-shadow:var(--dialog-shadow); .mainContainer{ *:focus-visible{ outline:var(--focus-ring-outline); outline-offset:2px; } .title{ display:flex; width:auto; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:12px; > span{ font-size:13px; font-style:normal; font-weight:590; line-height:150%; } } .dialogSeparator{ width:100%; height:0; margin-block:4px; border-top:1px solid var(--separator-color); border-bottom:none; } .dialogButtonsGroup{ display:flex; gap:12px; align-self:flex-end; } .radio{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; > .radioButton{ display:flex; gap:8px; align-self:stretch; align-items:center; input{ -webkit-appearance:none; -moz-appearance:none; appearance:none; box-sizing:border-box; width:16px; height:16px; border-radius:50%; background-color:var(--radio-bg-color); border:1px solid var(--radio-border-color); &:hover{ filter:var(--hover-filter); } &:checked{ background-color:var(--radio-checked-bg-color); border:4px solid var(--radio-checked-border-color); } } } > .radioLabel{ display:flex; padding-inline-start:24px; align-items:flex-start; gap:10px; align-self:stretch; > span{ flex:1 0 0; font-size:11px; color:var(--text-secondary-color); } } } button:not(:is(.toggle-button, .closeButton, .clearInputButton)){ border-radius:4px; border:1px solid; font:menu; font-weight:590; font-size:13px; padding:4px 16px; width:auto; height:32px; &:hover{ cursor:pointer; filter:var(--hover-filter); } > span{ color:inherit; font:inherit; } &.secondaryButton{ color:var(--button-secondary-fg-color); background-color:var(--button-secondary-bg-color); border-color:var(--button-secondary-border-color); &:hover{ color:var(--button-secondary-hover-fg-color); background-color:var(--button-secondary-hover-bg-color); border-color:var(--button-secondary-hover-border-color); } &:active{ color:var(--button-secondary-active-fg-color); background-color:var(--button-secondary-active-bg-color); border-color:var(--button-secondary-active-border-color); } &:disabled{ background-color:var(--button-secondary-disabled-bg-color); border-color:var(--button-secondary-disabled-border-color); color:var(--button-secondary-disabled-fg-color); opacity:var(--button-disabled-opacity); } } &.primaryButton{ color:var(--button-primary-fg-color); background-color:var(--button-primary-bg-color); border-color:var(--button-primary-border-color); opacity:1; &:hover{ color:var(--button-primary-hover-fg-color); background-color:var(--button-primary-hover-bg-color); border-color:var(--button-primary-hover-border-color); } &:active{ color:var(--button-primary-active-fg-color); background-color:var(--button-primary-active-bg-color); border-color:var(--button-primary-active-border-color); } &:disabled{ background-color:var(--button-primary-disabled-bg-color); border-color:var(--button-primary-disabled-border-color); color:var(--button-primary-disabled-fg-color); opacity:var(--button-disabled-opacity); } } &:disabled{ pointer-events:none; } } a{ color:var(--link-fg-color); &:hover{ color:var(--link-hover-fg-color); } } textarea{ font:inherit; padding:8px; resize:none; margin:0; box-sizing:border-box; border-radius:4px; border:1px solid var(--textarea-border-color); background:var(--textarea-bg-color); color:var(--textarea-fg-color); &:focus{ outline-offset:0; border-color:transparent; } &:disabled{ pointer-events:none; opacity:0.4; } } input[type="text"]{ background-color:var(--input-text-bg-color); color:var(--input-text-fg-color); } .messageBar{ --message-bar-bg-color:light-dark(#ffebcd, #5a3100); --message-bar-fg-color:light-dark(#15141a, #fbfbfe); --message-bar-border-color:light-dark( rgb(0 0 0 / 0.08), rgb(255 255 255 / 0.08) ); --message-bar-icon:url(images/messageBar_warning.svg); --message-bar-icon-color:light-dark(#cd411e, #e49c49); @media screen and (forced-colors: active){ --message-bar-bg-color:HighlightText; --message-bar-fg-color:CanvasText; --message-bar-border-color:CanvasText; --message-bar-icon-color:CanvasText; } align-self:stretch; > div{ &::before, > div{ margin-block:4px; } > div{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:1 0 0; .title{ font-size:13px; font-weight:590; } .description{ font-size:13px; } } } } .toggler{ display:flex; align-items:center; gap:8px; align-self:stretch; > .togglerLabel{ -webkit-user-select:none; -moz-user-select:none; user-select:none; } } } } .textLayer{ color-scheme:only light; position:absolute; text-align:initial; inset:0; overflow:clip; opacity:1; line-height:1; letter-spacing:normal; word-spacing:normal; -webkit-text-size-adjust:none; -moz-text-size-adjust:none; text-size-adjust:none; forced-color-adjust:none; transform-origin:0 0; caret-color:CanvasText; z-index:0; &.highlighting{ touch-action:none; } :is(span, br){ color:transparent; position:absolute; white-space:pre; cursor:text; transform-origin:0% 0%; -webkit-user-select:text; -moz-user-select:text; user-select:text; } --min-font-size:1; --text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size)); --min-font-size-inv:calc(1 / var(--min-font-size)); > :not(.markedContent), .markedContent span:not(.markedContent){ z-index:1; --font-height:0; font-size:calc(var(--text-scale-factor) * var(--font-height)); --scale-x:1; --rotate:0deg; transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv)); } .markedContent{ display:contents; } span[role="img"]{ -webkit-user-select:none; -moz-user-select:none; user-select:none; cursor:default; } .highlight{ --highlight-bg-color:rgb(180 0 170 / 0.25); --highlight-selected-bg-color:rgb(0 100 0 / 0.25); --highlight-backdrop-filter:none; --highlight-selected-backdrop-filter:none; @media screen and (forced-colors: active){ --highlight-bg-color:transparent; --highlight-selected-bg-color:transparent; --highlight-backdrop-filter:var(--hcm-highlight-filter); --highlight-selected-backdrop-filter:var( --hcm-highlight-selected-filter ); } margin:-1px; padding:1px; background-color:var(--highlight-bg-color); backdrop-filter:var(--highlight-backdrop-filter); border-radius:4px; &.appended{ position:initial; } &.begin{ border-radius:4px 0 0 4px; } &.end{ border-radius:0 4px 4px 0; } &.middle{ border-radius:0; } &.selected{ background-color:var(--highlight-selected-bg-color); backdrop-filter:var(--highlight-selected-backdrop-filter); scroll-margin-top:50px; } } ::-moz-selection{ background:transparent; } ::selection{ background:transparent; } br::-moz-selection{ background:transparent; } br::selection{ background:transparent; } .endOfContent{ display:block; position:absolute; inset:100% 0 0; z-index:0; cursor:default; -webkit-user-select:none; -moz-user-select:none; user-select:none; } &.selecting .endOfContent{ top:0; } } .textLayerImages{ position:absolute; inset:0; -webkit-user-select:none; -moz-user-select:none; user-select:none; canvas{ position:absolute; transform-origin:0% 0%; } } .annotationLayer{ color-scheme:only light; --annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>"); --input-focus-border-color:Highlight; --input-focus-outline:1px solid Canvas; --input-unfocused-border-color:transparent; --input-disabled-border-color:transparent; --input-hover-border-color:black; --link-outline:none; @media screen and (forced-colors: active){ --input-focus-border-color:CanvasText; --input-unfocused-border-color:ActiveText; --input-disabled-border-color:GrayText; --input-hover-border-color:Highlight; --link-outline:1.5px solid LinkText; .textWidgetAnnotation :is(input, textarea):required, .choiceWidgetAnnotation select:required, .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{ outline:1.5px solid selectedItem; } .linkAnnotation{ outline:var(--link-outline); &:hover{ backdrop-filter:var(--hcm-highlight-filter); } & > a:hover{ opacity:0 !important; background:none !important; box-shadow:none; } } .popupAnnotation .popup{ outline:calc(1.5px * var(--total-scale-factor)) solid CanvasText !important; background-color:ButtonFace !important; color:ButtonText !important; } .highlightArea:hover::after{ position:absolute; top:0; left:0; width:100%; height:100%; backdrop-filter:var(--hcm-highlight-filter); content:""; pointer-events:none; } .popupAnnotation.focused .popup{ outline:calc(3px * var(--total-scale-factor)) solid Highlight !important; } } position:absolute; top:0; left:0; pointer-events:none; transform-origin:0 0; &[data-main-rotation="90"] .norotate{ transform:rotate(270deg) translateX(-100%); } &[data-main-rotation="180"] .norotate{ transform:rotate(180deg) translate(-100%, -100%); } &[data-main-rotation="270"] .norotate{ transform:rotate(90deg) translateY(-100%); } &.disabled{ section, .popup{ pointer-events:none; } } .annotationContent{ position:absolute; width:100%; height:100%; pointer-events:none; &.freetext{ background:transparent; border:none; inset:0; overflow:visible; white-space:nowrap; font:10px sans-serif; line-height:1.35; } } section{ position:absolute; text-align:initial; pointer-events:auto; box-sizing:border-box; transform-origin:0 0; -webkit-user-select:none; -moz-user-select:none; user-select:none; &:has(div.annotationContent){ canvas.annotationContent{ display:none; } } .overlaidText{ position:absolute; top:0; left:0; width:0; height:0; display:inline-block; overflow:hidden; } } .textLayer.selecting ~ & section{ pointer-events:none; } :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a{ position:absolute; font-size:1em; top:0; left:0; width:100%; height:100%; } :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) > a:hover{ opacity:0.2; background-color:rgb(255 255 0); } .linkAnnotation.hasBorder:hover{ background-color:rgb(255 255 0 / 0.2); } .hasBorder{ background-size:100% 100%; } .textAnnotation img{ position:absolute; cursor:pointer; width:100%; height:100%; top:0; left:0; } .textWidgetAnnotation :is(input, textarea), .choiceWidgetAnnotation select, .buttonWidgetAnnotation:is(.checkBox, .radioButton) input{ background-image:var(--annotation-unfocused-field-background); border:2px solid var(--input-unfocused-border-color); box-sizing:border-box; font:calc(9px * var(--total-scale-factor)) sans-serif; height:100%; margin:0; vertical-align:top; width:100%; } .textWidgetAnnotation :is(input, textarea):required, .choiceWidgetAnnotation select:required, .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{ outline:1.5px solid red; } .choiceWidgetAnnotation select option{ padding:0; } .buttonWidgetAnnotation.radioButton input{ border-radius:50%; } .textWidgetAnnotation textarea{ resize:none; } .textWidgetAnnotation :is(input, textarea)[disabled], .choiceWidgetAnnotation select[disabled], .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled]{ background:none; border:2px solid var(--input-disabled-border-color); cursor:not-allowed; } .textWidgetAnnotation :is(input, textarea):hover, .choiceWidgetAnnotation select:hover, .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover{ border:2px solid var(--input-hover-border-color); } .textWidgetAnnotation :is(input, textarea):hover, .choiceWidgetAnnotation select:hover, .buttonWidgetAnnotation.checkBox input:hover{ border-radius:2px; } .textWidgetAnnotation :is(input, textarea):focus, .choiceWidgetAnnotation select:focus{ background:none; border:2px solid var(--input-focus-border-color); border-radius:2px; outline:var(--input-focus-outline); } .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus{ background-image:none; background-color:transparent; } .buttonWidgetAnnotation.checkBox :focus{ border:2px solid var(--input-focus-border-color); border-radius:2px; outline:var(--input-focus-outline); } .buttonWidgetAnnotation.radioButton :focus{ border:2px solid var(--input-focus-border-color); outline:var(--input-focus-outline); } .buttonWidgetAnnotation.checkBox input:checked::before, .buttonWidgetAnnotation.checkBox input:checked::after, .buttonWidgetAnnotation.radioButton input:checked::before{ background-color:CanvasText; content:""; display:block; position:absolute; } .buttonWidgetAnnotation.checkBox input:checked::before, .buttonWidgetAnnotation.checkBox input:checked::after{ height:80%; left:45%; width:1px; } .buttonWidgetAnnotation.checkBox input:checked::before{ transform:rotate(45deg); } .buttonWidgetAnnotation.checkBox input:checked::after{ transform:rotate(-45deg); } .buttonWidgetAnnotation.radioButton input:checked::before{ border-radius:50%; height:50%; left:25%; top:25%; width:50%; } .textWidgetAnnotation input.comb{ font-family:monospace; padding-left:2px; padding-right:0; } .textWidgetAnnotation input.comb:focus{ width:103%; } .buttonWidgetAnnotation:is(.checkBox, .radioButton) input{ -webkit-appearance:none; -moz-appearance:none; appearance:none; } .fileAttachmentAnnotation .popupTriggerArea{ height:100%; width:100%; } .popupAnnotation{ position:absolute; font-size:calc(9px * var(--total-scale-factor)); pointer-events:none; width:-moz-max-content; width:max-content; max-width:45%; height:auto; } .popup{ background-color:rgb(255 255 153); color:black; box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) rgb(136 136 136); border-radius:calc(2px * var(--total-scale-factor)); outline:1.5px solid rgb(255 255 74); padding:calc(6px * var(--total-scale-factor)); cursor:pointer; font:message-box; white-space:normal; word-wrap:break-word; pointer-events:auto; -webkit-user-select:text; -moz-user-select:text; user-select:text; } .popupAnnotation.focused .popup{ outline-width:3px; } .popup *{ font-size:calc(9px * var(--total-scale-factor)); } .popup > .header{ display:inline-block; } .popup > .header > .title{ display:inline; font-weight:bold; } .popup > .header .popupDate{ display:inline-block; margin-left:calc(5px * var(--total-scale-factor)); width:-moz-fit-content; width:fit-content; } .popupContent{ border-top:1px solid rgb(51 51 51); margin-top:calc(2px * var(--total-scale-factor)); padding-top:calc(2px * var(--total-scale-factor)); } .richText > *{ white-space:pre-wrap; font-size:calc(9px * var(--total-scale-factor)); } .popupTriggerArea{ cursor:pointer; &:hover{ backdrop-filter:var(--hcm-highlight-filter); } } section svg{ position:absolute; width:100%; height:100%; top:0; left:0; } .annotationTextContent{ position:absolute; width:100%; height:100%; opacity:0; color:transparent; -webkit-user-select:none; -moz-user-select:none; user-select:none; pointer-events:none; span{ width:100%; display:inline-block; } } svg.quadrilateralsContainer{ contain:strict; width:0; height:0; position:absolute; top:0; left:0; z-index:-1; } } :root{ --xfa-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>"); --xfa-focus-outline:auto; } @media screen and (forced-colors: active){ :root{ --xfa-focus-outline:2px solid CanvasText; } .xfaLayer *:required{ outline:1.5px solid selectedItem; } } .xfaLayer{ color-scheme:only light; background-color:transparent; } .xfaLayer .highlight{ margin:-1px; padding:1px; background-color:rgb(239 203 237); border-radius:4px; } .xfaLayer .highlight.appended{ position:initial; } .xfaLayer .highlight.begin{ border-radius:4px 0 0 4px; } .xfaLayer .highlight.end{ border-radius:0 4px 4px 0; } .xfaLayer .highlight.middle{ border-radius:0; } .xfaLayer .highlight.selected{ background-color:rgb(203 223 203); } .xfaPage{ overflow:hidden; position:relative; } .xfaContentarea{ position:absolute; } .xfaPrintOnly{ display:none; } .xfaLayer{ position:absolute; text-align:initial; top:0; left:0; transform-origin:0 0; line-height:1.2; } .xfaLayer *{ color:inherit; font:inherit; font-style:inherit; font-weight:inherit; font-kerning:inherit; letter-spacing:-0.01px; text-align:inherit; text-decoration:inherit; box-sizing:border-box; background-color:transparent; padding:0; margin:0; pointer-events:auto; line-height:inherit; } .xfaLayer *:required{ outline:1.5px solid red; } .xfaLayer div, .xfaLayer svg, .xfaLayer svg *{ pointer-events:none; } .xfaLayer a{ color:blue; } .xfaRich li{ margin-left:3em; } .xfaFont{ color:black; font-weight:normal; font-kerning:none; font-size:10px; font-style:normal; letter-spacing:0; text-decoration:none; vertical-align:0; } .xfaCaption{ overflow:hidden; flex:0 0 auto; } .xfaCaptionForCheckButton{ overflow:hidden; flex:1 1 auto; } .xfaLabel{ height:100%; width:100%; } .xfaLeft{ display:flex; flex-direction:row; align-items:center; } .xfaRight{ display:flex; flex-direction:row-reverse; align-items:center; } :is(.xfaLeft, .xfaRight) > :is(.xfaCaption, .xfaCaptionForCheckButton){ max-height:100%; } .xfaTop{ display:flex; flex-direction:column; align-items:flex-start; } .xfaBottom{ display:flex; flex-direction:column-reverse; align-items:flex-start; } :is(.xfaTop, .xfaBottom) > :is(.xfaCaption, .xfaCaptionForCheckButton){ width:100%; } .xfaBorder{ background-color:transparent; position:absolute; pointer-events:none; } .xfaWrapped{ width:100%; height:100%; } :is(.xfaTextfield, .xfaSelect):focus{ background-image:none; background-color:transparent; outline:var(--xfa-focus-outline); outline-offset:-1px; } :is(.xfaCheckbox, .xfaRadio):focus{ outline:var(--xfa-focus-outline); } .xfaTextfield, .xfaSelect{ height:100%; width:100%; flex:1 1 auto; border:none; resize:none; background-image:var(--xfa-unfocused-field-background); } .xfaSelect{ padding-inline:2px; } :is(.xfaTop, .xfaBottom) > :is(.xfaTextfield, .xfaSelect){ flex:0 1 auto; } .xfaButton{ cursor:pointer; width:100%; height:100%; border:none; text-align:center; } .xfaLink{ width:100%; height:100%; position:absolute; top:0; left:0; } .xfaCheckbox, .xfaRadio{ width:100%; height:100%; flex:0 0 auto; border:none; } .xfaRich{ white-space:pre-wrap; width:100%; height:100%; } .xfaImage{ -o-object-position:left top; object-position:left top; -o-object-fit:contain; object-fit:contain; width:100%; height:100%; } .xfaLrTb, .xfaRlTb, .xfaTb{ display:flex; flex-direction:column; align-items:stretch; } .xfaLr{ display:flex; flex-direction:row; align-items:stretch; } .xfaRl{ display:flex; flex-direction:row-reverse; align-items:stretch; } .xfaTb > div{ justify-content:left; } .xfaPosition{ position:relative; } .xfaArea{ position:relative; } .xfaValignMiddle{ display:flex; align-items:center; } .xfaTable{ display:flex; flex-direction:column; align-items:stretch; } .xfaTable .xfaRow{ display:flex; flex-direction:row; align-items:stretch; } .xfaTable .xfaRlRow{ display:flex; flex-direction:row-reverse; align-items:stretch; flex:1; } .xfaTable .xfaRlRow > div{ flex:1; } :is(.xfaNonInteractive, .xfaDisabled, .xfaReadOnly) :is(input, textarea){ background:initial; } @media print{ .xfaTextfield, .xfaSelect{ background:transparent; } .xfaSelect{ -webkit-appearance:none; -moz-appearance:none; appearance:none; text-indent:1px; text-overflow:""; } } .canvasWrapper{ .selection{ position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; background:rgb(0 90 255 / 0.22); } svg{ transform:none; &.moving{ z-index:100000; } &.highlight, &.highlightOutline{ &[data-main-rotation="90"]{ mask, use:not(.clip, .mask){ transform:matrix(0, 1, -1, 0, 1, 0); } } &[data-main-rotation="180"]{ mask, use:not(.clip, .mask){ transform:matrix(-1, 0, 0, -1, 1, 1); } } &[data-main-rotation="270"]{ mask, use:not(.clip, .mask){ transform:matrix(0, -1, 1, 0, 0, 1); } } } &.draw{ position:absolute; mix-blend-mode:normal; &[data-draw-rotation="90"]{ transform:rotate(90deg); } &[data-draw-rotation="180"]{ transform:rotate(180deg); } &[data-draw-rotation="270"]{ transform:rotate(270deg); } } &.highlight{ --blend-mode:multiply; @media screen and (forced-colors: active){ --blend-mode:difference; } position:absolute; mix-blend-mode:var(--blend-mode); &:not(.free){ fill-rule:evenodd; } } &.highlightOutline{ position:absolute; mix-blend-mode:normal; fill-rule:evenodd; fill:none; &:not(.free){ &.hovered:not(.selected){ stroke:var(--hover-outline-color); stroke-width:var(--outline-width); } &.selected{ .mainOutline{ stroke:var(--outline-around-color); stroke-width:calc( var(--outline-width) + 2 * var(--outline-around-width) ); } .secondaryOutline{ stroke:var(--outline-color); stroke-width:var(--outline-width); } } } &.free{ &.hovered:not(.selected){ stroke:var(--hover-outline-color); stroke-width:calc(2 * var(--outline-width)); } &.selected{ .mainOutline{ stroke:var(--outline-around-color); stroke-width:calc( 2 * (var(--outline-width) + var(--outline-around-width)) ); } .secondaryOutline{ stroke:var(--outline-color); stroke-width:calc(2 * var(--outline-width)); } } } } } } .toggle-button{ --button-background-color:color-mix(in srgb, currentColor 7%, transparent); --button-background-color-hover:color-mix( in srgb, currentColor 14%, transparent ); --button-background-color-active:color-mix( in srgb, currentColor 21%, transparent ); --color-accent-primary:light-dark(#0060df, #0df); --color-accent-primary-hover:light-dark(#0250bb, #80ebff); --color-accent-primary-active:light-dark(#054096, #aaf2ff); --border-radius-circle:9999px; --border-width:1px; --size-item-small:16px; --size-item-large:32px; --color-canvas:light-dark(white, #1c1b22); --background-color-canvas:var(--color-canvas); --border-color-interactive:light-dark(#8f8f9d, #f9f9fa); --border-color-interactive-hover:var(--border-color-interactive); --border-color-interactive-active:var(--border-color-interactive); --focus-outline-offset:2px; @media (forced-colors: active){ --color-accent-primary:ButtonText; --color-accent-primary-hover:SelectedItem; --color-accent-primary-active:SelectedItem; --button-background-color:ButtonFace; --border-color-interactive:ButtonText; --border-color-interactive-hover:SelectedItem; --border-color-interactive-active:ButtonText; --color-canvas:ButtonText; --background-color-canvas:Canvas; } } .toggle-button{ --toggle-background-color:var(--button-background-color); --toggle-background-color-hover:var(--button-background-color-hover); --toggle-background-color-active:var(--button-background-color-active); --toggle-background-color-pressed:var(--color-accent-primary); --toggle-background-color-pressed-hover:var(--color-accent-primary-hover); --toggle-background-color-pressed-active:var(--color-accent-primary-active); --toggle-border-color:var(--border-color-interactive); --toggle-border-color-hover:var(--toggle-border-color); --toggle-border-color-active:var(--toggle-border-color); --toggle-border-radius:var(--border-radius-circle); --toggle-border-width:var(--border-width); --toggle-height:var(--size-item-small); --toggle-width:var(--size-item-large); --toggle-dot-background-color:var(--toggle-border-color); --toggle-dot-background-color-hover:var(--toggle-dot-background-color); --toggle-dot-background-color-active:var(--toggle-dot-background-color); --toggle-dot-background-color-on-pressed:var(--background-color-canvas); --toggle-dot-margin:1px; --toggle-dot-height:calc( var(--toggle-height) - 2 * var(--toggle-dot-margin) - 2 * var(--toggle-border-width) ); --toggle-dot-width:var(--toggle-dot-height); --toggle-dot-transform-x:calc( var(--toggle-width) - 4 * var(--toggle-dot-margin) - var(--toggle-dot-width) ); --input-width:var(--toggle-width); -webkit-appearance:none; -moz-appearance:none; appearance:none; padding:0; border:var(--toggle-border-width) solid var(--toggle-border-color); height:var(--toggle-height); width:var(--toggle-width); border-radius:var(--toggle-border-radius); background-color:var(--toggle-background-color); box-sizing:border-box; &:focus-visible{ outline:var(--focus-outline); outline-offset:var(--focus-outline-offset); } &:enabled:hover{ background-color:var(--toggle-background-color-hover); border-color:var(--toggle-border-color); } &:enabled:hover:active{ background-color:var(--toggle-background-color-active); border-color:var(--toggle-border-color); } &::before{ display:block; content:""; background-color:var(--toggle-dot-background-color); height:var(--toggle-dot-height); width:var(--toggle-dot-width); margin:var(--toggle-dot-margin); border-radius:var(--toggle-border-radius); translate:0; } } .toggle-button[aria-pressed="true"]{ background-color:var(--toggle-background-color-pressed); border-color:transparent; &:enabled:hover{ background-color:var(--toggle-background-color-pressed-hover); border-color:transparent; } &:enabled:hover:active{ background-color:var(--toggle-background-color-pressed-active); border-color:transparent; } &::before{ translate:var(--toggle-dot-transform-x); background-color:var(--toggle-dot-background-color-on-pressed); } &:enabled:hover::before, &:enabled:hover:active::before{ background-color:var(--toggle-dot-background-color-on-pressed); } &:-moz-locale-dir(rtl)::before, &:dir(rtl)::before{ translate:calc(-1 * var(--toggle-dot-transform-x)); } } @media (prefers-reduced-motion: no-preference){ .toggle-button::before{ transition:translate 100ms; } } @media (prefers-contrast){ .toggle-button:enabled:hover{ border-color:var(--toggle-border-color-hover); } .toggle-button:enabled:hover:active{ border-color:var(--toggle-border-color-active); } .toggle-button[aria-pressed="true"]:enabled{ border-color:var(--toggle-border-color); position:relative; &:hover{ border-color:var(--toggle-border-color-hover); &:active{ background-color:var(--toggle-dot-background-color-active); border-color:var(--toggle-dot-background-color-hover); } } } .toggle-button:enabled:hover::before, .toggle-button:enabled:hover:active::before{ background-color:var(--toggle-dot-background-color-hover); } } @media (forced-colors){ .toggle-button{ --toggle-dot-background-color:var(--color-accent-primary); --toggle-dot-background-color-hover:var(--color-accent-primary-hover); --toggle-dot-background-color-active:var(--color-accent-primary-active); --toggle-dot-background-color-on-pressed:var(--button-background-color); --toggle-border-color-hover:var(--border-color-interactive-hover); --toggle-border-color-active:var(--border-color-interactive-active); } .toggle-button[aria-pressed="true"]:enabled::after{ border:1px solid var(--button-background-color); content:""; position:absolute; height:var(--toggle-height); width:var(--toggle-width); display:block; border-radius:var(--toggle-border-radius); inset:-2px; } .toggle-button[aria-pressed="true"]:enabled:hover:active::after{ border-color:var(--toggle-border-color-active); } } :root{ --clear-signature-button-icon:url(images/editor-toolbar-delete.svg); --signature-bg:light-dark(#f9f9fb, #2b2a33); --signature-hover-bg:light-dark(#f0f0f4, var(--signature-bg)); --button-signature-bg:transparent; --button-signature-color:var(--main-color); --button-signature-active-bg:light-dark(#cfcfd8, #5b5b66); --button-signature-active-border:none; --button-signature-active-color:var(--button-signature-color); --button-signature-border:none; --button-signature-hover-bg:light-dark(#e0e0e6, #52525e); --button-signature-hover-color:var(--button-signature-color); @media screen and (forced-colors: active){ --signature-bg:HighlightText; --signature-hover-bg:var(--signature-bg); --button-signature-bg:HighlightText; --button-signature-color:ButtonText; --button-signature-active-bg:ButtonText; --button-signature-active-color:HighlightText; --button-signature-border:1px solid ButtonText; --button-signature-hover-bg:Highlight; --button-signature-hover-color:HighlightText; } } .signatureDialog{ --primary-color:var(--text-primary-color); --border-color:#8f8f9d; --open-link-fg:var(--link-fg-color); --open-link-hover-fg:var(--link-hover-fg-color); @media screen and (forced-colors: active){ --primary-color:ButtonText; --border-color:ButtonText; --open-link-fg:ButtonText; --open-link-hover-fg:ButtonText; } width:570px; max-width:100%; min-width:300px; padding:16px 0; .mainContainer{ width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:12px; span:not([role="sectionhead"]){ font-size:13px; font-style:normal; font-weight:400; line-height:normal; } .title{ margin-inline-start:16px; } } .inputWithClearButton{ --button-dimension:24px; --clear-button-icon:url(images/messageBar_closingButton.svg); width:100%; position:relative; display:flex; align-items:center; justify-content:center; > input{ width:100%; height:32px; padding-inline:8px calc(4px + var(--button-dimension)); box-sizing:border-box; border-radius:4px; border:1px solid var(--border-color); } .clearInputButton{ position:absolute; inset-block-start:4px; inset-inline-end:4px; display:inline-block; width:var(--button-dimension); height:var(--button-dimension); background-color:var(--input-text-fg-color); -webkit-mask-size:cover; mask-size:cover; -webkit-mask-image:var(--clear-button-icon); mask-image:var(--clear-button-icon); padding:0; border:0; } } } #addSignatureDialog{ --secondary-color:var(--text-secondary-color); --bg-hover:#e0e0e6; --tab-top-line-active-color:#0060df; --tab-top-line-active-hover-color:var(--tab-text-hover-color); --tab-top-line-hover-color:#8f8f9d; --tab-top-line-inactive-color:#cfcfd8; --tab-bottom-line-active-color:var(--tab-top-line-inactive-color); --tab-bottom-line-hover-color:var(--tab-top-line-inactive-color); --tab-bottom-line-inactive-color:var(--tab-top-line-inactive-color); --tab-bg:var(--dialog-bg-color); --tab-bg-active-color:var(--tab-bg); --tab-bg-active-hover-color:var(--bg-hover); --tab-bg-hover:var(--bg-hover); --tab-panel-border:none; --tab-panel-border-radius:4px; --tab-text-color:var(--primary-color); --tab-text-active-color:var(--tab-top-line-active-color); --tab-text-active-hover-color:var(--tab-text-hover-color); --tab-text-hover-color:var(--tab-text-color); --signature-placeholder-color:var(--secondary-color); --signature-draw-placeholder-color:var(--primary-color); --signature-color:var(--primary-color); --clear-signature-button-border-width:0; --clear-signature-button-border-style:solid; --clear-signature-button-border-color:transparent; --clear-signature-button-border-disabled-color:transparent; --clear-signature-button-color:var(--primary-color); --clear-signature-button-hover-color:var(--clear-signature-button-color); --clear-signature-button-active-color:var(--clear-signature-button-color); --clear-signature-button-disabled-color:var(--clear-signature-button-color); --clear-signature-button-focus-color:var(--clear-signature-button-color); --clear-signature-button-bg:var(--dialog-bg-color); --clear-signature-button-bg-hover:var(--bg-hover); --clear-signature-button-bg-active:#cfcfd8; --clear-signature-button-bg-focus:#f0f0f4; --clear-signature-button-bg-disabled:color-mix( in srgb, #f0f0f4, transparent 40% ); --save-warning-color:var(--secondary-color); --thickness-bg:var(--dialog-bg-color); --thickness-label-color:var(--primary-color); --thickness-slider-color:var(--primary-color); --thickness-border:none; --draw-cursor:url(images/cursor-editorInk.svg) 0 16, pointer; @media (prefers-color-scheme: dark){ --dialog-bg-color:#42414d; --bg-hover:#52525e; --primary-color:#fbfbfe; --secondary-color:#cfcfd8; --tab-top-line-active-color:#0df; --tab-top-line-inactive-color:#8f8f9d; --clear-signature-button-bg-active:#5b5b66; --clear-signature-button-bg-focus:#2b2a33; --clear-signature-button-bg-disabled:color-mix( in srgb, #2b2a33, transparent 40% ); } @media screen and (forced-colors: active){ --secondary-color:ButtonText; --bg:HighlightText; --bg-hover:var(--bg); --tab-top-line-active-color:ButtonText; --tab-top-line-active-hover-color:HighlightText; --tab-top-line-hover-color:SelectedItem; --tab-top-line-inactive-color:ButtonText; --tab-bottom-line-active-color:var(--tab-top-line-active-color); --tab-bottom-line-hover-color:var(--tab-top-line-hover-color); --tab-bg:var(--bg); --tab-bg-active-color:SelectedItem; --tab-bg-active-hover-color:SelectedItem; --tab-panel-border:1px solid ButtonText; --tab-panel-border-radius:8px; --tab-text-color:ButtonText; --tab-text-active-color:HighlightText; --tab-text-active-hover-color:HighlightText; --tab-text-hover-color:SelectedItem; --signature-color:ButtonText; --clear-signature-button-border-width:1px; --clear-signature-button-border-style:solid; --clear-signature-button-border-color:ButtonText; --clear-signature-button-border-disabled-color:GrayText; --clear-signature-button-color:ButtonText; --clear-signature-button-hover-color:HighlightText; --clear-signature-button-active-color:SelectedItem; --clear-signature-button-focus-color:CanvasText; --clear-signature-button-disabled-color:GrayText; --clear-signature-button-bg:var(--bg); --clear-signature-button-bg-hover:SelectedItem; --clear-signature-button-bg-active:var(--bg); --clear-signature-button-bg-focus:var(--bg); --clear-signature-button-bg-disabled:var(--bg); --thickness-bg:Canvas; --thickness-label-color:CanvasText; --thickness-slider-color:ButtonText; --thickness-border:1px solid var(--border-color); } #addSignatureDialogLabel{ overflow:hidden; position:absolute; inset:0; width:0; height:0; } &.waiting::after{ content:""; cursor:wait; position:absolute; inset:0; width:100%; height:100%; } .mainContainer{ [role="tablist"]{ width:100%; display:flex; align-item