@embedpdf/plugin-annotation 2.7.0 → 2.8.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 (128) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +335 -82
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/annotation-plugin.d.ts +2 -0
  6. package/dist/lib/handlers/index.d.ts +4 -0
  7. package/dist/lib/handlers/insert-text.handler.d.ts +8 -0
  8. package/dist/lib/handlers/replace-text.handler.d.ts +9 -0
  9. package/dist/lib/handlers/selection-utils.d.ts +7 -0
  10. package/dist/lib/handlers/text-markup.handler.d.ts +7 -0
  11. package/dist/lib/handlers/text.handler.d.ts +3 -0
  12. package/dist/lib/handlers/types.d.ts +12 -0
  13. package/dist/lib/helpers.d.ts +2 -1
  14. package/dist/lib/selectors.d.ts +6 -1
  15. package/dist/lib/tools/default-tools.d.ts +151 -6
  16. package/dist/lib/tools/tools-utils.d.ts +2 -0
  17. package/dist/lib/tools/types.d.ts +2 -0
  18. package/dist/lib/types.d.ts +1 -0
  19. package/dist/preact/index.cjs +1 -1
  20. package/dist/preact/index.cjs.map +1 -1
  21. package/dist/preact/index.js +277 -43
  22. package/dist/preact/index.js.map +1 -1
  23. package/dist/react/index.cjs +1 -1
  24. package/dist/react/index.cjs.map +1 -1
  25. package/dist/react/index.js +277 -43
  26. package/dist/react/index.js.map +1 -1
  27. package/dist/shared/annotation-bounds.d.ts +14 -0
  28. package/dist/shared/components/annotations/caret.d.ts +24 -0
  29. package/dist/shared/components/annotations/circle.d.ts +2 -2
  30. package/dist/shared/components/annotations/free-text.d.ts +2 -2
  31. package/dist/shared/components/annotations/ink.d.ts +2 -2
  32. package/dist/shared/components/annotations/line.d.ts +2 -2
  33. package/dist/shared/components/annotations/link.d.ts +2 -2
  34. package/dist/shared/components/annotations/polygon.d.ts +2 -2
  35. package/dist/shared/components/annotations/polyline.d.ts +8 -4
  36. package/dist/shared/components/annotations/square.d.ts +2 -2
  37. package/dist/shared/components/annotations/stamp.d.ts +2 -2
  38. package/dist/shared/components/annotations/text.d.ts +14 -0
  39. package/dist/shared/components/text-markup/highlight.d.ts +2 -2
  40. package/dist/shared/components/text-markup/squiggly.d.ts +2 -2
  41. package/dist/shared/components/text-markup/strikeout.d.ts +2 -2
  42. package/dist/shared/components/text-markup/underline.d.ts +2 -2
  43. package/dist/shared/components/types.d.ts +2 -2
  44. package/dist/shared-preact/annotation-bounds.d.ts +14 -0
  45. package/dist/shared-preact/components/annotations/caret.d.ts +24 -0
  46. package/dist/shared-preact/components/annotations/circle.d.ts +2 -2
  47. package/dist/shared-preact/components/annotations/free-text.d.ts +2 -2
  48. package/dist/shared-preact/components/annotations/ink.d.ts +2 -2
  49. package/dist/shared-preact/components/annotations/line.d.ts +2 -2
  50. package/dist/shared-preact/components/annotations/link.d.ts +2 -2
  51. package/dist/shared-preact/components/annotations/polygon.d.ts +2 -2
  52. package/dist/shared-preact/components/annotations/polyline.d.ts +8 -4
  53. package/dist/shared-preact/components/annotations/square.d.ts +2 -2
  54. package/dist/shared-preact/components/annotations/stamp.d.ts +2 -2
  55. package/dist/shared-preact/components/annotations/text.d.ts +14 -0
  56. package/dist/shared-preact/components/text-markup/highlight.d.ts +2 -2
  57. package/dist/shared-preact/components/text-markup/squiggly.d.ts +2 -2
  58. package/dist/shared-preact/components/text-markup/strikeout.d.ts +2 -2
  59. package/dist/shared-preact/components/text-markup/underline.d.ts +2 -2
  60. package/dist/shared-preact/components/types.d.ts +2 -2
  61. package/dist/shared-react/annotation-bounds.d.ts +14 -0
  62. package/dist/shared-react/components/annotations/caret.d.ts +24 -0
  63. package/dist/shared-react/components/annotations/circle.d.ts +2 -2
  64. package/dist/shared-react/components/annotations/free-text.d.ts +2 -2
  65. package/dist/shared-react/components/annotations/ink.d.ts +2 -2
  66. package/dist/shared-react/components/annotations/line.d.ts +2 -2
  67. package/dist/shared-react/components/annotations/link.d.ts +2 -2
  68. package/dist/shared-react/components/annotations/polygon.d.ts +2 -2
  69. package/dist/shared-react/components/annotations/polyline.d.ts +8 -4
  70. package/dist/shared-react/components/annotations/square.d.ts +2 -2
  71. package/dist/shared-react/components/annotations/stamp.d.ts +2 -2
  72. package/dist/shared-react/components/annotations/text.d.ts +14 -0
  73. package/dist/shared-react/components/text-markup/highlight.d.ts +2 -2
  74. package/dist/shared-react/components/text-markup/squiggly.d.ts +2 -2
  75. package/dist/shared-react/components/text-markup/strikeout.d.ts +2 -2
  76. package/dist/shared-react/components/text-markup/underline.d.ts +2 -2
  77. package/dist/shared-react/components/types.d.ts +2 -2
  78. package/dist/shared-vue/annotation-bounds.d.ts +14 -0
  79. package/dist/svelte/components/annotations/Caret.svelte.d.ts +13 -0
  80. package/dist/svelte/components/annotations/Circle.svelte.d.ts +1 -1
  81. package/dist/svelte/components/annotations/FreeText.svelte.d.ts +1 -1
  82. package/dist/svelte/components/annotations/Ink.svelte.d.ts +1 -1
  83. package/dist/svelte/components/annotations/Line.svelte.d.ts +1 -1
  84. package/dist/svelte/components/annotations/Link.svelte.d.ts +1 -1
  85. package/dist/svelte/components/annotations/Polygon.svelte.d.ts +1 -1
  86. package/dist/svelte/components/annotations/Polyline.svelte.d.ts +4 -2
  87. package/dist/svelte/components/annotations/Square.svelte.d.ts +1 -1
  88. package/dist/svelte/components/annotations/Stamp.svelte.d.ts +1 -1
  89. package/dist/svelte/components/annotations/Text.svelte.d.ts +10 -0
  90. package/dist/svelte/components/annotations/index.d.ts +1 -0
  91. package/dist/svelte/components/renderers/CaretRenderer.svelte.d.ts +5 -0
  92. package/dist/svelte/components/renderers/TextRenderer.svelte.d.ts +5 -0
  93. package/dist/svelte/components/text-markup/Highlight.svelte.d.ts +1 -1
  94. package/dist/svelte/components/text-markup/Squiggly.svelte.d.ts +1 -1
  95. package/dist/svelte/components/text-markup/Strikeout.svelte.d.ts +1 -1
  96. package/dist/svelte/components/text-markup/Underline.svelte.d.ts +1 -1
  97. package/dist/svelte/context/types.d.ts +1 -1
  98. package/dist/svelte/index.cjs +1 -1
  99. package/dist/svelte/index.cjs.map +1 -1
  100. package/dist/svelte/index.js +350 -147
  101. package/dist/svelte/index.js.map +1 -1
  102. package/dist/vue/components/annotation-container.vue.d.ts +2 -2
  103. package/dist/vue/components/annotation-layer.vue.d.ts +1 -1
  104. package/dist/vue/components/annotations/caret.vue.d.ts +24 -0
  105. package/dist/vue/components/annotations/circle.vue.d.ts +2 -2
  106. package/dist/vue/components/annotations/free-text.vue.d.ts +2 -2
  107. package/dist/vue/components/annotations/index.d.ts +1 -0
  108. package/dist/vue/components/annotations/ink.vue.d.ts +2 -2
  109. package/dist/vue/components/annotations/line.vue.d.ts +2 -2
  110. package/dist/vue/components/annotations/link.vue.d.ts +2 -2
  111. package/dist/vue/components/annotations/polygon.vue.d.ts +2 -2
  112. package/dist/vue/components/annotations/polyline.vue.d.ts +8 -3
  113. package/dist/vue/components/annotations/square.vue.d.ts +2 -2
  114. package/dist/vue/components/annotations/stamp.vue.d.ts +2 -2
  115. package/dist/vue/components/annotations/text.vue.d.ts +14 -0
  116. package/dist/vue/components/annotations.vue.d.ts +1 -1
  117. package/dist/vue/components/renderers/caret-renderer.vue.d.ts +6 -0
  118. package/dist/vue/components/renderers/text-renderer.vue.d.ts +6 -0
  119. package/dist/vue/components/text-markup/highlight.vue.d.ts +2 -2
  120. package/dist/vue/components/text-markup/squiggly.vue.d.ts +2 -2
  121. package/dist/vue/components/text-markup/strikeout.vue.d.ts +2 -2
  122. package/dist/vue/components/text-markup/underline.vue.d.ts +2 -2
  123. package/dist/vue/context/types.d.ts +1 -1
  124. package/dist/vue/index.cjs +1 -1
  125. package/dist/vue/index.cjs.map +1 -1
  126. package/dist/vue/index.js +535 -249
  127. package/dist/vue/index.js.map +1 -1
  128. package/package.json +10 -10
package/dist/vue/index.js CHANGED
@@ -2,13 +2,14 @@ import { createPluginPackage } from "@embedpdf/core";
2
2
  import { AnnotationPlugin, initialDocumentState, inferRotationCenterFromRects, patching, resolveInteractionProp, getAnnotationsByPageIndex, getSelectedAnnotationIds, AnnotationPluginPackage as AnnotationPluginPackage$1 } from "@embedpdf/plugin-annotation";
3
3
  export * from "@embedpdf/plugin-annotation";
4
4
  import { defineComponent, ref, watchEffect, openBlock, createElementBlock, normalizeStyle, createCommentVNode, toValue, watch, computed, shallowRef, toRaw, useSlots, createElementVNode, Fragment, unref, renderSlot, normalizeProps, mergeProps, createBlock, renderList, withCtx, resolveDynamicComponent, Teleport, toDisplayString, markRaw, provide, inject, onUnmounted, onMounted, createVNode, createSlots, guardReactiveProps } from "vue";
5
+ import { getCounterRotation } from "@embedpdf/utils";
5
6
  import { useInteractionHandles, useDoublePressProps, CounterRotate, deepToRaw } from "@embedpdf/utils/vue";
6
7
  import { useCapability, usePlugin, useDocumentPermissions, useDocumentState } from "@embedpdf/core/vue";
7
- import { boundingRectOrEmpty, PdfAnnotationBorderStyle, PdfVerticalAlignment, textAlignmentToCss, standardFontCssProperties, ignore, PdfErrorCode, PdfAnnotationSubtype, blendModeToCss, PdfBlendMode } from "@embedpdf/models";
8
+ import { boundingRectOrEmpty, PdfAnnotationBorderStyle, PdfVerticalAlignment, textAlignmentToCss, standardFontCssProperties, ignore, PdfErrorCode, getContrastStrokeColor, PdfAnnotationSubtype, blendModeToCss, PdfBlendMode } from "@embedpdf/models";
8
9
  import { usePointerHandlers } from "@embedpdf/plugin-interaction-manager/vue";
9
10
  import { useSelectionCapability } from "@embedpdf/plugin-selection/vue";
10
- const _hoisted_1$b = ["src"];
11
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
11
+ const _hoisted_1$d = ["src"];
12
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
12
13
  __name: "appearance-image",
13
14
  props: {
14
15
  appearance: {},
@@ -51,7 +52,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
51
52
  userSelect: "none",
52
53
  ...__props.style
53
54
  })
