@4tw/vue-cli-plugin-pdfjs-viewer 1.4.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 (77) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/assets/build/pdf.mjs +18056 -15776
  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 +2128 -2963
  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-editorHighlight.svg +6 -0
  13. package/assets/web/images/toolbarButton-editorStamp.svg +1 -1
  14. package/assets/web/locale/ar/viewer.ftl +140 -0
  15. package/assets/web/locale/be/viewer.ftl +53 -0
  16. package/assets/web/locale/bg/viewer.ftl +137 -0
  17. package/assets/web/locale/br/viewer.ftl +51 -0
  18. package/assets/web/locale/cs/viewer.ftl +53 -0
  19. package/assets/web/locale/cy/viewer.ftl +59 -8
  20. package/assets/web/locale/da/viewer.ftl +53 -0
  21. package/assets/web/locale/de/viewer.ftl +54 -1
  22. package/assets/web/locale/dsb/viewer.ftl +53 -2
  23. package/assets/web/locale/el/viewer.ftl +53 -2
  24. package/assets/web/locale/en-CA/viewer.ftl +91 -0
  25. package/assets/web/locale/en-GB/viewer.ftl +53 -2
  26. package/assets/web/locale/en-US/viewer.ftl +51 -10
  27. package/assets/web/locale/eo/viewer.ftl +61 -14
  28. package/assets/web/locale/es-AR/viewer.ftl +53 -0
  29. package/assets/web/locale/es-CL/viewer.ftl +53 -2
  30. package/assets/web/locale/es-ES/viewer.ftl +53 -0
  31. package/assets/web/locale/eu/viewer.ftl +53 -0
  32. package/assets/web/locale/fi/viewer.ftl +53 -2
  33. package/assets/web/locale/fr/viewer.ftl +53 -2
  34. package/assets/web/locale/fur/viewer.ftl +53 -0
  35. package/assets/web/locale/fy-NL/viewer.ftl +53 -0
  36. package/assets/web/locale/gl/viewer.ftl +17 -0
  37. package/assets/web/locale/gn/viewer.ftl +53 -2
  38. package/assets/web/locale/he/viewer.ftl +53 -2
  39. package/assets/web/locale/hsb/viewer.ftl +53 -2
  40. package/assets/web/locale/hu/viewer.ftl +53 -6
  41. package/assets/web/locale/hy-AM/viewer.ftl +22 -1
  42. package/assets/web/locale/ia/viewer.ftl +53 -10
  43. package/assets/web/locale/is/viewer.ftl +52 -9
  44. package/assets/web/locale/it/viewer.ftl +52 -9
  45. package/assets/web/locale/ja/viewer.ftl +54 -9
  46. package/assets/web/locale/ka/viewer.ftl +47 -9
  47. package/assets/web/locale/kab/viewer.ftl +69 -8
  48. package/assets/web/locale/kk/viewer.ftl +53 -2
  49. package/assets/web/locale/ko/viewer.ftl +53 -2
  50. package/assets/web/locale/nb-NO/viewer.ftl +53 -8
  51. package/assets/web/locale/nl/viewer.ftl +53 -0
  52. package/assets/web/locale/nn-NO/viewer.ftl +59 -6
  53. package/assets/web/locale/oc/viewer.ftl +36 -0
  54. package/assets/web/locale/pa-IN/viewer.ftl +53 -6
  55. package/assets/web/locale/pl/viewer.ftl +53 -0
  56. package/assets/web/locale/pt-BR/viewer.ftl +57 -12
  57. package/assets/web/locale/pt-PT/viewer.ftl +53 -0
  58. package/assets/web/locale/rm/viewer.ftl +53 -6
  59. package/assets/web/locale/ru/viewer.ftl +53 -2
  60. package/assets/web/locale/sk/viewer.ftl +56 -5
  61. package/assets/web/locale/skr/viewer.ftl +97 -6
  62. package/assets/web/locale/sl/viewer.ftl +51 -6
  63. package/assets/web/locale/sq/viewer.ftl +53 -6
  64. package/assets/web/locale/sv-SE/viewer.ftl +53 -2
  65. package/assets/web/locale/tg/viewer.ftl +53 -6
  66. package/assets/web/locale/th/viewer.ftl +53 -0
  67. package/assets/web/locale/tr/viewer.ftl +61 -16
  68. package/assets/web/locale/uk/viewer.ftl +72 -25
  69. package/assets/web/locale/vi/viewer.ftl +54 -3
  70. package/assets/web/locale/zh-CN/viewer.ftl +53 -6
  71. package/assets/web/locale/zh-TW/viewer.ftl +53 -2
  72. package/assets/web/viewer.css +1347 -703
  73. package/assets/web/viewer.html +39 -17
  74. package/assets/web/viewer.mjs +11668 -12170
  75. package/assets/web/viewer.mjs.map +1 -1
  76. package/package.json +1 -1
  77. 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;
@@ -333,8 +609,8 @@
333
609
  .annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before{
334
610
  border-radius:50%;
335
611
  height:50%;
336
- left:30%;
337
- top:20%;
612
+ left:25%;
613
+ top:25%;
338
614
  width:50%;
339
615
  }
340
616
 
@@ -773,123 +1049,432 @@
773
1049
  }
774
1050
  }
775
1051
 
