react-pdf-highlighter-plus 1.1.2 → 1.1.4

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.
@@ -0,0 +1,141 @@
1
+ .AreaHighlight {
2
+ position: absolute;
3
+ }
4
+
5
+ .AreaHighlight__part {
6
+ cursor: pointer;
7
+ position: absolute;
8
+ background: rgba(255, 226, 143, 1);
9
+ transition: background 0.3s, box-shadow 0.2s ease;
10
+ }
11
+
12
+ .AreaHighlight--scrolledTo .AreaHighlight__part {
13
+ box-shadow:
14
+ 0 0 0 2px #ff4141,
15
+ 0 0 0 4px rgba(255, 65, 65, 0.2);
16
+ }
17
+
18
+ /* Toolbar wrapper - creates hover bridge between toolbar and highlight */
19
+ .AreaHighlight__toolbar-wrapper {
20
+ z-index: 10;
21
+ }
22
+
23
+ /* Toolbar - appears on hover */
24
+ .AreaHighlight__toolbar {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 4px;
28
+ padding: 2px 4px;
29
+ background: rgba(0, 0, 0, 0.7);
30
+ border-radius: 4px;
31
+ opacity: 0;
32
+ pointer-events: none;
33
+ transition: opacity 0.2s ease;
34
+ }
35
+
36
+ .AreaHighlight__toolbar--visible {
37
+ opacity: 1;
38
+ pointer-events: auto;
39
+ }
40
+
41
+ .AreaHighlight__style-button,
42
+ .AreaHighlight__copy-button,
43
+ .AreaHighlight__delete-button {
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ width: 20px;
48
+ height: 20px;
49
+ border: none;
50
+ background: transparent;
51
+ cursor: pointer;
52
+ color: white;
53
+ border-radius: 3px;
54
+ padding: 0;
55
+ transition: background 0.2s;
56
+ }
57
+
58
+ .AreaHighlight__style-button:hover {
59
+ background: rgba(255, 255, 255, 0.2);
60
+ }
61
+
62
+ .AreaHighlight__copy-button:hover {
63
+ background: rgba(255, 255, 255, 0.2);
64
+ }
65
+
66
+ .AreaHighlight__delete-button:hover {
67
+ background: rgba(255, 100, 100, 0.6);
68
+ }
69
+
70
+ /* Style Panel */
71
+ .AreaHighlight__style-panel {
72
+ margin-top: 4px;
73
+ background: rgba(0, 0, 0, 0.9);
74
+ border-radius: 6px;
75
+ padding: 8px;
76
+ min-width: 160px;
77
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
78
+ }
79
+
80
+ .AreaHighlight__style-row {
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: space-between;
84
+ }
85
+
86
+ .AreaHighlight__style-row label {
87
+ color: #ccc;
88
+ font-size: 11px;
89
+ text-transform: uppercase;
90
+ letter-spacing: 0.5px;
91
+ margin-right: 8px;
92
+ }
93
+
94
+ /* Color options */
95
+ .AreaHighlight__color-options {
96
+ display: flex;
97
+ align-items: center;
98
+ gap: 6px;
99
+ }
100
+
101
+ .AreaHighlight__color-presets {
102
+ display: flex;
103
+ gap: 4px;
104
+ }
105
+
106
+ .AreaHighlight__color-preset {
107
+ width: 18px;
108
+ height: 18px;
109
+ border: 2px solid transparent;
110
+ border-radius: 50%;
111
+ cursor: pointer;
112
+ transition: transform 0.2s, border-color 0.2s;
113
+ padding: 0;
114
+ }
115
+
116
+ .AreaHighlight__color-preset:hover {
117
+ transform: scale(1.15);
118
+ }
119
+
120
+ .AreaHighlight__color-preset.active {
121
+ border-color: #b958ff;
122
+ }
123
+
124
+ .AreaHighlight__color-options input[type="color"] {
125
+ width: 24px;
126
+ height: 24px;
127
+ padding: 0;
128
+ border: none;
129
+ border-radius: 4px;
130
+ cursor: pointer;
131
+ background: transparent;
132
+ }
133
+
134
+ .AreaHighlight__color-options input[type="color"]::-webkit-color-swatch-wrapper {
135
+ padding: 0;
136
+ }
137
+
138
+ .AreaHighlight__color-options input[type="color"]::-webkit-color-swatch {
139
+ border: 1px solid #666;
140
+ border-radius: 4px;
141
+ }
@@ -0,0 +1,62 @@
1
+ .DrawingCanvas {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ z-index: 5;
6
+ cursor: crosshair;
7
+ touch-action: none;
8
+ }
9
+
10
+ .DrawingCanvas__controls {
11
+ position: fixed;
12
+ bottom: 20px;
13
+ left: 50%;
14
+ transform: translateX(-50%);
15
+ display: flex;
16
+ gap: 10px;
17
+ padding: 10px 20px;
18
+ background-color: rgba(43, 46, 51, 0.95);
19
+ border-radius: 8px;
20
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
21
+ z-index: 10;
22
+ }
23
+
24
+ .DrawingCanvas__controls button {
25
+ padding: 8px 16px;
26
+ border: none;
27
+ border-radius: 4px;
28
+ cursor: pointer;
29
+ font-size: 14px;
30
+ transition: background-color 0.2s, transform 0.1s;
31
+ }
32
+
33
+ .DrawingCanvas__controls button:hover {
34
+ transform: scale(1.02);
35
+ }
36
+
37
+ .DrawingCanvas__doneButton {
38
+ background-color: #4CAF50;
39
+ color: white;
40
+ }
41
+
42
+ .DrawingCanvas__doneButton:hover {
43
+ background-color: #45a049;
44
+ }
45
+
46
+ .DrawingCanvas__cancelButton {
47
+ background-color: #f44336;
48
+ color: white;
49
+ }
50
+
51
+ .DrawingCanvas__cancelButton:hover {
52
+ background-color: #da190b;
53
+ }
54
+
55
+ .DrawingCanvas__clearButton {
56
+ background-color: #ff9800;
57
+ color: white;
58
+ }
59
+
60
+ .DrawingCanvas__clearButton:hover {
61
+ background-color: #e68a00;
62
+ }
@@ -0,0 +1,194 @@
1
+ .DrawingHighlight {
2
+ position: absolute;
3
+ }
4
+
5
+ .DrawingHighlight__container {
6
+ width: 100%;
7
+ height: 100%;
8
+ display: flex;
9
+ flex-direction: column;
10
+ border-radius: 4px;
11
+ overflow: visible;
12
+ transition: box-shadow 0.2s ease;
13
+ }
14
+
15
+ .DrawingHighlight__container:hover {
16
+ box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.3);
17
+ }
18
+
19
+ .DrawingHighlight__toolbar {
20
+ display: flex;
21
+ align-items: center;
22
+ gap: 4px;
23
+ padding: 2px 4px;
24
+ background: rgba(0, 0, 0, 0.6);
25
+ border-radius: 4px;
26
+ position: absolute;
27
+ top: 4px;
28
+ left: 4px;
29
+ z-index: 10;
30
+ opacity: 0;
31
+ transition: opacity 0.2s ease;
32
+ }
33
+
34
+ .DrawingHighlight__toolbar--floating {
35
+ position: absolute;
36
+ top: auto;
37
+ left: auto;
38
+ }
39
+
40
+ .DrawingHighlight__toolbar--visible {
41
+ opacity: 1;
42
+ }
43
+
44
+ .DrawingHighlight__container:hover .DrawingHighlight__toolbar {
45
+ opacity: 1;
46
+ }
47
+
48
+ .DrawingHighlight__drag-handle {
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: center;
52
+ width: 20px;
53
+ height: 20px;
54
+ cursor: grab;
55
+ color: white;
56
+ border-radius: 3px;
57
+ transition: background 0.2s;
58
+ }
59
+
60
+ .DrawingHighlight__drag-handle:hover {
61
+ background: rgba(255, 255, 255, 0.2);
62
+ }
63
+
64
+ .DrawingHighlight__drag-handle:active {
65
+ cursor: grabbing;
66
+ }
67
+
68
+ .DrawingHighlight__content {
69
+ flex: 1;
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ overflow: hidden;
74
+ border-radius: 4px;
75
+ /* Transparent background for drawings */
76
+ background: transparent;
77
+ }
78
+
79
+ .DrawingHighlight__image {
80
+ max-width: 100%;
81
+ max-height: 100%;
82
+ object-fit: contain;
83
+ pointer-events: none;
84
+ user-select: none;
85
+ }
86
+
87
+ .DrawingHighlight--scrolledTo .DrawingHighlight__container {
88
+ box-shadow: 0 0 0 3px #ff4141, 2px 2px 8px rgba(0, 0, 0, 0.2);
89
+ }
90
+
91
+ /* Style edit button */
92
+ .DrawingHighlight__style-button {
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ width: 20px;
97
+ height: 20px;
98
+ padding: 0;
99
+ background: transparent;
100
+ border: none;
101
+ cursor: pointer;
102
+ color: white;
103
+ border-radius: 3px;
104
+ transition: background 0.2s;
105
+ }
106
+
107
+ .DrawingHighlight__style-button:hover {
108
+ background: rgba(255, 255, 255, 0.2);
109
+ }
110
+
111
+ /* Style controls dropdown */
112
+ .DrawingHighlight__style-controls {
113
+ position: absolute;
114
+ top: 28px;
115
+ left: 4px;
116
+ background: rgba(0, 0, 0, 0.85);
117
+ border-radius: 6px;
118
+ padding: 8px;
119
+ z-index: 20;
120
+ display: flex;
121
+ flex-direction: column;
122
+ gap: 8px;
123
+ min-width: 120px;
124
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
125
+ }
126
+
127
+ .DrawingHighlight__color-picker {
128
+ display: flex;
129
+ gap: 4px;
130
+ flex-wrap: wrap;
131
+ }
132
+
133
+ .DrawingHighlight__color-button {
134
+ width: 20px;
135
+ height: 20px;
136
+ border: 2px solid transparent;
137
+ border-radius: 50%;
138
+ cursor: pointer;
139
+ transition: transform 0.2s, border-color 0.2s;
140
+ padding: 0;
141
+ }
142
+
143
+ .DrawingHighlight__color-button:hover {
144
+ transform: scale(1.15);
145
+ }
146
+
147
+ .DrawingHighlight__color-button.active {
148
+ border-color: #b958ff;
149
+ }
150
+
151
+ .DrawingHighlight__width-picker {
152
+ display: flex;
153
+ gap: 4px;
154
+ }
155
+
156
+ .DrawingHighlight__width-button {
157
+ background: transparent;
158
+ color: #f5f5f5;
159
+ border: 1px solid #666;
160
+ border-radius: 4px;
161
+ cursor: pointer;
162
+ font-size: 10px;
163
+ padding: 2px 6px;
164
+ transition: color 0.2s, border-color 0.2s, background-color 0.2s;
165
+ }
166
+
167
+ .DrawingHighlight__width-button:hover {
168
+ border-color: #b958ff;
169
+ }
170
+
171
+ .DrawingHighlight__width-button.active {
172
+ color: #b958ff;
173
+ border-color: #b958ff;
174
+ background-color: rgba(185, 88, 255, 0.2);
175
+ }
176
+
177
+ .DrawingHighlight__delete-button {
178
+ display: flex;
179
+ align-items: center;
180
+ justify-content: center;
181
+ width: 20px;
182
+ height: 20px;
183
+ border: none;
184
+ background: transparent;
185
+ cursor: pointer;
186
+ color: white;
187
+ border-radius: 3px;
188
+ padding: 0;
189
+ transition: background 0.2s;
190
+ }
191
+
192
+ .DrawingHighlight__delete-button:hover {
193
+ background: rgba(255, 100, 100, 0.6);
194
+ }
@@ -0,0 +1,309 @@
1
+ .FreetextHighlight {
2
+ position: absolute;
3
+ z-index: 30;
4
+ isolation: isolate;
5
+ }
6
+
7
+ .FreetextHighlight--editing,
8
+ .FreetextHighlight:hover {
9
+ z-index: 40;
10
+ }
11
+
12
+ .FreetextHighlight--collapsed {
13
+ z-index: 35;
14
+ }
15
+
16
+ .FreetextHighlight__container {
17
+ display: flex;
18
+ flex-direction: column;
19
+ width: 100%;
20
+ height: 100%;
21
+ border-radius: 4px;
22
+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
23
+ overflow: visible;
24
+ transition: box-shadow 0.2s ease;
25
+ }
26
+
27
+ .FreetextHighlight__rnd {
28
+ z-index: inherit;
29
+ }
30
+
31
+ .FreetextHighlight__container:hover {
32
+ box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.3);
33
+ }
34
+
35
+ .FreetextHighlight__toolbar {
36
+ display: flex;
37
+ align-items: center;
38
+ gap: 4px;
39
+ padding: 2px 4px;
40
+ background: rgba(0, 0, 0, 0.6);
41
+ border-radius: 4px;
42
+ position: absolute;
43
+ top: 4px;
44
+ left: 4px;
45
+ z-index: 10;
46
+ opacity: 0;
47
+ transition: opacity 0.2s ease;
48
+ }
49
+
50
+ .FreetextHighlight__container:hover .FreetextHighlight__toolbar {
51
+ opacity: 1;
52
+ }
53
+
54
+ .FreetextHighlight__drag-handle {
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: center;
58
+ width: 20px;
59
+ height: 20px;
60
+ cursor: grab;
61
+ user-select: none;
62
+ color: white;
63
+ border-radius: 3px;
64
+ transition: background 0.2s;
65
+ }
66
+
67
+ .FreetextHighlight__drag-handle:hover {
68
+ background: rgba(255, 255, 255, 0.2);
69
+ }
70
+
71
+ .FreetextHighlight__drag-handle:active {
72
+ cursor: grabbing;
73
+ }
74
+
75
+ .FreetextHighlight__edit-button {
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ width: 20px;
80
+ height: 20px;
81
+ border: none;
82
+ background: transparent;
83
+ cursor: pointer;
84
+ color: white;
85
+ border-radius: 3px;
86
+ padding: 0;
87
+ transition: background 0.2s;
88
+ }
89
+
90
+ .FreetextHighlight__edit-button:hover {
91
+ background: rgba(255, 255, 255, 0.2);
92
+ }
93
+
94
+ .FreetextHighlight__content {
95
+ flex: 1;
96
+ padding: 8px;
97
+ overflow: hidden;
98
+ position: relative;
99
+ z-index: 1;
100
+ }
101
+
102
+ .FreetextHighlight__text {
103
+ width: 100%;
104
+ height: 100%;
105
+ cursor: text;
106
+ overflow: auto;
107
+ word-wrap: break-word;
108
+ white-space: pre-wrap;
109
+ }
110
+
111
+ .FreetextHighlight__input {
112
+ width: 100%;
113
+ height: 100%;
114
+ border: none;
115
+ background: transparent;
116
+ font: inherit;
117
+ color: inherit;
118
+ resize: none;
119
+ outline: none;
120
+ padding: 0;
121
+ margin: 0;
122
+ }
123
+
124
+ .FreetextHighlight--scrolledTo .FreetextHighlight__container {
125
+ box-shadow: 0 0 0 3px #ff4141, 2px 2px 8px rgba(0, 0, 0, 0.2);
126
+ }
127
+
128
+ .FreetextHighlight--editing .FreetextHighlight__container {
129
+ box-shadow: 0 0 0 2px #4a90d9, 2px 2px 8px rgba(0, 0, 0, 0.2);
130
+ }
131
+
132
+ .FreetextHighlight__style-button {
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ width: 20px;
137
+ height: 20px;
138
+ border: none;
139
+ background: transparent;
140
+ cursor: pointer;
141
+ color: white;
142
+ border-radius: 3px;
143
+ padding: 0;
144
+ transition: background 0.2s;
145
+ }
146
+
147
+ .FreetextHighlight__style-button:hover {
148
+ background: rgba(255, 255, 255, 0.2);
149
+ }
150
+
151
+ .FreetextHighlight__style-panel {
152
+ position: absolute;
153
+ top: 100%;
154
+ left: 0;
155
+ right: 0;
156
+ background: white;
157
+ border: 1px solid rgba(0, 0, 0, 0.15);
158
+ border-radius: 4px;
159
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
160
+ padding: 8px;
161
+ z-index: 9999;
162
+ margin-top: 2px;
163
+ }
164
+
165
+ .FreetextHighlight__style-row {
166
+ display: flex;
167
+ flex-direction: column;
168
+ align-items: flex-start;
169
+ gap: 4px;
170
+ margin-bottom: 8px;
171
+ }
172
+
173
+ .FreetextHighlight__style-row:last-child {
174
+ margin-bottom: 0;
175
+ }
176
+
177
+ .FreetextHighlight__style-row label {
178
+ font-size: 11px;
179
+ color: #555;
180
+ white-space: nowrap;
181
+ }
182
+
183
+ .FreetextHighlight__style-row input[type="color"] {
184
+ width: 28px;
185
+ height: 24px;
186
+ border: 1px solid rgba(0, 0, 0, 0.15);
187
+ border-radius: 3px;
188
+ padding: 0;
189
+ cursor: pointer;
190
+ }
191
+
192
+ .FreetextHighlight__style-row select {
193
+ padding: 4px 6px;
194
+ font-size: 11px;
195
+ border: 1px solid rgba(0, 0, 0, 0.15);
196
+ border-radius: 3px;
197
+ background: white;
198
+ cursor: pointer;
199
+ min-width: 80px;
200
+ }
201
+
202
+ .FreetextHighlight__color-options {
203
+ display: flex;
204
+ align-items: center;
205
+ gap: 6px;
206
+ flex-wrap: wrap;
207
+ width: 100%;
208
+ }
209
+
210
+ .FreetextHighlight__color-presets {
211
+ display: flex;
212
+ gap: 4px;
213
+ flex-wrap: wrap;
214
+ }
215
+
216
+ .FreetextHighlight__color-preset {
217
+ width: 20px;
218
+ height: 20px;
219
+ border: 2px solid rgba(0, 0, 0, 0.15);
220
+ border-radius: 3px;
221
+ cursor: pointer;
222
+ padding: 0;
223
+ transition: transform 0.15s, border-color 0.15s;
224
+ }
225
+
226
+ .FreetextHighlight__color-preset:hover {
227
+ transform: scale(1.15);
228
+ border-color: rgba(0, 0, 0, 0.3);
229
+ }
230
+
231
+ .FreetextHighlight__color-preset.active {
232
+ border-color: #333;
233
+ box-shadow: 0 0 0 1px white, 0 0 0 2px #333;
234
+ }
235
+
236
+ .FreetextHighlight__color-preset--transparent {
237
+ background:
238
+ linear-gradient(45deg, #ccc 25%, transparent 25%),
239
+ linear-gradient(-45deg, #ccc 25%, transparent 25%),
240
+ linear-gradient(45deg, transparent 75%, #ccc 75%),
241
+ linear-gradient(-45deg, transparent 75%, #ccc 75%);
242
+ background-size: 8px 8px;
243
+ background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
244
+ background-color: white;
245
+ }
246
+
247
+ .FreetextHighlight__delete-button {
248
+ display: flex;
249
+ align-items: center;
250
+ justify-content: center;
251
+ width: 20px;
252
+ height: 20px;
253
+ border: none;
254
+ background: transparent;
255
+ cursor: pointer;
256
+ color: white;
257
+ border-radius: 3px;
258
+ padding: 0;
259
+ transition: background 0.2s;
260
+ }
261
+
262
+ .FreetextHighlight__delete-button:hover {
263
+ background: rgba(255, 100, 100, 0.6);
264
+ }
265
+
266
+ .FreetextHighlight__collapse-button {
267
+ display: flex;
268
+ align-items: center;
269
+ justify-content: center;
270
+ width: 20px;
271
+ height: 20px;
272
+ border: none;
273
+ background: transparent;
274
+ cursor: pointer;
275
+ color: white;
276
+ border-radius: 3px;
277
+ padding: 0;
278
+ transition: background 0.2s;
279
+ }
280
+
281
+ .FreetextHighlight__collapse-button:hover {
282
+ background: rgba(255, 255, 255, 0.2);
283
+ }
284
+
285
+ .FreetextHighlight--collapsed .FreetextHighlight__container {
286
+ align-items: center;
287
+ justify-content: center;
288
+ border-radius: 999px;
289
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
290
+ overflow: hidden;
291
+ }
292
+
293
+ .FreetextHighlight__compact-button {
294
+ display: flex;
295
+ align-items: center;
296
+ justify-content: center;
297
+ width: 100%;
298
+ height: 100%;
299
+ border: none;
300
+ border-radius: inherit;
301
+ background: transparent;
302
+ color: inherit;
303
+ cursor: pointer;
304
+ padding: 0;
305
+ }
306
+
307
+ .FreetextHighlight__compact-button:hover {
308
+ background: rgba(0, 0, 0, 0.08);
309
+ }