54
- }, null, 44, _hoisted_1$b)) : createCommentVNode("", true);
55
+ }, null, 44, _hoisted_1$d)) : createCommentVNode("", true);
55
56
  };
56
57
  }
57
58
  });
@@ -85,13 +86,13 @@ const useAnnotation = (documentId) => {
85
86
  })
86
87
  };
87
88
  };
88
- const _hoisted_1$a = ["width", "height", "stroke"];
89
- const _hoisted_2$8 = ["width", "height", "stroke"];
90
- const __default__$d = {
89
+ const _hoisted_1$c = ["width", "height", "stroke"];
90
+ const _hoisted_2$a = ["width", "height", "stroke"];
91
+ const __default__$e = {
91
92
  inheritAttrs: false
92
93
  };
93
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
94
- ...__default__$d,
94
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
95
+ ...__default__$e,
95
96
  __name: "annotation-container",
96
97
  props: {
97
98
  scale: {},
@@ -225,6 +226,12 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
225
226
  const currentObject = computed(
226
227
  () => ({ ...toRaw(props.trackedAnnotation.object), ...toRaw(preview.value) })
227
228
  );
229
+ const hasNoZoom = computed(() => (props.trackedAnnotation.object.flags ?? []).includes("noZoom"));
230
+ const hasNoRotate = computed(
231
+ () => (props.trackedAnnotation.object.flags ?? []).includes("noRotate")
232
+ );
233
+ const visualScale = computed(() => hasNoZoom.value ? 1 : props.scale);
234
+ const effectivePageRotation = computed(() => hasNoRotate.value ? 0 : props.rotation);
228
235
  const annotationRotation = computed(
229
236
  () => liveRotation.value ?? currentObject.value.rotation ?? 0
230
237
  );
@@ -269,8 +276,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
269
276
  y: currentObject.value.rect.origin.y * props.scale
270
277
  },
271
278
  size: {
272
- width: currentObject.value.rect.size.width * props.scale,
273
- height: currentObject.value.rect.size.height * props.scale
279
+ width: currentObject.value.rect.size.width * visualScale.value,
280
+ height: currentObject.value.rect.size.height * visualScale.value
274
281
  }
275
282
  }));
276
283
  const menuContext = computed(() => ({
@@ -279,7 +286,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
279
286
  pageIndex: props.pageIndex
280
287
  }));
281
288
  const menuPlacement = computed(() => {
282
- const effectiveAngle = ((annotationRotation.value + props.rotation * 90) % 360 + 360) % 360;
289
+ const effectiveAngle = ((annotationRotation.value + effectivePageRotation.value * 90) % 360 + 360) % 360;
283
290
  const handleNearMenuSide = effectiveIsRotatable.value && effectiveAngle > 90 && effectiveAngle < 270;
284
291
  return {
285
292
  suggestTop: handleNearMenuSide
@@ -462,32 +469,38 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
462
469
  ];
463
470
  onCleanup(() => unsubs.forEach((u) => u()));
464
471
  });
465
- const aabbWidth = computed(() => currentObject.value.rect.size.width * props.scale);
466
- const aabbHeight = computed(() => currentObject.value.rect.size.height * props.scale);
467
- const innerWidth = computed(() => effectiveUnrotatedRect.value.size.width * props.scale);
468
- const innerHeight = computed(() => effectiveUnrotatedRect.value.size.height * props.scale);
472
+ const aabbWidth = computed(() => currentObject.value.rect.size.width * visualScale.value);
473
+ const aabbHeight = computed(() => currentObject.value.rect.size.height * visualScale.value);
474
+ const innerWidth = computed(() => effectiveUnrotatedRect.value.size.width * visualScale.value);
475
+ const innerHeight = computed(() => effectiveUnrotatedRect.value.size.height * visualScale.value);
469
476
  const usesCustomPivot = computed(
470
477
  () => Boolean(explicitUnrotatedRect.value) && annotationRotation.value !== 0
471
478
  );
472
479
  const innerLeft = computed(
473
- () => usesCustomPivot.value ? (effectiveUnrotatedRect.value.origin.x - currentObject.value.rect.origin.x) * props.scale : (aabbWidth.value - innerWidth.value) / 2
480
+ () => usesCustomPivot.value ? (effectiveUnrotatedRect.value.origin.x - currentObject.value.rect.origin.x) * visualScale.value : (aabbWidth.value - innerWidth.value) / 2
474
481
  );
475
482
  const innerTop = computed(
476
- () => usesCustomPivot.value ? (effectiveUnrotatedRect.value.origin.y - currentObject.value.rect.origin.y) * props.scale : (aabbHeight.value - innerHeight.value) / 2
483
+ () => usesCustomPivot.value ? (effectiveUnrotatedRect.value.origin.y - currentObject.value.rect.origin.y) * visualScale.value : (aabbHeight.value - innerHeight.value) / 2
477
484
  );
478
485
  const innerTransformOrigin = computed(() => {
479
486
  if (usesCustomPivot.value && rotationPivot.value) {
480
- return `${(rotationPivot.value.x - effectiveUnrotatedRect.value.origin.x) * props.scale}px ${(rotationPivot.value.y - effectiveUnrotatedRect.value.origin.y) * props.scale}px`;
487
+ return `${(rotationPivot.value.x - effectiveUnrotatedRect.value.origin.x) * visualScale.value}px ${(rotationPivot.value.y - effectiveUnrotatedRect.value.origin.y) * visualScale.value}px`;
481
488
  }
482
489
  return "center center";
483
490
  });
484
491
  const centerX = computed(
485
- () => rotationPivot.value ? (rotationPivot.value.x - currentObject.value.rect.origin.x) * props.scale : aabbWidth.value / 2
492
+ () => rotationPivot.value ? (rotationPivot.value.x - currentObject.value.rect.origin.x) * visualScale.value : aabbWidth.value / 2
486
493
  );
487
494
  const centerY = computed(
488
- () => rotationPivot.value ? (rotationPivot.value.y - currentObject.value.rect.origin.y) * props.scale : aabbHeight.value / 2
495
+ () => rotationPivot.value ? (rotationPivot.value.y - currentObject.value.rect.origin.y) * visualScale.value : aabbHeight.value / 2
489
496
  );
490
497
  const guideLength = computed(() => Math.max(300, Math.max(aabbWidth.value, aabbHeight.value) + 80));
498
+ const counterRot = computed(
499
+ () => hasNoRotate.value ? getCounterRotation(
500
+ { origin: { x: 0, y: 0 }, size: { width: aabbWidth.value, height: aabbHeight.value } },
501
+ props.rotation
502
+ ) : null
503
+ );
491
504
  const rotationIconSize = computed(() => Math.round(ROTATION_SIZE.value * 0.6));
492
505
  const apActive = computed(
493
506
  () => {
@@ -500,10 +513,11 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
500
513
  position: "absolute",
501
514
  left: `${currentObject.value.rect.origin.x * props.scale}px`,
502
515
  top: `${currentObject.value.rect.origin.y * props.scale}px`,
503
- width: `${aabbWidth.value}px`,
504
- height: `${aabbHeight.value}px`,
516
+ width: `${counterRot.value ? counterRot.value.width : aabbWidth.value}px`,
517
+ height: `${counterRot.value ? counterRot.value.height : aabbHeight.value}px`,
505
518
  pointerEvents: "none",
506
519
  zIndex: props.zIndex,
520
+ ...counterRot.value ? { transform: counterRot.value.matrix, transformOrigin: "0 0" } : {},
507
521
  ...props.style ?? {}
508
522
  }));
509
523
  const innerRotatedStyle = computed(() => ({
@@ -658,7 +672,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
658
672
  }, [..._cache[2] || (_cache[2] = [
659
673
  createElementVNode("path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8" }, null, -1),
660
674
  createElementVNode("path", { d: "M21 3v5h-5" }, null, -1)
661
- ])], 8, _hoisted_1$a))
675
+ ])], 8, _hoisted_1$c))
662
676
  ], 16)
663
677
  ]) : (openBlock(), createElementBlock("div", mergeProps({ key: 2 }, rotationHandleBindings.value, { style: rotationHandleStyle.value }), [
664
678
  (openBlock(), createElementBlock("svg", {
@@ -673,7 +687,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
673
687
  }, [..._cache[3] || (_cache[3] = [
674
688
  createElementVNode("path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8" }, null, -1),
675
689
  createElementVNode("path", { d: "M21 3v5h-5" }, null, -1)
676
- ])], 8, _hoisted_2$8))
690
+ ])], 8, _hoisted_2$a))
677
691
  ], 16))
678
692
  ], 32)) : createCommentVNode("", true),
679
693
  createElementVNode("div", mergeProps({ ...effectiveIsDraggable.value && __props.isSelected ? unref(dragProps) : {}, ...unref(doubleProps) }, { style: innerRotatedStyle.value }), [
@@ -681,7 +695,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
681
695
  annotation: childObject.value,
682
696
  appearanceActive: apActive.value
683
697
  }),
