@4tw/vue-cli-plugin-pdfjs-viewer 1.5.0 → 1.6.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 +5 -1
  2. package/assets/build/pdf.mjs +18487 -16960
  3. package/assets/build/pdf.mjs.map +1 -1
  4. package/assets/build/pdf.sandbox.mjs +8 -7
  5. package/assets/build/pdf.sandbox.mjs.map +1 -1
  6. package/assets/build/pdf.worker.mjs +2072 -2954
  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 +20 -2
  71. package/assets/web/viewer.css +912 -432
  72. package/assets/web/viewer.html +24 -13
  73. package/assets/web/viewer.mjs +12763 -13370
  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;
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);
853
1404
  }
854
1405
 
855
- @media (-webkit-min-device-pixel-ratio: 1.1), (min-resolution: 1.1dppx){
1406
+ .textLayer.highlighting:not(.free) span{
1407
+ cursor:var(--editorHighlight-editing-cursor);
1408
+ }
1409
+
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,7 +1446,6 @@
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
 
893
1451
  .annotationEditorLayer.waiting{
@@ -926,6 +1484,10 @@
926
1484
  cursor:move;
927
1485
  }
928
1486
 
1487
+ .annotationEditorLayer .moving:is(.freeTextEditor, .inkEditor, .stampEditor){
1488
+ touch-action:none;
1489
+ }
1490
+
929
1491
  .annotationEditorLayer .selectedEditor:is(.freeTextEditor, .inkEditor, .stampEditor){
930
1492
  border:var(--focus-outline);
931
1493
  outline:var(--focus-outline-around);
@@ -951,10 +1513,11 @@
951
1513
  border:var(--focus-outline-around);
952
1514
  }
953
1515
 
954
- .annotationEditorLayer
955
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1516
+ :is(.annotationEditorLayer
1517
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
956
1518
  --editor-toolbar-delete-image:url(images/editor-toolbar-delete.svg);
957
1519
  --editor-toolbar-bg-color:#f0f0f4;
1520
+ --editor-toolbar-highlight-image:url(images/toolbarButton-editorHighlight.svg);
958
1521
  --editor-toolbar-fg-color:#2e2e56;
959
1522
  --editor-toolbar-border-color:#8f8f9d;
960
1523
  --editor-toolbar-hover-border-color:var(--editor-toolbar-border-color);
@@ -991,8 +1554,8 @@
991
1554
 
992
1555
  @media (prefers-color-scheme: dark){
993
1556
 
994
- :where(html:not(.is-light)) .annotationEditorLayer
995
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1557
+ :where(html:not(.is-light)) :is(.annotationEditorLayer
1558
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
996
1559
  --editor-toolbar-bg-color:#2b2a33;
997
1560
  --editor-toolbar-fg-color:#fbfbfe;
998
1561
  --editor-toolbar-hover-bg-color:#52525e;
@@ -1000,8 +1563,8 @@
1000
1563
  }
1001
1564
  }
1002
1565
 
1003
- :where(html.is-dark) .annotationEditorLayer
1004
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1566
+ :where(html.is-dark) :is(.annotationEditorLayer
1567
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1005
1568
  --editor-toolbar-bg-color:#2b2a33;
1006
1569
  --editor-toolbar-fg-color:#fbfbfe;
1007
1570
  --editor-toolbar-hover-bg-color:#52525e;
@@ -1010,8 +1573,8 @@
1010
1573
 
1011
1574
  @media screen and (forced-colors: active){
1012
1575
 
1013
- .annotationEditorLayer
1014
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1576
+ :is(.annotationEditorLayer
1577
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1015
1578
  --editor-toolbar-bg-color:ButtonFace;
1016
1579
  --editor-toolbar-fg-color:ButtonText;
1017
1580
  --editor-toolbar-border-color:ButtonText;
@@ -1024,28 +1587,28 @@
1024
1587
  }
1025
1588
  }
1026
1589
 
1027
- .annotationEditorLayer
1028
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar.hidden{
1590
+ :is(.annotationEditorLayer
1591
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar.hidden{
1029
1592
  display:none;
1030
1593
  }
1031
1594
 
1032
- .annotationEditorLayer
1033
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar:has(:focus-visible){
1595
+ :is(.annotationEditorLayer
1596
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar:has(:focus-visible){
1034
1597
  border-color:transparent;
1035
1598
  }
1036
1599
 
1037
- [dir="ltr"] .annotationEditorLayer
1038
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1600
+ [dir="ltr"] :is(.annotationEditorLayer
1601
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1039
1602
  transform-origin:100% 0;
1040
1603
  }
1041
1604
 
1042
- [dir="rtl"] .annotationEditorLayer
1043
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar{
1605
+ [dir="rtl"] :is(.annotationEditorLayer
1606
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1044
1607
  transform-origin:0 0;
1045
1608
  }
1046
1609
 
1047
- .annotationEditorLayer
1048
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons{
1610
+ :is(.annotationEditorLayer
1611
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons{
1049
1612
  display:flex;
1050
1613
  justify-content:center;
1051
1614
  align-items:center;
@@ -1053,8 +1616,8 @@
1053
1616
  height:100%;
1054
1617
  }
1055
1618
 
1056
- .annotationEditorLayer
1057
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .divider{
1619
+ :is(.annotationEditorLayer
1620
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .divider{
1058
1621
  width:1px;
1059
1622
  height:calc(
1060
1623
  2 * var(--editor-toolbar-padding) + var(--editor-toolbar-height)
@@ -1064,13 +1627,38 @@
1064
1627
  margin-inline:2px;
1065
1628
  }
1066
1629
 
1067
- .annotationEditorLayer
1068
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .delete{
1630
+ :is(.annotationEditorLayer
1631
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton{
1069
1632
  width:var(--editor-toolbar-height);
1070
1633
  }
1071
1634
 
1072
- .annotationEditorLayer
1073
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .delete::before{
1635
+ :is(.annotationEditorLayer
1636
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton::before{
1637
+ content:"";
1638
+ -webkit-mask-image:var(--editor-toolbar-highlight-image);
1639
+ mask-image:var(--editor-toolbar-highlight-image);
1640
+ -webkit-mask-repeat:no-repeat;
1641
+ mask-repeat:no-repeat;
1642
+ -webkit-mask-position:center;
1643
+ mask-position:center;
1644
+ display:inline-block;
1645
+ background-color:var(--editor-toolbar-fg-color);
1646
+ width:100%;
1647
+ height:100%;
1648
+ }
1649
+
1650
+ :is(.annotationEditorLayer
1651
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton:hover::before{
1652
+ background-color:var(--editor-toolbar-hover-fg-color);
1653
+ }
1654
+
1655
+ :is(.annotationEditorLayer
1656
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete{
1657
+ width:var(--editor-toolbar-height);
1658
+ }
1659
+
1660
+ :is(.annotationEditorLayer
1661
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete::before{
1074
1662
  content:"";
1075
1663
  -webkit-mask-image:var(--editor-toolbar-delete-image);
1076
1664
  mask-image:var(--editor-toolbar-delete-image);
@@ -1084,25 +1672,25 @@
1084
1672
  height:100%;
1085
1673
  }
1086
1674
 
1087
- .annotationEditorLayer
1088
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .delete:hover::before{
1675
+ :is(.annotationEditorLayer
1676
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete:hover::before{
1089
1677
  background-color:var(--editor-toolbar-hover-fg-color);
1090
1678
  }
1091
1679
 
1092
- .annotationEditorLayer
1093
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > *{
1680
+ :is(.annotationEditorLayer
1681
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > *{
1094
1682
  height:var(--editor-toolbar-height);
1095
1683
  }
1096
1684
 
1097
- .annotationEditorLayer
1098
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider){
1685
+ :is(.annotationEditorLayer
1686
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider){
1099
1687
  border:none;
1100
1688
  background-color:transparent;
1101
1689
  cursor:pointer;
1102
1690
  }
1103
1691
 
1104
- .annotationEditorLayer
1105
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider):hover{
1692
+ :is(.annotationEditorLayer
1693
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover{
1106
1694
  border-radius:2px;
1107
1695
  background-color:var(--editor-toolbar-hover-bg-color);
1108
1696
  color:var(--editor-toolbar-hover-fg-color);
@@ -1110,19 +1698,19 @@
1110
1698
  outline-offset:1px;
1111
1699
  }
1112
1700
 
1113
- .annotationEditorLayer
1114
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider):hover:active{
1701
+ :is(.annotationEditorLayer
1702
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover:active{
1115
1703
  outline:none;
1116
1704
  }
1117
1705
 
1118
- .annotationEditorLayer
1119
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons > :not(.divider):focus-visible{
1706
+ :is(.annotationEditorLayer
1707
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):focus-visible{
1120
1708
  border-radius:2px;
1121
1709
  outline:2px solid var(--editor-toolbar-focus-outline-color);
1122
1710
  }
1123
1711
 
1124
- .annotationEditorLayer
1125
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText{
1712
+ :is(.annotationEditorLayer
1713
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText{
1126
1714
  --alt-text-add-image:url(images/altText_add.svg);
1127
1715
  --alt-text-done-image:url(images/altText_done.svg);
1128
1716
 
@@ -1139,13 +1727,13 @@
1139
1727
  color:var(--editor-toolbar-fg-color);
1140
1728
  }
1141
1729
 
1142
- .annotationEditorLayer
1143
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText:disabled{
1730
+ :is(.annotationEditorLayer
1731
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:disabled{
1144
1732
  pointer-events:none;
1145
1733
  }
1146
1734
 
1147
- .annotationEditorLayer
1148
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText::before{
1735
+ :is(.annotationEditorLayer
1736
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText::before{
1149
1737
  content:"";
1150
1738
  -webkit-mask-image:var(--alt-text-add-image);
1151
1739
  mask-image:var(--alt-text-add-image);
@@ -1160,24 +1748,24 @@
1160
1748
  margin-inline-end:4px;
1161
1749
  }
1162
1750
 
1163
- .annotationEditorLayer
1164
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText:hover::before{
1751
+ :is(.annotationEditorLayer
1752
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:hover::before{
1165
1753
  background-color:var(--editor-toolbar-hover-fg-color);
1166
1754
  }
1167
1755
 
1168
- .annotationEditorLayer
1169
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText.done::before{
1756
+ :is(.annotationEditorLayer
1757
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText.done::before{
1170
1758
  -webkit-mask-image:var(--alt-text-done-image);
1171
1759
  mask-image:var(--alt-text-done-image);
1172
1760
  }
1173
1761
 
1174
- .annotationEditorLayer
1175
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip{
1762
+ :is(.annotationEditorLayer
1763
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip{
1176
1764
  display:none;
1177
1765
  }
1178
1766
 
1179
- .annotationEditorLayer
1180
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1767
+ :is(.annotationEditorLayer
1768
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1181
1769
  --alt-text-tooltip-bg:#f0f0f4;
1182
1770
  --alt-text-tooltip-fg:#15141a;
1183
1771
  --alt-text-tooltip-border:#8f8f9d;
@@ -1208,16 +1796,16 @@
1208
1796
 
1209
1797
  @media (prefers-color-scheme: dark){
1210
1798
 
1211
- :where(html:not(.is-light)) .annotationEditorLayer
1212
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1799
+ :where(html:not(.is-light)) :is(.annotationEditorLayer
1800
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1213
1801
  --alt-text-tooltip-bg:#1c1b22;
1214
1802
  --alt-text-tooltip-fg:#fbfbfe;
1215
1803
  --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
1216
1804
  }
1217
1805
  }
1218
1806
 
1219
- :where(html.is-dark) .annotationEditorLayer
1220
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1807
+ :where(html.is-dark) :is(.annotationEditorLayer
1808
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1221
1809
  --alt-text-tooltip-bg:#1c1b22;
1222
1810
  --alt-text-tooltip-fg:#fbfbfe;
1223
1811
  --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
@@ -1225,8 +1813,8 @@
1225
1813
 
1226
1814
  @media screen and (forced-colors: active){
1227
1815
 
1228
- .annotationEditorLayer
1229
- :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor) .editToolbar .buttons .altText .tooltip.show{
1816
+ :is(.annotationEditorLayer
1817
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1230
1818
  --alt-text-tooltip-bg:Canvas;
1231
1819
  --alt-text-tooltip-fg:CanvasText;
1232
1820
  --alt-text-tooltip-border:CanvasText;
@@ -1302,9 +1890,13 @@
1302
1890
  }
1303
1891
 
1304
1892
  .annotationEditorLayer .stampEditor canvas{
1305
- width:100%;
1306
- height:100%;
1307
- }
1893
+ position:absolute;
1894
+ width:100%;
1895
+ height:100%;
1896
+ margin:0;
1897
+ top:0;
1898
+ left:0;
1899
+ }
1308
1900
 
1309
1901
  .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers{
1310
1902
  position:absolute;
@@ -1548,180 +2140,60 @@
1548
2140
  inset-block-start:0;
1549
2141
  }
1550
2142
 
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;
2143
+ .annotationEditorLayer
2144
+ :is(
2145
+ [data-main-rotation="0"] [data-editor-rotation="180"],
2146
+ [data-main-rotation="90"] [data-editor-rotation="90"],
2147
+ [data-main-rotation="180"] [data-editor-rotation="0"],
2148
+ [data-main-rotation="270"] [data-editor-rotation="270"]
2149
+ ) .editToolbar{
2150
+ rotate:180deg;
2151
+ inset-inline-end:100%;
2152
+ inset-block-start:calc(0pc - var(--editor-toolbar-vert-offset));
2153
+ }
1701
2154
 
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;
2155
+ .annotationEditorLayer
2156
+ :is(
2157
+ [data-main-rotation="0"] [data-editor-rotation="270"],
2158
+ [data-main-rotation="90"] [data-editor-rotation="180"],
2159
+ [data-main-rotation="180"] [data-editor-rotation="90"],
2160
+ [data-main-rotation="270"] [data-editor-rotation="0"]
2161
+ ) .editToolbar{
2162
+ rotate:90deg;
2163
+ }
1707
2164
 
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
- }
2165
+ [dir="ltr"] .annotationEditorLayer
2166
+ :is(
2167
+ [data-main-rotation="0"] [data-editor-rotation="270"],
2168
+ [data-main-rotation="90"] [data-editor-rotation="180"],
2169
+ [data-main-rotation="180"] [data-editor-rotation="90"],
2170
+ [data-main-rotation="270"] [data-editor-rotation="0"]
2171
+ ) .editToolbar{
2172
+ inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
2173
+ inset-block-start:100%;
2174
+ }
2175
+
2176
+ [dir="rtl"] .annotationEditorLayer
2177
+ :is(
2178
+ [data-main-rotation="0"] [data-editor-rotation="270"],
2179
+ [data-main-rotation="90"] [data-editor-rotation="180"],
2180
+ [data-main-rotation="180"] [data-editor-rotation="90"],
2181
+ [data-main-rotation="270"] [data-editor-rotation="0"]
2182
+ ) .editToolbar{
2183
+ inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset));
2184
+ inset-block-start:0;
2185
+ }
1714
2186
 
1715
- #altTextDialog::backdrop{
2187
+ .dialog.altText::backdrop{
1716
2188
  -webkit-mask:url(#alttext-manager-mask);
1717
2189
  mask:url(#alttext-manager-mask);
1718
2190
  }
1719
2191
 
1720
- #altTextDialog.positioned{
2192
+ .dialog.altText.positioned{
1721
2193
  margin:0;
1722
2194
  }
1723
2195
 
1724
- #altTextDialog #altTextContainer{
2196
+ .dialog.altText #altTextContainer{
1725
2197
  width:300px;
1726
2198
  height:-moz-fit-content;
1727
2199
  height:fit-content;
@@ -1731,61 +2203,7 @@
1731
2203
  gap:16px;
1732
2204
  }
1733
2205
 
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{
2206
+ .dialog.altText #altTextContainer #overallDescription{
1789
2207
  display:flex;
1790
2208
  flex-direction:column;
1791
2209
  align-items:flex-start;
@@ -1793,53 +2211,34 @@
1793
2211
  align-self:stretch;
1794
2212
  }
1795
2213
 
1796
- #altTextDialog #altTextContainer #overallDescription span{
2214
+ .dialog.altText #altTextContainer #overallDescription span{
1797
2215
  align-self:stretch;
1798
2216
  }
1799
2217
 
1800
- #altTextDialog #altTextContainer #overallDescription .title{
2218
+ .dialog.altText #altTextContainer #overallDescription .title{
1801
2219
  font-size:13px;
1802
2220
  font-style:normal;
1803
2221
  font-weight:590;
1804
2222
  }
1805
2223
 
1806
- #altTextDialog #altTextContainer #addDescription{
2224
+ .dialog.altText #altTextContainer #addDescription{
1807
2225
  display:flex;
1808
2226
  flex-direction:column;
1809
2227
  align-items:stretch;
1810
2228
  gap:8px;
1811
2229
  }
1812
2230
 
1813
- #altTextDialog #altTextContainer #addDescription .descriptionArea{
2231
+ .dialog.altText #altTextContainer #addDescription .descriptionArea{
1814
2232
  flex:1;
1815
2233
  padding-inline:24px 10px;
1816
2234
  }
1817
2235
 
1818
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea{
1819
- font:inherit;
2236
+ .dialog.altText #altTextContainer #addDescription .descriptionArea textarea{
1820
2237
  width:100%;
1821
2238
  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
2239
  }
1831
2240
 
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{
2241
+ .dialog.altText #altTextContainer #buttons{
1843
2242
  display:flex;
1844
2243
  justify-content:flex-end;
1845
2244
  align-items:flex-start;
@@ -1847,46 +2246,6 @@
1847
2246
  align-self:stretch;
1848
2247
  }
1849
2248
 
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
2249
  .colorPicker{
1891
2250
  --hover-outline-color:#0250bb;
1892
2251
  --selected-outline-color:#0060df;
@@ -1931,19 +2290,19 @@
1931
2290
  border:none;
1932
2291
  }
1933
2292
 
1934
- .annotationEditorLayer[data-main-rotation="0"] .highlightEditor > .editToolbar{
2293
+ .annotationEditorLayer[data-main-rotation="0"] .highlightEditor:not(.free) > .editToolbar{
1935
2294
  rotate:0deg;
1936
2295
  }
1937
2296
 
1938
- .annotationEditorLayer[data-main-rotation="90"] .highlightEditor > .editToolbar{
2297
+ .annotationEditorLayer[data-main-rotation="90"] .highlightEditor:not(.free) > .editToolbar{
1939
2298
  rotate:270deg;
1940
2299
  }
1941
2300
 
1942
- .annotationEditorLayer[data-main-rotation="180"] .highlightEditor > .editToolbar{
2301
+ .annotationEditorLayer[data-main-rotation="180"] .highlightEditor:not(.free) > .editToolbar{
1943
2302
  rotate:180deg;
1944
2303
  }
1945
2304
 
1946
- .annotationEditorLayer[data-main-rotation="270"] .highlightEditor > .editToolbar{
2305
+ .annotationEditorLayer[data-main-rotation="270"] .highlightEditor:not(.free) > .editToolbar{
1947
2306
  rotate:90deg;
1948
2307
  }
1949
2308
 
@@ -1951,16 +2310,19 @@
1951
2310
  position:absolute;
1952
2311
  background:transparent;
1953
2312
  z-index:1;
1954
- transform-origin:0 0;
1955
2313
  cursor:auto;
1956
2314
  max-width:100%;
1957
2315
  max-height:100%;
1958
2316
  border:none;
1959
2317
  outline:none;
1960
2318
  pointer-events:none;
1961
- transform:none;
2319
+ transform-origin:0 0;
1962
2320
  }
1963
2321
 
2322
+ .annotationEditorLayer .highlightEditor:not(.free){
2323
+ transform:none;
2324
+ }
2325
+
1964
2326
  .annotationEditorLayer .highlightEditor .internal{
1965
2327
  position:absolute;
1966
2328
  top:0;
@@ -2016,6 +2378,10 @@
2016
2378
  background-color:var(--editor-toolbar-hover-bg-color);
2017
2379
  }
2018
2380
 
2381
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden))::after{
2382
+ scale:-1;
2383
+ }
2384
+
2019
2385
  .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown{
2020
2386
  position:absolute;
2021
2387
  display:flex;
@@ -2067,23 +2433,24 @@
2067
2433
  height:auto;
2068
2434
  padding-inline:10px;
2069
2435
  padding-block:10px 16px;
2436
+ gap:16px;
2070
2437
  display:flex;
2071
2438
  flex-direction:column;
2072
2439
  box-sizing:border-box;
2073
2440
  }
2074
2441
 
2442
+ #highlightParamsToolbarContainer .editorParamsLabel{
2443
+ width:-moz-fit-content;
2444
+ width:fit-content;
2445
+ inset-inline-start:0;
2446
+ }
2447
+
2075
2448
  #highlightParamsToolbarContainer .colorPicker{
2076
2449
  display:flex;
2077
2450
  flex-direction:column;
2078
2451
  gap:8px;
2079
2452
  }
2080
2453
 
2081
- #highlightParamsToolbarContainer .colorPicker #highlightColorPickerLabel{
2082
- width:-moz-fit-content;
2083
- width:fit-content;
2084
- inset-inline-start:0;
2085
- }
2086
-
2087
2454
  #highlightParamsToolbarContainer .colorPicker .dropdown{
2088
2455
  display:flex;
2089
2456
  justify-content:space-between;
@@ -2121,6 +2488,112 @@
2121
2488
  outline:2px solid var(--hover-outline-color);
2122
2489
  }
2123
2490
 
2491
+ #highlightParamsToolbarContainer #editorHighlightThickness{
2492
+ display:flex;
2493
+ flex-direction:column;
2494
+ align-items:center;
2495
+ gap:4px;
2496
+ align-self:stretch;
2497
+ }
2498
+
2499
+ #highlightParamsToolbarContainer #editorHighlightThickness .editorParamsLabel{
2500
+ width:100%;
2501
+ height:auto;
2502
+ align-self:stretch;
2503
+ }
2504
+
2505
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2506
+ display:flex;
2507
+ justify-content:space-between;
2508
+ align-items:center;
2509
+ align-self:stretch;
2510
+
2511
+ --example-color:#bfbfc9;
2512
+ }
2513
+
2514
+ @media (prefers-color-scheme: dark){
2515
+
2516
+ :where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2517
+ --example-color:#80808e;
2518
+ }
2519
+ }
2520
+
2521
+ :where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2522
+ --example-color:#80808e;
2523
+ }
2524
+
2525
+ @media screen and (forced-colors: active){
2526
+
2527
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2528
+ --example-color:CanvasText;
2529
+ }
2530
+ }
2531
+
2532
+ :is(#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker > .editorParamsSlider[disabled]){
2533
+ opacity:0.4;
2534
+ }
2535
+
2536
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::before,
2537
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{
2538
+ content:"";
2539
+ width:8px;
2540
+ aspect-ratio:1;
2541
+ display:block;
2542
+ border-radius:100%;
2543
+ background-color:var(--example-color);
2544
+ }
2545
+
2546
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{
2547
+ width:24px;
2548
+ }
2549
+
2550
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker .editorParamsSlider{
2551
+ width:unset;
2552
+ height:14px;
2553
+ }
2554
+
2555
+ #highlightParamsToolbarContainer #editorHighlightVisibility{
2556
+ display:flex;
2557
+ flex-direction:column;
2558
+ align-items:flex-start;
2559
+ gap:8px;
2560
+ align-self:stretch;
2561
+ }
2562
+
2563
+ #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2564
+ --divider-color:#d7d7db;
2565
+
2566
+ margin-block:4px;
2567
+ width:100%;
2568
+ height:1px;
2569
+ background-color:var(--divider-color);
2570
+ }
2571
+
2572
+ @media (prefers-color-scheme: dark){
2573
+
2574
+ :where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2575
+ --divider-color:#8f8f9d;
2576
+ }
2577
+ }
2578
+
2579
+ :where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2580
+ --divider-color:#8f8f9d;
2581
+ }
2582
+
2583
+ @media screen and (forced-colors: active){
2584
+
2585
+ #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2586
+ --divider-color:CanvasText;
2587
+ }
2588
+ }
2589
+
2590
+ #highlightParamsToolbarContainer #editorHighlightVisibility .toggler{
2591
+ display:flex;
2592
+ justify-content:space-between;
2593
+ align-items:center;
2594
+ align-self:stretch;
2595
+ }
2596
+
2124
2597
  :root{
2125
2598
  --viewer-container-height:0;
2126
2599
  --pdfViewer-padding-bottom:0;
@@ -2149,7 +2622,8 @@
2149
2622
  transform:rotate(270deg) translateX(-100%);
2150
2623
  }
2151
2624
 
2152
- #hiddenCopyElement{
2625
+ #hiddenCopyElement,
2626
+ .hiddenCanvasElement{
2153
2627
  position:absolute;
2154
2628
  top:0;
2155
2629
  left:0;
@@ -2162,14 +2636,45 @@
2162
2636
  --scale-factor:1;
2163
2637
 
2164
2638
  padding-bottom:var(--pdfViewer-padding-bottom);
2639
+
2640
+ --hcm-highlight-filter:none;
2641
+ --hcm-highlight-selected-filter:none;
2165
2642
  }
2166
2643
 
2167
- .pdfViewer .canvasWrapper{
2168
- overflow:hidden;
2169
- width:100%;
2170
- height:100%;
2171
- z-index:1;
2644
+ @media screen and (forced-colors: active){
2645
+
2646
+ .pdfViewer{
2647
+ --hcm-highlight-filter:invert(100%);
2172
2648
  }
2649
+ }
2650
+
2651
+ .pdfViewer.copyAll{
2652
+ cursor:wait;
2653
+ }
2654
+
2655
+ .pdfViewer .canvasWrapper{
2656
+ overflow:hidden;
2657
+ width:100%;
2658
+ height:100%;
2659
+ }
2660
+
2661
+ .pdfViewer .canvasWrapper canvas{
2662
+ margin:0;
2663
+ display:block;
2664
+ }
2665
+
2666
+ .pdfViewer .canvasWrapper canvas[hidden]{
2667
+ display:none;
2668
+ }
2669
+
2670
+ .pdfViewer .canvasWrapper canvas[zooming]{
2671
+ width:100%;
2672
+ height:100%;
2673
+ }
2674
+
2675
+ .pdfViewer .canvasWrapper canvas .structTree{
2676
+ contain:strict;
2677
+ }
2173
2678
 
2174
2679
  .pdfViewer .page{
2175
2680
  direction:ltr;
@@ -2232,24 +2737,6 @@
2232
2737
  margin-inline:5px;
2233
2738
  }
2234
2739
 
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
2740
  .pdfViewer .page.loadingIcon::after{
2254
2741
  position:absolute;
2255
2742
  top:0;
@@ -2529,22 +3016,20 @@ body{
2529
3016
  scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color);
2530
3017
  }
2531
3018
 
3019
+ body.wait::before{
3020
+ content:"";
3021
+ position:fixed;
3022
+ width:100%;
3023
+ height:100%;
3024
+ z-index:100000;
3025
+ cursor:wait;
3026
+ }
3027
+
2532
3028
  .hidden,
2533
3029
  [hidden]{
2534
3030
  display:none !important;
2535
3031
  }
2536
3032
 
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
3033
  #viewerContainer.pdfPresentationMode:fullscreen{
2549
3034
  top:0;
2550
3035
  background-color:rgb(0 0 0);
@@ -2557,18 +3042,10 @@ body{
2557
3042
  user-select:none;
2558
3043
  }
2559
3044
 
2560
- .pdfPresentationMode:-webkit-full-screen section:not([data-internal-link]){
2561
- pointer-events:none;
2562
- }
2563
-
2564
3045
  .pdfPresentationMode:fullscreen section:not([data-internal-link]){
2565
3046
  pointer-events:none;
2566
3047
  }
2567
3048
 
2568
- .pdfPresentationMode:-webkit-full-screen .textLayer span{
2569
- cursor:none;
2570
- }
2571
-
2572
3049
  .pdfPresentationMode:fullscreen .textLayer span{
2573
3050
  cursor:none;
2574
3051
  }
@@ -2826,6 +3303,7 @@ body{
2826
3303
  }
2827
3304
 
2828
3305
  .loadingInput:has(> #findInput[data-status="pending"])::after{
3306
+ display:block;
2829
3307
  visibility:visible;
2830
3308
  }
2831
3309
 
@@ -3475,6 +3953,7 @@ a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{
3475
3953
  }
3476
3954
 
3477
3955
  .loadingInput:has(> #pageNumber.loading)::after{
3956
+ display:block;
3478
3957
  visibility:visible;
3479
3958
 
3480
3959
  transition-property:visibility;
@@ -3484,6 +3963,7 @@ a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{
3484
3963
  .loadingInput::after{
3485
3964
  position:absolute;
3486
3965
  visibility:hidden;
3966
+ display:none;
3487
3967
  top:calc(50% - 8px);
3488
3968
  width:16px;
3489
3969
  height:16px;