@libresign/pdf-elements 0.3.0 → 0.4.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.
@@ -1 +1 @@
1
- canvas[data-v-acf7a444]{display:block}.draggable-wrapper[data-v-9f1fd9e4]{position:relative}.actions-toolbar[data-v-9f1fd9e4]{position:absolute;display:flex;gap:4px;background:#1f2937;border-radius:6px;padding:6px 8px;box-shadow:0 4px 12px -2px #00000026,0 2px 6px -2px #0000001a;z-index:5;white-space:nowrap}.action-btn[data-v-9f1fd9e4]{border:none;background:#0000;color:#fff;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.action-btn[data-v-9f1fd9e4]:hover{background:#ffffff1a}.draggable-element[data-v-9f1fd9e4]{position:absolute;cursor:move;user-select:none;border-radius:6px;overflow:visible}.draggable-element.selected[data-v-9f1fd9e4]{box-shadow:inset 0 0 0 2px #2563eb}.resize-handle[data-v-9f1fd9e4]{all:unset;position:absolute;width:12px;height:12px;min-width:0;min-height:0;background:#2563eb;border:1px solid #fff;border-radius:3px;padding:0;margin:0;line-height:0;font-size:0;box-sizing:border-box;display:block;appearance:none;cursor:pointer;z-index:5}.handle-top-left[data-v-9f1fd9e4]{top:-7px;left:-7px;cursor:nwse-resize}.handle-top-right[data-v-9f1fd9e4]{top:-7px;right:-7px;cursor:nesw-resize}.handle-bottom-left[data-v-9f1fd9e4]{bottom:-7px;left:-7px;cursor:nesw-resize}.handle-bottom-right[data-v-9f1fd9e4]{bottom:-7px;right:-7px;cursor:nwse-resize}.pdf-elements-root[data-v-46de43ea]{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.pages-container[data-v-46de43ea]{width:100%;padding:20px 0 0 0;text-align:center;background:#f7fafc;overflow:hidden}.page-slot[data-v-46de43ea]{margin:0 auto}.page-wrapper[data-v-46de43ea]{display:inline-block;margin-bottom:0}.page-canvas[data-v-46de43ea]{position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-outline[data-v-46de43ea]{box-shadow:0 0 0 3px #4299e180}.preview-element[data-v-46de43ea]{position:absolute;opacity:.7;pointer-events:none}.overlay[data-v-46de43ea]{position:absolute;top:0;left:0;transform-origin:top left;width:100%;height:100%}.page-footer[data-v-46de43ea]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 20px 20px;color:#4b5563;font-size:14px}
1
+ canvas[data-v-acf7a444]{display:block}.draggable-wrapper[data-v-9f1fd9e4]{position:relative}.actions-toolbar[data-v-9f1fd9e4]{position:absolute;display:flex;gap:4px;background:#1f2937;border-radius:6px;padding:6px 8px;box-shadow:0 4px 12px -2px #00000026,0 2px 6px -2px #0000001a;z-index:5;white-space:nowrap}.action-btn[data-v-9f1fd9e4]{border:none;background:#0000;color:#fff;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.action-btn[data-v-9f1fd9e4]:hover{background:#ffffff1a}.draggable-element[data-v-9f1fd9e4]{position:absolute;cursor:move;user-select:none;border-radius:6px;overflow:visible}.draggable-element.selected[data-v-9f1fd9e4]{box-shadow:inset 0 0 0 2px #2563eb}.resize-handle[data-v-9f1fd9e4]{all:unset;position:absolute;width:12px;height:12px;min-width:0;min-height:0;background:#2563eb;border:1px solid #fff;border-radius:3px;padding:0;margin:0;line-height:0;font-size:0;box-sizing:border-box;display:block;appearance:none;cursor:pointer;z-index:5}.handle-top-left[data-v-9f1fd9e4]{top:-7px;left:-7px;cursor:nwse-resize}.handle-top-right[data-v-9f1fd9e4]{top:-7px;right:-7px;cursor:nesw-resize}.handle-bottom-left[data-v-9f1fd9e4]{bottom:-7px;left:-7px;cursor:nesw-resize}.handle-bottom-right[data-v-9f1fd9e4]{bottom:-7px;right:-7px;cursor:nwse-resize}.pdf-elements-root[data-v-4b0138d1]{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.pages-container[data-v-4b0138d1]{width:100%;padding:20px 0 0 0;text-align:center;background:#f7fafc;overflow:hidden}.page-slot[data-v-4b0138d1]{margin:0 auto}.page-wrapper[data-v-4b0138d1]{display:inline-block;margin-bottom:0}.page-canvas[data-v-4b0138d1]{position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-outline[data-v-4b0138d1]{box-shadow:0 0 0 3px #4299e180}.preview-element[data-v-4b0138d1]{position:absolute;opacity:.7;pointer-events:none}.overlay[data-v-4b0138d1]{position:absolute;top:0;left:0;transform-origin:top left;width:100%;height:100%}.page-footer[data-v-4b0138d1]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 20px 20px;color:#4b5563;font-size:14px}
@@ -208,12 +208,26 @@ var IS_PURE = __webpack_require__(6395);
208
208
  var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
209
209
  var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
210
210
 
211
+ // Should not throw an error for an iterator without `return` method. Fixed in Safari 26.2
212
+ // https://bugs.webkit.org/show_bug.cgi?id=297532
213
+ function throwsOnIteratorWithoutReturn() {
214
+ try {
215
+ // eslint-disable-next-line es/no-map, es/no-iterator, es/no-iterator-prototype-flatmap -- required for testing
216
+ var it = Iterator.prototype.flatMap.call(new Map([[4, 5]]).entries(), function (v) { return v; });
217
+ it.next();
218
+ it['return']();
219
+ } catch (error) {
220
+ return true;
221
+ }
222
+ }
223
+
211
224
  var FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE
212
225
  && !iteratorHelperThrowsOnInvalidIterator('flatMap', function () { /* empty */ });
213
226
  var flatMapWithoutClosingOnEarlyError = !IS_PURE && !FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
214
227
  && iteratorHelperWithoutClosingOnEarlyError('flatMap', TypeError);
215
228
 
216
- var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError;
229
+ var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError
230
+ || throwsOnIteratorWithoutReturn();
217
231
 
218
232
  var IteratorProxy = createIteratorProxy(function () {
219
233
  var iterator = this.iterator;
@@ -504,6 +518,29 @@ module.exports = function (iters, kind, value) {
504
518
  };
505
519
 
506
520
 
521
+ /***/ },
522
+
523
+ /***/ 1548
524
+ (module, __unused_webpack_exports, __webpack_require__) {
525
+
526
+
527
+ var globalThis = __webpack_require__(4576);
528
+ var fails = __webpack_require__(9039);
529
+ var V8 = __webpack_require__(9519);
530
+ var ENVIRONMENT = __webpack_require__(4215);
531
+
532
+ var structuredClone = globalThis.structuredClone;
533
+
534
+ module.exports = !!structuredClone && !fails(function () {
535
+ // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation
536
+ // https://github.com/zloirock/core-js/issues/679
537
+ if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false;
538
+ var buffer = new ArrayBuffer(8);
539
+ var clone = structuredClone(buffer, { transfer: [buffer] });
540
+ return buffer.byteLength !== 0 || clone.byteLength !== 8;
541
+ });
542
+
543
+
507
544
  /***/ },
508
545
 
509
546
  /***/ 1625
@@ -1020,6 +1057,30 @@ var userAgent = navigator && navigator.userAgent;
1020
1057
  module.exports = userAgent ? String(userAgent) : '';
1021
1058
 
1022
1059
 
1060
+ /***/ },
1061
+
1062
+ /***/ 3238
1063
+ (module, __unused_webpack_exports, __webpack_require__) {
1064
+
1065
+
1066
+ var globalThis = __webpack_require__(4576);
1067
+ var NATIVE_ARRAY_BUFFER = __webpack_require__(7811);
1068
+ var arrayBufferByteLength = __webpack_require__(7394);
1069
+
1070
+ var DataView = globalThis.DataView;
1071
+
1072
+ module.exports = function (O) {
1073
+ if (!NATIVE_ARRAY_BUFFER || arrayBufferByteLength(O) !== 0) return false;
1074
+ try {
1075
+ // eslint-disable-next-line no-new -- thrower
1076
+ new DataView(O);
1077
+ return false;
1078
+ } catch (error) {
1079
+ return true;
1080
+ }
1081
+ };
1082
+
1083
+
1023
1084
  /***/ },
1024
1085
 
1025
1086
  /***/ 3392
@@ -1221,6 +1282,34 @@ module.exports = function (it) {
1221
1282
  };
1222
1283
 
1223
1284
 
1285
+ /***/ },
1286
+
1287
+ /***/ 4215
1288
+ (module, __unused_webpack_exports, __webpack_require__) {
1289
+
1290
+
1291
+ /* global Bun, Deno -- detection */
1292
+ var globalThis = __webpack_require__(4576);
1293
+ var userAgent = __webpack_require__(2839);
1294
+ var classof = __webpack_require__(2195);
1295
+
1296
+ var userAgentStartsWith = function (string) {
1297
+ return userAgent.slice(0, string.length) === string;
1298
+ };
1299
+
1300
+ module.exports = (function () {
1301
+ if (userAgentStartsWith('Bun/')) return 'BUN';
1302
+ if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';
1303
+ if (userAgentStartsWith('Deno/')) return 'DENO';
1304
+ if (userAgentStartsWith('Node.js/')) return 'NODE';
1305
+ if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';
1306
+ if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';
1307
+ if (classof(globalThis.process) === 'process') return 'NODE';
1308
+ if (globalThis.window && globalThis.document) return 'BROWSER';
1309
+ return 'REST';
1310
+ })();
1311
+
1312
+
1224
1313
  /***/ },
1225
1314
 
1226
1315
  /***/ 4270
@@ -1260,6 +1349,50 @@ module.exports = Array.isArray || function isArray(argument) {
1260
1349
  };
1261
1350
 
1262
1351
 
1352
+ /***/ },
1353
+
1354
+ /***/ 4483
1355
+ (module, __unused_webpack_exports, __webpack_require__) {
1356
+
1357
+
1358
+ var globalThis = __webpack_require__(4576);
1359
+ var getBuiltInNodeModule = __webpack_require__(9429);
1360
+ var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(1548);
1361
+
1362
+ var structuredClone = globalThis.structuredClone;
1363
+ var $ArrayBuffer = globalThis.ArrayBuffer;
1364
+ var $MessageChannel = globalThis.MessageChannel;
1365
+ var detach = false;
1366
+ var WorkerThreads, channel, buffer, $detach;
1367
+
1368
+ if (PROPER_STRUCTURED_CLONE_TRANSFER) {
1369
+ detach = function (transferable) {
1370
+ structuredClone(transferable, { transfer: [transferable] });
1371
+ };
1372
+ } else if ($ArrayBuffer) try {
1373
+ if (!$MessageChannel) {
1374
+ WorkerThreads = getBuiltInNodeModule('worker_threads');
1375
+ if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;
1376
+ }
1377
+
1378
+ if ($MessageChannel) {
1379
+ channel = new $MessageChannel();
1380
+ buffer = new $ArrayBuffer(2);
1381
+
1382
+ $detach = function (transferable) {
1383
+ channel.port1.postMessage(null, [transferable]);
1384
+ };
1385
+
1386
+ if (buffer.byteLength === 2) {
1387
+ $detach(buffer);
1388
+ if (buffer.byteLength === 0) detach = $detach;
1389
+ }
1390
+ }
1391
+ } catch (error) { /* empty */ }
1392
+
1393
+ module.exports = detach;
1394
+
1395
+
1263
1396
  /***/ },