684
- ((_a = __props.appearance) == null ? void 0 : _a.normal) ? (openBlock(), createBlock(_sfc_main$z, {
698
+ ((_a = __props.appearance) == null ? void 0 : _a.normal) ? (openBlock(), createBlock(_sfc_main$D, {
685
699
  key: 0,
686
700
  appearance: __props.appearance.normal,
687
701
  style: normalizeStyle({ display: apActive.value ? "block" : "none" })
@@ -751,14 +765,65 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
751
765
  };
752
766
  }
753
767
  });
754
- const _hoisted_1$9 = {
768
+ function mapCounterRotatePoint(x, y, width, height, rotation) {
769
+ switch (rotation) {
770
+ case 1:
771
+ return { x: y, y: height - x };
772
+ case 2:
773
+ return { x: width - x, y: height - y };
774
+ case 3:
775
+ return { x: width - y, y: x };
776
+ default:
777
+ return { x, y };
778
+ }
779
+ }
780
+ function getAnnotationScreenBounds(annotation, scale, rotation) {
781
+ const flags = annotation.object.flags ?? [];
782
+ const hasNoZoom = flags.includes("noZoom");
783
+ const hasNoRotate = flags.includes("noRotate");
784
+ const left = annotation.object.rect.origin.x * scale;
785
+ const top = annotation.object.rect.origin.y * scale;
786
+ const width = annotation.object.rect.size.width * (hasNoZoom ? 1 : scale);
787
+ const height = annotation.object.rect.size.height * (hasNoZoom ? 1 : scale);
788
+ if (!hasNoRotate || rotation === 0) {
789
+ return {
790
+ left,
791
+ top,
792
+ right: left + width,
793
+ bottom: top + height
794
+ };
795
+ }
796
+ const corners = [
797
+ mapCounterRotatePoint(0, 0, width, height, rotation),
798
+ mapCounterRotatePoint(width, 0, width, height, rotation),
799
+ mapCounterRotatePoint(0, height, width, height, rotation),
800
+ mapCounterRotatePoint(width, height, width, height, rotation)
801
+ ];
802
+ let minX = Infinity;
803
+ let minY = Infinity;
804
+ let maxX = -Infinity;
805
+ let maxY = -Infinity;
806
+ for (const corner of corners) {
807
+ if (corner.x < minX) minX = corner.x;
808
+ if (corner.y < minY) minY = corner.y;
809
+ if (corner.x > maxX) maxX = corner.x;
810
+ if (corner.y > maxY) maxY = corner.y;
811
+ }
812
+ return {
813
+ left: left + minX,
814
+ top: top + minY,
815
+ right: left + maxX,
816
+ bottom: top + maxY
817
+ };
818
+ }
819
+ const _hoisted_1$b = {
755
820
  key: 0,
756
821
  "data-group-selection-box": "",
757
822
  "data-no-interaction": ""
758
823
  };
759
- const _hoisted_2$7 = ["width", "height", "stroke"];
760
- const _hoisted_3$7 = ["width", "height", "stroke"];
761
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
824
+ const _hoisted_2$9 = ["width", "height", "stroke"];
825
+ const _hoisted_3$9 = ["width", "height", "stroke"];
826
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
762
827
  __name: "group-selection-box",
763
828
  props: {
764
829
  documentId: {},
@@ -897,8 +962,42 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
897
962
  },
898
963
  { immediate: true }
899
964
  );
900
- const groupBoxWidth = computed(() => previewGroupBox.value.size.width * props.scale);
901
- const groupBoxHeight = computed(() => previewGroupBox.value.size.height * props.scale);
965
+ const visualBoundsCorrection = computed(() => {
966
+ let visualLeft = Infinity;
967
+ let visualTop = Infinity;
968
+ let visualRight = -Infinity;
969
+ let visualBottom = -Infinity;
970
+ for (const ta of props.selectedAnnotations) {
971
+ const bounds = getAnnotationScreenBounds(ta, props.scale, props.rotation);
972
+ if (bounds.left < visualLeft) visualLeft = bounds.left;
973
+ if (bounds.top < visualTop) visualTop = bounds.top;
974
+ if (bounds.right > visualRight) visualRight = bounds.right;
975
+ if (bounds.bottom > visualBottom) visualBottom = bounds.bottom;
976
+ }
977
+ const gb = groupBox.value;
978
+ const logicalLeft = gb.origin.x * props.scale;
979
+ const logicalTop = gb.origin.y * props.scale;
980
+ const logicalRight = (gb.origin.x + gb.size.width) * props.scale;
981
+ const logicalBottom = (gb.origin.y + gb.size.height) * props.scale;
982
+ return {
983
+ left: visualLeft - logicalLeft,
984
+ top: visualTop - logicalTop,
985
+ right: visualRight - logicalRight,
986
+ bottom: visualBottom - logicalBottom
987
+ };
988
+ });
989
+ const groupBoxLeft = computed(
990
+ () => previewGroupBox.value.origin.x * props.scale + visualBoundsCorrection.value.left
991
+ );
992
+ const groupBoxTop = computed(
993
+ () => previewGroupBox.value.origin.y * props.scale + visualBoundsCorrection.value.top
994
+ );
995
+ const groupBoxWidth = computed(
996
+ () => previewGroupBox.value.size.width * props.scale + (visualBoundsCorrection.value.right - visualBoundsCorrection.value.left)
997
+ );
998
+ const groupBoxHeight = computed(
999
+ () => previewGroupBox.value.size.height * props.scale + (visualBoundsCorrection.value.bottom - visualBoundsCorrection.value.top)
1000
+ );
902
1001
  const groupCenterX = computed(() => groupBoxWidth.value / 2);
903
1002
  const groupCenterY = computed(() => groupBoxHeight.value / 2);
904
1003
  const groupGuideLength = computed(
@@ -907,8 +1006,8 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
907
1006
  const contentsStyle = { display: "contents" };
908
1007
  const outerStyle = computed(() => ({
909
1008
  position: "absolute",
910
- left: `${previewGroupBox.value.origin.x * props.scale}px`,
911
- top: `${previewGroupBox.value.origin.y * props.scale}px`,
1009
+ left: `${groupBoxLeft.value}px`,
1010
+ top: `${groupBoxTop.value}px`,
912
1011
  width: `${groupBoxWidth.value}px`,
913
1012
  height: `${groupBoxHeight.value}px`,
914
1013
  pointerEvents: "none",
@@ -1017,12 +1116,12 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1017
1116
  }));
1018
1117
  const menuRect = computed(() => ({
1019
1118
  origin: {
1020
- x: previewGroupBox.value.origin.x * props.scale,
1021
- y: previewGroupBox.value.origin.y * props.scale
1119
+ x: groupBoxLeft.value,
1120
+ y: groupBoxTop.value
1022
1121
  },
1023
1122
  size: {
1024
- width: previewGroupBox.value.size.width * props.scale,
1025
- height: previewGroupBox.value.size.height * props.scale
1123
+ width: groupBoxWidth.value,
1124
+ height: groupBoxHeight.value
1026
1125
  }
1027
1126
  }));
1028
1127
  const menuContext = computed(() => ({
@@ -1184,7 +1283,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1184
1283
  currentRotation: computed(() => liveRotation.value ?? 0)
1185
1284
  });
1186
1285
  return (_ctx, _cache) => {
1187
- return __props.selectedAnnotations.length >= 2 ? (openBlock(), createElementBlock("div", _hoisted_1$9, [
1286
+ return __props.selectedAnnotations.length >= 2 ? (openBlock(), createElementBlock("div", _hoisted_1$b, [
1188
1287
  createElementVNode("div", {
1189
1288
  style: normalizeStyle(outerStyle.value)
1190
1289
  }, [
@@ -1227,7 +1326,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1227
1326
  }, [..._cache[2] || (_cache[2] = [
1228
1327
  createElementVNode("path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8" }, null, -1),
1229
1328
  createElementVNode("path", { d: "M21 3v5h-5" }, null, -1)
1230
- ])], 8, _hoisted_2$7))
1329
+ ])], 8, _hoisted_2$9))
1231
1330
  ], 16)
1232
1331
  ]) : (openBlock(), createElementBlock("div", mergeProps({ key: 2 }, rotationHandleBindings.value, { style: rotationHandleStyle.value }), [
1233
1332
  (openBlock(), createElementBlock("svg", {
@@ -1242,7 +1341,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1242
1341
  }, [..._cache[3] || (_cache[3] = [
1243
1342
  createElementVNode("path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8" }, null, -1),
1244
1343
  createElementVNode("path", { d: "M21 3v5h-5" }, null, -1)
1245
- ])], 8, _hoisted_3$7))
1344
+ ])], 8, _hoisted_3$9))
1246
1345
  ], 16))
1247
1346
  ], 32)) : createCommentVNode("", true),
1248
1347
  createElementVNode("div", mergeProps(
@@ -1345,12 +1444,12 @@ function createRenderer(entry) {
1345
1444
  hideSelectionMenu: entry.hideSelectionMenu
1346
1445
  };
1347
1446
  }
1348
- const _hoisted_1$8 = ["width", "height", "viewBox"];
1349
- const _hoisted_2$6 = ["d", "stroke-width"];
1350
- const _hoisted_3$6 = ["d", "opacity"];
1351
- const __default__$c = { inheritAttrs: false };
1352
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
1353
- ...__default__$c,
1447
+ const _hoisted_1$a = ["width", "height", "viewBox"];
1448
+ const _hoisted_2$8 = ["d", "stroke-width"];
1449
+ const _hoisted_3$8 = ["d", "opacity"];
1450
+ const __default__$d = { inheritAttrs: false };
1451
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1452
+ ...__default__$d,
1354
1453
  __name: "ink",
1355
1454
  props: {
1356
1455
  isSelected: { type: Boolean },
@@ -1406,15 +1505,13 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1406
1505
  "stroke-width": hitStrokeWidth.value,
1407
1506
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
1408
1507
  (...args) => __props.onClick && __props.onClick(...args)),
1409
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
1410
- (...args) => __props.onClick && __props.onClick(...args)),
1411
1508
  style: normalizeStyle({
1412
1509
  cursor: __props.isSelected ? "move" : "pointer",
1413
1510
  pointerEvents: __props.isSelected ? "none" : "visibleStroke",
1414
1511
  strokeLinecap: "round",
1415
1512
  strokeLinejoin: "round"
1416
1513
  })
1417
- }, null, 44, _hoisted_2$6);
1514
+ }, null, 44, _hoisted_2$8);
1418
1515
  }), 128)),
1419
1516
  !__props.appearanceActive ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(paths.value, (d, i) => {
1420
1517
  return openBlock(), createElementBlock("path", {
@@ -1429,13 +1526,13 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1429
1526
  strokeLinecap: "round",
1430
1527
  strokeLinejoin: "round"
1431
1528
  })
1432
- }, null, 12, _hoisted_3$6);
1529
+ }, null, 12, _hoisted_3$8);
1433
1530
  }), 128)) : createCommentVNode("", true)
1434
- ], 12, _hoisted_1$8);
1531
+ ], 12, _hoisted_1$a);
1435
1532
  };
1436
1533
  }
1437
1534
  });
1438
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
1535
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1439
1536
  __name: "ink-renderer",
1440
1537
  props: {
1441
1538
  annotation: {},
@@ -1450,7 +1547,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1450
1547
  },
1451
1548
  setup(__props) {
1452
1549
  return (_ctx, _cache) => {
1453
- return openBlock(), createBlock(_sfc_main$w, mergeProps(__props.currentObject, {
1550
+ return openBlock(), createBlock(_sfc_main$A, mergeProps(__props.currentObject, {
1454
1551
  isSelected: __props.isSelected,
1455
1552
  scale: __props.scale,
1456
1553
  onClick: __props.onClick,
@@ -1459,12 +1556,12 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1459
1556
  };
1460
1557
  }
1461
1558
  });
1462
- const _hoisted_1$7 = ["width", "height", "viewBox"];
1463
- const _hoisted_2$5 = ["x", "y", "width", "height", "stroke-width"];
1464
- const _hoisted_3$5 = ["x", "y", "width", "height", "fill", "opacity"];
1465
- const __default__$b = { inheritAttrs: false };
1466
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
1467
- ...__default__$b,
1559
+ const _hoisted_1$9 = ["width", "height", "viewBox"];
1560
+ const _hoisted_2$7 = ["x", "y", "width", "height", "stroke-width"];
1561
+ const _hoisted_3$7 = ["x", "y", "width", "height", "fill", "opacity"];
1562
+ const __default__$c = { inheritAttrs: false };
1563
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1564
+ ...__default__$c,
1468
1565
  __name: "square",
1469
1566
  props: {
1470
1567
  isSelected: { type: Boolean },
@@ -1524,13 +1621,11 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1524
1621
  "stroke-width": hitStrokeWidth.value,
1525
1622
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
1526
1623
  (...args) => __props.onClick && __props.onClick(...args)),
1527
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
1528
- (...args) => __props.onClick && __props.onClick(...args)),
1529
1624
  style: normalizeStyle({
1530
1625
  cursor: __props.isSelected ? "move" : "pointer",
1531
1626
  pointerEvents: __props.isSelected ? "none" : __props.color === "transparent" ? "visibleStroke" : "visible"
1532
1627
  })
1533
- }, null, 44, _hoisted_2$5),
1628
+ }, null, 44, _hoisted_2$7),
1534
1629
  !__props.appearanceActive ? (openBlock(), createElementBlock("rect", {
1535
1630
  key: 0,
1536
1631
  x: geometry.value.x,
@@ -1547,12 +1642,12 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1547
1642
  strokeDasharray: (_a = __props.strokeDashArray) == null ? void 0 : _a.join(",")
1548
1643
  }
1549
1644
  })
1550
- }, null, 12, _hoisted_3$5)) : createCommentVNode("", true)
1551
- ], 12, _hoisted_1$7);
1645
+ }, null, 12, _hoisted_3$7)) : createCommentVNode("", true)
1646
+ ], 12, _hoisted_1$9);
1552
1647
  };
1553
1648
  }
1554
1649
  });
1555
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
1650
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1556
1651
  __name: "square-renderer",
1557
1652
  props: {
1558
1653
  annotation: {},
@@ -1567,7 +1662,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1567
1662
  },
