@embedpdf/plugin-annotation 2.7.0 → 2.9.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 (134) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +1131 -203
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/annotation-plugin.d.ts +2 -0
  6. package/dist/lib/geometry/cloudy-border.d.ts +90 -0
  7. package/dist/lib/geometry/index.d.ts +1 -0
  8. package/dist/lib/handlers/index.d.ts +4 -0
  9. package/dist/lib/handlers/insert-text.handler.d.ts +8 -0
  10. package/dist/lib/handlers/replace-text.handler.d.ts +9 -0
  11. package/dist/lib/handlers/selection-utils.d.ts +7 -0
  12. package/dist/lib/handlers/text-markup.handler.d.ts +7 -0
  13. package/dist/lib/handlers/text.handler.d.ts +3 -0
  14. package/dist/lib/handlers/types.d.ts +14 -1
  15. package/dist/lib/helpers.d.ts +2 -1
  16. package/dist/lib/selectors.d.ts +6 -1
  17. package/dist/lib/tools/default-tools.d.ts +141 -45
  18. package/dist/lib/tools/tools-utils.d.ts +2 -0
  19. package/dist/lib/tools/types.d.ts +34 -1
  20. package/dist/lib/types.d.ts +1 -0
  21. package/dist/preact/index.cjs +1 -1
  22. package/dist/preact/index.cjs.map +1 -1
  23. package/dist/preact/index.js +621 -274
  24. package/dist/preact/index.js.map +1 -1
  25. package/dist/react/index.cjs +1 -1
  26. package/dist/react/index.cjs.map +1 -1
  27. package/dist/react/index.js +621 -274
  28. package/dist/react/index.js.map +1 -1
  29. package/dist/shared/annotation-bounds.d.ts +14 -0
  30. package/dist/shared/components/annotation-container.d.ts +4 -2
  31. package/dist/shared/components/annotations/caret.d.ts +24 -0
  32. package/dist/shared/components/annotations/circle.d.ts +8 -4
  33. package/dist/shared/components/annotations/free-text.d.ts +2 -2
  34. package/dist/shared/components/annotations/ink.d.ts +2 -2
  35. package/dist/shared/components/annotations/line.d.ts +2 -2
  36. package/dist/shared/components/annotations/link.d.ts +2 -2
  37. package/dist/shared/components/annotations/polygon.d.ts +5 -3
  38. package/dist/shared/components/annotations/polyline.d.ts +8 -4
  39. package/dist/shared/components/annotations/square.d.ts +8 -4
  40. package/dist/shared/components/annotations/stamp.d.ts +2 -2
  41. package/dist/shared/components/annotations/text.d.ts +14 -0
  42. package/dist/shared/components/text-markup/highlight.d.ts +2 -2
  43. package/dist/shared/components/text-markup/squiggly.d.ts +2 -2
  44. package/dist/shared/components/text-markup/strikeout.d.ts +2 -2
  45. package/dist/shared/components/text-markup/underline.d.ts +2 -2
  46. package/dist/shared/components/types.d.ts +8 -4
  47. package/dist/shared-preact/annotation-bounds.d.ts +14 -0
  48. package/dist/shared-preact/components/annotation-container.d.ts +4 -2
  49. package/dist/shared-preact/components/annotations/caret.d.ts +24 -0
  50. package/dist/shared-preact/components/annotations/circle.d.ts +8 -4
  51. package/dist/shared-preact/components/annotations/free-text.d.ts +2 -2
  52. package/dist/shared-preact/components/annotations/ink.d.ts +2 -2
  53. package/dist/shared-preact/components/annotations/line.d.ts +2 -2
  54. package/dist/shared-preact/components/annotations/link.d.ts +2 -2
  55. package/dist/shared-preact/components/annotations/polygon.d.ts +5 -3
  56. package/dist/shared-preact/components/annotations/polyline.d.ts +8 -4
  57. package/dist/shared-preact/components/annotations/square.d.ts +8 -4
  58. package/dist/shared-preact/components/annotations/stamp.d.ts +2 -2
  59. package/dist/shared-preact/components/annotations/text.d.ts +14 -0
  60. package/dist/shared-preact/components/text-markup/highlight.d.ts +2 -2
  61. package/dist/shared-preact/components/text-markup/squiggly.d.ts +2 -2
  62. package/dist/shared-preact/components/text-markup/strikeout.d.ts +2 -2
  63. package/dist/shared-preact/components/text-markup/underline.d.ts +2 -2
  64. package/dist/shared-preact/components/types.d.ts +8 -4
  65. package/dist/shared-react/annotation-bounds.d.ts +14 -0
  66. package/dist/shared-react/components/annotation-container.d.ts +4 -2
  67. package/dist/shared-react/components/annotations/caret.d.ts +24 -0
  68. package/dist/shared-react/components/annotations/circle.d.ts +8 -4
  69. package/dist/shared-react/components/annotations/free-text.d.ts +2 -2
  70. package/dist/shared-react/components/annotations/ink.d.ts +2 -2
  71. package/dist/shared-react/components/annotations/line.d.ts +2 -2
  72. package/dist/shared-react/components/annotations/link.d.ts +2 -2
  73. package/dist/shared-react/components/annotations/polygon.d.ts +5 -3
  74. package/dist/shared-react/components/annotations/polyline.d.ts +8 -4
  75. package/dist/shared-react/components/annotations/square.d.ts +8 -4
  76. package/dist/shared-react/components/annotations/stamp.d.ts +2 -2
  77. package/dist/shared-react/components/annotations/text.d.ts +14 -0
  78. package/dist/shared-react/components/text-markup/highlight.d.ts +2 -2
  79. package/dist/shared-react/components/text-markup/squiggly.d.ts +2 -2
  80. package/dist/shared-react/components/text-markup/strikeout.d.ts +2 -2
  81. package/dist/shared-react/components/text-markup/underline.d.ts +2 -2
  82. package/dist/shared-react/components/types.d.ts +8 -4
  83. package/dist/shared-vue/annotation-bounds.d.ts +14 -0
  84. package/dist/svelte/components/annotations/Caret.svelte.d.ts +13 -0
  85. package/dist/svelte/components/annotations/Circle.svelte.d.ts +4 -2
  86. package/dist/svelte/components/annotations/FreeText.svelte.d.ts +1 -1
  87. package/dist/svelte/components/annotations/Ink.svelte.d.ts +1 -1
  88. package/dist/svelte/components/annotations/Line.svelte.d.ts +1 -1
  89. package/dist/svelte/components/annotations/Link.svelte.d.ts +1 -1
  90. package/dist/svelte/components/annotations/Polygon.svelte.d.ts +2 -1
  91. package/dist/svelte/components/annotations/Polyline.svelte.d.ts +4 -2
  92. package/dist/svelte/components/annotations/Square.svelte.d.ts +4 -2
  93. package/dist/svelte/components/annotations/Stamp.svelte.d.ts +1 -1
  94. package/dist/svelte/components/annotations/Text.svelte.d.ts +10 -0
  95. package/dist/svelte/components/annotations/index.d.ts +1 -0
  96. package/dist/svelte/components/renderers/CaretRenderer.svelte.d.ts +5 -0
  97. package/dist/svelte/components/renderers/TextRenderer.svelte.d.ts +5 -0
  98. package/dist/svelte/components/text-markup/Highlight.svelte.d.ts +1 -1
  99. package/dist/svelte/components/text-markup/Squiggly.svelte.d.ts +1 -1
  100. package/dist/svelte/components/text-markup/Strikeout.svelte.d.ts +1 -1
  101. package/dist/svelte/components/text-markup/Underline.svelte.d.ts +1 -1
  102. package/dist/svelte/components/types.d.ts +2 -1
  103. package/dist/svelte/context/types.d.ts +7 -3
  104. package/dist/svelte/index.cjs +1 -1
  105. package/dist/svelte/index.cjs.map +1 -1
  106. package/dist/svelte/index.js +831 -416
  107. package/dist/svelte/index.js.map +1 -1
  108. package/dist/vue/components/annotation-container.vue.d.ts +9 -8
  109. package/dist/vue/components/annotation-layer.vue.d.ts +1 -1
  110. package/dist/vue/components/annotations/caret.vue.d.ts +24 -0
  111. package/dist/vue/components/annotations/circle.vue.d.ts +7 -3
  112. package/dist/vue/components/annotations/free-text.vue.d.ts +2 -2
  113. package/dist/vue/components/annotations/index.d.ts +1 -0
  114. package/dist/vue/components/annotations/ink.vue.d.ts +2 -2
  115. package/dist/vue/components/annotations/line.vue.d.ts +2 -2
  116. package/dist/vue/components/annotations/link.vue.d.ts +2 -2
  117. package/dist/vue/components/annotations/polygon.vue.d.ts +4 -2
  118. package/dist/vue/components/annotations/polyline.vue.d.ts +8 -3
  119. package/dist/vue/components/annotations/square.vue.d.ts +7 -3
  120. package/dist/vue/components/annotations/stamp.vue.d.ts +2 -2
  121. package/dist/vue/components/annotations/text.vue.d.ts +14 -0
  122. package/dist/vue/components/annotations.vue.d.ts +9 -10
  123. package/dist/vue/components/renderers/caret-renderer.vue.d.ts +6 -0
  124. package/dist/vue/components/renderers/text-renderer.vue.d.ts +6 -0
  125. package/dist/vue/components/text-markup/highlight.vue.d.ts +2 -2
  126. package/dist/vue/components/text-markup/squiggly.vue.d.ts +2 -2
  127. package/dist/vue/components/text-markup/strikeout.vue.d.ts +2 -2
  128. package/dist/vue/components/text-markup/underline.vue.d.ts +2 -2
  129. package/dist/vue/context/types.d.ts +7 -3
  130. package/dist/vue/index.cjs +1 -1
  131. package/dist/vue/index.cjs.map +1 -1
  132. package/dist/vue/index.js +778 -354
  133. package/dist/vue/index.js.map +1 -1
  134. package/package.json +10 -10