1264
1397
 
1265
1398
  /***/ 4495
@@ -1481,6 +1614,22 @@ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
1481
1614
  };
1482
1615
 
1483
1616
 
1617
+ /***/ },
1618
+
1619
+ /***/ 5169
1620
+ (module, __unused_webpack_exports, __webpack_require__) {
1621
+
1622
+
1623
+ var isDetached = __webpack_require__(3238);
1624
+
1625
+ var $TypeError = TypeError;
1626
+
1627
+ module.exports = function (it) {
1628
+ if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached');
1629
+ return it;
1630
+ };
1631
+
1632
+
1484
1633
  /***/ },
1485
1634
 
1486
1635
  /***/ 5397
@@ -1516,6 +1665,58 @@ module.exports = function (index, length) {
1516
1665
  };
1517
1666
 
1518
1667
 
1668
+ /***/ },
1669
+
1670
+ /***/ 5636
1671
+ (module, __unused_webpack_exports, __webpack_require__) {
1672
+
1673
+
1674
+ var globalThis = __webpack_require__(4576);
1675
+ var uncurryThis = __webpack_require__(9504);
1676
+ var uncurryThisAccessor = __webpack_require__(6706);
1677
+ var toIndex = __webpack_require__(7696);
1678
+ var notDetached = __webpack_require__(5169);
1679
+ var arrayBufferByteLength = __webpack_require__(7394);
1680
+ var detachTransferable = __webpack_require__(4483);
1681
+ var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(1548);
1682
+
1683
+ var structuredClone = globalThis.structuredClone;
1684
+ var ArrayBuffer = globalThis.ArrayBuffer;
1685
+ var DataView = globalThis.DataView;
1686
+ var min = Math.min;
1687
+ var ArrayBufferPrototype = ArrayBuffer.prototype;
1688
+ var DataViewPrototype = DataView.prototype;
1689
+ var slice = uncurryThis(ArrayBufferPrototype.slice);
1690
+ var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');
1691
+ var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');
1692
+ var getInt8 = uncurryThis(DataViewPrototype.getInt8);
1693
+ var setInt8 = uncurryThis(DataViewPrototype.setInt8);
1694
+
1695
+ module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) {
1696
+ var byteLength = arrayBufferByteLength(arrayBuffer);
1697
+ var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);
1698
+ var fixedLength = !isResizable || !isResizable(arrayBuffer);
1699
+ var newBuffer;
1700
+ notDetached(arrayBuffer);
1701
+ if (PROPER_STRUCTURED_CLONE_TRANSFER) {
1702
+ arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });
1703
+ if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer;
1704
+ }
1705
+ if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) {
1706
+ newBuffer = slice(arrayBuffer, 0, newByteLength);
1707
+ } else {
1708
+ var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined;
1709
+ newBuffer = new ArrayBuffer(newByteLength, options);
1710
+ var a = new DataView(arrayBuffer);
1711
+ var b = new DataView(newBuffer);
1712
+ var copyLength = min(newByteLength, byteLength);
1713
+ for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));
1714
+ }
1715
+ if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);
1716
+ return newBuffer;
1717
+ };
1718
+
1719
+
1519
1720
  /***/ },
