@uxbertlabs/reportly 1.0.1 → 1.0.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
@@ -35,7 +35,12 @@ Open `demo.html` in your browser to see it in action!
35
35
  ### Method 1: Script Tag (Recommended)
36
36
 
37
37
  ```html
38
+ <!-- Via local file -->
38
39
  <script src="dist/reportly.min.js"></script>
40
+
41
+ <!-- Or via CDN -->
42
+ <script src="https://cdn.jsdelivr.net/npm/@uxbertlabs/reportly@1.0.1/dist/reportly.min.js"></script>
43
+
39
44
  <script>
40
45
  Reportly.init({
41
46
  ui: {
@@ -0,0 +1,12 @@
1
+ import type { ReportlyConfig } from '../types';
2
+ declare class Config {
3
+ private config;
4
+ constructor(userConfig?: Partial<ReportlyConfig>);
5
+ private mergeConfig;
6
+ private loadFromStorage;
7
+ save(): void;
8
+ get(key: string): any;
9
+ set(key: string, value: any): void;
10
+ }
11
+ export default Config;
12
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAa/C,cAAM,MAAM;IACV,OAAO,CAAC,MAAM,CAAiB;gBAEnB,UAAU,GAAE,OAAO,CAAC,cAAc,CAAM;IAKpD,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,eAAe;IAYvB,IAAI,IAAI,IAAI;IAQZ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAUrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CASnC;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,35 @@
1
+ import "../ui/styles.css";
2
+ import type { ReportlyConfig, SavedIssue, EventCallback } from "../types";
3
+ declare class Reportly {
4
+ private config;
5
+ private state;
6
+ private button;
7
+ private modal;
8
+ private toolbar;
9
+ private screenshot;
10
+ private annotation;
11
+ private deviceInfo;
12
+ private export;
13
+ private isInitialized;
14
+ constructor();
15
+ init(userConfig?: Partial<ReportlyConfig>): void;
16
+ private setupKeyboardShortcuts;
17
+ private handleButtonClick;
18
+ private startAnnotation;
19
+ private exitAnnotation;
20
+ private finishAnnotation;
21
+ private retakeScreenshot;
22
+ private handleIssueSubmit;
23
+ private handleModalClose;
24
+ open(): void;
25
+ close(): void;
26
+ updateConfig(newConfig: Partial<ReportlyConfig>): void;
27
+ getSavedIssues(): SavedIssue[];
28
+ clearSavedIssues(): void;
29
+ exportAllIssues(): void;
30
+ on(event: string, callback: EventCallback): void;
31
+ destroy(): void;
32
+ }
33
+ declare const reporter: Reportly;
34
+ export default reporter;
35
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAA4B,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEpG,cAAM,QAAQ;IACZ,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAU;;IAe/B,IAAI,CAAC,UAAU,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,IAAI;IAiDpD,OAAO,CAAC,sBAAsB;YAUhB,iBAAiB;IAoB/B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;YASR,gBAAgB;YA2BhB,gBAAgB;IAwB9B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,gBAAgB;IAQxB,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAKb,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAMtD,cAAc,IAAI,UAAU,EAAE;IAI9B,gBAAgB,IAAI,IAAI;IAIxB,eAAe,IAAI,IAAI;IAIvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIhD,OAAO,IAAI,IAAI;CAOhB;AAGD,QAAA,MAAM,QAAQ,UAAiB,CAAC;AAGhC,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { StateType, IssueData, Annotation, EventCallback } from '../types';
2
+ export declare const STATE: Record<string, StateType>;
3
+ declare class State {
4
+ private currentState;
5
+ private currentIssue;
6
+ private screenshot;
7
+ private annotations;
8
+ private listeners;
9
+ constructor();
10
+ setState(newState: StateType): void;
11
+ getState(): StateType;
12
+ setIssue(issue: IssueData): void;
13
+ getIssue(): IssueData | null;
14
+ setScreenshot(screenshot: string): void;
15
+ getScreenshot(): string | null;
16
+ addAnnotation(annotation: Annotation): void;
17
+ getAnnotations(): Annotation[];
18
+ clearAnnotations(): void;
19
+ reset(): void;
20
+ on(event: string, callback: EventCallback): void;
21
+ emit(event: string, data?: any): void;
22
+ }
23
+ export default State;
24
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAkB,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhG,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAI3C,CAAC;AAEF,cAAM,KAAK;IACT,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,SAAS,CAAiB;;IAUlC,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAKnC,QAAQ,IAAI,SAAS;IAIrB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIhC,QAAQ,IAAI,SAAS,GAAG,IAAI;IAI5B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C,cAAc,IAAI,UAAU,EAAE;IAI9B,gBAAgB,IAAI,IAAI;IAIxB,KAAK,IAAI,IAAI;IAQb,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAOhD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;CAKtC;AAED,eAAe,KAAK,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { AnnotationTool } from '../types';
2
+ declare class AnnotationManager {
3
+ private canvas;
4
+ private ctx;
5
+ private isDrawing;
6
+ private currentTool;
7
+ private currentColor;
8
+ private lineWidth;
9
+ private annotations;
10
+ private startX;
11
+ private startY;
12
+ private currentPath;
13
+ private textInput;
14
+ private currentTextAnnotation;
15
+ constructor();
16
+ createCanvas(): HTMLCanvasElement;
17
+ private updateCanvasSize;
18
+ show(): void;
19
+ hide(): void;
20
+ setTool(tool: AnnotationTool): void;
21
+ setColor(color: string): void;
22
+ private handleMouseDown;
23
+ private handleMouseMove;
24
+ private handleMouseUp;
25
+ private handleTouchStart;
26
+ private handleTouchMove;
27
+ private handleTouchEnd;
28
+ private drawPath;
29
+ private drawArrow;
30
+ private drawRectangle;
31
+ private createTextInput;
32
+ private editTextAnnotation;
33
+ private saveTextInput;
34
+ private removeTextInput;
35
+ private getTextAnnotationAt;
36
+ private drawText;
37
+ private redraw;
38
+ undo(): void;
39
+ clear(): void;
40
+ exportAnnotatedScreenshot(baseScreenshot: string): Promise<string>;
41
+ destroy(): void;
42
+ }
43
+ export default AnnotationManager;
44
+ //# sourceMappingURL=annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/features/annotation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,UAAU,CAAC;AAElE,cAAM,iBAAiB;IACrB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,qBAAqB,CAA6E;;IAiB1G,YAAY,IAAI,iBAAiB;IA2BjC,OAAO,CAAC,gBAAgB;IAwBxB,IAAI,IAAI,IAAI;IAYZ,IAAI,IAAI,IAAI;IASZ,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAInC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;IA+DvB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,MAAM;IAmBd,IAAI,IAAI,IAAI;IAOZ,KAAK,IAAI,IAAI;IAKP,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BxE,OAAO,IAAI,IAAI;CAOhB;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { DeviceInfoData } from '../types';
2
+ declare class DeviceInfo {
3
+ private info;
4
+ constructor();
5
+ private collect;
6
+ private getBrowserInfo;
7
+ private getOSInfo;
8
+ refresh(): DeviceInfoData;
9
+ get(): DeviceInfoData;
10
+ }
11
+ export default DeviceInfo;
12
+ //# sourceMappingURL=device-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-info.d.ts","sourceRoot":"","sources":["../../src/features/device-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,cAAM,UAAU;IACd,OAAO,CAAC,IAAI,CAAiB;;IAM7B,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,SAAS;IAmBjB,OAAO,IAAI,cAAc;IAKzB,GAAG,IAAI,cAAc;CAGtB;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { CompleteIssue, SavedIssue } from '../types';
2
+ declare class Export {
3
+ private savedIssues;
4
+ constructor();
5
+ exportToJSON(issueData: CompleteIssue): string;
6
+ private saveIssue;
7
+ private loadSavedIssues;
8
+ getSavedIssues(): SavedIssue[];
9
+ deleteSavedIssue(issueId: number): void;
10
+ clearSavedIssues(): void;
11
+ exportAllIssues(): void;
12
+ }
13
+ export default Export;
14
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/features/export.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE1D,cAAM,MAAM;IACV,OAAO,CAAC,WAAW,CAAe;;IAMlC,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM;IAsB9C,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,eAAe;IAUvB,cAAc,IAAI,UAAU,EAAE;IAI9B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,gBAAgB,IAAI,IAAI;IAKxB,eAAe,IAAI,IAAI;CAcxB;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,11 @@
1
+ declare class Screenshot {
2
+ private currentScreenshot;
3
+ constructor();
4
+ capture(): Promise<string>;
5
+ private hideUXbertElements;
6
+ private showUXbertElements;
7
+ getScreenshot(): string | null;
8
+ clear(): void;
9
+ }
10
+ export default Screenshot;
11
+ //# sourceMappingURL=screenshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/features/screenshot.ts"],"names":[],"mappings":"AAGA,cAAM,UAAU;IACd,OAAO,CAAC,iBAAiB,CAAgB;;IAMnC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAoDhC,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,kBAAkB;IAY1B,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,KAAK,IAAI,IAAI;CAGd;AAED,eAAe,UAAU,CAAC"}