@edgepdf/viewer-js 0.0.1 → 0.0.3

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.
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/index.js CHANGED
@@ -10586,6 +10586,8 @@ var MarkerManager = class {
10586
10586
  showEditButton: true,
10587
10587
  showDeleteButton: true
10588
10588
  };
10589
+ defaultIconType = "pin";
10590
+ iconBasePath = "/";
10589
10591
  /**
10590
10592
  * Creates a new MarkerManager instance
10591
10593
  *
@@ -10672,7 +10674,8 @@ var MarkerManager = class {
10672
10674
  annotation: options.annotation,
10673
10675
  href: options.href,
10674
10676
  target: options.target,
10675
- showLabel: options.showLabel ?? true
10677
+ showLabel: options.showLabel ?? true,
10678
+ iconType: options.iconType || this.defaultIconType
10676
10679
  };
10677
10680
  this.validateMarker(marker);
10678
10681
  const leafletMarker = this.createLeafletMarker(marker);
@@ -11054,6 +11057,75 @@ var MarkerManager = class {
11054
11057
  this.eventListeners.clear();
11055
11058
  }
11056
11059
  }
11060
+ /**
11061
+ * Sets the default icon type for new markers
11062
+ *
11063
+ * @param iconType - Icon type to use as default
11064
+ */
11065
+ setDefaultIconType(iconType) {
11066
+ this.defaultIconType = iconType;
11067
+ }
11068
+ /**
11069
+ * Gets the current default icon type
11070
+ *
11071
+ * @returns Current default icon type
11072
+ */
11073
+ getDefaultIconType() {
11074
+ return this.defaultIconType;
11075
+ }
11076
+ /**
11077
+ * Sets the base path for marker icons
11078
+ *
11079
+ * @param basePath - Base path for icon files (default: '/')
11080
+ */
11081
+ setIconBasePath(basePath) {
11082
+ this.iconBasePath = basePath.endsWith("/") ? basePath : `${basePath}/`;
11083
+ }
11084
+ /**
11085
+ * Updates the icon type for a specific marker
11086
+ *
11087
+ * @param id - Marker ID
11088
+ * @param iconType - New icon type
11089
+ * @returns True if marker was updated, false if not found
11090
+ */
11091
+ updateMarkerIcon(id, iconType) {
11092
+ const marker = this.markers.get(id);
11093
+ const leafletMarker = this.leafletMarkers.get(id);
11094
+ if (!marker || !leafletMarker) {
11095
+ return false;
11096
+ }
11097
+ const isSelected = this.selectedIds.has(id);
11098
+ if (isSelected && (iconType === "pin-gray" || iconType === "pin-yellow" || iconType === "pin")) {
11099
+ if (iconType === "pin-gray" || iconType === "pin") {
11100
+ iconType = "pin-gray-selected";
11101
+ } else if (iconType === "pin-yellow") {
11102
+ iconType = "pin-yellow-selected";
11103
+ }
11104
+ }
11105
+ marker.iconType = iconType;
11106
+ const newIcon = this.createCustomIcon(iconType);
11107
+ leafletMarker.setIcon(newIcon);
11108
+ return true;
11109
+ }
11110
+ /**
11111
+ * Updates all markers to use a new icon type
11112
+ *
11113
+ * @param iconType - Icon type to apply to all markers
11114
+ */
11115
+ updateAllMarkerIcons(iconType) {
11116
+ this.markers.forEach((marker, id) => {
11117
+ const isSelected = this.selectedIds.has(id);
11118
+ let finalIconType = iconType;
11119
+ if (isSelected) {
11120
+ if (iconType === "pin-gray" || iconType === "pin") {
11121
+ finalIconType = "pin-gray-selected";
11122
+ } else if (iconType === "pin-yellow") {
11123
+ finalIconType = "pin-yellow-selected";
11124
+ }
11125
+ }
11126
+ this.updateMarkerIcon(id, finalIconType);
11127
+ });
11128
+ }
11057
11129
  /**
11058
11130
  * Disposes of the marker manager and cleans up resources
11059
11131
  *
@@ -11066,6 +11138,28 @@ var MarkerManager = class {
11066
11138
  this.map.removeLayer(this.markerLayerGroup);
11067
11139
  }
11068
11140
  }
11141
+ /**
11142
+ * Creates a custom icon for a marker
11143
+ *
11144
+ * @param iconType - Icon type to use
11145
+ * @returns Leaflet icon instance
11146
+ */
11147
+ createCustomIcon(iconType) {
11148
+ const iconUrl = `${this.iconBasePath}${iconType}.png`;
11149
+ return import_leaflet3.default.icon({
11150
+ iconUrl,
11151
+ iconSize: [30, 40],
11152
+ // Default marker size
11153
+ iconAnchor: [30, 10],
11154
+ // Point of the icon which will correspond to marker's location
11155
+ popupAnchor: [0, 0],
11156
+ // Point from which the popup should open relative to the iconAnchor
11157
+ shadowUrl: void 0,
11158
+ // No shadow
11159
+ shadowSize: void 0,
11160
+ shadowAnchor: void 0
11161
+ });
11162
+ }
11069
11163
  /**
11070
11164
  * Creates a Leaflet marker from marker data
11071
11165
  *
@@ -11073,8 +11167,11 @@ var MarkerManager = class {
11073
11167
  * @returns Leaflet marker instance
11074
11168
  */
