@libresign/pdf-elements 0.3.1 → 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.
@@ -198,12 +198,26 @@ var IS_PURE = __webpack_require__(6395);
198
198
  var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
199
199
  var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
200
200
 
201
+ // Should not throw an error for an iterator without `return` method. Fixed in Safari 26.2
202
+ // https://bugs.webkit.org/show_bug.cgi?id=297532
203
+ function throwsOnIteratorWithoutReturn() {
204
+ try {
205
+ // eslint-disable-next-line es/no-map, es/no-iterator, es/no-iterator-prototype-flatmap -- required for testing
206
+ var it = Iterator.prototype.flatMap.call(new Map([[4, 5]]).entries(), function (v) { return v; });
207
+ it.next();
208
+ it['return']();
209
+ } catch (error) {
210
+ return true;
211
+ }
212
+ }
213
+
201
214
  var FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE
202
215
  && !iteratorHelperThrowsOnInvalidIterator('flatMap', function () { /* empty */ });
203
216
  var flatMapWithoutClosingOnEarlyError = !IS_PURE && !FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
204
217
  && iteratorHelperWithoutClosingOnEarlyError('flatMap', TypeError);
205
218
 
206
- var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError;
219
+ var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError
220
+ || throwsOnIteratorWithoutReturn();
207
221
 
208
222
  var IteratorProxy = createIteratorProxy(function () {
209
223
  var iterator = this.iterator;
@@ -2301,10 +2315,10 @@ var SHARED = '__core-js_shared__';
2301
2315
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
2302
2316
 
2303
2317
  (store.versions || (store.versions = [])).push({
2304
- version: '3.47.0',
2318
+ version: '3.48.0',
2305
2319
  mode: IS_PURE ? 'pure' : 'global',
2306
- copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',
2307
- license: 'https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE',
2320
+ copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
2321
+ license: 'https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE',
2308
2322
  source: 'https://github.com/zloirock/core-js'
2309
2323
  });
2310
2324
 
@@ -3162,7 +3176,7 @@ if (typeof window !== 'undefined') {
3162
3176
  // Indicate to webpack that this file can be concatenated
3163
3177
  /* harmony default export */ const setPublicPath = (null);
3164
3178
 
3165
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.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
3179
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.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
3166
3180
  var render = function render() {
3167
3181
  var _vm = this,
3168
3182
  _c = _vm._self._c;
@@ -3212,7 +3226,13 @@ var render = function render() {
3212
3226
  staticClass: "overlay",
3213
3227
  on: {
3214
3228
  "mousemove": _vm.handleMouseMove,
3215
- "touchmove": _vm.handleMouseMove
3229
+ "touchmove": _vm.handleMouseMove,
3230
+ "click": function ($event) {
3231
+ return _vm.handleOverlayClick(docIndex, pIndex, $event);
3232
+ },
3233
+ "touchend": function ($event) {
3234
+ return _vm.handleOverlayClick(docIndex, pIndex, $event);
3235
+ }
3216
3236
  }
3217
3237
  }, [_vm.isAddingMode && _vm.previewPageDocIndex === docIndex && _vm.previewPageIndex === pIndex && _vm.previewElement && _vm.previewVisible ? _c('div', {
3218
3238
  staticClass: "preview-element",
@@ -30726,6 +30746,10 @@ function getCachedMeasurement(cache, cacheKey, pageRef, pagesScale) {
30726
30746
  type: Boolean,
30727
30747
  default: false
30728
30748
  },
30749
+ emitObjectClick: {
30750
+ type: Boolean,
30751
+ default: false
30752
+ },
30729
30753
  ignoreClickOutsideSelectors: {
30730
30754
  type: Array,
30731
30755
  default: () => []
@@ -31198,6 +31222,44 @@ function getCachedMeasurement(cache, cacheKey, pageRef, pagesScale) {
31198
31222
  this.previewVisible = true;
31199
31223
  });
31200
31224
  },
31225
+ handleOverlayClick(docIndex, pageIndex, event) {
31226
+ if (!this.emitObjectClick) return;
31227
+ const {
31228
+ x: clientX,
31229
+ y: clientY
31230
+ } = this.getPointerPosition(event);
31231
+ if (!Number.isFinite(clientX) || !Number.isFinite(clientY)) return;
31232
+ this.cachePageBoundsForPage(docIndex, pageIndex);
31233
+ const pageRect = this.getPageRect(docIndex, pageIndex);
31234
+ if (!pageRect) return;
31235
+ const pagesScale = this.getDisplayedPageScale(docIndex, pageIndex) || 1;
31236
+ const relX = (clientX - pageRect.left) / pagesScale;
31237
+ const relY = (clientY - pageRect.top) / pagesScale;
31238
+ const doc = this.pdfDocuments?.[docIndex];
31239
+ const pageObjects = doc?.allObjects?.[pageIndex] || [];
31240
+ let hitObject = null;
31241
+ for (let i = pageObjects.length - 1; i >= 0; i--) {
31242
+ const object = pageObjects[i];
31243
+ const x = Number(object.x);
31244
+ const y = Number(object.y);
31245
+ const width = Number(object.width);
31246
+ const height = Number(object.height);
31247
+ if (![x, y, width, height].every(Number.isFinite)) {
31248
+ continue;
31249
+ }
31250
+ if (relX >= x && relX <= x + width && relY >= y && relY <= y + height) {
31251
+ hitObject = object;
31252
+ break;
31253
+ }
31254
+ }
31255
+ if (!hitObject) return;
31256
+ this.$emit('pdf-elements:object-click', {
31257
+ docIndex,
31258
+ pageIndex,
31259
+ object: hitObject,
31260
+ event
31261
+ });
31262
+ },
31201
31263
  handleKeyDown(event) {
31202
31264
  if (event.key === 'Escape' && this.isAddingMode) {
31203
31265
  this.cancelAdding();
@@ -31645,10 +31707,10 @@ function getCachedMeasurement(cache, cacheKey, pageRef, pagesScale) {
31645
31707
  });
31646
31708
  ;// ./src/components/PDFElements.vue?vue&type=script&lang=js
31647
31709
  /* harmony default export */ const components_PDFElementsvue_type_script_lang_js = (PDFElementsvue_type_script_lang_js);
31648
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.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
31710
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.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
31649
31711
  // extracted by mini-css-extract-plugin
31650
31712
 
31651
- ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=46de43ea&prod&scoped=true&lang=css
31713
+ ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=4b0138d1&prod&scoped=true&lang=css
31652
31714
 
31653
31715
  ;// ./src/components/PDFElements.vue
31654
31716
 
@@ -31665,7 +31727,7 @@ var PDFElements_component = normalizeComponent(
31665
31727
  staticRenderFns,
31666
31728
  false,
31667
31729
  null,
31668
- "46de43ea",
31730
+ "4b0138d1",
31669
31731
  null
31670
31732
 
31671
31733
  )