776
- :root{
777
- --outline-width:2px;
778
- --outline-color:#0060df;
779
- --outline-around-width:1px;
780
- --outline-around-color:#f0f0f4;
781
- --hover-outline-around-color:var(--outline-around-color);
782
- --focus-outline:solid var(--outline-width) var(--outline-color);
783
- --unfocus-outline:solid var(--outline-width) transparent;
784
- --focus-outline-around:solid var(--outline-around-width) var(--outline-around-color);
785
- --hover-outline-color:#8f8f9d;
786
- --hover-outline:solid var(--outline-width) var(--hover-outline-color);
787
- --hover-outline-around:solid var(--outline-around-width) var(--hover-outline-around-color);
788
- --freetext-line-height:1.35;
789
- --freetext-padding:2px;
790
- --resizer-bg-color:var(--outline-color);
791
- --resizer-size:6px;
792
- --resizer-shift:calc(
793
- 0px - (var(--outline-width) + var(--resizer-size)) / 2 -
794
- var(--outline-around-width)
795
- );
796
- --editorFreeText-editing-cursor:text;
797
- --editorInk-editing-cursor:url(images/cursor-editorInk.svg) 0 16, pointer;
798
-
799
- --alt-text-opacity:0.8;
800
- --alt-text-add-image:url(images/altText_add.svg);
801
- --alt-text-done-image:url(images/altText_done.svg);
802
- --alt-text-bg-color:rgb(43 42 51 / var(--alt-text-opacity));
803
- --alt-text-fg-color:#fbfbfe;
804
- --alt-text-border-color:var(--alt-text-bg-color);
805
- --alt-text-hover-bg-color:rgb(82 82 94 / var(--alt-text-opacity));
806
- --alt-text-hover-fg-color:var(--alt-text-fg-color);
807
- --alt-text-hover-border-color:var(--alt-text-hover-bg-color);
808
- --alt-text-active-bg-color:rgb(91 91 102 / var(--alt-text-opacity));
809
- --alt-text-active-fg-color:var(--alt-text-fg-color);
810
- --alt-text-active-border-color:var(--alt-text-hover-bg-color);
811
- --alt-text-focus-outline-color:#0060df;
812
- --alt-text-focus-border-color:#f0f0f4;
813
- --alt-text-shadow:0 2px 6px 0 rgb(28 27 34 / 0.5);
814
- }
815
-
816
- @media (-webkit-min-device-pixel-ratio: 1.1), (min-resolution: 1.1dppx){
817
- :root{
818
- --editorFreeText-editing-cursor:url(images/cursor-editorFreeText.svg) 0 16, text;
1052
+ .canvasWrapper svg{
1053
+ transform:none;
819
1054
  }
820
- }
821
1055
 
822
- @media screen and (forced-colors: active){
823
- :root{
824
- --outline-color:CanvasText;
825
- --outline-around-color:ButtonFace;
826
- --resizer-bg-color:ButtonText;
827
- --hover-outline-color:Highlight;
828
- --hover-outline-around-color:SelectedItemText;
1056
+ .canvasWrapper svg[data-main-rotation="90"] mask,
1057
+ .canvasWrapper svg[data-main-rotation="90"] use:not(.clip, .mask){
1058
+ transform:matrix(0, 1, -1, 0, 1, 0);
1059
+ }
829
1060
 
830
- --alt-text-bg-color:Canvas;
831
- --alt-text-fg-color:ButtonText;
832
- --alt-text-border-color:ButtonText;
833
- --alt-text-hover-bg-color:Canvas;
834
- --alt-text-hover-fg-color:SelectedItem;
835
- --alt-text-hover-border-color:SelectedItem;
836
- --alt-text-active-bg-color:ButtonFace;
837
- --alt-text-active-fg-color:SelectedItem;
838
- --alt-text-active-border-color:ButtonText;
839
- --alt-text-focus-outline-color:CanvasText;
840
- --alt-text-focus-border-color:ButtonText;
841
- --alt-text-shadow:none;
842
- --alt-text-opacity:1;
843
- }
844
- }
1061
+ .canvasWrapper svg[data-main-rotation="180"] mask,
1062
+ .canvasWrapper svg[data-main-rotation="180"] use:not(.clip, .mask){
1063
+ transform:matrix(-1, 0, 0, -1, 1, 1);
1064
+ }
845
1065
 
846
- [data-editor-rotation="90"]{
847
- transform:rotate(90deg);
848
- }
849
- [data-editor-rotation="180"]{
850
- transform:rotate(180deg);
851
- }
852
- [data-editor-rotation="270"]{
853
- transform:rotate(270deg);
854
- }
1066
+ .canvasWrapper svg[data-main-rotation="270"] mask,
1067
+ .canvasWrapper svg[data-main-rotation="270"] use:not(.clip, .mask){
1068
+ transform:matrix(0, -1, 1, 0, 0, 1);
1069
+ }
855
1070
 
856
- .annotationEditorLayer{
857
- background:transparent;
858
- position:absolute;
859
- inset:0;
860
- font-size:calc(100px * var(--scale-factor));
861
- transform-origin:0 0;
862
- cursor:auto;
863
- z-index:4;
864
- }
1071
+ .canvasWrapper svg.highlight{
1072
+ --blend-mode:multiply;
865
1073
 
866
- .annotationEditorLayer.waiting{
867
- content:"";
868
- cursor:wait;
869
- position:absolute;
870
- inset:0;
871
- width:100%;
872
- height:100%;
873
- }
1074
+ position:absolute;
1075
+ mix-blend-mode:var(--blend-mode);
1076
+ }
874
1077
 
875
- .annotationEditorLayer.disabled{
876
- pointer-events:none;
877
- }
1078
+ @media screen and (forced-colors: active){
878
1079
 
879
- .annotationEditorLayer.freetextEditing{
880
- cursor:var(--editorFreeText-editing-cursor);
881
- }
1080
+ .canvasWrapper svg.highlight{
1081
+ --blend-mode:difference;
1082
+ }
1083
+ }
882
1084
 
883
- .annotationEditorLayer.inkEditing{
884
- cursor:var(--editorInk-editing-cursor);
885
- }
1085
+ .canvasWrapper svg.highlight:not(.free){
1086
+ fill-rule:evenodd;
1087
+ }
886
1088
 
887
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor){
888
- position:absolute;
889
- background:transparent;
890
- z-index:1;
891
- transform-origin:0 0;
892
- cursor:auto;
1089
+ .canvasWrapper svg.highlightOutline{
1090
+ position:absolute;
1091
+ mix-blend-mode:normal;
1092
+ fill-rule:evenodd;
1093
+ fill:none;
1094
+ }
1095
+
1096
+ .canvasWrapper svg.highlightOutline.hovered:not(.free):not(.selected){
1097
+ stroke:var(--hover-outline-color);
1098
+ stroke-width:var(--outline-width);
1099
+ }
1100
+
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));
1116
+ }
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
+
1363
+ :root{
1364
+ --outline-width:2px;
1365
+ --outline-color:#0060df;
1366
+ --outline-around-width:1px;
1367
+ --outline-around-color:#f0f0f4;
1368
+ --hover-outline-around-color:var(--outline-around-color);
1369
+ --focus-outline:solid var(--outline-width) var(--outline-color);
1370
+ --unfocus-outline:solid var(--outline-width) transparent;
1371
+ --focus-outline-around:solid var(--outline-around-width) var(--outline-around-color);
1372
+ --hover-outline-color:#8f8f9d;
1373
+ --hover-outline:solid var(--outline-width) var(--hover-outline-color);
1374
+ --hover-outline-around:solid var(--outline-around-width) var(--hover-outline-around-color);
1375
+ --freetext-line-height:1.35;
1376
+ --freetext-padding:2px;
1377
+ --resizer-bg-color:var(--outline-color);
1378
+ --resizer-size:6px;
1379
+ --resizer-shift:calc(
1380
+ 0px - (var(--outline-width) + var(--resizer-size)) / 2 -
1381
+ var(--outline-around-width)
1382
+ );
1383
+ --editorFreeText-editing-cursor:text;
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);
1404
+ }
1405
+
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){
1415
+ :root{
1416
+ --editorFreeText-editing-cursor:url(images/cursor-editorFreeText.svg) 0 16, text;
1417
+ }
1418
+ }
1419
+
1420
+ @media screen and (forced-colors: active){
1421
+ :root{
1422
+ --outline-color:CanvasText;
1423
+ --outline-around-color:ButtonFace;
1424
+ --resizer-bg-color:ButtonText;
1425
+ --hover-outline-color:Highlight;
1426
+ --hover-outline-around-color:SelectedItemText;
1427
+ }
1428
+ }
1429
+
1430
+ [data-editor-rotation="90"]{
1431
+ transform:rotate(90deg);
1432
+ }
1433
+
1434
+ [data-editor-rotation="180"]{
1435
+ transform:rotate(180deg);
1436
+ }
1437
+
1438
+ [data-editor-rotation="270"]{
1439
+ transform:rotate(270deg);
1440
+ }
1441
+
1442
+ .annotationEditorLayer{
1443
+ background:transparent;
1444
+ position:absolute;
1445
+ inset:0;
1446
+ font-size:calc(100px * var(--scale-factor));
1447
+ transform-origin:0 0;
1448
+ cursor:auto;
1449
+ }
1450
+
1451
+ .annotationEditorLayer.waiting{
1452
+ content:"";
1453
+ cursor:wait;
1454
+ position:absolute;
1455
+ inset:0;
1456
+ width:100%;
1457
+ height:100%;
1458
+ }
1459
+
1460
+ .annotationEditorLayer.disabled{
1461
+ pointer-events:none;
1462
+ }
1463
+
1464
+ .annotationEditorLayer.freetextEditing{
1465
+ cursor:var(--editorFreeText-editing-cursor);
1466
+ }
1467
+
1468
+ .annotationEditorLayer.inkEditing{
1469
+ cursor:var(--editorInk-editing-cursor);
1470
+ }
1471
+
1472
+ .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor){
1473
+ position:absolute;
1474
+ background:transparent;
1475
+ z-index:1;
1476
+ transform-origin:0 0;
1477
+ cursor:auto;
893
1478
  max-width:100%;
894
1479
  max-height:100%;
895
1480
  border:var(--unfocus-outline);
@@ -899,6 +1484,10 @@
899
1484
  cursor:move;
900
1485
  }
901
1486
 
1487
+ .annotationEditorLayer .moving:is(.freeTextEditor, .inkEditor, .stampEditor){
1488
+ touch-action:none;
1489
+ }
1490
+
902
1491
  .annotationEditorLayer .selectedEditor:is(.freeTextEditor, .inkEditor, .stampEditor){
903
1492
  border:var(--focus-outline);
904
1493
  outline:var(--focus-outline-around);
@@ -924,30 +1513,40 @@
924
1513
  border:var(--focus-outline-around);
925
1514
  }
926
1515
 