1568
1663
  setup(__props) {
1569
1664
  return (_ctx, _cache) => {
1570
- return openBlock(), createBlock(_sfc_main$u, mergeProps(__props.currentObject, {
1665
+ return openBlock(), createBlock(_sfc_main$y, mergeProps(__props.currentObject, {
1571
1666
  isSelected: __props.isSelected,
1572
1667
  scale: __props.scale,
1573
1668
  onClick: __props.onClick,
@@ -1576,12 +1671,12 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1576
1671
  };
1577
1672
  }
1578
1673
  });
1579
- const _hoisted_1$6 = ["width", "height", "viewBox"];
1580
- const _hoisted_2$4 = ["cx", "cy", "rx", "ry", "stroke-width"];
1581
- const _hoisted_3$4 = ["cx", "cy", "rx", "ry", "fill", "opacity"];
1582
- const __default__$a = { inheritAttrs: false };
1583
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
1584
- ...__default__$a,
1674
+ const _hoisted_1$8 = ["width", "height", "viewBox"];
1675
+ const _hoisted_2$6 = ["cx", "cy", "rx", "ry", "stroke-width"];
1676
+ const _hoisted_3$6 = ["cx", "cy", "rx", "ry", "fill", "opacity"];
1677
+ const __default__$b = { inheritAttrs: false };
1678
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1679
+ ...__default__$b,
1585
1680
  __name: "circle",
1586
1681
  props: {
1587
1682
  isSelected: { type: Boolean },
@@ -1643,13 +1738,11 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1643
1738
  "stroke-width": hitStrokeWidth.value,
1644
1739
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
1645
1740
  (...args) => __props.onClick && __props.onClick(...args)),
1646
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
1647
- (...args) => __props.onClick && __props.onClick(...args)),
1648
1741
  style: normalizeStyle({
1649
1742
  cursor: __props.isSelected ? "move" : "pointer",
1650
1743
  pointerEvents: __props.isSelected ? "none" : __props.color === "transparent" ? "visibleStroke" : "visible"
1651
1744
  })
1652
- }, null, 44, _hoisted_2$4),
1745
+ }, null, 44, _hoisted_2$6),
1653
1746
  !__props.appearanceActive ? (openBlock(), createElementBlock("ellipse", {
1654
1747
  key: 0,
1655
1748
  cx: geometry.value.cx,
@@ -1666,12 +1759,12 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1666
1759
  strokeDasharray: (_a = __props.strokeDashArray) == null ? void 0 : _a.join(",")
1667
1760
  }
1668
1761
  })
1669
- }, null, 12, _hoisted_3$4)) : createCommentVNode("", true)
1670
- ], 12, _hoisted_1$6);
1762
+ }, null, 12, _hoisted_3$6)) : createCommentVNode("", true)
1763
+ ], 12, _hoisted_1$8);
1671
1764
  };
1672
1765
  }
1673
1766
  });
1674
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
1767
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1675
1768
  __name: "circle-renderer",
1676
1769
  props: {
1677
1770
  annotation: {},
@@ -1686,7 +1779,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1686
1779
  },
1687
1780
  setup(__props) {
1688
1781
  return (_ctx, _cache) => {
1689
- return openBlock(), createBlock(_sfc_main$s, mergeProps(__props.currentObject, {
1782
+ return openBlock(), createBlock(_sfc_main$w, mergeProps(__props.currentObject, {
1690
1783
  isSelected: __props.isSelected,
1691
1784
  scale: __props.scale,
1692
1785
  onClick: __props.onClick,
@@ -1695,16 +1788,16 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1695
1788
  };
1696
1789
  }
1697
1790
  });
1698
- const _hoisted_1$5 = ["width", "height", "viewBox"];
1699
- const _hoisted_2$3 = ["x1", "y1", "x2", "y2", "stroke-width"];
1700
- const _hoisted_3$3 = ["d", "transform", "stroke-width"];
1701
- const _hoisted_4$3 = ["d", "transform", "stroke-width"];
1702
- const _hoisted_5$2 = ["x1", "y1", "x2", "y2", "opacity"];
1791
+ const _hoisted_1$7 = ["width", "height", "viewBox"];
1792
+ const _hoisted_2$5 = ["x1", "y1", "x2", "y2", "stroke-width"];
1793
+ const _hoisted_3$5 = ["d", "transform", "stroke-width"];
1794
+ const _hoisted_4$4 = ["d", "transform", "stroke-width"];
1795
+ const _hoisted_5$3 = ["x1", "y1", "x2", "y2", "opacity"];
1703
1796
  const _hoisted_6$1 = ["d", "transform", "stroke", "fill"];
1704
1797
  const _hoisted_7$1 = ["d", "transform", "stroke", "fill"];
1705
- const __default__$9 = { inheritAttrs: false };
1706
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1707
- ...__default__$9,
1798
+ const __default__$a = { inheritAttrs: false };
1799
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1800
+ ...__default__$a,
1708
1801
  __name: "line",
1709
1802
  props: {
1710
1803
  color: { default: "transparent" },
@@ -1774,14 +1867,12 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1774
1867
  "stroke-width": hitStrokeWidth.value,
1775
1868
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
1776
1869
  (...args) => __props.onClick && __props.onClick(...args)),
1777
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
1778
- (...args) => __props.onClick && __props.onClick(...args)),
1779
1870
  style: normalizeStyle({
1780
1871
  cursor: __props.isSelected ? "move" : "pointer",
1781
1872
  pointerEvents: __props.isSelected ? "none" : "visibleStroke",
1782
1873
  strokeLinecap: "butt"
1783
1874
  })
1784
- }, null, 44, _hoisted_2$3),
1875
+ }, null, 44, _hoisted_2$5),
1785
1876
  endings.value.start ? (openBlock(), createElementBlock("path", {
1786
1877
  key: 0,
1787
1878
  d: endings.value.start.d,
@@ -1789,16 +1880,14 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1789
1880
  fill: "transparent",
1790
1881
  stroke: "transparent",
1791
1882
  "stroke-width": hitStrokeWidth.value,
1792
- onPointerdown: _cache[2] || (_cache[2] = //@ts-ignore
1793
- (...args) => __props.onClick && __props.onClick(...args)),
1794
- onTouchstart: _cache[3] || (_cache[3] = //@ts-ignore
1883
+ onPointerdown: _cache[1] || (_cache[1] = //@ts-ignore
1795
1884
  (...args) => __props.onClick && __props.onClick(...args)),
1796
1885
  style: normalizeStyle({
1797
1886
  cursor: __props.isSelected ? "move" : "pointer",
1798
1887
  pointerEvents: __props.isSelected ? "none" : endings.value.start.filled ? "visible" : "visibleStroke",
1799
1888
  strokeLinecap: "butt"
1800
1889
  })
1801
- }, null, 44, _hoisted_3$3)) : createCommentVNode("", true),
1890
+ }, null, 44, _hoisted_3$5)) : createCommentVNode("", true),
1802
1891
  endings.value.end ? (openBlock(), createElementBlock("path", {
1803
1892
  key: 1,
1804
1893
  d: endings.value.end.d,
@@ -1806,16 +1895,14 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1806
1895
  fill: "transparent",
1807
1896
  stroke: "transparent",
1808
1897
  "stroke-width": hitStrokeWidth.value,
1809
- onPointerdown: _cache[4] || (_cache[4] = //@ts-ignore
1810
- (...args) => __props.onClick && __props.onClick(...args)),
1811
- onTouchstart: _cache[5] || (_cache[5] = //@ts-ignore
1898
+ onPointerdown: _cache[2] || (_cache[2] = //@ts-ignore
1812
1899
  (...args) => __props.onClick && __props.onClick(...args)),
1813
1900
  style: normalizeStyle({
1814
1901
  cursor: __props.isSelected ? "move" : "pointer",
1815
1902
  pointerEvents: __props.isSelected ? "none" : endings.value.end.filled ? "visible" : "visibleStroke",
1816
1903
  strokeLinecap: "butt"
1817
1904
  })
1818
- }, null, 44, _hoisted_4$3)) : createCommentVNode("", true),
1905
+ }, null, 44, _hoisted_4$4)) : createCommentVNode("", true),
1819
1906
  !__props.appearanceActive ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
1820
1907
  createElementVNode("line", {
1821
1908
  x1: localLine.value.x1,
@@ -1832,7 +1919,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1832
1919
  strokeDasharray: (_a = __props.strokeDashArray) == null ? void 0 : _a.join(",")
1833
1920
  }
1834
1921
  })
1835
- }, null, 12, _hoisted_5$2),
1922
+ }, null, 12, _hoisted_5$3),
1836
1923
  endings.value.start ? (openBlock(), createElementBlock("path", {
1837
1924
  key: 0,
1838
1925
  d: endings.value.start.d,
@@ -1864,11 +1951,11 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1864
1951
  })
1865
1952
  }, null, 12, _hoisted_7$1)) : createCommentVNode("", true)
1866
1953
  ], 64)) : createCommentVNode("", true)
1867
- ], 12, _hoisted_1$5);
1954
+ ], 12, _hoisted_1$7);
1868
1955
  };
1869
1956
  }
1870
1957
  });
1871
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
1958
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1872
1959
  __name: "line-renderer",
1873
1960
  props: {
1874
1961
  annotation: {},
@@ -1883,7 +1970,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1883
1970
  },
1884
1971
  setup(__props) {
1885
1972
  return (_ctx, _cache) => {
1886
- return openBlock(), createBlock(_sfc_main$q, mergeProps(__props.currentObject, {
1973
+ return openBlock(), createBlock(_sfc_main$u, mergeProps(__props.currentObject, {
1887
1974
  isSelected: __props.isSelected,
1888
1975
  scale: __props.scale,
1889
1976
  onClick: __props.onClick,
@@ -1892,16 +1979,16 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1892
1979
  };
1893
1980
  }
1894
1981
  });
1895
- const _hoisted_1$4 = ["width", "height", "viewBox"];
1896
- const _hoisted_2$2 = ["d", "stroke-width"];
1897
- const _hoisted_3$2 = ["d", "transform", "stroke-width"];
1898
- const _hoisted_4$2 = ["d", "transform", "stroke-width"];
1899
- const _hoisted_5$1 = ["d", "opacity"];
1982
+ const _hoisted_1$6 = ["width", "height", "viewBox"];
1983
+ const _hoisted_2$4 = ["d", "stroke-width"];
1984
+ const _hoisted_3$4 = ["d", "transform", "stroke-width"];
1985
+ const _hoisted_4$3 = ["d", "transform", "stroke-width"];
1986
+ const _hoisted_5$2 = ["d", "opacity"];
1900
1987
  const _hoisted_6 = ["d", "transform", "stroke", "fill"];
1901
1988
  const _hoisted_7 = ["d", "transform", "stroke", "fill"];
1902
- const __default__$8 = { inheritAttrs: false };
1903
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
1904
- ...__default__$8,
1989
+ const __default__$9 = { inheritAttrs: false };
1990
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1991
+ ...__default__$9,
1905
1992
  __name: "polyline",
1906
1993
  props: {
1907
1994
  rect: {},
@@ -1910,6 +1997,8 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1910
1997
  strokeColor: { default: "#000000" },
1911
1998
  opacity: { default: 1 },
1912
1999
  strokeWidth: {},
2000
+ strokeStyle: { default: PdfAnnotationBorderStyle.SOLID },
2001
+ strokeDashArray: {},
1913
2002
  scale: {},
1914
2003
  isSelected: { type: Boolean },
1915
2004
  onClick: {},
@@ -1962,6 +2051,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1962
2051
  () => Math.max(props.strokeWidth, MIN_HIT_AREA_SCREEN_PX / props.scale)
1963
2052
  );
1964
2053
  return (_ctx, _cache) => {
2054
+ var _a, _b, _c;
1965
2055
  return openBlock(), createElementBlock("svg", {
1966
2056
  style: normalizeStyle({
1967
2057
  position: "absolute",
@@ -1982,15 +2072,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1982
2072
  "stroke-width": hitStrokeWidth.value,
1983
2073
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
1984
2074
  (...args) => __props.onClick && __props.onClick(...args)),
1985
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
1986
- (...args) => __props.onClick && __props.onClick(...args)),
1987
2075
  style: normalizeStyle({
1988
2076
  cursor: __props.isSelected ? "move" : "pointer",
1989
2077
  pointerEvents: __props.isSelected ? "none" : "visibleStroke",
1990
2078
  strokeLinecap: "butt",
1991
2079
  strokeLinejoin: "miter"
1992
2080
  })
1993
- }, null, 44, _hoisted_2$2),
2081
+ }, null, 44, _hoisted_2$4),
1994
2082
  endings.value.start ? (openBlock(), createElementBlock("path", {
1995
2083
  key: 0,
1996
2084
  d: endings.value.start.d,
@@ -1998,16 +2086,14 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1998
2086
  fill: "transparent",
1999
2087
  stroke: "transparent",
2000
2088
  "stroke-width": hitStrokeWidth.value,
2001
- onPointerdown: _cache[2] || (_cache[2] = //@ts-ignore
2002
- (...args) => __props.onClick && __props.onClick(...args)),
2003
- onTouchstart: _cache[3] || (_cache[3] = //@ts-ignore
2089
+ onPointerdown: _cache[1] || (_cache[1] = //@ts-ignore
2004
2090
  (...args) => __props.onClick && __props.onClick(...args)),
2005
2091
  style: normalizeStyle({
2006
2092
  cursor: __props.isSelected ? "move" : "pointer",
2007
2093
  pointerEvents: __props.isSelected ? "none" : endings.value.start.filled ? "visible" : "visibleStroke",
2008
2094
  strokeLinecap: "butt"
2009
2095
  })
2010
- }, null, 44, _hoisted_3$2)) : createCommentVNode("", true),
2096
+ }, null, 44, _hoisted_3$4)) : createCommentVNode("", true),
2011
2097
  endings.value.end ? (openBlock(), createElementBlock("path", {
2012
2098
  key: 1,
2013
2099
  d: endings.value.end.d,
@@ -2015,16 +2101,14 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2015
2101
  fill: "transparent",
2016
2102
  stroke: "transparent",
2017
2103
  "stroke-width": hitStrokeWidth.value,
2018
- onPointerdown: _cache[4] || (_cache[4] = //@ts-ignore
2019
- (...args) => __props.onClick && __props.onClick(...args)),
2020
- onTouchstart: _cache[5] || (_cache[5] = //@ts-ignore
2104
+ onPointerdown: _cache[2] || (_cache[2] = //@ts-ignore
2021
2105
  (...args) => __props.onClick && __props.onClick(...args)),
2022
2106
  style: normalizeStyle({
2023
2107
  cursor: __props.isSelected ? "move" : "pointer",
2024
2108
  pointerEvents: __props.isSelected ? "none" : endings.value.end.filled ? "visible" : "visibleStroke",
2025
2109
  strokeLinecap: "butt"
2026
2110
  })
2027
- }, null, 44, _hoisted_4$2)) : createCommentVNode("", true),
2111
+ }, null, 44, _hoisted_4$3)) : createCommentVNode("", true),
2028
2112
  !__props.appearanceActive ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