1520
1721
 
1521
1722
  /***/ 5745
@@ -1602,6 +1803,17 @@ module.exports = function (key) {
1602
1803
  };
1603
1804
 
1604
1805
 
1806
+ /***/ },
1807
+
1808
+ /***/ 6193
1809
+ (module, __unused_webpack_exports, __webpack_require__) {
1810
+
1811
+
1812
+ var ENVIRONMENT = __webpack_require__(4215);
1813
+
1814
+ module.exports = ENVIRONMENT === 'NODE';
1815
+
1816
+
1605
1817
  /***/ },
1606
1818
 
1607
1819
  /***/ 6198
@@ -1730,6 +1942,30 @@ module.exports = function (options, source) {
1730
1942
  };
1731
1943
 
1732
1944
 
1945
+ /***/ },
1946
+
1947
+ /***/ 6573
1948
+ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
1949
+
1950
+
1951
+ var DESCRIPTORS = __webpack_require__(3724);
1952
+ var defineBuiltInAccessor = __webpack_require__(2106);
1953
+ var isDetached = __webpack_require__(3238);
1954
+
1955
+ var ArrayBufferPrototype = ArrayBuffer.prototype;
1956
+
1957
+ // `ArrayBuffer.prototype.detached` getter
1958
+ // https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached
1959
+ if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {
1960
+ defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {
1961
+ configurable: true,
1962
+ get: function detached() {
1963
+ return isDetached(this);
1964
+ }
1965
+ });
1966
+ }
1967
+
1968
+
1733
1969
  /***/ },