927
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar{
1516
+ :is(.annotationEditorLayer
1517
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
928
1518
  --editor-toolbar-delete-image:url(images/editor-toolbar-delete.svg);
929
1519
  --editor-toolbar-bg-color:#f0f0f4;
1520
+ --editor-toolbar-highlight-image:url(images/toolbarButton-editorHighlight.svg);
930
1521
  --editor-toolbar-fg-color:#2e2e56;
931
1522
  --editor-toolbar-border-color:#8f8f9d;
1523
+ --editor-toolbar-hover-border-color:var(--editor-toolbar-border-color);
932
1524
  --editor-toolbar-hover-bg-color:#e0e0e6;
933
- --editor-toolbar-active-bg-color:#cfcfd8;
1525
+ --editor-toolbar-hover-fg-color:var(--editor-toolbar-fg-color);
1526
+ --editor-toolbar-hover-outline:none;
934
1527
  --editor-toolbar-focus-outline-color:#0060df;
935
1528
  --editor-toolbar-shadow:0 2px 6px 0 rgb(58 57 68 / 0.2);
1529
+ --editor-toolbar-vert-offset:6px;
1530
+ --editor-toolbar-height:28px;
1531
+ --editor-toolbar-padding:2px;
936
1532
 
937
1533
  display:flex;
938
1534
  width:-moz-fit-content;
939
1535
  width:fit-content;
940
- height:28px;
1536
+ height:var(--editor-toolbar-height);
941
1537
  flex-direction:column;
942
1538
  justify-content:center;
943
1539
  align-items:center;
944
1540
  cursor:default;
1541
+ pointer-events:auto;
1542
+ box-sizing:content-box;
1543
+ padding:var(--editor-toolbar-padding);
945
1544
 
946
1545
  position:absolute;
947
1546
  inset-inline-end:0;
948
- inset-block-start:calc(100% + 6px);
1547
+ inset-block-start:calc(100% + var(--editor-toolbar-vert-offset));
949
1548
 
950
- border-radius:4px;
1549
+ border-radius:6px;
951
1550
  background-color:var(--editor-toolbar-bg-color);
952
1551
  border:1px solid var(--editor-toolbar-border-color);
953
1552
  box-shadow:var(--editor-toolbar-shadow);
@@ -955,63 +1554,111 @@
955
1554
 
956
1555
  @media (prefers-color-scheme: dark){
957
1556
 
958
- :where(html:not(.is-light)) .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar{
1557
+ :where(html:not(.is-light)) :is(.annotationEditorLayer
1558
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
959
1559
  --editor-toolbar-bg-color:#2b2a33;
960
1560
  --editor-toolbar-fg-color:#fbfbfe;
961
- --editor-toolbar-border-color:#2b2a33;
962
1561
  --editor-toolbar-hover-bg-color:#52525e;
963
- --editor-toolbar-active-bg-color:#5b5b66;
964
1562
  --editor-toolbar-focus-outline-color:#0df;
965
1563
  }
966
1564
  }
967
1565
 
968
- :where(html.is-dark) .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar{
1566
+ :where(html.is-dark) :is(.annotationEditorLayer
1567
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
969
1568
  --editor-toolbar-bg-color:#2b2a33;
970
1569
  --editor-toolbar-fg-color:#fbfbfe;
971
- --editor-toolbar-border-color:#2b2a33;
972
1570
  --editor-toolbar-hover-bg-color:#52525e;
973
- --editor-toolbar-active-bg-color:#5b5b66;
974
1571
  --editor-toolbar-focus-outline-color:#0df;
975
1572
  }
976
1573
 
977
1574
  @media screen and (forced-colors: active){
978
1575
 
979
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar{
1576
+ :is(.annotationEditorLayer
1577
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
980
1578
  --editor-toolbar-bg-color:ButtonFace;
981
1579
  --editor-toolbar-fg-color:ButtonText;
982
1580
  --editor-toolbar-border-color:ButtonText;
983
- --editor-toolbar-hover-bg-color:AccentColor;
984
- --editor-toolbar-active-bg-color:ButtonFace;
1581
+ --editor-toolbar-hover-border-color:AccentColor;
1582
+ --editor-toolbar-hover-bg-color:ButtonFace;
1583
+ --editor-toolbar-hover-fg-color:AccentColor;
1584
+ --editor-toolbar-hover-outline:2px solid var(--editor-toolbar-hover-border-color);
985
1585
  --editor-toolbar-focus-outline-color:ButtonBorder;
986
1586
  --editor-toolbar-shadow:none;
987
1587
  }
988
1588
  }
989
1589
 
990
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar.hidden{
1590
+ :is(.annotationEditorLayer
1591
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar.hidden{
991
1592
  display:none;
992
1593
  }
993
1594
 
994
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar:has(:focus-visible){
1595
+ :is(.annotationEditorLayer
1596
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar:has(:focus-visible){
995
1597
  border-color:transparent;
996
1598
  }
997
1599
 
998
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar .buttons{
1600
+ [dir="ltr"] :is(.annotationEditorLayer
1601
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1602
+ transform-origin:100% 0;
1603
+ }
1604
+
1605
+ [dir="rtl"] :is(.annotationEditorLayer
1606
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{
1607
+ transform-origin:0 0;
1608
+ }
1609
+
1610
+ :is(.annotationEditorLayer
1611
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons{
999
1612
  display:flex;
1000
- padding:0 2px;
1001
1613
  justify-content:center;
1002
1614
  align-items:center;
1003
- gap:4px;
1615
+ gap:0;
1616
+ height:100%;
1004
1617
  }
1005
1618
 
1006
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar .buttons .delete{
1007
- width:24px;
1008
- height:24px;
1009
- cursor:pointer;
1010
- border:none;
1011
- background-color:transparent;
1619
+ :is(.annotationEditorLayer
1620
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .divider{
1621
+ width:1px;
1622
+ height:calc(
1623
+ 2 * var(--editor-toolbar-padding) + var(--editor-toolbar-height)
1624
+ );
1625
+ background-color:var(--editor-toolbar-border-color);
1626
+ display:inline-block;
1627
+ margin-inline:2px;
1628
+ }
1629
+
1630
+ :is(.annotationEditorLayer
1631
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton{
1632
+ width:var(--editor-toolbar-height);
1012
1633
  }
1013
1634
 
1014
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .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{
1015
1662
  content:"";
1016
1663
  -webkit-mask-image:var(--editor-toolbar-delete-image);
1017
1664
  mask-image:var(--editor-toolbar-delete-image);
@@ -1025,21 +1672,156 @@
1025
1672
  height:100%;
1026
1673
  }
1027
1674
 
1028
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar .buttons > *:hover{
1675
+ :is(.annotationEditorLayer
1676
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete:hover::before{
1677
+ background-color:var(--editor-toolbar-hover-fg-color);
1678
+ }
1679
+
1680
+ :is(.annotationEditorLayer
1681
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > *{
1682
+ height:var(--editor-toolbar-height);
1683
+ }
1684
+
1685
+ :is(.annotationEditorLayer
1686
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider){
1687
+ border:none;
1688
+ background-color:transparent;
1689
+ cursor:pointer;
1690
+ }
1691
+
1692
+ :is(.annotationEditorLayer
1693
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover{
1029
1694
  border-radius:2px;
1030
1695
  background-color:var(--editor-toolbar-hover-bg-color);
1696
+ color:var(--editor-toolbar-hover-fg-color);
1697
+ outline:var(--editor-toolbar-hover-outline);
1698
+ outline-offset:1px;
1031
1699
  }
1032
1700
 
1033
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar .buttons > *:active{
1701
+ :is(.annotationEditorLayer
1702
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover:active{
1703
+ outline:none;
1704
+ }
1705
+
1706
+ :is(.annotationEditorLayer
1707
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):focus-visible{
1034
1708
  border-radius:2px;
1035
- background-color:var(--editor-toolbar-active-bg-color);
1709
+ outline:2px solid var(--editor-toolbar-focus-outline-color);
1036
1710
  }
1037
1711
 
1038
- .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) .editToolbar .buttons > *:focus-visible{
1039
- border-radius:3px;
1040
- outline:2px solid var(--editor-toolbar-focus-outline-color);
1712
+ :is(.annotationEditorLayer
1713
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText{
1714
+ --alt-text-add-image:url(images/altText_add.svg);
1715
+ --alt-text-done-image:url(images/altText_done.svg);
1716
+
1717
+ display:flex;
1718
+ align-items:center;
1719
+ justify-content:center;
1720
+ width:-moz-max-content;
1721
+ width:max-content;
1722
+ padding-inline:8px;
1723
+ pointer-events:all;
1724
+ font:menu;
1725
+ font-weight:590;
1726
+ font-size:12px;
1727
+ color:var(--editor-toolbar-fg-color);
1728
+ }
1729
+
1730
+ :is(.annotationEditorLayer
1731
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:disabled{
1732
+ pointer-events:none;
1041
1733
  }
1042
1734
 
1735
+ :is(.annotationEditorLayer
1736
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText::before{
1737
+ content:"";
1738
+ -webkit-mask-image:var(--alt-text-add-image);
1739
+ mask-image:var(--alt-text-add-image);
1740
+ -webkit-mask-repeat:no-repeat;
1741
+ mask-repeat:no-repeat;
1742
+ -webkit-mask-position:center;
1743
+ mask-position:center;
1744
+ display:inline-block;
1745
+ width:12px;
1746
+ height:13px;
1747
+ background-color:var(--editor-toolbar-fg-color);
1748
+ margin-inline-end:4px;
1749
+ }
1750
+
1751
+ :is(.annotationEditorLayer
1752
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:hover::before{
1753
+ background-color:var(--editor-toolbar-hover-fg-color);
1754
+ }
1755
+
1756
+ :is(.annotationEditorLayer
1757
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText.done::before{
1758
+ -webkit-mask-image:var(--alt-text-done-image);
1759
+ mask-image:var(--alt-text-done-image);
1760
+ }
1761
+
1762
+ :is(.annotationEditorLayer
1763
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip{
1764
+ display:none;
1765
+ }
1766
+
1767
+ :is(.annotationEditorLayer
1768
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1769
+ --alt-text-tooltip-bg:#f0f0f4;
1770
+ --alt-text-tooltip-fg:#15141a;
1771
+ --alt-text-tooltip-border:#8f8f9d;
1772
+ --alt-text-tooltip-shadow:0px 2px 6px 0px rgb(58 57 68 / 0.2);
1773
+
1774
+ display:inline-flex;
1775
+ flex-direction:column;
1776
+ align-items:center;
1777
+ justify-content:center;
1778
+ position:absolute;
1779
+ top:calc(100% + 2px);
1780
+ inset-inline-start:0;
1781
+ padding-block:2px 3px;
1782
+ padding-inline:3px;
1783
+ max-width:300px;
1784
+ width:-moz-max-content;
1785
+ width:max-content;
1786
+ height:auto;
1787
+ font-size:12px;
1788
+
1789
+ border:0.5px solid var(--alt-text-tooltip-border);
1790
+ background:var(--alt-text-tooltip-bg);
1791
+ box-shadow:var(--alt-text-tooltip-shadow);
1792
+ color:var(--alt-text-tooltip-fg);
1793
+
1794
+ pointer-events:none;
1795
+ }
1796
+
1797
+ @media (prefers-color-scheme: dark){
1798
+
1799
+ :where(html:not(.is-light)) :is(.annotationEditorLayer
1800
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1801
+ --alt-text-tooltip-bg:#1c1b22;
1802
+ --alt-text-tooltip-fg:#fbfbfe;
1803
+ --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
1804
+ }
1805
+ }
1806
+
1807
+ :where(html.is-dark) :is(.annotationEditorLayer
1808
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1809
+ --alt-text-tooltip-bg:#1c1b22;
1810
+ --alt-text-tooltip-fg:#fbfbfe;
1811
+ --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
1812
+ }
1813
+
1814
+ @media screen and (forced-colors: active){
1815
+
1816
+ :is(.annotationEditorLayer
1817
+ :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{
1818
+ --alt-text-tooltip-bg:Canvas;
1819
+ --alt-text-tooltip-fg:CanvasText;
1820
+ --alt-text-tooltip-border:CanvasText;
1821
+ --alt-text-tooltip-shadow:none;
1822
+ }
1823
+ }
1824
+
1043
1825
  .annotationEditorLayer .freeTextEditor{
1044
1826
  padding:calc(var(--freetext-padding) * var(--scale-factor));
1045
1827
  width:auto;
@@ -1069,7 +1851,7 @@
1069
1851
  height:100%;
1070
1852
  }
1071
1853
 
1072
- .annotationEditorLayer .freeTextEditor .overlay.enabled{
1854
+ .annotationEditorLayer freeTextEditor .overlay.enabled{
1073
1855
  display:block;
1074
1856
  }
1075
1857
 
@@ -1107,11 +1889,15 @@
1107
1889
  height:auto;
1108
1890
  }
1109
1891
 
1110
- .annotationEditorLayer .stampEditor canvas{
1111
- width:100%;
1112
- height:100%;
1113
- }
1114
-
1892
+ .annotationEditorLayer .stampEditor canvas{
1893
+ position:absolute;
1894
+ width:100%;
1895
+ height:100%;
1896
+ margin:0;
1897
+ top:0;
1898
+ left:0;
1899
+ }
1900
+
1115
1901
  .annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers{
1116
1902
  position:absolute;
1117
1903
  inset:0;
@@ -1322,58 +2108,6 @@
1322
2108
  cursor:ns-resize;
1323
2109
  }
1324
2110
 
1325
- .annotationEditorLayer
1326
- :is(
1327
- [data-main-rotation="0"] [data-editor-rotation="90"],
1328
- [data-main-rotation="90"] [data-editor-rotation="0"],
1329
- [data-main-rotation="180"] [data-editor-rotation="270"],
1330
- [data-main-rotation="270"] [data-editor-rotation="180"]
1331
- ) .altText{
1332
- rotate:270deg;
1333
- }
1334
-
1335
- [dir="ltr"] .annotationEditorLayer
1336
- :is(
1337
- [data-main-rotation="0"] [data-editor-rotation="90"],
1338
- [data-main-rotation="90"] [data-editor-rotation="0"],
1339
- [data-main-rotation="180"] [data-editor-rotation="270"],
1340
- [data-main-rotation="270"] [data-editor-rotation="180"]
1341
- ) .altText{
1342
- inset-inline-start:calc(100% - 8px);
1343
- }
1344
-
1345
- [dir="ltr"] .annotationEditorLayer
1346
- :is(
1347
- [data-main-rotation="0"] [data-editor-rotation="90"],
1348
- [data-main-rotation="90"] [data-editor-rotation="0"],
1349
- [data-main-rotation="180"] [data-editor-rotation="270"],
1350
- [data-main-rotation="270"] [data-editor-rotation="180"]
1351
- ) .altText.small{
1352
- inset-inline-start:calc(100% + 8px);
1353
- inset-block-start:100%;
1354
- }
1355
-
1356
- [dir="rtl"] .annotationEditorLayer
1357
- :is(
1358
- [data-main-rotation="0"] [data-editor-rotation="90"],
1359
- [data-main-rotation="90"] [data-editor-rotation="0"],
1360
- [data-main-rotation="180"] [data-editor-rotation="270"],
1361
- [data-main-rotation="270"] [data-editor-rotation="180"]
1362
- ) .altText{
1363
- inset-block-end:calc(100% - 8px);
1364
- }
1365
-
1366
- [dir="rtl"] .annotationEditorLayer
1367
- :is(
1368
- [data-main-rotation="0"] [data-editor-rotation="90"],
1369
- [data-main-rotation="90"] [data-editor-rotation="0"],
1370
- [data-main-rotation="180"] [data-editor-rotation="270"],
1371
- [data-main-rotation="270"] [data-editor-rotation="180"]
1372
- ) .altText.small{
1373
- inset-inline-start:-8px;
1374
- inset-block-start:0;
1375
- }
1376
-
1377
2111
  .annotationEditorLayer
1378
2112
  :is(
1379
2113
  [data-main-rotation="0"] [data-editor-rotation="90"],
@@ -1391,7 +2125,7 @@
1391
2125
  [data-main-rotation="180"] [data-editor-rotation="270"],
1392
2126
  [data-main-rotation="270"] [data-editor-rotation="180"]
1393
2127
  ) .editToolbar{
1394
- inset-inline-start:calc(100% + 6px);
2128
+ inset-inline-end:calc(0px - var(--editor-toolbar-vert-offset));
1395
2129
  inset-block-start:0;
1396
2130
  }
1397
2131
 
@@ -1402,33 +2136,8 @@
1402
2136
  [data-main-rotation="180"] [data-editor-rotation="270"],
1403
2137
  [data-main-rotation="270"] [data-editor-rotation="180"]
1404
2138
  ) .editToolbar{
1405
- inset-inline-end:calc(100% + 6px);
1406
- inset-block-end:0;
1407
- inset-block-start:unset;
1408
- }
1409
-
1410
- .annotationEditorLayer
1411
- :is(
1412
- [data-main-rotation="0"] [data-editor-rotation="180"],
1413
- [data-main-rotation="90"] [data-editor-rotation="90"],
1414
- [data-main-rotation="180"] [data-editor-rotation="0"],
1415
- [data-main-rotation="270"] [data-editor-rotation="270"]
1416
- ) .altText{
1417
- rotate:180deg;
1418
-
1419
- inset-block-end:calc(100% - 8px);
1420
- inset-inline-start:calc(100% - 8px);
1421
- }
1422
-
1423
- .annotationEditorLayer
1424
- :is(
1425
- [data-main-rotation="0"] [data-editor-rotation="180"],
1426
- [data-main-rotation="90"] [data-editor-rotation="90"],
1427
- [data-main-rotation="180"] [data-editor-rotation="0"],
1428
- [data-main-rotation="270"] [data-editor-rotation="270"]
1429
- ) .altText.small{
1430
- inset-inline-start:100%;
1431
- inset-block-start:-8px;
2139
+ inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
2140
+ inset-block-start:0;
1432
2141
  }
1433
2142
 
1434
2143
  .annotationEditorLayer
@@ -1439,63 +2148,10 @@
1439
2148
  [data-main-rotation="270"] [data-editor-rotation="270"]
1440
2149
  ) .editToolbar{
1441
2150
  rotate:180deg;
1442
- inset-inline-start:0;
1443
- inset-block-end:calc(100% + 6px);
1444
- inset-block-start:unset;
1445
- }
1446
-
1447
- .annotationEditorLayer
1448
- :is(
1449
- [data-main-rotation="0"] [data-editor-rotation="270"],
1450
- [data-main-rotation="90"] [data-editor-rotation="180"],
1451
- [data-main-rotation="180"] [data-editor-rotation="90"],
1452
- [data-main-rotation="270"] [data-editor-rotation="0"]
1453
- ) .altText{
1454
- rotate:90deg;
2151
+ inset-inline-end:100%;
2152
+ inset-block-start:calc(0pc - var(--editor-toolbar-vert-offset));
1455
2153
  }
1456
2154
 
1457
- [dir="ltr"] .annotationEditorLayer
1458
- :is(
1459
- [data-main-rotation="0"] [data-editor-rotation="270"],
1460
- [data-main-rotation="90"] [data-editor-rotation="180"],
1461
- [data-main-rotation="180"] [data-editor-rotation="90"],
1462
- [data-main-rotation="270"] [data-editor-rotation="0"]
1463
- ) .altText{
1464
- inset-block-end:calc(100% - 8px);
1465
- }
1466
-
1467
- [dir="ltr"] .annotationEditorLayer
1468
- :is(
1469
- [data-main-rotation="0"] [data-editor-rotation="270"],
1470
- [data-main-rotation="90"] [data-editor-rotation="180"],
1471
- [data-main-rotation="180"] [data-editor-rotation="90"],
1472
- [data-main-rotation="270"] [data-editor-rotation="0"]
1473
- ) .altText.small{
1474
- inset-inline-start:-8px;
1475
- inset-block-start:0;
1476
- }
1477
-
1478
- [dir="rtl"] .annotationEditorLayer
1479
- :is(
1480
- [data-main-rotation="0"] [data-editor-rotation="270"],
1481
- [data-main-rotation="90"] [data-editor-rotation="180"],
1482
- [data-main-rotation="180"] [data-editor-rotation="90"],
1483
- [data-main-rotation="270"] [data-editor-rotation="0"]
1484
- ) .altText{
1485
- inset-inline-start:calc(100% - 8px);
1486
- }
1487
-
1488
- [dir="rtl"] .annotationEditorLayer
1489
- :is(
1490
- [data-main-rotation="0"] [data-editor-rotation="270"],
1491
- [data-main-rotation="90"] [data-editor-rotation="180"],
1492
- [data-main-rotation="180"] [data-editor-rotation="90"],
1493
- [data-main-rotation="270"] [data-editor-rotation="0"]
1494
- ) .altText.small{
1495
- inset-inline-start:calc(100% + 8px);
1496
- inset-block-start:100%;
1497
- }
1498
-
1499
2155
  .annotationEditorLayer
1500
2156
  :is(
1501
2157
  [data-main-rotation="0"] [data-editor-rotation="270"],
@@ -1513,9 +2169,8 @@
1513
2169
  [data-main-rotation="180"] [data-editor-rotation="90"],
1514
2170
  [data-main-rotation="270"] [data-editor-rotation="0"]
1515
2171
  ) .editToolbar{
1516
- inset-inline-end:calc(100% + 6px);
1517
- inset-block-end:0;
1518
- inset-block-start:unset;
2172
+ inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));
2173
+ inset-block-start:100%;
1519
2174
  }
1520
2175
 
1521
2176
  [dir="rtl"] .annotationEditorLayer
@@ -1525,460 +2180,419 @@
1525
2180
  [data-main-rotation="180"] [data-editor-rotation="90"],
1526
2181
  [data-main-rotation="270"] [data-editor-rotation="0"]
1527
2182
  ) .editToolbar{
1528
- inset-inline-start:calc(100% + 6px);
2183
+ inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset));
1529
2184
  inset-block-start:0;
1530
2185
  }
1531
2186
 
1532
- .altText{
1533
- display:flex;
1534
- align-items:center;
1535
- justify-content:center;
1536
- padding-inline:4px;
1537
- width:-moz-max-content;
1538
- width:max-content;
1539
- height:24px;
1540
- min-width:88px;
1541
- z-index:1;
1542
- pointer-events:all;
1543
-
1544
- color:var(--alt-text-fg-color);
1545
- font:menu;
1546
- font-size:12px;
1547
- border-radius:4px;
1548
- border:1px solid var(--alt-text-border-color);
1549
- background-color:var(--alt-text-bg-color);
1550
- box-shadow:var(--alt-text-shadow);
1551
-
1552
- position:absolute;
1553
- inset-block-end:8px;
1554
- inset-inline-start:8px;
1555
- }
1556
-
1557
- .altText:disabled{
1558
- pointer-events:none;
2187
+ .dialog.altText::backdrop{
2188
+ -webkit-mask:url(#alttext-manager-mask);
2189
+ mask:url(#alttext-manager-mask);
1559
2190
  }
1560
2191
 
1561
- [dir="ltr"] .altText{
1562
- transform-origin:0 100%;
2192
+ .dialog.altText.positioned{
2193
+ margin:0;
1563
2194
  }
1564
2195
 
1565
- [dir="rtl"] .altText{
1566
- transform-origin:100% 100%;
2196
+ .dialog.altText #altTextContainer{
2197
+ width:300px;
2198
+ height:-moz-fit-content;
2199
+ height:fit-content;
2200
+ display:inline-flex;
2201
+ flex-direction:column;
2202
+ align-items:flex-start;
2203
+ gap:16px;
1567
2204
  }
1568
2205
 
1569
- .altText.small{
2206
+ .dialog.altText #altTextContainer #overallDescription{
2207
+ display:flex;
2208
+ flex-direction:column;
2209
+ align-items:flex-start;
2210
+ gap:4px;
2211
+ align-self:stretch;
2212
+ }
1570
2213
 
1571
- inset-block-end:unset;
1572
- inset-inline-start:0;
1573
- inset-block-start:calc(100% + 8px);
1574
- }
2214
+ .dialog.altText #altTextContainer #overallDescription span{
2215
+ align-self:stretch;
2216
+ }
1575
2217
 
1576
- [dir="ltr"] .altText.small{
1577
- transform-origin:0 0;
1578
- }
2218
+ .dialog.altText #altTextContainer #overallDescription .title{
2219
+ font-size:13px;
2220
+ font-style:normal;
2221
+ font-weight:590;
2222
+ }
1579
2223
 
1580
- [dir="rtl"] .altText.small{
1581
- transform-origin:100% 0;
2224
+ .dialog.altText #altTextContainer #addDescription{
2225
+ display:flex;
2226
+ flex-direction:column;
2227
+ align-items:stretch;
2228
+ gap:8px;
1582
2229
  }
1583
2230
 
1584
- .altText:hover{
1585
- background-color:var(--alt-text-hover-bg-color);
1586
- border-color:var(--alt-text-hover-border-color);
1587
- color:var(--alt-text-hover-fg-color);
1588
- cursor:pointer;
1589
- }
2231
+ .dialog.altText #altTextContainer #addDescription .descriptionArea{
2232
+ flex:1;
2233
+ padding-inline:24px 10px;
2234
+ }
2235
+
2236
+ .dialog.altText #altTextContainer #addDescription .descriptionArea textarea{
2237
+ width:100%;
2238
+ min-height:75px;
2239
+ }
1590
2240
 
1591
- .altText:hover::before{
1592
- background-color:var(--alt-text-hover-fg-color);
2241
+ .dialog.altText #altTextContainer #buttons{
2242
+ display:flex;
2243
+ justify-content:flex-end;
2244
+ align-items:flex-start;
2245
+ gap:8px;
2246
+ align-self:stretch;
1593
2247
  }
1594
2248
 
1595
- .altText:active{
1596
- background-color:var(--alt-text-active-bg-color);
1597
- border-color:var(--alt-text-active-border-color);
1598
- color:var(--alt-text-active-fg-color);
1599
- }
2249
+ .colorPicker{
2250
+ --hover-outline-color:#0250bb;
2251
+ --selected-outline-color:#0060df;
2252
+ --swatch-border-color:#cfcfd8;
2253
+ }
1600
2254
 
1601
- .altText:active::before{
1602
- background-color:var(--alt-text-active-fg-color);
1603
- }
2255
+ @media (prefers-color-scheme: dark){
1604
2256
 
1605
- .altText:focus-visible{
1606
- outline:2px solid var(--alt-text-focus-outline-color);
1607
- border-color:var(--alt-text-focus-border-color);
2257
+ :where(html:not(.is-light)) .colorPicker{
2258
+ --hover-outline-color:#80ebff;
2259
+ --selected-outline-color:#aaf2ff;
2260
+ --swatch-border-color:#52525e;
2261
+ }
1608
2262
  }
1609
2263
 
1610
- .altText::before{
1611
- content:"";
1612
- -webkit-mask-image:var(--alt-text-add-image);
1613
- mask-image:var(--alt-text-add-image);
1614
- -webkit-mask-repeat:no-repeat;
1615
- mask-repeat:no-repeat;
1616
- -webkit-mask-position:center;
1617
- mask-position:center;
1618
- display:inline-block;
1619
- width:12px;
1620
- height:13px;
1621
- background-color:var(--alt-text-fg-color);
1622
- margin-inline-end:4px;
1623
- }
2264
+ :where(html.is-dark) .colorPicker{
2265
+ --hover-outline-color:#80ebff;
2266
+ --selected-outline-color:#aaf2ff;
2267
+ --swatch-border-color:#52525e;
2268
+ }
1624
2269
 
1625
- .altText.done::before{
1626
- -webkit-mask-image:var(--alt-text-done-image);
1627
- mask-image:var(--alt-text-done-image);
1628
- }
2270
+ @media screen and (forced-colors: active){
1629
2271
 
1630
- .altText .tooltip{
1631
- display:none;
2272
+ .colorPicker{
2273
+ --hover-outline-color:Highlight;
2274
+ --selected-outline-color:var(--hover-outline-color);
2275
+ --swatch-border-color:ButtonText;
2276
+ }
1632
2277
  }
1633
2278
 
1634
- .altText .tooltip.show{
1635
- --alt-text-tooltip-bg:#f0f0f4;
1636
- --alt-text-tooltip-fg:#15141a;
1637
- --alt-text-tooltip-border:#8f8f9d;
1638
- --alt-text-tooltip-shadow:0px 2px 6px 0px rgb(58 57 68 / 0.2);
1639
-
1640
- display:inline-flex;
1641
- flex-direction:column;
1642
- align-items:center;
1643
- justify-content:center;
1644
- position:absolute;
1645
- top:calc(100% + 2px);
1646
- inset-inline-start:0;
1647
- padding-block:2px 3px;
1648
- padding-inline:3px;
1649
- max-width:300px;
1650
- width:-moz-max-content;
1651
- width:max-content;
1652
- height:auto;
1653
- font-size:12px;
2279
+ .colorPicker .swatch{
2280
+ width:16px;
2281
+ height:16px;
2282
+ border:1px solid var(--swatch-border-color);
2283
+ border-radius:100%;
2284
+ outline-offset:2px;
2285
+ box-sizing:border-box;
2286
+ forced-color-adjust:none;
2287
+ }
1654
2288
 
1655
- border:0.5px solid var(--alt-text-tooltip-border);
1656
- background:var(--alt-text-tooltip-bg);
1657
- box-shadow:var(--alt-text-tooltip-shadow);
1658
- color:var(--alt-text-tooltip-fg);
2289
+ .colorPicker button:is(:hover, .selected) > .swatch{
2290
+ border:none;
2291
+ }
1659
2292
 
1660
- pointer-events:none;
2293
+ .annotationEditorLayer[data-main-rotation="0"] .highlightEditor:not(.free) > .editToolbar{
2294
+ rotate:0deg;
1661
2295
  }
1662
2296
 
1663
- @media (prefers-color-scheme: dark){
1664
-
1665
- :where(html:not(.is-light)) .altText .tooltip.show{
1666
- --alt-text-tooltip-bg:#1c1b22;
1667
- --alt-text-tooltip-fg:#fbfbfe;
1668
- --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
2297
+ .annotationEditorLayer[data-main-rotation="90"] .highlightEditor:not(.free) > .editToolbar{
2298
+ rotate:270deg;
1669
2299
  }
1670
- }
1671
2300
 
1672
- :where(html.is-dark) .altText .tooltip.show{
1673
- --alt-text-tooltip-bg:#1c1b22;
1674
- --alt-text-tooltip-fg:#fbfbfe;
1675
- --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a;
2301
+ .annotationEditorLayer[data-main-rotation="180"] .highlightEditor:not(.free) > .editToolbar{
2302
+ rotate:180deg;
1676
2303
  }
1677
2304
 
1678
- @media screen and (forced-colors: active){
1679
-
1680
- .altText .tooltip.show{
1681
- --alt-text-tooltip-bg:Canvas;
1682
- --alt-text-tooltip-fg:CanvasText;
1683
- --alt-text-tooltip-border:CanvasText;
1684
- --alt-text-tooltip-shadow:none;
2305
+ .annotationEditorLayer[data-main-rotation="270"] .highlightEditor:not(.free) > .editToolbar{
2306
+ rotate:90deg;
1685
2307
  }
1686
- }
1687
-
1688
- #altTextDialog{
1689
- --dialog-bg-color:white;
1690
- --dialog-border-color:white;
1691
- --dialog-shadow:0 2px 14px 0 rgb(58 57 68 / 0.2);
1692
- --text-primary-color:#15141a;
1693
- --text-secondary-color:#5b5b66;
1694
- --hover-filter:brightness(0.9);
1695
- --focus-ring-color:#0060df;
1696
- --focus-ring-outline:2px solid var(--focus-ring-color);
1697
-
1698
- --textarea-border-color:#8f8f9d;
1699
- --textarea-bg-color:white;
1700
- --textarea-fg-color:var(--text-secondary-color);
1701
-
1702
- --radio-bg-color:#f0f0f4;
1703
- --radio-checked-bg-color:#fbfbfe;
1704
- --radio-border-color:#8f8f9d;
1705
- --radio-checked-border-color:#0060df;
1706
2308
 
1707
- --button-cancel-bg-color:#f0f0f4;
1708
- --button-cancel-fg-color:var(--text-primary-color);
1709
- --button-cancel-border-color:var(--button-cancel-bg-color);
1710
- --button-cancel-hover-bg-color:var(--button-cancel-bg-color);
1711
- --button-cancel-hover-fg-color:var(--button-cancel-fg-color);
1712
- --button-cancel-hover-border-color:var(--button-cancel-hover-bg-color);
2309
+ .annotationEditorLayer .highlightEditor{
2310
+ position:absolute;
2311
+ background:transparent;
2312
+ z-index:1;
2313
+ cursor:auto;
2314
+ max-width:100%;
2315
+ max-height:100%;
2316
+ border:none;
2317
+ outline:none;
2318
+ pointer-events:none;
2319
+ transform-origin:0 0;
2320
+ }
1713
2321
 
1714
- --button-save-bg-color:#0060df;
1715
- --button-save-fg-color:#fbfbfe;
1716
- --button-save-hover-bg-color:var(--button-save-bg-color);
1717
- --button-save-hover-fg-color:var(--button-save-fg-color);
1718
- --button-save-hover-border-color:var(--button-save-hover-bg-color);
2322
+ .annotationEditorLayer .highlightEditor:not(.free){
2323
+ transform:none;
2324
+ }
1719
2325
 
1720
- font:message-box;
1721
- font-size:13px;
1722
- font-weight:400;
1723
- line-height:150%;
1724
- border-radius:4px;
1725
- padding:12px 16px;
1726
- border:1px solid var(--dialog-border-color);
1727
- background:var(--dialog-bg-color);
1728
- color:var(--text-primary-color);
1729
- box-shadow:var(--dialog-shadow);
1730
- }
2326
+ .annotationEditorLayer .highlightEditor .internal{
2327
+ position:absolute;
2328
+ top:0;
2329
+ left:0;
2330
+ width:100%;
2331
+ height:100%;
2332
+ pointer-events:auto;
2333
+ }
1731
2334
 
1732
- @media (prefers-color-scheme: dark){
2335
+ .annotationEditorLayer .highlightEditor.disabled .internal{
2336
+ pointer-events:none;
2337
+ }
1733
2338
 
1734
- :where(html:not(.is-light)) #altTextDialog{
1735
- --dialog-bg-color:#1c1b22;
1736
- --dialog-border-color:#1c1b22;
1737
- --dialog-shadow:0 2px 14px 0 #15141a;
1738
- --text-primary-color:#fbfbfe;
1739
- --text-secondary-color:#cfcfd8;
1740
- --focus-ring-color:#0df;
1741
- --hover-filter:brightness(1.4);
2339
+ .annotationEditorLayer .highlightEditor.selectedEditor .internal{
2340
+ cursor:pointer;
2341
+ }
1742
2342
 
1743
- --textarea-bg-color:#42414d;
2343
+ .annotationEditorLayer .highlightEditor .editToolbar{
2344
+ --editor-toolbar-colorpicker-arrow-image:url(images/toolbarButton-menuArrow.svg);
1744
2345
 
1745
- --radio-bg-color:#2b2a33;
1746
- --radio-checked-bg-color:#15141a;
1747
- --radio-checked-border-color:#0df;
2346
+ transform-origin:center !important;
2347
+ }
1748
2348
 
1749
- --button-cancel-bg-color:#2b2a33;
1750
- --button-save-bg-color:#0df;
1751
- --button-save-fg-color:#15141a;
1752
- }
1753
- }
2349
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker{
2350
+ position:relative;
2351
+ width:auto;
2352
+ display:flex;
2353
+ justify-content:center;
2354
+ align-items:center;
2355
+ gap:4px;
2356
+ padding:4px;
2357
+ }
1754
2358
 
1755
- :where(html.is-dark) #altTextDialog{
1756
- --dialog-bg-color:#1c1b22;
1757
- --dialog-border-color:#1c1b22;
1758
- --dialog-shadow:0 2px 14px 0 #15141a;
1759
- --text-primary-color:#fbfbfe;
1760
- --text-secondary-color:#cfcfd8;
1761
- --focus-ring-color:#0df;
1762
- --hover-filter:brightness(1.4);
2359
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker::after{
2360
+ content:"";
2361
+ -webkit-mask-image:var(--editor-toolbar-colorpicker-arrow-image);
2362
+ mask-image:var(--editor-toolbar-colorpicker-arrow-image);
2363
+ -webkit-mask-repeat:no-repeat;
2364
+ mask-repeat:no-repeat;
2365
+ -webkit-mask-position:center;
2366
+ mask-position:center;
2367
+ display:inline-block;
2368
+ background-color:var(--editor-toolbar-fg-color);
2369
+ width:12px;
2370
+ height:12px;
2371
+ }
1763
2372
 
1764
- --textarea-bg-color:#42414d;
2373
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:hover::after{
2374
+ background-color:var(--editor-toolbar-hover-fg-color);
2375
+ }
1765
2376
 
1766
- --radio-bg-color:#2b2a33;
1767
- --radio-checked-bg-color:#15141a;
1768
- --radio-checked-border-color:#0df;
2377
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden)){
2378
+ background-color:var(--editor-toolbar-hover-bg-color);
2379
+ }
1769
2380
 
1770
- --button-cancel-bg-color:#2b2a33;
1771
- --button-save-bg-color:#0df;
1772
- --button-save-fg-color:#15141a;
1773
- }
2381
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden))::after{
2382
+ scale:-1;
2383
+ }
2384
+
2385
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown{
2386
+ position:absolute;
2387
+ display:flex;
2388
+ justify-content:center;
2389
+ align-items:center;
2390
+ flex-direction:column;
2391
+ gap:11px;
2392
+ padding-block:8px;
2393
+ border-radius:6px;
2394
+ background-color:var(--editor-toolbar-bg-color);
2395
+ border:1px solid var(--editor-toolbar-border-color);
2396
+ box-shadow:var(--editor-toolbar-shadow);
2397
+ inset-block-start:calc(100% + 4px);
2398
+ width:calc(100% + 2 * var(--editor-toolbar-padding));
2399
+ }
1774
2400
 
1775
- @media screen and (forced-colors: active){
2401
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button{
2402
+ width:100%;
2403
+ height:auto;
2404
+ border:none;
2405
+ cursor:pointer;
2406
+ display:flex;
2407
+ justify-content:center;
2408
+ align-items:center;
2409
+ background:none;
2410
+ }
1776
2411
 
1777
- #altTextDialog{
1778
- --dialog-bg-color:Canvas;
1779
- --dialog-border-color:CanvasText;
1780
- --dialog-shadow:none;
1781
- --text-primary-color:CanvasText;
1782
- --text-secondary-color:CanvasText;
1783
- --hover-filter:none;
1784
- --focus-ring-color:ButtonBorder;
2412
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button:is(:active, :focus-visible){
2413
+ outline:none;
2414
+ }
1785
2415
 
1786
- --textarea-border-color:ButtonBorder;
1787
- --textarea-bg-color:Field;
1788
- --textarea-fg-color:ButtonText;
2416
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button > .swatch{
2417
+ outline-offset:2px;
2418
+ }
1789
2419
 
1790
- --radio-bg-color:ButtonFace;
1791
- --radio-checked-bg-color:ButtonFace;
1792
- --radio-border-color:ButtonText;
1793
- --radio-checked-border-color:ButtonText;
2420
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button[aria-selected="true"] > .swatch{
2421
+ outline:2px solid var(--selected-outline-color);
2422
+ }
1794
2423
 
1795
- --button-cancel-bg-color:ButtonFace;
1796
- --button-cancel-fg-color:ButtonText;
1797
- --button-cancel-border-color:ButtonText;
1798
- --button-cancel-hover-bg-color:AccentColor;
1799
- --button-cancel-hover-fg-color:AccentColorText;
2424
+ .annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button:is(:hover, :active, :focus-visible) > .swatch{
2425
+ outline:2px solid var(--hover-outline-color);
2426
+ }
1800
2427
 
1801
- --button-save-bg-color:ButtonText;
1802
- --button-save-fg-color:ButtonFace;
1803
- --button-save-hover-bg-color:AccentColor;
1804
- --button-save-hover-fg-color:AccentColorText;
2428
+ .editorParamsToolbar:has(#highlightParamsToolbarContainer){
2429
+ padding:unset;
1805
2430
  }
1806
- }
1807
2431
 
1808
- #altTextDialog::backdrop{
1809
- -webkit-mask:url(#alttext-manager-mask);
1810
- mask:url(#alttext-manager-mask);
1811
- }
2432
+ #highlightParamsToolbarContainer{
2433
+ height:auto;
2434
+ padding-inline:10px;
2435
+ padding-block:10px 16px;
2436
+ gap:16px;
2437
+ display:flex;
2438
+ flex-direction:column;
2439
+ box-sizing:border-box;
2440
+ }
1812
2441
 
1813
- #altTextDialog.positioned{
1814
- margin:0;
2442
+ #highlightParamsToolbarContainer .editorParamsLabel{
2443
+ width:-moz-fit-content;
2444
+ width:fit-content;
2445
+ inset-inline-start:0;
1815
2446
  }
1816
2447
 
1817
- #altTextDialog #altTextContainer{
1818
- width:300px;
1819
- height:-moz-fit-content;
1820
- height:fit-content;
1821
- display:inline-flex;
2448
+ #highlightParamsToolbarContainer .colorPicker{
2449
+ display:flex;
1822
2450
  flex-direction:column;
1823
- align-items:flex-start;
1824
- gap:16px;
2451
+ gap:8px;
1825
2452
  }
1826
2453
 
1827
- #altTextDialog #altTextContainer *:focus-visible{
1828
- outline:var(--focus-ring-outline);
1829
- outline-offset:2px;
1830
- }
1831
-
1832
- #altTextDialog #altTextContainer .radio{
2454
+ #highlightParamsToolbarContainer .colorPicker .dropdown{
1833
2455
  display:flex;
1834
- flex-direction:column;
1835
- align-items:flex-start;
1836
- gap:4px;
2456
+ justify-content:space-between;
2457
+ align-items:center;
2458
+ flex-direction:row;
2459
+ height:auto;
1837
2460
  }
1838
2461
 
1839
- #altTextDialog #altTextContainer .radio .radioButton{
2462
+ #highlightParamsToolbarContainer .colorPicker .dropdown button{
2463
+ width:auto;
2464
+ height:auto;
2465
+ border:none;
2466
+ cursor:pointer;
1840
2467
  display:flex;
1841
- gap:8px;
1842
- align-self:stretch;
2468
+ justify-content:center;
1843
2469
  align-items:center;
2470
+ background:none;
2471
+ flex:0 0 auto;
1844
2472
  }
1845
2473
 
1846
- #altTextDialog #altTextContainer .radio .radioButton input{
1847
- -webkit-appearance:none;
1848
- -moz-appearance:none;
1849
- appearance:none;
1850
- box-sizing:border-box;
1851
- width:16px;
1852
- height:16px;
1853
- border-radius:50%;
1854
- background-color:var(--radio-bg-color);
1855
- border:1px solid var(--radio-border-color);
2474
+ #highlightParamsToolbarContainer .colorPicker .dropdown button .swatch{
2475
+ width:24px;
2476
+ height:24px;
1856
2477
  }
1857
2478
 
1858
- #altTextDialog #altTextContainer .radio .radioButton input:hover{
1859
- filter:var(--hover-filter);
1860
- }
1861
-
1862
- #altTextDialog #altTextContainer .radio .radioButton input:checked{
1863
- background-color:var(--radio-checked-bg-color);
1864
- border:4px solid var(--radio-checked-border-color);
1865
- }
2479
+ #highlightParamsToolbarContainer .colorPicker .dropdown button:is(:active, :focus-visible){
2480
+ outline:none;
2481
+ }
1866
2482
 
1867
- #altTextDialog #altTextContainer .radio .radioLabel{
1868
- display:flex;
1869
- padding-inline-start:24px;
1870
- align-items:flex-start;
1871
- gap:10px;
1872
- align-self:stretch;
1873
- }
2483
+ #highlightParamsToolbarContainer .colorPicker .dropdown button[aria-selected="true"] > .swatch{
2484
+ outline:2px solid var(--selected-outline-color);
2485
+ }
1874
2486
 
1875
- #altTextDialog #altTextContainer .radio .radioLabel span{
1876
- flex:1 0 0;
1877
- font-size:11px;
1878
- color:var(--text-secondary-color);
2487
+ #highlightParamsToolbarContainer .colorPicker .dropdown button:is(:hover, :active, :focus-visible) > .swatch{
2488
+ outline:2px solid var(--hover-outline-color);
1879
2489
  }
1880
2490
 
1881
- #altTextDialog #altTextContainer #overallDescription{
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{
1882
2506
  display:flex;
1883
- flex-direction:column;
1884
- align-items:flex-start;
1885
- gap:4px;
2507
+ justify-content:space-between;
2508
+ align-items:center;
1886
2509
  align-self:stretch;
2510
+
2511
+ --example-color:#bfbfc9;
1887
2512
  }
1888
2513
 
1889
- #altTextDialog #altTextContainer #overallDescription span{
1890
- align-self:stretch;
1891
- }
2514
+ @media (prefers-color-scheme: dark){
1892
2515
 
1893
- #altTextDialog #altTextContainer #overallDescription .title{
1894
- font-size:13px;
1895
- font-style:normal;
1896
- font-weight:590;
2516
+ :where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2517
+ --example-color:#80808e;
2518
+ }
1897
2519
  }
1898
2520
 
1899
- #altTextDialog #altTextContainer #addDescription{
1900
- display:flex;
1901
- flex-direction:column;
1902
- align-items:stretch;
1903
- gap:8px;
2521
+ :where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2522
+ --example-color:#80808e;
1904
2523
  }
1905
2524
 
1906
- #altTextDialog #altTextContainer #addDescription .descriptionArea{
1907
- flex:1;
1908
- padding-inline:24px 10px;
2525
+ @media screen and (forced-colors: active){
2526
+
2527
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{
2528
+ --example-color:CanvasText;
2529
+ }
1909
2530
  }
1910
2531
 
1911
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea{
1912
- font:inherit;
1913
- width:100%;
1914
- min-height:75px;
1915
- padding:8px;
1916
- resize:none;
1917
- margin:0;
1918
- box-sizing:border-box;
1919
- border-radius:4px;
1920
- border:1px solid var(--textarea-border-color);
1921
- background:var(--textarea-bg-color);
1922
- color:var(--textarea-fg-color);
1923
- }
2532
+ :is(#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker > .editorParamsSlider[disabled]){
2533
+ opacity:0.4;
2534
+ }
1924
2535
 
1925
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea:focus{
1926
- outline-offset:0;
1927
- border-color:transparent;
1928
- }
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
+ }
1929
2545
 
1930
- #altTextDialog #altTextContainer #addDescription .descriptionArea textarea:disabled{
1931
- pointer-events:none;
1932
- opacity:0.4;
1933
- }
2546
+ #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{
2547
+ width:24px;
2548
+ }
1934
2549
 
1935
- #altTextDialog #altTextContainer #buttons{
1936
- display:flex;
1937
- justify-content:flex-end;
1938
- align-items:flex-start;
1939
- gap:8px;
1940
- align-self:stretch;
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);
1941
2570
  }
