@bothub-chat/ui 2.80.27 → 2.80.31

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 (59) hide show
  1. package/dist/components/avatar/index.js +1 -1
  2. package/dist/components/color-picker/menu/index.js +1 -1
  3. package/dist/components/color-picker/menu/styled.d.ts +284 -4
  4. package/dist/components/color-picker/menu/styled.js +3 -5
  5. package/dist/components/file-field/index.js +1 -1
  6. package/dist/components/file-icon/index.js +1 -1
  7. package/dist/components/footer/index.js +1 -1
  8. package/dist/components/footer/mobile/index.js +1 -1
  9. package/dist/components/header/index.js +1 -1
  10. package/dist/components/header/menu-nav/config.js +1 -1
  11. package/dist/components/header/menu-nav/index.js +1 -1
  12. package/dist/components/header/menu-nav/styled.js +1 -1
  13. package/dist/components/header/multi-level-menu/multi-level-menu-accordion/ui/styled.js +1 -1
  14. package/dist/components/header/multi-level-menu/multi-level-menu-first-level/ui/styled.js +1 -1
  15. package/dist/components/header/multi-level-menu/styled.js +1 -1
  16. package/dist/components/input-message/index.js +1 -1
  17. package/dist/components/input-message/input-files.js +1 -1
  18. package/dist/components/lang-switcher/styled.js +1 -1
  19. package/dist/components/message/actions/fork-button/index.d.ts +11 -0
  20. package/dist/components/message/actions/fork-button/index.js +1 -0
  21. package/dist/components/message/actions/fork-button/styled.d.ts +297 -0
  22. package/dist/components/message/actions/fork-button/styled.js +1 -0
  23. package/dist/components/message/actions/index.d.ts +5 -1
  24. package/dist/components/message/actions/index.js +1 -1
  25. package/dist/components/message/index.d.ts +4 -0
  26. package/dist/components/message/index.js +1 -1
  27. package/dist/components/message/scroll-button/styled.js +1 -1
  28. package/dist/components/message/search-results/index.js +1 -1
  29. package/dist/components/message/styled.d.ts +4 -1
  30. package/dist/components/message/styled.js +1 -1
  31. package/dist/components/message/video/index.js +1 -1
  32. package/dist/components/pagination/styled.js +1 -1
  33. package/dist/components/select-field/select-modal/index.js +1 -1
  34. package/dist/components/select-field/select-modal/option/checkbox-group/styled.js +1 -1
  35. package/dist/components/select-field/select-modal/option/list/index.js +1 -1
  36. package/dist/components/select-field/styled.js +5 -5
  37. package/dist/components/sidebar/chat/index.js +1 -1
  38. package/dist/components/sidebar/chat/styled.js +1 -1
  39. package/dist/components/sidebar/group/index.js +1 -1
  40. package/dist/components/sidebar/group/styled.js +1 -1
  41. package/dist/components/sidebar/index.js +1 -1
  42. package/dist/components/sidebar/styled.js +1 -1
  43. package/dist/components/sidebar/toggle-button/index.js +1 -1
  44. package/dist/components/sidebar/user-info/index.js +1 -1
  45. package/dist/components/sidebar/user-info/skeleton.js +1 -1
  46. package/dist/components/slider/index.js +1 -1
  47. package/dist/components/stepper/styled.js +1 -1
  48. package/dist/components/tariff/card/styled.js +1 -1
  49. package/dist/components/uploaded-file/index.js +1 -1
  50. package/dist/components/uploaded-file/styled.js +1 -1
  51. package/dist/icons/fork-chat/index.d.ts +1 -0
  52. package/dist/icons/fork-chat/index.js +1 -0
  53. package/dist/icons/index.d.ts +1 -0
  54. package/dist/index.js +1 -1
  55. package/dist/utils/index.d.ts +1 -0
  56. package/dist/utils/prepareClipboardHtml.d.ts +4 -0
  57. package/dist/utils/prepareClipboardHtml.js +1 -0
  58. package/dist/utils/processSelection.js +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,297 @@
