@patternfly/chatbot 6.5.0-prerelease.23 → 6.5.0-prerelease.25
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/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +12 -2
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +1 -0
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.js +131 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +5 -5
- package/dist/cjs/MessageBar/MessageBar.js +18 -4
- package/dist/css/main.css +34 -9
- package/dist/css/main.css.map +1 -1
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +12 -2
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +1 -0
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.js +126 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.js +6 -6
- package/dist/esm/MessageBar/MessageBar.js +18 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +14 -1
- package/src/Message/CodeBlockMessage/CodeBlockMessage.test.tsx +171 -0
- package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +12 -3
- package/src/Message/QuickResponse/QuickResponse.scss +3 -1
- package/src/Message/UserFeedback/UserFeedback.scss +28 -1
- package/src/Message/UserFeedback/UserFeedback.tsx +22 -12
- package/src/MessageBar/AttachButton.scss +0 -1
- package/src/MessageBar/MessageBar.scss +11 -2
- package/src/MessageBar/MessageBar.tsx +22 -3
- package/src/MessageBar/MicrophoneButton.scss +0 -1
- package/src/MessageBar/SendButton.scss +0 -1
- package/src/MessageBar/StopButton.scss +0 -1
|
@@ -161,6 +161,7 @@ export const MessageBarBase: FunctionComponent<MessageBarProps> = ({
|
|
|
161
161
|
const [isListeningMessage, setIsListeningMessage] = useState<boolean>(false);
|
|
162
162
|
const [hasSentMessage, setHasSentMessage] = useState(false);
|
|
163
163
|
const [isComposing, setIsComposing] = useState(false);
|
|
164
|
+
const [isMultiline, setIsMultiline] = useState(false);
|
|
164
165
|
const inputRef = useRef<HTMLTextAreaElement>(null);
|
|
165
166
|
const textareaRef = (innerRef as React.RefObject<HTMLTextAreaElement>) ?? inputRef;
|
|
166
167
|
const attachButtonRef = useRef<HTMLButtonElement>(null);
|
|
@@ -209,6 +210,19 @@ export const MessageBarBase: FunctionComponent<MessageBarProps> = ({
|
|
|
209
210
|
return lines > 2;
|
|
210
211
|
};
|
|
211
212
|
|
|
213
|
+
const checkIfMultiline = useCallback(
|
|
214
|
+
(field: HTMLTextAreaElement) => {
|
|
215
|
+
const parent = field.parentElement;
|
|
216
|
+
const grandparent = parent?.parentElement;
|
|
217
|
+
if (grandparent) {
|
|
218
|
+
const containerHeight = grandparent.offsetHeight;
|
|
219
|
+
const threshold = isCompact ? 56 : 70;
|
|
220
|
+
setIsMultiline(containerHeight > threshold);
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
[isCompact]
|
|
224
|
+
);
|
|
225
|
+
|
|
212
226
|
const setAutoWidth = useCallback((field: HTMLTextAreaElement) => {
|
|
213
227
|
const parent = field.parentElement;
|
|
214
228
|
if (parent) {
|
|
@@ -263,12 +277,14 @@ export const MessageBarBase: FunctionComponent<MessageBarProps> = ({
|
|
|
263
277
|
if (field) {
|
|
264
278
|
if (field.value === '') {
|
|
265
279
|
setInitialLineHeight(field);
|
|
280
|
+
setIsMultiline(false);
|
|
266
281
|
} else {
|
|
267
282
|
setAutoHeight(field);
|
|
268
283
|
setAutoWidth(field);
|
|
284
|
+
checkIfMultiline(field);
|
|
269
285
|
}
|
|
270
286
|
}
|
|
271
|
-
}, [displayMode, message, setAutoWidth]);
|
|
287
|
+
}, [displayMode, message, setAutoWidth, checkIfMultiline]);
|
|
272
288
|
|
|
273
289
|
useEffect(() => {
|
|
274
290
|
const field = textareaRef.current;
|
|
@@ -284,13 +300,15 @@ export const MessageBarBase: FunctionComponent<MessageBarProps> = ({
|
|
|
284
300
|
if (textareaRef.current) {
|
|
285
301
|
if (event.target.value === '') {
|
|
286
302
|
setInitialLineHeight(textareaRef.current);
|
|
303
|
+
setIsMultiline(false);
|
|
287
304
|
} else {
|
|
288
305
|
setAutoHeight(textareaRef.current);
|
|
306
|
+
checkIfMultiline(textareaRef.current);
|
|
289
307
|
}
|
|
290
308
|
}
|
|
291
309
|
setMessage(event.target.value);
|
|
292
310
|
},
|
|
293
|
-
[onChange]
|
|
311
|
+
[onChange, checkIfMultiline]
|
|
294
312
|
);
|
|
295
313
|
|
|
296
314
|
// Handle sending message
|
|
@@ -453,7 +471,7 @@ export const MessageBarBase: FunctionComponent<MessageBarProps> = ({
|
|
|
453
471
|
return (
|
|
454
472
|
<AttachMenu
|
|
455
473
|
toggle={(toggleRef) => (
|
|
456
|
-
<div ref={toggleRef} className={
|
|
474
|
+
<div ref={toggleRef} className={css('pf-chatbot__message-bar', isMultiline && 'pf-m-multiline', className)}>
|
|
457
475
|
{messageBarContents}
|
|
458
476
|
</div>
|
|
459
477
|
)}
|
|
@@ -481,6 +499,7 @@ export const MessageBarBase: FunctionComponent<MessageBarProps> = ({
|
|
|
481
499
|
isPrimary && 'pf-m-primary',
|
|
482
500
|
hasAiIndicator && 'pf-v6-m-ai-indicator',
|
|
483
501
|
isThinking && 'pf-v6-m-thinking',
|
|
502
|
+
isMultiline && 'pf-m-multiline',
|
|
484
503
|
className
|
|
485
504
|
)}
|
|
486
505
|
>
|