@triagly/sdk 0.1.2 → 1.4.0-beta.2

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.
package/README.md CHANGED
@@ -2,12 +2,11 @@
2
2
 
3
3
  > JavaScript SDK for Triagly - Turn user feedback into GitHub issues instantly.
4
4
 
5
- Lightweight (<10KB gzipped) browser widget that captures user feedback with screenshots and automatically creates GitHub issues.
5
+ Lightweight (<10KB gzipped) browser widget that captures user feedback and automatically creates issues in your tracker.
6
6
 
7
7
  ## Features
8
8
 
9
9
  - 🎨 **Beautiful UI Widget** - Clean, customizable feedback form
10
- - 📸 **Screenshot Capture** - Automatic page screenshots (with html2canvas)
11
10
  - 🐛 **Console Log Capture** - Automatically captures browser console errors and warnings for debugging
12
11
  - 🤖 **Bot Protection** - Cloudflare Turnstile integration to prevent spam
13
12
  - 🔒 **Secure Authentication** - Uses publishable keys with optional hardened mode
@@ -34,9 +33,6 @@ yarn add @triagly/sdk
34
33
  <!-- Include Cloudflare Turnstile for bot protection -->
35
34
  <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
36
35
 
37
- <!-- Include html2canvas for screenshot support (optional) -->
38
- <script src="https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"></script>
39
-
40
36
  <!-- Include Triagly SDK -->
41
37
  <script src="https://unpkg.com/@triagly/sdk/dist/index.min.js"></script>