2029
2113
  createElementVNode("path", {
2030
2114
  d: pathData.value,
@@ -2035,9 +2119,12 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2035
2119
  strokeWidth: __props.strokeWidth,
2036
2120
  pointerEvents: "none",
2037
2121
  strokeLinecap: "butt",
2038
- strokeLinejoin: "miter"
2122
+ strokeLinejoin: "miter",
2123
+ ...__props.strokeStyle === unref(PdfAnnotationBorderStyle).DASHED && {
2124
+ strokeDasharray: (_a = __props.strokeDashArray) == null ? void 0 : _a.join(",")
2125
+ }
2039
2126
  })
2040
- }, null, 12, _hoisted_5$1),
2127
+ }, null, 12, _hoisted_5$2),
2041
2128
  endings.value.start ? (openBlock(), createElementBlock("path", {
2042
2129
  key: 0,
2043
2130
  d: endings.value.start.d,
@@ -2047,7 +2134,10 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2047
2134
  style: normalizeStyle({
2048
2135
  pointerEvents: "none",
2049
2136
  strokeWidth: __props.strokeWidth,
2050
- strokeLinecap: "butt"
2137
+ strokeLinecap: "butt",
2138
+ ...__props.strokeStyle === unref(PdfAnnotationBorderStyle).DASHED && {
2139
+ strokeDasharray: (_b = __props.strokeDashArray) == null ? void 0 : _b.join(",")
2140
+ }
2051
2141
  })
2052
2142
  }, null, 12, _hoisted_6)) : createCommentVNode("", true),
2053
2143
  endings.value.end ? (openBlock(), createElementBlock("path", {
@@ -2059,15 +2149,18 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2059
2149
  style: normalizeStyle({
2060
2150
  pointerEvents: "none",
2061
2151
  strokeWidth: __props.strokeWidth,
2062
- strokeLinecap: "butt"
2152
+ strokeLinecap: "butt",
2153
+ ...__props.strokeStyle === unref(PdfAnnotationBorderStyle).DASHED && {
2154
+ strokeDasharray: (_c = __props.strokeDashArray) == null ? void 0 : _c.join(",")
2155
+ }
2063
2156
  })
2064
2157
  }, null, 12, _hoisted_7)) : createCommentVNode("", true)
2065
2158
  ], 64)) : createCommentVNode("", true)
2066
- ], 12, _hoisted_1$4);
2159
+ ], 12, _hoisted_1$6);
2067
2160
  };
2068
2161
  }
2069
2162
  });
2070
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
2163
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2071
2164
  __name: "polyline-renderer",
2072
2165
  props: {
2073
2166
  annotation: {},
@@ -2082,7 +2175,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2082
2175
  },
2083
2176
  setup(__props) {
2084
2177
  return (_ctx, _cache) => {
2085
- return openBlock(), createBlock(_sfc_main$o, mergeProps(__props.currentObject, {
2178
+ return openBlock(), createBlock(_sfc_main$s, mergeProps(__props.currentObject, {
2086
2179
  isSelected: __props.isSelected,
2087
2180
  scale: __props.scale,
2088
2181
  onClick: __props.onClick,
@@ -2091,14 +2184,14 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2091
2184
  };
2092
2185
  }
2093
2186
  });
2094
- const _hoisted_1$3 = ["width", "height", "viewBox"];
2095
- const _hoisted_2$1 = ["d", "stroke-width"];
2096
- const _hoisted_3$1 = ["d", "opacity"];
2097
- const _hoisted_4$1 = ["d"];
2098
- const _hoisted_5 = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"];
2099
- const __default__$7 = { inheritAttrs: false };
2100
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
2101
- ...__default__$7,
2187
+ const _hoisted_1$5 = ["width", "height", "viewBox"];
2188
+ const _hoisted_2$3 = ["d", "stroke-width"];
2189
+ const _hoisted_3$3 = ["d", "opacity"];
2190
+ const _hoisted_4$2 = ["d"];
2191
+ const _hoisted_5$1 = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"];
2192
+ const __default__$8 = { inheritAttrs: false };
2193
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2194
+ ...__default__$8,
2102
2195
  __name: "polygon",
2103
2196
  props: {
2104
2197
  rect: {},
@@ -2162,15 +2255,13 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2162
2255
  "stroke-width": hitStrokeWidth.value,
2163
2256
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2164
2257
  (...args) => __props.onClick && __props.onClick(...args)),
2165
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2166
- (...args) => __props.onClick && __props.onClick(...args)),
2167
2258
  style: normalizeStyle({
2168
2259
  cursor: __props.isSelected ? "move" : "pointer",
2169
2260
  pointerEvents: __props.isSelected ? "none" : __props.color === "transparent" ? "visibleStroke" : "visible",
2170
2261
  strokeLinecap: "butt",
2171
2262
  strokeLinejoin: "miter"
2172
2263
  })
2173
- }, null, 44, _hoisted_2$1),
2264
+ }, null, 44, _hoisted_2$3),
2174
2265
  !__props.appearanceActive ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2175
2266
  createElementVNode("path", {
2176
2267
  d: pathData.value,
@@ -2186,7 +2277,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2186
2277
  strokeDasharray: (_a = __props.strokeDashArray) == null ? void 0 : _a.join(",")
2187
2278
  }
2188
2279
  })
2189
- }, null, 12, _hoisted_3$1),
2280
+ }, null, 12, _hoisted_3$3),
2190
2281
  isPreviewing.value && localPts.value.length > 1 ? (openBlock(), createElementBlock("path", {
2191
2282
  key: 0,
2192
2283
  d: `M ${localPts.value[localPts.value.length - 1].x} ${localPts.value[localPts.value.length - 1].y} L ${localPts.value[0].x} ${localPts.value[0].y}`,
@@ -2198,7 +2289,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2198
2289
  opacity: 0.7,
2199
2290
  pointerEvents: "none"
2200
2291
  })
2201
- }, null, 12, _hoisted_4$1)) : createCommentVNode("", true),
2292
+ }, null, 12, _hoisted_4$2)) : createCommentVNode("", true),
2202
2293
  isPreviewing.value && localPts.value.length >= 2 ? (openBlock(), createElementBlock("rect", {
2203
2294
  key: 1,
2204
2295
  x: localPts.value[0].x - __props.handleSize / __props.scale / 2,
@@ -2210,13 +2301,13 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2210
2301
  stroke: __props.strokeColor,
2211
2302
  "stroke-width": __props.strokeWidth / 2,
2212
2303
  style: { "pointer-events": "none" }
2213
- }, null, 8, _hoisted_5)) : createCommentVNode("", true)
2304
+ }, null, 8, _hoisted_5$1)) : createCommentVNode("", true)
2214
2305
  ], 64)) : createCommentVNode("", true)
2215
- ], 12, _hoisted_1$3);
2306
+ ], 12, _hoisted_1$5);
2216
2307
  };
2217
2308
  }
2218
2309
  });
2219
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
2310
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
2220
2311
  __name: "polygon-renderer",
2221
2312
  props: {
2222
2313
  annotation: {},
@@ -2231,7 +2322,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2231
2322
  },
2232
2323
  setup(__props) {
2233
2324
  return (_ctx, _cache) => {
2234
- return openBlock(), createBlock(_sfc_main$m, mergeProps(__props.currentObject, {
2325
+ return openBlock(), createBlock(_sfc_main$q, mergeProps(__props.currentObject, {
2235
2326
  isSelected: __props.isSelected,
2236
2327
  scale: __props.scale,
2237
2328
  onClick: __props.onClick,
@@ -2240,10 +2331,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2240
2331
  };
2241
2332
  }
2242
2333
  });
2243
- const _hoisted_1$2 = ["contenteditable"];
2244
- const __default__$6 = { inheritAttrs: false };
2245
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
2246
- ...__default__$6,
2334
+ const _hoisted_1$4 = ["contenteditable"];
2335
+ const __default__$7 = { inheritAttrs: false };
2336
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2337
+ ...__default__$7,
2247
2338
  __name: "free-text",
2248
2339
  props: {
2249
2340
  documentId: {},
@@ -2341,8 +2432,6 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2341
2432
  opacity: __props.appearanceActive ? 0 : 1
2342
2433
  }),
2343
2434
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2344
- (...args) => __props.onClick && __props.onClick(...args)),
2345
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2346
2435
  (...args) => __props.onClick && __props.onClick(...args))
2347
2436
  }, [
2348
2437
  createElementVNode("span", {
@@ -2352,12 +2441,12 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2352
2441
  tabindex: "0",
2353
2442
  style: normalizeStyle(editorStyle.value),
2354
2443
  contenteditable: __props.isEditing
2355
- }, toDisplayString(__props.annotation.object.contents), 45, _hoisted_1$2)
2444
+ }, toDisplayString(__props.annotation.object.contents), 45, _hoisted_1$4)
2356
2445
  ], 36);
2357
2446
  };
2358
2447
  }
2359
2448
  });
2360
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
2449
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2361
2450
  __name: "free-text-renderer",
2362
2451
  props: {
2363
2452
  annotation: {},
@@ -2372,7 +2461,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2372
2461
  },
2373
2462
  setup(__props) {
2374
2463
  return (_ctx, _cache) => {
2375
- return openBlock(), createBlock(_sfc_main$k, {
2464
+ return openBlock(), createBlock(_sfc_main$o, {
2376
2465
  documentId: __props.documentId,
2377
2466
  isSelected: __props.isSelected,
2378
2467
  isEditing: __props.isEditing,
@@ -2385,8 +2474,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2385
2474
  };
2386
2475
  }
2387
2476
  });
2388
- const _hoisted_1$1 = ["src"];
2389
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
2477
+ const _hoisted_1$3 = ["src"];
2478
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2390
2479
  __name: "render-annotation",
2391
2480
  props: {
2392
2481
  documentId: {},
@@ -2481,13 +2570,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2481
2570
  display: "block",
2482
2571
  ...__props.style
2483
2572
  })
2484
- }, null, 44, _hoisted_1$1)) : createCommentVNode("", true);
2573
+ }, null, 44, _hoisted_1$3)) : createCommentVNode("", true);
2485
2574
  };
