@4tw/vue-cli-plugin-pdfjs-viewer 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/assets/build/pdf.mjs +18539 -16928
  3. package/assets/build/pdf.mjs.map +1 -1
  4. package/assets/build/pdf.sandbox.mjs +9 -8
  5. package/assets/build/pdf.sandbox.mjs.map +1 -1
  6. package/assets/build/pdf.worker.mjs +2224 -2971
  7. package/assets/build/pdf.worker.mjs.map +1 -1
  8. package/assets/web/debugger.css +1 -1
  9. package/assets/web/images/cursor-editorFreeHighlight.svg +6 -0
  10. package/assets/web/images/cursor-editorTextHighlight.svg +8 -0
  11. package/assets/web/images/toolbarButton-editorFreeText.svg +3 -1
  12. package/assets/web/images/toolbarButton-editorStamp.svg +1 -1
  13. package/assets/web/locale/ar/viewer.ftl +140 -0
  14. package/assets/web/locale/be/viewer.ftl +20 -2
  15. package/assets/web/locale/bg/viewer.ftl +137 -0
  16. package/assets/web/locale/br/viewer.ftl +21 -0
  17. package/assets/web/locale/cs/viewer.ftl +20 -2
  18. package/assets/web/locale/cy/viewer.ftl +26 -8
  19. package/assets/web/locale/da/viewer.ftl +41 -2
  20. package/assets/web/locale/de/viewer.ftl +21 -3
  21. package/assets/web/locale/dsb/viewer.ftl +20 -2
  22. package/assets/web/locale/el/viewer.ftl +20 -2
  23. package/assets/web/locale/en-CA/viewer.ftl +91 -0
  24. package/assets/web/locale/en-GB/viewer.ftl +20 -2
  25. package/assets/web/locale/en-US/viewer.ftl +15 -8
  26. package/assets/web/locale/eo/viewer.ftl +61 -14
  27. package/assets/web/locale/es-AR/viewer.ftl +20 -2
  28. package/assets/web/locale/es-CL/viewer.ftl +20 -2
  29. package/assets/web/locale/es-ES/viewer.ftl +20 -2
  30. package/assets/web/locale/eu/viewer.ftl +53 -0
  31. package/assets/web/locale/fi/viewer.ftl +20 -2
  32. package/assets/web/locale/fr/viewer.ftl +20 -2
  33. package/assets/web/locale/fur/viewer.ftl +41 -2
  34. package/assets/web/locale/fy-NL/viewer.ftl +20 -2
  35. package/assets/web/locale/gl/viewer.ftl +17 -0
  36. package/assets/web/locale/gn/viewer.ftl +20 -2
  37. package/assets/web/locale/he/viewer.ftl +20 -2
  38. package/assets/web/locale/hsb/viewer.ftl +20 -2
  39. package/assets/web/locale/hu/viewer.ftl +20 -8
  40. package/assets/web/locale/hy-AM/viewer.ftl +22 -1
  41. package/assets/web/locale/ia/viewer.ftl +20 -10
  42. package/assets/web/locale/is/viewer.ftl +19 -9
  43. package/assets/web/locale/it/viewer.ftl +18 -8
  44. package/assets/web/locale/ja/viewer.ftl +42 -11
  45. package/assets/web/locale/ka/viewer.ftl +45 -9
  46. package/assets/web/locale/kab/viewer.ftl +57 -8
  47. package/assets/web/locale/kk/viewer.ftl +20 -2
  48. package/assets/web/locale/ko/viewer.ftl +22 -4
  49. package/assets/web/locale/nb-NO/viewer.ftl +20 -8
  50. package/assets/web/locale/nl/viewer.ftl +20 -2
  51. package/assets/web/locale/nn-NO/viewer.ftl +59 -8
  52. package/assets/web/locale/oc/viewer.ftl +36 -0
  53. package/assets/web/locale/pa-IN/viewer.ftl +41 -8
  54. package/assets/web/locale/pl/viewer.ftl +20 -2
  55. package/assets/web/locale/pt-BR/viewer.ftl +24 -12
  56. package/assets/web/locale/pt-PT/viewer.ftl +53 -0
  57. package/assets/web/locale/rm/viewer.ftl +20 -8
  58. package/assets/web/locale/ru/viewer.ftl +20 -2
  59. package/assets/web/locale/sk/viewer.ftl +23 -5
  60. package/assets/web/locale/skr/viewer.ftl +97 -6
  61. package/assets/web/locale/sl/viewer.ftl +18 -8
  62. package/assets/web/locale/sq/viewer.ftl +20 -8
  63. package/assets/web/locale/sv-SE/viewer.ftl +20 -2
  64. package/assets/web/locale/tg/viewer.ftl +20 -8
  65. package/assets/web/locale/th/viewer.ftl +53 -0
  66. package/assets/web/locale/tr/viewer.ftl +28 -16
  67. package/assets/web/locale/uk/viewer.ftl +39 -27
  68. package/assets/web/locale/vi/viewer.ftl +21 -3
  69. package/assets/web/locale/zh-CN/viewer.ftl +20 -8
  70. package/assets/web/locale/zh-TW/viewer.ftl +35 -25
  71. package/assets/web/viewer.css +920 -432
  72. package/assets/web/viewer.html +23 -12
  73. package/assets/web/viewer.mjs +11170 -11689
  74. package/assets/web/viewer.mjs.map +1 -1
  75. package/package.json +1 -1
  76. package/assets/web/images/gv-toolbarButton-openinapp.svg +0 -11