1942
2571
 
1943
- #altTextDialog #altTextContainer #buttons button{
1944
- border-radius:4px;
1945
- border:1px solid;
1946
- font:menu;
1947
- font-weight:600;
1948
- padding:4px 16px;
1949
- width:auto;
1950
- height:32px;
1951
- }
2572
+ @media (prefers-color-scheme: dark){
1952
2573
 
1953
- #altTextDialog #altTextContainer #buttons button:hover{
1954
- cursor:pointer;
1955
- filter:var(--hover-filter);
1956
- }
2574
+ :where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2575
+ --divider-color:#8f8f9d;
2576
+ }
2577
+ }
1957
2578
 
1958
- #altTextDialog #altTextContainer #buttons button#altTextCancel{
1959
- color:var(--button-cancel-fg-color);
1960
- background-color:var(--button-cancel-bg-color);
1961
- border-color:var(--button-cancel-border-color);
1962
- }
2579
+ :where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2580
+ --divider-color:#8f8f9d;
2581
+ }
1963
2582
 
1964
- #altTextDialog #altTextContainer #buttons button#altTextCancel:hover{
1965
- color:var(--button-cancel-hover-fg-color);
1966
- background-color:var(--button-cancel-hover-bg-color);
1967
- border-color:var(--button-cancel-hover-border-color);
1968
- }
2583
+ @media screen and (forced-colors: active){
1969
2584
 
1970
- #altTextDialog #altTextContainer #buttons button#altTextSave{
1971
- color:var(--button-save-hover-fg-color);
1972
- background-color:var(--button-save-hover-bg-color);
1973
- border-color:var(--button-save-hover-border-color);
1974
- opacity:1;
1975
- }
2585
+ #highlightParamsToolbarContainer #editorHighlightVisibility .divider{
2586
+ --divider-color:CanvasText;
2587
+ }
2588
+ }
1976
2589
 