1734
1970
 
1735
1971
  /***/ 6699
@@ -1748,6 +1984,23 @@ module.exports = DESCRIPTORS ? function (object, key, value) {
1748
1984
  };
1749
1985
 
1750
1986
 
1987
+ /***/ },
1988
+
1989
+ /***/ 6706
1990
+ (module, __unused_webpack_exports, __webpack_require__) {
1991
+
1992
+
1993
+ var uncurryThis = __webpack_require__(9504);
1994
+ var aCallable = __webpack_require__(9306);
1995
+
1996
+ module.exports = function (object, key, method) {
1997
+ try {
1998
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1999
+ return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
2000
+ } catch (error) { /* empty */ }
2001
+ };
2002
+
2003
+
1751
2004
  /***/ },
1752
2005
 
1753
2006
  /***/ 6801
@@ -1980,6 +2233,28 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
1980
2233
  };
1981
2234
 
1982
2235
 
2236
+ /***/ },
2237
+
2238
+ /***/ 7394
2239
+ (module, __unused_webpack_exports, __webpack_require__) {
2240
+
2241
+
2242
+ var globalThis = __webpack_require__(4576);
2243
+ var uncurryThisAccessor = __webpack_require__(6706);
2244
+ var classof = __webpack_require__(2195);
2245
+
2246
+ var ArrayBuffer = globalThis.ArrayBuffer;
2247
+ var TypeError = globalThis.TypeError;
2248
+
2249
+ // Includes
2250
+ // - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).
2251
+ // - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.
2252
+ module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {
2253
+ if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected');
2254
+ return O.byteLength;
2255
+ };
2256
+
2257
+
1983
2258
  /***/ },