2486
2575
  }
2487
2576
  });
2488
- const __default__$5 = { inheritAttrs: false };
2489
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
2490
- ...__default__$5,
2577
+ const __default__$6 = { inheritAttrs: false };
2578
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
2579
+ ...__default__$6,
2491
2580
  __name: "stamp",
2492
2581
  props: {
2493
2582
  isSelected: { type: Boolean },
@@ -2513,11 +2602,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2513
2602
  cursor: "pointer"
2514
2603
  }),
2515
2604
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2516
- (...args) => __props.onClick && __props.onClick(...args)),
2517
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2518
2605
  (...args) => __props.onClick && __props.onClick(...args))
2519
2606
  }, [
2520
- createVNode(_sfc_main$i, {
2607
+ createVNode(_sfc_main$m, {
2521
2608
  documentId: __props.documentId,
2522
2609
  pageIndex: __props.pageIndex,
2523
2610
  annotation: { ...__props.annotation.object, id: __props.annotation.object.id },
@@ -2528,7 +2615,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2528
2615
  };
2529
2616
  }
2530
2617
  });
2531
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
2618
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2532
2619
  __name: "stamp-renderer",
2533
2620
  props: {
2534
2621
  annotation: {},
@@ -2543,7 +2630,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2543
2630
  },
2544
2631
  setup(__props) {
2545
2632
  return (_ctx, _cache) => {
2546
- return openBlock(), createBlock(_sfc_main$h, {
2633
+ return openBlock(), createBlock(_sfc_main$l, {
2547
2634
  isSelected: __props.isSelected,
2548
2635
  annotation: __props.annotation,
2549
2636
  documentId: __props.documentId,
@@ -2554,13 +2641,13 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2554
2641
  };
2555
2642
  }
2556
2643
  });
2557
- const _hoisted_1 = ["width", "height", "viewBox"];
2558
- const _hoisted_2 = ["width", "height"];
2559
- const _hoisted_3 = ["y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"];
2560
- const _hoisted_4 = ["x", "y", "width", "height", "stroke", "stroke-width", "stroke-dasharray"];
2561
- const __default__$4 = { inheritAttrs: false };
2562
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
2563
- ...__default__$4,
2644
+ const _hoisted_1$2 = ["width", "height", "viewBox"];
2645
+ const _hoisted_2$2 = ["width", "height"];
2646
+ const _hoisted_3$2 = ["y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"];
2647
+ const _hoisted_4$1 = ["x", "y", "width", "height", "stroke", "stroke-width", "stroke-dasharray"];
2648
+ const __default__$5 = { inheritAttrs: false };
2649
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2650
+ ...__default__$5,
2564
2651
  __name: "link",
2565
2652
  props: {
2566
2653
  isSelected: { type: Boolean },
@@ -2613,12 +2700,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2613
2700
  height: height.value,
2614
2701
  fill: "transparent",
2615
2702
  onPointerdown: _cache[0] || (_cache[0] = ($event) => __props.hasIRT ? void 0 : __props.onClick),
2616
- onTouchstart: _cache[1] || (_cache[1] = ($event) => __props.hasIRT ? void 0 : __props.onClick),
2617
2703
  style: normalizeStyle({
2618
2704
  cursor: hitAreaCursor.value,
2619
2705
  pointerEvents: hitAreaPointerEvents.value
2620
2706
  })
2621
- }, null, 44, _hoisted_2),
2707
+ }, null, 44, _hoisted_2$2),
2622
2708
  isUnderline.value ? (openBlock(), createElementBlock("line", {
2623
2709
  key: 0,
2624
2710
  x1: 1,
@@ -2629,7 +2715,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2629
2715
  "stroke-width": __props.strokeWidth,
2630
2716
  "stroke-dasharray": dashArray.value,
2631
2717
  style: { "pointer-events": "none" }
2632
- }, null, 8, _hoisted_3)) : (openBlock(), createElementBlock("rect", {
2718
+ }, null, 8, _hoisted_3$2)) : (openBlock(), createElementBlock("rect", {
2633
2719
  key: 1,
2634
2720
  x: __props.strokeWidth / 2,
2635
2721
  y: __props.strokeWidth / 2,
@@ -2640,12 +2726,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2640
2726
  "stroke-width": __props.strokeWidth,
2641
2727
  "stroke-dasharray": dashArray.value,
2642
2728
  style: { "pointer-events": "none" }
2643
- }, null, 8, _hoisted_4))
2644
- ], 12, _hoisted_1);
2729
+ }, null, 8, _hoisted_4$1))
2730
+ ], 12, _hoisted_1$2);
2645
2731
  };
2646
2732
  }
2647
2733
  });
2648
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
2734
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
2649
2735
  __name: "link-renderer",
2650
2736
  props: {
2651
2737
  annotation: {},
@@ -2660,7 +2746,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2660
2746
  },