1977
- #altTextDialog #altTextContainer #buttons button#altTextSave:hover{
1978
- color:var(--button-save-hover-fg-color);
1979
- background-color:var(--button-save-hover-bg-color);
1980
- border-color:var(--button-save-hover-border-color);
1981
- }
2590
+ #highlightParamsToolbarContainer #editorHighlightVisibility .toggler{
2591
+ display:flex;
2592
+ justify-content:space-between;
2593
+ align-items:center;
2594
+ align-self:stretch;
2595
+ }
1982
2596
 
1983
2597
  :root{
1984
2598
  --viewer-container-height:0;
@@ -2008,7 +2622,8 @@
2008
2622
  transform:rotate(270deg) translateX(-100%);
2009
2623
  }
2010
2624
 
2011
- #hiddenCopyElement{
2625
+ #hiddenCopyElement,
2626
+ .hiddenCanvasElement{
2012
2627
  position:absolute;
2013
2628
  top:0;
2014
2629
  left:0;
@@ -2021,14 +2636,45 @@
2021
2636
  --scale-factor:1;
2022
2637
 
2023
2638
  padding-bottom:var(--pdfViewer-padding-bottom);
2639
+
2640
+ --hcm-highlight-filter:none;
2641
+ --hcm-highlight-selected-filter:none;
2024
2642
  }