11075
11169
  createLeafletMarker(marker) {
11170
+ const iconType = marker.iconType || this.defaultIconType;
11171
+ const customIcon = this.createCustomIcon(iconType);
11076
11172
  const markerOptions = {
11077
- title: marker.title
11173
+ title: marker.title,
11174
+ icon: customIcon
11078
11175
  };
11079
11176
  if (this.interactionConfig.draggable) {
11080
11177
  markerOptions.draggable = true;
@@ -11177,20 +11274,32 @@ var MarkerManager = class {
11177
11274
  * @param selected - Whether marker is selected
11178
11275
  */
11179
11276
  updateMarkerSelectionVisual(id, selected) {
11277
+ const marker = this.markers.get(id);
11180
11278
  const leafletMarker = this.leafletMarkers.get(id);
11181
- if (!leafletMarker) {
11279
+ if (!marker || !leafletMarker) {
11182
11280
  return;
11183
11281
  }
11184
- const iconElement = leafletMarker.getElement();
11185
- if (iconElement) {
11186
- if (selected) {
11187
- iconElement.style.filter = "drop-shadow(0 0 8px rgba(59, 130, 246, 0.8))";
11188
- iconElement.style.zIndex = "1000";
11282
+ let newIconType;
11283
+ if (selected) {
11284
+ if (marker.iconType === "pin-gray" || marker.iconType === "pin-gray-selected") {
11285
+ newIconType = "pin-gray-selected";
11286
+ } else if (marker.iconType === "pin-yellow" || marker.iconType === "pin-yellow-selected") {
11287
+ newIconType = "pin-yellow-selected";
11288
+ } else {
11289
+ newIconType = "pin-gray-selected";
11290
+ }
11291
+ } else {
11292
+ if (marker.iconType === "pin-gray" || marker.iconType === "pin-gray-selected") {
11293
+ newIconType = "pin-gray";
11294
+ } else if (marker.iconType === "pin-yellow" || marker.iconType === "pin-yellow-selected") {
11295
+ newIconType = "pin-yellow";
11189
11296
  } else {
11190
- iconElement.style.filter = "";
11191
- iconElement.style.zIndex = "";
11297
+ newIconType = marker.iconType || this.defaultIconType;
11192
11298
  }
11193
11299
  }
11300
+ marker.iconType = newIconType;
11301
+ const newIcon = this.createCustomIcon(newIconType);
11302
+ leafletMarker.setIcon(newIcon);
11194
11303
  }
11195
11304
  /**
11196
11305
  * Emits an event to all registered listeners
@@ -21,6 +21,8 @@ export interface CreateMarkerOptions {
21
21
  showLabel?: boolean;
22
22
  /** Custom marker ID (auto-generated if not provided) */
23
23
  id?: string;
24
+ /** Icon type for the marker */
25
+ iconType?: 'pin' | 'pin-gray' | 'pin-yellow' | 'pin-gray-selected' | 'pin-yellow-selected';
24
26
  }
25
27
  /**
26
28
  * MarkerManager - Manages markers on the Leaflet map
@@ -74,6 +76,8 @@ export declare class MarkerManager {
74
76
  private eventListeners;
75
77
  private selectedIds;
76
78
  private interactionConfig;
79
+ private defaultIconType;
80
+ private iconBasePath;
77
81
  /**
78
82
  * Creates a new MarkerManager instance
79
83
  *
@@ -296,12 +300,51 @@ export declare class MarkerManager {
296
300
  * @param eventType - Optional event type to clear
297
301
  */
298
302
  removeAllListeners(eventType?: MarkerEventType): void;
303
+ /**
304
+ * Sets the default icon type for new markers
305
+ *
306
+ * @param iconType - Icon type to use as default
307
+ */
308
+ setDefaultIconType(iconType: 'pin' | 'pin-gray' | 'pin-yellow' | 'pin-gray-selected' | 'pin-yellow-selected'): void;
309
+ /**
310
+ * Gets the current default icon type
311
+ *
312
+ * @returns Current default icon type
313
+ */
314
+ getDefaultIconType(): 'pin' | 'pin-gray' | 'pin-yellow' | 'pin-gray-selected' | 'pin-yellow-selected';
315
+ /**
316
+ * Sets the base path for marker icons
317
+ *
318
+ * @param basePath - Base path for icon files (default: '/')
319
+ */
320
+ setIconBasePath(basePath: string): void;
321
+ /**
322
+ * Updates the icon type for a specific marker
323
+ *
324
+ * @param id - Marker ID
325
+ * @param iconType - New icon type
326
+ * @returns True if marker was updated, false if not found
327
+ */
328
+ updateMarkerIcon(id: string, iconType: 'pin' | 'pin-gray' | 'pin-yellow' | 'pin-gray-selected' | 'pin-yellow-selected'): boolean;
329
+ /**
330
+ * Updates all markers to use a new icon type
331
+ *
332
+ * @param iconType - Icon type to apply to all markers
333
+ */
334
+ updateAllMarkerIcons(iconType: 'pin' | 'pin-gray' | 'pin-yellow' | 'pin-gray-selected' | 'pin-yellow-selected'): void;
299
335
  /**
300
336
  * Disposes of the marker manager and cleans up resources
301
337
  *
302
338
  * This should be called when the marker manager is no longer needed.
303
339
  */
304
340
  dispose(): void;
341
+ /**
342
+ * Creates a custom icon for a marker
343
+ *
344
+ * @param iconType - Icon type to use
345
+ * @returns Leaflet icon instance
346
+ */
347
+ private createCustomIcon;
305
348
  /**
306
349
  * Creates a Leaflet marker from marker data
307
350
  *
@@ -1 +1 @@
1
- {"version":3,"file":"marker-manager.d.ts","sourceRoot":"","sources":["../../src/lib/marker-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marker-manager.d.ts","sourceRoot":"","sources":["../../src/lib/marker-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,1003 @@
1
+ /* Re-export Leaflet CSS for convenience */
2
+ /* Inlined leaflet/dist/leaflet.css */
3
+ /* required styles */
4
+
5
+ .leaflet-pane,
6
+ .leaflet-tile,
7
+ .leaflet-marker-icon,
8
+ .leaflet-marker-shadow,
9
+ .leaflet-tile-container,
10
+ .leaflet-pane > svg,
11
+ .leaflet-pane > canvas,
12
+ .leaflet-zoom-box,
13
+ .leaflet-image-layer,
14
+ .leaflet-layer {
15
+ position: absolute;
16
+ left: 0;
17
+ top: 0;
18
+ }
19
+ .leaflet-container {
20
+ overflow: hidden;
21
+ }
22
+ .leaflet-tile,
23
+ .leaflet-marker-icon,
24
+ .leaflet-marker-shadow {
25
+ -webkit-user-select: none;
26
+ -moz-user-select: none;
27
+ user-select: none;
28
+ -webkit-user-drag: none;
29
+ }
30
+ /* Prevents IE11 from highlighting tiles in blue */
31
+ .leaflet-tile::selection {
32
+ background: transparent;
33
+ }
34
+ /* Safari renders non-retina tile on retina better with this, but Chrome is worse */
35
+ .leaflet-safari .leaflet-tile {
36
+ image-rendering: -webkit-optimize-contrast;
37
+ }
38
+ /* hack that prevents hw layers "stretching" when loading new tiles */
39
+ .leaflet-safari .leaflet-tile-container {
40
+ width: 1600px;
41
+ height: 1600px;
42
+ -webkit-transform-origin: 0 0;
43
+ }
44
+ .leaflet-marker-icon,
45
+ .leaflet-marker-shadow {
46
+ display: block;
47
+ }
48
+ /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
49
+ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
50
+ .leaflet-container .leaflet-overlay-pane svg {
51
+ max-width: none !important;
52
+ max-height: none !important;
53
+ }
54
+ .leaflet-container .leaflet-marker-pane img,
55
+ .leaflet-container .leaflet-shadow-pane img,
56
+ .leaflet-container .leaflet-tile-pane img,
57
+ .leaflet-container img.leaflet-image-layer,
58
+ .leaflet-container .leaflet-tile {
59
+ max-width: none !important;
60
+ max-height: none !important;
61
+ width: auto;
62
+ padding: 0;
63
+ }
64
+
65
+ .leaflet-container img.leaflet-tile {
66
+ /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
67
+ mix-blend-mode: plus-lighter;
68
+ }
69
+
70
+ .leaflet-container.leaflet-touch-zoom {
71
+ -ms-touch-action: pan-x pan-y;
72
+ touch-action: pan-x pan-y;
73
+ }
74
+ .leaflet-container.leaflet-touch-drag {
75
+ -ms-touch-action: pinch-zoom;
76
+ /* Fallback for FF which doesn't support pinch-zoom */
77
+ touch-action: none;
78
+ touch-action: pinch-zoom;
79
+ }
80
+ .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
81
+ -ms-touch-action: none;
82
+ touch-action: none;
83
+ }
84
+ .leaflet-container {
85
+ -webkit-tap-highlight-color: transparent;
86
+ }
87
+ .leaflet-container a {
88
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
89
+ }
90
+ .leaflet-tile {
91
+ filter: inherit;
92
+ visibility: hidden;
93
+ }
94
+ .leaflet-tile-loaded {
95
+ visibility: inherit;
96
+ }
97
+ .leaflet-zoom-box {
98
+ width: 0;
99
+ height: 0;
100
+ -moz-box-sizing: border-box;
101
+ box-sizing: border-box;
102
+ z-index: 800;
103
+ }
104
+ /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
105
+ .leaflet-overlay-pane svg {
106
+ -moz-user-select: none;
107
+ }
108
+
109
+ .leaflet-pane { z-index: 400; }
110
+
111
+ .leaflet-tile-pane { z-index: 200; }
112
+ .leaflet-overlay-pane { z-index: 400; }
113
+ .leaflet-shadow-pane { z-index: 500; }
114
+ .leaflet-marker-pane { z-index: 600; }
115
+ .leaflet-tooltip-pane { z-index: 650; }
116
+ .leaflet-popup-pane { z-index: 700; }
117
+
118
+ .leaflet-map-pane canvas { z-index: 100; }
119
+ .leaflet-map-pane svg { z-index: 200; }
120
+
121
+ .leaflet-vml-shape {
122
+ width: 1px;
123
+ height: 1px;
124
+ }
125
+ .lvml {
126
+ behavior: url(#default#VML);
127
+ display: inline-block;
128
+ position: absolute;
129
+ }
130
+
131
+
132
+ /* control positioning */
133
+
134
+ .leaflet-control {
135
+ position: relative;
136
+ z-index: 800;
137
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
138
+ pointer-events: auto;
139
+ }
140
+ .leaflet-top,
141
+ .leaflet-bottom {
142
+ position: absolute;
143
+ z-index: 1000;
144
+ pointer-events: none;
145
+ }
146
+ .leaflet-top {
147
+ top: 0;
148
+ }
149
+ .leaflet-right {
150
+ right: 0;
151
+ }
152
+ .leaflet-bottom {
153
+ bottom: 0;
154
+ }
155
+ .leaflet-left {
156
+ left: 0;
157
+ }
158
+ .leaflet-control {
159
+ float: left;
160
+ clear: both;
161
+ }
162
+ .leaflet-right .leaflet-control {
163
+ float: right;
164
+ }
165
+ .leaflet-top .leaflet-control {
166
+ margin-top: 10px;
167
+ }
168
+ .leaflet-bottom .leaflet-control {
169
+ margin-bottom: 10px;
170
+ }
171
+ .leaflet-left .leaflet-control {
172
+ margin-left: 10px;
173
+ }
174
+ .leaflet-right .leaflet-control {
175
+ margin-right: 10px;
176
+ }
177
+
178
+
179
+ /* zoom and fade animations */
180
+
181
+ .leaflet-fade-anim .leaflet-popup {
182
+ opacity: 0;
183
+ -webkit-transition: opacity 0.2s linear;
184
+ -moz-transition: opacity 0.2s linear;
185
+ transition: opacity 0.2s linear;
186
+ }
187
+ .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
188
+ opacity: 1;
189
+ }
190
+ .leaflet-zoom-animated {
191
+ -webkit-transform-origin: 0 0;
192
+ -ms-transform-origin: 0 0;
193
+ transform-origin: 0 0;
194
+ }
195
+ svg.leaflet-zoom-animated {
196
+ will-change: transform;
197
+ }
198
+
199
+ .leaflet-zoom-anim .leaflet-zoom-animated {
200
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
201
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
202
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
203
+ }
204
+ .leaflet-zoom-anim .leaflet-tile,
205
+ .leaflet-pan-anim .leaflet-tile {
206
+ -webkit-transition: none;
207
+ -moz-transition: none;
208
+ transition: none;
209
+ }
210
+
211
+ .leaflet-zoom-anim .leaflet-zoom-hide {
212
+ visibility: hidden;
213
+ }
214
+
215
+
216
+ /* cursors */
217
+
218
+ .leaflet-interactive {
219
+ cursor: pointer;
220
+ }
221
+ .leaflet-grab {
222
+ cursor: -webkit-grab;
223
+ cursor: -moz-grab;
224
+ cursor: grab;
225
+ }
226
+ .leaflet-crosshair,
227
+ .leaflet-crosshair .leaflet-interactive {
228
+ cursor: crosshair;
229
+ }
230
+ .leaflet-popup-pane,
231
+ .leaflet-control {
232
+ cursor: auto;
233
+ }
234
+ .leaflet-dragging .leaflet-grab,
235
+ .leaflet-dragging .leaflet-grab .leaflet-interactive,
236
+ .leaflet-dragging .leaflet-marker-draggable {
237
+ cursor: move;
238
+ cursor: -webkit-grabbing;
239
+ cursor: -moz-grabbing;
240
+ cursor: grabbing;
241
+ }
242
+
243
+ /* marker & overlays interactivity */
244
+ .leaflet-marker-icon,
245
+ .leaflet-marker-shadow,
246
+ .leaflet-image-layer,
247
+ .leaflet-pane > svg path,
248
+ .leaflet-tile-container {
249
+ pointer-events: none;
250
+ }
251
+
252
+ .leaflet-marker-icon.leaflet-interactive,
253
+ .leaflet-image-layer.leaflet-interactive,
254
+ .leaflet-pane > svg path.leaflet-interactive,
255
+ svg.leaflet-image-layer.leaflet-interactive path {
256
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
257
+ pointer-events: auto;
258
+ }
259
+
260
+ /* visual tweaks */
261
+
262
+ .leaflet-container {
263
+ background: #ddd;
264
+ outline-offset: 1px;
265
+ }
266
+ .leaflet-container a {
267
+ color: #0078A8;
268
+ }
269
+ .leaflet-zoom-box {
270
+ border: 2px dotted #38f;
271
+ background: rgba(255,255,255,0.5);
272
+ }
273
+
274
+
275
+ /* general typography */
276
+ .leaflet-container {
277
+ font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
278
+ font-size: 12px;
279
+ font-size: 0.75rem;
280
+ line-height: 1.5;
281
+ }
282
+
283
+
284
+ /* general toolbar styles */
285
+
286
+ .leaflet-bar {
287
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
288
+ border-radius: 4px;
289
+ }
290
+ .leaflet-bar a {
291
+ background-color: #fff;
292
+ border-bottom: 1px solid #ccc;
293
+ width: 26px;
294
+ height: 26px;
295
+ line-height: 26px;
296
+ display: block;
297
+ text-align: center;
298
+ text-decoration: none;
299
+ color: black;
300
+ }
301
+ .leaflet-bar a,
302
+ .leaflet-control-layers-toggle {
303
+ background-position: 50% 50%;
304
+ background-repeat: no-repeat;
305
+ display: block;
306
+ }
307
+ .leaflet-bar a:hover,
308
+ .leaflet-bar a:focus {
309
+ background-color: #f4f4f4;
310
+ }
311
+ .leaflet-bar a:first-child {
312
+ border-top-left-radius: 4px;
313
+ border-top-right-radius: 4px;
314
+ }
315
+ .leaflet-bar a:last-child {
316
+ border-bottom-left-radius: 4px;
317
+ border-bottom-right-radius: 4px;
318
+ border-bottom: none;
319
+ }
320
+ .leaflet-bar a.leaflet-disabled {
321
+ cursor: default;
322
+ background-color: #f4f4f4;
323
+ color: #bbb;
324
+ }
325
+
326
+ .leaflet-touch .leaflet-bar a {
327
+ width: 30px;
328
+ height: 30px;
329
+ line-height: 30px;
330
+ }
331
+ .leaflet-touch .leaflet-bar a:first-child {
332
+ border-top-left-radius: 2px;
333
+ border-top-right-radius: 2px;
334
+ }
335
+ .leaflet-touch .leaflet-bar a:last-child {
336
+ border-bottom-left-radius: 2px;
337
+ border-bottom-right-radius: 2px;
338
+ }
339
+
340
+ /* zoom control */
341
+
342
+ .leaflet-control-zoom-in,
343
+ .leaflet-control-zoom-out {
344
+ font: bold 18px 'Lucida Console', Monaco, monospace;
345
+ text-indent: 1px;
346
+ }
347
+
348
+ .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
349
+ font-size: 22px;
350
+ }
351
+
352
+
353
+ /* layers control */
354
+
355
+ .leaflet-control-layers {
356
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
357
+ background: #fff;
358
+ border-radius: 5px;
359
+ }
360
+ .leaflet-control-layers-toggle {
361
+ background-image: url(./images/layers.png);
362
+ width: 36px;
363
+ height: 36px;
364
+ }
365
+ .leaflet-retina .leaflet-control-layers-toggle {
366
+ background-image: url(./images/layers-2x.png);
367
+ background-size: 26px 26px;
368
+ }
369
+ .leaflet-touch .leaflet-control-layers-toggle {
370
+ width: 44px;
371
+ height: 44px;
372
+ }
373
+ .leaflet-control-layers .leaflet-control-layers-list,
374
+ .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
375
+ display: none;
376
+ }
377
+ .leaflet-control-layers-expanded .leaflet-control-layers-list {
378
+ display: block;
379
+ position: relative;
380
+ }
381
+ .leaflet-control-layers-expanded {
382
+ padding: 6px 10px 6px 6px;
383
+ color: #333;
384
+ background: #fff;
385
+ }
386
+ .leaflet-control-layers-scrollbar {
387
+ overflow-y: scroll;
388
+ overflow-x: hidden;
389
+ padding-right: 5px;
390
+ }
391
+ .leaflet-control-layers-selector {
392
+ margin-top: 2px;
393
+ position: relative;
394
+ top: 1px;
395
+ }
396
+ .leaflet-control-layers label {
397
+ display: block;
398
+ font-size: 13px;
399
+ font-size: 1.08333em;
400
+ }
401
+ .leaflet-control-layers-separator {
402
+ height: 0;
403
+ border-top: 1px solid #ddd;
404
+ margin: 5px -10px 5px -6px;
405
+ }
406
+
407
+ /* Default icon URLs */
408
+ .leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
409
+ background-image: url(./images/marker-icon.png);
410
+ }
411
+
412
+
413
+ /* attribution and scale controls */
414
+
415
+ .leaflet-container .leaflet-control-attribution {
416
+ background: #fff;
417
+ background: rgba(255, 255, 255, 0.8);
418
+ margin: 0;
419
+ }
420
+ .leaflet-control-attribution,
421
+ .leaflet-control-scale-line {
422
+ padding: 0 5px;
423
+ color: #333;
424
+ line-height: 1.4;
425
+ }
426
+ .leaflet-control-attribution a {
427
+ text-decoration: none;
428
+ }
429
+ .leaflet-control-attribution a:hover,
430
+ .leaflet-control-attribution a:focus {
431
+ text-decoration: underline;
432
+ }
433
+ .leaflet-attribution-flag {
434
+ display: inline !important;
435
+ vertical-align: baseline !important;
436
+ width: 1em;
437
+ height: 0.6669em;
438
+ }
439
+ .leaflet-left .leaflet-control-scale {
440
+ margin-left: 5px;
441
+ }
442
+ .leaflet-bottom .leaflet-control-scale {
443
+ margin-bottom: 5px;
444
+ }
445
+ .leaflet-control-scale-line {
446
+ border: 2px solid #777;
447
+ border-top: none;
448
+ line-height: 1.1;
449
+ padding: 2px 5px 1px;
450
+ white-space: nowrap;
451
+ -moz-box-sizing: border-box;
452
+ box-sizing: border-box;
453
+ background: rgba(255, 255, 255, 0.8);
454
+ text-shadow: 1px 1px #fff;
455
+ }
456
+ .leaflet-control-scale-line:not(:first-child) {
457
+ border-top: 2px solid #777;
458
+ border-bottom: none;
459
+ margin-top: -2px;
460
+ }
461
+ .leaflet-control-scale-line:not(:first-child):not(:last-child) {
462
+ border-bottom: 2px solid #777;
463
+ }
464
+
465
+ .leaflet-touch .leaflet-control-attribution,
466
+ .leaflet-touch .leaflet-control-layers,
467
+ .leaflet-touch .leaflet-bar {
468
+ box-shadow: none;
469
+ }
470
+ .leaflet-touch .leaflet-control-layers,
471
+ .leaflet-touch .leaflet-bar {
472
+ border: 2px solid rgba(0,0,0,0.2);
473
+ background-clip: padding-box;
474
+ }
475
+
476
+
477
+ /* popup */
478
+
479
+ .leaflet-popup {
480
+ position: absolute;
481
+ text-align: center;
482
+ margin-bottom: 20px;
483
+ }
484
+ .leaflet-popup-content-wrapper {
485
+ padding: 1px;
486
+ text-align: left;
487
+ border-radius: 12px;
488
+ }
489
+ .leaflet-popup-content {
490
+ margin: 13px 24px 13px 20px;
491
+ line-height: 1.3;
492
+ font-size: 13px;
493
+ font-size: 1.08333em;
494
+ min-height: 1px;
495
+ }
496
+ .leaflet-popup-content p {
497
+ margin: 17px 0;
498
+ margin: 1.3em 0;
499
+ }
500
+ .leaflet-popup-tip-container {
501
+ width: 40px;
502
+ height: 20px;
503
+ position: absolute;
504
+ left: 50%;
505
+ margin-top: -1px;
506
+ margin-left: -20px;
507
+ overflow: hidden;
508
+ pointer-events: none;
509
+ }
510
+ .leaflet-popup-tip {
511
+ width: 17px;
512
+ height: 17px;
513
+ padding: 1px;
514
+
515
+ margin: -10px auto 0;
516
+ pointer-events: auto;
517
+
518
+ -webkit-transform: rotate(45deg);
519
+ -moz-transform: rotate(45deg);
520
+ -ms-transform: rotate(45deg);
521
+ transform: rotate(45deg);
522
+ }
523
+ .leaflet-popup-content-wrapper,
524
+ .leaflet-popup-tip {
525
+ background: white;
526
+ color: #333;
527
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
528
+ }
529
+ .leaflet-container a.leaflet-popup-close-button {
530
+ position: absolute;
531
+ top: 0;
532
+ right: 0;
533
+ border: none;
534
+ text-align: center;
535
+ width: 24px;
536
+ height: 24px;
537
+ font: 16px/24px Tahoma, Verdana, sans-serif;
538
+ color: #757575;
539
+ text-decoration: none;
540
+ background: transparent;
541
+ }
542
+ .leaflet-container a.leaflet-popup-close-button:hover,
543
+ .leaflet-container a.leaflet-popup-close-button:focus {
544
+ color: #585858;
545
+ }
546
+ .leaflet-popup-scrolled {
547
+ overflow: auto;
548
+ }
549
+
550
+ .leaflet-oldie .leaflet-popup-content-wrapper {
551
+ -ms-zoom: 1;
552
+ }
553
+ .leaflet-oldie .leaflet-popup-tip {
554
+ width: 24px;
555
+ margin: 0 auto;
556
+
557
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
558
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
559
+ }
560
+
561
+ .leaflet-oldie .leaflet-control-zoom,
562
+ .leaflet-oldie .leaflet-control-layers,
563
+ .leaflet-oldie .leaflet-popup-content-wrapper,
564
+ .leaflet-oldie .leaflet-popup-tip {
565
+ border: 1px solid #999;
566
+ }
567
+
568
+
569
+ /* div icon */
570
+
571
+ .leaflet-div-icon {
572
+ background: #fff;
573
+ border: 1px solid #666;
574
+ }
575
+
576
+
577
+ /* Tooltip */
578
+ /* Base styles for the element that has a tooltip */
579
+ .leaflet-tooltip {
580
+ position: absolute;
581
+ padding: 6px;
582
+ background-color: #fff;
583
+ border: 1px solid #fff;
584
+ border-radius: 3px;
585
+ color: #222;
586
+ white-space: nowrap;
587
+ -webkit-user-select: none;
588
+ -moz-user-select: none;
589
+ -ms-user-select: none;
590
+ user-select: none;
591
+ pointer-events: none;
592
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
593
+ }
594
+ .leaflet-tooltip.leaflet-interactive {
595
+ cursor: pointer;
596
+ pointer-events: auto;
597
+ }
598
+ .leaflet-tooltip-top:before,
599
+ .leaflet-tooltip-bottom:before,
600
+ .leaflet-tooltip-left:before,
601
+ .leaflet-tooltip-right:before {
602
+ position: absolute;
603
+ pointer-events: none;
604
+ border: 6px solid transparent;
605
+ background: transparent;
606
+ content: "";
607
+ }
608
+
609
+ /* Directions */
610
+
611
+ .leaflet-tooltip-bottom {
612
+ margin-top: 6px;
613
+ }
614
+ .leaflet-tooltip-top {
615
+ margin-top: -6px;
616
+ }
617
+ .leaflet-tooltip-bottom:before,
618
+ .leaflet-tooltip-top:before {
619
+ left: 50%;
620
+ margin-left: -6px;
621
+ }
622
+ .leaflet-tooltip-top:before {
623
+ bottom: 0;
624
+ margin-bottom: -12px;
625
+ border-top-color: #fff;
626
+ }
627
+ .leaflet-tooltip-bottom:before {
628
+ top: 0;
629
+ margin-top: -12px;
630
+ margin-left: -6px;
631
+ border-bottom-color: #fff;
632
+ }
633
+ .leaflet-tooltip-left {
634
+ margin-left: -6px;
635
+ }
636
+ .leaflet-tooltip-right {
637
+ margin-left: 6px;
638
+ }
639
+ .leaflet-tooltip-left:before,
640
+ .leaflet-tooltip-right:before {
641
+ top: 50%;
642
+ margin-top: -6px;
643
+ }
644
+ .leaflet-tooltip-left:before {
645
+ right: 0;
646
+ margin-right: -12px;
647
+ border-left-color: #fff;
648
+ }
649
+ .leaflet-tooltip-right:before {
650
+ left: 0;
651
+ margin-left: -12px;
652
+ border-right-color: #fff;
653
+ }
654
+
655
+ /* Printing */
656
+
657
+ @media print {
658
+ /* Prevent printers from removing background-images of controls. */
659
+ .leaflet-control {
660
+ -webkit-print-color-adjust: exact;
661
+ print-color-adjust: exact;
662
+ }
663
+ }
664
+
665
+
666
+
667
+ /* Seamless tile rendering - removes borders and gaps between tiles */
668
+ .seamless-tiles img,
669
+ .leaflet-tile {
670
+ border: none !important;
671
+ outline: none !important;
672
+ margin: 0 !important;
673
+ padding: 0 !important;
674
+ }
675
+
676
+ .leaflet-layer {
677
+ border: none !important;
678
+ }
679
+
680
+ /* Marker tooltip alignment */
681
+ .edgepdf-marker-tooltip {
682
+ text-align: center;
683
+ white-space: nowrap;
684
+ }
685
+
686
+ /* Center the tooltip arrow */
687
+ .leaflet-tooltip-top.edgepdf-marker-tooltip::before,
688
+ .leaflet-tooltip-bottom.edgepdf-marker-tooltip::before {
689
+ left: 50% !important;
690
+ margin-left: -8px !important;
691
+ }
692
+
693
+ .leaflet-tooltip-left.edgepdf-marker-tooltip::before,
694
+ .leaflet-tooltip-right.edgepdf-marker-tooltip::before {
695
+ top: 50% !important;
696
+ margin-top: -8px !important;
697
+ }
698
+
699
+ /* Marker popup action buttons */
700
+ .edgepdf-marker-popup-actions {
701
+ display: flex;
702
+ gap: 8px;
703
+ margin-top: 12px;
704
+ padding-top: 12px;
705
+ border-top: 1px solid #e0e0e0;
706
+ }
707
+
708
+ .edgepdf-marker-popup-edit,
709
+ .edgepdf-marker-popup-delete {
710
+ flex: 1;
711
+ padding: 6px 12px;
712
+ border: 1px solid #ccc;
713
+ border-radius: 4px;
714
+ background-color: #fff;
715
+ color: #333;
716
+ cursor: pointer;
717
+ font-size: 14px;
718
+ transition: all 0.2s ease;
719
+ }
720
+
721
+ .edgepdf-marker-popup-edit:hover {
722
+ background-color: #f0f0f0;
723
+ border-color: #999;
724
+ }
725
+
726
+ .edgepdf-marker-popup-delete {
727
+ color: #d32f2f;
728
+ border-color: #d32f2f;
729
+ }
730
+
731
+ .edgepdf-marker-popup-delete:hover {
732
+ background-color: #ffebee;
733
+ border-color: #b71c1c;
734
+ }
735
+
736
+ /* Edit popup modal */
737
+ .edgepdf-marker-edit-popup {
738
+ position: fixed;
739
+ top: 0;
740
+ left: 0;
741
+ right: 0;
742
+ bottom: 0;
743
+ z-index: 100000;
744
+ display: flex;
745
+ align-items: center;
746
+ justify-content: center;
747
+ }
748
+
749
+ .edgepdf-marker-edit-popup-overlay {
750
+ position: absolute;
751
+ top: 0;
752
+ left: 0;
753
+ right: 0;
754
+ bottom: 0;
755
+ background-color: rgba(0, 0, 0, 0.5);
756
+ cursor: pointer;
757
+ }
758
+
759
+ .edgepdf-marker-edit-popup-content {
760
+ position: relative;
761
+ background-color: #fff;
762
+ border-radius: 8px;
763
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
764
+ width: 90%;
765
+ max-width: 500px;
766
+ max-height: 90vh;
767
+ overflow: auto;
768
+ z-index: 100001;
769
+ }
770
+
771
+ .edgepdf-marker-edit-popup-header {
772
+ display: flex;
773
+ justify-content: space-between;
774
+ align-items: center;
775
+ padding: 16px 20px;
776
+ border-bottom: 1px solid #e0e0e0;
777
+ }
778
+
779
+ .edgepdf-marker-edit-popup-header h3 {
780
+ margin: 0;
781
+ font-size: 18px;
782
+ font-weight: 600;
783
+ color: #333;
784
+ }
785
+
786
+ .edgepdf-marker-edit-popup-close {
787
+ background: none;
788
+ border: none;
789
+ font-size: 24px;
790
+ line-height: 1;
791
+ color: #666;
792
+ cursor: pointer;
793
+ padding: 0;
794
+ width: 32px;
795
+ height: 32px;
796
+ display: flex;
797
+ align-items: center;
798
+ justify-content: center;
799
+ border-radius: 4px;
800
+ transition: background-color 0.2s ease;
801
+ }
802
+
803
+ .edgepdf-marker-edit-popup-close:hover {
804
+ background-color: #f0f0f0;
805
+ color: #333;
806
+ }
807
+
808
+ .edgepdf-marker-edit-popup-body {
809
+ padding: 20px;
810
+ }
811
+
812
+ .edgepdf-marker-edit-field {
813
+ margin-bottom: 16px;
814
+ }
815
+
816
+ .edgepdf-marker-edit-field:last-child {
817
+ margin-bottom: 0;
818
+ }
819
+
820
+ .edgepdf-marker-edit-field label {
821
+ display: block;
822
+ margin-bottom: 8px;
823
+ font-size: 14px;
824
+ font-weight: 500;
825
+ color: #333;
826
+ }
827
+
828
+ .edgepdf-marker-edit-input {
829
+ width: 100%;
830
+ padding: 10px 12px;
831
+ border: 1px solid #ccc;
832
+ border-radius: 4px;
833
+ font-size: 14px;
834
+ box-sizing: border-box;
835
+ transition: border-color 0.2s ease;
836
+ }
837
+
838
+ .edgepdf-marker-edit-input:focus {
839
+ outline: none;
840
+ border-color: #1976d2;
841
+ box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
842
+ }
843
+
844
+ .edgepdf-marker-edit-popup-footer {
845
+ display: flex;
846
+ justify-content: flex-end;
847
+ gap: 12px;
848
+ padding: 16px 20px;
849
+ border-top: 1px solid #e0e0e0;
850
+ }
851
+
852
+ .edgepdf-marker-edit-button {
853
+ padding: 10px 20px;
854
+ border: 1px solid #ccc;
855
+ border-radius: 4px;
856
+ background-color: #fff;
857
+ color: #333;
858
+ cursor: pointer;
859
+ font-size: 14px;
860
+ font-weight: 500;
861
+ transition: all 0.2s ease;
862
+ }
863
+
864
+ .edgepdf-marker-edit-button-cancel:hover {
865
+ background-color: #f0f0f0;
866
+ border-color: #999;
867
+ }
868
+
869
+ .edgepdf-marker-edit-button-save {
870
+ background-color: #1976d2;
871
+ color: #fff;
872
+ border-color: #1976d2;
873
+ }
874
+
875
+ .edgepdf-marker-edit-button-save:hover {
876
+ background-color: #1565c0;
877
+ border-color: #1565c0;
878
+ }
879
+
880
+ /* Delete popup modal - reuses most edit popup styles */
881
+ .edgepdf-marker-delete-popup {
882
+ position: fixed;
883
+ top: 0;
884
+ left: 0;
885
+ right: 0;
886
+ bottom: 0;
887
+ z-index: 100000;
888
+ display: flex;
889
+ align-items: center;
890
+ justify-content: center;
891
+ }
892
+
893
+ .edgepdf-marker-delete-popup-overlay {
894
+ position: absolute;
895
+ top: 0;
896
+ left: 0;
897
+ right: 0;
898
+ bottom: 0;
899
+ background-color: rgba(0, 0, 0, 0.5);
900
+ cursor: pointer;
901
+ }
902
+
903
+ .edgepdf-marker-delete-popup-content {
904
+ position: relative;
905
+ background-color: #fff;
906
+ border-radius: 8px;
907
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
908
+ width: 90%;
909
+ max-width: 500px;
910
+ max-height: 90vh;
911
+ overflow: auto;
912
+ z-index: 100001;
913
+ }
914
+
915
+ .edgepdf-marker-delete-popup-header {
916
+ display: flex;
917
+ justify-content: space-between;
918
+ align-items: center;
919
+ padding: 16px 20px;
920
+ border-bottom: 1px solid #e0e0e0;
921
+ }
922
+
923
+ .edgepdf-marker-delete-popup-header h3 {
924
+ margin: 0;
925
+ font-size: 18px;
926
+ font-weight: 600;
927
+ color: #333;
928
+ }
929
+
930
+ .edgepdf-marker-delete-popup-close {
931
+ background: none;
932
+ border: none;
933
+ font-size: 24px;
934
+ line-height: 1;
935
+ color: #666;
936
+ cursor: pointer;
937
+ padding: 0;
938
+ width: 32px;
939
+ height: 32px;
940
+ display: flex;
941
+ align-items: center;
942
+ justify-content: center;
943
+ border-radius: 4px;
944
+ transition: background-color 0.2s ease;
945
+ }
946
+
947
+ .edgepdf-marker-delete-popup-close:hover {
948
+ background-color: #f0f0f0;
949
+ color: #333;
950
+ }
951
+
952
+ .edgepdf-marker-delete-popup-body {
953
+ padding: 20px;
954
+ }
955
+
956
+ .edgepdf-marker-delete-popup-body p {
957
+ margin: 0;
958
+ font-size: 14px;
959
+ color: #333;
960
+ line-height: 1.5;
961
+ }
962
+
963
+ .edgepdf-marker-delete-popup-body strong {
964
+ font-weight: 600;
965
+ color: #d32f2f;
966
+ }
967
+
968
+ .edgepdf-marker-delete-popup-footer {
969
+ display: flex;
970
+ justify-content: flex-end;
971
+ gap: 12px;
972
+ padding: 16px 20px;
973
+ border-top: 1px solid #e0e0e0;
974
+ }
975
+
976
+ .edgepdf-marker-delete-button {
977
+ padding: 10px 20px;
978
+ border: 1px solid #ccc;
979
+ border-radius: 4px;
980
+ background-color: #fff;
981
+ color: #333;
982
+ cursor: pointer;
983
+ font-size: 14px;
984
+ font-weight: 500;
985
+ transition: all 0.2s ease;
986
+ }
987
+
988
+ .edgepdf-marker-delete-button-cancel:hover {
989
+ background-color: #f0f0f0;
990
+ border-color: #999;
991
+ }
992
+
993
+ .edgepdf-marker-delete-button-confirm {
994
+ background-color: #d32f2f;
995
+ color: #fff;
996
+ border-color: #d32f2f;
997
+ }
998
+
999
+ .edgepdf-marker-delete-button-confirm:hover {
1000
+ background-color: #b71c1c;
1001
+ border-color: #b71c1c;
1002
+ }
1003
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgepdf/viewer-js",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "EdgePDF Viewer - JavaScript library for viewing PDF documents with interactive markers and zoom controls",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "import": "./dist/index.js",
32
32
  "default": "./dist/index.js"
33
33
  },
34
- "./styles.css": "./src/styles.css"
34
+ "./styles.css": "./dist/styles.css"
35
35
  },
36
36
  "files": [
37
37
  "dist",