@ahggg/dsh-side-chat 0.6.0 → 0.6.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
@@ -2,7 +2,7 @@
2
2
 
3
3
  Ask a focused follow-up about selected text without leaving your current DeepSeek Harness conversation.
4
4
 
5
- > Compatibility: this release targets `@deepseek-ai/dsh@0.1.0-rc.6` exactly.
5
+ > Compatibility: this release targets `@deepseek-ai/dsh@0.1.0-rc.7` exactly.
6
6
 
7
7
  [简体中文](README.zh-CN.md)
8
8
 
@@ -10,10 +10,10 @@ Ask a focused follow-up about selected text without leaving your current DeepSee
10
10
 
11
11
  ## Install
12
12
 
13
- Install DSH rc.6 if it is not already available. Refresh only this package's registry metadata before adding it, so pnpm cannot reuse an older `latest` value immediately after a release:
13
+ Install DSH rc.7 if it is not already available. Refresh only this package's registry metadata before adding it, so pnpm cannot reuse an older `latest` value immediately after a release:
14
14
 
15
15
  ```powershell
16
- npm install --global @deepseek-ai/dsh@0.1.0-rc.6
16
+ npm install --global @deepseek-ai/dsh@0.1.0-rc.7
17
17
  pnpm cache delete "@ahggg/dsh-side-chat"
18
18
  dsh plugin --profile web add @ahggg/dsh-side-chat@latest
19
19
  ```
@@ -27,8 +27,19 @@ dsh web --port 3080
27
27
 
28
28
  Open the URL printed by DSH. The plugin loads automatically in the Web client.
29
29
 
30
+ ### Local linked development
31
+
32
+ When `dsh plugin --profile web list` shows the plugin coming from a `link:` workspace, DSH loads the Git-ignored `lib/client.js`, not `src/`. Rebuild after switching branches or changing client source, then restart the `dsh web` process:
33
+
34
+ ```powershell
35
+ pnpm install --frozen-lockfile
36
+ pnpm build
37
+ ```
38
+
30
39
  ## Use Side Chat
31
40
 
41
+ On phones and tablets, long-press text in a completed message to select it. The Side Chat action bar appears below the selection when there is room, leaving the browser's native selection bar above it. Use `Add to chat`, `More details`, or `Ask in side chat` directly from the touch action bar.
42
+
32
43
  1. Complete at least one turn in the main conversation.
33
44
  2. Select text inside one completed user or assistant message.
34
45
  3. Click `Add to chat` to add an optional comment before attaching the passage to the main composer, `More details` to send an explanation request immediately, or `Ask in side chat` to write a focused question.
package/README.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  在不离开当前 DeepSeek Harness 主会话的情况下,针对选中的文本发起一个独立的侧边对话。
4
4
 
5
- > 兼容性:当前版本仅适配 `@deepseek-ai/dsh@0.1.0-rc.6`。
5
+ > 兼容性:当前版本仅适配 `@deepseek-ai/dsh@0.1.0-rc.7`。
6
6
 
7
7
  [English](README.md)
8
8
 
@@ -10,10 +10,10 @@
10
10
 
11
11
  ## 安装
12
12
 
13
- 如果尚未安装 DSH rc.6,先安装它。添加插件前只刷新这个包的 registry metadata,避免刚发布新版本时 pnpm 仍复用旧的 `latest`:
13
+ 如果尚未安装 DSH rc.7,先安装它。添加插件前只刷新这个包的 registry metadata,避免刚发布新版本时 pnpm 仍复用旧的 `latest`:
14
14
 
15
15
  ```powershell
16
- npm install --global @deepseek-ai/dsh@0.1.0-rc.6
16
+ npm install --global @deepseek-ai/dsh@0.1.0-rc.7
17
17
  pnpm cache delete "@ahggg/dsh-side-chat"
18
18
  dsh plugin --profile web add @ahggg/dsh-side-chat@latest
19
19
  ```
