makethisbetter 1.0.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.
- package/LICENSE +62 -0
- package/README.md +113 -0
- package/dist/annotate/draw.d.ts +21 -0
- package/dist/annotate/draw.d.ts.map +1 -0
- package/dist/annotate/draw.test.d.ts +2 -0
- package/dist/annotate/draw.test.d.ts.map +1 -0
- package/dist/annotate/highlighter.d.ts +11 -0
- package/dist/annotate/highlighter.d.ts.map +1 -0
- package/dist/annotate/highlighter.test.d.ts +2 -0
- package/dist/annotate/highlighter.test.d.ts.map +1 -0
- package/dist/annotate/overlay.d.ts +17 -0
- package/dist/annotate/overlay.d.ts.map +1 -0
- package/dist/annotate/overlay.test.d.ts +2 -0
- package/dist/annotate/overlay.test.d.ts.map +1 -0
- package/dist/annotate/pin.d.ts +10 -0
- package/dist/annotate/pin.d.ts.map +1 -0
- package/dist/annotate/pin.test.d.ts +2 -0
- package/dist/annotate/pin.test.d.ts.map +1 -0
- package/dist/annotate/session.d.ts +20 -0
- package/dist/annotate/session.d.ts.map +1 -0
- package/dist/annotate/session.test.d.ts +2 -0
- package/dist/annotate/session.test.d.ts.map +1 -0
- package/dist/annotate/toolbar.d.ts +17 -0
- package/dist/annotate/toolbar.d.ts.map +1 -0
- package/dist/annotate/toolbar.test.d.ts +2 -0
- package/dist/annotate/toolbar.test.d.ts.map +1 -0
- package/dist/api/client.d.ts +10 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.test.d.ts +2 -0
- package/dist/api/client.test.d.ts.map +1 -0
- package/dist/context/collector.d.ts +10 -0
- package/dist/context/collector.d.ts.map +1 -0
- package/dist/context/collector.test.d.ts +2 -0
- package/dist/context/collector.test.d.ts.map +1 -0
- package/dist/context/console.d.ts +10 -0
- package/dist/context/console.d.ts.map +1 -0
- package/dist/context/console.test.d.ts +2 -0
- package/dist/context/console.test.d.ts.map +1 -0
- package/dist/context/error-source.d.ts +21 -0
- package/dist/context/error-source.d.ts.map +1 -0
- package/dist/context/error-source.test.d.ts +2 -0
- package/dist/context/error-source.test.d.ts.map +1 -0
- package/dist/context/frustration.d.ts +27 -0
- package/dist/context/frustration.d.ts.map +1 -0
- package/dist/context/frustration.test.d.ts +2 -0
- package/dist/context/frustration.test.d.ts.map +1 -0
- package/dist/global.d.ts +3 -0
- package/dist/global.d.ts.map +1 -0
- package/dist/i18n/en.d.ts +47 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.test.d.ts +2 -0
- package/dist/i18n/index.test.d.ts.map +1 -0
- package/dist/i18n/zh-CN.d.ts +47 -0
- package/dist/i18n/zh-CN.d.ts.map +1 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/makethisbetter.cjs.js +84 -0
- package/dist/makethisbetter.cjs.js.map +1 -0
- package/dist/makethisbetter.esm.js +1433 -0
- package/dist/makethisbetter.esm.js.map +1 -0
- package/dist/makethisbetter.js +84 -0
- package/dist/makethisbetter.js.map +1 -0
- package/dist/popup/comment.d.ts +31 -0
- package/dist/popup/comment.d.ts.map +1 -0
- package/dist/popup/comment.test.d.ts +2 -0
- package/dist/popup/comment.test.d.ts.map +1 -0
- package/dist/popup/success.d.ts +8 -0
- package/dist/popup/success.d.ts.map +1 -0
- package/dist/popup/success.test.d.ts +2 -0
- package/dist/popup/success.test.d.ts.map +1 -0
- package/dist/record/control-bar.d.ts +12 -0
- package/dist/record/control-bar.d.ts.map +1 -0
- package/dist/record/control-bar.test.d.ts +2 -0
- package/dist/record/control-bar.test.d.ts.map +1 -0
- package/dist/record/session.d.ts +26 -0
- package/dist/record/session.d.ts.map +1 -0
- package/dist/record/session.test.d.ts +2 -0
- package/dist/record/session.test.d.ts.map +1 -0
- package/dist/screenshot/capture.d.ts +3 -0
- package/dist/screenshot/capture.d.ts.map +1 -0
- package/dist/screenshot/capture.test.d.ts +2 -0
- package/dist/screenshot/capture.test.d.ts.map +1 -0
- package/dist/styles.d.ts +9 -0
- package/dist/styles.d.ts.map +1 -0
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/widget/controller.d.ts +37 -0
- package/dist/widget/controller.d.ts.map +1 -0
- package/dist/widget/controller.test.d.ts +2 -0
- package/dist/widget/controller.test.d.ts.map +1 -0
- package/dist/widget/frustration-prompt.d.ts +11 -0
- package/dist/widget/frustration-prompt.d.ts.map +1 -0
- package/dist/widget/frustration-prompt.test.d.ts +2 -0
- package/dist/widget/frustration-prompt.test.d.ts.map +1 -0
- package/dist/widget/payload.d.ts +5 -0
- package/dist/widget/payload.d.ts.map +1 -0
- package/dist/widget/payload.test.d.ts +2 -0
- package/dist/widget/payload.test.d.ts.map +1 -0
- package/dist/widget/pet.d.ts +12 -0
- package/dist/widget/pet.d.ts.map +1 -0
- package/dist/widget/pet.test.d.ts +2 -0
- package/dist/widget/pet.test.d.ts.map +1 -0
- package/dist/widget/shadow.d.ts +11 -0
- package/dist/widget/shadow.d.ts.map +1 -0
- package/dist/widget/shadow.test.d.ts +2 -0
- package/dist/widget/shadow.test.d.ts.map +1 -0
- package/dist/widget/tab.d.ts +10 -0
- package/dist/widget/tab.d.ts.map +1 -0
- package/dist/widget/tab.test.d.ts +2 -0
- package/dist/widget/tab.test.d.ts.map +1 -0
- package/package.json +64 -0
- package/src/annotate/draw.test.ts +168 -0
- package/src/annotate/draw.ts +108 -0
- package/src/annotate/highlighter.test.ts +47 -0
- package/src/annotate/highlighter.ts +84 -0
- package/src/annotate/overlay.test.ts +91 -0
- package/src/annotate/overlay.ts +44 -0
- package/src/annotate/pin.test.ts +87 -0
- package/src/annotate/pin.ts +28 -0
- package/src/annotate/session.test.ts +219 -0
- package/src/annotate/session.ts +104 -0
- package/src/annotate/toolbar.test.ts +132 -0
- package/src/annotate/toolbar.ts +81 -0
- package/src/api/client.test.ts +75 -0
- package/src/api/client.ts +77 -0
- package/src/context/collector.test.ts +14 -0
- package/src/context/collector.ts +41 -0
- package/src/context/console.test.ts +44 -0
- package/src/context/console.ts +34 -0
- package/src/context/error-source.test.ts +115 -0
- package/src/context/error-source.ts +62 -0
- package/src/context/frustration.test.ts +134 -0
- package/src/context/frustration.ts +145 -0
- package/src/global.ts +3 -0
- package/src/i18n/en.ts +47 -0
- package/src/i18n/index.test.ts +24 -0
- package/src/i18n/index.ts +16 -0
- package/src/i18n/zh-CN.ts +47 -0
- package/src/index.ts +32 -0
- package/src/popup/comment.test.ts +73 -0
- package/src/popup/comment.ts +177 -0
- package/src/popup/success.test.ts +75 -0
- package/src/popup/success.ts +33 -0
- package/src/record/control-bar.test.ts +110 -0
- package/src/record/control-bar.ts +46 -0
- package/src/record/session.test.ts +153 -0
- package/src/record/session.ts +139 -0
- package/src/screenshot/capture.test.ts +68 -0
- package/src/screenshot/capture.ts +96 -0
- package/src/styles/widget.css +847 -0
- package/src/styles.ts +9 -0
- package/src/types.ts +46 -0
- package/src/vite-env.d.ts +6 -0
- package/src/widget/controller.test.ts +62 -0
- package/src/widget/controller.ts +249 -0
- package/src/widget/frustration-prompt.test.ts +86 -0
- package/src/widget/frustration-prompt.ts +34 -0
- package/src/widget/payload.test.ts +167 -0
- package/src/widget/payload.ts +31 -0
- package/src/widget/pet.test.ts +63 -0
- package/src/widget/pet.ts +67 -0
- package/src/widget/shadow.test.ts +25 -0
- package/src/widget/shadow.ts +41 -0
- package/src/widget/tab.test.ts +92 -0
- package/src/widget/tab.ts +31 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Business Source License 1.1
|
|
2
|
+
|
|
3
|
+
Parameters
|
|
4
|
+
|
|
5
|
+
Licensor: Make This Better, Inc.
|
|
6
|
+
Licensed Work: @makethisbetter/js
|
|
7
|
+
The Licensed Work is (c) 2026 Make This Better, Inc.
|
|
8
|
+
Additional Use Grant: You may make production use of the Licensed Work,
|
|
9
|
+
provided your use does not include offering the Licensed
|
|
10
|
+
Work to third parties on a hosted or embedded basis
|
|
11
|
+
which is competitive with Make This Better's products.
|
|
12
|
+
Change Date: 2029-01-01
|
|
13
|
+
Change License: MIT
|
|
14
|
+
|
|
15
|
+
For information about alternative licensing arrangements, contact:
|
|
16
|
+
hello@makethisbetter.dev
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
Business Source License 1.1
|
|
21
|
+
|
|
22
|
+
Terms
|
|
23
|
+
|
|
24
|
+
The Licensor hereby grants you the right to copy, modify, create derivative
|
|
25
|
+
works, redistribute, and make non-production use of the Licensed Work. The
|
|
26
|
+
Licensor may make an Additional Use Grant, above, permitting limited
|
|
27
|
+
production use.
|
|
28
|
+
|
|
29
|
+
Effective on the Change Date, or the fourth anniversary of the first publicly
|
|
30
|
+
available distribution of a specific version of the Licensed Work under this
|
|
31
|
+
License, whichever comes first, the Licensor hereby grants you rights under
|
|
32
|
+
the terms of the Change License, and the rights granted in the paragraph
|
|
33
|
+
above terminate.
|
|
34
|
+
|
|
35
|
+
If your use of the Licensed Work does not comply with the requirements
|
|
36
|
+
currently in effect as described in this License, you must purchase a
|
|
37
|
+
commercial license from the Licensor, its affiliated entities, or authorized
|
|
38
|
+
resellers, or you must refrain from using the Licensed Work.
|
|
39
|
+
|
|
40
|
+
All copies of the original and modified Licensed Work, and derivative works
|
|
41
|
+
of the Licensed Work, are subject to this License. This License applies
|
|
42
|
+
separately for each version of the Licensed Work and the Change Date may vary
|
|
43
|
+
for each version of the Licensed Work released by the Licensor.
|
|
44
|
+
|
|
45
|
+
You must conspicuously display this License on each original or modified copy
|
|
46
|
+
of the Licensed Work. If you receive the Licensed Work in original or modified
|
|
47
|
+
form from a third party, the terms and conditions set forth in this License
|
|
48
|
+
apply to your use of that work.
|
|
49
|
+
|
|
50
|
+
Any use of the Licensed Work in violation of this License will automatically
|
|
51
|
+
terminate your rights under this License for the current and all other
|
|
52
|
+
versions of the Licensed Work.
|
|
53
|
+
|
|
54
|
+
This License does not grant you any right in any trademark or logo of
|
|
55
|
+
Licensor or its affiliates (provided that you may use a trademark or logo of
|
|
56
|
+
Licensor as expressly required by this License).
|
|
57
|
+
|
|
58
|
+
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
|
59
|
+
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
|
60
|
+
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
|
61
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
|
62
|
+
TITLE.
|
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# @makethisbetter/js
|
|
2
|
+
|
|
3
|
+
The Make This Better Widget SDK — embed user feedback collection in any website.
|
|
4
|
+
|
|
5
|
+
One script. Click any element. Describe the issue. Done.
|
|
6
|
+
|
|
7
|
+
## Quickstart
|
|
8
|
+
|
|
9
|
+
### Script tag (IIFE)
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<script src="https://unpkg.com/@makethisbetter/js/dist/makethisbetter.iife.js"></script>
|
|
13
|
+
<script>
|
|
14
|
+
MakeThisBetter.init({ projectKey: 'mtb_proj_YOUR_KEY' });
|
|
15
|
+
</script>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### npm / ESM
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install @makethisbetter/js
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
import { MakeThisBetter } from '@makethisbetter/js';
|
|
26
|
+
|
|
27
|
+
MakeThisBetter.init({ projectKey: 'mtb_proj_YOUR_KEY' });
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Configuration
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
MakeThisBetter.init({
|
|
34
|
+
projectKey: 'mtb_proj_xxx', // required — your project API key
|
|
35
|
+
locale: 'zh-CN', // optional — 'en' (default) or 'zh-CN'
|
|
36
|
+
position: 'right', // optional — 'right' (default) or 'left'
|
|
37
|
+
theme: 'auto', // optional — 'light' | 'dark' | 'auto'
|
|
38
|
+
apiUrl: 'https://...', // optional — custom API endpoint
|
|
39
|
+
user: {
|
|
40
|
+
id: 'usr_123', // optional — identify the user
|
|
41
|
+
email: 'alex@company.co',
|
|
42
|
+
name: 'Alex Chen',
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## How it works
|
|
48
|
+
|
|
49
|
+
1. A green **Feedback** tab appears on the right edge of the page
|
|
50
|
+
2. Clicking the tab enters **Mark up mode** — a toolbar appears at the top
|
|
51
|
+
3. Hover over any element to highlight it (blue outline + tooltip)
|
|
52
|
+
4. Click to place a **pin** annotation
|
|
53
|
+
5. Or drag to **draw** a free-form highlight
|
|
54
|
+
6. A **Comment popup** appears — describe the issue and hit Submit
|
|
55
|
+
7. The SDK captures a screenshot, collects page context (URL, browser, OS, console errors), and sends everything to the Make This Better API
|
|
56
|
+
8. Your dashboard shows the structured feedback with AI triage
|
|
57
|
+
|
|
58
|
+
## What gets collected automatically
|
|
59
|
+
|
|
60
|
+
- Page URL
|
|
61
|
+
- Browser and OS
|
|
62
|
+
- Screen resolution
|
|
63
|
+
- Console errors (captured via `window.onerror`)
|
|
64
|
+
- Target element CSS selector and text content
|
|
65
|
+
- Page screenshot (via `html-to-image`, invisible to the user)
|
|
66
|
+
- Annotation coordinates
|
|
67
|
+
|
|
68
|
+
## Conditional loading
|
|
69
|
+
|
|
70
|
+
The Widget only loads when you call `MakeThisBetter.init()`. Control who sees it with your own logic:
|
|
71
|
+
|
|
72
|
+
```js
|
|
73
|
+
// Only show to admins
|
|
74
|
+
if (currentUser.isAdmin) {
|
|
75
|
+
MakeThisBetter.init({ projectKey: 'mtb_proj_xxx', user: { id: currentUser.id } });
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
```ruby
|
|
80
|
+
# Rails example
|
|
81
|
+
<% if current_user&.admin? %>
|
|
82
|
+
<script>
|
|
83
|
+
MakeThisBetter.init({
|
|
84
|
+
projectKey: '<%= Rails.application.credentials.mtb_project_key %>',
|
|
85
|
+
user: { id: '<%= current_user.id %>', email: '<%= current_user.email %>' }
|
|
86
|
+
});
|
|
87
|
+
</script>
|
|
88
|
+
<% end %>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Development
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install
|
|
95
|
+
npm run build # build dist/
|
|
96
|
+
open demo/index.html # run the standalone demo
|
|
97
|
+
npm run dev # optional: serve demo at localhost:5173
|
|
98
|
+
npm test # run tests
|
|
99
|
+
npm run type-check # TypeScript check
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Bundle size
|
|
103
|
+
|
|
104
|
+
| Format | Size | gzip |
|
|
105
|
+
|--------|--------|--------|
|
|
106
|
+
| IIFE | 42 KB | 13.6 KB |
|
|
107
|
+
| ESM | 50 KB | 14.7 KB |
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
[Business Source License 1.1](LICENSE) — free for non-competitive use, converts to MIT on 2029-01-01.
|
|
112
|
+
|
|
113
|
+
Free to self-host. Cloud platform at [makethisbetter.dev](https://makethisbetter.dev).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ShadowContainer } from '../widget/shadow';
|
|
2
|
+
import type { Annotation } from '../types';
|
|
3
|
+
export declare class DrawLayer {
|
|
4
|
+
private svg;
|
|
5
|
+
private path;
|
|
6
|
+
private points;
|
|
7
|
+
private isDrawing;
|
|
8
|
+
private onDrawComplete;
|
|
9
|
+
constructor(shadow: ShadowContainer, onDrawComplete: (annotation: Annotation) => void);
|
|
10
|
+
startDraw(x: number, y: number): void;
|
|
11
|
+
continueDraw(x: number, y: number): void;
|
|
12
|
+
endDraw(): void;
|
|
13
|
+
private buildPathD;
|
|
14
|
+
private getCenter;
|
|
15
|
+
clearAll(): void;
|
|
16
|
+
cancelCurrentDraw(): void;
|
|
17
|
+
isCurrentlyDrawing(): boolean;
|
|
18
|
+
getPointCount(): number;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=draw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../src/annotate/draw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAkC;gBAE5C,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;IAQrF,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAcrC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAMxC,OAAO,IAAI,IAAI;IAwBf,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,SAAS;IAQjB,QAAQ,IAAI,IAAI;IAOhB,iBAAiB,IAAI,IAAI;IAOzB,kBAAkB,IAAI,OAAO;IAI7B,aAAa,IAAI,MAAM;IAIvB,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw.test.d.ts","sourceRoot":"","sources":["../../src/annotate/draw.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ShadowContainer } from '../widget/shadow';
|
|
2
|
+
export declare class ElementHighlighter {
|
|
3
|
+
private highlightEl;
|
|
4
|
+
constructor(shadow: ShadowContainer);
|
|
5
|
+
highlight(el: Element): void;
|
|
6
|
+
hide(): void;
|
|
7
|
+
destroy(): void;
|
|
8
|
+
}
|
|
9
|
+
export declare function getElementName(el: Element): string;
|
|
10
|
+
export declare function getCssSelector(el: Element): string;
|
|
11
|
+
//# sourceMappingURL=highlighter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlighter.d.ts","sourceRoot":"","sources":["../../src/annotate/highlighter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAgB;gBAEvB,MAAM,EAAE,eAAe;IAMnC,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAS5B,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;CAGhB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAqBlD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CA+BlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlighter.test.d.ts","sourceRoot":"","sources":["../../src/annotate/highlighter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ShadowContainer } from '../widget/shadow';
|
|
2
|
+
export declare class AnnotationOverlay {
|
|
3
|
+
private overlayEl;
|
|
4
|
+
private dimEl;
|
|
5
|
+
private onMouseDown;
|
|
6
|
+
private onMouseMove;
|
|
7
|
+
private onMouseUp;
|
|
8
|
+
private onMouseLeave;
|
|
9
|
+
constructor(shadow: ShadowContainer, handlers: {
|
|
10
|
+
onMouseDown: (e: MouseEvent) => void;
|
|
11
|
+
onMouseMove: (e: MouseEvent) => void;
|
|
12
|
+
onMouseUp: (e: MouseEvent) => void;
|
|
13
|
+
onMouseLeave: (e: MouseEvent) => void;
|
|
14
|
+
});
|
|
15
|
+
destroy(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/annotate/overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,YAAY,CAAyB;gBAG3C,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE;QACR,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;QACpC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;QACpC,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;QAClC,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;KACtC;IAkBH,OAAO,IAAI,IAAI;CAQhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay.test.d.ts","sourceRoot":"","sources":["../../src/annotate/overlay.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ShadowContainer } from '../widget/shadow';
|
|
2
|
+
export declare class PinMarker {
|
|
3
|
+
private pins;
|
|
4
|
+
private shadow;
|
|
5
|
+
constructor(shadow: ShadowContainer);
|
|
6
|
+
addPin(x: number, y: number, index: number): void;
|
|
7
|
+
clearAll(): void;
|
|
8
|
+
destroy(): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../src/annotate/pin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,eAAe;IAInC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IASjD,QAAQ,IAAI,IAAI;IAKhB,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin.test.d.ts","sourceRoot":"","sources":["../../src/annotate/pin.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ShadowContainer } from '../widget/shadow';
|
|
2
|
+
import type { I18nMessages } from '../i18n';
|
|
3
|
+
import type { Annotation } from '../types';
|
|
4
|
+
export declare class AnnotationSession {
|
|
5
|
+
private messages;
|
|
6
|
+
private onReady;
|
|
7
|
+
private overlay;
|
|
8
|
+
private highlighter;
|
|
9
|
+
private pinMarker;
|
|
10
|
+
private drawLayer;
|
|
11
|
+
private pinCount;
|
|
12
|
+
private interactionActive;
|
|
13
|
+
constructor(shadow: ShadowContainer, messages: I18nMessages, onReady: (annotation: Annotation, targetName: string) => void);
|
|
14
|
+
private handleMouseDown;
|
|
15
|
+
private handleMouseMove;
|
|
16
|
+
private handleMouseUp;
|
|
17
|
+
dismissInteraction(): void;
|
|
18
|
+
destroy(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/annotate/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAQ1C,qBAAa,iBAAiB;IAU1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,iBAAiB,CAAO;gBAG9B,MAAM,EAAE,eAAe,EACf,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI;IAkBvE,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;IAyBrB,kBAAkB,IAAI,IAAI;IAO1B,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.test.d.ts","sourceRoot":"","sources":["../../src/annotate/session.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ShadowContainer } from '../widget/shadow';
|
|
2
|
+
import type { I18nMessages } from '../i18n';
|
|
3
|
+
export type ToolbarMode = 'markup' | 'record';
|
|
4
|
+
export declare class AnnotationToolbar {
|
|
5
|
+
private el;
|
|
6
|
+
private hintEl;
|
|
7
|
+
private markupBtn;
|
|
8
|
+
private recordBtn;
|
|
9
|
+
private messages;
|
|
10
|
+
private currentMode;
|
|
11
|
+
constructor(shadow: ShadowContainer, messages: I18nMessages, onExit: () => void, onModeChange?: (mode: ToolbarMode) => void);
|
|
12
|
+
private buildHTML;
|
|
13
|
+
setMode(mode: ToolbarMode): void;
|
|
14
|
+
getMode(): ToolbarMode;
|
|
15
|
+
destroy(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../src/annotate/toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE7C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAwB;gBAGzC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,IAAI,EAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IAuB5C,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAahC,OAAO,IAAI,WAAW;IAItB,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.test.d.ts","sourceRoot":"","sources":["../../src/annotate/toolbar.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FeedbackPayload } from '../types';
|
|
2
|
+
export declare class ApiClient {
|
|
3
|
+
private apiUrl;
|
|
4
|
+
private projectKey;
|
|
5
|
+
private retryDelayMs;
|
|
6
|
+
constructor(projectKey: string, apiUrl?: string, retryDelayMs?: number);
|
|
7
|
+
submitFeedback(payload: FeedbackPayload, screenshot: Blob | null): Promise<void>;
|
|
8
|
+
private fetchWithRetry;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;gBAEhB,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,SAAO;IAM9D,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAqCxE,cAAc;CAmB7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../src/api/client.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface PageContext {
|
|
2
|
+
page_url: string;
|
|
3
|
+
user_agent: string;
|
|
4
|
+
browser: string;
|
|
5
|
+
os: string;
|
|
6
|
+
screen_width: number;
|
|
7
|
+
screen_height: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function collectPageContext(): PageContext;
|
|
10
|
+
//# sourceMappingURL=collector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/context/collector.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,kBAAkB,IAAI,WAAW,CAShD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collector.test.d.ts","sourceRoot":"","sources":["../../src/context/collector.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/context/console.ts"],"names":[],"mappings":"AAIA,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAA4B;IAE/C,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,QAAQ;IAOhB,SAAS,IAAI,MAAM,EAAE;IAIrB,IAAI,IAAI,IAAI;CAIb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.test.d.ts","sourceRoot":"","sources":["../../src/context/console.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ErrorSourceEvent {
|
|
2
|
+
message: string;
|
|
3
|
+
source?: string;
|
|
4
|
+
line?: number;
|
|
5
|
+
col?: number;
|
|
6
|
+
error?: unknown;
|
|
7
|
+
}
|
|
8
|
+
type ErrorListener = (event: ErrorSourceEvent) => void;
|
|
9
|
+
declare class ErrorSource {
|
|
10
|
+
private listeners;
|
|
11
|
+
private originalOnError;
|
|
12
|
+
private rejectionHandler;
|
|
13
|
+
private hooked;
|
|
14
|
+
subscribe(listener: ErrorListener): () => void;
|
|
15
|
+
private hook;
|
|
16
|
+
private unhook;
|
|
17
|
+
private emit;
|
|
18
|
+
}
|
|
19
|
+
export declare const errorSource: ErrorSource;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=error-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-source.d.ts","sourceRoot":"","sources":["../../src/context/error-source.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;AAEtD,cAAM,WAAW;IACf,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,gBAAgB,CAAoD;IAC5E,OAAO,CAAC,MAAM,CAAQ;IAEtB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAS9C,OAAO,CAAC,IAAI;IAoBZ,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,IAAI;CAGb;AAED,eAAO,MAAM,WAAW,aAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-source.test.d.ts","sourceRoot":"","sources":["../../src/context/error-source.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type FrustrationSignal = 'rage_click' | 'dead_click' | 'console_error';
|
|
2
|
+
export interface FrustrationEvent {
|
|
3
|
+
signal: FrustrationSignal;
|
|
4
|
+
target?: string;
|
|
5
|
+
detail?: string;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class FrustrationDetector {
|
|
9
|
+
private clickHistory;
|
|
10
|
+
private onFrustration;
|
|
11
|
+
private boundClickHandler;
|
|
12
|
+
private unsubscribeErrors;
|
|
13
|
+
private active;
|
|
14
|
+
private errorCount;
|
|
15
|
+
private deadClickCount;
|
|
16
|
+
private cooldownUntil;
|
|
17
|
+
private static readonly COOLDOWN_MS;
|
|
18
|
+
constructor(onFrustration: (event: FrustrationEvent) => void);
|
|
19
|
+
start(): void;
|
|
20
|
+
stop(): void;
|
|
21
|
+
private handleClick;
|
|
22
|
+
private isInteractive;
|
|
23
|
+
private isWidgetElement;
|
|
24
|
+
private emitIfReady;
|
|
25
|
+
private emitHighPriority;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=frustration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frustration.d.ts","sourceRoot":"","sources":["../../src/context/frustration.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,CAAA;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAmBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEhC,aAAa,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI;IAK5D,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IASZ,OAAO,CAAC,WAAW;IAqCnB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,gBAAgB;CAIzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frustration.test.d.ts","sourceRoot":"","sources":["../../src/context/frustration.test.ts"],"names":[],"mappings":""}
|
package/dist/global.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
tab: string;
|
|
3
|
+
toolbar: {
|
|
4
|
+
markup: string;
|
|
5
|
+
record: string;
|
|
6
|
+
hint: string;
|
|
7
|
+
hintRecord: string;
|
|
8
|
+
exit: string;
|
|
9
|
+
};
|
|
10
|
+
popup: {
|
|
11
|
+
about: string;
|
|
12
|
+
placeholder: string;
|
|
13
|
+
submit: string;
|
|
14
|
+
cancel: string;
|
|
15
|
+
quickOptions: {
|
|
16
|
+
emoji: string;
|
|
17
|
+
label: string;
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
success: {
|
|
21
|
+
title: string;
|
|
22
|
+
message: string;
|
|
23
|
+
close: string;
|
|
24
|
+
};
|
|
25
|
+
error: {
|
|
26
|
+
submit: string;
|
|
27
|
+
};
|
|
28
|
+
pet: {
|
|
29
|
+
bubble: string;
|
|
30
|
+
};
|
|
31
|
+
frustration: {
|
|
32
|
+
prompt: string;
|
|
33
|
+
action: string;
|
|
34
|
+
dismiss: string;
|
|
35
|
+
};
|
|
36
|
+
annotation: {
|
|
37
|
+
drawing: string;
|
|
38
|
+
element: string;
|
|
39
|
+
};
|
|
40
|
+
record: {
|
|
41
|
+
stop: string;
|
|
42
|
+
timer_label: string;
|
|
43
|
+
max_reached: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export default _default;
|
|
47
|
+
//# sourceMappingURL=en.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA8CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAA;AAGrB,MAAM,MAAM,YAAY,GAAG,OAAO,EAAE,CAAA;AAOpC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAKxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/i18n/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
tab: string;
|
|
3
|
+
toolbar: {
|
|
4
|
+
markup: string;
|
|
5
|
+
record: string;
|
|
6
|
+
hint: string;
|
|
7
|
+
hintRecord: string;
|
|
8
|
+
exit: string;
|
|
9
|
+
};
|
|
10
|
+
popup: {
|
|
11
|
+
about: string;
|
|
12
|
+
placeholder: string;
|
|
13
|
+
submit: string;
|
|
14
|
+
cancel: string;
|
|
15
|
+
quickOptions: {
|
|
16
|
+
emoji: string;
|
|
17
|
+
label: string;
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
success: {
|
|
21
|
+
title: string;
|
|
22
|
+
message: string;
|
|
23
|
+
close: string;
|
|
24
|
+
};
|
|
25
|
+
error: {
|
|
26
|
+
submit: string;
|
|
27
|
+
};
|
|
28
|
+
pet: {
|
|
29
|
+
bubble: string;
|
|
30
|
+
};
|
|
31
|
+
frustration: {
|
|
32
|
+
prompt: string;
|
|
33
|
+
action: string;
|
|
34
|
+
dismiss: string;
|
|
35
|
+
};
|
|
36
|
+
annotation: {
|
|
37
|
+
drawing: string;
|
|
38
|
+
element: string;
|
|
39
|
+
};
|
|
40
|
+
record: {
|
|
41
|
+
stop: string;
|
|
42
|
+
timer_label: string;
|
|
43
|
+
max_reached: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export default _default;
|
|
47
|
+
//# sourceMappingURL=zh-CN.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../src/i18n/zh-CN.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA8CC"}
|
package/dist/index.d.mts
ADDED