@@ -13,21 +13,262 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
+ .dialog{
17
+ --dialog-bg-color:white;
18
+ --dialog-border-color:white;
19
+ --dialog-shadow:0 2px 14px 0 rgb(58 57 68 / 0.2);
20
+ --text-primary-color:#15141a;
21
+ --text-secondary-color:#5b5b66;
22
+ --hover-filter:brightness(0.9);
23
+ --focus-ring-color:#0060df;
24
+ --focus-ring-outline:2px solid var(--focus-ring-color);
25
+
26
+ --textarea-border-color:#8f8f9d;
27
+ --textarea-bg-color:white;
28
+ --textarea-fg-color:var(--text-secondary-color);
29
+
30
+ --radio-bg-color:#f0f0f4;
31
+ --radio-checked-bg-color:#fbfbfe;
32
+ --radio-border-color:#8f8f9d;
33
+ --radio-checked-border-color:#0060df;
34
+
35
+ --button-secondary-bg-color:#f0f0f4;
36
+ --button-secondary-fg-color:var(--text-primary-color);
37
+ --button-secondary-border-color:var(--button-secondary-bg-color);
38
+ --button-secondary-hover-bg-color:var(--button-secondary-bg-color);
39
+ --button-secondary-hover-fg-color:var(--button-secondary-fg-color);
40
+ --button-secondary-hover-border-color:var(--button-secondary-hover-bg-color);
41
+
42
+ --button-primary-bg-color:#0060df;
43
+ --button-primary-fg-color:#fbfbfe;
44
+ --button-primary-hover-bg-color:var(--button-primary-bg-color);
45
+ --button-primary-hover-fg-color:var(--button-primary-fg-color);
46
+ --button-primary-hover-border-color:var(--button-primary-hover-bg-color);
47
+
48
+ font:message-box;
49
+ font-size:13px;
50
+ font-weight:400;
51
+ line-height:150%;
52
+ border-radius:4px;
53
+ padding:12px 16px;
54
+ border:1px solid var(--dialog-border-color);
55
+ background:var(--dialog-bg-color);
56
+ color:var(--text-primary-color);
57
+ box-shadow:var(--dialog-shadow);
58
+ }
59
+
60
+ @media (prefers-color-scheme: dark){
61
+
62
+ :where(html:not(.is-light)) .dialog{
63
+ --dialog-bg-color:#1c1b22;
64
+ --dialog-border-color:#1c1b22;
65
+ --dialog-shadow:0 2px 14px 0 #15141a;
66
+ --text-primary-color:#fbfbfe;
67
+ --text-secondary-color:#cfcfd8;
68
+ --focus-ring-color:#0df;
69
+ --hover-filter:brightness(1.4);
70
+
71
+ --textarea-bg-color:#42414d;
72
+
73
+ --radio-bg-color:#2b2a33;
74
+ --radio-checked-bg-color:#15141a;
75
+ --radio-checked-border-color:#0df;
76
+
77
+ --button-secondary-bg-color:#2b2a33;
78
+ --button-primary-bg-color:#0df;
79
+ --button-primary-fg-color:#15141a;
80
+ }
81
+ }
82
+
83
+ :where(html.is-dark) .dialog{
84
+ --dialog-bg-color:#1c1b22;
85
+ --dialog-border-color:#1c1b22;
86
+ --dialog-shadow:0 2px 14px 0 #15141a;
87
+ --text-primary-color:#fbfbfe;
88
+ --text-secondary-color:#cfcfd8;
89
+ --focus-ring-color:#0df;
90
+ --hover-filter:brightness(1.4);
91
+
92
+ --textarea-bg-color:#42414d;
93
+
94
+ --radio-bg-color:#2b2a33;
95
+ --radio-checked-bg-color:#15141a;
96
+ --radio-checked-border-color:#0df;
97
+
98
+ --button-secondary-bg-color:#2b2a33;
99
+ --button-primary-bg-color:#0df;
100
+ --button-primary-fg-color:#15141a;
101
+ }
102
+
103
+ @media screen and (forced-colors: active){
104
+
105
+ .dialog{
106
+ --dialog-bg-color:Canvas;
107
+ --dialog-border-color:CanvasText;
108
+ --dialog-shadow:none;
109
+ --text-primary-color:CanvasText;
110
+ --text-secondary-color:CanvasText;
111
+ --hover-filter:none;
112
+ --focus-ring-color:ButtonBorder;
113
+
114
+ --textarea-border-color:ButtonBorder;
115
+ --textarea-bg-color:Field;
116
+ --textarea-fg-color:ButtonText;
117
+
118
+ --radio-bg-color:ButtonFace;
119
+ --radio-checked-bg-color:ButtonFace;
120
+ --radio-border-color:ButtonText;
121
+ --radio-checked-border-color:ButtonText;
122
+
123
+ --button-secondary-bg-color:ButtonFace;
124
+ --button-secondary-fg-color:ButtonText;
125
+ --button-secondary-border-color:ButtonText;
126
+ --button-secondary-hover-bg-color:AccentColor;
127
+ --button-secondary-hover-fg-color:AccentColorText;
128
+
129
+ --button-primary-bg-color:ButtonText;
130
+ --button-primary-fg-color:ButtonFace;
131
+ --button-primary-hover-bg-color:AccentColor;
132
+ --button-primary-hover-fg-color:AccentColorText;
133
+ }
134
+ }
135
+
136
+ .dialog .mainContainer *:focus-visible{
137
+ outline:var(--focus-ring-outline);
138
+ outline-offset:2px;
139
+ }
140
+
141
+ .dialog .mainContainer .radio{
142
+ display:flex;
143
+ flex-direction:column;
144
+ align-items:flex-start;
145
+ gap:4px;
146
+ }
147
+
148
+ .dialog .mainContainer .radio > .radioButton{
149
+ display:flex;
150
+ gap:8px;
151
+ align-self:stretch;
152
+ align-items:center;
153
+ }
154
+
155
+ .dialog .mainContainer .radio > .radioButton input{
156
+ -webkit-appearance:none;
157
+ -moz-appearance:none;
158
+ appearance:none;
159
+ box-sizing:border-box;
160
+ width:16px;
161
+ height:16px;
162
+ border-radius:50%;
163
+ background-color:var(--radio-bg-color);
164
+ border:1px solid var(--radio-border-color);
165
+ }
166
+
167
+ .dialog .mainContainer .radio > .radioButton input:hover{
168
+ filter:var(--hover-filter);
169
+ }
170
+
171
+ .dialog .mainContainer .radio > .radioButton input:checked{
172
+ background-color:var(--radio-checked-bg-color);
173
+ border:4px solid var(--radio-checked-border-color);
174
+ }
175
+
176
+ .dialog .mainContainer .radio > .radioLabel{
177
+ display:flex;
178
+ padding-inline-start:24px;
179
+ align-items:flex-start;
180
+ gap:10px;
181
+ align-self:stretch;
182
+ }
183
+
184
+ .dialog .mainContainer .radio > .radioLabel > span{
185
+ flex:1 0 0;
186
+ font-size:11px;
187
+ color:var(--text-secondary-color);
188
+ }
189
+
190
+ .dialog .mainContainer button{
191
+ border-radius:4px;
192
+ border:1px solid;
193
+ font:menu;
194
+ font-weight:600;
195
+ padding:4px 16px;
196
+ width:auto;
197
+ height:32px;
198
+ }
199
+
200
+ .dialog .mainContainer button:hover{
201
+ cursor:pointer;
202
+ filter:var(--hover-filter);
203
+ }
204
+
205
+ .dialog .mainContainer button.secondaryButton{
206
+ color:var(--button-secondary-fg-color);
207
+ background-color:var(--button-secondary-bg-color);
208
+ border-color:var(--button-secondary-border-color);
209
+ }
210
+
211
+ .dialog .mainContainer button.secondaryButton:hover{
212
+ color:var(--button-secondary-hover-fg-color);
213
+ background-color:var(--button-secondary-hover-bg-color);
214
+ border-color:var(--button-secondary-hover-border-color);
215
+ }
216
+
217
+ .dialog .mainContainer button.primaryButton{
218
+ color:var(--button-primary-hover-fg-color);
219
+ background-color:var(--button-primary-hover-bg-color);
220
+ border-color:var(--button-primary-hover-border-color);
221
+ opacity:1;
222
+ }
223
+
224
+ .dialog .mainContainer button.primaryButton:hover{
225
+ color:var(--button-primary-hover-fg-color);
226
+ background-color:var(--button-primary-hover-bg-color);
227
+ border-color:var(--button-primary-hover-border-color);
228
+ }
229
+
230
+ .dialog .mainContainer textarea{
231
+ font:inherit;
232
+ padding:8px;
233
+ resize:none;
234
+ margin:0;
235
+ box-sizing:border-box;
236
+ border-radius:4px;
237
+ border:1px solid var(--textarea-border-color);
238
+ background:var(--textarea-bg-color);
239
+ color:var(--textarea-fg-color);
240
+ }
241
+
242
+ .dialog .mainContainer textarea:focus{
243
+ outline-offset:0;
244
+ border-color:transparent;
245
+ }
246
+
247
+ .dialog .mainContainer textarea:disabled{
248
+ pointer-events:none;
249
+ opacity:0.4;
250
+ }
251
+
16
252
  .textLayer{
17
253
  position:absolute;
18
254
  text-align:initial;
19
255
  inset:0;
20
- overflow:hidden;
21
- opacity:0.25;
256
+ overflow:clip;
257
+ opacity:1;
22
258
  line-height:1;
23
259
  -webkit-text-size-adjust:none;
24
260
  -moz-text-size-adjust:none;
25
261
  text-size-adjust:none;
26
262
  forced-color-adjust:none;
27
263
  transform-origin:0 0;
28
- z-index:2;
264
+ caret-color:CanvasText;
265
+ z-index:0;
29
266
  }
30
267
 
268
+ .textLayer.highlighting{
269
+ touch-action:none;
270
+ }
271
+
31
272
  .textLayer :is(span, br){
32
273
  color:transparent;
33
274
  position:absolute;
@@ -36,26 +277,39 @@
36
277
  transform-origin:0% 0%;
37
278
  }
38
279
 
280
+ .textLayer > :not(.markedContent),
281
+ .textLayer .markedContent span:not(.markedContent){
282
+ z-index:1;
283
+ }
284
+
39
285
  .textLayer span.markedContent{
40
286
  top:0;
41
287
  height:0;
42
288
  }
43
289
 
44
290
  .textLayer .highlight{
45
- --highlight-bg-color:rgb(180 0 170);
46
- --highlight-selected-bg-color:rgb(0 100 0);
291
+ --highlight-bg-color:rgb(180 0 170 / 0.25);
292
+ --highlight-selected-bg-color:rgb(0 100 0 / 0.25);
293
+ --highlight-backdrop-filter:none;
294
+ --highlight-selected-backdrop-filter:none;
47
295
 
48
296
  margin:-1px;
49
297
  padding:1px;
50
298
  background-color:var(--highlight-bg-color);
299
+ -webkit-backdrop-filter:var(--highlight-backdrop-filter);
300
+ backdrop-filter:var(--highlight-backdrop-filter);
51
301
  border-radius:4px;
52
302
  }
53
303
 
54
304
  @media screen and (forced-colors: active){
55
305
 
56
306
  .textLayer .highlight{
57
- --highlight-bg-color:Highlight;
58
- --highlight-selected-bg-color:ButtonText;
307
+ --highlight-bg-color:transparent;
308
+ --highlight-selected-bg-color:transparent;
309
+ --highlight-backdrop-filter:var(--hcm-highlight-filter);
310
+ --highlight-selected-backdrop-filter:var(
311
+ --hcm-highlight-selected-filter
312
+ );
59
313
  }
60
314
  }
61
315
 
@@ -77,16 +331,18 @@
77
331
 
78
332
  .textLayer .highlight.selected{
79
333
  background-color:var(--highlight-selected-bg-color);
334
+ -webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);
335
+ backdrop-filter:var(--highlight-selected-backdrop-filter);
80
336
  }
81
337
 
82
338
  .textLayer ::-moz-selection{
83
- background:blue;
84
- background:AccentColor;
339
+ background:rgba(0 0 255 / 0.25);
340
+ background:color-mix(in srgb, AccentColor, transparent 75%);
85
341
  }
86
342
 
87
343
  .textLayer ::selection{
88
- background:blue;
89
- background:AccentColor;
344
+ background:rgba(0 0 255 / 0.25);
345
+ background:color-mix(in srgb, AccentColor, transparent 75%);
90
346
  }
91
347
 
92
348
  .textLayer br::-moz-selection{
@@ -101,7 +357,7 @@
101
357
  display:block;
102
358
  position:absolute;
103
359
  inset:100% 0 0;
104
- z-index:-1;
360
+ z-index:0;
105
361
  cursor:default;
106
362
  -webkit-user-select:none;
107
363
  -moz-user-select:none;
@@ -126,7 +382,6 @@
126
382
  left:0;
127
383
  pointer-events:none;
128
384
  transform-origin:0 0;
129
- z-index:3;
130
385
  }
131
386
 
132
387
  @media screen and (forced-colors: active){
@@ -137,7 +392,6 @@
137
392
  --input-disabled-border-color:GrayText;
138
393
  --input-hover-border-color:Highlight;
139
394
  --link-outline:1.5px solid LinkText;
140
- --hcm-highlight-filter:invert(100%);
141
395
  }
142
396
 
143
397
  .annotationLayer .textWidgetAnnotation :is(input, textarea):required, .annotationLayer .choiceWidgetAnnotation select:required, .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{
@@ -194,13 +448,31 @@
194
448
  transform:rotate(90deg) translateY(-100%);
195
449
  }
196
450
 