2661
2747
  setup(__props) {
2662
2748
  return (_ctx, _cache) => {
2663
- return openBlock(), createBlock(_sfc_main$f, mergeProps(__props.currentObject, {
2749
+ return openBlock(), createBlock(_sfc_main$j, mergeProps(__props.currentObject, {
2664
2750
  isSelected: __props.isSelected,
2665
2751
  scale: __props.scale,
2666
2752
  onClick: __props.onClick,
@@ -2669,9 +2755,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2669
2755
  };
2670
2756
  }
2671
2757
  });
2672
- const __default__$3 = { inheritAttrs: false };
2673
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
2674
- ...__default__$3,
2758
+ const __default__$4 = { inheritAttrs: false };
2759
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2760
+ ...__default__$4,
2675
2761
  __name: "highlight",
2676
2762
  props: {
2677
2763
  strokeColor: {},
@@ -2691,8 +2777,6 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2691
2777
  key: i,
2692
2778
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2693
2779
  (...args) => __props.onClick && __props.onClick(...args)),
2694
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2695
- (...args) => __props.onClick && __props.onClick(...args)),
2696
2780
  style: normalizeStyle({
2697
2781
  position: "absolute",
2698
2782
  left: `${(__props.rect ? b.origin.x - __props.rect.origin.x : b.origin.x) * __props.scale}px`,
@@ -2710,7 +2794,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2710
2794
  };
2711
2795
  }
2712
2796
  });
2713
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
2797
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2714
2798
  __name: "highlight-renderer",
2715
2799
  props: {
2716
2800
  annotation: {},
@@ -2725,7 +2809,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2725
2809
  },
2726
2810
  setup(__props) {
2727
2811
  return (_ctx, _cache) => {
2728
- return openBlock(), createBlock(_sfc_main$d, mergeProps(__props.currentObject, {
2812
+ return openBlock(), createBlock(_sfc_main$h, mergeProps(__props.currentObject, {
2729
2813
  scale: __props.scale,
2730
2814
  onClick: __props.onClick,
2731
2815
  appearanceActive: __props.appearanceActive
@@ -2733,9 +2817,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2733
2817
  };
2734
2818
  }
2735
2819
  });
2736
- const __default__$2 = { inheritAttrs: false };
2737
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
2738
- ...__default__$2,
2820
+ const __default__$3 = { inheritAttrs: false };
2821
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2822
+ ...__default__$3,
2739
2823
  __name: "underline",
2740
2824
  props: {
2741
2825
  strokeColor: {},
@@ -2756,8 +2840,6 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2756
2840
  key: i,
2757
2841
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2758
2842
  (...args) => __props.onClick && __props.onClick(...args)),
2759
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2760
- (...args) => __props.onClick && __props.onClick(...args)),
2761
2843
  style: normalizeStyle({
2762
2844
  position: "absolute",
2763
2845
  left: `${(__props.rect ? r.origin.x - __props.rect.origin.x : r.origin.x) * __props.scale}px`,
@@ -2788,7 +2870,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2788
2870
  };
2789
2871
  }
2790
2872
  });
2791
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
2873
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
2792
2874
  __name: "underline-renderer",
2793
2875
  props: {
2794
2876
  annotation: {},
@@ -2803,7 +2885,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2803
2885
  },
2804
2886
  setup(__props) {
2805
2887
  return (_ctx, _cache) => {
2806
- return openBlock(), createBlock(_sfc_main$b, mergeProps(__props.currentObject, {
2888
+ return openBlock(), createBlock(_sfc_main$f, mergeProps(__props.currentObject, {
2807
2889
  scale: __props.scale,
2808
2890
  onClick: __props.onClick,
2809
2891
  appearanceActive: __props.appearanceActive
@@ -2811,9 +2893,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2811
2893
  };
2812
2894
  }
2813
2895
  });
2814
- const __default__$1 = { inheritAttrs: false };
2815
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2816
- ...__default__$1,
2896
+ const __default__$2 = { inheritAttrs: false };
2897
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2898
+ ...__default__$2,
2817
2899
  __name: "strikeout",
2818
2900
  props: {
2819
2901
  strokeColor: {},
@@ -2834,8 +2916,6 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2834
2916
  key: i,
2835
2917
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2836
2918
  (...args) => __props.onClick && __props.onClick(...args)),
2837
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2838
- (...args) => __props.onClick && __props.onClick(...args)),
2839
2919
  style: normalizeStyle({
2840
2920
  position: "absolute",
2841
2921
  left: `${(__props.rect ? r.origin.x - __props.rect.origin.x : r.origin.x) * __props.scale}px`,
@@ -2867,7 +2947,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2867
2947
  };
2868
2948
  }
2869
2949
  });
2870
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2950
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2871
2951
  __name: "strikeout-renderer",
2872
2952
  props: {
2873
2953
  annotation: {},
@@ -2882,7 +2962,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2882
2962
  },
2883
2963
  setup(__props) {
2884
2964
  return (_ctx, _cache) => {
2885
- return openBlock(), createBlock(_sfc_main$9, mergeProps(__props.currentObject, {
2965
+ return openBlock(), createBlock(_sfc_main$d, mergeProps(__props.currentObject, {
2886
2966
  scale: __props.scale,
2887
2967
  onClick: __props.onClick,
2888
2968
  appearanceActive: __props.appearanceActive
@@ -2890,9 +2970,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2890
2970
  };
2891
2971
  }
2892
2972
  });
2893
- const __default__ = { inheritAttrs: false };
2894
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2895
- ...__default__,
2973
+ const __default__$1 = { inheritAttrs: false };
2974
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2975
+ ...__default__$1,
2896
2976
  __name: "squiggly",
2897
2977
  props: {
2898
2978
  strokeColor: {},
@@ -2923,8 +3003,6 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2923
3003
  key: i,
2924
3004
  onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
2925
3005
  (...args) => __props.onClick && __props.onClick(...args)),
2926
- onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore
2927
- (...args) => __props.onClick && __props.onClick(...args)),
2928
3006
  style: normalizeStyle({
2929
3007
  position: "absolute",
2930
3008
  left: `${(__props.rect ? r.origin.x - __props.rect.origin.x : r.origin.x) * __props.scale}px`,
@@ -2957,7 +3035,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2957
3035
  };
2958
3036
  }
2959
3037
  });
2960
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3038
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2961
3039
  __name: "squiggly-renderer",
2962
3040
  props: {
2963
3041
  annotation: {},
@@ -2972,7 +3050,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2972
3050
  },
2973
3051
  setup(__props) {
2974
3052
  return (_ctx, _cache) => {
2975
- return openBlock(), createBlock(_sfc_main$7, mergeProps(__props.currentObject, {
3053
+ return openBlock(), createBlock(_sfc_main$b, mergeProps(__props.currentObject, {
2976
3054
  scale: __props.scale,
2977
3055
  onClick: __props.onClick,
2978
3056
  appearanceActive: __props.appearanceActive
@@ -2980,29 +3058,224 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2980
3058
  };
2981
3059
  }
2982
3060
  });
3061
+ const _hoisted_1$1 = ["width", "height", "viewBox"];
3062
+ const _hoisted_2$1 = ["d"];
3063
+ const _hoisted_3$1 = ["d", "fill", "stroke", "opacity"];
3064
+ const __default__ = { inheritAttrs: false };
3065
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3066
+ ...__default__,
3067
+ __name: "caret",
3068
+ props: {
3069
+ isSelected: { type: Boolean },
3070
+ strokeColor: { default: "#000000" },
3071
+ opacity: { default: 1 },
3072
+ rect: {},
3073
+ scale: {},
3074
+ onClick: {},
3075
+ appearanceActive: { type: Boolean, default: false }
3076
+ },
3077
+ setup(__props) {
3078
+ const props = __props;
3079
+ const width = computed(() => props.rect.size.width);
3080
+ const height = computed(() => props.rect.size.height);
3081
+ const path = computed(() => {
3082
+ const w = width.value;
3083
+ const h = height.value;
3084
+ const midX = w / 2;
3085
+ return [
3086
+ `M 0 ${h}`,
3087
+ `C ${w * 0.27} ${h} ${midX} ${h - h * 0.44} ${midX} 0`,
3088
+ `C ${midX} ${h - h * 0.44} ${w - w * 0.27} ${h} ${w} ${h}`,
3089
+ "Z"
3090
+ ].join(" ");
3091
+ });
3092
+ const svgWidth = computed(() => width.value * props.scale);
3093
+ const svgHeight = computed(() => height.value * props.scale);
3094
+ return (_ctx, _cache) => {
3095
+ return openBlock(), createElementBlock("svg", {
3096
+ style: normalizeStyle({
3097
+ position: "absolute",
3098
+ width: svgWidth.value,
3099
+ height: svgHeight.value,
3100
+ pointerEvents: "none",
3101
+ zIndex: 2
3102
+ }),
3103
+ width: svgWidth.value,
3104
+ height: svgHeight.value,
3105
+ viewBox: `0 0 ${width.value} ${height.value}`,
3106
+ overflow: "visible"
3107
+ }, [
3108
+ createElementVNode("path", {
3109
+ d: path.value,
3110
+ fill: "transparent",
3111
+ stroke: "transparent",
3112
+ "stroke-width": 4,
3113
+ onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
3114
+ (...args) => __props.onClick && __props.onClick(...args)),
3115
+ style: normalizeStyle({
3116
+ cursor: __props.isSelected ? "move" : "pointer",
3117
+ pointerEvents: __props.isSelected ? "none" : "visible"
3118
+ })
3119
+ }, null, 44, _hoisted_2$1),
3120
+ !__props.appearanceActive ? (openBlock(), createElementBlock("path", {
3121
+ key: 0,
3122
+ d: path.value,
3123
+ fill: __props.strokeColor,
3124
+ stroke: __props.strokeColor,
3125
+ "stroke-width": 0.5,
3126
+ opacity: __props.opacity,
3127
+ "fill-rule": "evenodd",
3128
+ style: { pointerEvents: "none" }
3129
+ }, null, 8, _hoisted_3$1)) : createCommentVNode("", true)
3130
+ ], 12, _hoisted_1$1);
3131
+ };
3132
+ }
3133
+ });
3134
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
3135
+ __name: "caret-renderer",
3136
+ props: {
3137
+ annotation: {},
3138
+ currentObject: {},
3139
+ isSelected: { type: Boolean },
3140
+ isEditing: { type: Boolean },
3141
+ scale: {},
3142
+ pageIndex: {},
3143
+ documentId: {},
3144
+ onClick: { type: Function },
3145
+ appearanceActive: { type: Boolean }
3146
+ },
3147
+ setup(__props) {
3148
+ return (_ctx, _cache) => {
3149
+ return openBlock(), createBlock(_sfc_main$9, mergeProps(__props.currentObject, {
3150
+ isSelected: __props.isSelected,
3151
+ scale: __props.scale,
3152
+ onClick: __props.onClick,
3153
+ appearanceActive: __props.appearanceActive
3154
+ }), null, 16, ["isSelected", "scale", "onClick", "appearanceActive"]);
3155
+ };
3156
+ }
3157
+ });
3158
+ const _hoisted_1 = {
3159
+ key: 0,
3160
+ style: { position: "absolute", inset: 0, pointerEvents: "none" },
3161
+ viewBox: "0 0 20 20",
3162
+ width: "100%",
3163
+ height: "100%"
3164
+ };
3165
+ const _hoisted_2 = ["fill", "opacity", "stroke"];
3166
+ const _hoisted_3 = ["stroke"];
3167
+ const _hoisted_4 = ["stroke"];
3168
+ const _hoisted_5 = ["stroke"];
3169
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3170
+ __name: "text",
3171
+ props: {
3172
+ isSelected: { type: Boolean },
3173
+ color: { default: "#facc15" },
3174
+ opacity: { default: 1 },
3175
+ onClick: {},
3176
+ appearanceActive: { type: Boolean, default: false }
3177
+ },
3178
+ setup(__props) {
3179
+ const props = __props;
3180
+ const lineColor = computed(() => getContrastStrokeColor(props.color));
3181
+ return (_ctx, _cache) => {
3182
+ return openBlock(), createElementBlock("div", {
3183
+ style: normalizeStyle({
3184
+ position: "absolute",
3185
+ inset: 0,
3186
+ zIndex: 2,
3187
+ pointerEvents: __props.isSelected ? "none" : "auto",
3188
+ cursor: __props.isSelected ? "move" : "pointer"
3189
+ }),
3190
+ onPointerdown: _cache[0] || (_cache[0] = //@ts-ignore
3191
+ (...args) => __props.onClick && __props.onClick(...args))
3192
+ }, [
3193
+ !__props.appearanceActive ? (openBlock(), createElementBlock("svg", _hoisted_1, [
3194
+ createElementVNode("path", {
3195
+ d: "M 0.5 15.5 L 0.5 0.5 L 19.5 0.5 L 19.5 15.5 L 8.5 15.5 L 6.5 19.5 L 4.5 15.5 Z",
3196
+ fill: __props.color,
3197
+ opacity: __props.opacity,
3198
+ stroke: lineColor.value,
3199
+ "stroke-width": "1",
3200
+ "stroke-linejoin": "miter"
3201
+ }, null, 8, _hoisted_2),
3202
+ createElementVNode("line", {
3203
+ x1: "2.5",
3204
+ y1: "4.25",
3205
+ x2: "17.5",
3206
+ y2: "4.25",
3207
+ stroke: lineColor.value,
3208
+ "stroke-width": "1"
3209
+ }, null, 8, _hoisted_3),
3210
+ createElementVNode("line", {
3211
+ x1: "2.5",
3212
+ y1: "8",
3213
+ x2: "17.5",
3214
+ y2: "8",
3215
+ stroke: lineColor.value,
3216
+ "stroke-width": "1"
3217
+ }, null, 8, _hoisted_4),
3218
+ createElementVNode("line", {
3219
+ x1: "2.5",
3220
+ y1: "11.75",
3221
+ x2: "17.5",
3222
+ y2: "11.75",
3223
+ stroke: lineColor.value,
3224
+ "stroke-width": "1"
3225
+ }, null, 8, _hoisted_5)
3226
+ ])) : createCommentVNode("", true)
3227
+ ], 36);
3228
+ };
3229
+ }
3230
+ });
3231
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3232
+ __name: "text-renderer",
3233
+ props: {
3234
+ annotation: {},
3235
+ currentObject: {},
3236
+ isSelected: { type: Boolean },
3237
+ isEditing: { type: Boolean },
3238
+ scale: {},
3239
+ pageIndex: {},
3240
+ documentId: {},
3241
+ onClick: { type: Function },
3242
+ appearanceActive: { type: Boolean }
3243
+ },
3244
+ setup(__props) {
3245
+ return (_ctx, _cache) => {
3246
+ return openBlock(), createBlock(_sfc_main$7, {
3247
+ isSelected: __props.isSelected,
3248
+ color: __props.currentObject.strokeColor ?? __props.currentObject.color,
3249
+ opacity: __props.currentObject.opacity,
3250
+ onClick: __props.onClick,
3251
+ appearanceActive: __props.appearanceActive
3252
+ }, null, 8, ["isSelected", "color", "opacity", "onClick", "appearanceActive"]);
3253
+ };
3254
+ }
3255
+ });
2983
3256
  const builtInRenderers = [
2984
3257
  createRenderer({
2985
3258
  id: "ink",
2986
3259
  matches: (a) => a.type === PdfAnnotationSubtype.INK,
2987
- component: _sfc_main$v,
3260
+ component: _sfc_main$z,
2988
3261
  interactionDefaults: { isDraggable: true, isResizable: true, isRotatable: true }
2989
3262
  }),
2990
3263
  createRenderer({
2991
3264
  id: "square",
2992
3265
  matches: (a) => a.type === PdfAnnotationSubtype.SQUARE,
2993
- component: _sfc_main$t,
3266
+ component: _sfc_main$x,
2994
3267
  interactionDefaults: { isDraggable: true, isResizable: true, isRotatable: true }
2995
3268
  }),
2996
3269
  createRenderer({
2997
3270
  id: "circle",
2998
3271
  matches: (a) => a.type === PdfAnnotationSubtype.CIRCLE,
2999
- component: _sfc_main$r,
3272
+ component: _sfc_main$v,
3000
3273
  interactionDefaults: { isDraggable: true, isResizable: true, isRotatable: true }
3001
3274
  }),
3002
3275
  createRenderer({
3003
3276
  id: "line",
3004
3277
  matches: (a) => a.type === PdfAnnotationSubtype.LINE,
3005
- component: _sfc_main$p,
3278
+ component: _sfc_main$t,
3006
3279
  vertexConfig: {
3007
3280
  extractVertices: (a) => [a.linePoints.start, a.linePoints.end],
3008
3281
  transformAnnotation: (a, v) => ({
@@ -3015,7 +3288,7 @@ const builtInRenderers = [
3015
3288
  createRenderer({
3016
3289
  id: "polyline",
3017
3290
  matches: (a) => a.type === PdfAnnotationSubtype.POLYLINE,
3018
- component: _sfc_main$n,
3291
+ component: _sfc_main$r,
3019
3292
  vertexConfig: {
3020
3293
  extractVertices: (a) => a.vertices,
3021
3294
  transformAnnotation: (a, vertices) => ({ ...a, vertices })
@@ -3025,7 +3298,7 @@ const builtInRenderers = [
3025
3298
  createRenderer({
3026
3299
  id: "polygon",
3027
3300
  matches: (a) => a.type === PdfAnnotationSubtype.POLYGON,
3028
- component: _sfc_main$l,
3301
+ component: _sfc_main$p,
3029
3302
  vertexConfig: {
3030
3303
  extractVertices: (a) => a.vertices,
3031
3304
  transformAnnotation: (a, vertices) => ({ ...a, vertices })
@@ -3035,7 +3308,7 @@ const builtInRenderers = [
3035
3308
  createRenderer({
3036
3309
  id: "highlight",
3037
3310
  matches: (a) => a.type === PdfAnnotationSubtype.HIGHLIGHT,
3038
- component: _sfc_main$c,
3311
+ component: _sfc_main$g,
3039
3312
  zIndex: 0,
3040
3313
  interactionDefaults: { isDraggable: false, isResizable: false, isRotatable: false },
3041
3314
  containerStyle: (a) => ({
@@ -3045,28 +3318,40 @@ const builtInRenderers = [
3045
3318
  createRenderer({
3046
3319
  id: "underline",
3047
3320
  matches: (a) => a.type === PdfAnnotationSubtype.UNDERLINE,
3048
- component: _sfc_main$a,
3321
+ component: _sfc_main$e,
3049
3322
  zIndex: 0,
3050
3323
  interactionDefaults: { isDraggable: false, isResizable: false, isRotatable: false }
3051
3324
  }),
3052
3325
  createRenderer({
3053
3326
  id: "strikeout",
3054
3327
  matches: (a) => a.type === PdfAnnotationSubtype.STRIKEOUT,
3055
- component: _sfc_main$8,
3328
+ component: _sfc_main$c,
3056
3329
  zIndex: 0,
3057
3330
  interactionDefaults: { isDraggable: false, isResizable: false, isRotatable: false }
3058
3331
  }),
3059
3332
  createRenderer({
3060
3333
  id: "squiggly",
3061
3334
  matches: (a) => a.type === PdfAnnotationSubtype.SQUIGGLY,
3062
- component: _sfc_main$6,
3335
+ component: _sfc_main$a,
3063
3336
  zIndex: 0,
3064
3337
  interactionDefaults: { isDraggable: false, isResizable: false, isRotatable: false }
3065
3338
  }),
3339
+ createRenderer({
3340
+ id: "text",
3341
+ matches: (a) => a.type === PdfAnnotationSubtype.TEXT && !a.inReplyToId,
3342
+ component: _sfc_main$6,
3343
+ interactionDefaults: { isDraggable: true, isResizable: false, isRotatable: false }
3344
+ }),
3345
+ createRenderer({
3346
+ id: "caret",
3347
+ matches: (a) => a.type === PdfAnnotationSubtype.CARET,
3348
+ component: _sfc_main$8,
3349
+ interactionDefaults: { isDraggable: false, isResizable: false, isRotatable: false }
3350
+ }),
3066
3351
  createRenderer({
3067
3352
  id: "freeText",
3068
3353
  matches: (a) => a.type === PdfAnnotationSubtype.FREETEXT,
3069
- component: _sfc_main$j,
3354
+ component: _sfc_main$n,
3070
3355
  interactionDefaults: { isDraggable: true, isResizable: true, isRotatable: true },
3071
3356
  isDraggable: (toolDraggable, { isEditing }) => toolDraggable && !isEditing,
3072
3357
  onDoubleClick: (id, setEditingId) => setEditingId(id)
@@ -3074,14 +3359,14 @@ const builtInRenderers = [
3074
3359
  createRenderer({
3075
3360
  id: "stamp",
3076
3361
  matches: (a) => a.type === PdfAnnotationSubtype.STAMP,
3077
- component: _sfc_main$g,
3362
+ component: _sfc_main$k,
3078
3363
  useAppearanceStream: false,
3079
3364
  interactionDefaults: { isDraggable: true, isResizable: true, isRotatable: true }
3080
3365
  }),
3081
3366
  createRenderer({
3082
3367
  id: "link",
3083
3368
  matches: (a) => a.type === PdfAnnotationSubtype.LINK,
3084
- component: _sfc_main$e,
3369
+ component: _sfc_main$i,
3085
3370
  interactionDefaults: { isDraggable: false, isResizable: false, isRotatable: false },
3086
3371
  useAppearanceStream: false,
3087
3372
  selectOverride: (e, annotation, helpers) => {
@@ -3406,7 +3691,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3406
3691
  return openBlock(), createElementBlock(Fragment, {
3407
3692
  key: annotation.object.id
3408
3693
  }, [
3409
- renderer ? (openBlock(), createBlock(_sfc_main$y, mergeProps({
3694
+ renderer ? (openBlock(), createBlock(_sfc_main$C, mergeProps({
3410
3695
  key: 0,
3411
3696
  trackedAnnotation: annotation,
3412
3697
  isSelected: allSelectedIds.value.includes(annotation.object.id),
@@ -3458,7 +3743,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3458
3743
  ]), 1040, ["trackedAnnotation", "isSelected", "isEditing", "isMultiSelected", "isDraggable", "isResizable", "lockAspectRatio", "isRotatable", "vertexConfig", "selectionMenu", "onSelect", "onDoubleClick", "zIndex", "style", "appearance"])) : createCommentVNode("", true)
3459
3744
  ], 64);
3460
3745
  }), 128)),
3461
- allSelectedOnSamePage.value && selectedAnnotationsOnPage.value.length >= 2 ? (openBlock(), createBlock(_sfc_main$x, {
3746
+ allSelectedOnSamePage.value && selectedAnnotationsOnPage.value.length >= 2 ? (openBlock(), createBlock(_sfc_main$B, {
3462
3747
  key: 0,
3463
3748
  documentId: __props.documentId,
3464
3749
  pageIndex: __props.pageIndex,
@@ -3541,25 +3826,25 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3541
3826
  inset: 0
3542
3827
  })
3543
3828
  }, [
3544
- activeTool.value.defaults.type === unref(PdfAnnotationSubtype).HIGHLIGHT ? (openBlock(), createBlock(_sfc_main$d, {
3829
+ activeTool.value.defaults.type === unref(PdfAnnotationSubtype).HIGHLIGHT ? (openBlock(), createBlock(_sfc_main$h, {
3545
3830
  key: 0,
3546
3831
  strokeColor: activeTool.value.defaults.strokeColor,
3547
3832
  opacity: activeTool.value.defaults.opacity,
3548
3833
  segmentRects: rects.value,
3549
3834
  scale: __props.scale
3550
- }, null, 8, ["strokeColor", "opacity", "segmentRects", "scale"])) : activeTool.value.defaults.type === unref(PdfAnnotationSubtype).UNDERLINE ? (openBlock(), createBlock(_sfc_main$b, {
3835
+ }, null, 8, ["strokeColor", "opacity", "segmentRects", "scale"])) : activeTool.value.defaults.type === unref(PdfAnnotationSubtype).UNDERLINE ? (openBlock(), createBlock(_sfc_main$f, {
3551
3836
  key: 1,
3552
3837
  strokeColor: activeTool.value.defaults.strokeColor,
3553
3838
  opacity: activeTool.value.defaults.opacity,
3554
3839
  segmentRects: rects.value,
3555
3840
  scale: __props.scale
3556
- }, null, 8, ["strokeColor", "opacity", "segmentRects", "scale"])) : activeTool.value.defaults.type === unref(PdfAnnotationSubtype).STRIKEOUT ? (openBlock(), createBlock(_sfc_main$9, {
3841
+ }, null, 8, ["strokeColor", "opacity", "segmentRects", "scale"])) : activeTool.value.defaults.type === unref(PdfAnnotationSubtype).STRIKEOUT ? (openBlock(), createBlock(_sfc_main$d, {
3557
3842
  key: 2,
3558
3843
  strokeColor: activeTool.value.defaults.strokeColor,
3559
3844
  opacity: activeTool.value.defaults.opacity,
3560
3845
  segmentRects: rects.value,
3561
3846
  scale: __props.scale
3562
- }, null, 8, ["strokeColor", "opacity", "segmentRects", "scale"])) : activeTool.value.defaults.type === unref(PdfAnnotationSubtype).SQUIGGLY ? (openBlock(), createBlock(_sfc_main$7, {
3847
+ }, null, 8, ["strokeColor", "opacity", "segmentRects", "scale"])) : activeTool.value.defaults.type === unref(PdfAnnotationSubtype).SQUIGGLY ? (openBlock(), createBlock(_sfc_main$b, {
3563
3848
  key: 3,
3564
3849
  strokeColor: activeTool.value.defaults.strokeColor,
3565
3850
  opacity: activeTool.value.defaults.opacity,
@@ -3591,27 +3876,27 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3591
3876
  return openBlock(), createElementBlock("div", {
3592
3877
  style: normalizeStyle(style.value)
3593
3878
  }, [
3594
- __props.preview.type === unref(PdfAnnotationSubtype).CIRCLE ? (openBlock(), createBlock(unref(_sfc_main$s), mergeProps({
3879
+ __props.preview.type === unref(PdfAnnotationSubtype).CIRCLE ? (openBlock(), createBlock(unref(_sfc_main$w), mergeProps({
3595
3880
  key: 0,
3596
3881
  isSelected: false,
3597
3882
  scale: __props.scale
3598
- }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).SQUARE ? (openBlock(), createBlock(unref(_sfc_main$u), mergeProps({
3883
+ }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).SQUARE ? (openBlock(), createBlock(unref(_sfc_main$y), mergeProps({
3599
3884
  key: 1,
3600
3885
  isSelected: false,
3601
3886
  scale: __props.scale
3602
- }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).POLYGON ? (openBlock(), createBlock(unref(_sfc_main$m), mergeProps({
3887
+ }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).POLYGON ? (openBlock(), createBlock(unref(_sfc_main$q), mergeProps({
3603
3888
  key: 2,
3604
3889
  isSelected: false,
3605
3890
  scale: __props.scale
3606
- }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).POLYLINE ? (openBlock(), createBlock(unref(_sfc_main$o), mergeProps({
3891
+ }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).POLYLINE ? (openBlock(), createBlock(unref(_sfc_main$s), mergeProps({
3607
3892
  key: 3,
3608
3893
  isSelected: false,
3609
3894
  scale: __props.scale
3610
- }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).LINE ? (openBlock(), createBlock(unref(_sfc_main$q), mergeProps({
3895
+ }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).LINE ? (openBlock(), createBlock(unref(_sfc_main$u), mergeProps({
3611
3896
  key: 4,
3612
3897
  isSelected: false,
3613
3898
  scale: __props.scale
3614
- }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).INK ? (openBlock(), createBlock(unref(_sfc_main$w), mergeProps({
3899
+ }, __props.preview.data), null, 16, ["scale"])) : __props.preview.type === unref(PdfAnnotationSubtype).INK ? (openBlock(), createBlock(unref(_sfc_main$A), mergeProps({
3615
3900
  key: 5,
3616
3901
  isSelected: false,
3617
3902
  scale: __props.scale
@@ -3862,29 +4147,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3862
4147
  });
3863
4148
  const AnnotationPluginPackage = createPluginPackage(AnnotationPluginPackage$1).addWrapper(_sfc_main).build();
3864
4149
  export {
3865
- _sfc_main$y as AnnotationContainer,
4150
+ _sfc_main$C as AnnotationContainer,
3866
4151
  _sfc_main$1 as AnnotationLayer,
3867
4152
  _sfc_main$2 as AnnotationPaintLayer,
3868
4153
  AnnotationPluginPackage,
3869
4154
  _sfc_main$5 as Annotations,
3870
- _sfc_main$s as Circle,
3871
- _sfc_main$k as FreeText,
3872
- _sfc_main$x as GroupSelectionBox,
3873
- _sfc_main$d as Highlight,
3874
- _sfc_main$w as Ink,
3875
- _sfc_main$q as Line,
3876
- _sfc_main$f as Link,
3877
- _sfc_main$m as Polygon,
3878
- _sfc_main$o as Polyline,
4155
+ _sfc_main$w as Circle,
4156
+ _sfc_main$o as FreeText,
4157
+ _sfc_main$B as GroupSelectionBox,
4158
+ _sfc_main$h as Highlight,
4159
+ _sfc_main$A as Ink,
4160
+ _sfc_main$u as Line,
4161
+ _sfc_main$j as Link,
4162
+ _sfc_main$q as Polygon,
4163
+ _sfc_main$s as Polyline,
3879
4164
  _sfc_main$3 as PreviewRenderer,
3880
- _sfc_main$i as RenderAnnotation,
4165
+ _sfc_main$m as RenderAnnotation,
3881
4166
  _sfc_main as RendererRegistryProvider,
3882
- _sfc_main$u as Square,
3883
- _sfc_main$7 as Squiggly,
3884
- _sfc_main$h as Stamp,
3885
- _sfc_main$9 as Strikeout,
4167
+ _sfc_main$y as Square,
4168
+ _sfc_main$b as Squiggly,
4169
+ _sfc_main$l as Stamp,
4170
+ _sfc_main$d as Strikeout,
4171
+ _sfc_main$7 as Text,
3886
4172
  _sfc_main$4 as TextMarkup,
3887
- _sfc_main$b as Underline,
4173
+ _sfc_main$f as Underline,
3888
4174
  createRenderer,
3889
4175
  createRendererRegistry,
3890
4176
  provideRendererRegistry,