1984
2259
 
1985
2260
  /***/ 7476
@@ -2050,10 +2325,10 @@ var SHARED = '__core-js_shared__';
2050
2325
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
2051
2326
 
2052
2327
  (store.versions || (store.versions = [])).push({
2053
- version: '3.47.0',
2328
+ version: '3.48.0',
2054
2329
  mode: IS_PURE ? 'pure' : 'global',
2055
- copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',
2056
- license: 'https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE',
2330
+ copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
2331
+ license: 'https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE',
2057
2332
  source: 'https://github.com/zloirock/core-js'
2058
2333
  });
2059
2334
 
@@ -2114,6 +2389,28 @@ module.exports = {
2114
2389
  };
2115
2390
 
2116
2391
 
2392
+ /***/ },
2393
+
2394
+ /***/ 7696
2395
+ (module, __unused_webpack_exports, __webpack_require__) {
2396
+
2397
+
2398
+ var toIntegerOrInfinity = __webpack_require__(1291);
2399
+ var toLength = __webpack_require__(8014);
2400
+
2401
+ var $RangeError = RangeError;
2402
+
2403
+ // `ToIndex` abstract operation
2404
+ // https://tc39.es/ecma262/#sec-toindex
2405
+ module.exports = function (it) {
2406
+ if (it === undefined) return 0;
2407
+ var number = toIntegerOrInfinity(it);
2408
+ var length = toLength(number);
2409
+ if (number !== length) throw new $RangeError('Wrong length or index');
2410
+ return length;
2411
+ };
2412
+
2413
+
2117
2414
  /***/ },