2025
2643
 
2026
- .pdfViewer .canvasWrapper{
2027
- overflow:hidden;
2028
- width:100%;
2029
- height:100%;
2030
- z-index:1;
2644
+ @media screen and (forced-colors: active){
2645
+
2646
+ .pdfViewer{
2647
+ --hcm-highlight-filter:invert(100%);
2031
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
+ }
2032
2678
 
2033
2679
  .pdfViewer .page{
2034
2680
  direction:ltr;
@@ -2091,24 +2737,6 @@
2091
2737
  margin-inline:5px;
2092
2738
  }
2093
2739
 
2094
- .pdfViewer .page canvas{
2095
- margin:0;
2096
- display:block;
2097
- }
2098
-
2099
- .pdfViewer .page canvas .structTree{
2100
- contain:strict;
2101
- }
2102
-
2103
- .pdfViewer .page canvas[hidden]{
2104
- display:none;
2105
- }
2106
-
2107
- .pdfViewer .page canvas[zooming]{
2108
- width:100%;
2109
- height:100%;
2110
- }
2111
-
2112
2740
  .pdfViewer .page.loadingIcon::after{
2113
2741
  position:absolute;
2114
2742
  top:0;
@@ -2208,6 +2836,7 @@
2208
2836
  --treeitem-expanded-icon:url(images/treeitem-expanded.svg);
2209
2837
  --treeitem-collapsed-icon:url(images/treeitem-collapsed.svg);
2210
2838
  --toolbarButton-editorFreeText-icon:url(images/toolbarButton-editorFreeText.svg);
2839
+ --toolbarButton-editorHighlight-icon:url(images/toolbarButton-editorHighlight.svg);
2211
2840
  --toolbarButton-editorInk-icon:url(images/toolbarButton-editorInk.svg);
2212
2841
  --toolbarButton-editorStamp-icon:url(images/toolbarButton-editorStamp.svg);
2213
2842
  --toolbarButton-menuArrow-icon:url(images/toolbarButton-menuArrow.svg);
@@ -2387,22 +3016,20 @@ body{
2387
3016
  scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color);
2388
3017
  }
2389
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
+
2390
3028
  .hidden,
2391
3029
  [hidden]{
2392
3030
  display:none !important;
2393
3031
  }
2394
3032
 
2395
- #viewerContainer.pdfPresentationMode:-webkit-full-screen{
2396
- top:0;
2397
- background-color:rgb(0 0 0);
2398
- width:100%;
2399
- height:100%;
2400
- overflow:hidden;
2401
- cursor:none;
2402
- -webkit-user-select:none;
2403
- user-select:none;
2404
- }
2405
-
2406
3033
  #viewerContainer.pdfPresentationMode:fullscreen{
2407
3034
  top:0;
2408
3035
  background-color:rgb(0 0 0);
@@ -2415,18 +3042,10 @@ body{
2415
3042
  user-select:none;
2416
3043
  }
2417
3044
 
2418
- .pdfPresentationMode:-webkit-full-screen section:not([data-internal-link]){
2419
- pointer-events:none;
2420
- }
2421
-
2422
3045
  .pdfPresentationMode:fullscreen section:not([data-internal-link]){
2423
3046
  pointer-events:none;
2424
3047
  }
2425
3048
 
2426
- .pdfPresentationMode:-webkit-full-screen .textLayer span{
2427
- cursor:none;
2428
- }
2429
-
2430
3049
  .pdfPresentationMode:fullscreen .textLayer span{
2431
3050
  cursor:none;
2432
3051
  }
@@ -2684,6 +3303,7 @@ body{
2684
3303
  }
2685
3304
 
2686
3305
  .loadingInput:has(> #findInput[data-status="pending"])::after{
3306
+ display:block;
2687
3307
  visibility:visible;
2688
3308
  }
2689
3309
 
@@ -2715,6 +3335,11 @@ body{
2715
3335
  .editorParamsToolbarContainer .editorParamsLabel{
2716
3336
  padding-inline-end:10px;
2717
3337
  flex:none;
3338
+ font:menu;
3339
+ font-size:13px;
3340
+ font-style:normal;
3341
+ font-weight:400;
3342
+ line-height:150%;
2718
3343
  color:var(--main-color);
2719
3344
  }
2720
3345
 
@@ -2764,6 +3389,10 @@ body{
2764
3389
  inset-inline-end:calc(var(--editor-toolbar-base-offset) + 56px);
2765
3390
  }
2766
3391
 
3392
+ #editorHighlightParamsToolbar{
3393
+ inset-inline-end:calc(var(--editor-toolbar-base-offset) + 84px);
3394
+ }
3395
+
2767
3396
  #editorStampAddImage::before{
2768
3397
  -webkit-mask-image:var(--editorParams-stampAddImage-icon);
2769
3398
  mask-image:var(--editorParams-stampAddImage-icon);
@@ -3097,6 +3726,11 @@ body{
3097
3726
  mask-image:var(--toolbarButton-editorFreeText-icon);
3098
3727
  }
3099
3728
 
3729
+ #editorHighlight::before{
3730
+ -webkit-mask-image:var(--toolbarButton-editorHighlight-icon);
3731
+ mask-image:var(--toolbarButton-editorHighlight-icon);
3732
+ }
3733
+
3100
3734
  #editorInk::before{