197
- .annotationLayer canvas{
451
+ .annotationLayer.disabled section,
452
+ .annotationLayer.disabled .popup{
453
+ pointer-events:none;
454
+ }
455
+
456
+ .annotationLayer .annotationContent{
198
457
  position:absolute;
199
458
  width:100%;
200
459
  height:100%;
201
460
  pointer-events:none;
202
461
  }
203
462
 
463
+ .annotationLayer .annotationContent.freetext{
464
+ background:transparent;
465
+ border:none;
466
+ inset:0;
467
+ overflow:visible;
468
+ white-space:nowrap;
469
+ font:10px sans-serif;
470
+ line-height:1.35;
471
+ -webkit-user-select:none;
472
+ -moz-user-select:none;
473
+ user-select:none;
474
+ }
475
+
204
476
  .annotationLayer section{
205
477
  position:absolute;
206
478
  text-align:initial;
@@ -209,6 +481,10 @@
209
481
  transform-origin:0 0;
210
482
  }
211
483
 
484
+ .annotationLayer section:has(div.annotationContent) canvas.annotationContent{
485
+ display:none;
486
+ }
487
+
212
488
  .annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a{
213
489
  position:absolute;
214
490
  font-size:1em;
@@ -777,15 +1053,18 @@
777
1053
  transform:none;
778
1054
  }
779
1055
 
780
- .canvasWrapper svg[data-main-rotation="90"] use:not(.clip){
1056
+ .canvasWrapper svg[data-main-rotation="90"] mask,
1057
+ .canvasWrapper svg[data-main-rotation="90"] use:not(.clip, .mask){
781
1058
  transform:matrix(0, 1, -1, 0, 1, 0);
782
1059
  }
783
1060
 
784
- .canvasWrapper svg[data-main-rotation="180"] use:not(.clip){
1061
+ .canvasWrapper svg[data-main-rotation="180"] mask,
1062
+ .canvasWrapper svg[data-main-rotation="180"] use:not(.clip, .mask){
785
1063
  transform:matrix(-1, 0, 0, -1, 1, 1);
786
1064
  }
787
1065
 
788
- .canvasWrapper svg[data-main-rotation="270"] use:not(.clip){
1066
+ .canvasWrapper svg[data-main-rotation="270"] mask,
1067
+ .canvasWrapper svg[data-main-rotation="270"] use:not(.clip, .mask){
789
1068
  transform:matrix(0, -1, 1, 0, 0, 1);
790
1069
  }
791
1070
 
@@ -794,7 +1073,6 @@
794
1073
 
795
1074
  position:absolute;
796
1075
  mix-blend-mode:var(--blend-mode);
797
- fill-rule:evenodd;
798
1076
  }
799
1077
 
800
1078
  @media screen and (forced-colors: active){
@@ -804,6 +1082,10 @@
804
1082
  }
805
1083
  }
806
1084
 
1085
+ .canvasWrapper svg.highlight:not(.free){
1086
+ fill-rule:evenodd;
1087
+ }
1088
+
807
1089
  .canvasWrapper svg.highlightOutline{
808
1090
  position:absolute;
809
1091
  mix-blend-mode:normal;
@@ -811,23 +1093,273 @@
811
1093
  fill:none;
812
1094
  }
813
1095
 
814
- .canvasWrapper svg.highlightOutline.hovered{
815
- stroke:var(--hover-outline-color);
816
- stroke-width:var(--outline-width);
817
- }
818
-
819
- .canvasWrapper svg.highlightOutline.selected .mainOutline{
820
- stroke:var(--outline-around-color);
821
- stroke-width:calc(
822
- var(--outline-width) + 2 * var(--outline-around-width)
823
- );
1096
+ .canvasWrapper svg.highlightOutline.hovered:not(.free):not(.selected){
1097
+ stroke:var(--hover-outline-color);
1098
+ stroke-width:var(--outline-width);
824
1099
  }
825
1100
 
826
- .canvasWrapper svg.highlightOutline.selected .secondaryOutline{
827
- stroke:var(--outline-color);
828
- stroke-width:var(--outline-width);
1101
+ .canvasWrapper svg.highlightOutline.selected:not(.free) .mainOutline{
1102
+ stroke:var(--outline-around-color);
1103
+ stroke-width:calc(
1104
+ var(--outline-width) + 2 * var(--outline-around-width)
1105
+ );
1106
+ }
1107
+
1108
+ .canvasWrapper svg.highlightOutline.selected:not(.free) .secondaryOutline{
1109
+ stroke:var(--outline-color);
1110
+ stroke-width:var(--outline-width);
1111
+ }
1112
+
1113
+ .canvasWrapper svg.highlightOutline.free.hovered:not(.selected){
1114
+ stroke:var(--hover-outline-color);
1115
+ stroke-width:calc(2 * var(--outline-width));
829
1116
  }
830
1117
 
1118
+ .canvasWrapper svg.highlightOutline.free.selected .mainOutline{
1119
+ stroke:var(--outline-around-color);
1120
+ stroke-width:calc(
1121
+ 2 * (var(--outline-width) + var(--outline-around-width))
1122
+ );
1123
+ }
1124
+
1125
+ .canvasWrapper svg.highlightOutline.free.selected .secondaryOutline{
1126
+ stroke:var(--outline-color);
1127
+ stroke-width:calc(2 * var(--outline-width));
1128
+ }
1129
+
1130
+ .toggle-button{
1131
+ --button-background-color:#f0f0f4;
1132
+ --button-background-color-hover:#e0e0e6;
1133
+ --button-background-color-active:#cfcfd8;
1134
+ --color-accent-primary:#0060df;
1135
+ --color-accent-primary-hover:#0250bb;
1136
+ --color-accent-primary-active:#054096;
1137
+ --border-interactive-color:#8f8f9d;
1138
+ --border-radius-circle:9999px;
1139
+ --border-width:1px;
1140
+ --size-item-small:16px;
1141
+ --size-item-large:32px;
1142
+ --color-canvas:white;
1143
+
1144
+ --toggle-background-color:var(--button-background-color);
1145
+ --toggle-background-color-hover:var(--button-background-color-hover);
1146
+ --toggle-background-color-active:var(--button-background-color-active);
1147
+ --toggle-background-color-pressed:var(--color-accent-primary);
1148
+ --toggle-background-color-pressed-hover:var(--color-accent-primary-hover);
1149
+ --toggle-background-color-pressed-active:var(--color-accent-primary-active);
1150
+ --toggle-border-color:var(--border-interactive-color);
1151
+ --toggle-border-color-hover:var(--toggle-border-color);
1152
+ --toggle-border-color-active:var(--toggle-border-color);
1153
+ --toggle-border-radius:var(--border-radius-circle);
1154
+ --toggle-border-width:var(--border-width);
1155
+ --toggle-height:var(--size-item-small);
1156
+ --toggle-width:var(--size-item-large);
1157
+ --toggle-dot-background-color:var(--toggle-border-color);
1158
+ --toggle-dot-background-color-hover:var(--toggle-dot-background-color);
1159
+ --toggle-dot-background-color-active:var(--toggle-dot-background-color);
1160
+ --toggle-dot-background-color-on-pressed:var(--color-canvas);
1161
+ --toggle-dot-margin:1px;
1162
+ --toggle-dot-height:calc(
1163
+ var(--toggle-height) - 2 * var(--toggle-dot-margin) - 2 *
1164
+ var(--toggle-border-width)
1165
+ );
1166
+ --toggle-dot-width:var(--toggle-dot-height);
1167
+ --toggle-dot-transform-x:calc(
1168
+ var(--toggle-width) - 4 * var(--toggle-dot-margin) - var(--toggle-dot-width)
1169
+ );
1170
+
1171
+ -webkit-appearance:none;
1172
+
1173
+ -moz-appearance:none;
1174
+
1175
+ appearance:none;
1176
+ padding:0;
1177
+ margin:0;
1178
+ border:var(--toggle-border-width) solid var(--toggle-border-color);
1179
+ height:var(--toggle-height);
1180
+ width:var(--toggle-width);
1181
+ border-radius:var(--toggle-border-radius);
1182
+ background:var(--toggle-background-color);
1183
+ box-sizing:border-box;
1184
+ flex-shrink:0;
1185
+ }
1186
+
1187
+ @media (prefers-color-scheme: dark){
1188
+
1189
+ :where(html:not(.is-light)) .toggle-button{
1190
+ --button-background-color:color-mix(in srgb, currentColor 7%, transparent);
1191
+ --button-background-color-hover:color-mix(
1192
+ in srgb,
1193
+ currentColor 14%,
1194
+ transparent
1195
+ );
1196
+ --button-background-color-active:color-mix(
1197
+ in srgb,
1198
+ currentColor 21%,
1199
+ transparent
1200
+ );
1201
+ --color-accent-primary:#0df;
1202
+ --color-accent-primary-hover:#80ebff;
1203
+ --color-accent-primary-active:#aaf2ff;
1204
+ --border-interactive-color:#bfbfc9;
1205
+ --color-canvas:#1c1b22;
1206
+ }
1207
+ }
1208
+
1209
+ :where(html.is-dark) .toggle-button{
1210
+ --button-background-color:color-mix(in srgb, currentColor 7%, transparent);
1211
+ --button-background-color-hover:color-mix(
1212
+ in srgb,
1213
+ currentColor 14%,
1214
+ transparent
1215
+ );
1216
+ --button-background-color-active:color-mix(
1217
+ in srgb,
1218
+ currentColor 21%,
1219
+ transparent
1220
+ );
1221
+ --color-accent-primary:#0df;
1222
+ --color-accent-primary-hover:#80ebff;
1223
+ --color-accent-primary-active:#aaf2ff;
1224
+ --border-interactive-color:#bfbfc9;
1225
+ --color-canvas:#1c1b22;
1226
+ }
1227
+
1228
+ @media (forced-colors: active){
1229
+
1230
+ .toggle-button{
1231
+ --color-accent-primary:ButtonText;
1232
+ --color-accent-primary-hover:SelectedItem;
1233
+ --color-accent-primary-active:SelectedItem;
1234
+ --border-interactive-color:ButtonText;
1235
+ --button-background-color:ButtonFace;
1236
+ --border-interactive-color-hover:SelectedItem;
1237
+ --border-interactive-color-active:SelectedItem;
1238
+ --border-interactive-color-disabled:GrayText;
1239
+ --color-canvas:ButtonText;
1240
+ }
1241
+ }
1242
+
1243
+ .toggle-button:focus-visible{
1244
+ outline:var(--focus-outline);
1245
+ outline-offset:var(--focus-outline-offset);
1246
+ }
1247
+
1248
+ .toggle-button:enabled:hover{
1249
+ background:var(--toggle-background-color-hover);
1250
+ border-color:var(--toggle-border-color);
1251
+ }
1252
+
1253
+ .toggle-button:enabled:active{
1254
+ background:var(--toggle-background-color-active);
1255
+ border-color:var(--toggle-border-color);
1256
+ }
1257
+
1258
+ .toggle-button[aria-pressed="true"]{
1259
+ background:var(--toggle-background-color-pressed);
1260
+ border-color:transparent;
1261
+ }
1262
+
1263
+ .toggle-button[aria-pressed="true"]:enabled:hover{
1264
+ background:var(--toggle-background-color-pressed-hover);
1265
+ border-color:transparent;
1266
+ }
1267
+
1268
+ .toggle-button[aria-pressed="true"]:enabled:active{
1269
+ background:var(--toggle-background-color-pressed-active);
1270
+ border-color:transparent;
1271
+ }
1272
+
1273
+ .toggle-button::before{
1274
+ display:block;
1275
+ content:"";
1276
+ background-color:var(--toggle-dot-background-color);
1277
+ height:var(--toggle-dot-height);
1278
+ width:var(--toggle-dot-width);
1279
+ margin:var(--toggle-dot-margin);
1280
+ border-radius:var(--toggle-border-radius);
1281
+ translate:0;
1282
+ }
1283
+
1284
+ .toggle-button[aria-pressed="true"]::before{
1285
+ translate:var(--toggle-dot-transform-x);
1286
+ background-color:var(--toggle-dot-background-color-on-pressed);
1287
+ }
1288
+
1289
+ .toggle-button[aria-pressed="true"]:enabled:hover::before,
1290
+ .toggle-button[aria-pressed="true"]:enabled:active::before{
1291
+ background-color:var(--toggle-dot-background-color-on-pressed);
1292
+ }
1293
+
1294
+ [dir="rtl"] .toggle-button[aria-pressed="true"]::before{
1295
+ translate:calc(-1 * var(--toggle-dot-transform-x));
1296
+ }
1297
+
1298
+ @media (prefers-reduced-motion: no-preference){
1299
+ .toggle-button::before{
1300
+ transition:translate 100ms;
1301
+ }
1302
+ }
1303
+
1304
+ @media (prefers-contrast){
1305
+ .toggle-button:enabled:hover{
1306
+ border-color:var(--toggle-border-color-hover);
1307
+ }
1308
+
1309
+ .toggle-button:enabled:active{
1310
+ border-color:var(--toggle-border-color-active);
1311
+ }
1312
+
1313
+ .toggle-button[aria-pressed="true"]:enabled{
1314
+ border-color:var(--toggle-border-color);
1315
+ position:relative;
1316
+ }
1317
+
1318
+ .toggle-button[aria-pressed="true"]:enabled:hover,
1319
+ .toggle-button[aria-pressed="true"]:enabled:hover:active{
1320
+ border-color:var(--toggle-border-color-hover);
1321
+ }
1322
+
1323
+ .toggle-button[aria-pressed="true"]:enabled:active{
1324
+ background-color:var(--toggle-dot-background-color-active);
1325
+ border-color:var(--toggle-dot-background-color-hover);
1326
+ }
1327
+
1328
+ .toggle-button:hover::before,
1329
+ .toggle-button:active::before{
1330
+ background-color:var(--toggle-dot-background-color-hover);
1331
+ }
1332
+ }
1333
+
1334
+ @media (forced-colors){
1335
+
1336
+ .toggle-button{
1337
+ --toggle-dot-background-color:var(--color-accent-primary);
1338
+ --toggle-dot-background-color-hover:var(--color-accent-primary-hover);
1339
+ --toggle-dot-background-color-active:var(--color-accent-primary-active);
1340
+ --toggle-dot-background-color-on-pressed:var(--button-background-color);
1341
+ --toggle-background-color-disabled:var(--button-background-color-disabled);
1342
+ --toggle-border-color-hover:var(--border-interactive-color-hover);
1343
+ --toggle-border-color-active:var(--border-interactive-color-active);
1344
+ --toggle-border-color-disabled:var(--border-interactive-color-disabled);
1345
+ }
1346
+
1347
+ .toggle-button[aria-pressed="true"]:enabled::after{
1348
+ border:1px solid var(--button-background-color);
1349
+ content:"";
1350
+ position:absolute;
1351
+ height:var(--toggle-height);
1352
+ width:var(--toggle-width);
1353
+ display:block;
1354
+ border-radius:var(--toggle-border-radius);
1355
+ inset:-2px;
1356
+ }
1357
+
1358
+ .toggle-button[aria-pressed="true"]:enabled:active::after{
1359
+ border-color:var(--toggle-border-color-active);
1360
+ }
1361
+ }
1362
+
831
1363
  :root{
832
1364
  --outline-width:2px;
833
1365
  --outline-color:#0060df;
@@ -850,9 +1382,36 @@
850
1382
  );
851
1383
  --editorFreeText-editing-cursor:text;
852
1384
  --editorInk-editing-cursor:url(images/cursor-editorInk.svg) 0 16, pointer;
1385
+ --editorHighlight-editing-cursor:url(images/cursor-editorTextHighlight.svg) 24 24, text;
1386
+ --editorFreeHighlight-editing-cursor:url(images/cursor-editorFreeHighlight.svg) 1 18, pointer;
853
1387
  }
1388
+ .visuallyHidden{
1389
+ position:absolute;
1390
+ top:0;
1391
+ left:0;
1392
+ border:0;
1393
+ margin:0;
1394
+ padding:0;
1395
+ width:0;
1396
+ height:0;
1397
+ overflow:hidden;
1398
+ white-space:nowrap;
1399
+ font-size:0;
1400
+ }
1401
+
1402
+ .textLayer.highlighting{
1403
+ cursor:var(--editorFreeHighlight-editing-cursor);
1404
+ }
1405
+
1406
+ .textLayer.highlighting:not(.free) span{
1407
+ cursor:var(--editorHighlight-editing-cursor);
1408
+ }
854
1409
 
855
- @media (-webkit-min-device-pixel-ratio: 1.1), (min-resolution: 1.1dppx){
1410
+ .textLayer.highlighting.free span{
1411
+ cursor:var(--editorFreeHighlight-editing-cursor);
1412
+ }
1413
+
1414
+ @media (min-resolution: 1.1dppx){
856
1415
  :root{
857
1416
  --editorFreeText-editing-cursor:url(images/cursor-editorFreeText.svg) 0 16, text;
858
1417
  }
@@ -887,9 +1446,16 @@
887
1446
  font-size:calc(100px * var(--scale-factor));
888
1447
  transform-origin:0 0;
889
1448
  cursor:auto;
890
- z-index:4;
891
1449
  }
892
1450
 
1451
+ .annotationEditorLayer .selectedEditor{
1452
+ z-index:100000 !important;
1453
+ }
1454
+
1455
+ .annotationEditorLayer.drawing *{
1456
+ pointer-events:none !important;
1457
+ }
1458
+
893
1459
  .annotationEditorLayer.waiting{
894
1460
  content:"";
895
1461
  cursor:wait;
@@ -926,6 +1492,10 @@
926
1492
  cursor:move;
927
1493
  }
928
1494
 
1495
+ .annotationEditorLayer .moving:is(.freeTextEditor, .inkEditor, .stampEditor){
1496
+ touch-action:none;
1497
+ }
1498
+
929
1499
  .annotationEditorLayer .selectedEditor:is(.freeTextEditor, .inkEditor, .stampEditor){
930
1500
  border:var(--focus-outline);
931
1501
  outline:var(--focus-outline-around);
@@ -951,10 +1521,11 @@
951
1521
  border:var(--focus-outline-around);
952
1522
  }
953
1523
 
954
- .annotationEditorLayer
955
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1524
+ :is(.annotationEditorLayer
1525
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
956
1526
  --editor-toolbar-delete-image:url(images/editor-toolbar-delete.svg);
957
1527
  --editor-toolbar-bg-color:#f0f0f4;
1528
+ --editor-toolbar-highlight-image:url(images/toolbarButton-editorHighlight.svg);
958
1529
  --editor-toolbar-fg-color:#2e2e56;
959
1530
  --editor-toolbar-border-color:#8f8f9d;
960
1531
  --editor-toolbar-hover-border-color:var(--editor-toolbar-border-color);
@@ -991,8 +1562,8 @@
991
1562
 
992
1563
  @media (prefers-color-scheme: dark){
993
1564
 
994
- :where(html:not(.is-light)) .annotationEditorLayer
995
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1565
+ :where(html:not(.is-light)) :is(.annotationEditorLayer
1566
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
996
1567
  --editor-toolbar-bg-color:#2b2a33;
997
1568
  --editor-toolbar-fg-color:#fbfbfe;
998
1569
  --editor-toolbar-hover-bg-color:#52525e;
@@ -1000,8 +1571,8 @@
1000
1571
  }
1001
1572
  }
1002
1573
 
1003
- :where(html.is-dark) .annotationEditorLayer
1004
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1574
+ :where(html.is-dark) :is(.annotationEditorLayer
1575
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1005
1576
  --editor-toolbar-bg-color:#2b2a33;
1006
1577
  --editor-toolbar-fg-color:#fbfbfe;
1007
1578
  --editor-toolbar-hover-bg-color:#52525e;
@@ -1010,8 +1581,8 @@
1010
1581
 
1011
1582
  @media screen and (forced-colors: active){
1012
1583
 
1013
- .annotationEditorLayer
1014
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1584
+ :is(.annotationEditorLayer
1585
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1015
1586
  --editor-toolbar-bg-color:ButtonFace;
1016
1587
  --editor-toolbar-fg-color:ButtonText;
1017
1588
  --editor-toolbar-border-color:ButtonText;
@@ -1024,28 +1595,28 @@
1024
1595
  }
1025
1596
  }
1026
1597
 
1027
- .annotationEditorLayer
1028
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar.hidden{
1598
+ :is(.annotationEditorLayer
1599
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar.hidden{
1029
1600
  display:none;
1030
1601
  }
1031
1602
 
1032
- .annotationEditorLayer
1033
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar:has(:focus-visible){
1603
+ :is(.annotationEditorLayer
1604
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar:has(:focus-visible){
1034
1605
  border-color:transparent;
1035
1606
  }
1036
1607
 
1037
- [dir="ltr"] .annotationEditorLayer
1038
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1608
+ [dir="ltr"] :is(.annotationEditorLayer
1609
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1039
1610
  transform-origin:100% 0;
1040
1611
  }
1041
1612
 
1042
- [dir="rtl"] .annotationEditorLayer
1043
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1613
+ [dir="rtl"] :is(.annotationEditorLayer
1614
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1044
1615
  transform-origin:0 0;
1045
1616
  }
1046
1617
 
1047
- .annotationEditorLayer
1048
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons{
1618
+ :is(.annotationEditorLayer
1619
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons{
1049
1620
  display:flex;
1050
1621
  justify-content:center;
1051
1622
  align-items:center;
@@ -1053,8 +1624,8 @@
1053
1624
  height:100%;
1054
1625
  }
1055
1626
 
1056
- .annotationEditorLayer
1057
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .divider{
1627
+ :is(.annotationEditorLayer
1628
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .divider{
1058
1629
  width:1px;
1059
1630
  height:calc(
1060
1631
  2 * var(--editor-toolbar-padding) + var(--editor-toolbar-height)
@@ -1064,13 +1635,38 @@
1064
1635
  margin-inline:2px;
1065
1636
  }
1066
1637
 
1067
- .annotationEditorLayer
1068
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .delete{
1638
+ :is(.annotationEditorLayer
1639
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton{
1069
1640
  width:var(--editor-toolbar-height);
1070
1641
  }
1071
1642
 
1072
- .annotationEditorLayer
1073
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .delete::before{
1643
+ :is(.annotationEditorLayer
1644
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton::before{
1645
+ content:"";
1646
+ -webkit-mask-image:var(--editor-toolbar-highlight-image);
1647
+ mask-image:var(--editor-toolbar-highlight-image);
1648
+ -webkit-mask-repeat:no-repeat;
1649
+ mask-repeat:no-repeat;
1650
+ -webkit-mask-position:center;
1651
+ mask-position:center;
1652
+ display:inline-block;
1653
+ background-color:var(--editor-toolbar-fg-color);
1654
+ width:100%;
1655
+ height:100%;
1656
+ }
1657
+
1658
+ :is(.annotationEditorLayer
1659
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton:hover::before{
1660
+ background-color:var(--editor-toolbar-hover-fg-color);
1661
+ }
1662
+
1663
+ :is(.annotationEditorLayer
1664
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete{
1665
+ width:var(--editor-toolbar-height);
1666
+ }
1667
+
1668
+ :is(.annotationEditorLayer
1669
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete::before{
1074
1670
  content:"";
1075
1671
  -webkit-mask-image:var(--editor-toolbar-delete-image);
1076
1672
  mask-image:var(--editor-toolbar-delete-image);
@@ -1084,25 +1680,25 @@
1084
1680
  height:100%;
1085
1681
  }
1086
1682
 
1087
- .annotationEditorLayer
1088
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .delete:hover::before{
1683
+ :is(.annotationEditorLayer
1684
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete:hover::before{
1089
1685
  background-color:var(--editor-toolbar-hover-fg-color);
1090
1686
  }
1091
1687
 
1092
- .annotationEditorLayer
1093
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > *{
1688
+ :is(.annotationEditorLayer
1689
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > *{
1094
1690
  height:var(--editor-toolbar-height);
1095
1691
  }
1096
1692
 
1097
- .annotationEditorLayer
1098
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider){
1693
+ :is(.annotationEditorLayer
1694
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider){
1099
1695
  border:none;
1100
1696
  background-color:transparent;
1101
1697
  cursor:pointer;
1102
1698
  }
1103
1699
 
1104
- .annotationEditorLayer
1105
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider):hover{
1700
+ :is(.annotationEditorLayer
1701
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover{
1106
1702
  border-radius:2px;
1107
1703
  background-color:var(--editor-toolbar-hover-bg-color);
1108
1704
  color:var(--editor-toolbar-hover-fg-color);
@@ -1110,19 +1706,19 @@
1110
1706
  outline-offset:1px;
1111
1707
  }
1112
1708
 
1113
- .annotationEditorLayer
1114
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider):hover:active{
1709
+ :is(.annotationEditorLayer
1710
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover:active{
1115
1711
  outline:none;
1116
1712
  }
1117
1713
 
1118
- .annotationEditorLayer
1119
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider):focus-visible{
1714
+ :is(.annotationEditorLayer
1715
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):focus-visible{
1120
1716
  border-radius:2px;
1121
1717
  outline:2px solid var(--editor-toolbar-focus-outline-color);
1122
1718
  }
1123
1719
 
1124
- .annotationEditorLayer
1125
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText{
1720
+ :is(.annotationEditorLayer
1721
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText{
1126
1722
  --alt-text-add-image:url(images/altText_add.svg);
1127
1723
  --alt-text-done-image:url(images/altText_done.svg);
1128
1724
 
@@ -1139,13 +1735,13 @@
1139
1735
  color:var(--editor-toolbar-fg-color);
1140
1736
  }
1141
1737
 
1142
- .annotationEditorLayer
1143
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText:disabled{
1738
+ :is(.annotationEditorLayer
1739
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:disabled{
1144
1740
  pointer-events:none;
1145
1741
  }
1146
1742
 
1147
- .annotationEditorLayer
1148
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText::before{
1743
+ :is(.annotationEditorLayer
1744
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText::before{
1149
1745
  content:"";
1150
1746
  -webkit-mask-image:var(--alt-text-add-image);
1151
1747
  mask-image:var(--alt-text-add-image);
@@ -1160,24 +1756,24 @@
1160
1756
  margin-inline-end:4px;
1161
1757
  }
1162
1758
 
1163
- .annotationEditorLayer
1164
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText:hover::before{
1759
+ :is(.annotationEditorLayer
1760
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:hover::before{
1165
1761
  background-color:var(--editor-toolbar-hover-fg-color);
1166
1762
  }
1167
1763
 
1168
- .annotationEditorLayer
1169
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText.done::before{
1764
+ :is(.annotationEditorLayer
1765
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText.done::before{
1170
1766
  -webkit-mask-image:var(--alt-text-done-image);
1171
1767
  mask-image:var(--alt-text-done-image);
1172
1768
  }
1173
1769
 
1174
- .annotationEditorLayer
1175
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip{
1770
+ :is(.annotationEditorLayer
1771
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip{
1176
1772
  display:none;
1177
1773
  }
1178
1774
 
1179
- .annotationEditorLayer
1180
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1775
+ :is(.annotationEditorLayer
1776
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1181
1777
  --alt-text-tooltip-bg:#f0f0f4;
1182
1778
  --alt-text-tooltip-fg:#15141a;
1183
1779
  --alt-text-tooltip-border:#8f8f9d;
@@ -1208,16 +1804,16 @@
1208
1804
 
1209
1805
  @media (prefers-color-scheme: dark){
1210
1806
 
1211
- :where(html:not(.is-light)) .annotationEditorLayer
1212
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1807
+ :where(html:not(.is-light)) :is(.annotationEditorLayer
1808
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1213
1809
  --alt-text-tooltip-bg:#1c1b22;
1214
1810
  --alt-text-tooltip-fg:#fbfbfe;
1215
1811
  --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
1216
1812
  }
1217
1813
  }
1218
1814
 
1219
- :where(html.is-dark) .annotationEditorLayer
1220
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1815
+ :where(html.is-dark) :is(.annotationEditorLayer
1816
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1221
1817
  --alt-text-tooltip-bg:#1c1b22;
1222
1818
  --alt-text-tooltip-fg:#fbfbfe;
1223
1819
  --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
@@ -1225,8 +1821,8 @@
1225
1821
 
1226
1822
  @media screen and (forced-colors: active){
1227
1823
 
1228
- .annotationEditorLayer
1229
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1824
+ :is(.annotationEditorLayer
1825
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1230
1826
  --alt-text-tooltip-bg:Canvas;
1231
1827
  --alt-text-tooltip-fg:CanvasText;
1232
1828
  --alt-text-tooltip-border:CanvasText;
@@ -1302,9 +1898,13 @@
1302
1898
  }
1303
1899
 
1304
1900
  .annotationEditorLayer .stampEditor canvas{
1305
- width:100%;
1306
- height:100%;
1307
- }
1901
+ position:absolute;
1902
+ width:100%;
1903
+ height:100%;
1904
+ margin:0;
1905
+ top:0;
1906
+ left:0;
1907
+ }
1308
1908
 
1309
1909
  .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers{
1310
1910
  position:absolute;
@@ -1548,180 +2148,60 @@
1548
2148
  inset-block-start:0;
1549
2149
  }
1550
2150
 
1551
- .annotationEditorLayer
1552
- :is(
1553
- [data-main-rotation="0"] [data-editor-rotation="180"],
1554
- [data-main-rotation="90"] [data-editor-rotation="90"],
1555
- [data-main-rotation="180"] [data-editor-rotation="0"],
1556
- [data-main-rotation="270"] [data-editor-rotation="270"]
1557
- ) .editToolbar{
1558
- rotate:180deg;
1559
- inset-inline-end:100%;
1560
- inset-block-start:calc(0pc - var(--editor-toolbar-vert-offset));
1561
- }
1562
-
1563
- .annotationEditorLayer
1564
- :is(
1565
- [data-main-rotation="0"] [data-editor-rotation="270"],
1566
- [data-main-rotation="90"] [data-editor-rotation="180"],
1567
- [data-main-rotation="180"] [data-editor-rotation="90"],
1568
- [data-main-rotation="270"] [data-editor-rotation="0"]
1569
- ) .editToolbar{
1570
- rotate:90deg;
1571
- }
1572
-
1573
- [dir="ltr"] .annotationEditorLayer
1574
- :is(
1575
- [data-main-rotation="0"] [data-editor-rotation="270"],
1576
- [data-main-rotation="90"] [data-editor-rotation="180"],
1577
- [data-main-rotation="180"] [data-editor-rotation="90"],
1578
- [data-main-rotation="270"] [data-editor-rotation="0"]
1579
- ) .editToolbar{
1580
- inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
1581
- inset-block-start:100%;
1582
- }
1583
-
1584
- [dir="rtl"] .annotationEditorLayer
1585
- :is(
1586
- [data-main-rotation="0"] [data-editor-rotation="270"],
1587
- [data-main-rotation="90"] [data-editor-rotation="180"],
1588
- [data-main-rotation="180"] [data-editor-rotation="90"],
1589
- [data-main-rotation="270"] [data-editor-rotation="0"]
1590
- ) .editToolbar{
1591
- inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset));
1592
- inset-block-start:0;
1593
- }
1594
-
1595
- #altTextDialog{
1596
- --dialog-bg-color:white;
1597
- --dialog-border-color:white;
1598
- --dialog-shadow:0 2px 14px 0 rgb(58 57 68 / 0.2);
1599
- --text-primary-color:#15141a;
1600
- --text-secondary-color:#5b5b66;
1601
- --hover-filter:brightness(0.9);
1602
- --focus-ring-color:#0060df;
1603
- --focus-ring-outline:2px solid var(--focus-ring-color);
1604
-
1605
- --textarea-border-color:#8f8f9d;
1606
- --textarea-bg-color:white;
1607
- --textarea-fg-color:var(--text-secondary-color);
1608
-
1609
- --radio-bg-color:#f0f0f4;
1610
- --radio-checked-bg-color:#fbfbfe;
1611
- --radio-border-color:#8f8f9d;
1612
- --radio-checked-border-color:#0060df;
1613
-
1614
- --button-cancel-bg-color:#f0f0f4;
1615
- --button-cancel-fg-color:var(--text-primary-color);
1616
- --button-cancel-border-color:var(--button-cancel-bg-color);
1617
- --button-cancel-hover-bg-color:var(--button-cancel-bg-color);
1618
- --button-cancel-hover-fg-color:var(--button-cancel-fg-color);
1619
- --button-cancel-hover-border-color:var(--button-cancel-hover-bg-color);
1620
-
1621
- --button-save-bg-color:#0060df;
1622
- --button-save-fg-color:#fbfbfe;
1623
- --button-save-hover-bg-color:var(--button-save-bg-color);
1624
- --button-save-hover-fg-color:var(--button-save-fg-color);
1625
- --button-save-hover-border-color:var(--button-save-hover-bg-color);
1626
-
1627
- font:message-box;
1628
- font-size:13px;
1629
- font-weight:400;
1630
- line-height:150%;
1631
- border-radius:4px;
1632
- padding:12px 16px;
1633
- border:1px solid var(--dialog-border-color);
1634
- background:var(--dialog-bg-color);
1635
- color:var(--text-primary-color);
1636
- box-shadow:var(--dialog-shadow);
1637
- }
1638
-
1639
- @media (prefers-color-scheme: dark){
1640
-
1641
- :where(html:not(.is-light)) #altTextDialog{
1642
- --dialog-bg-color:#1c1b22;
1643
- --dialog-border-color:#1c1b22;
1644
- --dialog-shadow:0 2px 14px 0 #15141a;
1645
- --text-primary-color:#fbfbfe;
1646
- --text-secondary-color:#cfcfd8;
1647
- --focus-ring-color:#0df;
1648
- --hover-filter:brightness(1.4);
1649
-
1650
- --textarea-bg-color:#42414d;
1651
-
1652
- --radio-bg-color:#2b2a33;
1653
- --radio-checked-bg-color:#15141a;
1654
- --radio-checked-border-color:#0df;
1655
-
1656
- --button-cancel-bg-color:#2b2a33;
1657
- --button-save-bg-color:#0df;
1658
- --button-save-fg-color:#15141a;
1659
- }
1660
- }
1661
-
1662
- :where(html.is-dark) #altTextDialog{
1663
- --dialog-bg-color:#1c1b22;
1664
- --dialog-border-color:#1c1b22;
1665
- --dialog-shadow:0 2px 14px 0 #15141a;
1666
- --text-primary-color:#fbfbfe;
1667
- --text-secondary-color:#cfcfd8;
1668
- --focus-ring-color:#0df;
1669
- --hover-filter:brightness(1.4);
1670
-
1671
- --textarea-bg-color:#42414d;
1672
-
1673
- --radio-bg-color:#2b2a33;
1674
- --radio-checked-bg-color:#15141a;
1675
- --radio-checked-border-color:#0df;
1676
-
1677
- --button-cancel-bg-color:#2b2a33;
1678
- --button-save-bg-color:#0df;
1679
- --button-save-fg-color:#15141a;
1680
- }
1681
-
1682
- @media screen and (forced-colors: active){
1683
-
1684
- #altTextDialog{
1685
- --dialog-bg-color:Canvas;
1686
- --dialog-border-color:CanvasText;
1687
- --dialog-shadow:none;
1688
- --text-primary-color:CanvasText;
1689
- --text-secondary-color:CanvasText;
1690
- --hover-filter:none;
1691
- --focus-ring-color:ButtonBorder;
1692
-
1693
- --textarea-border-color:ButtonBorder;
1694
- --textarea-bg-color:Field;
1695
- --textarea-fg-color:ButtonText;
1696
-
1697
- --radio-bg-color:ButtonFace;
1698
- --radio-checked-bg-color:ButtonFace;
1699
- --radio-border-color:ButtonText;
1700
- --radio-checked-border-color:ButtonText;
2151
+ .annotationEditorLayer
2152
+ :is(
2153
+ [data-main-rotation="0"] [data-editor-rotation="180"],
2154
+ [data-main-rotation="90"] [data-editor-rotation="90"],
2155
+ [data-main-rotation="180"] [data-editor-rotation="0"],
2156
+ [data-main-rotation="270"] [data-editor-rotation="270"]
2157
+ ) .editToolbar{
2158
+ rotate:180deg;
2159
+ inset-inline-end:100%;
2160
+ inset-block-start:calc(0pc - var(--editor-toolbar-vert-offset));
2161
+ }
1701
2162
 
1702
- --button-cancel-bg-color:ButtonFace;
1703
- --button-cancel-fg-color:ButtonText;
1704
- --button-cancel-border-color:ButtonText;
1705
- --button-cancel-hover-bg-color:AccentColor;
1706
- --button-cancel-hover-fg-color:AccentColorText;
2163
+ .annotationEditorLayer
2164
+ :is(
2165
+ [data-main-rotation="0"] [data-editor-rotation="270"],
2166
+ [data-main-rotation="90"] [data-editor-rotation="180"],
2167
+ [data-main-rotation="180"] [data-editor-rotation="90"],
2168
+ [data-main-rotation="270"] [data-editor-rotation="0"]
2169
+ ) .editToolbar{
2170
+ rotate:90deg;
2171
+ }
1707
2172
 
1708
- --button-save-bg-color:ButtonText;
1709
- --button-save-fg-color:ButtonFace;
1710
- --button-save-hover-bg-color:AccentColor;
1711
- --button-save-hover-fg-color:AccentColorText;
1712
- }
1713
- }
2173
+ [dir="ltr"] .annotationEditorLayer
2174
+ :is(
2175
+ [data-main-rotation="0"] [data-editor-rotation="270"],
2176
+ [data-main-rotation="90"] [data-editor-rotation="180"],
2177
+ [data-main-rotation="180"] [data-editor-rotation="90"],
2178
+ [data-main-rotation="270"] [data-editor-rotation="0"]
2179
+ ) .editToolbar{
2180
+ inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
2181
+ inset-block-start:100%;
2182
+ }
2183
+
2184
+ [dir="rtl"] .annotationEditorLayer
2185
+ :is(
2186
+ [data-main-rotation="0"] [data-editor-rotation="270"],
2187
+ [data-main-rotation="90"] [data-editor-rotation="180"],
2188
+ [data-main-rotation="180"] [data-editor-rotation="90"],
2189
+ [data-main-rotation="270"] [data-editor-rotation="0"]
2190
+ ) .editToolbar{
2191
+ inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset));
2192
+ inset-block-start:0;
2193
+ }
1714
2194
 
1715
- #altTextDialog::backdrop{
2195
+ .dialog.altText::backdrop{
1716
2196
  -webkit-mask:url(#alttext-manager-mask);
1717
2197
  mask:url(#alttext-manager-mask);
1718
2198
  }
1719
2199
 
1720
- #altTextDialog.positioned{
2200
+ .dialog.altText.positioned{
1721
2201
  margin:0;
1722
2202
  }
1723
2203
 
1724
- #altTextDialog #altTextContainer{
2204
+ .dialog.altText #altTextContainer{
1725
2205
  width:300px;
1726
2206
  height:-moz-fit-content;
1727
2207
  height:fit-content;
@@ -1731,61 +2211,7 @@
1731
2211
  gap:16px;
1732
2212
  }
1733
2213
 
1734
- #altTextDialog #altTextContainer *:focus-visible{
1735
- outline:var(--focus-ring-outline);
1736
- outline-offset:2px;
1737
- }
1738
-
1739
- #altTextDialog #altTextContainer .radio{
1740
- display:flex;
1741
- flex-direction:column;
1742
- align-items:flex-start;
1743
- gap:4px;
1744
- }
1745
-
1746
- #altTextDialog #altTextContainer .radio .radioButton{
1747
- display:flex;
1748
- gap:8px;
1749
- align-self:stretch;
1750
- align-items:center;
1751
- }
1752
-
1753
- #altTextDialog #altTextContainer .radio .radioButton input{
1754
- -webkit-appearance:none;
1755
- -moz-appearance:none;
1756
- appearance:none;
1757
- box-sizing:border-box;
1758
- width:16px;
1759
- height:16px;
1760
- border-radius:50%;
1761
- background-color:var(--radio-bg-color);
1762
- border:1px solid var(--radio-border-color);
1763
- }
1764
-
1765
- #altTextDialog #altTextContainer .radio .radioButton input:hover{
1766
- filter:var(--hover-filter);
1767
- }
1768
-
1769
- #altTextDialog #altTextContainer .radio .radioButton input:checked{
1770
- background-color:var(--radio-checked-bg-color);
1771
- border:4px solid var(--radio-checked-border-color);
1772
- }
1773
-
1774
- #altTextDialog #altTextContainer .radio .radioLabel{
1775
- display:flex;
1776
- padding-inline-start:24px;
1777
- align-items:flex-start;
1778
- gap:10px;
1779
- align-self:stretch;
1780
- }
1781
-
1782
- #altTextDialog #altTextContainer .radio .radioLabel span{
1783
- flex:1 0 0;
1784
- font-size:11px;
1785
- color:var(--text-secondary-color);
1786
- }
1787
-
1788
- #altTextDialog #altTextContainer #overallDescription{
2214
+ .dialog.altText #altTextContainer #overallDescription{
1789
2215
  display:flex;
1790
2216
  flex-direction:column;
1791
2217
  align-items:flex-start;
@@ -1793,53 +2219,34 @@
1793
2219
  align-self:stretch;
1794
2220
  }
1795
2221
 
1796
- #altTextDialog #altTextContainer #overallDescription span{
2222
+ .dialog.altText #altTextContainer #overallDescription span{
1797
2223
  align-self:stretch;
1798
2224
  }
1799
2225
 
1800
- #altTextDialog #altTextContainer #overallDescription .title{
2226
+ .dialog.altText #altTextContainer #overallDescription .title{
1801
2227
  font-size:13px;
1802
2228
  font-style:normal;
1803
2229
  font-weight:590;
1804
2230
  }
1805
2231
 
1806
- #altTextDialog #altTextContainer #addDescription{
2232
+ .dialog.altText #altTextContainer #addDescription{
1807
2233
  display:flex;
1808
2234
  flex-direction:column;
1809
2235
  align-items:stretch;
1810
2236
  gap:8px;
1811
2237
  }
1812
2238
 
1813
- #altTextDialog #altTextContainer #addDescription .descriptionArea{
2239
+ .dialog.altText #altTextContainer #addDescription .descriptionArea{
1814
2240
  flex:1;
1815
2241
  padding-inline:24px 10px;
1816
2242
  }
1817
2243
 
1818
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea{
1819
- font:inherit;
2244
+ .dialog.altText #altTextContainer #addDescription .descriptionArea textarea{
1820
2245
  width:100%;
1821
2246
  min-height:75px;
1822
- padding:8px;
1823
- resize:none;
1824
- margin:0;
1825
- box-sizing:border-box;
1826
- border-radius:4px;
1827
- border:1px solid var(--textarea-border-color);
1828
- background:var(--textarea-bg-color);
1829
- color:var(--textarea-fg-color);
1830
2247
  }
1831
2248
 
1832
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea:focus{
1833
- outline-offset:0;
1834
- border-color:transparent;
1835
- }
1836
-
1837
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea:disabled{
1838
- pointer-events:none;
1839
- opacity:0.4;
1840
- }
1841
-
1842
- #altTextDialog #altTextContainer #buttons{
2249
+ .dialog.altText #altTextContainer #buttons{
1843
2250
  display:flex;
1844
2251
  justify-content:flex-end;
1845
2252
  align-items:flex-start;
@@ -1847,46 +2254,6 @@
1847
2254
  align-self:stretch;
1848
2255
  }
1849
2256
 
1850
- #altTextDialog #altTextContainer #buttons button{
1851
- border-radius:4px;
1852
- border:1px solid;
1853
- font:menu;
1854
- font-weight:600;
1855
- padding:4px 16px;
1856
- width:auto;
1857
- height:32px;
1858
- }
1859
-
1860
- #altTextDialog #altTextContainer #buttons button:hover{
1861
- cursor:pointer;
1862
- filter:var(--hover-filter);
1863
- }
1864
-
1865
- #altTextDialog #altTextContainer #buttons button#altTextCancel{
1866
- color:var(--button-cancel-fg-color);
1867
- background-color:var(--button-cancel-bg-color);
1868
- border-color:var(--button-cancel-border-color);
1869
- }
1870
-
1871
- #altTextDialog #altTextContainer #buttons button#altTextCancel:hover{
1872
- color:var(--button-cancel-hover-fg-color);
1873
- background-color:var(--button-cancel-hover-bg-color);
1874
- border-color:var(--button-cancel-hover-border-color);
1875
- }
1876
-
1877
- #altTextDialog #altTextContainer #buttons button#altTextSave{
1878
- color:var(--button-save-hover-fg-color);
1879
- background-color:var(--button-save-hover-bg-color);
1880
- border-color:var(--button-save-hover-border-color);
1881
- opacity:1;
1882
- }
1883
-
1884
- #altTextDialog #altTextContainer #buttons button#altTextSave:hover{
1885
- color:var(--button-save-hover-fg-color);
1886
- background-color:var(--button-save-hover-bg-color);
1887
- border-color:var(--button-save-hover-border-color);
1888
- }
1889
-
1890
2257
  .colorPicker{
1891
2258
  --hover-outline-color:#0250bb;
1892
2259
  --selected-outline-color:#0060df;
@@ -1931,19 +2298,19 @@
1931
2298
  border:none;
1932
2299
  }
1933
2300
 
1934
- .annotationEditorLayer[data-main-rotation="0"] .highlightEditor > .editToolbar{
2301
+ .annotationEditorLayer[data-main-rotation="0"] .highlightEditor:not(.free) > .editToolbar{
1935
2302
  rotate:0deg;
1936
2303
  }
1937
2304
 
1938
- .annotationEditorLayer[data-main-rotation="90"] .highlightEditor > .editToolbar{
2305
+ .annotationEditorLayer[data-main-rotation="90"] .highlightEditor:not(.free) > .editToolbar{
1939
2306
  rotate:270deg;
1940
2307
  }
1941
2308
 
1942
- .annotationEditorLayer[data-main-rotation="180"] .highlightEditor > .editToolbar{
2309
+ .annotationEditorLayer[data-main-rotation="180"] .highlightEditor:not(.free) > .editToolbar{
1943
2310
  rotate:180deg;
1944
2311
  }
1945
2312
 
1946
- .annotationEditorLayer[data-main-rotation="270"] .highlightEditor > .editToolbar{
2313
+ .annotationEditorLayer[data-main-rotation="270"] .highlightEditor:not(.free) > .editToolbar{
1947
2314
  rotate:90deg;
1948
2315
  }
1949
2316
 
@@ -1951,16 +2318,19 @@
1951
2318
  position:absolute;
1952
2319
  background:transparent;
1953
2320
  z-index:1;
1954
- transform-origin:0 0;
1955
2321
  cursor:auto;
1956
2322
  max-width:100%;
1957
2323
  max-height:100%;
1958
2324
  border:none;
1959
2325
  outline:none;
1960
2326
  pointer-events:none;
1961
- transform:none;
2327
+ transform-origin:0 0;
1962
2328
  }
1963
2329
 
2330
+ .annotationEditorLayer .highlightEditor:not(.free){
2331
+ transform:none;
2332
+ }
2333
+
1964
2334
  .annotationEditorLayer .highlightEditor .internal{
1965
2335
  position:absolute;
1966
2336
  top:0;
@@ -2016,6 +2386,10 @@
2016
2386
  background-color:var(--editor-toolbar-hover-bg-color);
2017
2387
  }
2018
2388
 
2389
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden))::after{
2390
+ scale:-1;
2391
+ }
2392
+
2019
2393
  .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown{
2020
2394
  position:absolute;
2021
2395
  display:flex;
@@ -2067,23 +2441,24 @@
2067
2441
  height:auto;
2068
2442
  padding-inline:10px;
2069
2443
  padding-block:10px 16px;
2444
+ gap:16px;
2070
2445
  display:flex;
2071
2446
  flex-direction:column;
2072
2447
  box-sizing:border-box;
2073
2448
  }
2074
2449
 
2450
+ #highlightParamsToolbarContainer .editorParamsLabel{
2451
+ width:-moz-fit-content;
2452
+ width:fit-content;
2453
+ inset-inline-start:0;
2454
+ }
2455
+
2075
2456
  #highlightParamsToolbarContainer .colorPicker{
2076
2457
  display:flex;
2077
2458
  flex-direction:column;
2078
2459
  gap:8px;
2079
2460
  }
2080
2461
 
2081
- #highlightParamsToolbarContainer .colorPicker #highlightColorPickerLabel{
2082
- width:-moz-fit-content;
2083
- width:fit-content;
2084
- inset-inline-start:0;
2085
- }
2086
-
2087
2462
  #highlightParamsToolbarContainer .colorPicker .dropdown{
2088
2463
  display:flex;
2089
2464
  justify-content:space-between;
@@ -2121,6 +2496,112 @@
2121
2496
  outline:2px solid var(--hover-outline-color);
2122
2497
  }
2123
2498
 
2499
+ #highlightParamsToolbarContainer #editorHighlightThickness{
2500
+ display:flex;
2501
+ flex-direction:column;
2502
+ align-items:center;
2503
+ gap:4px;
2504
+ align-self:stretch;
2505
+ }
2506
+
2507
+ #highlightParamsToolbarContainer #editorHighlightThickness .editorParamsLabel{
2508
+ width:100%;
2509
+ height:auto;
2510
+ align-self:stretch;
2511
+ }
2512
+
2513
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2514
+ display:flex;
2515
+ justify-content:space-between;
2516
+ align-items:center;
2517
+ align-self:stretch;
2518
+
2519
+ --example-color:#bfbfc9;
2520
+ }
2521
+
2522
+ @media (prefers-color-scheme: dark){
2523
+
2524
+ :where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2525
+ --example-color:#80808e;
2526
+ }
2527
+ }
2528
+
2529
+ :where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2530
+ --example-color:#80808e;
2531
+ }
2532
+
2533
+ @media screen and (forced-colors: active){
2534
+
2535
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2536
+ --example-color:CanvasText;
2537
+ }
2538
+ }
2539
+
2540
+ :is(#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker > .editorParamsSlider[disabled]){
2541
+ opacity:0.4;
2542
+ }
2543
+
2544
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::before,
2545
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{
2546
+ content:"";
2547
+ width:8px;
2548
+ aspect-ratio:1;
2549
+ display:block;
2550
+ border-radius:100%;
2551
+ background-color:var(--example-color);
2552
+ }
2553
+
2554
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{
2555
+ width:24px;
2556
+ }
2557
+
2558
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker .editorParamsSlider{
2559
+ width:unset;
2560
+ height:14px;
2561
+ }
2562
+
2563
+ #highlightParamsToolbarContainer #editorHighlightVisibility{
2564
+ display:flex;
2565
+ flex-direction:column;
2566
+ align-items:flex-start;
2567
+ gap:8px;
2568
+ align-self:stretch;
2569
+ }
2570
+
2571
+ #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2572
+ --divider-color:#d7d7db;
2573
+
2574
+ margin-block:4px;
2575
+ width:100%;
2576
+ height:1px;
2577
+ background-color:var(--divider-color);
2578
+ }
2579
+
2580
+ @media (prefers-color-scheme: dark){
2581
+
2582
+ :where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2583
+ --divider-color:#8f8f9d;
2584
+ }
2585
+ }
2586
+
2587
+ :where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2588
+ --divider-color:#8f8f9d;
2589
+ }
2590
+
2591
+ @media screen and (forced-colors: active){
2592
+
2593
+ #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2594
+ --divider-color:CanvasText;
2595
+ }
2596
+ }
2597
+
2598
+ #highlightParamsToolbarContainer #editorHighlightVisibility .toggler{
2599
+ display:flex;
2600
+ justify-content:space-between;
2601
+ align-items:center;
2602
+ align-self:stretch;
2603
+ }
2604
+
2124
2605
  :root{
2125
2606
  --viewer-container-height:0;
2126
2607
  --pdfViewer-padding-bottom:0;
@@ -2149,7 +2630,8 @@
2149
2630
  transform:rotate(270deg) translateX(-100%);
2150
2631
  }