2118
2415
 
2119
2416
  /***/ 7740
@@ -2174,6 +2471,34 @@ module.exports = function (namespace, method) {
2174
2471
  };
2175
2472
 
2176
2473
 
2474
+ /***/ },
2475
+
2476
+ /***/ 7811
2477
+ (module) {
2478
+
2479
+
2480
+ // eslint-disable-next-line es/no-typed-arrays -- safe
2481
+ module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
2482
+
2483
+
2484
+ /***/ },
2485
+
2486
+ /***/ 7936
2487
+ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2488
+
2489
+
2490
+ var $ = __webpack_require__(6518);
2491
+ var $transfer = __webpack_require__(5636);
2492
+
2493
+ // `ArrayBuffer.prototype.transferToFixedLength` method
2494
+ // https://tc39.es/ecma262/#sec-arraybuffer.prototype.transfertofixedlength
2495
+ if ($transfer) $({ target: 'ArrayBuffer', proto: true }, {
2496
+ transferToFixedLength: function transferToFixedLength() {
2497
+ return $transfer(this, arguments.length ? arguments[0] : undefined, false);
2498
+ }
2499
+ });
2500
+
2501
+
2177
2502
  /***/ },
2178
2503
 
2179
2504
  /***/ 8014
@@ -2192,6 +2517,24 @@ module.exports = function (argument) {
2192
2517
  };
2193
2518
 
2194
2519
 
2520
+ /***/ },
2521
+
2522
+ /***/ 8100
2523
+ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
2524
+
2525
+
2526
+ var $ = __webpack_require__(6518);
2527
+ var $transfer = __webpack_require__(5636);
2528
+
2529
+ // `ArrayBuffer.prototype.transfer` method
2530
+ // https://tc39.es/ecma262/#sec-arraybuffer.prototype.transfer
2531
+ if ($transfer) $({ target: 'ArrayBuffer', proto: true }, {
2532
+ transfer: function transfer() {
2533
+ return $transfer(this, arguments.length ? arguments[0] : undefined, true);
2534
+ }
2535
+ });
2536
+
2537
+
2195
2538
  /***/ },
2196
2539
 
2197
2540
  /***/ 8111
@@ -2487,6 +2830,28 @@ module.exports = function (argument) {
2487
2830
  };
2488
2831
 
2489
2832
 
2833
+ /***/ },
2834
+
2835
+ /***/ 9429
2836
+ (module, __unused_webpack_exports, __webpack_require__) {
2837
+
2838
+
2839
+ var globalThis = __webpack_require__(4576);
2840
+ var IS_NODE = __webpack_require__(6193);
2841
+
2842
+ module.exports = function (name) {
2843
+ if (IS_NODE) {
2844
+ try {
2845
+ return globalThis.process.getBuiltinModule(name);
2846
+ } catch (error) { /* empty */ }
2847
+ try {
2848
+ // eslint-disable-next-line no-new-func -- safe
2849
+ return Function('return require("' + name + '")')();
2850
+ } catch (error) { /* empty */ }
2851
+ }
2852
+ };
2853
+
2854
+
2490
2855
  /***/ },
2491
2856
 
2492
2857
  /***/ 9433