1
+ export interface MessageForkButtonStyledProps {
2
+ $selected?: boolean;
3
+ }
4
+ export declare const MessageForkButtonStyled: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<{
5
+ ref?: import("react").Ref<HTMLButtonElement> | undefined;
6
+ key?: import("react").Key | null | undefined;
7
+ disabled?: boolean | undefined | undefined;
8
+ form?: string | undefined | undefined;
9
+ formAction?: string | ((formData: FormData) => void | Promise<void>) | undefined;
10
+ formEncType?: string | undefined | undefined;
11
+ formMethod?: string | undefined | undefined;
12
+ formNoValidate?: boolean | undefined | undefined;
13
+ formTarget?: string | undefined | undefined;
14
+ name?: string | undefined | undefined;
15
+ type?: "submit" | "reset" | "button" | undefined | undefined;
16
+ value?: string | number | readonly string[] | undefined;
17
+ defaultChecked?: boolean | undefined | undefined;
18
+ defaultValue?: string | number | readonly string[] | undefined;
19
+ suppressContentEditableWarning?: boolean | undefined | undefined;
20
+ suppressHydrationWarning?: boolean | undefined | undefined;
21
+ accessKey?: string | undefined | undefined;
22
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
23
+ autoFocus?: boolean | undefined | undefined;
24
+ className?: string | undefined | undefined;
25
+ contentEditable?: "inherit" | (boolean | "false" | "true") | "plaintext-only" | undefined;
26
+ contextMenu?: string | undefined | undefined;
27
+ dir?: string | undefined | undefined;
28
+ draggable?: (boolean | "false" | "true") | undefined;
29
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
30
+ hidden?: boolean | undefined | undefined;
31
+ id?: string | undefined | undefined;
32
+ lang?: string | undefined | undefined;
33
+ nonce?: string | undefined | undefined;
34
+ slot?: string | undefined | undefined;
35
+ spellCheck?: (boolean | "false" | "true") | undefined;
36
+ style?: import("react").CSSProperties | undefined;
37
+ tabIndex?: number | undefined | undefined;
38
+ title?: string | undefined | undefined;
39
+ translate?: "yes" | "no" | undefined | undefined;
40
+ radioGroup?: string | undefined | undefined;
41
+ role?: import("react").AriaRole | undefined;
42
+ about?: string | undefined | undefined;
43
+ content?: string | undefined | undefined;
44
+ datatype?: string | undefined | undefined;
45
+ inlist?: any;
46
+ prefix?: string | undefined | undefined;
47
+ property?: string | undefined | undefined;
48
+ rel?: string | undefined | undefined;
49
+ resource?: string | undefined | undefined;
50
+ rev?: string | undefined | undefined;
51
+ typeof?: string | undefined | undefined;
52
+ vocab?: string | undefined | undefined;
53
+ autoCorrect?: string | undefined | undefined;
54
+ autoSave?: string | undefined | undefined;
55
+ color?: string | undefined | undefined;
56
+ itemProp?: string | undefined | undefined;
57
+ itemScope?: boolean | undefined | undefined;
58
+ itemType?: string | undefined | undefined;
59
+ itemID?: string | undefined | undefined;
60
+ itemRef?: string | undefined | undefined;
61
+ results?: number | undefined | undefined;
62
+ security?: string | undefined | undefined;
63
+ unselectable?: "on" | "off" | undefined | undefined;
64
+ popover?: "" | "auto" | "manual" | undefined | undefined;
65
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
66
+ popoverTarget?: string | undefined | undefined;
67
+ inert?: boolean | undefined | undefined;
68
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
69
+ is?: string | undefined | undefined;
70
+ exportparts?: string | undefined | undefined;
71
+ part?: string | undefined | undefined;
72
+ "aria-activedescendant"?: string | undefined | undefined;
73
+ "aria-atomic"?: (boolean | "false" | "true") | undefined;
74
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
75
+ "aria-braillelabel"?: string | undefined | undefined;
76
+ "aria-brailleroledescription"?: string | undefined | undefined;
77
+ "aria-busy"?: (boolean | "false" | "true") | undefined;
78
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
79
+ "aria-colcount"?: number | undefined | undefined;
80
+ "aria-colindex"?: number | undefined | undefined;
81
+ "aria-colindextext"?: string | undefined | undefined;
82
+ "aria-colspan"?: number | undefined | undefined;
83
+ "aria-controls"?: string | undefined | undefined;
84
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
85
+ "aria-describedby"?: string | undefined | undefined;
86
+ "aria-description"?: string | undefined | undefined;
87
+ "aria-details"?: string | undefined | undefined;
88
+ "aria-disabled"?: (boolean | "false" | "true") | undefined;
89
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
90
+ "aria-errormessage"?: string | undefined | undefined;
91
+ "aria-expanded"?: (boolean | "false" | "true") | undefined;
92
+ "aria-flowto"?: string | undefined | undefined;
93
+ "aria-grabbed"?: (boolean | "false" | "true") | undefined;
94
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
95
+ "aria-hidden"?: (boolean | "false" | "true") | undefined;
96
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
97
+ "aria-keyshortcuts"?: string | undefined | undefined;
98
+ "aria-label"?: string | undefined | undefined;
99
+ "aria-labelledby"?: string | undefined | undefined;
100
+ "aria-level"?: number | undefined | undefined;
101
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
102
+ "aria-modal"?: (boolean | "false" | "true") | undefined;
103
+ "aria-multiline"?: (boolean | "false" | "true") | undefined;
104
+ "aria-multiselectable"?: (boolean | "false" | "true") | undefined;
105
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
106
+ "aria-owns"?: string | undefined | undefined;
107
+ "aria-placeholder"?: string | undefined | undefined;
108
+ "aria-posinset"?: number | undefined | undefined;
109
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
110
+ "aria-readonly"?: (boolean | "false" | "true") | undefined;
111
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
112
+ "aria-required"?: (boolean | "false" | "true") | undefined;
113
+ "aria-roledescription"?: string | undefined | undefined;
114
+ "aria-rowcount"?: number | undefined | undefined;
115
+ "aria-rowindex"?: number | undefined | undefined;
116
+ "aria-rowindextext"?: string | undefined | undefined;
117
+ "aria-rowspan"?: number | undefined | undefined;
118
+ "aria-selected"?: (boolean | "false" | "true") | undefined;
119
+ "aria-setsize"?: number | undefined | undefined;
120
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
121
+ "aria-valuemax"?: number | undefined | undefined;
122
+ "aria-valuemin"?: number | undefined | undefined;
123
+ "aria-valuenow"?: number | undefined | undefined;
124
+ "aria-valuetext"?: string | undefined | undefined;
125
+ children?: import("react").ReactNode;
126
+ dangerouslySetInnerHTML?: {
127
+ __html: string | TrustedHTML;
128
+ } | undefined | undefined;
129
+ onCopy?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
130
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
131
+ onCut?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
132
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
133
+ onPaste?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
134
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
135
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
136
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
137
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
138
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
139
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
140
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
141
+ onFocus?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
142
+ onFocusCapture?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
143
+ onBlur?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
144
+ onBlurCapture?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
145
+ onChange?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
146
+ onChangeCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
147
+ onBeforeInput?: import("react").InputEventHandler<HTMLButtonElement> | undefined;
148
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
149
+ onInput?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
150
+ onInputCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
151
+ onReset?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
152
+ onResetCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
153
+ onSubmit?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
154
+ onSubmitCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
155
+ onInvalid?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
156
+ onInvalidCapture?: import("react").FormEventHandler<HTMLButtonElement> | undefined;
157
+ onLoad?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
158
+ onLoadCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
159
+ onError?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
160
+ onErrorCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
161
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
162
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
163
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
164
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
165
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
166
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
167
+ onAbort?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
168
+ onAbortCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
169
+ onCanPlay?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
170
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
171
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
172
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
173
+ onDurationChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
174
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
175
+ onEmptied?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
176
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
177
+ onEncrypted?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
178
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
179
+ onEnded?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
180
+ onEndedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
181
+ onLoadedData?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
182
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
183
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
184
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
185
+ onLoadStart?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
186
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
187
+ onPause?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
188
+ onPauseCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
189
+ onPlay?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
190
+ onPlayCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
191
+ onPlaying?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
192
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
193
+ onProgress?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
194
+ onProgressCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
195
+ onRateChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
196
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
197
+ onSeeked?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
198
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
199
+ onSeeking?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
200
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
201
+ onStalled?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
202
+ onStalledCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
203
+ onSuspend?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
204
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
205
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
206
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
207
+ onVolumeChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
208
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
209
+ onWaiting?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
210
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
211
+ onAuxClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
212
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
213
+ onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
214
+ onClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
215
+ onContextMenu?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
216
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
217
+ onDoubleClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
218
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
219
+ onDrag?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
220
+ onDragCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
221
+ onDragEnd?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
222
+ onDragEndCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
223
+ onDragEnter?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
224
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
225
+ onDragExit?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
226
+ onDragExitCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
227
+ onDragLeave?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
228
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
229
+ onDragOver?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
230
+ onDragOverCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
231
+ onDragStart?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
232
+ onDragStartCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
233
+ onDrop?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
234
+ onDropCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
235
+ onMouseDown?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
236
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
237
+ onMouseEnter?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
238
+ onMouseLeave?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
239
+ onMouseMove?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
240
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
241
+ onMouseOut?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
242
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
243
+ onMouseOver?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
244
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
245
+ onMouseUp?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
246
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
247
+ onSelect?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
248
+ onSelectCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
249
+ onTouchCancel?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
250
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
251
+ onTouchEnd?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
252
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
253
+ onTouchMove?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
254
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
255
+ onTouchStart?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
256
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
257
+ onPointerDown?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
258
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
259
+ onPointerMove?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
260
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
261
+ onPointerUp?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
262
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
263
+ onPointerCancel?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
264
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
265
+ onPointerEnter?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
266
+ onPointerLeave?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
267
+ onPointerOver?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
268
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
269
+ onPointerOut?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
270
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
271
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
272
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
273
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
274
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
275
+ onScroll?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
276
+ onScrollCapture?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
277
+ onScrollEnd?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
278
+ onScrollEndCapture?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
279
+ onWheel?: import("react").WheelEventHandler<HTMLButtonElement> | undefined;
280
+ onWheelCapture?: import("react").WheelEventHandler<HTMLButtonElement> | undefined;
281
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
282
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
283
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
284
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
285
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
286
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
287
+ onToggle?: import("react").ToggleEventHandler<HTMLButtonElement> | undefined;
288
+ onBeforeToggle?: import("react").ToggleEventHandler<HTMLButtonElement> | undefined;
289
+ onTransitionCancel?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
290
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
291
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
292
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
293
+ onTransitionRun?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
294
+ onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
295
+ onTransitionStart?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
296
+ onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
297
+ }, MessageForkButtonStyledProps>>;
@@ -0,0 +1 @@
1
+ import{styled as o,css as t}from"styled-components";import{MessageActionsButton as e}from"../styled.js";const s=o(e).withConfig({displayName:"styled__MessageForkButtonStyled",componentId:"sc-18pwh6q-0"})(["",""],({theme:o,$selected:e})=>e&&t(["svg path{stroke:",";}"],"custom"===o.scheme?o.colors.custom.icon:o.colors.accent.primaryLight));export{s as MessageForkButtonStyled};
@@ -10,9 +10,11 @@ type MessageActionsProps = {
10
10
  disableDelete?: boolean;
11
11
  disableUpdate?: boolean;
12
12
  disableCopy?: boolean;
13
+ disableFork?: boolean;
13
14
  disableDownload?: boolean;
14
15
  disableEncryption?: boolean;
15
16
  hasCacheTokens?: boolean;
17
+ forkSelected?: boolean;
16
18
  editOutOfMenu?: boolean;
17
19
  editText?: string | null;
18
20
  copyTgText?: string | null;
@@ -23,6 +25,7 @@ type MessageActionsProps = {
23
25
  downloadTooltipLabel?: string | null;
24
26
  updateTooltipLabel?: string | null;
25
27
  copyTooltipLabel?: string | null;
28
+ forkTooltipLabel?: string | null;
26
29
  encryptionTooltipLabel?: string | null;
27
30
  cacheTokenTooltipLabel?: string | null;
28
31
  onEdit?: MessageActionEditEventHandler;
@@ -30,11 +33,12 @@ type MessageActionsProps = {
30
33
  onDelete?: MessageActionEventHandler;
31
34
  onUpdate?: MessageActionEventHandler;
32
35
  onReport?: MessageActionEventHandler;
36
+ onFork?: MessageActionEventHandler;
33
37
  onPlainTextCopy?: MessagePlainTextCopyEventHandler;
34
38
  onTgCopy?: MessageTgCopyEventHandler;
35
39
  onCopy?: MessageActionEventHandler;
36
40
  onDownload?: () => void;
37
41
  menuAriaLabel?: string | null;
38
42
  };
39
- export declare const MessageActions: ({ id, disableModal, message, variant, skeleton, disableResend, disableEdit, disableDelete, disableUpdate, disableCopy, disableDownload, disableEncryption, hasCacheTokens, editOutOfMenu, editText, copyTgText, copyPlainText, resendText, deleteText, onReportText, downloadTooltipLabel, encryptionTooltipLabel, cacheTokenTooltipLabel, updateTooltipLabel, copyTooltipLabel, onEdit, onResend, onDelete, onUpdate, onReport, onPlainTextCopy, onTgCopy, onCopy, onDownload, menuAriaLabel, }: MessageActionsProps) => import("react/jsx-runtime").JSX.Element;
43
+ export declare const MessageActions: ({ id, disableModal, message, variant, skeleton, disableResend, disableEdit, disableDelete, disableUpdate, disableCopy, disableFork, disableDownload, disableEncryption, hasCacheTokens, forkSelected, editOutOfMenu, editText, copyTgText, copyPlainText, resendText, deleteText, onReportText, downloadTooltipLabel, encryptionTooltipLabel, cacheTokenTooltipLabel, updateTooltipLabel, copyTooltipLabel, forkTooltipLabel, onEdit, onResend, onDelete, onUpdate, onReport, onFork, onPlainTextCopy, onTgCopy, onCopy, onDownload, menuAriaLabel, }: MessageActionsProps) => import("react/jsx-runtime").JSX.Element;
40
44
  export {};
@@ -1 +1 @@
1
- import{jsxs as i,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as e,useMemo as t,useCallback as r,useLayoutEffect as c,useEffect as d}from"react";import{useTransition as p,easings as m}from"@react-spring/web";import{MenuDotIcon as x}from"../../../icons/menu-dot/index.js";import{UpdateIcon as a}from"../../../icons/update/index.js";import{ResendIcon as j}from"../../../icons/resend/index.js";import{EditIcon as l}from"../../../icons/edit/index.js";import{TrashIcon as u}from"../../../icons/trash/index.js";import{ThumbDownIcon as g}from"../../../icons/thumb-down/index.js";import{CopyIcon as b}from"../../../icons/copy/index.js";import{DownloadImgIcon as h}from"../../../icons/download-img/index.js";import{MessageActionsStyled as f,MessageActionsMenuStyled as w,MessageActionsMenuModal as y,MessageActionsMenuModalOptionContent as k,MessageActionsButtonText as v}from"./styled.js";import{MenuOption as C}from"./menu-option/index.js";import{CopyButton as L}from"./copy-button/index.js";import{ActionButton as T}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as z}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as E}from"../../icon/context.js";import"../../icon/styled.js";import"react-markdown";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{colorToRgba as q}from"../../../utils/colors/colorToRgba.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../../../icons/arrow-down/index.js";import"../../../icons/arrow-narrow-left/index.js";import"../../../icons/arrow-narrow-right/index.js";import"../../../icons/arrow-up/index.js";import"../../../icons/bitcoin/index.js";import"../../../icons/bot-circle/index.js";import"../../../icons/bothub-agg/index.js";import"../../../icons/business-colored/index.js";import"../../../icons/check-circle/index.js";import"../../../icons/close/index.js";import"../../../icons/email-circle/index.js";import"../../../icons/language/index.js";import"../../../icons/lock-circle/index.js";import"../../../icons/menu/index.js";import"../../../icons/medium-circle/index.js";import"../../../icons/tg-circle/index.js";import"../../../icons/tg-colored/index.js";import"../../../icons/youcassa/index.js";import"../../../icons/dashboard/index.js";import"../../../icons/user-profile/index.js";import"../../../icons/logout/index.js";import"../../../icons/habr-2/index.js";import"../../../icons/arrow-2-down/index.js";import"../../../icons/links/index.js";import"../../../icons/free/index.js";import"../../../icons/hotness/index.js";import"../../../icons/checked/index.js";import"../../../icons/ai/index.js";import"../../../icons/bookmarks/index.js";import"../../../icons/bookmarks-big/index.js";import"../../../icons/chat/index.js";import"../../../icons/chats/index.js";import"../../../icons/coder/index.js";import"../../../icons/presets-big/index.js";import"../../../icons/referal/index.js";import"../../../icons/restore/index.js";import"../../../icons/tariff/index.js";import"../../../icons/plus-2/index.js";import"../../../icons/plus-1/index.js";import"../../../icons/send/index.js";import"../../../icons/settings/index.js";import"../../../icons/habr/index.js";import"../../../icons/check-small/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/star/index.js";import"../../../icons/info-big/index.js";import"../../../icons/warning-big/index.js";import"../../../icons/error-big/index.js";import"../../../icons/success-big/index.js";import"../../../icons/mj/index.js";import"../../../icons/card/index.js";import"../../../icons/arrow-narrow-up/index.js";import"../../../icons/arrow-narrow-down/index.js";import"../../../icons/filters/index.js";import"../../../icons/info/index.js";import"../../../icons/search-circle/index.js";import"../../../icons/save/index.js";import"../../../icons/light/index.js";import"../../../icons/dark/index.js";import"../../../icons/email-colored/index.js";import"../../../icons/action-chat/index.js";import"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/play-button/index.js";import"../../../icons/pause-button/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/min-window/index.js";import"../../../icons/max-window/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/system/index.js";import"../../../icons/selector/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/sort-alphabet-top-bottom/index.js";import"../../../icons/sort-alphabet-bottom-top/index.js";import"../../../icons/pause/index.js";import"../../../icons/play/index.js";import"../../../icons/restore-2/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import"../../../icons/queue-select/index.js";import"../../../icons/apple/index.js";import"../../../icons/mail-colored/index.js";import{ShieldIcon as R}from"../../../icons/shield/index.js";import"../../../icons/stars-gradient/index.js";import"../../../icons/fire/index.js";import"../../../icons/brain/index.js";import"../../../icons/mj-purple/index.js";import"../../../icons/claude-black/index.js";import"../../../icons/vk-filled/index.js";import"../../../icons/tg/index.js";import"../../../icons/gift/index.js";import"../../../icons/exchange/index.js";import"../../../icons/time/index.js";import"../../../icons/folder/index.js";import"../../../icons/history/index.js";import{MoneyPlusIcon as M}from"../../../icons/money-plus/index.js";import"../../../icons/money-stack/index.js";import"../../../icons/sort-numeric-bottom/index.js";import"../../../icons/sort-numeric-top/index.js";import"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/workspace/index.js";import"../../../icons/chat-doc/index.js";import"../../../icons/money-spend/index.js";import"../../../icons/money-minus/index.js";import"../../../icons/max-logo-gradient/index.js";import"../../../icons/empty-word/index.js";import"../../../icons/music-file/index.js";import"../../../icons/sad-file/index.js";import"../../../icons/happy-file/index.js";import"../../../icons/volume-off/index.js";import"../../../icons/github/index.js";import"../../../icons/erase/index.js";import"../../../icons/arrow-narrow-stars-right/index.js";import"../../../icons/literature-list/index.js";import"../../../icons/bell-dot/index.js";import"../../../icons/bell/index.js";import"../../../icons/kwaivgi/index.js";import"../../../icons/dollar/index.js";import{useTheme as D}from"../../../theme/hook.js";const S=({id:S,disableModal:$,message:B,variant:O="user",skeleton:A,disableResend:P,disableEdit:U,disableDelete:G,disableUpdate:H,disableCopy:W,disableDownload:X,disableEncryption:Y,hasCacheTokens:_,editOutOfMenu:F,editText:I,copyTgText:J,copyPlainText:K,resendText:N,deleteText:Q,onReportText:V,downloadTooltipLabel:Z,encryptionTooltipLabel:ii,cacheTokenTooltipLabel:oi,updateTooltipLabel:ni,copyTooltipLabel:si,onEdit:ei,onResend:ti,onDelete:ri,onUpdate:ci,onReport:di,onPlainTextCopy:pi,onTgCopy:mi,onCopy:xi,onDownload:ai,menuAriaLabel:ji})=>{const li=D(),[ui,gi]=s(!1),[bi,hi]=s(!1),[fi,wi]=s(!1),yi=e(null),ki=e(null),vi=e(null),Ci=e(null),Li=z(),Ti=t(()=>"custom"===li.scheme?q(li.colors.custom.icon,.75):"standard"===li.scheme||"light"===li.mode?li.colors.grayScale.gray1:li.colors.accent.primary,[li]),zi=t(()=>{if(A)return!1;switch(O){case"assistant":return!$;case"user":return!$&&(!U||!G||!P)}},[A,O,$,U,G,P]),Ei=t(()=>{let i=0;return!W&&K&&pi&&(i+=1),!W&&J&&mi&&(i+=1),!P&&"user"===O&&N&&ti&&(i+=1),!F&&!U&&I&&ei&&(i+=1),!G&&Q&&ri&&(i+=1),!G&&V&&di&&"user"!==O&&(i+=1),i},[K,J,Q,W,G,U,P,F,I,ri,ei,pi,di,V,ti,mi,N,O]),qi=r(()=>{var i,o,n,s;const e=null===(i=null==Li?void 0:Li.current)||void 0===i?void 0:i.element,t=null!==(o=vi.current)&&void 0!==o?o:ki.current,r=null==Ci?void 0:Ci.current;if(!e||!t)return;const c=e.getBoundingClientRect(),d=t.getBoundingClientRect(),p=null!==(n=null==r?void 0:r.offsetHeight)&&void 0!==n?n:48*Ei+16,m=null!==(s=null==r?void 0:r.offsetWidth)&&void 0!==s?s:160,x=c.bottom-d.bottom,a=d.top-c.top,j=x<p+36+8&&a>8,l=d.left-c.left,u=c.right-d.right;let g=!1;g="assistant"===O?l<m+8:u<m+8,wi(j),hi(g)},[Ei,Li,O]);c(()=>{ui&&qi()},[ui,qi]);const Ri=r(()=>{yi.current&&(window.clearTimeout(yi.current),yi.current=null),qi(),gi(!0)},[qi]),Mi=r(()=>{Ri()},[Ri]),Di=r(()=>{yi.current=window.setTimeout(()=>{gi(!1),yi.current=null},300)},[]),Si=r(()=>{ui?gi(!1):Ri()},[Ri,ui]),$i=r(i=>{const o={id:S,message:B};switch(i){case"edit":null==ei||ei({id:S,message:B,variant:O});break;case"delete":null==ri||ri(o);break;case"update":null==ci||ci({id:S});break;case"resend":null==ti||ti(o)}gi(!1)},[S,B,ri,ti,ei,ci]),Bi=r(()=>{null==mi||mi(),gi(!1)},[mi]),Oi=r(()=>{null==pi||pi(),gi(!1)},[pi]),Ai=r(()=>{null==di||di({id:S,message:B}),gi(!1)},[S,B,di]),Pi=p(ui,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:m.easeOutSine}});return d(()=>{if(!ui)return;const i=()=>{gi(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[ui]),d(()=>{if(!ui)return;const i=()=>{qi()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}},[ui,qi]),d(()=>()=>{yi.current&&window.clearTimeout(yi.current)},[]),i(f,{$variant:O,ref:ki,children:[o(n,{children:i(E,{fill:Ti,children:[zi&&i(w,{ref:vi,onBlur:()=>{gi(!1)},children:[o(T,{tooltipLabel:ji,"aria-expanded":ui,"aria-haspopup":"menu",onMouseEnter:"ontouchstart"in window?void 0:Mi,onMouseLeave:"ontouchstart"in window?void 0:Di,onClick:Si,children:o(x,{size:18})}),Pi((n,s)=>s&&i(y,{style:n,ref:Ci,onMouseEnter:Ri,onMouseLeave:Di,$variant:O,$invertedX:bi,$invertedY:fi,children:[!W&&K&&pi&&o(C,{onClick:Oi,children:i(k,{children:[o(b,{}),o(v,{children:K})]})}),!W&&J&&mi&&o(C,{onClick:Bi,children:i(k,{children:[o(b,{}),o(v,{children:J})]})}),!P&&"user"===O&&N&&ti&&o(C,{onClick:()=>{$i("resend")},children:i(k,{children:[o(j,{}),o(v,{children:N})]})}),!F&&!U&&I&&ei&&o(C,{onClick:()=>{$i("edit")},children:i(k,{children:[o(l,{}),o(v,{children:I})]})}),!G&&Q&&ri&&o(C,{onClick:()=>{$i("delete")},children:i(k,{children:[o(u,{}),o(v,{children:Q})]})}),!G&&V&&di&&"user"!==O&&o(C,{onClick:Ai,children:i(k,{children:[o(g,{size:18}),o(v,{children:V})]})})]},"message-actions-modal"))]}),!zi&&!G&&o(T,{id:S,message:B,onClick:ri,tooltipLabel:Q,children:o(u,{size:20})}),!H&&"user"!==O&&o(T,{id:S,message:B,onClick:ci,tooltipLabel:ni,children:o(a,{size:18})}),F&&o(T,{id:S,message:B,onClick:()=>{$i("edit")},tooltipLabel:I,children:o(l,{size:18})}),!W&&o(L,{onCopy:xi,tooltipLabel:si}),!zi&&!G&&V&&di&&"user"!==O&&o(T,{tooltipLabel:V,onClick:Ai,children:o(g,{size:18})})]})}),!X&&o(T,{tooltipLabel:Z,onClick:ai,children:o(h,{size:18})}),!Y&&o(T,{tooltipLabel:ii,children:o(R,{size:18})}),_&&o(T,{tooltipLabel:oi,children:o(E,{size:18,stroke:li.colors.grayScale.gray1,children:o(M,{})})})]})};export{S as MessageActions};
1
+ import{jsxs as i,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as e,useMemo as t,useCallback as r,useLayoutEffect as c,useEffect as d}from"react";import{useTransition as p,easings as m}from"@react-spring/web";import{MenuDotIcon as x}from"../../../icons/menu-dot/index.js";import{UpdateIcon as a}from"../../../icons/update/index.js";import{ResendIcon as l}from"../../../icons/resend/index.js";import{EditIcon as j}from"../../../icons/edit/index.js";import{TrashIcon as u}from"../../../icons/trash/index.js";import{ThumbDownIcon as g}from"../../../icons/thumb-down/index.js";import{CopyIcon as b}from"../../../icons/copy/index.js";import{DownloadImgIcon as h}from"../../../icons/download-img/index.js";import{MessageActionsStyled as f,MessageActionsMenuStyled as w,MessageActionsMenuModal as k,MessageActionsMenuModalOptionContent as y,MessageActionsButtonText as v}from"./styled.js";import{MenuOption as L}from"./menu-option/index.js";import{CopyButton as C}from"./copy-button/index.js";import{ForkButton as T}from"./fork-button/index.js";import{ActionButton as z}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as E}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as q}from"../../icon/context.js";import"../../icon/styled.js";import"react-markdown";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{colorToRgba as R}from"../../../utils/colors/colorToRgba.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../../../icons/arrow-down/index.js";import"../../../icons/arrow-narrow-left/index.js";import"../../../icons/arrow-narrow-right/index.js";import"../../../icons/arrow-up/index.js";import"../../../icons/bitcoin/index.js";import"../../../icons/bot-circle/index.js";import"../../../icons/bothub-agg/index.js";import"../../../icons/business-colored/index.js";import"../../../icons/check-circle/index.js";import"../../../icons/close/index.js";import"../../../icons/email-circle/index.js";import"../../../icons/language/index.js";import"../../../icons/lock-circle/index.js";import"../../../icons/menu/index.js";import"../../../icons/medium-circle/index.js";import"../../../icons/tg-circle/index.js";import"../../../icons/tg-colored/index.js";import"../../../icons/youcassa/index.js";import"../../../icons/dashboard/index.js";import"../../../icons/user-profile/index.js";import"../../../icons/logout/index.js";import"../../../icons/habr-2/index.js";import"../../../icons/arrow-2-down/index.js";import"../../../icons/links/index.js";import"../../../icons/free/index.js";import"../../../icons/hotness/index.js";import"../../../icons/checked/index.js";import"../../../icons/ai/index.js";import"../../../icons/bookmarks/index.js";import"../../../icons/bookmarks-big/index.js";import"../../../icons/chat/index.js";import"../../../icons/chats/index.js";import"../../../icons/coder/index.js";import"../../../icons/presets-big/index.js";import"../../../icons/referal/index.js";import"../../../icons/restore/index.js";import"../../../icons/tariff/index.js";import"../../../icons/plus-2/index.js";import"../../../icons/plus-1/index.js";import"../../../icons/send/index.js";import"../../../icons/settings/index.js";import"../../../icons/habr/index.js";import"../../../icons/check-small/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/star/index.js";import"../../../icons/info-big/index.js";import"../../../icons/warning-big/index.js";import"../../../icons/error-big/index.js";import"../../../icons/success-big/index.js";import"../../../icons/mj/index.js";import"../../../icons/card/index.js";import"../../../icons/arrow-narrow-up/index.js";import"../../../icons/arrow-narrow-down/index.js";import"../../../icons/filters/index.js";import"../../../icons/info/index.js";import"../../../icons/search-circle/index.js";import"../../../icons/save/index.js";import"../../../icons/light/index.js";import"../../../icons/dark/index.js";import"../../../icons/email-colored/index.js";import"../../../icons/action-chat/index.js";import"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/play-button/index.js";import"../../../icons/pause-button/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/fork-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/min-window/index.js";import"../../../icons/max-window/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/system/index.js";import"../../../icons/selector/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/sort-alphabet-top-bottom/index.js";import"../../../icons/sort-alphabet-bottom-top/index.js";import"../../../icons/pause/index.js";import"../../../icons/play/index.js";import"../../../icons/restore-2/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import"../../../icons/queue-select/index.js";import"../../../icons/apple/index.js";import"../../../icons/mail-colored/index.js";import{ShieldIcon as M}from"../../../icons/shield/index.js";import"../../../icons/stars-gradient/index.js";import"../../../icons/fire/index.js";import"../../../icons/brain/index.js";import"../../../icons/mj-purple/index.js";import"../../../icons/claude-black/index.js";import"../../../icons/vk-filled/index.js";import"../../../icons/tg/index.js";import"../../../icons/gift/index.js";import"../../../icons/exchange/index.js";import"../../../icons/time/index.js";import"../../../icons/folder/index.js";import"../../../icons/history/index.js";import{MoneyPlusIcon as S}from"../../../icons/money-plus/index.js";import"../../../icons/money-stack/index.js";import"../../../icons/sort-numeric-bottom/index.js";import"../../../icons/sort-numeric-top/index.js";import"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/workspace/index.js";import"../../../icons/chat-doc/index.js";import"../../../icons/money-spend/index.js";import"../../../icons/money-minus/index.js";import"../../../icons/max-logo-gradient/index.js";import"../../../icons/empty-word/index.js";import"../../../icons/music-file/index.js";import"../../../icons/sad-file/index.js";import"../../../icons/happy-file/index.js";import"../../../icons/volume-off/index.js";import"../../../icons/github/index.js";import"../../../icons/erase/index.js";import"../../../icons/arrow-narrow-stars-right/index.js";import"../../../icons/literature-list/index.js";import"../../../icons/bell-dot/index.js";import"../../../icons/bell/index.js";import"../../../icons/kwaivgi/index.js";import"../../../icons/dollar/index.js";import{useTheme as D}from"../../../theme/hook.js";const $=({id:$,disableModal:B,message:F,variant:O="user",skeleton:A,disableResend:P,disableEdit:U,disableDelete:G,disableUpdate:H,disableCopy:W,disableFork:X=!0,disableDownload:Y,disableEncryption:_,hasCacheTokens:I,forkSelected:J=!1,editOutOfMenu:K,editText:N,copyTgText:Q,copyPlainText:V,resendText:Z,deleteText:ii,onReportText:oi,downloadTooltipLabel:ni,encryptionTooltipLabel:si,cacheTokenTooltipLabel:ei,updateTooltipLabel:ti,copyTooltipLabel:ri,forkTooltipLabel:ci,onEdit:di,onResend:pi,onDelete:mi,onUpdate:xi,onReport:ai,onFork:li,onPlainTextCopy:ji,onTgCopy:ui,onCopy:gi,onDownload:bi,menuAriaLabel:hi})=>{const fi=D(),[wi,ki]=s(!1),[yi,vi]=s(!1),[Li,Ci]=s(!1),Ti=e(null),zi=e(null),Ei=e(null),qi=e(null),Ri=E(),Mi=t(()=>"custom"===fi.scheme?R(fi.colors.custom.icon,.75):"standard"===fi.scheme||"light"===fi.mode?fi.colors.grayScale.gray1:fi.colors.accent.primary,[fi]),Si=t(()=>{if(A)return!1;switch(O){case"assistant":return!B;case"user":return!B&&(!U||!G||!P)}},[A,O,B,U,G,P]),Di=t(()=>{let i=0;return!W&&V&&ji&&(i+=1),!W&&Q&&ui&&(i+=1),!P&&"user"===O&&Z&&pi&&(i+=1),!K&&!U&&N&&di&&(i+=1),!G&&ii&&mi&&(i+=1),!G&&oi&&ai&&"user"!==O&&(i+=1),i},[V,Q,ii,W,G,U,P,K,N,mi,di,ji,ai,oi,pi,ui,Z,O]),$i=r(()=>{var i,o,n,s;const e=null===(i=null==Ri?void 0:Ri.current)||void 0===i?void 0:i.element,t=null!==(o=Ei.current)&&void 0!==o?o:zi.current,r=null==qi?void 0:qi.current;if(!e||!t)return;const c=e.getBoundingClientRect(),d=t.getBoundingClientRect(),p=null!==(n=null==r?void 0:r.offsetHeight)&&void 0!==n?n:48*Di+16,m=null!==(s=null==r?void 0:r.offsetWidth)&&void 0!==s?s:160,x=c.bottom-d.bottom,a=d.top-c.top,l=x<p+36+8&&a>8,j=d.left-c.left,u=c.right-d.right;let g=!1;g="assistant"===O?j<m+8:u<m+8,Ci(l),vi(g)},[Di,Ri,O]);c(()=>{wi&&$i()},[wi,$i]);const Bi=r(()=>{Ti.current&&(window.clearTimeout(Ti.current),Ti.current=null),$i(),ki(!0)},[$i]),Fi=r(()=>{Bi()},[Bi]),Oi=r(()=>{Ti.current=window.setTimeout(()=>{ki(!1),Ti.current=null},300)},[]),Ai=r(()=>{wi?ki(!1):Bi()},[Bi,wi]),Pi=r(i=>{const o={id:$,message:F};switch(i){case"edit":null==di||di({id:$,message:F,variant:O});break;case"delete":null==mi||mi(o);break;case"update":null==xi||xi({id:$});break;case"resend":null==pi||pi(o)}ki(!1)},[$,F,mi,pi,di,xi]),Ui=r(()=>{null==ui||ui(),ki(!1)},[ui]),Gi=r(()=>{null==ji||ji(),ki(!1)},[ji]),Hi=r(()=>{null==ai||ai({id:$,message:F}),ki(!1)},[$,F,ai]),Wi=p(wi,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:m.easeOutSine}});return d(()=>{if(!wi)return;const i=()=>{ki(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[wi]),d(()=>{if(!wi)return;const i=()=>{$i()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}},[wi,$i]),d(()=>()=>{Ti.current&&window.clearTimeout(Ti.current)},[]),i(f,{$variant:O,ref:zi,children:[o(n,{children:i(q,{fill:Mi,children:[Si&&i(w,{ref:Ei,onBlur:()=>{ki(!1)},children:[o(z,{tooltipLabel:hi,"aria-expanded":wi,"aria-haspopup":"menu",onMouseEnter:"ontouchstart"in window?void 0:Fi,onMouseLeave:"ontouchstart"in window?void 0:Oi,onClick:Ai,children:o(x,{size:18})}),Wi((n,s)=>s&&i(k,{style:n,ref:qi,onMouseEnter:Bi,onMouseLeave:Oi,$variant:O,$invertedX:yi,$invertedY:Li,children:[!W&&V&&ji&&o(L,{onClick:Gi,children:i(y,{children:[o(b,{}),o(v,{children:V})]})}),!W&&Q&&ui&&o(L,{onClick:Ui,children:i(y,{children:[o(b,{}),o(v,{children:Q})]})}),!P&&"user"===O&&Z&&pi&&o(L,{onClick:()=>{Pi("resend")},children:i(y,{children:[o(l,{}),o(v,{children:Z})]})}),!K&&!U&&N&&di&&o(L,{onClick:()=>{Pi("edit")},children:i(y,{children:[o(j,{}),o(v,{children:N})]})}),!G&&ii&&mi&&o(L,{onClick:()=>{Pi("delete")},children:i(y,{children:[o(u,{}),o(v,{children:ii})]})}),!G&&oi&&ai&&"user"!==O&&o(L,{onClick:Hi,children:i(y,{children:[o(g,{size:18}),o(v,{children:oi})]})})]},"message-actions-modal"))]}),!Si&&!G&&o(z,{id:$,message:F,onClick:mi,tooltipLabel:ii,children:o(u,{size:20})}),!H&&"user"!==O&&o(z,{id:$,message:F,onClick:xi,tooltipLabel:ti,children:o(a,{size:18})}),K&&o(z,{id:$,message:F,onClick:()=>{Pi("edit")},tooltipLabel:N,children:o(j,{size:18})}),!W&&o(C,{onCopy:gi,tooltipLabel:ri}),!X&&o(T,{id:$,message:F,selected:J,tooltipLabel:ci,iconColor:Mi,onFork:li}),!Si&&!G&&oi&&ai&&"user"!==O&&o(z,{tooltipLabel:oi,onClick:Hi,children:o(g,{size:18})})]})}),!Y&&o(z,{tooltipLabel:ni,onClick:bi,children:o(h,{size:18})}),!_&&o(z,{tooltipLabel:si,children:o(M,{size:18})}),I&&o(z,{tooltipLabel:ei,children:o(q,{size:18,stroke:fi.colors.grayScale.gray1,children:o(S,{})})})]})};export{$ as MessageActions};
@@ -19,9 +19,11 @@ export interface MessageProps {
19
19
  disableDelete?: boolean;
20
20
  disableUpdate?: boolean;
21
21
  disableCopy?: boolean;
22
+ disableFork?: boolean;
22
23
  disableDownload?: boolean;
23
24
  disableEncryption?: boolean;
24
25
  hasCacheTokens?: boolean;
26
+ forkSelected?: boolean;
25
27
  copyPlainText?: string | null;
26
28
  copyTgText?: string | null;
27
29
  editText?: string | null;
@@ -31,6 +33,7 @@ export interface MessageProps {
31
33
  onReportText?: string | null;
32
34
  updateTooltipLabel?: string | null;
33
35
  copyTooltipLabel?: string | null;
36
+ forkTooltipLabel?: string | null;
34
37
  downloadTooltipLabel?: string | null;
35
38
  encryptionTooltipLabel?: string | null;
36
39
  cacheTokenTooltipLabel?: string | null;
@@ -52,6 +55,7 @@ export interface MessageProps {
52
55
  onDelete?: MessageActionEventHandler;
53
56
  onUpdate?: MessageActionEventHandler;
54
57
  onReport?: MessageActionEventHandler;
58
+ onFork?: MessageActionEventHandler;
55
59
  onNextVersion?: MessageVersionEventHandler;
56
60
  onPrevVersion?: MessageVersionEventHandler;
57
61
  onDownload?: () => void;