@@ -27,8 +27,19 @@ dsh web --port 3080
27
27
 
28
28
  打开 DSH 输出的网址,插件会自动加载到 Web 客户端中。
29
29
 
30
+ ### 本地链接调试
31
+
32
+ 当 `dsh plugin --profile web list` 显示插件来自 `link:` 工作区时,DSH 加载的是被 Git 忽略的 `lib/client.js`,而不是 `src/`。切换分支或修改客户端源码后,需要重新构建并重启 `dsh web` 进程:
33
+
34
+ ```powershell
35
+ pnpm install --frozen-lockfile
36
+ pnpm build
37
+ ```
38
+
30
39
  ## 使用 Side Chat
31
40
 
41
+ 在手机或平板上,可以长按已完成消息中的文字进行选中。有足够空间时,Side Chat 操作条会显示在选区下方,把浏览器系统选文菜单留在上方。你可以直接在触摸操作条中使用 `Add to chat`、`More details` 或 `Ask in side chat`。
42
+
32
43
  1. 在主会话中至少完成一轮对话。
33
44
  2. 在一条已完成的用户或助手消息内选中文字。
34
45
  3. 点击 `Add to chat` 可以先填写一条可选批注,再把引用加入主会话输入框;点击 `More details` 可以立即发送详细解释请求;点击 `Ask in side chat` 可以自己输入聚焦问题。
@@ -1 +1 @@
1
- {"version":3,"file":"Rc6SideChatOverlay.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/Rc6SideChatOverlay.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,OAAO,EAAE,mBAAmB,EAAuB,MAAM,uBAAuB,CAAA;AAoChF,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;CACvC,2CAqQA"}
1
+ {"version":3,"file":"Rc6SideChatOverlay.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/Rc6SideChatOverlay.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,OAAO,EAAE,mBAAmB,EAAuB,MAAM,uBAAuB,CAAA;AA2ChF,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;CACvC,2CA2VA"}
@@ -9,6 +9,8 @@ import { SelectionActions } from '../selection/SelectionActions.js';
9
9
  import { ArchivedConversation } from './ArchivedConversation.js';
10
10
  import { Rc6SideChatSessions, selectionDescriptor } from './sessions-adapter.js';
11
11
  const MORE_DETAILS_PROMPT = 'Please explain the selected passage in more detail.';
12
+ const TOUCH_SELECTION_SETTLE_MS = 300;
13
+ const TOUCH_ACTIVATION_SUPPRESS_MS = 750;
12
14
  function captureEvent(event) {
13
15
  if (event instanceof KeyboardEvent && event.key === 'Escape')
14
16
  return false;
@@ -47,12 +49,15 @@ export function Rc6SideChatOverlay({ controller, sessions, }) {
47
49
  const currentSessionId = useSyncExternalStore(sessions.subscribeList, () => sessions.currentSessionId(), () => sessions.currentSessionId());
48
50
  const composerInput = useSyncExternalStore(sessions.subscribeConversationInput, sessions.currentConversationInputSnapshot, sessions.currentConversationInputSnapshot);
49
51
  const annotations = useMemo(() => composerInput === undefined ? [] : conversationSelectionAnnotations(composerInput), [composerInput]);
50
- const [selection, setSelection] = useState(null);
52
+ const [activeSelection, setActiveSelection] = useState(null);
51
53
  const [editingAnnotation, setEditingAnnotation] = useState(null);
52
54
  const captureGeneration = useRef(0);
55
+ const captureTimer = useRef(undefined);
53
56
  const mouseDownPoint = useRef(null);
54
57
  const annotationEditing = useRef(false);
55
- const capture = useCallback(async () => {
58
+ const touchInteraction = useRef(false);
59
+ const suppressTouchCaptureUntil = useRef(0);
60
+ const capture = useCallback(async (touch) => {
56
61
  const generation = ++captureGeneration.current;
57
62
  const parentSessionId = sessions.currentSessionId();
58
63
  const face = parentSessionId === undefined ? undefined : sessions.face(parentSessionId);
@@ -64,7 +69,7 @@ export function Rc6SideChatOverlay({ controller, sessions, }) {
64
69
  || browserSelection === null
65
70
  || browserSelection.isCollapsed) {
66
71
  if (generation === captureGeneration.current)
67
- setSelection(null);
72
+ setActiveSelection(null);
68
73
  return;
69
74
  }
70
75
  const snapshot = face.getSnapshot();
@@ -80,75 +85,148 @@ export function Rc6SideChatOverlay({ controller, sessions, }) {
80
85
  },
81
86
  },
82
87
  });
83
- if (generation === captureGeneration.current)
84
- setSelection(captured);
88
+ if (generation === captureGeneration.current) {
89
+ setActiveSelection({ value: captured, touch });
90
+ }
85
91
  }
86
92
  catch {
87
93
  if (generation === captureGeneration.current)
88
- setSelection(null);
94
+ setActiveSelection(null);
89
95
  }
90
96
  }, [sessions]);