42
38
  ```
@@ -419,25 +415,6 @@ try {
419
415
 
420
416
  See [Styling Guide](./docs/guides/STYLING.md) for all available variables and more examples.
421
417
 
422
- ## Screenshot Support
423
-
424
- To enable screenshot capture, include html2canvas:
425
-
426
- ```html
427
- <script src="https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"></script>
428
- ```
429
-
430
- Or install via NPM and import in your bundle:
431
-
432
- ```bash
433
- npm install html2canvas
434
- ```
435
-
436
- ```typescript
437
- import html2canvas from 'html2canvas';
438
- (window as any).html2canvas = html2canvas;
439
- ```
440
-
441
418
  ## Console Log Capture
442
419
 
443
420
  The SDK automatically captures browser console messages (errors and warnings by default) to help developers debug issues.
@@ -0,0 +1,111 @@
1
+ export type AnnotationTool = 'highlight' | 'arrow' | 'freehand' | 'text';
2
+ export declare class AnnotationEditor {
3
+ private overlay;
4
+ private canvas;
5
+ private ctx;
6
+ private imageData;
7
+ private image;
8
+ private annotations;
9
+ private currentTool;
10
+ private currentColor;
11
+ private strokeWidth;
12
+ private isDrawing;
13
+ private currentAnnotation;
14
+ private onComplete;
15
+ private onCancel;
16
+ private scale;
17
+ private offsetX;
18
+ private offsetY;
19
+ private pendingTextPoint;
20
+ constructor(imageData: string, onComplete: (annotatedImage: string) => void, onCancel: () => void);
21
+ /**
22
+ * Open the annotation editor
23
+ */
24
+ open(): Promise<void>;
25
+ /**
26
+ * Load image from data URL
27
+ */
28
+ private loadImage;
29
+ /**
30
+ * Create the fullscreen overlay UI
31
+ */
32
+ private createOverlay;
33
+ /**
34
+ * Set up the canvas with correct dimensions
35
+ */
36
+ private setupCanvas;
37
+ /**
38
+ * Set up event listeners
39
+ */
40
+ private setupEventListeners;
41
+ private handleKeyDown;
42
+ /**
43
+ * Get canvas coordinates from mouse event
44
+ */
45
+ private getCanvasPoint;
46
+ /**
47
+ * Handle mouse down - start drawing
48
+ */
49
+ private handleMouseDown;
50
+ /**
51
+ * Show the text input modal
52
+ */
53
+ private showTextModal;
54
+ /**
55
+ * Hide the text input modal
56
+ */
57
+ private hideTextModal;
58
+ /**
59
+ * Confirm text annotation from modal
60
+ */
61
+ private confirmTextAnnotation;
62
+ /**
63
+ * Handle mouse move - continue drawing
64
+ */
65
+ private handleMouseMove;
66
+ /**
67
+ * Handle mouse up - finish drawing
68
+ */
69
+ private handleMouseUp;
70
+ /**
71
+ * Render the canvas with image and annotations
72
+ */
73
+ private render;
74
+ /**
75
+ * Draw a single annotation
76
+ */
77
+ private drawAnnotation;
78
+ /**
79
+ * Draw a semi-transparent highlight rectangle
80
+ */
81
+ private drawHighlight;
82
+ /**
83
+ * Draw an arrow from start to end
84
+ */
85
+ private drawArrow;
86
+ /**
87
+ * Draw a freehand path
88
+ */
89
+ private drawFreehand;
90
+ /**
91
+ * Draw text annotation
92
+ */
93
+ private drawText;
94
+ /**
95
+ * Close the editor
96
+ */
97
+ private close;
98
+ /**
99
+ * Render the final annotated image at full resolution
100
+ */
101
+ private renderFinalImage;
102
+ private drawHighlightOnCtx;
103
+ private drawArrowOnCtx;
104
+ private drawFreehandOnCtx;
105
+ private drawTextOnCtx;
106
+ /**
107
+ * Inject annotation editor styles
108
+ */
109
+ private injectStyles;
110
+ }
111
+ //# sourceMappingURL=annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../src/annotation.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAezE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,GAAG,CAAyC;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,gBAAgB,CAAsB;gBAG5C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,EAC5C,QAAQ,EAAE,MAAM,IAAI;IAOtB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuErB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4CnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsF3B,OAAO,CAAC,aAAa,CAInB;IAEF;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,MAAM;IAoBd;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,SAAS;IA4BjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA2BhB;;OAEG;IACH,OAAO,CAAC,KAAK;IAkBb;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,YAAY;CA2MrB"}
package/dist/api.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { FeedbackData, FeedbackMetadata, FeedbackResponse } from './types';
2
+ export type Environment = 'production' | 'staging';
2
3
  export declare class TriaglyAPI {
3
4
  private apiUrl;
4
5
  private publishableKey;
5
6
  private getToken?;
6
7
  private turnstileSiteKey;
7
8
  private static readonly DEFAULT_TURNSTILE_SITE_KEY;
8
- constructor(publishableKey: string, apiUrl?: string, getToken?: () => Promise<string>, turnstileSiteKey?: string);
9
+ constructor(publishableKey: string, environment?: Environment, apiUrl?: string, getToken?: () => Promise<string>, turnstileSiteKey?: string);
9
10
  /**
10
11
  * Get the Turnstile site key
11
12
  */
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAwB;IACzC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAA8B;gBAG9E,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAChC,gBAAgB,CAAC,EAAE,MAAM;IAS3B;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;YACW,iBAAiB;IA4B/B;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC;CA2E7B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAOjB,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAEnD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAwB;IACzC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAA8B;gBAG9E,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,WAA0B,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAChC,gBAAgB,CAAC,EAAE,MAAM;IAU3B;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;YACW,iBAAiB;IA4B/B;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC;CA2E7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAKjB,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,EAAE,aAAa;IAwDjC;;OAEG;IACH,OAAO,CAAC,IAAI;IAkBZ;;OAEG;YACW,YAAY;IAgE1B;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB;AAGD,cAAc,SAAS,CAAC;AAexB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAKjB,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,EAAE,aAAa;IAyDjC;;OAEG;IACH,OAAO,CAAC,IAAI;IAkBZ;;OAEG;YACW,YAAY;IAwD1B;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB;AAGD,cAAc,SAAS,CAAC;AAexB,eAAe,OAAO,CAAC"}