3101
3735
  -webkit-mask-image:var(--toolbarButton-editorInk-icon);
3102
3736
  mask-image:var(--toolbarButton-editorInk-icon);
@@ -3319,6 +3953,7 @@ a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{
3319
3953
  }
3320
3954
 
3321
3955
  .loadingInput:has(> #pageNumber.loading)::after{
3956
+ display:block;
3322
3957
  visibility:visible;
3323
3958
 
3324
3959
  transition-property:visibility;
@@ -3328,6 +3963,7 @@ a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{
3328
3963
  .loadingInput::after{
3329
3964
  position:absolute;
3330
3965
  visibility:hidden;
3966
+ display:none;
3331
3967
  top:calc(50% - 8px);
3332
3968
  width:16px;
3333
3969
  height:16px;
@@ -3508,6 +4144,14 @@ a:focus > .thumbnail > .thumbnailImage,
3508
4144
  color:var(--treeitem-hover-color);
3509
4145
  }
3510
4146
 
4147
+ #outlineOptionsContainer{
4148
+ display:none;
4149
+ }
4150
+
4151
+ #sidebarContainer:has(#outlineView:not(.hidden)) #outlineOptionsContainer{
4152
+ display:inherit;
4153
+ }
4154
+
3511
4155
  .dialogButton{
3512
4156
  width:auto;
3513
4157
  margin:3px 4px 2px !important;