97
+ const cancelScheduledCapture = useCallback(() => {
98
+ if (captureTimer.current === undefined)
99
+ return;
100
+ window.clearTimeout(captureTimer.current);
101
+ captureTimer.current = undefined;
102
+ }, []);
103
+ const scheduleTouchCapture = useCallback(() => {
104
+ cancelScheduledCapture();
105
+ const generation = ++captureGeneration.current;
106
+ captureTimer.current = window.setTimeout(() => {
107
+ captureTimer.current = undefined;
108
+ if (generation !== captureGeneration.current || annotationEditing.current)
109
+ return;
110
+ void capture(true);
111
+ }, TOUCH_SELECTION_SETTLE_MS);
112
+ }, [cancelScheduledCapture, capture]);
91
113
  useEffect(() => {
114
+ const clearSelection = () => {
115
+ cancelScheduledCapture();
116
+ mouseDownPoint.current = null;
117
+ annotationEditing.current = false;
118
+ ++captureGeneration.current;
119
+ setActiveSelection(null);
120
+ setEditingAnnotation(null);
121
+ };
122
+ const touchCaptureSuppressed = () => Date.now() < suppressTouchCaptureUntil.current;
123
+ const onPointerDown = (event) => {
124
+ if (!captureEvent(event))
125
+ return;
126
+ if (event.pointerType === 'touch' && touchCaptureSuppressed())
127
+ return;
128
+ if (event.pointerType !== 'touch')
129
+ suppressTouchCaptureUntil.current = 0;
130
+ touchInteraction.current = event.pointerType === 'touch';
131
+ if (touchInteraction.current)
132
+ clearSelection();
133
+ };
134
+ const onTouchStart = (event) => {
135
+ if (!captureEvent(event) || touchCaptureSuppressed())
136
+ return;
137
+ touchInteraction.current = true;
138
+ clearSelection();
139
+ };
140
+ const onTouchEnd = (event) => {
141
+ if (!captureEvent(event) || touchCaptureSuppressed())
142
+ return;
143
+ touchInteraction.current = true;
144
+ scheduleTouchCapture();
145
+ };
92
146
  const onMouseDown = (event) => {
147
+ if (touchInteraction.current || touchCaptureSuppressed()) {
148
+ mouseDownPoint.current = null;
149
+ return;
150
+ }
93
151
  if (!captureEvent(event)) {
94
152
  mouseDownPoint.current = null;
95
153
  return;
96
154
  }
155
+ cancelScheduledCapture();
97
156
  mouseDownPoint.current = { x: event.clientX, y: event.clientY };
98
157
  annotationEditing.current = false;
99
158
  ++captureGeneration.current;
100
- setSelection(null);
159
+ setActiveSelection(null);
101
160
  setEditingAnnotation(null);
102
161
  };
103
162
  const onMouseUp = (event) => {
104
163
  const start = mouseDownPoint.current;
105
164
  mouseDownPoint.current = null;
106
- if (!captureEvent(event))
165
+ if (!captureEvent(event) || touchCaptureSuppressed())
107
166
  return;
167
+ if (touchInteraction.current) {
168
+ scheduleTouchCapture();
169
+ return;
170
+ }
108
171
  const moved = start === null
109
172
  || Math.abs(event.clientX - start.x) > 2
110
173
  || Math.abs(event.clientY - start.y) > 2;
111
174
  if (moved || event.detail > 1 || event.shiftKey)
112
- void capture();
175
+ void capture(false);
113
176
  };
114
177
  const onSelectionChange = () => {
115
178
  if (annotationEditing.current)
116
179
  return;
180
+ if (touchInteraction.current) {
181
+ scheduleTouchCapture();
182
+ return;
183
+ }
117
184
  const browserSelection = window.getSelection();
118
185
  if (browserSelection !== null && !browserSelection.isCollapsed)
119
186
  return;
187
+ cancelScheduledCapture();
120
188
  ++captureGeneration.current;
121
- setSelection(null);
189
+ setActiveSelection(null);
122
190
  };
123
191
  const onKeyUp = (event) => {
192
+ touchInteraction.current = false;
193
+ cancelScheduledCapture();
124
194
  if (event.key === 'Escape') {
125
195
  ++captureGeneration.current;
126
196
  annotationEditing.current = false;
127
- setSelection(null);
197
+ setActiveSelection(null);
128
198
  setEditingAnnotation(null);
129
199
  void controller.close();
130
200
  return;
131
201
  }
132
202
  if (captureEvent(event))
133
- void capture();
203
+ void capture(false);
134
204
  };
205
+ document.addEventListener('pointerdown', onPointerDown);
206
+ document.addEventListener('touchstart', onTouchStart, { passive: true });
207
+ document.addEventListener('touchend', onTouchEnd, { passive: true });
135
208
  document.addEventListener('mousedown', onMouseDown);
136
209
  document.addEventListener('mouseup', onMouseUp);
137
210
  document.addEventListener('selectionchange', onSelectionChange);
138
211
  document.addEventListener('keyup', onKeyUp);
139
212
  return () => {
213
+ cancelScheduledCapture();
214
+ document.removeEventListener('pointerdown', onPointerDown);
215
+ document.removeEventListener('touchstart', onTouchStart);
216
+ document.removeEventListener('touchend', onTouchEnd);
140
217
  document.removeEventListener('mousedown', onMouseDown);
141
218
  document.removeEventListener('mouseup', onMouseUp);
142
219
  document.removeEventListener('selectionchange', onSelectionChange);
143
220
  document.removeEventListener('keyup', onKeyUp);
144
221
  };
145
- }, [capture, controller]);
222
+ }, [cancelScheduledCapture, capture, controller, scheduleTouchCapture]);
146
223
  useEffect(() => {
224
+ cancelScheduledCapture();
147
225
  ++captureGeneration.current;
148
226
  annotationEditing.current = false;
149
- setSelection(null);
227
+ setActiveSelection(null);
150
228
  setEditingAnnotation(null);
151
- }, [currentSessionId]);
229
+ }, [cancelScheduledCapture, currentSessionId]);
152
230
  useEffect(() => {
153
231
  if (composerInput !== undefined)
154
232
  sessions.reconcileConversationAnnotationPersistence();
@@ -161,6 +239,16 @@ export function Rc6SideChatOverlay({ controller, sessions, }) {
161
239
  annotationEditing.current = false;
162
240
  setEditingAnnotation(null);
163
241
  }, [annotations, editingAnnotation]);
242
+ const dismissActiveSelection = useCallback(() => {
243
+ cancelScheduledCapture();
244
+ if (touchInteraction.current) {
245
+ suppressTouchCaptureUntil.current = Date.now() + TOUCH_ACTIVATION_SUPPRESS_MS;
246
+ }
247
+ touchInteraction.current = false;
248
+ annotationEditing.current = false;
249
+ ++captureGeneration.current;
250
+ setActiveSelection(null);
251
+ }, [cancelScheduledCapture]);
164
252
  const askDisabledReason = state.phase === 'closed'
165
253
  ? undefined
166
254
  : 'Close the current Side Chat before starting another one.';
@@ -183,10 +271,11 @@ export function Rc6SideChatOverlay({ controller, sessions, }) {
183
271
  ? {}
184
272
  : { activeAnnotationIndex: editingAnnotation.annotationIndex }, onEdit: (annotation, restoredSelection) => {
185
273
  annotationEditing.current = true;
274
+ cancelScheduledCapture();
186
275
  ++captureGeneration.current;
187
- setSelection(null);
276
+ setActiveSelection(null);
188
277
  setEditingAnnotation({ ...annotation, selection: restoredSelection });
189
- } }), selection !== null && (_jsx(SelectionActions, { selection: selection, annotationNumber: sessions.nextConversationAnnotationNumber(), ...askDisabledReason === undefined ? {} : { askDisabledReason }, onAddToChat: (captured, comment) => {
278
+ } }), activeSelection !== null && (_jsx(SelectionActions, { selection: activeSelection.value, touchInteraction: activeSelection.touch, annotationNumber: sessions.nextConversationAnnotationNumber(), ...askDisabledReason === undefined ? {} : { askDisabledReason }, onAddToChat: (captured, comment) => {
190
279
  try {
191
280
  if (sessions.addSelectionToConversation(captured, comment))
192
281
  focusParentComposer();
@@ -196,23 +285,25 @@ export function Rc6SideChatOverlay({ controller, sessions, }) {
196
285
  catch {
197
286
  sessions.notify({ kind: 'warning', text: 'Could not add the selection to the current chat.' });
198
287
  }
199
- setSelection(null);
200
- }, onAnnotationEditorChange: (open) => { annotationEditing.current = open; }, onMoreDetails: (captured) => {
288
+ dismissActiveSelection();
289
+ }, onAnnotationEditorChange: (open) => {
290
+ annotationEditing.current = open;
291
+ if (open && touchInteraction.current) {
292
+ suppressTouchCaptureUntil.current = Date.now() + TOUCH_ACTIVATION_SUPPRESS_MS;
293
+ }
294
+ }, onMoreDetails: (captured) => {
201
295
  const opened = controller.openDraft({ selection: captured });
202
296
  if (!opened.ok)
203
297
  sessions.notify({ kind: 'warning', text: opened.error.message });
204
298
  else
205
299
  void controller.sendFirst(MORE_DETAILS_PROMPT);
206
- setSelection(null);
300
+ dismissActiveSelection();
207
301
  }, onAskInSideChat: (captured) => {
208
302
  const opened = controller.openDraft({ selection: captured });
209
303
  if (!opened.ok)
210
304
  sessions.notify({ kind: 'warning', text: opened.error.message });
211
- setSelection(null);
212
- }, onDismiss: () => {
213
- annotationEditing.current = false;
214
- setSelection(null);
215
- } })), editingAnnotation !== null && (_jsx(SelectionActions, { selection: editingAnnotation.selection, annotationNumber: editingAnnotation.annotationIndex + 1, annotationEditor: {
305
+ dismissActiveSelection();
306
+ }, onDismiss: dismissActiveSelection })), editingAnnotation !== null && (_jsx(SelectionActions, { selection: editingAnnotation.selection, annotationNumber: editingAnnotation.annotationIndex + 1, annotationEditor: {
216
307
  ...(editingAnnotation.comment === undefined
217
308
  ? {}
218
309
  : { initialComment: editingAnnotation.comment }),
@@ -1 +1 @@
1
- {"version":3,"file":"Rc6SideChatOverlay.js","sourceRoot":"","sources":["../../../src/client/rc6/Rc6SideChatOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rc6SideChatOverlay.js","sourceRoot":"","sources":["../../../src/client/rc6/Rc6SideChatOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ConversationSelection } from '../../shared/contracts.js';
2
2
  export interface SelectionActionsProps {
3
3
  readonly selection: ConversationSelection;
4
+ readonly touchInteraction?: boolean;
4
5
  readonly askDisabledReason?: string;
5
6
  readonly annotationNumber?: number;
6
7
  /** Opens only the comment editor, used when an existing marker is clicked. */
@@ -14,5 +15,15 @@ export interface SelectionActionsProps {
14
15
  readonly onAnnotationEditorChange?: (open: boolean) => void;
15
16
  readonly onDismiss: () => void;
16
17
  }
17
- export declare function SelectionActions({ selection, askDisabledReason, annotationNumber, annotationEditor, onAddToChat, onMoreDetails, onAskInSideChat, onAnnotationEditorChange, onDismiss, }: SelectionActionsProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function calculateSelectionActionsPosition(rect: ConversationSelection['rect'], size: {
19
+ readonly width: number;
20
+ readonly height: number;
21
+ }, touch: boolean, viewport?: {
22
+ readonly width: number;
23
+ readonly height: number;
24
+ }): {
25
+ readonly left: number;
26
+ readonly top: number;
27
+ };
28
+ export declare function SelectionActions({ selection, touchInteraction, askDisabledReason, annotationNumber, annotationEditor, onAddToChat, onMoreDetails, onAskInSideChat, onAnnotationEditorChange, onDismiss, }: SelectionActionsProps): import("react/jsx-runtime").JSX.Element;
18
29
  //# sourceMappingURL=SelectionActions.d.ts.map
@@ -1 +1 @@
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,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;QAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,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,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,SAAS,GACV,EAAE,qBAAqB,2CAuJvB"}
1
+ {"version":3,"file":"SelectionActions.d.ts","sourceRoot":"","sources":["../../../src/client/selection/SelectionActions.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;QAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,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,iCAAiC,CAC/C,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACnC,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzD,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAG1D,GACA;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA4BjD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,gBAAwB,EACxB,iBAAiB,EACjB,gBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,SAAS,GACV,EAAE,qBAAqB,2CA+OvB"}
@@ -1,19 +1,55 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useRef, useState } from 'react';
2
+ import { useEffect, useLayoutEffect, useRef, useState } from 'react';
3
3
  function clamp(value, minimum, maximum) {
4
4
  return Math.min(Math.max(minimum, value), Math.max(minimum, maximum));
5
5
  }
6
- export function SelectionActions({ selection, askDisabledReason, annotationNumber = 1, annotationEditor, onAddToChat, onMoreDetails, onAskInSideChat, onAnnotationEditorChange, onDismiss, }) {
6
+ export function calculateSelectionActionsPosition(rect, size, touch, viewport = {
7
+ width: rect.viewportWidth,
8
+ height: rect.viewportHeight,
9
+ }) {
10
+ const edge = 8;
11
+ const width = Math.max(0, size.width);
12
+ const height = Math.max(0, size.height);
13
+ const left = clamp(rect.x + rect.width / 2 - width / 2, edge, viewport.width - width - edge);
14
+ const belowGap = touch ? 12 : 8;
15
+ const aboveGap = touch ? 64 : 8;
16
+ const below = rect.y + rect.height + belowGap;
17
+ const above = rect.y - height - aboveGap;
18
+ const belowFits = below + height <= viewport.height - edge;
19
+ const aboveFits = above >= edge;
20
+ let top;
21
+ if (touch && belowFits)
22
+ top = below;
23
+ else if (aboveFits)
24
+ top = above;
25
+ else if (belowFits)
26
+ top = below;
27
+ else {
28
+ const roomAbove = rect.y - aboveGap - edge;
29
+ const roomBelow = viewport.height - edge - rect.y - rect.height - belowGap;
30
+ top = roomAbove >= roomBelow ? above : below;
31
+ }
32
+ return {
33
+ left,
34
+ top: clamp(top, edge, viewport.height - height - edge),
35
+ };
36
+ }
37
+ export function SelectionActions({ selection, touchInteraction = false, askDisabledReason, annotationNumber = 1, annotationEditor, onAddToChat, onMoreDetails, onAskInSideChat, onAnnotationEditorChange, onDismiss, }) {
7
38
  const [editingAnnotation, setEditingAnnotation] = useState(annotationEditor !== undefined);
8
39
  const [comment, setComment] = useState(annotationEditor?.initialComment ?? '');
40
+ const [toolbarGeometry, setToolbarGeometry] = useState(() => ({
41
+ width: 0,
42
+ height: 0,
43
+ viewportWidth: selection.rect.viewportWidth,
44
+ viewportHeight: selection.rect.viewportHeight,
45
+ }));
9
46
  const commentRef = useRef(null);
10
- const center = selection.rect.x + selection.rect.width / 2;
47
+ const toolbarRef = useRef(null);
48
+ const touchActivationRef = useRef(null);
49
+ const toolbarPosition = calculateSelectionActionsPosition(selection.rect, toolbarGeometry, touchInteraction, { width: toolbarGeometry.viewportWidth, height: toolbarGeometry.viewportHeight });
11
50
  const style = {
12
- left: Math.min(Math.max(8, center), selection.rect.viewportWidth - 8),
13
- top: selection.rect.y < 56
14
- ? selection.rect.y + selection.rect.height + 8
15
- : selection.rect.y - 8,
16
- transform: selection.rect.y < 56 ? 'translate(0, 0)' : 'translate(0, -100%)',
51
+ left: toolbarPosition.left,
52
+ top: toolbarPosition.top,
17
53
  };
18
54
  const editorWidth = Math.min(420, selection.rect.viewportWidth - 16);
19
55
  const editorAbove = selection.rect.y - 118;
@@ -30,6 +66,43 @@ export function SelectionActions({ selection, askDisabledReason, annotationNumbe
30
66
  };
31
67
  const markerNumber = annotationNumber > 99 ? '99+' : String(annotationNumber);
32
68
  const keepSelection = (event) => { event.preventDefault(); };
69
+ useLayoutEffect(() => {
70
+ if (editingAnnotation)
71
+ return;
72
+ const toolbar = toolbarRef.current;
73
+ if (toolbar === null)
74
+ return;
75
+ const measure = () => {
76
+ const bounds = toolbar.getBoundingClientRect();
77
+ const visualViewport = window.visualViewport;
78
+ const viewportWidth = visualViewport?.width ?? window.innerWidth ?? selection.rect.viewportWidth;
79
+ const viewportHeight = visualViewport?.height ?? window.innerHeight ?? selection.rect.viewportHeight;
80
+ const next = {
81
+ width: bounds.width,
82
+ height: bounds.height,
83
+ viewportWidth,
84
+ viewportHeight,
85
+ };
86
+ setToolbarGeometry(current => current.width === next.width
87
+ && current.height === next.height
88
+ && current.viewportWidth === next.viewportWidth
89
+ && current.viewportHeight === next.viewportHeight
90
+ ? current
91
+ : next);
92
+ };
93
+ measure();
94
+ const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(measure);
95
+ observer?.observe(toolbar);
96
+ window.addEventListener('resize', measure);
97
+ window.visualViewport?.addEventListener('resize', measure);
98
+ window.visualViewport?.addEventListener('scroll', measure);
99
+ return () => {
100
+ observer?.disconnect();
101
+ window.removeEventListener('resize', measure);
102
+ window.visualViewport?.removeEventListener('resize', measure);
103
+ window.visualViewport?.removeEventListener('scroll', measure);
104
+ };
105
+ }, [editingAnnotation, selection, touchInteraction]);
33
106
  useEffect(() => {
34
107
  if (editingAnnotation)
35
108
  commentRef.current?.focus();
@@ -63,21 +136,50 @@ export function SelectionActions({ selection, askDisabledReason, annotationNumbe
63
136
  saveAnnotation();
64
137
  }
65
138
  };
139
+ const openAnnotationEditor = () => {
140
+ setEditingAnnotation(true);
141
+ onAnnotationEditorChange?.(true);
142
+ };
143
+ const showMoreDetails = () => {
144
+ onMoreDetails(selection);
145
+ onDismiss();
146
+ };
147
+ const askInSideChat = () => {
148
+ onAskInSideChat(selection);
149
+ onDismiss();
150
+ };
151
+ const activateOnTouch = (event, action) => {
152
+ if (!touchInteraction || event.pointerType !== 'touch' || event.currentTarget.disabled)
153
+ return;
154
+ event.preventDefault();
155
+ touchActivationRef.current = {
156
+ target: event.currentTarget,
157
+ timeStamp: event.timeStamp,
158
+ };
159
+ action();
160
+ };
161
+ const activateOnClick = (event, action) => {
162
+ const touchActivation = touchActivationRef.current;
163
+ touchActivationRef.current = null;
164
+ const elapsed = touchActivation === null ? Number.POSITIVE_INFINITY : event.timeStamp - touchActivation.timeStamp;
165
+ if (event.detail !== 0
166
+ && touchActivation?.target === event.currentTarget
167
+ && elapsed >= 0
168
+ && elapsed < 1_000) {
169
+ event.preventDefault();
170
+ return;
171
+ }
172
+ action();
173
+ };
66
174
  if (editingAnnotation) {
67
175
  return (_jsxs(_Fragment, { children: [annotationEditor === undefined && (_jsx("span", { className: "dsh-side-chat-selection-marker", "aria-hidden": "true", "data-large": annotationNumber > 99 || undefined, style: markerStyle, children: markerNumber })), _jsxs("form", { className: "dsh-side-chat-selection-comment", role: "dialog", "aria-label": annotationEditor?.dialogLabel ?? '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" })] })] })] }));
68
176
  }
69
- return (_jsxs("div", { className: "dsh-side-chat-selection-actions", role: "toolbar", "aria-label": "Selected conversation text actions", style: style, onMouseDown: keepSelection, onKeyDown: (event) => {
177
+ return (_jsxs("div", { ref: toolbarRef, className: "dsh-side-chat-selection-actions", role: "toolbar", "aria-label": "Selected conversation text actions", "data-touch": touchInteraction || undefined, style: style, onMouseDown: keepSelection, onPointerDown: (event) => {
178
+ if (touchInteraction && event.pointerType === 'touch')
179
+ event.preventDefault();
180
+ }, onKeyDown: (event) => {
70
181
  if (event.key === 'Escape')
71
182
  onDismiss();
72
- }, children: [_jsx("button", { type: "button", onClick: () => {
73
- setEditingAnnotation(true);
74
- onAnnotationEditorChange?.(true);
75
- }, children: "Add to chat" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onClick: () => {
76
- onMoreDetails(selection);
77
- onDismiss();
78
- }, children: "More details" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onClick: () => {
79
- onAskInSideChat(selection);
80
- onDismiss();
81
- }, children: "Ask in side chat" })] }));
183
+ }, children: [_jsx("button", { type: "button", onPointerDown: (event) => { activateOnTouch(event, openAnnotationEditor); }, onClick: (event) => { activateOnClick(event, openAnnotationEditor); }, children: "Add to chat" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onPointerDown: (event) => { activateOnTouch(event, showMoreDetails); }, onClick: (event) => { activateOnClick(event, showMoreDetails); }, children: "More details" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onPointerDown: (event) => { activateOnTouch(event, askInSideChat); }, onClick: (event) => { activateOnClick(event, askInSideChat); }, children: "Ask in side chat" })] }));
82
184
  }
83
185
  //# sourceMappingURL=SelectionActions.js.map