@ahggg/dsh-side-chat 0.3.0 → 0.4.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/README.md +8 -6
- package/README.zh-CN.md +8 -6
- package/lib/client/apply.d.ts.map +1 -1
- package/lib/client/apply.js +7 -1
- package/lib/client/apply.js.map +1 -1
- package/lib/client/panel/SelectionQuote.d.ts +6 -4
- package/lib/client/panel/SelectionQuote.d.ts.map +1 -1
- package/lib/client/panel/SelectionQuote.js +32 -9
- package/lib/client/panel/SelectionQuote.js.map +1 -1
- package/lib/client/panel/SideChatPanel.d.ts +1 -2
- package/lib/client/panel/SideChatPanel.d.ts.map +1 -1
- package/lib/client/panel/SideChatPanel.js +2 -2
- package/lib/client/panel/SideChatPanel.js.map +1 -1
- package/lib/client/panel/messages.d.ts +2 -2
- package/lib/client/panel/messages.d.ts.map +1 -1
- package/lib/client/panel/messages.js +4 -4
- package/lib/client/panel/messages.js.map +1 -1
- package/lib/client/parent-composer/ParentConversationAnnotations.d.ts +27 -0
- package/lib/client/parent-composer/ParentConversationAnnotations.d.ts.map +1 -0
- package/lib/client/parent-composer/ParentConversationAnnotations.js +97 -0
- package/lib/client/parent-composer/ParentConversationAnnotations.js.map +1 -0
- package/lib/client/parent-composer/add-to-conversation.d.ts +64 -0
- package/lib/client/parent-composer/add-to-conversation.d.ts.map +1 -1
- package/lib/client/parent-composer/add-to-conversation.js +182 -0
- package/lib/client/parent-composer/add-to-conversation.js.map +1 -1
- package/lib/client/rc6/ArchivedConversation.d.ts +1 -2
- package/lib/client/rc6/ArchivedConversation.d.ts.map +1 -1
- package/lib/client/rc6/ArchivedConversation.js +2 -2
- package/lib/client/rc6/ArchivedConversation.js.map +1 -1
- package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +1 -1
- package/lib/client/rc6/Rc6SideChatOverlay.js +48 -10
- package/lib/client/rc6/Rc6SideChatOverlay.js.map +1 -1
- package/lib/client/rc6/context.d.ts +6 -1
- package/lib/client/rc6/context.d.ts.map +1 -1
- package/lib/client/rc6/sessions-adapter.d.ts +6 -0
- package/lib/client/rc6/sessions-adapter.d.ts.map +1 -1
- package/lib/client/rc6/sessions-adapter.js +30 -0
- package/lib/client/rc6/sessions-adapter.js.map +1 -1
- package/lib/client/selection/SelectionActions.d.ts +4 -1
- package/lib/client/selection/SelectionActions.d.ts.map +1 -1
- package/lib/client/selection/SelectionActions.js +62 -3
- package/lib/client/selection/SelectionActions.js.map +1 -1
- package/lib/client.js +619 -179
- package/lib/client.js.map +1 -1
- package/package.json +2 -1
|
@@ -2,9 +2,12 @@ import type { ConversationSelection } from '../../shared/contracts.js';
|
|
|
2
2
|
export interface SelectionActionsProps {
|
|
3
3
|
readonly selection: ConversationSelection;
|
|
4
4
|
readonly askDisabledReason?: string;
|
|
5
|
+
readonly annotationNumber?: number;
|
|
6
|
+
readonly onAddToChat: (selection: ConversationSelection, comment?: string) => void;
|
|
5
7
|
readonly onMoreDetails: (selection: ConversationSelection) => void;
|
|
6
8
|
readonly onAskInSideChat: (selection: ConversationSelection) => void;
|
|
9
|
+
readonly onAnnotationEditorChange?: (open: boolean) => void;
|
|
7
10
|
readonly onDismiss: () => void;
|
|
8
11
|
}
|
|
9
|
-
export declare function SelectionActions({ selection, askDisabledReason, onMoreDetails, onAskInSideChat, onDismiss, }: SelectionActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function SelectionActions({ selection, askDisabledReason, annotationNumber, onAddToChat, onMoreDetails, onAskInSideChat, onAnnotationEditorChange, onDismiss, }: SelectionActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
10
13
|
//# sourceMappingURL=SelectionActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionActions.d.ts","sourceRoot":"","sources":["../../../src/client/selection/SelectionActions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectionActions.d.ts","sourceRoot":"","sources":["../../../src/client/selection/SelectionActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClF,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAClE,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAC/B;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,iBAAiB,EACjB,gBAAoB,EACpB,WAAW,EACX,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,SAAS,GACV,EAAE,qBAAqB,2CAoJvB"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
function clamp(value, minimum, maximum) {
|
|
4
|
+
return Math.min(Math.max(minimum, value), Math.max(minimum, maximum));
|
|
5
|
+
}
|
|
6
|
+
export function SelectionActions({ selection, askDisabledReason, annotationNumber = 1, onAddToChat, onMoreDetails, onAskInSideChat, onAnnotationEditorChange, onDismiss, }) {
|
|
7
|
+
const [editingAnnotation, setEditingAnnotation] = useState(false);
|
|
8
|
+
const [comment, setComment] = useState('');
|
|
9
|
+
const commentRef = useRef(null);
|
|
3
10
|
const center = selection.rect.x + selection.rect.width / 2;
|
|
4
11
|
const style = {
|
|
5
12
|
left: Math.min(Math.max(8, center), selection.rect.viewportWidth - 8),
|
|
@@ -8,11 +15,63 @@ export function SelectionActions({ selection, askDisabledReason, onMoreDetails,
|
|
|
8
15
|
: selection.rect.y - 8,
|
|
9
16
|
transform: selection.rect.y < 56 ? 'translate(0, 0)' : 'translate(0, -100%)',
|
|
10
17
|
};
|
|
18
|
+
const editorWidth = Math.min(420, selection.rect.viewportWidth - 16);
|
|
19
|
+
const editorAbove = selection.rect.y - 118;
|
|
20
|
+
const editorStyle = {
|
|
21
|
+
left: clamp(selection.rect.x + selection.rect.width + 28, 8, selection.rect.viewportWidth - editorWidth - 8),
|
|
22
|
+
top: editorAbove >= 8
|
|
23
|
+
? editorAbove
|
|
24
|
+
: clamp(selection.rect.y + selection.rect.height + 12, 8, selection.rect.viewportHeight - 126),
|
|
25
|
+
width: editorWidth,
|
|
26
|
+
};
|
|
27
|
+
const markerStyle = {
|
|
28
|
+
left: clamp(selection.rect.x + selection.rect.width - 10, 8, selection.rect.viewportWidth - 36),
|
|
29
|
+
top: selection.rect.y >= 38
|
|
30
|
+
? selection.rect.y - 34
|
|
31
|
+
: selection.rect.y + selection.rect.height + 6,
|
|
32
|
+
};
|
|
11
33
|
const keepSelection = (event) => { event.preventDefault(); };
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (editingAnnotation)
|
|
36
|
+
commentRef.current?.focus();
|
|
37
|
+
}, [editingAnnotation]);
|
|
38
|
+
const closeEditor = () => {
|
|
39
|
+
setEditingAnnotation(false);
|
|
40
|
+
setComment('');
|
|
41
|
+
onAnnotationEditorChange?.(false);
|
|
42
|
+
};
|
|
43
|
+
const saveAnnotation = () => {
|
|
44
|
+
const trimmed = comment.trim();
|
|
45
|
+
onAddToChat(selection, trimmed.length === 0 ? undefined : trimmed);
|
|
46
|
+
onAnnotationEditorChange?.(false);
|
|
47
|
+
onDismiss();
|
|
48
|
+
};
|
|
49
|
+
const submitAnnotation = (event) => {
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
saveAnnotation();
|
|
52
|
+
};
|
|
53
|
+
const annotationKeyDown = (event) => {
|
|
54
|
+
if (event.key === 'Escape') {
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
event.stopPropagation();
|
|
57
|
+
closeEditor();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (event.key === 'Enter' && !event.shiftKey) {
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
saveAnnotation();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
if (editingAnnotation) {
|
|
66
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { className: "dsh-side-chat-selection-marker", "aria-hidden": "true", style: markerStyle, children: String(annotationNumber) }), _jsxs("form", { className: "dsh-side-chat-selection-comment", role: "dialog", "aria-label": "Add annotation comment", style: editorStyle, onSubmit: submitAnnotation, onMouseDown: (event) => { event.stopPropagation(); }, onKeyUp: (event) => { event.stopPropagation(); }, children: [_jsx("textarea", { ref: commentRef, value: comment, rows: 2, "aria-label": "Optional annotation comment", placeholder: "Add an optional comment\u2026", onChange: (event) => { setComment(event.currentTarget.value); }, onKeyDown: annotationKeyDown }), _jsxs("div", { className: "dsh-side-chat-selection-comment-actions", children: [_jsx("button", { type: "button", onClick: closeEditor, children: "Cancel" }), _jsx("button", { type: "submit", className: "dsh-side-chat-selection-comment-save", children: "Save" })] })] })] }));
|
|
67
|
+
}
|
|
12
68
|
return (_jsxs("div", { className: "dsh-side-chat-selection-actions", role: "toolbar", "aria-label": "Selected conversation text actions", style: style, onMouseDown: keepSelection, onKeyDown: (event) => {
|
|
13
69
|
if (event.key === 'Escape')
|
|
14
70
|
onDismiss();
|
|
15
|
-
}, children: [_jsx("button", { type: "button",
|
|
71
|
+
}, children: [_jsx("button", { type: "button", onClick: () => {
|
|
72
|
+
setEditingAnnotation(true);
|
|
73
|
+
onAnnotationEditorChange?.(true);
|
|
74
|
+
}, children: "Add to chat" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onClick: () => {
|
|
16
75
|
onMoreDetails(selection);
|
|
17
76
|
onDismiss();
|
|
18
77
|
}, children: "More details" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionActions.js","sourceRoot":"","sources":["../../../src/client/selection/SelectionActions.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SelectionActions.js","sourceRoot":"","sources":["../../../src/client/selection/SelectionActions.tsx"],"names":[],"mappings":"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"}
|