@pega/cosmos-react-demos 4.0.0-dev.4.0 → 4.0.0-dev.5.1
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/jsx/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
- package/jsx/build/FlowModeller/FlowModeller.mocks.jsx +2 -17
- package/jsx/build/FlowModeller/FlowModeller.mocks.jsx.map +1 -1
- package/jsx/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/jsx/build/PageTemplates/PageTemplates.stories.jsx +1 -1
- package/jsx/build/PageTemplates/PageTemplates.stories.jsx.map +1 -1
- package/jsx/core/Banner/Banner.stories.d.ts +5 -4
- package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
- package/jsx/core/Banner/Banner.stories.jsx +80 -43
- package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
- package/jsx/core/Form/Form.stories.d.ts.map +1 -1
- package/jsx/core/Form/Form.stories.jsx +2 -2
- package/jsx/core/Form/Form.stories.jsx.map +1 -1
- package/jsx/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -1
- package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx +12 -2
- package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx.map +1 -1
- package/jsx/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/jsx/core/PageTemplates/PageTemplates.stories.jsx +2 -2
- package/jsx/core/PageTemplates/PageTemplates.stories.jsx.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.d.ts +16 -0
- package/jsx/cs/CSAppShell/CSAppShell.mocks.d.ts.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx +93 -3
- package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.stories.jsx +3 -33
- package/jsx/cs/CSAppShell/CSAppShell.stories.jsx.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +0 -2
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
- package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.stories.jsx +0 -2
- package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
- package/jsx/social/Email/Email.stories.d.ts.map +1 -1
- package/jsx/social/Email/Email.stories.jsx +14 -11
- package/jsx/social/Email/Email.stories.jsx.map +1 -1
- package/lib/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
- package/lib/build/FlowModeller/FlowModeller.mocks.js +2 -17
- package/lib/build/FlowModeller/FlowModeller.mocks.js.map +1 -1
- package/lib/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/lib/build/PageTemplates/PageTemplates.stories.js +1 -1
- package/lib/build/PageTemplates/PageTemplates.stories.js.map +1 -1
- package/lib/core/Banner/Banner.stories.d.ts +5 -4
- package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
- package/lib/core/Banner/Banner.stories.js +81 -30
- package/lib/core/Banner/Banner.stories.js.map +1 -1
- package/lib/core/Form/Form.stories.d.ts.map +1 -1
- package/lib/core/Form/Form.stories.js +2 -2
- package/lib/core/Form/Form.stories.js.map +1 -1
- package/lib/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -1
- package/lib/core/MultiStepForm/MultiStepForm.stories.js +12 -2
- package/lib/core/MultiStepForm/MultiStepForm.stories.js.map +1 -1
- package/lib/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/lib/core/PageTemplates/PageTemplates.stories.js +2 -2
- package/lib/core/PageTemplates/PageTemplates.stories.js.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.d.ts +16 -0
- package/lib/cs/CSAppShell/CSAppShell.mocks.d.ts.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.js +72 -3
- package/lib/cs/CSAppShell/CSAppShell.mocks.js.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.stories.js +4 -17
- package/lib/cs/CSAppShell/CSAppShell.stories.js.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js +0 -2
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
- package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
- package/lib/social/Chat/Chat.stories.js +0 -2
- package/lib/social/Chat/Chat.stories.js.map +1 -1
- package/lib/social/Email/Email.stories.d.ts.map +1 -1
- package/lib/social/Email/Email.stories.js +14 -11
- package/lib/social/Email/Email.stories.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSAppShell.stories.js","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState, MouseEvent, useMemo } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n AppShellProps,\n createUID,\n TwoColumnPage,\n Icon,\n registerIcon,\n Button,\n Form,\n Flex,\n Input,\n Select,\n Option\n} from '@pega/cosmos-react-core';\nimport * as chatSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/chat-solid.icon';\n\nimport { CaseViewMock } from '../../work/CaseView/CaseView.mocks';\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TasksDemo } from '../../work/Tasks/Tasks.stories';\nimport { FeedDemo } from '../../social/Feed/Feed.stories';\nimport { EmailShellDemo } from '../../social/Email/Email.stories';\nimport { StandardChat } from '../../social/Chat/Chat.stories';\nimport { TaskManagerDemo } from '../TaskManager/TaskManager.stories';\nimport {\n InteractionTimerDemo as InteractionTimerStory,\n InteractionTimerStoryProps\n} from '../InteractionTimer/InteractionTimer.stories';\n\nimport { AppShellMockData, CTIControlPanel, CTIControlPanelContext } from './CSAppShell.mocks';\n\nregisterIcon(chatSolidIcon);\n\nexport default {\n title: 'Customer Service/CS App Shell',\n parameters: {\n layout: 'fullscreen'\n },\n args: {\n isDraggable: true,\n hasInteractionNotifications: true,\n enableSla: true,\n ctiPanel: 'internal',\n applyThemeToExternalCTI: false\n },\n argTypes: {\n isDraggable: { control: { type: 'boolean' } },\n hasInteractionNotifications: { control: { type: 'boolean' } },\n enableSla: { control: { type: 'boolean' } },\n ctiPanel: { options: ['internal', 'external'], control: { type: 'inline-radio' } },\n applyThemeToExternalCTI: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CSAppShellProps {\n isDraggable?: boolean;\n hasInteractionNotifications?: InteractionTimerStoryProps['hasNotifications'];\n enableSla?: InteractionTimerStoryProps['showTimer'];\n ctiPanel: 'internal' | 'external';\n applyThemeToExternalCTI: boolean;\n}\n\nexport const CSAppShell: Story<CSAppShellProps> = (args: CSAppShellProps) => {\n const CaseData = AppShellMockData as any;\n\n const home = <TwoColumnPage a={<FeedDemo />} b={<TasksDemo />} title='Welcome, Sara Davis' />;\n\n const [mainContent, setMainContent] = useState(home);\n const [caseID, setCaseID] = useState(1001);\n const [cases, setCases] = useState<AppShellProps['cases']>([]);\n const [links, setLinks] = useState<AppShellProps['links']>([\n {\n id: '01',\n name: 'Home',\n href: '#home',\n icon: 'home-solid'\n }\n ]);\n\n const renderCaseView = (name: string) => {\n if (name) {\n const { heading } = CaseData[name];\n\n let persistentUtilityContent;\n if (name === 'Mail interaction') {\n persistentUtilityContent = {\n content: <EmailShellDemo hideSuggestions />,\n title: 'Email'\n };\n } else if (name === 'Chat interaction') {\n persistentUtilityContent = {\n content: <StandardChat chatWidth='100%' />,\n title: 'Chat'\n };\n }\n setMainContent(\n <CaseViewMock\n stages={false}\n tasks={<TaskManagerDemo verbatimStatus='pending' />}\n persistentUtility={persistentUtilityContent}\n heading={heading}\n />\n );\n }\n };\n\n const setActiveItem = (key: string) => {\n setCases((prevCases = []) => {\n return prevCases.map(caseItem => {\n return { ...caseItem, active: caseItem.id === key };\n });\n });\n setLinks((prevLinks = []) => {\n return prevLinks.map(link => {\n return {\n ...link,\n active: link.name === key\n };\n });\n });\n };\n\n const createInteraction = (createLink: {\n primary: string;\n secondary?: string;\n icon: string;\n meta: string;\n customerName?: string;\n }) => {\n const { primary, secondary, icon, customerName } = createLink;\n const key: string = createUID();\n const createdAt = new Date().getTime();\n const newCase = {\n visual: (\n <InteractionTimerStory\n icon={icon}\n showTimer={args.enableSla}\n hasNotifications={args.hasInteractionNotifications}\n meta={args.enableSla ? '0:00' : createLink.meta}\n interactionType={primary}\n />\n ),\n primary: customerName || 'Unknown customer',\n secondary,\n createdAt,\n id: key,\n active: true,\n onClick: () => {\n setActiveItem(key);\n renderCaseView(primary);\n },\n onDismiss: (e: any) => {\n setActiveItem('Home');\n e.stopPropagation();\n setCases((prevCases = []) => prevCases.filter(caseItem => caseItem.id !== key));\n setMainContent(home);\n }\n };\n setCases((prevCases = []) => [...prevCases, newCase]);\n setActiveItem(key);\n setCaseID(caseID + 1);\n renderCaseView(primary);\n };\n\n const createLinks = [\n {\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'FH',\n customerName: 'Ginger Ventura'\n },\n {\n primary: 'Chat interaction',\n secondary: 'Sent 2h ago',\n icon: 'chat-solid',\n meta: 'SC',\n customerName: 'Sara Davis'\n },\n {\n primary: 'Mail interaction',\n secondary: 'Received 20s ago',\n icon: 'mail-solid',\n meta: 'JB',\n customerName: 'John Brown'\n }\n ].map(item => {\n const { primary, icon } = item;\n return {\n name: primary,\n icon,\n href: '',\n onClick: () => {\n createInteraction(item);\n }\n };\n });\n\n useEffect(() => {\n createInteraction({\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'GV',\n customerName: 'Ginger Ventura'\n });\n }, []);\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n action('Click')(`${e.currentTarget.name}:${e.type}`);\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary'>\n Log in\n </Button>\n </>\n );\n\n const chatSettings = (\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }} item={{ grow: 1 }}>\n <Form actions={actions}>\n <Input name='agentId' label='Agent Id' autoComplete='off' />\n\n <Input name='password' type='password' label='Password' autoComplete='off' />\n <Select label='Make me'>\n <Option>Available</Option>\n <Option>Unavailable</Option>\n </Select>\n </Form>\n </Flex>\n );\n\n const utils = [\n {\n name: 'Chat settings',\n visual: <Icon name='chat-solid' />,\n drawerView: chatSettings,\n drawerHeader: 'Pega Chat Log In'\n },\n <CTIControlPanel />\n ];\n\n const appInfo = {\n href: 'https://www.pega.com/',\n imageSrc:\n 'https://www.clipartmax.com/png/middle/345-3454195_account-executive-civilian-pega-logo-png.png',\n fullImageSrc: 'Full Image Source',\n appName: 'CS AppShell'\n };\n\n return (\n <CTIControlPanelContext.Provider\n value={useMemo(\n () => ({\n type: args.ctiPanel,\n draggable: args.isDraggable,\n applyAppStyling: args.applyThemeToExternalCTI\n }),\n [args.isDraggable, args.applyThemeToExternalCTI, args.ctiPanel]\n )}\n >\n <AppShellDemo\n main={mainContent}\n appInfo={appInfo}\n cases={cases}\n createLinks={createLinks}\n caseLinks={links}\n utils={utils}\n onLinkClick={(name: string) => {\n if (name === 'Home') {\n setMainContent(home);\n }\n setActiveItem(name);\n }}\n collapsedHoverMenus\n />\n </CTIControlPanelContext.Provider>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CSAppShell.stories.js","sourceRoot":"","sources":["../../../src/cs/CSAppShell/CSAppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState, useMemo } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport { AppShellProps, createUID, TwoColumnPage, registerIcon } from '@pega/cosmos-react-core';\nimport * as chatSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/chat-solid.icon';\n\nimport { CaseViewMock } from '../../work/CaseView/CaseView.mocks';\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TasksDemo } from '../../work/Tasks/Tasks.stories';\nimport { FeedDemo } from '../../social/Feed/Feed.stories';\nimport { EmailShellDemo } from '../../social/Email/Email.stories';\nimport { StandardChat } from '../../social/Chat/Chat.stories';\nimport { TaskManagerDemo } from '../TaskManager/TaskManager.stories';\nimport {\n InteractionTimerDemo as InteractionTimerStory,\n InteractionTimerStoryProps\n} from '../InteractionTimer/InteractionTimer.stories';\n\nimport {\n AppShellMockData,\n ChatSettingsPanelMock,\n CTIControlPanel,\n CTIControlPanelContext\n} from './CSAppShell.mocks';\n\nregisterIcon(chatSolidIcon);\n\nexport default {\n title: 'Customer Service/CS App Shell',\n parameters: {\n layout: 'fullscreen'\n },\n args: {\n isDraggable: true,\n hasInteractionNotifications: true,\n enableSla: true,\n ctiPanel: 'internal',\n applyThemeToExternalCTI: false\n },\n argTypes: {\n isDraggable: { control: { type: 'boolean' } },\n hasInteractionNotifications: { control: { type: 'boolean' } },\n enableSla: { control: { type: 'boolean' } },\n ctiPanel: { options: ['internal', 'external'], control: { type: 'inline-radio' } },\n applyThemeToExternalCTI: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CSAppShellProps {\n isDraggable?: boolean;\n hasInteractionNotifications?: InteractionTimerStoryProps['hasNotifications'];\n enableSla?: InteractionTimerStoryProps['showTimer'];\n ctiPanel: 'internal' | 'external';\n applyThemeToExternalCTI: boolean;\n}\n\nexport const CSAppShell: Story<CSAppShellProps> = (args: CSAppShellProps) => {\n const CaseData = AppShellMockData as any;\n\n const home = <TwoColumnPage a={<FeedDemo />} b={<TasksDemo />} title='Welcome, Sara Davis' />;\n\n const [mainContent, setMainContent] = useState(home);\n const [caseID, setCaseID] = useState(1001);\n const [cases, setCases] = useState<AppShellProps['cases']>([]);\n const [links, setLinks] = useState<AppShellProps['links']>([\n {\n id: '01',\n name: 'Home',\n href: '#home',\n icon: 'home-solid'\n }\n ]);\n\n const renderCaseView = (name: string) => {\n if (name) {\n const { heading } = CaseData[name];\n\n let persistentUtilityContent;\n if (name === 'Mail interaction') {\n persistentUtilityContent = {\n content: <EmailShellDemo hideSuggestions />,\n title: 'Email'\n };\n } else if (name === 'Chat interaction') {\n persistentUtilityContent = {\n content: <StandardChat chatWidth='100%' />,\n title: 'Chat'\n };\n }\n setMainContent(\n <CaseViewMock\n stages={false}\n tasks={<TaskManagerDemo verbatimStatus='pending' />}\n persistentUtility={persistentUtilityContent}\n heading={heading}\n />\n );\n }\n };\n\n const setActiveItem = (key: string) => {\n setCases((prevCases = []) => {\n return prevCases.map(caseItem => {\n return { ...caseItem, active: caseItem.id === key };\n });\n });\n setLinks((prevLinks = []) => {\n return prevLinks.map(link => {\n return {\n ...link,\n active: link.name === key\n };\n });\n });\n };\n\n const createInteraction = (createLink: {\n primary: string;\n secondary?: string;\n icon: string;\n meta: string;\n customerName?: string;\n }) => {\n const { primary, secondary, icon, customerName } = createLink;\n const key: string = createUID();\n const createdAt = new Date().getTime();\n const newCase = {\n visual: (\n <InteractionTimerStory\n icon={icon}\n showTimer={args.enableSla}\n hasNotifications={args.hasInteractionNotifications}\n meta={args.enableSla ? '0:00' : createLink.meta}\n interactionType={primary}\n />\n ),\n primary: customerName || 'Unknown customer',\n secondary,\n createdAt,\n id: key,\n active: true,\n onClick: () => {\n setActiveItem(key);\n renderCaseView(primary);\n },\n onDismiss: (e: any) => {\n setActiveItem('Home');\n e.stopPropagation();\n setCases((prevCases = []) => prevCases.filter(caseItem => caseItem.id !== key));\n setMainContent(home);\n }\n };\n setCases((prevCases = []) => [...prevCases, newCase]);\n setActiveItem(key);\n setCaseID(caseID + 1);\n renderCaseView(primary);\n };\n\n const createLinks = [\n {\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'FH',\n customerName: 'Ginger Ventura'\n },\n {\n primary: 'Chat interaction',\n secondary: 'Sent 2h ago',\n icon: 'chat-solid',\n meta: 'SC',\n customerName: 'Sara Davis'\n },\n {\n primary: 'Mail interaction',\n secondary: 'Received 20s ago',\n icon: 'mail-solid',\n meta: 'JB',\n customerName: 'John Brown'\n }\n ].map(item => {\n const { primary, icon } = item;\n return {\n name: primary,\n icon,\n href: '',\n onClick: () => {\n createInteraction(item);\n }\n };\n });\n\n useEffect(() => {\n createInteraction({\n primary: 'Phone interaction',\n secondary: 'Received 20s ago',\n icon: 'phone-solid',\n meta: 'GV',\n customerName: 'Ginger Ventura'\n });\n }, []);\n\n const utils = [<ChatSettingsPanelMock />, <CTIControlPanel />];\n\n const appInfo = {\n href: 'https://www.pega.com/',\n imageSrc:\n 'https://www.clipartmax.com/png/middle/345-3454195_account-executive-civilian-pega-logo-png.png',\n fullImageSrc: 'Full Image Source',\n appName: 'CS AppShell'\n };\n\n return (\n <CTIControlPanelContext.Provider\n value={useMemo(\n () => ({\n type: args.ctiPanel,\n draggable: args.isDraggable,\n applyAppStyling: args.applyThemeToExternalCTI\n }),\n [args.isDraggable, args.applyThemeToExternalCTI, args.ctiPanel]\n )}\n >\n <AppShellDemo\n main={mainContent}\n appInfo={appInfo}\n cases={cases}\n createLinks={createLinks}\n caseLinks={links}\n utils={utils}\n onLinkClick={(name: string) => {\n if (name === 'Home') {\n setMainContent(home);\n }\n setActiveItem(name);\n }}\n collapsedHoverMenus\n />\n </CTIControlPanelContext.Provider>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallControlPanel.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/CallControlPanel/CallControlPanel.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAOL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;;AAW/B,wBAaU;AAEV,UAAU,0BAA0B;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACnE,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,CAiRlE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,0BAA0B,GAAG;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"CallControlPanel.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/CallControlPanel/CallControlPanel.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAOL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;;AAW/B,wBAaU;AAEV,UAAU,0BAA0B;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACnE,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,CAiRlE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,0BAA0B,GAAG;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,CAsE5F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallControlPanel.stories.js","sourceRoot":"","sources":["../../../src/cs/CallControlPanel/CallControlPanel.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { useEffect, useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { lighten, readableColor } from 'polished';\n\nimport { createUID, tryCatch, useTheme } from '@pega/cosmos-react-core';\nimport {\n CallControlPanel,\n ExternalCTI,\n CallProps,\n IncomingCallProps,\n CallParticipant,\n TransferData,\n UserAvailabilityStatusOption,\n CallControlPanelProps\n} from '@pega/cosmos-react-cs';\n\nimport {\n contactsList,\n createExternalIframeContent,\n ExternalStyles,\n interactionOptions,\n transferReasons,\n userStatusOptions\n} from './CallControlPanel.mocks';\n\nexport default {\n title: 'Customer Service/CallControlPanel',\n component: CallControlPanel,\n args: {\n heading: 'Agent',\n isDraggable: true,\n showStatus: true\n },\n argTypes: {\n heading: { control: { type: 'text' } },\n isDraggable: { control: { type: 'boolean' } },\n showStatus: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CallControlPanelStoryProps {\n heading: string;\n isDraggable?: boolean;\n showStatus: boolean;\n status?: UserAvailabilityStatusOption['id'];\n onStatusChange?: (newStatus: UserAvailabilityStatusOption) => void;\n visible?: CallControlPanelProps['visible'];\n}\n\nexport const CallControlPanelDemo: Story<CallControlPanelStoryProps> = (\n args: CallControlPanelStoryProps\n) => {\n const [currentStatus, setCurrentStatus] = useState<UserAvailabilityStatusOption['id']>(\n args.status || 'available'\n );\n const inStatusSince = useRef(Date.now());\n const [calls, setCalls] = useState<(CallProps | IncomingCallProps)[]>([]);\n\n const [contacts, setContacts] = useState(contactsList);\n const callsList = useRef(calls);\n callsList.current = calls;\n\n const [showInteractionTransfer, setShowInteractionTransfer] = useState(false);\n\n const onMuteToggle = (id: CallProps['id']) => {\n const thisCallIndex = callsList.current.findIndex(call => call.id === id);\n if (thisCallIndex < 0) return;\n const thisCall = callsList.current[thisCallIndex];\n callsList.current.splice(thisCallIndex, 1, {\n ...thisCall,\n muted: !(thisCall as CallProps).muted\n });\n setCalls([...callsList.current]);\n };\n\n const onMergeCall = (id: CallProps['id']) => {\n const thisCall = callsList.current.find(call => call.id === id) as CallProps;\n const activeCallIndex = callsList.current.findIndex(call => !(call as CallProps).onHoldSince);\n const currentCall = callsList.current[activeCallIndex] as CallProps;\n\n if (!thisCall || !activeCallIndex) return;\n callsList.current.splice(activeCallIndex, 1, {\n ...currentCall,\n participants: [...currentCall.participants, ...thisCall.participants],\n onHoldSince: undefined\n });\n setCalls([...callsList.current.filter(call => call.id !== id)]);\n };\n\n const onHandOffCall = (id: CallProps['id']) => {\n setCalls([\n ...callsList.current.filter(call => call.id !== id && (call as CallProps).onHoldSince)\n ]);\n };\n\n const onPauseToggle = (id: CallProps['id']) => {\n const thisCall = callsList.current.find(call => call.id === id);\n if (!thisCall) return;\n const wasPaused = !!(thisCall as CallProps).onHoldSince;\n callsList.current = callsList.current.map(call => {\n if (thisCall.id === call.id)\n return {\n ...call,\n onHoldSince: wasPaused ? undefined : Date.now(),\n onMergeCall: wasPaused ? onMergeCall : undefined,\n onHandOffCall: wasPaused ? onHandOffCall : undefined\n };\n return {\n ...call,\n onPauseToggle: wasPaused ? undefined : onPauseToggle,\n onMergeCall: wasPaused ? onMergeCall : undefined,\n onHandOffCall: wasPaused ? onHandOffCall : undefined\n };\n });\n setCalls([...callsList.current]);\n };\n\n const onEndCall = (id: CallProps['id']) => {\n setCalls(callsList.current.filter(item => item.id !== id));\n setCurrentStatus('available');\n };\n\n const onHangUp = (callId: CallProps['id'], participantId: CallParticipant['id']) => {\n const currentCallIndex = callsList.current.findIndex(call => call.id === callId);\n if (currentCallIndex < 0) return;\n const currentCall = callsList.current[currentCallIndex] as CallProps;\n callsList.current.splice(currentCallIndex, 1, {\n ...currentCall,\n participants: [\n ...currentCall.participants.filter(participant => participant.id !== participantId)\n ]\n });\n setCalls([...callsList.current]);\n };\n\n const onConferenceAction = (id: CallProps['id'], data: TransferData) => {\n const caller = contactsList.find(person => person.phoneNumber === data.phoneNumber);\n const conferenceCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n onMergeCall,\n transferOptions: transferReasons,\n interactionOptions,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onHandOffCall,\n onEndCall,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onHangUp\n }\n ]\n };\n\n const currentCall = callsList.current[0] as CallProps;\n callsList.current.splice(0, 1, {\n ...callsList.current[0],\n participants: [...currentCall.participants, ...conferenceCall.participants],\n onHoldSince: undefined\n });\n setCalls([...callsList.current.filter(call => call.id !== conferenceCall.id)]);\n };\n\n const onConsultAction = (id: CallProps['id'], data: TransferData) => {\n const caller = contactsList.find(person => person.phoneNumber === data.phoneNumber);\n const consultCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n transferOptions: transferReasons,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onMergeCall,\n onHandOffCall,\n onDTMFPress: action('onDTMFPress'),\n onTransferAction: (callId, transferData) => {\n action('onTransferAction')(callId, transferData);\n if (transferData.interaction) setShowInteractionTransfer(true);\n onEndCall(id);\n },\n onConsultAction,\n onConferenceAction,\n onEndCall,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onHangUp\n }\n ]\n };\n\n const updatedCalls: (CallProps | IncomingCallProps)[] = callsList.current.map(call => {\n return { ...call, onHoldSince: Date.now(), onMergeCall, onPauseToggle: undefined };\n });\n updatedCalls.push(consultCall);\n setCalls(updatedCalls);\n };\n\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n const caller = contactsList[0];\n const consultCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n transferOptions: transferReasons,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onMergeCall,\n onHandOffCall,\n onDTMFPress: action('onDTMFPress'),\n onTransferAction: (callId, transferData) => {\n action('onTransferAction')(callId, transferData);\n if (transferData.interaction) setShowInteractionTransfer(true);\n onEndCall(callId);\n },\n onConsultAction,\n onConferenceAction,\n onEndCall,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onHangUp\n }\n ]\n };\n\n const incomingCall: IncomingCallProps = {\n id: createUID(),\n onAcceptCall: () => {\n setCalls([consultCall]);\n },\n participant: {\n name: contactsList[0].primary,\n info: contactsList[0].secondary,\n id: contactsList[0].primary\n }\n };\n setCalls([incomingCall, ...callsList.current]);\n }, 4000);\n return () => clearTimeout(timeoutId);\n }, []);\n\n return (\n <CallControlPanel\n visible={args.visible ?? true}\n heading={args.heading}\n userStatus={\n args.showStatus\n ? {\n statusOptions: userStatusOptions,\n status: currentStatus,\n inStatusSince: inStatusSince.current,\n onChange: value => {\n setCurrentStatus(value);\n args.onStatusChange?.(\n userStatusOptions.find(s => s.id === value) ?? userStatusOptions[0]\n );\n }\n }\n : undefined\n }\n interactionTransfer={\n showInteractionTransfer\n ? {\n onCancel: () => setShowInteractionTransfer(false),\n onComplete: () => setShowInteractionTransfer(false)\n }\n : undefined\n }\n calls={calls}\n draggable={args.isDraggable}\n onAddCall={(phoneNumber: string) => {\n const call: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n slaConfig: [30, 50],\n onConsultAction,\n onConferenceAction,\n transferOptions: transferReasons,\n interactionOptions,\n onTransferAction: (id, data) => {\n action('onTransferAction')(id, data);\n if (data.interaction) setShowInteractionTransfer(true);\n onEndCall(id);\n },\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onMergeCall,\n onDTMFPress: action('onDTMFPress'),\n onEndCall: () => onEndCall(call.id),\n participants: [\n {\n id: contactsList.find(person => person.phoneNumber === phoneNumber)?.primary || '',\n name:\n contactsList.find(person => person.phoneNumber === phoneNumber)?.primary ||\n 'Unknown',\n onHangUp\n }\n ]\n };\n\n setCalls([call]);\n setCurrentStatus('not_available');\n }}\n contactsList={contacts}\n onFavoriteToggle={(phoneNumber: string, favorite: boolean) => {\n const element = contacts.find(item => item.phoneNumber === phoneNumber);\n element!.favorite = !favorite;\n setContacts([...contacts]);\n }}\n />\n );\n};\n\nexport const ExternalCTIDemo: Story<CallControlPanelStoryProps & { applyAppStyling: boolean }> = (\n args: CallControlPanelStoryProps & { applyAppStyling: boolean }\n) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [error, setError] = useState('');\n\n const { base, components } = useTheme();\n\n const styling: ExternalStyles | undefined = args.applyAppStyling\n ? {\n '--app-bg-color': base.palette['app-background'],\n '--header-border-color': base.palette['secondary-background'],\n '--text-color': base.palette['foreground-color'],\n '--msg-me-bg-color': base.palette.interactive,\n '--msg-me-text-color': tryCatch(() => readableColor(base.palette.interactive)),\n '--msg-you-bg-color': base.palette['primary-background'],\n '--msg-you-text-color': tryCatch(() => readableColor(base.palette['primary-background'])),\n '--msg-border-radius': '16px',\n '--button-text-color': tryCatch(() => readableColor(components.button.color)),\n '--button-bg-color': components.button.color,\n '--button-border-color': 'transparent',\n '--button-border-radius': `calc(${components.button['border-radius']} * ${base['border-radius']})`,\n '--button-hover-bg-color': tryCatch(() => lighten(0.1, components.button.color)),\n '--button-height': components.input.height,\n '--input-height': components.input.height,\n '--input-background-color': components.input['background-color'],\n '--input-text-color': base.palette['foreground-color'],\n '--input-border-radius': `calc(0.5 * ${base['border-radius']})`,\n '--input-focus-border-color': 'transparent',\n '--input-focus-box-shadow': components.button['focus-shadow'],\n '--footer-bg-color': base.palette['app-background']\n }\n : undefined;\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.innerHTML = `\n <iframe id='external-cti' srcdoc='${createExternalIframeContent(\n styling\n )}' width='100%' height='500px'></iframe>\n `;\n }\n }, [containerRef.current, styling]);\n\n return (\n <ExternalCTI\n heading={args.heading}\n draggable={args.isDraggable}\n visible={args.visible}\n ref={containerRef}\n attachInteractionProps={{\n onAddInteraction: ({ comments }, { close }) => {\n if (comments === 'error') {\n setError('The service is currently unavailable');\n } else {\n close();\n }\n },\n reasonOptions: transferReasons,\n interactionOptions,\n heading: 'Attach interaction to call',\n ...(error && {\n message: {\n id: 'error',\n heading: 'Error',\n variant: 'urgent',\n messages: [error]\n }\n })\n }}\n />\n );\n};\n\nExternalCTIDemo.args = {\n heading: 'External CTI',\n isDraggable: true,\n applyAppStyling: false\n};\n\nExternalCTIDemo.argTypes = {\n heading: { control: { type: 'text' } },\n isDraggable: { control: { type: 'boolean' } },\n applyAppStyling: { control: { type: 'boolean' } }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CallControlPanel.stories.js","sourceRoot":"","sources":["../../../src/cs/CallControlPanel/CallControlPanel.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { useEffect, useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { lighten, readableColor } from 'polished';\n\nimport { createUID, tryCatch, useTheme } from '@pega/cosmos-react-core';\nimport {\n CallControlPanel,\n ExternalCTI,\n CallProps,\n IncomingCallProps,\n CallParticipant,\n TransferData,\n UserAvailabilityStatusOption,\n CallControlPanelProps\n} from '@pega/cosmos-react-cs';\n\nimport {\n contactsList,\n createExternalIframeContent,\n ExternalStyles,\n interactionOptions,\n transferReasons,\n userStatusOptions\n} from './CallControlPanel.mocks';\n\nexport default {\n title: 'Customer Service/CallControlPanel',\n component: CallControlPanel,\n args: {\n heading: 'Agent',\n isDraggable: true,\n showStatus: true\n },\n argTypes: {\n heading: { control: { type: 'text' } },\n isDraggable: { control: { type: 'boolean' } },\n showStatus: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CallControlPanelStoryProps {\n heading: string;\n isDraggable?: boolean;\n showStatus: boolean;\n status?: UserAvailabilityStatusOption['id'];\n onStatusChange?: (newStatus: UserAvailabilityStatusOption) => void;\n visible?: CallControlPanelProps['visible'];\n}\n\nexport const CallControlPanelDemo: Story<CallControlPanelStoryProps> = (\n args: CallControlPanelStoryProps\n) => {\n const [currentStatus, setCurrentStatus] = useState<UserAvailabilityStatusOption['id']>(\n args.status || 'available'\n );\n const inStatusSince = useRef(Date.now());\n const [calls, setCalls] = useState<(CallProps | IncomingCallProps)[]>([]);\n\n const [contacts, setContacts] = useState(contactsList);\n const callsList = useRef(calls);\n callsList.current = calls;\n\n const [showInteractionTransfer, setShowInteractionTransfer] = useState(false);\n\n const onMuteToggle = (id: CallProps['id']) => {\n const thisCallIndex = callsList.current.findIndex(call => call.id === id);\n if (thisCallIndex < 0) return;\n const thisCall = callsList.current[thisCallIndex];\n callsList.current.splice(thisCallIndex, 1, {\n ...thisCall,\n muted: !(thisCall as CallProps).muted\n });\n setCalls([...callsList.current]);\n };\n\n const onMergeCall = (id: CallProps['id']) => {\n const thisCall = callsList.current.find(call => call.id === id) as CallProps;\n const activeCallIndex = callsList.current.findIndex(call => !(call as CallProps).onHoldSince);\n const currentCall = callsList.current[activeCallIndex] as CallProps;\n\n if (!thisCall || !activeCallIndex) return;\n callsList.current.splice(activeCallIndex, 1, {\n ...currentCall,\n participants: [...currentCall.participants, ...thisCall.participants],\n onHoldSince: undefined\n });\n setCalls([...callsList.current.filter(call => call.id !== id)]);\n };\n\n const onHandOffCall = (id: CallProps['id']) => {\n setCalls([\n ...callsList.current.filter(call => call.id !== id && (call as CallProps).onHoldSince)\n ]);\n };\n\n const onPauseToggle = (id: CallProps['id']) => {\n const thisCall = callsList.current.find(call => call.id === id);\n if (!thisCall) return;\n const wasPaused = !!(thisCall as CallProps).onHoldSince;\n callsList.current = callsList.current.map(call => {\n if (thisCall.id === call.id)\n return {\n ...call,\n onHoldSince: wasPaused ? undefined : Date.now(),\n onMergeCall: wasPaused ? onMergeCall : undefined,\n onHandOffCall: wasPaused ? onHandOffCall : undefined\n };\n return {\n ...call,\n onPauseToggle: wasPaused ? undefined : onPauseToggle,\n onMergeCall: wasPaused ? onMergeCall : undefined,\n onHandOffCall: wasPaused ? onHandOffCall : undefined\n };\n });\n setCalls([...callsList.current]);\n };\n\n const onEndCall = (id: CallProps['id']) => {\n setCalls(callsList.current.filter(item => item.id !== id));\n setCurrentStatus('available');\n };\n\n const onHangUp = (callId: CallProps['id'], participantId: CallParticipant['id']) => {\n const currentCallIndex = callsList.current.findIndex(call => call.id === callId);\n if (currentCallIndex < 0) return;\n const currentCall = callsList.current[currentCallIndex] as CallProps;\n callsList.current.splice(currentCallIndex, 1, {\n ...currentCall,\n participants: [\n ...currentCall.participants.filter(participant => participant.id !== participantId)\n ]\n });\n setCalls([...callsList.current]);\n };\n\n const onConferenceAction = (id: CallProps['id'], data: TransferData) => {\n const caller = contactsList.find(person => person.phoneNumber === data.phoneNumber);\n const conferenceCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n onMergeCall,\n transferOptions: transferReasons,\n interactionOptions,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onHandOffCall,\n onEndCall,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onHangUp\n }\n ]\n };\n\n const currentCall = callsList.current[0] as CallProps;\n callsList.current.splice(0, 1, {\n ...callsList.current[0],\n participants: [...currentCall.participants, ...conferenceCall.participants],\n onHoldSince: undefined\n });\n setCalls([...callsList.current.filter(call => call.id !== conferenceCall.id)]);\n };\n\n const onConsultAction = (id: CallProps['id'], data: TransferData) => {\n const caller = contactsList.find(person => person.phoneNumber === data.phoneNumber);\n const consultCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n transferOptions: transferReasons,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onMergeCall,\n onHandOffCall,\n onDTMFPress: action('onDTMFPress'),\n onTransferAction: (callId, transferData) => {\n action('onTransferAction')(callId, transferData);\n if (transferData.interaction) setShowInteractionTransfer(true);\n onEndCall(id);\n },\n onConsultAction,\n onConferenceAction,\n onEndCall,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onHangUp\n }\n ]\n };\n\n const updatedCalls: (CallProps | IncomingCallProps)[] = callsList.current.map(call => {\n return { ...call, onHoldSince: Date.now(), onMergeCall, onPauseToggle: undefined };\n });\n updatedCalls.push(consultCall);\n setCalls(updatedCalls);\n };\n\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n const caller = contactsList[0];\n const consultCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n transferOptions: transferReasons,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onMergeCall,\n onHandOffCall,\n onDTMFPress: action('onDTMFPress'),\n onTransferAction: (callId, transferData) => {\n action('onTransferAction')(callId, transferData);\n if (transferData.interaction) setShowInteractionTransfer(true);\n onEndCall(callId);\n },\n onConsultAction,\n onConferenceAction,\n onEndCall,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onHangUp\n }\n ]\n };\n\n const incomingCall: IncomingCallProps = {\n id: createUID(),\n onAcceptCall: () => {\n setCalls([consultCall]);\n },\n participant: {\n name: contactsList[0].primary,\n info: contactsList[0].secondary,\n id: contactsList[0].primary\n }\n };\n setCalls([incomingCall, ...callsList.current]);\n }, 4000);\n return () => clearTimeout(timeoutId);\n }, []);\n\n return (\n <CallControlPanel\n visible={args.visible ?? true}\n heading={args.heading}\n userStatus={\n args.showStatus\n ? {\n statusOptions: userStatusOptions,\n status: currentStatus,\n inStatusSince: inStatusSince.current,\n onChange: value => {\n setCurrentStatus(value);\n args.onStatusChange?.(\n userStatusOptions.find(s => s.id === value) ?? userStatusOptions[0]\n );\n }\n }\n : undefined\n }\n interactionTransfer={\n showInteractionTransfer\n ? {\n onCancel: () => setShowInteractionTransfer(false),\n onComplete: () => setShowInteractionTransfer(false)\n }\n : undefined\n }\n calls={calls}\n draggable={args.isDraggable}\n onAddCall={(phoneNumber: string) => {\n const call: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n slaConfig: [30, 50],\n onConsultAction,\n onConferenceAction,\n transferOptions: transferReasons,\n interactionOptions,\n onTransferAction: (id, data) => {\n action('onTransferAction')(id, data);\n if (data.interaction) setShowInteractionTransfer(true);\n onEndCall(id);\n },\n muted: false,\n onMuteToggle,\n onPauseToggle,\n onMergeCall,\n onDTMFPress: action('onDTMFPress'),\n onEndCall: () => onEndCall(call.id),\n participants: [\n {\n id: contactsList.find(person => person.phoneNumber === phoneNumber)?.primary || '',\n name:\n contactsList.find(person => person.phoneNumber === phoneNumber)?.primary ||\n 'Unknown',\n onHangUp\n }\n ]\n };\n\n setCalls([call]);\n setCurrentStatus('not_available');\n }}\n contactsList={contacts}\n onFavoriteToggle={(phoneNumber: string, favorite: boolean) => {\n const element = contacts.find(item => item.phoneNumber === phoneNumber);\n element!.favorite = !favorite;\n setContacts([...contacts]);\n }}\n />\n );\n};\n\nexport const ExternalCTIDemo: Story<CallControlPanelStoryProps & { applyAppStyling: boolean }> = (\n args: CallControlPanelStoryProps & { applyAppStyling: boolean }\n) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [error, setError] = useState('');\n\n const { base, components } = useTheme();\n\n const styling: ExternalStyles | undefined = args.applyAppStyling\n ? {\n '--app-bg-color': base.palette['app-background'],\n '--header-border-color': base.palette['secondary-background'],\n '--text-color': base.palette['foreground-color'],\n '--msg-me-bg-color': base.palette.interactive,\n '--msg-me-text-color': tryCatch(() => readableColor(base.palette.interactive)),\n '--msg-you-bg-color': base.palette['primary-background'],\n '--msg-you-text-color': tryCatch(() => readableColor(base.palette['primary-background'])),\n '--msg-border-radius': '16px',\n '--button-text-color': tryCatch(() => readableColor(components.button.color)),\n '--button-bg-color': components.button.color,\n '--button-border-color': 'transparent',\n '--button-border-radius': `calc(${components.button['border-radius']} * ${base['border-radius']})`,\n '--button-hover-bg-color': tryCatch(() => lighten(0.1, components.button.color)),\n '--button-height': components.input.height,\n '--input-height': components.input.height,\n '--input-background-color': components.input['background-color'],\n '--input-text-color': base.palette['foreground-color'],\n '--input-border-radius': `calc(0.5 * ${base['border-radius']})`,\n '--input-focus-border-color': 'transparent',\n '--input-focus-box-shadow': components.button['focus-shadow'],\n '--footer-bg-color': base.palette['app-background']\n }\n : undefined;\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.innerHTML = `\n <iframe id='external-cti' srcdoc='${createExternalIframeContent(\n styling\n )}' width='100%' height='500px'></iframe>\n `;\n }\n }, [containerRef.current, styling]);\n\n return (\n <ExternalCTI\n heading={args.heading}\n draggable={args.isDraggable}\n visible={args.visible}\n ref={containerRef}\n attachInteractionProps={{\n onAddInteraction: ({ comments }, { close }) => {\n if (comments === 'error') {\n setError('The service is currently unavailable');\n } else {\n close();\n }\n },\n reasonOptions: transferReasons,\n interactionOptions,\n heading: 'Attach interaction to call',\n ...(error && {\n message: {\n variant: 'urgent',\n messages: [error]\n }\n })\n }}\n />\n );\n};\n\nExternalCTIDemo.args = {\n heading: 'External CTI',\n isDraggable: true,\n applyAppStyling: false\n};\n\nExternalCTIDemo.argTypes = {\n heading: { control: { type: 'text' } },\n isDraggable: { control: { type: 'boolean' } },\n applyAppStyling: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Chat/Chat.stories.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAqC/C,OAAO,EASL,YAAY,EASZ,kBAAkB,EAElB,sBAAsB,EAEtB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAC;;AAMxG,wBAGU;AAEV,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,KA+B5B,CAAC;AACF,mFAAmF;AAEnF,2FAA2F;AAE3F,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAoBvD,CAAC;AACF,4FAA4F;AAE5F,qFAAqF;AACrF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,YAAY,CA+E3C,CAAC;AAWF,oFAAoF;AAEpF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,kBAAkB,CAEvD,CAAC;AAaF,uFAAuF;AAEvF,uFAAuF;AACvF,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,sBAAsB,CAE3D,CAAC;AASF,wFAAwF;AAExF,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,EAAE,KAejC,CAAC;AACF,4FAA4F;AAE5F,yFAAyF;AAEzF,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/C,uBAAuB,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC3D,oBAAoB,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,0BAA0B,CAqBnE,CAAC;AAwBF,yFAAyF;AAEzF,4FAA4F;AAE5F,eAAO,MAAM,wBAAwB,EAAE,KAuBtC,CAAC;AAEF,0FAA0F;AAE1F,8FAA8F;AAC9F,UAAU,qBAAqB;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,qBAAqB,CAWzD,CAAC;AASF,8FAA8F;AAE9F,+FAA+F;AAC/F,UAAU,iBAAiB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Chat.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Chat/Chat.stories.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAqC/C,OAAO,EASL,YAAY,EASZ,kBAAkB,EAElB,sBAAsB,EAEtB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAC;;AAMxG,wBAGU;AAEV,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,KA+B5B,CAAC;AACF,mFAAmF;AAEnF,2FAA2F;AAE3F,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAoBvD,CAAC;AACF,4FAA4F;AAE5F,qFAAqF;AACrF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,YAAY,CA+E3C,CAAC;AAWF,oFAAoF;AAEpF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,kBAAkB,CAEvD,CAAC;AAaF,uFAAuF;AAEvF,uFAAuF;AACvF,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,sBAAsB,CAE3D,CAAC;AASF,wFAAwF;AAExF,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,EAAE,KAejC,CAAC;AACF,4FAA4F;AAE5F,yFAAyF;AAEzF,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/C,uBAAuB,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC3D,oBAAoB,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,0BAA0B,CAqBnE,CAAC;AAwBF,yFAAyF;AAEzF,4FAA4F;AAE5F,eAAO,MAAM,wBAAwB,EAAE,KAuBtC,CAAC;AAEF,0FAA0F;AAE1F,8FAA8F;AAC9F,UAAU,qBAAqB;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,qBAAqB,CAWzD,CAAC;AASF,8FAA8F;AAE9F,+FAA+F;AAC/F,UAAU,iBAAiB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CA6sBjD,CAAC;AA+BF,yFAAyF"}
|
|
@@ -413,9 +413,7 @@ export const StandardChat = (args) => {
|
|
|
413
413
|
})] })) : undefined;
|
|
414
414
|
}, [showTranscripts, setShowTranscripts, showEarlierTranscripts, setShowEarlierTranscripts]);
|
|
415
415
|
const chatBanner = {
|
|
416
|
-
id: 'warning',
|
|
417
416
|
messages: ['This is a public interaction and any responses will be public and visible'],
|
|
418
|
-
heading: 'Warning',
|
|
419
417
|
variant: 'warning'
|
|
420
418
|
};
|
|
421
419
|
const body = (_jsx(ChatBody, { children: _jsx(MessageList, { unReadMessageCount: unreadMessagesCount, onScrollToButtonClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.stories.js","sourceRoot":"","sources":["../../../src/social/Chat/Chat.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n ReactElement,\n SyntheticEvent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n Icon,\n registerIcon,\n Text,\n MenuButton,\n Flex,\n Popover,\n Link,\n Status,\n EmojiContext,\n BannerProps,\n createUID,\n useOuterEvent,\n TextArea,\n Select,\n Option,\n useElement,\n FieldValueList,\n useModalManager,\n useModalContext,\n Modal,\n SummaryItem,\n useToaster,\n SearchInput,\n menuHelpers,\n MenuItemProps,\n VisuallyHiddenText,\n Menu,\n useEscape\n} from '@pega/cosmos-react-core';\nimport * as arrowMicroDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/arrow-micro-down.icon';\nimport * as replyIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply.icon';\nimport * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';\nimport * as forwardIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/forward.icon';\nimport {\n Chat,\n ChatProps,\n ChatHeader,\n ChatBody,\n ChatComposer,\n ChatTranscript,\n Message,\n MessageList,\n MessageProps,\n MessageListItemProps,\n MessageListImperativeHandleProps,\n NewMessageSeparatorId,\n AttachmentItemProps,\n ChatComposerImperativeHandleProps,\n SuggestedReply,\n SuggestedReplyPicker,\n SystemMessage,\n SystemMessageProps,\n TranscriptMessage,\n TranscriptMessageProps,\n TypeIndicator,\n MessageListProps\n} from '@pega/cosmos-react-social';\nimport { TranscriptHeaderProps } from '@pega/cosmos-react-social/lib/components/Chat/TranscriptMessage';\n\nimport { ChatMockData, phrasesDisplayNames, phrasesMessages, pagePushList } from './Chat.mocks';\n\nregisterIcon(forwardIcon, replyIcon, replyAllIcon, arrowMicroDownIcon);\n\nexport default {\n title: 'Social/Chat',\n component: Chat\n} as Meta;\n\n/** *********************** ChatHeader component - START *********************** */\nexport const ChatHeaderDemo: Story = () => {\n const actionsConfig = (\n <div>\n <Button variant='simple' aria-label='Show transcripts'>\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button variant='simple' icon aria-label='chat info'>\n <Icon name='information' />\n </Button>\n </div>\n );\n\n return (\n <ChatHeader\n title='Live chat'\n icon='chat'\n aria-label='Chat header'\n actions={actionsConfig}\n sentiment={{\n variant: 'positive'\n }}\n />\n );\n};\n/** ***************************** ChatHeader component - END ******************* */\n\n/** **************************** MessageList component - START ************************* */\n\nexport interface MessageListDemoProps {\n onScrollToButtonClick?: MessageListProps['onScrollToButtonClick'];\n}\n\nexport const MessageListDemo: Story<MessageListDemoProps> = (args: MessageListDemoProps) => {\n const messages: any[] = ChatMockData.chatMessages;\n\n const [unReadMessageCount, setUnReadMessagesCount] = useState(1);\n\n return (\n <Flex container style={{ height: '80vh' }}>\n <MessageList\n tabIndex={0}\n messages={messages}\n unReadMessageCount={unReadMessageCount}\n onScrollToButtonClick={\n args.onScrollToButtonClick ||\n (() => {\n setUnReadMessagesCount(0);\n })\n }\n />\n </Flex>\n );\n};\n/** **************************** MessageList component - END **************************** */\n\n/** ***************************** Message component - START ********************** */\nexport const MessageDemo: Story<MessageProps> = (args: MessageProps) => {\n const actions: AttachmentItemProps['actions'] = [\n {\n text: 'Associate with case',\n id: 'Associate with case',\n onClick: () => {\n action('Associate with case');\n }\n },\n {\n text: 'Download',\n id: 'Download',\n onClick: () => {\n action('Download');\n }\n }\n ];\n\n const attachments = [\n {\n id: '2499167340',\n name: 'Location',\n icon: 'document',\n meta: 'PNG 0.1 MB',\n thumbnail:\n 'https://pegasystems.github.io/uplus-wss/health_provider/img/secondary-options.jpg',\n actions\n },\n {\n id: '2499167341',\n name: 'FAQ with detailed terms and conditions of the policy',\n icon: 'document-pdf',\n meta: 'PDF 0.7 MB',\n actions\n }\n ];\n const pagePushLinks = [\n {\n id: '2499167349',\n href: 'https://collaborate.pega.com/',\n thumbnail:\n 'https://community.pega.com/sites/default/files/styles/480/public/media/images/2020-02/AskExpert.png?itok=ef2MVbOV',\n title: 'Ask the expert'\n }\n ];\n return (\n <>\n {/* Message with attachments */}\n <Message\n type='message'\n attachments={attachments}\n avatarInfo={{ name: 'John Brown' }}\n timeStamp='1:44 PM'\n message='Hi, Welcome to u-plus. How can I help you ?'\n variant={args.variant}\n direction={args.direction}\n />\n <br />\n {/* Message with page push links */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n pagePushLinks={pagePushLinks}\n variant={args.variant}\n direction={args.direction}\n />\n <br />\n {/* Normal message with plain text */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n variant='sender'\n direction='out'\n status='undelivered'\n />\n </>\n );\n};\n\nMessageDemo.args = {\n variant: 'receiver',\n direction: 'in'\n};\n\nMessageDemo.argTypes = {\n variant: { options: ['receiver', 'sender', 'other'], control: { type: 'select' } },\n direction: { options: ['in', 'out'], control: { type: 'select' } }\n};\n/** ***************************** Message component - END *********************** */\n\n/** **************************** SystemMessage component - START ***************** */\nexport const SystemMessageDemo: Story<SystemMessageProps> = (args: SystemMessageProps) => (\n <SystemMessage message={args.message} timeStamp={args.timeStamp} variant={args.variant} />\n);\n\nSystemMessageDemo.args = {\n message: 'John Brown has joined',\n variant: 'secondary',\n timeStamp: '10:00 AM'\n};\n\nSystemMessageDemo.argTypes = {\n message: { control: { type: 'text' } },\n variant: { options: ['primary', 'secondary'], control: { type: 'select' } },\n timeStamp: { control: { type: 'text' } }\n};\n/** ***************************** SystemMessage component - END ******************** */\n\n/** ***************************** TypeIndicator component - START ****************** */\ninterface TypeIndicatorDemoProps {\n message?: string;\n}\nexport const TypeIndicatorDemo: Story<TypeIndicatorDemoProps> = (args: TypeIndicatorDemoProps) => {\n return <TypeIndicator avatarInfo={{ name: 'John Brown' }} message={args.message} />;\n};\n\nTypeIndicatorDemo.args = {\n message: ''\n};\n\nTypeIndicatorDemo.argTypes = {\n message: { control: { type: 'text' } }\n};\n/** *************************** TypeIndicator component - END *********************** */\n\n/** ************************** ChatTranscripts component - START ********************* */\nexport const ChatTranscriptsDemo: Story = () => {\n return (\n <>\n {ChatMockData.transcripts.map((transcript: any) => {\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcript.data}\n />\n );\n })}\n </>\n );\n};\n/** **************************** ChatTranscripts component - END ************************ */\n\n/** *************************** TranscriptMessage component - START ****************** */\n\nexport interface TranscriptMessageDemoProps {\n message: TranscriptMessageProps['message'];\n variant: TranscriptMessageProps['variant'];\n timeStamp: TranscriptMessageProps['timeStamp'];\n transcriptHeaderContent?: TranscriptHeaderProps['content'];\n transcriptHeaderMeta?: TranscriptHeaderProps['meta'];\n avatarInfoName?: string;\n avatarInfoImageSrc?: string;\n}\n\nexport const TranscriptMessageDemo: Story<TranscriptMessageDemoProps> = (\n args: TranscriptMessageDemoProps\n) => (\n <TranscriptMessage\n timeStamp={args.timeStamp}\n variant={args.variant}\n message={args.message}\n transcriptHeader={\n args.transcriptHeaderContent || args.transcriptHeaderMeta\n ? { content: args.transcriptHeaderContent, meta: args.transcriptHeaderMeta }\n : undefined\n }\n avatarInfo={\n args.avatarInfoName\n ? {\n name: args.avatarInfoName,\n imageSrc: args.avatarInfoImageSrc\n }\n : undefined\n }\n />\n);\n\nTranscriptMessageDemo.args = {\n message: 'Hello… This is bot. How can I help you? Please select your category.',\n variant: 'bot',\n timeStamp: '01:20 PM',\n transcriptHeaderContent: undefined,\n transcriptHeaderMeta: undefined,\n avatarInfoName: undefined,\n avatarInfoImageSrc: undefined\n};\n\nTranscriptMessageDemo.argTypes = {\n message: { type: { name: 'string', required: true }, control: { type: 'text' } },\n variant: {\n type: { name: 'string', required: true },\n control: { type: 'select', options: ['user', 'bot', 'question'] }\n },\n timeStamp: { type: { name: 'string', required: true }, control: { type: 'text' } },\n transcriptHeaderContent: { type: { name: 'string', required: false }, control: { type: 'text' } },\n transcriptHeaderMeta: { type: { name: 'string', required: false }, control: { type: 'text' } },\n avatarInfoName: { type: { name: 'string', required: false }, control: { type: 'text' } },\n avatarInfoImageSrc: { type: { name: 'string', required: false }, control: { type: 'text' } }\n};\n/** *************************** TranscriptMessage component - END ******************** */\n\n/** *************************** SuggestedReplyPicker component - START ****************** */\n\nexport const SuggestedReplyPickerDemo: Story = () => {\n const suggestedReplies: SuggestedReply[] = [\n {\n id: createUID(),\n message: 'Hello, Good morning Sara. How can I help you today',\n confidence: 95\n },\n {\n id: createUID(),\n message:\n 'Sorry to hear that. I will surely help you resolve the issue. Can you please provide the policy id, so that I can get more details',\n confidence: 75\n }\n ];\n return (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={suggestedReply => {\n action(`Suggested reply picked ${suggestedReply.message}`)();\n }}\n onDismiss={action('Suggested reply dismissed')}\n />\n );\n};\n\n/** *************************** SuggestedReplyPicker component - END ****************** */\n\n/** ******************************* ChatComposer component - START ************************ */\ninterface ChatComposerDemoProps {\n maxAttachments?: number;\n}\n\nexport const ChatComposerDemo: Story<ChatComposerDemoProps> = (args: ChatComposerDemoProps) => (\n <ChatComposer\n maxAttachments={args.maxAttachments}\n attachments={ChatMockData.defaultAttachments}\n maxLength={256}\n placeholder='Type here to send message'\n onSend={() => {}}\n >\n <MenuButton text='Phrases' menu={{ items: [] }} />\n <MenuButton text='Page Push' menu={{ items: [] }} />\n </ChatComposer>\n);\n\nChatComposerDemo.args = {\n maxAttachments: 2\n};\n\nChatComposerDemo.argTypes = {\n maxAttachments: { control: { type: 'number' } }\n};\n/** *********************************** ChatComposer component - END ********************** */\n\n/** *********************************** Standard Chat component - START ******************** */\ninterface StandardChatProps {\n maxAttachments?: number;\n chatWidth?: string;\n selectedChannel?: string;\n showChatBanner?: boolean;\n disableChat?: boolean;\n simulateConversation?: boolean;\n message?: string;\n placeholder?: string;\n defaultMessage?: string;\n maxLength?: number;\n}\n\nexport const StandardChat: Story<StandardChatProps> = (args: StandardChatProps) => {\n const ChatMockDataClone: any = useMemo(() => {\n return JSON.parse(JSON.stringify(ChatMockData));\n }, [ChatMockData]);\n\n const Channels: {\n label: string;\n options: any;\n } = {\n label: 'Channel',\n options: {\n LiveChat: {\n title: 'Live chat',\n icon: 'chat'\n },\n Twitter: {\n title: 'Twitter chat',\n icon: 'twitter'\n },\n Facebook: {\n title: 'Facebook messenger',\n icon: 'facebook'\n }\n }\n };\n\n const {\n participants,\n chatMessages: mockChatMessagesJson,\n transcripts,\n defaultAttachments,\n suggestedReplies\n }: {\n participants: any;\n chatMessages: any[];\n transcripts: [];\n defaultAttachments: any[];\n suggestedReplies: SuggestedReply[];\n } = ChatMockDataClone;\n\n const conversationRatingMessage: MessageListItemProps = {\n id: createUID(),\n variant: 'receiver',\n direction: 'in',\n type: 'message',\n message: (\n <Flex\n container={{\n direction: 'column',\n gap: 1\n }}\n >\n <TextArea\n placeholder='Please comment…'\n label='Please comment on our service performance and how we can better serve you. Thank you for your time.'\n />\n <Select label='Is the problem resolved?'>\n <Option>Yes</Option>\n <Option>No</Option>\n </Select>\n <Flex\n container={{\n justify: 'center'\n }}\n >\n <Button variant='primary'>Submit</Button>\n </Flex>\n </Flex>\n )\n };\n\n const { create } = useModalManager();\n\n const MyModal = () => {\n const { dismiss } = useModalContext();\n const { push } = useToaster();\n\n return (\n <Modal\n heading='Associate with case'\n actions={\n <>\n <Button\n onClick={() => {\n dismiss();\n push({ content: 'Cancelled' });\n }}\n >\n Cancel\n </Button>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n push({ content: 'Successfully Submitted!!' });\n }}\n >\n Submit\n </Button>\n </>\n }\n center\n >\n <Flex container={{ gap: 2, direction: 'column' }}>\n <SummaryItem\n primary={<Text variant='secondary'>Security policy</Text>}\n secondary={<Text variant='secondary'>PNG - 6.1MB</Text>}\n visual={<Icon name='document-doc' />}\n />\n <Select label='Select a service case' style={{ width: '15rem' }}>\n <Option value=''>Select…</Option>\n <Option value='Make payment' selected>\n Make payment\n </Option>\n <Option value='Facilities'>Facilities</Option>\n </Select>\n </Flex>\n </Modal>\n );\n };\n\n const onAssociateWithCase = () => {\n create(MyModal);\n };\n\n const actions: AttachmentItemProps['actions'] = [\n {\n text: 'Associate with case',\n id: 'Associate with case',\n onClick: () => {\n action('Associate with case');\n onAssociateWithCase();\n }\n },\n {\n text: 'Download',\n id: 'Download',\n onClick: () => {\n action('Download');\n }\n }\n ];\n\n const mockChatMessages = useMemo(() => {\n return [\n ...mockChatMessagesJson.map(message => {\n const { messagePrivacy, ...restMessageData } = message;\n if (messagePrivacy) {\n restMessageData.messageHeader = {\n content: <span>{messagePrivacy}</span>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n if (restMessageData.attachments) {\n restMessageData.attachments = restMessageData.attachments.map(\n (item: AttachmentItemProps) => {\n return {\n ...item,\n actions\n };\n }\n );\n }\n return restMessageData;\n }),\n conversationRatingMessage\n ];\n }, []);\n\n const conversationRef = useRef<MessageListImperativeHandleProps>(null);\n const timers = useRef<number[]>([]);\n\n useEffect(() => {\n return () => {\n timers.current.forEach(clearTimeout);\n };\n }, []);\n\n const [showSuggestedReplies, setShowSuggestedReplies] = useState(true);\n const [showTranscripts, setShowTranscripts] = useState(false);\n const [attachments, setAttachments] = useState<AttachmentItemProps[]>(defaultAttachments);\n const [unreadMessagesCount, setUnreadMessagesCount] = useState(0);\n const [chatMessages, setChatMessages] = useState<any[]>(\n args.simulateConversation ? mockChatMessages.slice(0, 0) : mockChatMessages\n );\n\n const onDeleteAttachment = useCallback(\n (name: string) => {\n setAttachments(prevAttachments => prevAttachments.filter(item => item.name !== name));\n },\n [setAttachments]\n );\n\n useEffect(() => {\n setAttachments(\n defaultAttachments.map((item: any) => {\n return {\n ...item,\n onDelete: onDeleteAttachment\n };\n })\n );\n }, [defaultAttachments]);\n\n const appendMessage = (message: any) => {\n const incrementUnreadMessageCount = conversationRef.current?.isScrolledToLatest();\n setChatMessages(prevChatMessages => {\n const newMockMessage: any = {\n ...message\n };\n newMockMessage.id = `m-${message.id ? message.id : prevChatMessages.length}`;\n if (\n !incrementUnreadMessageCount &&\n prevChatMessages.filter(({ id }) => id === NewMessageSeparatorId).length === 0\n ) {\n return [\n ...prevChatMessages,\n {\n id: NewMessageSeparatorId,\n type: 'system',\n message: 'New messages',\n variant: 'primary'\n },\n newMockMessage\n ];\n }\n return [...prevChatMessages, newMockMessage];\n });\n if (!incrementUnreadMessageCount) {\n setUnreadMessagesCount(prevCount => prevCount + 1);\n }\n };\n\n useEffect(() => {\n if (args.simulateConversation) {\n const timeOutId = setTimeout(() => {\n if (mockChatMessages.length) {\n appendMessage(mockChatMessages.shift());\n }\n }, 1500);\n return () => {\n clearTimeout(timeOutId);\n };\n }\n }, [chatMessages, args.simulateConversation]);\n\n const [openPopover, setOpenPopover] = useState(false);\n const [popoverRef, setPopoverRef] = useElement<HTMLElement>();\n const [buttonRef, setButtonRef] = useElement<HTMLElement>();\n const additionalInfo: {\n title: string;\n options: any;\n } = {\n title: 'Additional info',\n options: {\n LiveChat: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ],\n Twitter: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Twitter handle',\n value: '@Connor'\n },\n {\n id: '3',\n name: 'Followers',\n value: '13,556'\n }\n ],\n Facebook: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ]\n }\n };\n useOuterEvent('mousedown', [popoverRef, buttonRef], () => {\n if (openPopover) setOpenPopover(false);\n });\n\n const header = (\n <ChatHeader\n title={Channels.options[args.selectedChannel || 'LiveChat'].title}\n icon={Channels.options[args.selectedChannel || 'LiveChat'].icon}\n aria-label='Chat header'\n sentiment={{\n variant: 'positive',\n 'aria-label': 'Sentiment is positive'\n }}\n actions={\n <div>\n <Button\n variant='simple'\n onClick={() => setShowTranscripts(!showTranscripts)}\n aria-label='Show transcripts'\n >\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button\n variant='simple'\n icon\n aria-label='chat info'\n ref={setButtonRef}\n onClick={() => setOpenPopover(current => !current)}\n >\n <Icon name='information' />\n </Button>\n <Popover\n show={openPopover}\n target={buttonRef}\n ref={setPopoverRef}\n arrow\n placement='bottom-end'\n >\n <Flex container={{ direction: 'column', gap: 1, pad: 2 }}>\n <Text variant='h4'>{additionalInfo.title}</Text>\n <FieldValueList\n variant='inline'\n fields={additionalInfo.options[args.selectedChannel || 'LiveChat']}\n />\n </Flex>\n </Popover>\n <MenuButton\n text='More actions'\n icon='more'\n iconOnly\n variant='simple'\n portal\n menu={{\n items: [\n { primary: 'Transfer', id: 'transcript', onClick: action('Clicked Transfer') },\n { primary: 'End chat', id: 'endChat', onClick: action('Clicked End chat') }\n ]\n }}\n />\n </div>\n }\n />\n );\n\n const [showEarlierTranscripts, setShowEarlierTranscripts] = useState(false);\n\n const transcriptsContainerRef = useRef<HTMLDivElement>(null);\n\n useOuterEvent('mousedown', [transcriptsContainerRef], () => {\n setShowTranscripts(false);\n });\n\n const utilityComp = useMemo<ChatProps['utility'] | undefined>(() => {\n return showTranscripts ? (\n <div ref={transcriptsContainerRef}>\n {!showEarlierTranscripts && (\n <Flex\n container={{\n direction: 'column',\n alignItems: 'center',\n gap: 1\n }}\n >\n <Button\n icon\n aria-label='Show earlier transcripts'\n variant='secondary'\n onClick={() => {\n setShowEarlierTranscripts(!showEarlierTranscripts);\n }}\n >\n <Icon name='caret-up' />\n </Button>\n </Flex>\n )}\n {transcripts\n .sort((transcript: any) => transcript.earlierTranscripts)\n .filter((transcript: any) =>\n showEarlierTranscripts ? true : !transcript.earlierTranscripts\n )\n .map((transcript: any) => {\n const transcriptData: any = transcript.data.map(\n (message: {\n messagePrivacy: { privacy: string };\n transcriptHeader: { content: ReactElement; meta: JSX.Element };\n }) => {\n if (message.messagePrivacy) {\n message.transcriptHeader = {\n content: <Status variant='warn'>{message.messagePrivacy.privacy}</Status>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n return message;\n }\n );\n\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcriptData}\n />\n );\n })}\n </div>\n ) : undefined;\n }, [showTranscripts, setShowTranscripts, showEarlierTranscripts, setShowEarlierTranscripts]);\n\n const chatBanner: BannerProps = {\n id: 'warning',\n messages: ['This is a public interaction and any responses will be public and visible'],\n heading: 'Warning',\n variant: 'warning'\n };\n const body = (\n <ChatBody>\n <MessageList\n unReadMessageCount={unreadMessagesCount}\n onScrollToButtonClick={() => {\n const newRandomMessageId = Math.random().toString(36).substr(2, 9);\n setChatMessages(prevChatMessages =>\n prevChatMessages.map(message => {\n if (message.id === NewMessageSeparatorId) {\n message.id = newRandomMessageId;\n }\n return message;\n })\n );\n const timeOutId: number = window.setTimeout(() => {\n setChatMessages(prevChatMessages =>\n prevChatMessages.filter(({ id }) => id !== newRandomMessageId)\n );\n timers.current = timers.current.filter(id => id !== timeOutId);\n }, 5000);\n timers.current.push(timeOutId);\n setUnreadMessagesCount(0);\n }}\n ref={conversationRef}\n messages={[\n ...chatMessages,\n {\n id: 'Pegasystems',\n type: 'typing',\n avatarInfo: {\n name: 'Pegasystems',\n imageSrc:\n 'https://www.pega.com/sites/default/files/media/images/2018-12/Pega.com-og.png'\n },\n message: args.message,\n ariaLabel: 'Pegasystems is typing'\n }\n ]}\n />\n </ChatBody>\n );\n\n const chatComposerImperativeHandleRef = useRef<ChatComposerImperativeHandleProps>(null);\n\n const [mountPopover, setMountPopover] = useState(false);\n const specialKeysConfig = {\n keys: ['//'],\n onSpecialKey: (e: SyntheticEvent<HTMLTextAreaElement>, key: string) => {\n action(`Event is ${e}`)();\n action(`Typed special key is ${key}`)();\n if (chatComposerImperativeHandleRef.current) {\n setMountPopover(!mountPopover);\n }\n }\n };\n\n const insertPhrasesMessage = (message: string) => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(message, 'specialKey');\n setMountPopover(false);\n }\n };\n\n useOuterEvent(\n 'mousedown',\n [chatComposerImperativeHandleRef?.current?.chatComposerRef?.current as Element],\n () => {\n setMountPopover(false);\n }\n );\n\n const [search, setSearch] = useState('');\n const [isOpen, setIsOpen] = useState(false);\n const searchEleRef = useRef<HTMLInputElement>(null);\n const [announcement, setAnnouncement] = useState('');\n\n const searchRegex = useMemo(() => {\n const escapedSearch = search.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&');\n return new RegExp(escapedSearch);\n }, [search]);\n\n const itemsToRender = useMemo(() => {\n return menuHelpers.mapTree(\n search\n ? menuHelpers.flatten(phrasesDisplayNames).filter(({ primary }: MenuItemProps) => {\n return searchRegex.test(primary);\n })\n : phrasesDisplayNames,\n item => {\n return {\n ...item\n };\n }\n );\n }, [search, phrasesDisplayNames, searchRegex]);\n\n useEffect(() => {\n if (isOpen) {\n searchEleRef?.current?.focus();\n }\n }, [isOpen, searchEleRef.current]);\n\n const menuID = createUID();\n const menuListID = `${menuID}--list`;\n const [buttonEl, setButtonEl] = useElement<HTMLButtonElement>(null);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n\n useOuterEvent('mousedown', [popoverEl, buttonEl], () => {\n setIsOpen(false);\n setSearch('');\n });\n\n useEscape(() => {\n setIsOpen(false);\n });\n\n const pagePushItemsRender = useMemo(() => {\n return pagePushList.map(item => {\n return { id: item.id, primary: item.message };\n });\n }, [pagePushList]);\n\n const footer = (\n <ChatComposer\n ref={chatComposerImperativeHandleRef}\n maxAttachments={args.maxAttachments}\n attachments={attachments}\n specialKeysConfig={specialKeysConfig}\n showEmoji\n disabled={args.disableChat}\n onAddAttachment={() => {\n setAttachments([\n ...attachments,\n {\n id: `${attachments.length} statement.pdf`,\n name: `${attachments.length} statement.pdf`,\n onDelete: onDeleteAttachment\n }\n ]);\n }}\n maxLength={args.maxLength}\n placeholder={args.placeholder}\n defaultMessage={args.defaultMessage}\n onSend={message => {\n action(`onAppendMessage: ${message}`)();\n appendMessage({\n ...participants.sender,\n type: 'message',\n message,\n timeStamp: '1:45 PM'\n });\n }}\n >\n <Button\n ref={setButtonEl}\n onClick={() => setIsOpen(cur => !cur)}\n variant='secondary'\n disabled={args.disableChat}\n >\n <Flex container={{ alignItems: 'center', gap: 1 }}>\n <Text>Phrases</Text>\n <Icon name='arrow-micro-down' />\n </Flex>\n </Button>\n\n <Popover show={isOpen} ref={setPopoverEl} target={buttonEl}>\n <Menu\n id={menuID}\n listId={menuListID}\n mode='action'\n variant='flyout'\n items={itemsToRender}\n role='listbox'\n onItemClick={id => {\n insertPhrasesMessage(phrasesMessages.filter(message => message.id === id)[0].message);\n setAnnouncement('Phrase inserted');\n setIsOpen(false);\n setSearch('');\n }}\n accent={search ? searchRegex : undefined}\n focusControlEl={searchEleRef.current || undefined}\n footer={\n <SearchInput\n ref={searchEleRef}\n onSearchChange={setSearch}\n value={search}\n role='searchbox'\n searchInputAriaLabel='Start typing to search.'\n />\n }\n />\n </Popover>\n\n <MenuButton\n text='Page push'\n disabled={args.disableChat}\n menu={{\n id: menuID,\n listId: menuListID,\n mode: 'action',\n variant: 'flyout',\n items: pagePushItemsRender,\n role: 'listbox',\n onItemClick: id => {\n setAnnouncement('Link inserted');\n setChatMessages(prevChatMessages => [\n ...prevChatMessages,\n pagePushList.filter(item => item.id === id)[0]\n ]);\n }\n }}\n />\n <Popover\n show={mountPopover}\n target={chatComposerImperativeHandleRef?.current?.textAreaRef?.current as Element}\n placement='top-start'\n >\n <Menu\n scrollAt={20}\n items={itemsToRender}\n onItemClick={id => {\n insertPhrasesMessage(phrasesMessages.filter(message => message.id === id)[0].message);\n setAnnouncement('Phrase inserted');\n }}\n focusControlEl={\n chatComposerImperativeHandleRef?.current?.textAreaRef?.current as\n | HTMLElement\n | undefined\n }\n />\n </Popover>\n </ChatComposer>\n );\n\n const suggestedReplyPicker =\n suggestedReplies.length > 0 && showSuggestedReplies ? (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={(suggestedReply: SuggestedReply) => {\n chatComposerImperativeHandleRef.current?.appendToMessage(\n suggestedReply.message,\n 'cursor'\n );\n setShowSuggestedReplies(false);\n }}\n onDismiss={() => {\n setShowSuggestedReplies(false);\n }}\n />\n ) : undefined;\n const fetchGoogleSprite = () => {\n return 'https://unpkg.com/emoji-datasource-google@5.0.1/img/google/sheets-256/64.png';\n };\n\n return (\n <EmojiContext.Provider value={{ set: 'google', spriteSrcResolver: fetchGoogleSprite }}>\n <Flex\n container={{\n justify: 'center'\n }}\n style={{\n height: 'calc(100vh)',\n width: args.chatWidth || '30rem',\n margin: 'auto'\n }}\n >\n <VisuallyHiddenText aria-live='assertive'>{announcement}</VisuallyHiddenText>\n <Chat\n utility={utilityComp}\n header={header}\n banner={args.showChatBanner ? chatBanner : undefined}\n body={body}\n footer={footer}\n suggestedReplyPicker={suggestedReplyPicker}\n />\n </Flex>\n </EmojiContext.Provider>\n );\n};\n\nStandardChat.args = {\n maxAttachments: 2,\n selectedChannel: 'LiveChat',\n showChatBanner: true,\n disableChat: false,\n simulateConversation: false,\n message: '',\n placeholder: 'Enter message',\n defaultMessage:\n 'Greetings! Hope you are having a great time, Please reach out to us for any help, Thanks!',\n maxLength: 280\n};\n\nStandardChat.argTypes = {\n maxAttachments: { control: { type: 'number' } },\n selectedChannel: { options: ['LiveChat', 'Twitter', 'Facebook'], control: { type: 'select' } },\n showChatBanner: { control: { type: 'boolean' } },\n disableChat: { control: { type: 'boolean' } },\n simulateConversation: { control: { type: 'boolean' } },\n message: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n defaultMessage: { control: { type: 'text' } },\n maxLength: { control: { type: 'number' } }\n};\n\nStandardChat.parameters = {\n layout: 'fullscreen'\n};\n\n/** *************************** Standard Chat component - END ************************ */\n"]}
|
|
1
|
+
{"version":3,"file":"Chat.stories.js","sourceRoot":"","sources":["../../../src/social/Chat/Chat.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n ReactElement,\n SyntheticEvent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n Icon,\n registerIcon,\n Text,\n MenuButton,\n Flex,\n Popover,\n Link,\n Status,\n EmojiContext,\n BannerProps,\n createUID,\n useOuterEvent,\n TextArea,\n Select,\n Option,\n useElement,\n FieldValueList,\n useModalManager,\n useModalContext,\n Modal,\n SummaryItem,\n useToaster,\n SearchInput,\n menuHelpers,\n MenuItemProps,\n VisuallyHiddenText,\n Menu,\n useEscape\n} from '@pega/cosmos-react-core';\nimport * as arrowMicroDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/arrow-micro-down.icon';\nimport * as replyIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply.icon';\nimport * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';\nimport * as forwardIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/forward.icon';\nimport {\n Chat,\n ChatProps,\n ChatHeader,\n ChatBody,\n ChatComposer,\n ChatTranscript,\n Message,\n MessageList,\n MessageProps,\n MessageListItemProps,\n MessageListImperativeHandleProps,\n NewMessageSeparatorId,\n AttachmentItemProps,\n ChatComposerImperativeHandleProps,\n SuggestedReply,\n SuggestedReplyPicker,\n SystemMessage,\n SystemMessageProps,\n TranscriptMessage,\n TranscriptMessageProps,\n TypeIndicator,\n MessageListProps\n} from '@pega/cosmos-react-social';\nimport { TranscriptHeaderProps } from '@pega/cosmos-react-social/lib/components/Chat/TranscriptMessage';\n\nimport { ChatMockData, phrasesDisplayNames, phrasesMessages, pagePushList } from './Chat.mocks';\n\nregisterIcon(forwardIcon, replyIcon, replyAllIcon, arrowMicroDownIcon);\n\nexport default {\n title: 'Social/Chat',\n component: Chat\n} as Meta;\n\n/** *********************** ChatHeader component - START *********************** */\nexport const ChatHeaderDemo: Story = () => {\n const actionsConfig = (\n <div>\n <Button variant='simple' aria-label='Show transcripts'>\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button variant='simple' icon aria-label='chat info'>\n <Icon name='information' />\n </Button>\n </div>\n );\n\n return (\n <ChatHeader\n title='Live chat'\n icon='chat'\n aria-label='Chat header'\n actions={actionsConfig}\n sentiment={{\n variant: 'positive'\n }}\n />\n );\n};\n/** ***************************** ChatHeader component - END ******************* */\n\n/** **************************** MessageList component - START ************************* */\n\nexport interface MessageListDemoProps {\n onScrollToButtonClick?: MessageListProps['onScrollToButtonClick'];\n}\n\nexport const MessageListDemo: Story<MessageListDemoProps> = (args: MessageListDemoProps) => {\n const messages: any[] = ChatMockData.chatMessages;\n\n const [unReadMessageCount, setUnReadMessagesCount] = useState(1);\n\n return (\n <Flex container style={{ height: '80vh' }}>\n <MessageList\n tabIndex={0}\n messages={messages}\n unReadMessageCount={unReadMessageCount}\n onScrollToButtonClick={\n args.onScrollToButtonClick ||\n (() => {\n setUnReadMessagesCount(0);\n })\n }\n />\n </Flex>\n );\n};\n/** **************************** MessageList component - END **************************** */\n\n/** ***************************** Message component - START ********************** */\nexport const MessageDemo: Story<MessageProps> = (args: MessageProps) => {\n const actions: AttachmentItemProps['actions'] = [\n {\n text: 'Associate with case',\n id: 'Associate with case',\n onClick: () => {\n action('Associate with case');\n }\n },\n {\n text: 'Download',\n id: 'Download',\n onClick: () => {\n action('Download');\n }\n }\n ];\n\n const attachments = [\n {\n id: '2499167340',\n name: 'Location',\n icon: 'document',\n meta: 'PNG 0.1 MB',\n thumbnail:\n 'https://pegasystems.github.io/uplus-wss/health_provider/img/secondary-options.jpg',\n actions\n },\n {\n id: '2499167341',\n name: 'FAQ with detailed terms and conditions of the policy',\n icon: 'document-pdf',\n meta: 'PDF 0.7 MB',\n actions\n }\n ];\n const pagePushLinks = [\n {\n id: '2499167349',\n href: 'https://collaborate.pega.com/',\n thumbnail:\n 'https://community.pega.com/sites/default/files/styles/480/public/media/images/2020-02/AskExpert.png?itok=ef2MVbOV',\n title: 'Ask the expert'\n }\n ];\n return (\n <>\n {/* Message with attachments */}\n <Message\n type='message'\n attachments={attachments}\n avatarInfo={{ name: 'John Brown' }}\n timeStamp='1:44 PM'\n message='Hi, Welcome to u-plus. How can I help you ?'\n variant={args.variant}\n direction={args.direction}\n />\n <br />\n {/* Message with page push links */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n pagePushLinks={pagePushLinks}\n variant={args.variant}\n direction={args.direction}\n />\n <br />\n {/* Normal message with plain text */}\n <Message\n type='message'\n message='Hi, Welcome to u-plus. How can I help you ?'\n avatarInfo={{ name: 'John Brown' }}\n variant='sender'\n direction='out'\n status='undelivered'\n />\n </>\n );\n};\n\nMessageDemo.args = {\n variant: 'receiver',\n direction: 'in'\n};\n\nMessageDemo.argTypes = {\n variant: { options: ['receiver', 'sender', 'other'], control: { type: 'select' } },\n direction: { options: ['in', 'out'], control: { type: 'select' } }\n};\n/** ***************************** Message component - END *********************** */\n\n/** **************************** SystemMessage component - START ***************** */\nexport const SystemMessageDemo: Story<SystemMessageProps> = (args: SystemMessageProps) => (\n <SystemMessage message={args.message} timeStamp={args.timeStamp} variant={args.variant} />\n);\n\nSystemMessageDemo.args = {\n message: 'John Brown has joined',\n variant: 'secondary',\n timeStamp: '10:00 AM'\n};\n\nSystemMessageDemo.argTypes = {\n message: { control: { type: 'text' } },\n variant: { options: ['primary', 'secondary'], control: { type: 'select' } },\n timeStamp: { control: { type: 'text' } }\n};\n/** ***************************** SystemMessage component - END ******************** */\n\n/** ***************************** TypeIndicator component - START ****************** */\ninterface TypeIndicatorDemoProps {\n message?: string;\n}\nexport const TypeIndicatorDemo: Story<TypeIndicatorDemoProps> = (args: TypeIndicatorDemoProps) => {\n return <TypeIndicator avatarInfo={{ name: 'John Brown' }} message={args.message} />;\n};\n\nTypeIndicatorDemo.args = {\n message: ''\n};\n\nTypeIndicatorDemo.argTypes = {\n message: { control: { type: 'text' } }\n};\n/** *************************** TypeIndicator component - END *********************** */\n\n/** ************************** ChatTranscripts component - START ********************* */\nexport const ChatTranscriptsDemo: Story = () => {\n return (\n <>\n {ChatMockData.transcripts.map((transcript: any) => {\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcript.data}\n />\n );\n })}\n </>\n );\n};\n/** **************************** ChatTranscripts component - END ************************ */\n\n/** *************************** TranscriptMessage component - START ****************** */\n\nexport interface TranscriptMessageDemoProps {\n message: TranscriptMessageProps['message'];\n variant: TranscriptMessageProps['variant'];\n timeStamp: TranscriptMessageProps['timeStamp'];\n transcriptHeaderContent?: TranscriptHeaderProps['content'];\n transcriptHeaderMeta?: TranscriptHeaderProps['meta'];\n avatarInfoName?: string;\n avatarInfoImageSrc?: string;\n}\n\nexport const TranscriptMessageDemo: Story<TranscriptMessageDemoProps> = (\n args: TranscriptMessageDemoProps\n) => (\n <TranscriptMessage\n timeStamp={args.timeStamp}\n variant={args.variant}\n message={args.message}\n transcriptHeader={\n args.transcriptHeaderContent || args.transcriptHeaderMeta\n ? { content: args.transcriptHeaderContent, meta: args.transcriptHeaderMeta }\n : undefined\n }\n avatarInfo={\n args.avatarInfoName\n ? {\n name: args.avatarInfoName,\n imageSrc: args.avatarInfoImageSrc\n }\n : undefined\n }\n />\n);\n\nTranscriptMessageDemo.args = {\n message: 'Hello… This is bot. How can I help you? Please select your category.',\n variant: 'bot',\n timeStamp: '01:20 PM',\n transcriptHeaderContent: undefined,\n transcriptHeaderMeta: undefined,\n avatarInfoName: undefined,\n avatarInfoImageSrc: undefined\n};\n\nTranscriptMessageDemo.argTypes = {\n message: { type: { name: 'string', required: true }, control: { type: 'text' } },\n variant: {\n type: { name: 'string', required: true },\n control: { type: 'select', options: ['user', 'bot', 'question'] }\n },\n timeStamp: { type: { name: 'string', required: true }, control: { type: 'text' } },\n transcriptHeaderContent: { type: { name: 'string', required: false }, control: { type: 'text' } },\n transcriptHeaderMeta: { type: { name: 'string', required: false }, control: { type: 'text' } },\n avatarInfoName: { type: { name: 'string', required: false }, control: { type: 'text' } },\n avatarInfoImageSrc: { type: { name: 'string', required: false }, control: { type: 'text' } }\n};\n/** *************************** TranscriptMessage component - END ******************** */\n\n/** *************************** SuggestedReplyPicker component - START ****************** */\n\nexport const SuggestedReplyPickerDemo: Story = () => {\n const suggestedReplies: SuggestedReply[] = [\n {\n id: createUID(),\n message: 'Hello, Good morning Sara. How can I help you today',\n confidence: 95\n },\n {\n id: createUID(),\n message:\n 'Sorry to hear that. I will surely help you resolve the issue. Can you please provide the policy id, so that I can get more details',\n confidence: 75\n }\n ];\n return (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={suggestedReply => {\n action(`Suggested reply picked ${suggestedReply.message}`)();\n }}\n onDismiss={action('Suggested reply dismissed')}\n />\n );\n};\n\n/** *************************** SuggestedReplyPicker component - END ****************** */\n\n/** ******************************* ChatComposer component - START ************************ */\ninterface ChatComposerDemoProps {\n maxAttachments?: number;\n}\n\nexport const ChatComposerDemo: Story<ChatComposerDemoProps> = (args: ChatComposerDemoProps) => (\n <ChatComposer\n maxAttachments={args.maxAttachments}\n attachments={ChatMockData.defaultAttachments}\n maxLength={256}\n placeholder='Type here to send message'\n onSend={() => {}}\n >\n <MenuButton text='Phrases' menu={{ items: [] }} />\n <MenuButton text='Page Push' menu={{ items: [] }} />\n </ChatComposer>\n);\n\nChatComposerDemo.args = {\n maxAttachments: 2\n};\n\nChatComposerDemo.argTypes = {\n maxAttachments: { control: { type: 'number' } }\n};\n/** *********************************** ChatComposer component - END ********************** */\n\n/** *********************************** Standard Chat component - START ******************** */\ninterface StandardChatProps {\n maxAttachments?: number;\n chatWidth?: string;\n selectedChannel?: string;\n showChatBanner?: boolean;\n disableChat?: boolean;\n simulateConversation?: boolean;\n message?: string;\n placeholder?: string;\n defaultMessage?: string;\n maxLength?: number;\n}\n\nexport const StandardChat: Story<StandardChatProps> = (args: StandardChatProps) => {\n const ChatMockDataClone: any = useMemo(() => {\n return JSON.parse(JSON.stringify(ChatMockData));\n }, [ChatMockData]);\n\n const Channels: {\n label: string;\n options: any;\n } = {\n label: 'Channel',\n options: {\n LiveChat: {\n title: 'Live chat',\n icon: 'chat'\n },\n Twitter: {\n title: 'Twitter chat',\n icon: 'twitter'\n },\n Facebook: {\n title: 'Facebook messenger',\n icon: 'facebook'\n }\n }\n };\n\n const {\n participants,\n chatMessages: mockChatMessagesJson,\n transcripts,\n defaultAttachments,\n suggestedReplies\n }: {\n participants: any;\n chatMessages: any[];\n transcripts: [];\n defaultAttachments: any[];\n suggestedReplies: SuggestedReply[];\n } = ChatMockDataClone;\n\n const conversationRatingMessage: MessageListItemProps = {\n id: createUID(),\n variant: 'receiver',\n direction: 'in',\n type: 'message',\n message: (\n <Flex\n container={{\n direction: 'column',\n gap: 1\n }}\n >\n <TextArea\n placeholder='Please comment…'\n label='Please comment on our service performance and how we can better serve you. Thank you for your time.'\n />\n <Select label='Is the problem resolved?'>\n <Option>Yes</Option>\n <Option>No</Option>\n </Select>\n <Flex\n container={{\n justify: 'center'\n }}\n >\n <Button variant='primary'>Submit</Button>\n </Flex>\n </Flex>\n )\n };\n\n const { create } = useModalManager();\n\n const MyModal = () => {\n const { dismiss } = useModalContext();\n const { push } = useToaster();\n\n return (\n <Modal\n heading='Associate with case'\n actions={\n <>\n <Button\n onClick={() => {\n dismiss();\n push({ content: 'Cancelled' });\n }}\n >\n Cancel\n </Button>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n push({ content: 'Successfully Submitted!!' });\n }}\n >\n Submit\n </Button>\n </>\n }\n center\n >\n <Flex container={{ gap: 2, direction: 'column' }}>\n <SummaryItem\n primary={<Text variant='secondary'>Security policy</Text>}\n secondary={<Text variant='secondary'>PNG - 6.1MB</Text>}\n visual={<Icon name='document-doc' />}\n />\n <Select label='Select a service case' style={{ width: '15rem' }}>\n <Option value=''>Select…</Option>\n <Option value='Make payment' selected>\n Make payment\n </Option>\n <Option value='Facilities'>Facilities</Option>\n </Select>\n </Flex>\n </Modal>\n );\n };\n\n const onAssociateWithCase = () => {\n create(MyModal);\n };\n\n const actions: AttachmentItemProps['actions'] = [\n {\n text: 'Associate with case',\n id: 'Associate with case',\n onClick: () => {\n action('Associate with case');\n onAssociateWithCase();\n }\n },\n {\n text: 'Download',\n id: 'Download',\n onClick: () => {\n action('Download');\n }\n }\n ];\n\n const mockChatMessages = useMemo(() => {\n return [\n ...mockChatMessagesJson.map(message => {\n const { messagePrivacy, ...restMessageData } = message;\n if (messagePrivacy) {\n restMessageData.messageHeader = {\n content: <span>{messagePrivacy}</span>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n if (restMessageData.attachments) {\n restMessageData.attachments = restMessageData.attachments.map(\n (item: AttachmentItemProps) => {\n return {\n ...item,\n actions\n };\n }\n );\n }\n return restMessageData;\n }),\n conversationRatingMessage\n ];\n }, []);\n\n const conversationRef = useRef<MessageListImperativeHandleProps>(null);\n const timers = useRef<number[]>([]);\n\n useEffect(() => {\n return () => {\n timers.current.forEach(clearTimeout);\n };\n }, []);\n\n const [showSuggestedReplies, setShowSuggestedReplies] = useState(true);\n const [showTranscripts, setShowTranscripts] = useState(false);\n const [attachments, setAttachments] = useState<AttachmentItemProps[]>(defaultAttachments);\n const [unreadMessagesCount, setUnreadMessagesCount] = useState(0);\n const [chatMessages, setChatMessages] = useState<any[]>(\n args.simulateConversation ? mockChatMessages.slice(0, 0) : mockChatMessages\n );\n\n const onDeleteAttachment = useCallback(\n (name: string) => {\n setAttachments(prevAttachments => prevAttachments.filter(item => item.name !== name));\n },\n [setAttachments]\n );\n\n useEffect(() => {\n setAttachments(\n defaultAttachments.map((item: any) => {\n return {\n ...item,\n onDelete: onDeleteAttachment\n };\n })\n );\n }, [defaultAttachments]);\n\n const appendMessage = (message: any) => {\n const incrementUnreadMessageCount = conversationRef.current?.isScrolledToLatest();\n setChatMessages(prevChatMessages => {\n const newMockMessage: any = {\n ...message\n };\n newMockMessage.id = `m-${message.id ? message.id : prevChatMessages.length}`;\n if (\n !incrementUnreadMessageCount &&\n prevChatMessages.filter(({ id }) => id === NewMessageSeparatorId).length === 0\n ) {\n return [\n ...prevChatMessages,\n {\n id: NewMessageSeparatorId,\n type: 'system',\n message: 'New messages',\n variant: 'primary'\n },\n newMockMessage\n ];\n }\n return [...prevChatMessages, newMockMessage];\n });\n if (!incrementUnreadMessageCount) {\n setUnreadMessagesCount(prevCount => prevCount + 1);\n }\n };\n\n useEffect(() => {\n if (args.simulateConversation) {\n const timeOutId = setTimeout(() => {\n if (mockChatMessages.length) {\n appendMessage(mockChatMessages.shift());\n }\n }, 1500);\n return () => {\n clearTimeout(timeOutId);\n };\n }\n }, [chatMessages, args.simulateConversation]);\n\n const [openPopover, setOpenPopover] = useState(false);\n const [popoverRef, setPopoverRef] = useElement<HTMLElement>();\n const [buttonRef, setButtonRef] = useElement<HTMLElement>();\n const additionalInfo: {\n title: string;\n options: any;\n } = {\n title: 'Additional info',\n options: {\n LiveChat: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ],\n Twitter: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Twitter handle',\n value: '@Connor'\n },\n {\n id: '3',\n name: 'Followers',\n value: '13,556'\n }\n ],\n Facebook: [\n {\n id: '1',\n name: 'Session status',\n value: <Status variant='urgent'>UNAUTHENTICATED</Status>\n },\n {\n id: '2',\n name: 'Profile name',\n value: 'Sara Davis'\n }\n ]\n }\n };\n useOuterEvent('mousedown', [popoverRef, buttonRef], () => {\n if (openPopover) setOpenPopover(false);\n });\n\n const header = (\n <ChatHeader\n title={Channels.options[args.selectedChannel || 'LiveChat'].title}\n icon={Channels.options[args.selectedChannel || 'LiveChat'].icon}\n aria-label='Chat header'\n sentiment={{\n variant: 'positive',\n 'aria-label': 'Sentiment is positive'\n }}\n actions={\n <div>\n <Button\n variant='simple'\n onClick={() => setShowTranscripts(!showTranscripts)}\n aria-label='Show transcripts'\n >\n <Flex\n container={{\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Icon name='chats' />\n <Text>Transcripts</Text>\n </Flex>\n </Button>\n <Button\n variant='simple'\n icon\n aria-label='chat info'\n ref={setButtonRef}\n onClick={() => setOpenPopover(current => !current)}\n >\n <Icon name='information' />\n </Button>\n <Popover\n show={openPopover}\n target={buttonRef}\n ref={setPopoverRef}\n arrow\n placement='bottom-end'\n >\n <Flex container={{ direction: 'column', gap: 1, pad: 2 }}>\n <Text variant='h4'>{additionalInfo.title}</Text>\n <FieldValueList\n variant='inline'\n fields={additionalInfo.options[args.selectedChannel || 'LiveChat']}\n />\n </Flex>\n </Popover>\n <MenuButton\n text='More actions'\n icon='more'\n iconOnly\n variant='simple'\n portal\n menu={{\n items: [\n { primary: 'Transfer', id: 'transcript', onClick: action('Clicked Transfer') },\n { primary: 'End chat', id: 'endChat', onClick: action('Clicked End chat') }\n ]\n }}\n />\n </div>\n }\n />\n );\n\n const [showEarlierTranscripts, setShowEarlierTranscripts] = useState(false);\n\n const transcriptsContainerRef = useRef<HTMLDivElement>(null);\n\n useOuterEvent('mousedown', [transcriptsContainerRef], () => {\n setShowTranscripts(false);\n });\n\n const utilityComp = useMemo<ChatProps['utility'] | undefined>(() => {\n return showTranscripts ? (\n <div ref={transcriptsContainerRef}>\n {!showEarlierTranscripts && (\n <Flex\n container={{\n direction: 'column',\n alignItems: 'center',\n gap: 1\n }}\n >\n <Button\n icon\n aria-label='Show earlier transcripts'\n variant='secondary'\n onClick={() => {\n setShowEarlierTranscripts(!showEarlierTranscripts);\n }}\n >\n <Icon name='caret-up' />\n </Button>\n </Flex>\n )}\n {transcripts\n .sort((transcript: any) => transcript.earlierTranscripts)\n .filter((transcript: any) =>\n showEarlierTranscripts ? true : !transcript.earlierTranscripts\n )\n .map((transcript: any) => {\n const transcriptData: any = transcript.data.map(\n (message: {\n messagePrivacy: { privacy: string };\n transcriptHeader: { content: ReactElement; meta: JSX.Element };\n }) => {\n if (message.messagePrivacy) {\n message.transcriptHeader = {\n content: <Status variant='warn'>{message.messagePrivacy.privacy}</Status>,\n meta: <Link href='/'>I-12345</Link>\n };\n }\n return message;\n }\n );\n\n return (\n <ChatTranscript\n tabIndex={0}\n title={transcript.title}\n key={transcript.id}\n transcript={transcriptData}\n />\n );\n })}\n </div>\n ) : undefined;\n }, [showTranscripts, setShowTranscripts, showEarlierTranscripts, setShowEarlierTranscripts]);\n\n const chatBanner: BannerProps = {\n messages: ['This is a public interaction and any responses will be public and visible'],\n variant: 'warning'\n };\n const body = (\n <ChatBody>\n <MessageList\n unReadMessageCount={unreadMessagesCount}\n onScrollToButtonClick={() => {\n const newRandomMessageId = Math.random().toString(36).substr(2, 9);\n setChatMessages(prevChatMessages =>\n prevChatMessages.map(message => {\n if (message.id === NewMessageSeparatorId) {\n message.id = newRandomMessageId;\n }\n return message;\n })\n );\n const timeOutId: number = window.setTimeout(() => {\n setChatMessages(prevChatMessages =>\n prevChatMessages.filter(({ id }) => id !== newRandomMessageId)\n );\n timers.current = timers.current.filter(id => id !== timeOutId);\n }, 5000);\n timers.current.push(timeOutId);\n setUnreadMessagesCount(0);\n }}\n ref={conversationRef}\n messages={[\n ...chatMessages,\n {\n id: 'Pegasystems',\n type: 'typing',\n avatarInfo: {\n name: 'Pegasystems',\n imageSrc:\n 'https://www.pega.com/sites/default/files/media/images/2018-12/Pega.com-og.png'\n },\n message: args.message,\n ariaLabel: 'Pegasystems is typing'\n }\n ]}\n />\n </ChatBody>\n );\n\n const chatComposerImperativeHandleRef = useRef<ChatComposerImperativeHandleProps>(null);\n\n const [mountPopover, setMountPopover] = useState(false);\n const specialKeysConfig = {\n keys: ['//'],\n onSpecialKey: (e: SyntheticEvent<HTMLTextAreaElement>, key: string) => {\n action(`Event is ${e}`)();\n action(`Typed special key is ${key}`)();\n if (chatComposerImperativeHandleRef.current) {\n setMountPopover(!mountPopover);\n }\n }\n };\n\n const insertPhrasesMessage = (message: string) => {\n if (chatComposerImperativeHandleRef.current) {\n chatComposerImperativeHandleRef.current.appendToMessage(message, 'specialKey');\n setMountPopover(false);\n }\n };\n\n useOuterEvent(\n 'mousedown',\n [chatComposerImperativeHandleRef?.current?.chatComposerRef?.current as Element],\n () => {\n setMountPopover(false);\n }\n );\n\n const [search, setSearch] = useState('');\n const [isOpen, setIsOpen] = useState(false);\n const searchEleRef = useRef<HTMLInputElement>(null);\n const [announcement, setAnnouncement] = useState('');\n\n const searchRegex = useMemo(() => {\n const escapedSearch = search.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&');\n return new RegExp(escapedSearch);\n }, [search]);\n\n const itemsToRender = useMemo(() => {\n return menuHelpers.mapTree(\n search\n ? menuHelpers.flatten(phrasesDisplayNames).filter(({ primary }: MenuItemProps) => {\n return searchRegex.test(primary);\n })\n : phrasesDisplayNames,\n item => {\n return {\n ...item\n };\n }\n );\n }, [search, phrasesDisplayNames, searchRegex]);\n\n useEffect(() => {\n if (isOpen) {\n searchEleRef?.current?.focus();\n }\n }, [isOpen, searchEleRef.current]);\n\n const menuID = createUID();\n const menuListID = `${menuID}--list`;\n const [buttonEl, setButtonEl] = useElement<HTMLButtonElement>(null);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n\n useOuterEvent('mousedown', [popoverEl, buttonEl], () => {\n setIsOpen(false);\n setSearch('');\n });\n\n useEscape(() => {\n setIsOpen(false);\n });\n\n const pagePushItemsRender = useMemo(() => {\n return pagePushList.map(item => {\n return { id: item.id, primary: item.message };\n });\n }, [pagePushList]);\n\n const footer = (\n <ChatComposer\n ref={chatComposerImperativeHandleRef}\n maxAttachments={args.maxAttachments}\n attachments={attachments}\n specialKeysConfig={specialKeysConfig}\n showEmoji\n disabled={args.disableChat}\n onAddAttachment={() => {\n setAttachments([\n ...attachments,\n {\n id: `${attachments.length} statement.pdf`,\n name: `${attachments.length} statement.pdf`,\n onDelete: onDeleteAttachment\n }\n ]);\n }}\n maxLength={args.maxLength}\n placeholder={args.placeholder}\n defaultMessage={args.defaultMessage}\n onSend={message => {\n action(`onAppendMessage: ${message}`)();\n appendMessage({\n ...participants.sender,\n type: 'message',\n message,\n timeStamp: '1:45 PM'\n });\n }}\n >\n <Button\n ref={setButtonEl}\n onClick={() => setIsOpen(cur => !cur)}\n variant='secondary'\n disabled={args.disableChat}\n >\n <Flex container={{ alignItems: 'center', gap: 1 }}>\n <Text>Phrases</Text>\n <Icon name='arrow-micro-down' />\n </Flex>\n </Button>\n\n <Popover show={isOpen} ref={setPopoverEl} target={buttonEl}>\n <Menu\n id={menuID}\n listId={menuListID}\n mode='action'\n variant='flyout'\n items={itemsToRender}\n role='listbox'\n onItemClick={id => {\n insertPhrasesMessage(phrasesMessages.filter(message => message.id === id)[0].message);\n setAnnouncement('Phrase inserted');\n setIsOpen(false);\n setSearch('');\n }}\n accent={search ? searchRegex : undefined}\n focusControlEl={searchEleRef.current || undefined}\n footer={\n <SearchInput\n ref={searchEleRef}\n onSearchChange={setSearch}\n value={search}\n role='searchbox'\n searchInputAriaLabel='Start typing to search.'\n />\n }\n />\n </Popover>\n\n <MenuButton\n text='Page push'\n disabled={args.disableChat}\n menu={{\n id: menuID,\n listId: menuListID,\n mode: 'action',\n variant: 'flyout',\n items: pagePushItemsRender,\n role: 'listbox',\n onItemClick: id => {\n setAnnouncement('Link inserted');\n setChatMessages(prevChatMessages => [\n ...prevChatMessages,\n pagePushList.filter(item => item.id === id)[0]\n ]);\n }\n }}\n />\n <Popover\n show={mountPopover}\n target={chatComposerImperativeHandleRef?.current?.textAreaRef?.current as Element}\n placement='top-start'\n >\n <Menu\n scrollAt={20}\n items={itemsToRender}\n onItemClick={id => {\n insertPhrasesMessage(phrasesMessages.filter(message => message.id === id)[0].message);\n setAnnouncement('Phrase inserted');\n }}\n focusControlEl={\n chatComposerImperativeHandleRef?.current?.textAreaRef?.current as\n | HTMLElement\n | undefined\n }\n />\n </Popover>\n </ChatComposer>\n );\n\n const suggestedReplyPicker =\n suggestedReplies.length > 0 && showSuggestedReplies ? (\n <SuggestedReplyPicker\n replies={suggestedReplies}\n onSelect={(suggestedReply: SuggestedReply) => {\n chatComposerImperativeHandleRef.current?.appendToMessage(\n suggestedReply.message,\n 'cursor'\n );\n setShowSuggestedReplies(false);\n }}\n onDismiss={() => {\n setShowSuggestedReplies(false);\n }}\n />\n ) : undefined;\n const fetchGoogleSprite = () => {\n return 'https://unpkg.com/emoji-datasource-google@5.0.1/img/google/sheets-256/64.png';\n };\n\n return (\n <EmojiContext.Provider value={{ set: 'google', spriteSrcResolver: fetchGoogleSprite }}>\n <Flex\n container={{\n justify: 'center'\n }}\n style={{\n height: 'calc(100vh)',\n width: args.chatWidth || '30rem',\n margin: 'auto'\n }}\n >\n <VisuallyHiddenText aria-live='assertive'>{announcement}</VisuallyHiddenText>\n <Chat\n utility={utilityComp}\n header={header}\n banner={args.showChatBanner ? chatBanner : undefined}\n body={body}\n footer={footer}\n suggestedReplyPicker={suggestedReplyPicker}\n />\n </Flex>\n </EmojiContext.Provider>\n );\n};\n\nStandardChat.args = {\n maxAttachments: 2,\n selectedChannel: 'LiveChat',\n showChatBanner: true,\n disableChat: false,\n simulateConversation: false,\n message: '',\n placeholder: 'Enter message',\n defaultMessage:\n 'Greetings! Hope you are having a great time, Please reach out to us for any help, Thanks!',\n maxLength: 280\n};\n\nStandardChat.argTypes = {\n maxAttachments: { control: { type: 'number' } },\n selectedChannel: { options: ['LiveChat', 'Twitter', 'Facebook'], control: { type: 'select' } },\n showChatBanner: { control: { type: 'boolean' } },\n disableChat: { control: { type: 'boolean' } },\n simulateConversation: { control: { type: 'boolean' } },\n message: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n defaultMessage: { control: { type: 'text' } },\n maxLength: { control: { type: 'number' } }\n};\n\nStandardChat.parameters = {\n layout: 'fullscreen'\n};\n\n/** *************************** Standard Chat component - END ************************ */\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Email.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Email/Email.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,UAAU,EAEX,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AA2B/C,OAAO,EAQL,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EAEf,qBAAqB,EAGrB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKL,eAAe,EAChB,MAAM,4DAA4D,CAAC;;AAyCpE,wBAGU;AASV,UAAU,cAAe,SAAQ,UAAU;IACzC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"Email.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Email/Email.stories.tsx"],"names":[],"mappings":"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"}
|