From 3f99e1ba595d9c5c56a6ac3fea6728cc3aca5d44 Mon Sep 17 00:00:00 2001 From: ewinchel Date: Thu, 11 Jul 2024 10:59:19 -0400 Subject: [PATCH 01/39] fix: header styling updates --- .../src/VirtualAssistant/VirtualAssistant.tsx | 51 +++++++++++++++++-- .../src/VirtualAssistant/icon-chatbot.tsx | 37 ++++++++++++++ 2 files changed, 84 insertions(+), 4 deletions(-) create mode 100644 packages/module/src/VirtualAssistant/icon-chatbot.tsx diff --git a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx index 8d9104008..060a2670d 100644 --- a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx +++ b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx @@ -6,34 +6,70 @@ import { CardFooter, CardHeader, CardTitle, + Icon, InputGroup, InputGroupText, + Flex, TextArea } from '@patternfly/react-core'; import { createUseStyles } from 'react-jss'; import classnames from "clsx"; import { PaperPlaneIcon } from '@patternfly/react-icons'; +import ChatbotIcon from './icon-chatbot'; const useStyles = createUseStyles({ card: { width: "350px", height: "550px", overflow: "hidden", + borderRadius: "20px 20px 0 0", "@media screen and (max-width: 768px)": { height: "420px", width: "100%", }, }, cardHeader: { - background: "var(--pf-v5-global--BackgroundColor--dark-400)", + background: "linear-gradient(180deg, #C9190B 0%, #A30000 100%, #3D0000 100.01%)", + boxShadow: "0px 3px 5px 0px rgba(0,0,0,0.40) !important", + height: "74px", + marginBottom: "6px", + "&:first-child": { + paddingBlockStart: "10px", + paddingInlineEnd: "10px", + }, "& .pf-v5-c-button.pf-m-plain": { color: "var(--pf-v5-global--Color--light-100)", paddingLeft: "0", paddingRight: "0", + "& .pf-v5-svg": { + width: ".8em", + height: ".8em", + verticalAlign: "1em", + } } }, cardTitle: { + alignSelf: "center", color: "var(--pf-v5-global--Color--light-100)", + fontSize: "18px", + fontWeight: "400", + lineHeight: "27px", + paddingLeft: "var(--pf-v5-global--spacer--sm)", + }, + titleIcon: { + marginLeft: "8px", + marginTop: "10px", + fontSize: "28px", + color: "#C9190B", + }, + titleIconWrapper: { + display: "block", + float: "left", + width: "38px", + height: "38px", + background: "#fff", + borderRadius: "20px", + marginRight: "7px", /*space between*/ }, cardBody: { backgroundColor: "var(--pf-v5-global--BackgroundColor--100)", @@ -105,9 +141,16 @@ export const VirtualAssistant: React.FunctionComponent = - - {title} - + +
+ + + +
+
+ {title} +
+
{children} diff --git a/packages/module/src/VirtualAssistant/icon-chatbot.tsx b/packages/module/src/VirtualAssistant/icon-chatbot.tsx new file mode 100644 index 000000000..110ce5f64 --- /dev/null +++ b/packages/module/src/VirtualAssistant/icon-chatbot.tsx @@ -0,0 +1,37 @@ +import React from 'react'; + +const ChatBotIcon = () => { + return ( + + + + + + + + + + + + + + + + + + + + + ); +}; +export default ChatBotIcon; From 90e84999b2fc77a70fa43a58074a4c96e5a83861 Mon Sep 17 00:00:00 2001 From: epwinchell <1287144+epwinchell@users.noreply.github.com> Date: Thu, 11 Jul 2024 11:18:51 -0400 Subject: [PATCH 02/39] lint fixes --- packages/module/src/VirtualAssistant/VirtualAssistant.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx index 060a2670d..b777e5b63 100644 --- a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx +++ b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx @@ -5,7 +5,6 @@ import { CardBody, CardFooter, CardHeader, - CardTitle, Icon, InputGroup, InputGroupText, @@ -13,7 +12,6 @@ import { TextArea } from '@patternfly/react-core'; import { createUseStyles } from 'react-jss'; -import classnames from "clsx"; import { PaperPlaneIcon } from '@patternfly/react-icons'; import ChatbotIcon from './icon-chatbot'; From 3fadcbb778000f43da2656f69f3b12920f698c0d Mon Sep 17 00:00:00 2001 From: epwinchell <1287144+epwinchell@users.noreply.github.com> Date: Fri, 12 Jul 2024 11:45:48 -0400 Subject: [PATCH 03/39] lint fix #2 --- packages/module/src/VirtualAssistant/VirtualAssistant.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx index b777e5b63..965171e4e 100644 --- a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx +++ b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx @@ -67,7 +67,7 @@ const useStyles = createUseStyles({ height: "38px", background: "#fff", borderRadius: "20px", - marginRight: "7px", /*space between*/ + marginRight: "7px", }, cardBody: { backgroundColor: "var(--pf-v5-global--BackgroundColor--100)", From 8a3209925606488aadb6376937c11d55acb09997 Mon Sep 17 00:00:00 2001 From: ewinchel Date: Mon, 15 Jul 2024 12:58:44 -0400 Subject: [PATCH 04/39] fix: user message styling update --- .../src/UserMessageEntry/UserMessageEntry.tsx | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/module/src/UserMessageEntry/UserMessageEntry.tsx b/packages/module/src/UserMessageEntry/UserMessageEntry.tsx index 551c34b2d..55b89fcd4 100644 --- a/packages/module/src/UserMessageEntry/UserMessageEntry.tsx +++ b/packages/module/src/UserMessageEntry/UserMessageEntry.tsx @@ -1,6 +1,5 @@ import React, { PropsWithChildren } from 'react'; -import { Icon, Split, SplitItem, TextContent } from '@patternfly/react-core'; -import OutlinedUserIcon from '@patternfly/react-icons/dist/js/icons/outlined-user-icon'; +import { Split, SplitItem, TextContent } from '@patternfly/react-core'; import { createUseStyles } from 'react-jss'; import classnames from "clsx"; @@ -9,8 +8,9 @@ const useStyles = createUseStyles({ margin: "0 0 12px 40px", }, bubbleUser: { - border: "1px solid var(--pf-v5-global--BackgroundColor--dark-400)", + backgroundColor: "var(--pf-v5-global--danger-color--100)", borderRadius: "14px", + color: "#fff", padding: "var(--pf-v5-global--spacer--sm) var(--pf-v5-global--spacer--md) var(--pf-v5-global--spacer--sm) var(--pf-v5-global--spacer--md)", maxWidth: "100%", wordWrap: "break-word", @@ -21,22 +21,17 @@ interface UserMessageEntryProps { icon?: React.ComponentClass; } -const UserMessageEntry = ({ children, icon: IconComponent = OutlinedUserIcon }: PropsWithChildren) => { +const UserMessageEntry = ({ children }: PropsWithChildren) => { const classes = useStyles(); return ( <> - + {children} - - - - - ); From a0e501af359b14dd1ff5f1b7444d1f6434ec7a9d Mon Sep 17 00:00:00 2001 From: ewinchel Date: Mon, 15 Jul 2024 12:58:44 -0400 Subject: [PATCH 05/39] fix: user message styling update --- .../examples/VirtualAssistant/VirtualAssistant.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/module/patternfly-docs/content/extensions/virtual-assistant/examples/VirtualAssistant/VirtualAssistant.md b/packages/module/patternfly-docs/content/extensions/virtual-assistant/examples/VirtualAssistant/VirtualAssistant.md index 06c5fb0c1..3da6cd2aa 100644 --- a/packages/module/patternfly-docs/content/extensions/virtual-assistant/examples/VirtualAssistant/VirtualAssistant.md +++ b/packages/module/patternfly-docs/content/extensions/virtual-assistant/examples/VirtualAssistant/VirtualAssistant.md @@ -112,7 +112,7 @@ This is an example of a message sent by assistant with follow-up options. Follow ### User Message -This is an example of a message sent by user. Additionally, it allows for the use of a custom icon through the `icon` property. +This is an example of a message sent by user. ```js file="./UserMessage.tsx" From c89ba40b922fb430e1a0f5b5396160c96e566742 Mon Sep 17 00:00:00 2001 From: ewinchel Date: Mon, 15 Jul 2024 14:03:00 -0400 Subject: [PATCH 06/39] fix: increase default size of virtual assistant --- packages/module/src/VirtualAssistant/VirtualAssistant.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx index 8d9104008..aedd2cde6 100644 --- a/packages/module/src/VirtualAssistant/VirtualAssistant.tsx +++ b/packages/module/src/VirtualAssistant/VirtualAssistant.tsx @@ -16,8 +16,8 @@ import { PaperPlaneIcon } from '@patternfly/react-icons'; const useStyles = createUseStyles({ card: { - width: "350px", - height: "550px", + width: "400px", + height: "600px", overflow: "hidden", "@media screen and (max-width: 768px)": { height: "420px", From b273aafc8b8994f8b59fa3fb151eaa828b1270a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josejulio=20Mart=C3=ADnez?= Date: Wed, 17 Jul 2024 11:22:01 -0600 Subject: [PATCH 07/39] fix: Using custom icon for VirtualAssistant component --- .../VirtualAssistant.test.tsx | 8 ++ .../src/VirtualAssistant/VirtualAssistant.tsx | 5 +- .../VirtualAssistant.test.tsx.snap | 89 +++++++++++++++++-- .../src/VirtualAssistant/icon-chatbot.tsx | 54 ++++++----- 4 files changed, 121 insertions(+), 35 deletions(-) diff --git a/packages/module/src/VirtualAssistant/VirtualAssistant.test.tsx b/packages/module/src/VirtualAssistant/VirtualAssistant.test.tsx index 16d78cd34..6d4cdf035 100644 --- a/packages/module/src/VirtualAssistant/VirtualAssistant.test.tsx +++ b/packages/module/src/VirtualAssistant/VirtualAssistant.test.tsx @@ -37,6 +37,14 @@ describe('VirtualAssistant', () => { expect(screen.getByText('I am the message')).toBeTruthy(); }); + it('should use custom icon', () => { + const MyIcon: React.FunctionComponent = () => FakeIcon; + render(); + expect(screen.getByText('FakeIcon')).toBeTruthy(); + }); + it('should listen to message changes', async () => { const listener = jest.fn(); render( = ({ @@ -119,6 +121,7 @@ export const VirtualAssistant: React.FunctionComponent = onSendMessage, isInputDisabled = false, isSendButtonDisabled = false, + icon: VAIcon = undefined, }: VirtualAssistantProps) => { const classes = useStyles(); @@ -142,7 +145,7 @@ export const VirtualAssistant: React.FunctionComponent =
- + {VAIcon ? : }
diff --git a/packages/module/src/VirtualAssistant/__snapshots__/VirtualAssistant.test.tsx.snap b/packages/module/src/VirtualAssistant/__snapshots__/VirtualAssistant.test.tsx.snap index 05b140308..2b68e5c70 100644 --- a/packages/module/src/VirtualAssistant/__snapshots__/VirtualAssistant.test.tsx.snap +++ b/packages/module/src/VirtualAssistant/__snapshots__/VirtualAssistant.test.tsx.snap @@ -16,10 +16,87 @@ exports[`VirtualAssistant should render assistant 1`] = ` class="pf-v5-c-card__header-main" >
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
Virtual Assistant @@ -28,16 +105,16 @@ exports[`VirtualAssistant should render assistant 1`] = `