2151
2632
 
2152
- #hiddenCopyElement{
2633
+ #hiddenCopyElement,
2634
+ .hiddenCanvasElement{
2153
2635
  position:absolute;
2154
2636
  top:0;
2155
2637
  left:0;
@@ -2162,14 +2644,45 @@
2162
2644
  --scale-factor:1;
2163
2645
 
2164
2646
  padding-bottom:var(--pdfViewer-padding-bottom);
2647
+
2648
+ --hcm-highlight-filter:none;
2649
+ --hcm-highlight-selected-filter:none;
2165
2650
  }
2166
2651
 
2167
- .pdfViewer .canvasWrapper{
2168
- overflow:hidden;
2169
- width:100%;
2170
- height:100%;
2171
- z-index:1;
2652
+ @media screen and (forced-colors: active){
2653
+
2654
+ .pdfViewer{
2655
+ --hcm-highlight-filter:invert(100%);
2172
2656
  }
2657
+ }
2658
+
2659
+ .pdfViewer.copyAll{
2660
+ cursor:wait;
2661
+ }
2662
+
2663
+ .pdfViewer .canvasWrapper{
2664
+ overflow:hidden;
2665
+ width:100%;
2666
+ height:100%;
2667
+ }
2668
+
2669
+ .pdfViewer .canvasWrapper canvas{
2670
+ margin:0;
2671
+ display:block;
2672
+ }
2673
+
2674
+ .pdfViewer .canvasWrapper canvas[hidden]{
2675
+ display:none;
2676
+ }
2677
+
2678
+ .pdfViewer .canvasWrapper canvas[zooming]{
2679
+ width:100%;
2680
+ height:100%;
2681
+ }
2682
+
2683
+ .pdfViewer .canvasWrapper canvas .structTree{
2684
+ contain:strict;
2685
+ }
2173
2686
 
2174
2687
  .pdfViewer .page{
2175
2688
  direction:ltr;
@@ -2232,24 +2745,6 @@
2232
2745
  margin-inline:5px;
2233
2746
  }
2234
2747
 
2235
- .pdfViewer .page canvas{
2236
- margin:0;
2237
- display:block;
2238
- }
2239
-
2240
- .pdfViewer .page canvas .structTree{
2241
- contain:strict;
2242
- }
2243
-
2244
- .pdfViewer .page canvas[hidden]{
2245
- display:none;
2246
- }
2247
-
2248
- .pdfViewer .page canvas[zooming]{
2249
- width:100%;
2250
- height:100%;
2251
- }
2252
-
2253
2748
  .pdfViewer .page.loadingIcon::after{
2254
2749
  position:absolute;
2255
2750
  top:0;
@@ -2529,22 +3024,20 @@ body{
2529
3024
  scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color);
2530
3025
  }
2531
3026
 
3027
+ body.wait::before{
3028
+ content:"";
3029
+ position:fixed;
3030
+ width:100%;
3031
+ height:100%;
3032
+ z-index:100000;
3033
+ cursor:wait;
3034
+ }
3035
+
2532
3036
  .hidden,
2533
3037
  [hidden]{
2534
3038
  display:none !important;
2535
3039
  }
2536
3040
 
2537
- #viewerContainer.pdfPresentationMode:-webkit-full-screen{
2538
- top:0;
2539
- background-color:rgb(0 0 0);
2540
- width:100%;
2541
- height:100%;
2542
- overflow:hidden;
2543
- cursor:none;
2544
- -webkit-user-select:none;
2545
- user-select:none;
2546
- }
2547
-
2548
3041
  #viewerContainer.pdfPresentationMode:fullscreen{
