@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.
Files changed (45) hide show
  1. package/README.md +8 -6
  2. package/README.zh-CN.md +8 -6
  3. package/lib/client/apply.d.ts.map +1 -1
  4. package/lib/client/apply.js +7 -1
  5. package/lib/client/apply.js.map +1 -1
  6. package/lib/client/panel/SelectionQuote.d.ts +6 -4
  7. package/lib/client/panel/SelectionQuote.d.ts.map +1 -1
  8. package/lib/client/panel/SelectionQuote.js +32 -9
  9. package/lib/client/panel/SelectionQuote.js.map +1 -1
  10. package/lib/client/panel/SideChatPanel.d.ts +1 -2
  11. package/lib/client/panel/SideChatPanel.d.ts.map +1 -1
  12. package/lib/client/panel/SideChatPanel.js +2 -2
  13. package/lib/client/panel/SideChatPanel.js.map +1 -1
  14. package/lib/client/panel/messages.d.ts +2 -2
  15. package/lib/client/panel/messages.d.ts.map +1 -1
  16. package/lib/client/panel/messages.js +4 -4
  17. package/lib/client/panel/messages.js.map +1 -1
  18. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts +27 -0
  19. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts.map +1 -0
  20. package/lib/client/parent-composer/ParentConversationAnnotations.js +97 -0
  21. package/lib/client/parent-composer/ParentConversationAnnotations.js.map +1 -0
  22. package/lib/client/parent-composer/add-to-conversation.d.ts +64 -0
  23. package/lib/client/parent-composer/add-to-conversation.d.ts.map +1 -1
  24. package/lib/client/parent-composer/add-to-conversation.js +182 -0
  25. package/lib/client/parent-composer/add-to-conversation.js.map +1 -1
  26. package/lib/client/rc6/ArchivedConversation.d.ts +1 -2
  27. package/lib/client/rc6/ArchivedConversation.d.ts.map +1 -1
  28. package/lib/client/rc6/ArchivedConversation.js +2 -2
  29. package/lib/client/rc6/ArchivedConversation.js.map +1 -1
  30. package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +1 -1
  31. package/lib/client/rc6/Rc6SideChatOverlay.js +48 -10
  32. package/lib/client/rc6/Rc6SideChatOverlay.js.map +1 -1
  33. package/lib/client/rc6/context.d.ts +6 -1
  34. package/lib/client/rc6/context.d.ts.map +1 -1
  35. package/lib/client/rc6/sessions-adapter.d.ts +6 -0
  36. package/lib/client/rc6/sessions-adapter.d.ts.map +1 -1
  37. package/lib/client/rc6/sessions-adapter.js +30 -0
  38. package/lib/client/rc6/sessions-adapter.js.map +1 -1
  39. package/lib/client/selection/SelectionActions.d.ts +4 -1
  40. package/lib/client/selection/SelectionActions.d.ts.map +1 -1
  41. package/lib/client/selection/SelectionActions.js +62 -3
  42. package/lib/client/selection/SelectionActions.js.map +1 -1
  43. package/lib/client.js +619 -179
  44. package/lib/client.js.map +1 -1
  45. 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":"AACA,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,aAAa,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAClE,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,SAAS,GACV,EAAE,qBAAqB,2CA6CvB"}
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
- export function SelectionActions({ selection, askDisabledReason, onMoreDetails, onAskInSideChat, onDismiss, }) {
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", disabled: askDisabledReason !== undefined, title: askDisabledReason, onClick: () => {
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":";AAWA,MAAM,UAAU,gBAAgB,CAAC,EAC/B,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,SAAS,GACa;IACtB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAkB;QAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACrE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;YACxB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACxB,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB;KAC7E,CAAA;IACD,MAAM,aAAa,GAAG,CAAC,KAAiC,EAAQ,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA,CAAC,CAAC,CAAA;IAC7F,OAAO,CACL,eACE,SAAS,EAAC,iCAAiC,EAC3C,IAAI,EAAC,SAAS,gBACH,oCAAoC,EAC/C,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,aAAa,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;gBAAE,SAAS,EAAE,CAAA;QACzC,CAAC,aAED,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,iBAAiB,KAAK,SAAS,EACzC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAa,CAAC,SAAS,CAAC,CAAA;oBACxB,SAAS,EAAE,CAAA;gBACb,CAAC,6BAGM,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,iBAAiB,KAAK,SAAS,EACzC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,GAAG,EAAE;oBACZ,eAAe,CAAC,SAAS,CAAC,CAAA;oBAC1B,SAAS,EAAE,CAAA;gBACb,CAAC,iCAGM,IACL,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"SelectionActions.js","sourceRoot":"","sources":["../../../src/client/selection/SelectionActions.tsx"],"names":[],"mappings":"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"}