@liuovo/agentation-vue-ui 0.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/LICENSE +27 -0
- package/README.md +32 -0
- package/dist/components/icons.d.ts +63 -0
- package/dist/components/icons.d.ts.map +1 -0
- package/dist/components/icons.js +396 -0
- package/dist/components/icons.js.map +1 -0
- package/dist/composables/useAnnotationsStore.d.ts +30 -0
- package/dist/composables/useAnnotationsStore.d.ts.map +1 -0
- package/dist/composables/useAnnotationsStore.js +234 -0
- package/dist/composables/useAnnotationsStore.js.map +1 -0
- package/dist/composables/useAreaSelection.d.ts +19 -0
- package/dist/composables/useAreaSelection.d.ts.map +1 -0
- package/dist/composables/useAreaSelection.js +58 -0
- package/dist/composables/useAreaSelection.js.map +1 -0
- package/dist/composables/useExport.d.ts +17 -0
- package/dist/composables/useExport.d.ts.map +1 -0
- package/dist/composables/useExport.js +51 -0
- package/dist/composables/useExport.js.map +1 -0
- package/dist/composables/useFreezeState.d.ts +22 -0
- package/dist/composables/useFreezeState.d.ts.map +1 -0
- package/dist/composables/useFreezeState.js +28 -0
- package/dist/composables/useFreezeState.js.map +1 -0
- package/dist/composables/useI18n.d.ts +14 -0
- package/dist/composables/useI18n.d.ts.map +1 -0
- package/dist/composables/useI18n.js +18 -0
- package/dist/composables/useI18n.js.map +1 -0
- package/dist/composables/useKeyboard.d.ts +30 -0
- package/dist/composables/useKeyboard.d.ts.map +1 -0
- package/dist/composables/useKeyboard.js +122 -0
- package/dist/composables/useKeyboard.js.map +1 -0
- package/dist/composables/useOverlay.d.ts +27 -0
- package/dist/composables/useOverlay.d.ts.map +1 -0
- package/dist/composables/useOverlay.js +93 -0
- package/dist/composables/useOverlay.js.map +1 -0
- package/dist/composables/useSelection.d.ts +17 -0
- package/dist/composables/useSelection.d.ts.map +1 -0
- package/dist/composables/useSelection.js +38 -0
- package/dist/composables/useSelection.js.map +1 -0
- package/dist/composables/useSettings.d.ts +75 -0
- package/dist/composables/useSettings.d.ts.map +1 -0
- package/dist/composables/useSettings.js +115 -0
- package/dist/composables/useSettings.js.map +1 -0
- package/dist/composables/useToolbarDrag.d.ts +28 -0
- package/dist/composables/useToolbarDrag.d.ts.map +1 -0
- package/dist/composables/useToolbarDrag.js +253 -0
- package/dist/composables/useToolbarDrag.js.map +1 -0
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +85 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/index.d.ts +11 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +23 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/types.d.ts +90 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +2 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/i18n/zh-CN.d.ts +3 -0
- package/dist/i18n/zh-CN.d.ts.map +1 -0
- package/dist/i18n/zh-CN.js +85 -0
- package/dist/i18n/zh-CN.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/injection-keys.d.ts +18 -0
- package/dist/injection-keys.d.ts.map +1 -0
- package/dist/injection-keys.js +9 -0
- package/dist/injection-keys.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +13 -0
- package/dist/utils.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { useDraggable } from "@vueuse/core";
|
|
2
|
+
import { computed, onMounted, onUnmounted, ref, shallowRef, } from "vue";
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Types
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
const STORAGE_KEY = "agentation-vue-toolbar-position";
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Composable
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
/**
|
|
11
|
+
* Drag composable for the toolbar, powered by @vueuse/core `useDraggable`.
|
|
12
|
+
*
|
|
13
|
+
* Fully reactive — VueUse's `x`/`y` refs are the single source of truth
|
|
14
|
+
* for position. `toolbarStyle` derives from them so Vue's `:style` binding
|
|
15
|
+
* and the drag position are always in sync. No direct DOM writes needed.
|
|
16
|
+
*/
|
|
17
|
+
export function useToolbarDrag(options = {}) {
|
|
18
|
+
const padding = options.padding ?? 20;
|
|
19
|
+
const toolbarHeight = options.toolbarHeight ?? 44;
|
|
20
|
+
const dragThreshold = options.dragThreshold ?? 5;
|
|
21
|
+
// --- Element ref for useDraggable ----------------------------------------
|
|
22
|
+
const toolbarEl = shallowRef(null);
|
|
23
|
+
// --- Whether a position has been set (saved or dragged) ------------------
|
|
24
|
+
// When false, toolbar uses its default CSS position (right/bottom).
|
|
25
|
+
const hasPosition = ref(false);
|
|
26
|
+
// --- Drag state ----------------------------------------------------------
|
|
27
|
+
const isDragging = ref(false);
|
|
28
|
+
const justFinishedDrag = ref(false);
|
|
29
|
+
let session = null;
|
|
30
|
+
let cachedWrapperWidth = 297;
|
|
31
|
+
let cachedContentWidth = 44;
|
|
32
|
+
function updateMeasurements() {
|
|
33
|
+
const el = toolbarEl.value;
|
|
34
|
+
if (!el)
|
|
35
|
+
return;
|
|
36
|
+
cachedWrapperWidth = el.offsetWidth || cachedWrapperWidth;
|
|
37
|
+
const content = el.querySelector(".toolbar-container");
|
|
38
|
+
if (content) {
|
|
39
|
+
cachedContentWidth = content.offsetWidth || cachedContentWidth;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// --- Viewport constraint -------------------------------------------------
|
|
43
|
+
function constrain(pos) {
|
|
44
|
+
if (typeof window === "undefined")
|
|
45
|
+
return pos;
|
|
46
|
+
const contentOffset = Math.max(0, cachedWrapperWidth - cachedContentWidth);
|
|
47
|
+
const minX = padding - contentOffset;
|
|
48
|
+
const maxX = window.innerWidth - cachedWrapperWidth - padding;
|
|
49
|
+
const maxY = window.innerHeight - toolbarHeight - padding;
|
|
50
|
+
return {
|
|
51
|
+
x: Math.max(minX, Math.min(Math.max(minX, maxX), pos.x)),
|
|
52
|
+
y: Math.max(padding, Math.min(Math.max(padding, maxY), pos.y)),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// --- Interaction locking -------------------------------------------------
|
|
56
|
+
const DRAG_CLASS = "agentation-dragging";
|
|
57
|
+
function lockInteraction() {
|
|
58
|
+
document.documentElement.classList.add(DRAG_CLASS);
|
|
59
|
+
}
|
|
60
|
+
function unlockInteraction() {
|
|
61
|
+
document.documentElement.classList.remove(DRAG_CLASS);
|
|
62
|
+
}
|
|
63
|
+
// --- Hit-test filter (ignore interactive children) -----------------------
|
|
64
|
+
function isIgnoredTarget(target) {
|
|
65
|
+
return target instanceof Element
|
|
66
|
+
&& Boolean(target.closest("button, input, textarea, select, [data-no-drag]"));
|
|
67
|
+
}
|
|
68
|
+
// --- Load saved position for initialValue --------------------------------
|
|
69
|
+
const saved = loadPosition();
|
|
70
|
+
if (saved)
|
|
71
|
+
hasPosition.value = true;
|
|
72
|
+
const initialPos = saved
|
|
73
|
+
? (typeof window !== "undefined" ? constrain(saved) : saved)
|
|
74
|
+
: { x: 0, y: 0 };
|
|
75
|
+
// --- useDraggable (pointer event lifecycle) ------------------------------
|
|
76
|
+
const { x, y } = useDraggable(toolbarEl, {
|
|
77
|
+
initialValue: initialPos,
|
|
78
|
+
preventDefault: true,
|
|
79
|
+
onStart(_pos, event) {
|
|
80
|
+
if (event.pointerType === "mouse" && event.button !== 0)
|
|
81
|
+
return false;
|
|
82
|
+
if (isIgnoredTarget(event.target))
|
|
83
|
+
return false;
|
|
84
|
+
const el = toolbarEl.value;
|
|
85
|
+
if (!el)
|
|
86
|
+
return false;
|
|
87
|
+
updateMeasurements();
|
|
88
|
+
justFinishedDrag.value = false;
|
|
89
|
+
// First drag with no saved position: adopt current CSS position
|
|
90
|
+
if (!hasPosition.value) {
|
|
91
|
+
const rect = el.getBoundingClientRect();
|
|
92
|
+
x.value = rect.left;
|
|
93
|
+
y.value = rect.top;
|
|
94
|
+
hasPosition.value = true;
|
|
95
|
+
}
|
|
96
|
+
session = {
|
|
97
|
+
pointerX: event.clientX,
|
|
98
|
+
pointerY: event.clientY,
|
|
99
|
+
startX: x.value,
|
|
100
|
+
startY: y.value,
|
|
101
|
+
};
|
|
102
|
+
},
|
|
103
|
+
onMove(dragPos, event) {
|
|
104
|
+
if (!session)
|
|
105
|
+
return;
|
|
106
|
+
// Enforce drag threshold before committing to drag mode
|
|
107
|
+
if (!isDragging.value) {
|
|
108
|
+
const dx = event.clientX - session.pointerX;
|
|
109
|
+
const dy = event.clientY - session.pointerY;
|
|
110
|
+
if (dx * dx + dy * dy <= dragThreshold * dragThreshold) {
|
|
111
|
+
// Snap back to start (undo VueUse's premature position update)
|
|
112
|
+
x.value = session.startX;
|
|
113
|
+
y.value = session.startY;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
isDragging.value = true;
|
|
117
|
+
lockInteraction();
|
|
118
|
+
}
|
|
119
|
+
// Apply viewport constraint
|
|
120
|
+
const constrained = constrain(dragPos);
|
|
121
|
+
x.value = constrained.x;
|
|
122
|
+
y.value = constrained.y;
|
|
123
|
+
},
|
|
124
|
+
onEnd() {
|
|
125
|
+
if (session && isDragging.value) {
|
|
126
|
+
savePosition({ x: x.value, y: y.value });
|
|
127
|
+
justFinishedDrag.value = true;
|
|
128
|
+
unlockInteraction();
|
|
129
|
+
}
|
|
130
|
+
isDragging.value = false;
|
|
131
|
+
session = null;
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
// --- Derived state -------------------------------------------------------
|
|
135
|
+
const position = computed(() => {
|
|
136
|
+
if (!hasPosition.value)
|
|
137
|
+
return null;
|
|
138
|
+
return { x: x.value, y: y.value };
|
|
139
|
+
});
|
|
140
|
+
const toolbarStyle = computed(() => {
|
|
141
|
+
if (!hasPosition.value)
|
|
142
|
+
return undefined;
|
|
143
|
+
return {
|
|
144
|
+
left: `${x.value}px`,
|
|
145
|
+
top: `${y.value}px`,
|
|
146
|
+
right: "auto",
|
|
147
|
+
bottom: "auto",
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
// --- Window blur handler (abort drag cleanly) ----------------------------
|
|
151
|
+
function onWindowBlur() {
|
|
152
|
+
if (session && isDragging.value) {
|
|
153
|
+
savePosition({ x: x.value, y: y.value });
|
|
154
|
+
justFinishedDrag.value = true;
|
|
155
|
+
unlockInteraction();
|
|
156
|
+
}
|
|
157
|
+
isDragging.value = false;
|
|
158
|
+
session = null;
|
|
159
|
+
}
|
|
160
|
+
// --- Resize handler (re-constrain saved position) ------------------------
|
|
161
|
+
function onResize() {
|
|
162
|
+
updateMeasurements();
|
|
163
|
+
if (isDragging.value || !hasPosition.value)
|
|
164
|
+
return;
|
|
165
|
+
const constrained = constrain({ x: x.value, y: y.value });
|
|
166
|
+
x.value = constrained.x;
|
|
167
|
+
y.value = constrained.y;
|
|
168
|
+
savePosition(constrained);
|
|
169
|
+
}
|
|
170
|
+
function syncConstraints() {
|
|
171
|
+
updateMeasurements();
|
|
172
|
+
if (!hasPosition.value)
|
|
173
|
+
return;
|
|
174
|
+
const constrained = constrain({ x: x.value, y: y.value });
|
|
175
|
+
x.value = constrained.x;
|
|
176
|
+
y.value = constrained.y;
|
|
177
|
+
savePosition(constrained);
|
|
178
|
+
}
|
|
179
|
+
// --- Public API ----------------------------------------------------------
|
|
180
|
+
function bindToolbarRef(element) {
|
|
181
|
+
if (toolbarEl.value === element)
|
|
182
|
+
return;
|
|
183
|
+
toolbarEl.value = element;
|
|
184
|
+
updateMeasurements();
|
|
185
|
+
}
|
|
186
|
+
/** Noop — retained for API compatibility. Drag is now handled by useDraggable. */
|
|
187
|
+
function onMouseDown(_event) { }
|
|
188
|
+
function consumeJustFinishedDrag() {
|
|
189
|
+
const v = justFinishedDrag.value;
|
|
190
|
+
justFinishedDrag.value = false;
|
|
191
|
+
return v;
|
|
192
|
+
}
|
|
193
|
+
// --- Lifecycle -----------------------------------------------------------
|
|
194
|
+
onMounted(() => {
|
|
195
|
+
// Re-constrain on mount (window size may differ from when position was saved)
|
|
196
|
+
updateMeasurements();
|
|
197
|
+
if (hasPosition.value) {
|
|
198
|
+
const constrained = constrain({ x: x.value, y: y.value });
|
|
199
|
+
x.value = constrained.x;
|
|
200
|
+
y.value = constrained.y;
|
|
201
|
+
}
|
|
202
|
+
window.addEventListener("resize", onResize);
|
|
203
|
+
window.addEventListener("blur", onWindowBlur);
|
|
204
|
+
});
|
|
205
|
+
onUnmounted(() => {
|
|
206
|
+
if (isDragging.value)
|
|
207
|
+
unlockInteraction();
|
|
208
|
+
isDragging.value = false;
|
|
209
|
+
session = null;
|
|
210
|
+
window.removeEventListener("resize", onResize);
|
|
211
|
+
window.removeEventListener("blur", onWindowBlur);
|
|
212
|
+
});
|
|
213
|
+
return {
|
|
214
|
+
position,
|
|
215
|
+
isDragging,
|
|
216
|
+
justFinishedDrag,
|
|
217
|
+
toolbarStyle,
|
|
218
|
+
bindToolbarRef,
|
|
219
|
+
onMouseDown,
|
|
220
|
+
consumeJustFinishedDrag,
|
|
221
|
+
syncConstraints,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
// ---------------------------------------------------------------------------
|
|
225
|
+
// localStorage helpers
|
|
226
|
+
// ---------------------------------------------------------------------------
|
|
227
|
+
function loadPosition() {
|
|
228
|
+
if (typeof window === "undefined")
|
|
229
|
+
return null;
|
|
230
|
+
try {
|
|
231
|
+
const raw = window.localStorage.getItem(STORAGE_KEY);
|
|
232
|
+
if (!raw)
|
|
233
|
+
return null;
|
|
234
|
+
const parsed = JSON.parse(raw);
|
|
235
|
+
if (typeof parsed.x !== "number" || typeof parsed.y !== "number")
|
|
236
|
+
return null;
|
|
237
|
+
return { x: parsed.x, y: parsed.y };
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
function savePosition(pos) {
|
|
244
|
+
if (typeof window === "undefined")
|
|
245
|
+
return;
|
|
246
|
+
try {
|
|
247
|
+
window.localStorage.setItem(STORAGE_KEY, JSON.stringify(pos));
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// silent
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=useToolbarDrag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolbarDrag.js","sourceRoot":"","sources":["../../src/composables/useToolbarDrag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,eAAO,MAAM,EAAE,EAAE,QAoFhB,CAAA"}
|
package/dist/i18n/en.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const en = {
|
|
2
|
+
toolbar: {
|
|
3
|
+
pause: "Pause animations (P)",
|
|
4
|
+
resume: "Resume animations (P)",
|
|
5
|
+
pauseAria: "Pause animations",
|
|
6
|
+
resumeAria: "Resume animations",
|
|
7
|
+
hideMarkers: "Hide markers (H)",
|
|
8
|
+
showMarkers: "Show markers (H)",
|
|
9
|
+
hideMarkersAria: "Hide markers",
|
|
10
|
+
showMarkersAria: "Show markers",
|
|
11
|
+
copyMarkdown: "Copy as Markdown (C)",
|
|
12
|
+
copyMarkdownAria: "Copy as Markdown",
|
|
13
|
+
copyJson: "Copy as JSON",
|
|
14
|
+
copyJsonAria: "Copy as JSON",
|
|
15
|
+
clearAll: "Clear all (X)",
|
|
16
|
+
clearAllAria: "Clear all annotations",
|
|
17
|
+
settings: "Settings",
|
|
18
|
+
toggleSettingsAria: "Toggle settings",
|
|
19
|
+
closeToolbar: "Close toolbar (Esc)",
|
|
20
|
+
closeToolbarAria: "Close toolbar",
|
|
21
|
+
},
|
|
22
|
+
popover: {
|
|
23
|
+
editPlaceholder: "Update feedback...",
|
|
24
|
+
createPlaceholder: "What should change?",
|
|
25
|
+
deleteAnnotation: "Delete annotation",
|
|
26
|
+
cancel: "Cancel",
|
|
27
|
+
save: "Save",
|
|
28
|
+
update: "Update",
|
|
29
|
+
},
|
|
30
|
+
marker: {
|
|
31
|
+
annotationAria: (n) => `Annotation ${n}`,
|
|
32
|
+
clickToEdit: "Click to edit",
|
|
33
|
+
},
|
|
34
|
+
settings: {
|
|
35
|
+
lightMode: "Light mode",
|
|
36
|
+
darkMode: "Dark mode",
|
|
37
|
+
switchToLightAria: "Switch to light mode",
|
|
38
|
+
switchToDarkAria: "Switch to dark mode",
|
|
39
|
+
language: "Language",
|
|
40
|
+
outputDetail: "Output detail",
|
|
41
|
+
exportFormat: "Copy format",
|
|
42
|
+
exportFormatMarkdownAria: "Use Markdown copy format",
|
|
43
|
+
exportFormatJsonAria: "Use JSON copy format",
|
|
44
|
+
markerColour: "Marker colour",
|
|
45
|
+
clearOnCopy: "Clear on copy",
|
|
46
|
+
blockPageInteractions: "Block page interactions",
|
|
47
|
+
componentSource: "Component source",
|
|
48
|
+
manageMcpWebhooks: "Manage MCP & Webhooks",
|
|
49
|
+
mcpConnection: "MCP Connection",
|
|
50
|
+
mcpDescription: "Connect to an MCP server to let AI agents consume and respond to your annotations in real time.",
|
|
51
|
+
mcpLearnMore: "Learn more",
|
|
52
|
+
mcpStatusConnected: "Connected",
|
|
53
|
+
mcpStatusDisconnected: "Disconnected",
|
|
54
|
+
webhooks: "Webhooks",
|
|
55
|
+
webhooksDescription: "Automatically send annotations to an external endpoint when created or updated.",
|
|
56
|
+
webhooksAutoSend: "Auto-send annotations",
|
|
57
|
+
webhooksUrlPlaceholder: "https://example.com/webhook",
|
|
58
|
+
outputDetailHelp: "Controls how much metadata is included when exporting annotations.",
|
|
59
|
+
componentSourceHelp: "Show the Vue component file path and line number for each selected element.",
|
|
60
|
+
blockInteractionsHelp: "Prevent clicks from triggering page navigation or actions while annotating.",
|
|
61
|
+
},
|
|
62
|
+
colors: {
|
|
63
|
+
purple: "Purple",
|
|
64
|
+
blue: "Blue",
|
|
65
|
+
cyan: "Cyan",
|
|
66
|
+
green: "Green",
|
|
67
|
+
yellow: "Yellow",
|
|
68
|
+
orange: "Orange",
|
|
69
|
+
red: "Red",
|
|
70
|
+
},
|
|
71
|
+
outputDetail: {
|
|
72
|
+
compact: "Compact",
|
|
73
|
+
standard: "Standard",
|
|
74
|
+
detailed: "Detailed",
|
|
75
|
+
forensic: "Forensic",
|
|
76
|
+
},
|
|
77
|
+
selection: {
|
|
78
|
+
areaLabel: (count, names, remaining) => `${count} ${count === 1 ? "element" : "elements"}: ${names}${remaining > 0 ? ` +${remaining} more` : ""}`,
|
|
79
|
+
},
|
|
80
|
+
notifications: {
|
|
81
|
+
sourceUnavailableElement: "This element could not be mapped to Vue source. Try selecting a nearby component element.",
|
|
82
|
+
sourceUnavailableArea: "This selection could not be mapped to Vue source. Try a smaller component area.",
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAa;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,uBAAuB;QAC/B,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,kBAAkB;QAC/B,eAAe,EAAE,cAAc;QAC/B,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,sBAAsB;QACpC,gBAAgB,EAAE,kBAAkB;QACpC,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,eAAe;QACzB,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;QACpB,kBAAkB,EAAE,iBAAiB;QACrC,YAAY,EAAE,qBAAqB;QACnC,gBAAgB,EAAE,eAAe;KAClC;IACD,OAAO,EAAE;QACP,eAAe,EAAE,oBAAoB;QACrC,iBAAiB,EAAE,qBAAqB;QACxC,gBAAgB,EAAE,mBAAmB;QACrC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;KACjB;IACD,MAAM,EAAE;QACN,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE;QACxC,WAAW,EAAE,eAAe;KAC7B;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,WAAW;QACrB,iBAAiB,EAAE,sBAAsB;QACzC,gBAAgB,EAAE,qBAAqB;QACvC,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,aAAa;QAC3B,wBAAwB,EAAE,0BAA0B;QACpD,oBAAoB,EAAE,sBAAsB;QAC5C,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,eAAe;QAC5B,qBAAqB,EAAE,yBAAyB;QAChD,eAAe,EAAE,kBAAkB;QACnC,iBAAiB,EAAE,uBAAuB;QAC1C,aAAa,EAAE,gBAAgB;QAC/B,cAAc,EAAE,iGAAiG;QACjH,YAAY,EAAE,YAAY;QAC1B,kBAAkB,EAAE,WAAW;QAC/B,qBAAqB,EAAE,cAAc;QACrC,QAAQ,EAAE,UAAU;QACpB,mBAAmB,EAAE,iFAAiF;QACtG,gBAAgB,EAAE,uBAAuB;QACzC,sBAAsB,EAAE,6BAA6B;QACrD,gBAAgB,EAAE,oEAAoE;QACtF,mBAAmB,EAAE,6EAA6E;QAClG,qBAAqB,EAAE,6EAA6E;KACrG;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,KAAK;KACX;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;KACrB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CACrC,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;KAC5G;IACD,aAAa,EAAE;QACb,wBAAwB,EAAE,2FAA2F;QACrH,qBAAqB,EAAE,iFAAiF;KACzG;CACF,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Locale, Messages } from "./types.js";
|
|
2
|
+
export type { Locale, Messages, ColorKey } from "./types.js";
|
|
3
|
+
export declare const SUPPORTED_LOCALES: readonly ["en", "zh-CN"];
|
|
4
|
+
export declare const DEFAULT_LOCALE: Locale;
|
|
5
|
+
/** Self-identifying labels so the user can always find their language. */
|
|
6
|
+
export declare const LOCALE_LABELS: Record<Locale, string>;
|
|
7
|
+
/** Type guard: returns `true` when `value` is a supported locale string. */
|
|
8
|
+
export declare function isValidLocale(value: unknown): value is Locale;
|
|
9
|
+
/** Resolve message catalog for a locale; falls back to English silently. */
|
|
10
|
+
export declare function resolveMessages(locale?: string): Messages;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAElD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE5D,eAAO,MAAM,iBAAiB,0BAAuD,CAAA;AACrF,eAAO,MAAM,cAAc,EAAE,MAAa,CAAA;AAE1C,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAA;AASD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEzD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { en } from "./en.js";
|
|
2
|
+
import { zhCN } from "./zh-CN.js";
|
|
3
|
+
export const SUPPORTED_LOCALES = ["en", "zh-CN"];
|
|
4
|
+
export const DEFAULT_LOCALE = "en";
|
|
5
|
+
/** Self-identifying labels so the user can always find their language. */
|
|
6
|
+
export const LOCALE_LABELS = {
|
|
7
|
+
"en": "EN",
|
|
8
|
+
"zh-CN": "中文",
|
|
9
|
+
};
|
|
10
|
+
const MESSAGE_CATALOGS = {
|
|
11
|
+
en,
|
|
12
|
+
"zh-CN": zhCN,
|
|
13
|
+
};
|
|
14
|
+
const localeSet = new Set(SUPPORTED_LOCALES);
|
|
15
|
+
/** Type guard: returns `true` when `value` is a supported locale string. */
|
|
16
|
+
export function isValidLocale(value) {
|
|
17
|
+
return typeof value === "string" && localeSet.has(value);
|
|
18
|
+
}
|
|
19
|
+
/** Resolve message catalog for a locale; falls back to English silently. */
|
|
20
|
+
export function resolveMessages(locale) {
|
|
21
|
+
return MESSAGE_CATALOGS[isValidLocale(locale) ? locale : DEFAULT_LOCALE];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAKjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,OAAO,CAAsC,CAAA;AACrF,MAAM,CAAC,MAAM,cAAc,GAAW,IAAI,CAAA;AAE1C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;CACd,CAAA;AAED,MAAM,gBAAgB,GAA6B;IACjD,EAAE;IACF,OAAO,EAAE,IAAI;CACd,CAAA;AAED,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAEjE,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,MAAe;IAC7C,OAAO,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;AAC1E,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { OutputDetailLevel } from "@liuovo/agentation-vue-core";
|
|
2
|
+
/** Supported UI locales. */
|
|
3
|
+
export type Locale = "en" | "zh-CN";
|
|
4
|
+
/**
|
|
5
|
+
* Typed message catalog.
|
|
6
|
+
* English catalog is the canonical schema; other locales must satisfy the same shape.
|
|
7
|
+
* Static strings are plain `string`, dynamic strings are functions.
|
|
8
|
+
*/
|
|
9
|
+
export interface Messages {
|
|
10
|
+
toolbar: {
|
|
11
|
+
pause: string;
|
|
12
|
+
resume: string;
|
|
13
|
+
pauseAria: string;
|
|
14
|
+
resumeAria: string;
|
|
15
|
+
hideMarkers: string;
|
|
16
|
+
showMarkers: string;
|
|
17
|
+
hideMarkersAria: string;
|
|
18
|
+
showMarkersAria: string;
|
|
19
|
+
copyMarkdown: string;
|
|
20
|
+
copyMarkdownAria: string;
|
|
21
|
+
copyJson: string;
|
|
22
|
+
copyJsonAria: string;
|
|
23
|
+
clearAll: string;
|
|
24
|
+
clearAllAria: string;
|
|
25
|
+
settings: string;
|
|
26
|
+
toggleSettingsAria: string;
|
|
27
|
+
closeToolbar: string;
|
|
28
|
+
closeToolbarAria: string;
|
|
29
|
+
};
|
|
30
|
+
popover: {
|
|
31
|
+
editPlaceholder: string;
|
|
32
|
+
createPlaceholder: string;
|
|
33
|
+
deleteAnnotation: string;
|
|
34
|
+
cancel: string;
|
|
35
|
+
save: string;
|
|
36
|
+
update: string;
|
|
37
|
+
};
|
|
38
|
+
marker: {
|
|
39
|
+
annotationAria: (n: number) => string;
|
|
40
|
+
clickToEdit: string;
|
|
41
|
+
};
|
|
42
|
+
settings: {
|
|
43
|
+
lightMode: string;
|
|
44
|
+
darkMode: string;
|
|
45
|
+
switchToLightAria: string;
|
|
46
|
+
switchToDarkAria: string;
|
|
47
|
+
language: string;
|
|
48
|
+
outputDetail: string;
|
|
49
|
+
exportFormat: string;
|
|
50
|
+
exportFormatMarkdownAria: string;
|
|
51
|
+
exportFormatJsonAria: string;
|
|
52
|
+
markerColour: string;
|
|
53
|
+
clearOnCopy: string;
|
|
54
|
+
blockPageInteractions: string;
|
|
55
|
+
componentSource: string;
|
|
56
|
+
manageMcpWebhooks: string;
|
|
57
|
+
mcpConnection: string;
|
|
58
|
+
mcpDescription: string;
|
|
59
|
+
mcpLearnMore: string;
|
|
60
|
+
mcpStatusConnected: string;
|
|
61
|
+
mcpStatusDisconnected: string;
|
|
62
|
+
webhooks: string;
|
|
63
|
+
webhooksDescription: string;
|
|
64
|
+
webhooksAutoSend: string;
|
|
65
|
+
webhooksUrlPlaceholder: string;
|
|
66
|
+
outputDetailHelp: string;
|
|
67
|
+
componentSourceHelp: string;
|
|
68
|
+
blockInteractionsHelp: string;
|
|
69
|
+
};
|
|
70
|
+
colors: {
|
|
71
|
+
purple: string;
|
|
72
|
+
blue: string;
|
|
73
|
+
cyan: string;
|
|
74
|
+
green: string;
|
|
75
|
+
yellow: string;
|
|
76
|
+
orange: string;
|
|
77
|
+
red: string;
|
|
78
|
+
};
|
|
79
|
+
outputDetail: Record<OutputDetailLevel, string>;
|
|
80
|
+
selection: {
|
|
81
|
+
areaLabel: (count: number, names: string, remaining: number) => string;
|
|
82
|
+
};
|
|
83
|
+
notifications: {
|
|
84
|
+
sourceUnavailableElement: string;
|
|
85
|
+
sourceUnavailableArea: string;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/** Color key matching entries in `Messages["colors"]`. */
|
|
89
|
+
export type ColorKey = keyof Messages["colors"];
|
|
90
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../src/i18n/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,eAAO,MAAM,IAAI,EAAE,QAoFlB,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const zhCN = {
|
|
2
|
+
toolbar: {
|
|
3
|
+
pause: "暂停动画 (P)",
|
|
4
|
+
resume: "恢复动画 (P)",
|
|
5
|
+
pauseAria: "暂停动画",
|
|
6
|
+
resumeAria: "恢复动画",
|
|
7
|
+
hideMarkers: "隐藏标记 (H)",
|
|
8
|
+
showMarkers: "显示标记 (H)",
|
|
9
|
+
hideMarkersAria: "隐藏标记",
|
|
10
|
+
showMarkersAria: "显示标记",
|
|
11
|
+
copyMarkdown: "复制为 Markdown (C)",
|
|
12
|
+
copyMarkdownAria: "复制为 Markdown",
|
|
13
|
+
copyJson: "复制为 JSON",
|
|
14
|
+
copyJsonAria: "复制为 JSON",
|
|
15
|
+
clearAll: "清除全部 (X)",
|
|
16
|
+
clearAllAria: "清除所有批注",
|
|
17
|
+
settings: "设置",
|
|
18
|
+
toggleSettingsAria: "切换设置面板",
|
|
19
|
+
closeToolbar: "关闭工具栏 (Esc)",
|
|
20
|
+
closeToolbarAria: "关闭工具栏",
|
|
21
|
+
},
|
|
22
|
+
popover: {
|
|
23
|
+
editPlaceholder: "更新反馈...",
|
|
24
|
+
createPlaceholder: "需要修改什么?",
|
|
25
|
+
deleteAnnotation: "删除批注",
|
|
26
|
+
cancel: "取消",
|
|
27
|
+
save: "保存",
|
|
28
|
+
update: "更新",
|
|
29
|
+
},
|
|
30
|
+
marker: {
|
|
31
|
+
annotationAria: (n) => `批注 ${n}`,
|
|
32
|
+
clickToEdit: "点击编辑",
|
|
33
|
+
},
|
|
34
|
+
settings: {
|
|
35
|
+
lightMode: "浅色模式",
|
|
36
|
+
darkMode: "深色模式",
|
|
37
|
+
switchToLightAria: "切换到浅色模式",
|
|
38
|
+
switchToDarkAria: "切换到深色模式",
|
|
39
|
+
language: "语言",
|
|
40
|
+
outputDetail: "输出详情",
|
|
41
|
+
exportFormat: "复制格式",
|
|
42
|
+
exportFormatMarkdownAria: "使用 Markdown 复制格式",
|
|
43
|
+
exportFormatJsonAria: "使用 JSON 复制格式",
|
|
44
|
+
markerColour: "标记颜色",
|
|
45
|
+
clearOnCopy: "复制后清除",
|
|
46
|
+
blockPageInteractions: "阻止页面交互",
|
|
47
|
+
componentSource: "组件源码",
|
|
48
|
+
manageMcpWebhooks: "管理 MCP 与 Webhooks",
|
|
49
|
+
mcpConnection: "MCP 连接",
|
|
50
|
+
mcpDescription: "连接 MCP 服务器,让 AI 代理实时获取并响应你的批注。",
|
|
51
|
+
mcpLearnMore: "了解更多",
|
|
52
|
+
mcpStatusConnected: "已连接",
|
|
53
|
+
mcpStatusDisconnected: "未连接",
|
|
54
|
+
webhooks: "Webhooks",
|
|
55
|
+
webhooksDescription: "创建或更新批注时自动发送到外部端点。",
|
|
56
|
+
webhooksAutoSend: "自动发送批注",
|
|
57
|
+
webhooksUrlPlaceholder: "https://example.com/webhook",
|
|
58
|
+
outputDetailHelp: "控制导出批注时包含多少元数据。",
|
|
59
|
+
componentSourceHelp: "显示所选元素对应的 Vue 组件文件路径和行号。",
|
|
60
|
+
blockInteractionsHelp: "批注期间阻止点击触发页面导航或操作。",
|
|
61
|
+
},
|
|
62
|
+
colors: {
|
|
63
|
+
purple: "紫色",
|
|
64
|
+
blue: "蓝色",
|
|
65
|
+
cyan: "青色",
|
|
66
|
+
green: "绿色",
|
|
67
|
+
yellow: "黄色",
|
|
68
|
+
orange: "橙色",
|
|
69
|
+
red: "红色",
|
|
70
|
+
},
|
|
71
|
+
outputDetail: {
|
|
72
|
+
compact: "精简",
|
|
73
|
+
standard: "标准",
|
|
74
|
+
detailed: "详细",
|
|
75
|
+
forensic: "取证级",
|
|
76
|
+
},
|
|
77
|
+
selection: {
|
|
78
|
+
areaLabel: (count, names, remaining) => `${count} 个元素:${names}${remaining > 0 ? ` 等另外 ${remaining} 项` : ""}`,
|
|
79
|
+
},
|
|
80
|
+
notifications: {
|
|
81
|
+
sourceUnavailableElement: "无法将此元素映射到 Vue 源码。请尝试选择附近的组件元素。",
|
|
82
|
+
sourceUnavailableArea: "无法将此选区映射到 Vue 源码。请尝试缩小选区范围。",
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=zh-CN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../src/i18n/zh-CN.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAa;IAC5B,OAAO,EAAE;QACP,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,UAAU;QACvB,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE,kBAAkB;QAChC,gBAAgB,EAAE,cAAc;QAChC,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,UAAU;QACxB,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,QAAQ;QACtB,QAAQ,EAAE,IAAI;QACd,kBAAkB,EAAE,QAAQ;QAC5B,YAAY,EAAE,aAAa;QAC3B,gBAAgB,EAAE,OAAO;KAC1B;IACD,OAAO,EAAE;QACP,eAAe,EAAE,SAAS;QAC1B,iBAAiB,EAAE,SAAS;QAC5B,gBAAgB,EAAE,MAAM;QACxB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;KACb;IACD,MAAM,EAAE;QACN,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;QAChC,WAAW,EAAE,MAAM;KACpB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,MAAM;QAChB,iBAAiB,EAAE,SAAS;QAC5B,gBAAgB,EAAE,SAAS;QAC3B,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,MAAM;QACpB,wBAAwB,EAAE,kBAAkB;QAC5C,oBAAoB,EAAE,cAAc;QACpC,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,OAAO;QACpB,qBAAqB,EAAE,QAAQ;QAC/B,eAAe,EAAE,MAAM;QACvB,iBAAiB,EAAE,mBAAmB;QACtC,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,gCAAgC;QAChD,YAAY,EAAE,MAAM;QACpB,kBAAkB,EAAE,KAAK;QACzB,qBAAqB,EAAE,KAAK;QAC5B,QAAQ,EAAE,UAAU;QACpB,mBAAmB,EAAE,oBAAoB;QACzC,gBAAgB,EAAE,QAAQ;QAC1B,sBAAsB,EAAE,6BAA6B;QACrD,gBAAgB,EAAE,iBAAiB;QACnC,mBAAmB,EAAE,0BAA0B;QAC/C,qBAAqB,EAAE,oBAAoB;KAC5C;IACD,MAAM,EAAE;QACN,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,IAAI;KACV;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CACrC,GAAG,KAAK,QAAQ,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;KACvE;IACD,aAAa,EAAE;QACb,wBAAwB,EAAE,gCAAgC;QAC1D,qBAAqB,EAAE,6BAA6B;KACrD;CACF,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type { RuntimeBridge, RuntimeStorageBridge, RuntimeSyncBridge, UiNotification, BoundingBox, AreaSelectionRect, AreaSelectionMatch, HoverSnapshot, SelectionSnapshot, } from "./types.js";
|
|
2
|
+
export { AREA_SELECTION_KEY, ANNOTATIONS_STORE_KEY, I18N_KEY, OVERLAY_KEY, RUNTIME_BRIDGE_KEY, SELECTION_KEY, SETTINGS_KEY, } from "./injection-keys.js";
|
|
3
|
+
export type { Locale, Messages, ColorKey } from "./i18n/types.js";
|
|
4
|
+
export { DEFAULT_LOCALE, SUPPORTED_LOCALES, LOCALE_LABELS, isValidLocale, resolveMessages, } from "./i18n/index.js";
|
|
5
|
+
export type { I18nState } from "./composables/useI18n.js";
|
|
6
|
+
export { createI18nState } from "./composables/useI18n.js";
|
|
7
|
+
export type { AnnotationsStore } from "./composables/useAnnotationsStore.js";
|
|
8
|
+
export { createAnnotationsStore } from "./composables/useAnnotationsStore.js";
|
|
9
|
+
export type { SelectionState } from "./composables/useSelection.js";
|
|
10
|
+
export { createSelectionState } from "./composables/useSelection.js";
|
|
11
|
+
export type { AreaSelectionState } from "./composables/useAreaSelection.js";
|
|
12
|
+
export { createAreaSelectionState } from "./composables/useAreaSelection.js";
|
|
13
|
+
export type { OverlayState, OverlayPosition } from "./composables/useOverlay.js";
|
|
14
|
+
export { createOverlayState } from "./composables/useOverlay.js";
|
|
15
|
+
export type { SettingsState } from "./composables/useSettings.js";
|
|
16
|
+
export { createSettingsState } from "./composables/useSettings.js";
|
|
17
|
+
export type { ExportActions, ExportFormat } from "./composables/useExport.js";
|
|
18
|
+
export { createExportActions } from "./composables/useExport.js";
|
|
19
|
+
export { useKeyboardShortcuts } from "./composables/useKeyboard.js";
|
|
20
|
+
export { default as OverlayRoot } from "./components/OverlayRoot.vue";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAA;AAG5B,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA"}
|