@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.
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/color-picker/menu/index.js +1 -1
- package/dist/components/color-picker/menu/styled.d.ts +284 -4
- package/dist/components/color-picker/menu/styled.js +3 -5
- package/dist/components/file-field/index.js +1 -1
- package/dist/components/file-icon/index.js +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/footer/mobile/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/header/menu-nav/config.js +1 -1
- package/dist/components/header/menu-nav/index.js +1 -1
- package/dist/components/header/menu-nav/styled.js +1 -1
- package/dist/components/header/multi-level-menu/multi-level-menu-accordion/ui/styled.js +1 -1
- package/dist/components/header/multi-level-menu/multi-level-menu-first-level/ui/styled.js +1 -1
- package/dist/components/header/multi-level-menu/styled.js +1 -1
- package/dist/components/input-message/index.js +1 -1
- package/dist/components/input-message/input-files.js +1 -1
- package/dist/components/lang-switcher/styled.js +1 -1
- package/dist/components/message/actions/fork-button/index.d.ts +11 -0
- package/dist/components/message/actions/fork-button/index.js +1 -0
- package/dist/components/message/actions/fork-button/styled.d.ts +297 -0
- package/dist/components/message/actions/fork-button/styled.js +1 -0
- package/dist/components/message/actions/index.d.ts +5 -1
- package/dist/components/message/actions/index.js +1 -1
- package/dist/components/message/index.d.ts +4 -0
- package/dist/components/message/index.js +1 -1
- package/dist/components/message/scroll-button/styled.js +1 -1
- package/dist/components/message/search-results/index.js +1 -1
- package/dist/components/message/styled.d.ts +4 -1
- package/dist/components/message/styled.js +1 -1
- package/dist/components/message/video/index.js +1 -1
- package/dist/components/pagination/styled.js +1 -1
- package/dist/components/select-field/select-modal/index.js +1 -1
- package/dist/components/select-field/select-modal/option/checkbox-group/styled.js +1 -1
- package/dist/components/select-field/select-modal/option/list/index.js +1 -1
- package/dist/components/select-field/styled.js +5 -5
- package/dist/components/sidebar/chat/index.js +1 -1
- package/dist/components/sidebar/chat/styled.js +1 -1
- package/dist/components/sidebar/group/index.js +1 -1
- package/dist/components/sidebar/group/styled.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sidebar/styled.js +1 -1
- package/dist/components/sidebar/toggle-button/index.js +1 -1
- package/dist/components/sidebar/user-info/index.js +1 -1
- package/dist/components/sidebar/user-info/skeleton.js +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/stepper/styled.js +1 -1
- package/dist/components/tariff/card/styled.js +1 -1
- package/dist/components/uploaded-file/index.js +1 -1
- package/dist/components/uploaded-file/styled.js +1 -1
- package/dist/icons/fork-chat/index.d.ts +1 -0
- package/dist/icons/fork-chat/index.js +1 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/prepareClipboardHtml.d.ts +4 -0
- package/dist/utils/prepareClipboardHtml.js +1 -0
- package/dist/utils/processSelection.js +1 -1
- 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;
|