@@ -2821,7 +3186,7 @@ if (typeof window !== 'undefined') {
2821
3186
  // Indicate to webpack that this file can be concatenated
2822
3187
  /* harmony default export */ const setPublicPath = (null);
2823
3188
 
2824
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=template&id=46de43ea&scoped=true
3189
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=template&id=4b0138d1&scoped=true
2825
3190
  var render = function render() {
2826
3191
  var _vm = this,
2827
3192
  _c = _vm._self._c;
@@ -2871,7 +3236,13 @@ var render = function render() {
2871
3236
  staticClass: "overlay",
2872
3237
  on: {
2873
3238
  "mousemove": _vm.handleMouseMove,
2874
- "touchmove": _vm.handleMouseMove
3239
+ "touchmove": _vm.handleMouseMove,
3240
+ "click": function ($event) {
3241
+ return _vm.handleOverlayClick(docIndex, pIndex, $event);
3242
+ },
3243
+ "touchend": function ($event) {
3244
+ return _vm.handleOverlayClick(docIndex, pIndex, $event);
3245
+ }
2875
3246
  }
2876
3247
  }, [_vm.isAddingMode && _vm.previewPageDocIndex === docIndex && _vm.previewPageIndex === pIndex && _vm.previewElement && _vm.previewVisible ? _c('div', {
2877
3248
  staticClass: "preview-element",
@@ -3769,6 +4140,12 @@ var DraggableElement_component = normalizeComponent(
3769
4140
  )
3770
4141
 
3771
4142
  /* harmony default export */ const DraggableElement = (DraggableElement_component.exports);
4143
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.detached.js
4144
+ var es_array_buffer_detached = __webpack_require__(6573);
4145
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.transfer.js
4146
+ var es_array_buffer_transfer = __webpack_require__(8100);
4147
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js
4148
+ var es_array_buffer_transfer_to_fixed_length = __webpack_require__(7936);
3772
4149
  ;// ./node_modules/pdfjs-dist/build/pdf.mjs
3773
4150
  /**
3774
4151
  * @licstart The following is the entire license notice for the
@@ -30164,12 +30541,24 @@ globalThis.pdfjsLib = {
30164
30541
  ;// ./node_modules/pdfjs-dist/build/pdf.worker.min.mjs
30165
30542
  const pdf_worker_min_namespaceObject = __webpack_require__.p + "pdf.worker.min.mjs";
30166
30543
  ;// ./src/utils/asyncReader.js
30544
+
30545
+
30546
+
30167
30547
  // SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
30168
30548
  // SPDX-License-Identifier: AGPL-3.0-or-later
30169
30549
 
30170
30550
 
30171
30551
 
30172
30552
  pdf_GlobalWorkerOptions.workerSrc = pdf_worker_min_namespaceObject;
30553
+ let sharedWorker = null;
30554
+ function getSharedWorker() {
30555
+ if (!sharedWorker) {
30556
+ sharedWorker = new PDFWorker({
30557
+ name: 'libresign-pdf-worker'
30558
+ });
30559
+ }
30560
+ return sharedWorker;
30561
+ }
30173
30562
  function setWorkerPath(path) {
30174
30563
  GlobalWorkerOptions.workerSrc = path;
30175
30564
  }
@@ -30182,7 +30571,26 @@ function readAsArrayBuffer(file) {
30182
30571
  });
30183
30572
  }
30184
30573
  function readAsPDF(file) {
30185
- return getDocument(file).promise;
30574
+ const worker = getSharedWorker();
30575
+ const isArrayBuffer = file instanceof ArrayBuffer;
30576
+ const isView = ArrayBuffer.isView(file);
30577
+ const isBlob = typeof Blob !== 'undefined' && file instanceof Blob;
30578
+ if (file && typeof file === 'object' && !isArrayBuffer && !isView && !isBlob) {
30579
+ return getDocument({
30580
+ ...file,
30581
+ worker
30582
+ }).promise;
30583
+ }
30584
+ if (typeof file === 'string') {
30585
+ return getDocument({
30586
+ url: file,
30587
+ worker
30588
+ }).promise;
30589
+ }
30590
+ return getDocument({
30591
+ data: file,
30592
+ worker
30593
+ }).promise;
30186
30594
  }
30187
30595
  ;// ./src/utils/geometry.js
30188
30596
  // SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
@@ -30348,6 +30756,10 @@ function getCachedMeasurement(cache, cacheKey, pageRef, pagesScale) {
30348
30756
  type: Boolean,
30349
30757
  default: false
30350
30758
  },
30759
+ emitObjectClick: {
30760
+ type: Boolean,
30761
+ default: false
30762
+ },
30351
30763
  ignoreClickOutsideSelectors: {
30352
30764
  type: Array,
30353
30765
  default: () => []
@@ -30820,6 +31232,44 @@ function getCachedMeasurement(cache, cacheKey, pageRef, pagesScale) {
30820
31232
  this.previewVisible = true;
30821
31233
  });
30822
31234
  },
31235
+ handleOverlayClick(docIndex, pageIndex, event) {
31236
+ if (!this.emitObjectClick) return;
31237
+ const {
31238
+ x: clientX,
31239
+ y: clientY
31240
+ } = this.getPointerPosition(event);
31241
+ if (!Number.isFinite(clientX) || !Number.isFinite(clientY)) return;
31242
+ this.cachePageBoundsForPage(docIndex, pageIndex);
31243
+ const pageRect = this.getPageRect(docIndex, pageIndex);
31244
+ if (!pageRect) return;
31245
+ const pagesScale = this.getDisplayedPageScale(docIndex, pageIndex) || 1;
31246
+ const relX = (clientX - pageRect.left) / pagesScale;
31247
+ const relY = (clientY - pageRect.top) / pagesScale;
31248
+ const doc = this.pdfDocuments?.[docIndex];
31249
+ const pageObjects = doc?.allObjects?.[pageIndex] || [];
31250
+ let hitObject = null;
31251
+ for (let i = pageObjects.length - 1; i >= 0; i--) {
31252
+ const object = pageObjects[i];
31253
+ const x = Number(object.x);
31254
+ const y = Number(object.y);
31255
+ const width = Number(object.width);
31256
+ const height = Number(object.height);
31257
+ if (![x, y, width, height].every(Number.isFinite)) {
31258
+ continue;
31259
+ }
31260
+ if (relX >= x && relX <= x + width && relY >= y && relY <= y + height) {
31261
+ hitObject = object;
31262
+ break;
31263
+ }
31264
+ }
31265
+ if (!hitObject) return;
31266
+ this.$emit('pdf-elements:object-click', {
31267
+ docIndex,
31268
+ pageIndex,
31269
+ object: hitObject,
31270
+ event
31271
+ });
31272
+ },
30823
31273
  handleKeyDown(event) {
30824
31274
  if (event.key === 'Escape' && this.isAddingMode) {
30825
31275
  this.cancelAdding();
@@ -31267,10 +31717,10 @@ function getCachedMeasurement(cache, cacheKey, pageRef, pagesScale) {
31267
31717
  });
31268
31718
  ;// ./src/components/PDFElements.vue?vue&type=script&lang=js
31269
31719
  /* harmony default export */ const components_PDFElementsvue_type_script_lang_js = (PDFElementsvue_type_script_lang_js);
31270
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=style&index=0&id=46de43ea&prod&scoped=true&lang=css
31720
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=style&index=0&id=4b0138d1&prod&scoped=true&lang=css
31271
31721
  // extracted by mini-css-extract-plugin
31272
31722
 
31273
- ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=46de43ea&prod&scoped=true&lang=css
31723
+ ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=4b0138d1&prod&scoped=true&lang=css
31274
31724
 
31275
31725
  ;// ./src/components/PDFElements.vue
31276
31726
 
@@ -31287,7 +31737,7 @@ var PDFElements_component = normalizeComponent(
31287
31737
  staticRenderFns,
31288
31738
  false,
31289
31739
  null,
31290
- "46de43ea",
31740
+ "4b0138d1",
31291
31741
  null
31292
31742
 
31293
31743
  )