@@ -6,7 +6,7 @@ interface StampProps {
6
6
  annotation: TrackedAnnotation<PdfStampAnnoObject>;
7
7
  pageIndex: number;
8
8
  scale: number;
9
- onClick: (e: MouseEvent | TouchEvent) => void;
9
+ onClick: (e: MouseEvent) => void;
10
10
  }
11
11
  declare const Stamp: import('svelte', { with: { "resolution-mode": "import" } }).Component<StampProps, {}, "">;
12
12
  type Stamp = ReturnType<typeof Stamp>;
@@ -0,0 +1,10 @@
1
+ interface TextProps {
2
+ isSelected: boolean;
3
+ color?: string;
4
+ opacity?: number;
5
+ onClick?: (e: PointerEvent) => void;
6
+ appearanceActive?: boolean;
7
+ }
8
+ declare const Text: import('svelte', { with: { "resolution-mode": "import" } }).Component<TextProps, {}, "">;
9
+ type Text = ReturnType<typeof Text>;
10
+ export default Text;
@@ -7,3 +7,4 @@ export { default as Polygon } from './Polygon.svelte';
7
7
  export { default as Polyline } from './Polyline.svelte';
8
8
  export { default as Square } from './Square.svelte';
9
9
  export { default as Stamp } from './Stamp.svelte';