2549
3042
  top:0;
2550
3043
  background-color:rgb(0 0 0);
@@ -2557,18 +3050,10 @@ body{
2557
3050
  user-select:none;
2558
3051
  }
2559
3052
 
2560
- .pdfPresentationMode:-webkit-full-screen section:not([data-internal-link]){
2561
- pointer-events:none;
2562
- }
2563
-
2564
3053
  .pdfPresentationMode:fullscreen section:not([data-internal-link]){
2565
3054
  pointer-events:none;
2566
3055
  }
2567
3056
 
2568
- .pdfPresentationMode:-webkit-full-screen .textLayer span{
2569
- cursor:none;
2570
- }
2571
-
2572
3057
  .pdfPresentationMode:fullscreen .textLayer span{
2573
3058
  cursor:none;
2574
3059
  }
@@ -2826,6 +3311,7 @@ body{
2826
3311
  }
2827
3312
 
2828
3313
  .loadingInput:has(> #findInput[data-status="pending"])::after{
3314
+ display:block;
2829
3315
  visibility:visible;
2830
3316
  }
2831
3317
 
@@ -3475,6 +3961,7 @@ a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{
3475
3961
  }
3476
3962
 
3477
3963
  .loadingInput:has(> #pageNumber.loading)::after{
3964
+ display:block;
3478
3965
  visibility:visible;
3479
3966
 
3480
3967
  transition-property:visibility;
@@ -3484,6 +3971,7 @@ a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{
3484
3971
  .loadingInput::after{
3485
3972
  position:absolute;
3486
3973
  visibility:hidden;
3974
+ display:none;
3487
3975
  top:calc(50% - 8px);
3488
3976
  width:16px;
3489
3977
  height:16px;