10
+ export { default as Text } from './Text.svelte';
@@ -0,0 +1,5 @@
1
+ import { PdfCaretAnnoObject } from '@embedpdf/models';
2
+ import { AnnotationRendererProps } from '../../context/types';
3
+ declare const CaretRenderer: import('svelte', { with: { "resolution-mode": "import" } }).Component<AnnotationRendererProps<PdfCaretAnnoObject>, {}, "">;
4
+ type CaretRenderer = ReturnType<typeof CaretRenderer>;
5
+ export default CaretRenderer;
@@ -0,0 +1,5 @@
1
+ import { PdfTextAnnoObject } from '@embedpdf/models';
2
+ import { AnnotationRendererProps } from '../../context/types';
3
+ declare const TextRenderer: import('svelte', { with: { "resolution-mode": "import" } }).Component<AnnotationRendererProps<PdfTextAnnoObject>, {}, "">;
4
+ type TextRenderer = ReturnType<typeof TextRenderer>;
5
+ export default TextRenderer;
@@ -6,7 +6,7 @@ interface HighlightProps {
6
6
  segmentRects: Rect[];
7
7
  rect?: Rect;
8
8
  scale: number;
9
- onClick?: (e: MouseEvent | TouchEvent) => void;
9
+ onClick?: (e: MouseEvent) => void;
10
10
  style?: Record<string, string | number | undefined>;
11
11
  /** When true, AP image provides the visual; only render hit area */
12
12
  appearanceActive?: boolean;
@@ -6,7 +6,7 @@ interface SquigglyProps {
6
6
  segmentRects: Rect[];
7
7
  rect?: Rect;
8
8
  scale: number;
9
- onClick?: (e: MouseEvent | TouchEvent) => void;
9
+ onClick?: (e: MouseEvent) => void;
10
10
  style?: Record<string, string | number | undefined>;
11
11
  /** When true, AP image provides the visual; only render hit area */
12
12
  appearanceActive?: boolean;
@@ -6,7 +6,7 @@ interface StrikeoutProps {
6
6
  segmentRects: Rect[];
7
7
  rect?: Rect;
8
8
  scale: number;
9
- onClick?: (e: MouseEvent | TouchEvent) => void;
9
+ onClick?: (e: MouseEvent) => void;
10
10
  style?: Record<string, string | number | undefined>;
11
11
  /** When true, AP image provides the visual; only render hit area */
12
12
  appearanceActive?: boolean;
@@ -6,7 +6,7 @@ interface UnderlineProps {
6
6
  segmentRects: Rect[];
7
7
  rect?: Rect;
8
8
  scale: number;
9
- onClick?: (e: MouseEvent | TouchEvent) => void;
9
+ onClick?: (e: MouseEvent) => void;
10
10
  style?: Record<string, string | number | undefined>;
11
11
  /** When true, AP image provides the visual; only render hit area */
12
12
  appearanceActive?: boolean;
@@ -1,7 +1,7 @@
1
1
  import { Snippet } from 'svelte';
2
2
  import { CustomAnnotationRenderer, ResizeHandleUI, VertexHandleUI, RotationHandleUI, SelectionOutline, AnnotationSelectionMenuRenderFn, AnnotationSelectionMenuProps, GroupSelectionMenuRenderFn } from '../types';
3
3
  import { VertexConfig } from '../../shared-svelte/types';
4
- import { PdfAnnotationObject, AnnotationAppearances } from '@embedpdf/models';
4
+ import { PdfAnnotationObject, AnnotationAppearances, CssBlendMode } from '@embedpdf/models';
5
5
  import { TrackedAnnotation } from '../../lib/index.ts';
6
6
  import { BoxedAnnotationRenderer } from '../context';
7
7
  export interface AnnotationContainerProps<T extends PdfAnnotationObject> {
@@ -26,6 +26,7 @@ export interface AnnotationContainerProps<T extends PdfAnnotationObject> {
26
26
  lockAspectRatio?: boolean;
27
27
  class?: string;
28
28
  style?: string;
29
+ blendMode?: CssBlendMode;
29
30
  vertexConfig?: VertexConfig<T>;
30
31
  selectionMenu?: AnnotationSelectionMenuRenderFn;
31
32
  selectionMenuSnippet?: Snippet<[AnnotationSelectionMenuProps]>;
@@ -1,11 +1,11 @@
1
1
  import { Component } from 'svelte';
2
- import { PdfAnnotationObject } from '@embedpdf/models';
2
+ import { PdfAnnotationObject, PdfBlendMode } from '@embedpdf/models';
3
3
  import { TrackedAnnotation } from '../../lib/index.ts';
4
4
  import { VertexConfig } from '../../shared-svelte/types';
5
5
  /**
6
6
  * Properly typed event for annotation interactions (click, select, etc.)
7
7
  */
8
- export type AnnotationInteractionEvent = PointerEvent | MouseEvent | TouchEvent;
8
+ export type AnnotationInteractionEvent = PointerEvent | MouseEvent;
9
9
  /**
10
10
  * Props passed to custom annotation renderer components
11
11
  */
@@ -46,7 +46,9 @@ export interface AnnotationRendererEntry<T extends PdfAnnotationObject = PdfAnno
46
46
  vertexConfig?: VertexConfig<T>;
47
47
  /** z-index for the annotation container (default: 1, text markup uses 0) */
48
48
  zIndex?: number;
49
- /** Style applied to the annotation container (overrides default blendMode style) */
49
+ /** Default blend mode for this annotation type (used when the annotation object has no blendMode set) */
50
+ defaultBlendMode?: PdfBlendMode;
51
+ /** Style applied to the annotation container — overrides the default blend-mode style. */
50
52
  containerStyle?: (annotation: T) => string;
51
53
  /** Type-specific interaction fallbacks used when the tool doesn't define a property */
52
54
  interactionDefaults?: {
@@ -77,6 +79,8 @@ export interface BoxedAnnotationRenderer {
77
79
  component: Component<AnnotationRendererProps>;
78
80
  vertexConfig?: VertexConfig<PdfAnnotationObject>;
79
81
  zIndex?: number;
82
+ defaultBlendMode?: PdfBlendMode;
83
+ /** Style applied to the annotation container — overrides the default blend-mode style. */
80
84
  containerStyle?: (annotation: PdfAnnotationObject) => string;
81
85
  interactionDefaults?: {
82
86
  isDraggable?: boolean;