@pega/cosmos-react-demos 3.0.0-dev.22.0 → 3.0.0-dev.23.2
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/AppHeader/AppHeader.stories.jsx +1 -1
- package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +2 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +91 -0
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
- package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/core/AppShell/AppShell.stories.jsx +1 -1
- package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/core/Banner/Banner.stories.d.ts +0 -1
- package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
- package/jsx/core/Banner/Banner.stories.jsx +0 -8
- package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
- package/jsx/core/CreditCard/CreditCard.stories.jsx +1 -1
- package/jsx/core/CreditCard/CreditCard.stories.jsx.map +1 -1
- package/jsx/core/Currency/Currency.stories.d.ts +5 -3
- package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
- package/jsx/core/Currency/Currency.stories.jsx +2 -2
- package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.jsx +3 -0
- package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
- package/jsx/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
- package/jsx/core/FieldGroup/FieldGroupList.stories.jsx +4 -0
- package/jsx/core/FieldGroup/FieldGroupList.stories.jsx.map +1 -1
- package/jsx/core/FieldValueList/FieldValueList.stories.jsx +1 -1
- package/jsx/core/FieldValueList/FieldValueList.stories.jsx.map +1 -1
- package/jsx/core/FieldValueList/FieldValueList.styles.d.ts +2 -0
- package/jsx/core/FieldValueList/FieldValueList.styles.d.ts.map +1 -0
- package/{lib/core/FieldValueList/FieldValueList.mocks.js → jsx/core/FieldValueList/FieldValueList.styles.js} +2 -3
- package/jsx/core/FieldValueList/FieldValueList.styles.js.map +1 -0
- package/jsx/core/Number/Number.stories.d.ts +1 -1
- package/jsx/core/Number/Number.stories.d.ts.map +1 -1
- package/jsx/core/Number/Number.stories.jsx +4 -4
- package/jsx/core/Number/Number.stories.jsx.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +12 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
- package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx +2 -2
- package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx.map +1 -1
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.d.ts +1 -0
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.d.ts.map +1 -1
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.jsx +6 -6
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.jsx.map +1 -1
- package/jsx/social/Email/Email.stories.d.ts.map +1 -1
- package/jsx/social/Email/Email.stories.jsx +19 -0
- package/jsx/social/Email/Email.stories.jsx.map +1 -1
- package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
- package/jsx/social/Feed/Feed.stories.jsx +6 -2
- package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.jsx +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.jsx +2 -2
- package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedReply.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedReply.stories.jsx +1 -1
- package/jsx/social/Feed/FeedReply.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedReplyInput.stories.jsx +1 -1
- package/jsx/social/Feed/FeedReplyInput.stories.jsx.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.d.ts +74 -2
- package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.jsx +198 -9
- package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
- package/jsx/work/CaseView/CaseView.stories.d.ts +3 -22
- package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.stories.jsx +49 -238
- package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
- package/jsx/wss/AppShell/AppShell.mocks.d.ts +11 -0
- package/jsx/wss/AppShell/AppShell.mocks.d.ts.map +1 -1
- package/jsx/wss/AppShell/AppShell.mocks.jsx +11 -0
- package/jsx/wss/AppShell/AppShell.mocks.jsx.map +1 -1
- package/jsx/wss/AppShell/AppShell.stories.d.ts +11 -9
- package/jsx/wss/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/wss/AppShell/AppShell.stories.jsx +11 -19
- package/jsx/wss/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/wss/PageTemplates/PageTemplates.stories.d.ts +15 -0
- package/jsx/wss/PageTemplates/PageTemplates.stories.d.ts.map +1 -0
- package/jsx/wss/PageTemplates/PageTemplates.stories.jsx +48 -0
- package/jsx/wss/PageTemplates/PageTemplates.stories.jsx.map +1 -0
- package/lib/build/AppHeader/AppHeader.stories.js +1 -1
- package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.js +2 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +91 -0
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
- package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/core/AppShell/AppShell.stories.js +1 -1
- package/lib/core/AppShell/AppShell.stories.js.map +1 -1
- package/lib/core/Banner/Banner.stories.d.ts +0 -1
- package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
- package/lib/core/Banner/Banner.stories.js +0 -11
- package/lib/core/Banner/Banner.stories.js.map +1 -1
- package/lib/core/CreditCard/CreditCard.stories.js +1 -1
- package/lib/core/CreditCard/CreditCard.stories.js.map +1 -1
- package/lib/core/Currency/Currency.stories.d.ts +5 -3
- package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
- package/lib/core/Currency/Currency.stories.js +2 -2
- package/lib/core/Currency/Currency.stories.js.map +1 -1
- package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/lib/core/DateTime/DateTime.stories.js +3 -0
- package/lib/core/DateTime/DateTime.stories.js.map +1 -1
- package/lib/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
- package/lib/core/FieldGroup/FieldGroupList.stories.js +4 -0
- package/lib/core/FieldGroup/FieldGroupList.stories.js.map +1 -1
- package/lib/core/FieldValueList/FieldValueList.stories.js +1 -1
- package/lib/core/FieldValueList/FieldValueList.stories.js.map +1 -1
- package/lib/core/FieldValueList/FieldValueList.styles.d.ts +2 -0
- package/lib/core/FieldValueList/FieldValueList.styles.d.ts.map +1 -0
- package/{jsx/core/FieldValueList/FieldValueList.mocks.js → lib/core/FieldValueList/FieldValueList.styles.js} +2 -3
- package/lib/core/FieldValueList/FieldValueList.styles.js.map +1 -0
- package/lib/core/Number/Number.stories.d.ts +1 -1
- package/lib/core/Number/Number.stories.d.ts.map +1 -1
- package/lib/core/Number/Number.stories.js +4 -4
- package/lib/core/Number/Number.stories.js.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js +12 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
- package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js +2 -2
- package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
- package/lib/cs/InteractionNotification/InteractionNotification.stories.d.ts +1 -0
- package/lib/cs/InteractionNotification/InteractionNotification.stories.d.ts.map +1 -1
- package/lib/cs/InteractionNotification/InteractionNotification.stories.js +24 -22
- package/lib/cs/InteractionNotification/InteractionNotification.stories.js.map +1 -1
- package/lib/social/Email/Email.stories.d.ts.map +1 -1
- package/lib/social/Email/Email.stories.js +19 -0
- package/lib/social/Email/Email.stories.js.map +1 -1
- package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
- package/lib/social/Feed/Feed.stories.js +6 -2
- package/lib/social/Feed/Feed.stories.js.map +1 -1
- package/lib/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedNewPost.stories.js +1 -1
- package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
- package/lib/social/Feed/FeedPost.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedPost.stories.js +2 -2
- package/lib/social/Feed/FeedPost.stories.js.map +1 -1
- package/lib/social/Feed/FeedReply.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedReply.stories.js +1 -1
- package/lib/social/Feed/FeedReply.stories.js.map +1 -1
- package/lib/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedReplyInput.stories.js +1 -1
- package/lib/social/Feed/FeedReplyInput.stories.js.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.d.ts +74 -2
- package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.js +188 -9
- package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
- package/lib/work/CaseView/CaseView.stories.d.ts +3 -22
- package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.stories.js +44 -248
- package/lib/work/CaseView/CaseView.stories.js.map +1 -1
- package/lib/wss/AppShell/AppShell.mocks.d.ts +11 -0
- package/lib/wss/AppShell/AppShell.mocks.d.ts.map +1 -1
- package/lib/wss/AppShell/AppShell.mocks.js +11 -0
- package/lib/wss/AppShell/AppShell.mocks.js.map +1 -1
- package/lib/wss/AppShell/AppShell.stories.d.ts +11 -9
- package/lib/wss/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/wss/AppShell/AppShell.stories.js +12 -19
- package/lib/wss/AppShell/AppShell.stories.js.map +1 -1
- package/lib/wss/PageTemplates/PageTemplates.stories.d.ts +15 -0
- package/lib/wss/PageTemplates/PageTemplates.stories.d.ts.map +1 -0
- package/lib/wss/PageTemplates/PageTemplates.stories.js +41 -0
- package/lib/wss/PageTemplates/PageTemplates.stories.js.map +1 -0
- package/package.json +10 -11
- package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts +0 -3
- package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts.map +0 -1
- package/jsx/core/FieldValueList/FieldValueList.mocks.js.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.mocks.d.ts +0 -73
- package/jsx/cs/CSCaseView/CSAppShell.mocks.d.ts.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.mocks.jsx +0 -299
- package/jsx/cs/CSCaseView/CSAppShell.mocks.jsx.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts +0 -13
- package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.stories.jsx +0 -228
- package/jsx/cs/CSCaseView/CSAppShell.stories.jsx.map +0 -1
- package/lib/core/FieldValueList/FieldValueList.mocks.d.ts +0 -3
- package/lib/core/FieldValueList/FieldValueList.mocks.d.ts.map +0 -1
- package/lib/core/FieldValueList/FieldValueList.mocks.js.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.mocks.d.ts +0 -73
- package/lib/cs/CSCaseView/CSAppShell.mocks.d.ts.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.mocks.js +0 -280
- package/lib/cs/CSCaseView/CSAppShell.mocks.js.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.stories.d.ts +0 -13
- package/lib/cs/CSCaseView/CSAppShell.stories.d.ts.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.stories.js +0 -210
- package/lib/cs/CSCaseView/CSAppShell.stories.js.map +0 -1
|
@@ -23,6 +23,7 @@ export const CallControlPanelDemo = (args) => {
|
|
|
23
23
|
const [contacts, setContacts] = useState(contactsList);
|
|
24
24
|
const callsList = useRef(calls);
|
|
25
25
|
callsList.current = calls;
|
|
26
|
+
const [showInteractionTransfer, setShowInteractionTransfer] = useState(false);
|
|
26
27
|
const onMuteToggle = (id) => {
|
|
27
28
|
const thisCallIndex = callsList.current.findIndex(call => call.id === id);
|
|
28
29
|
if (thisCallIndex < 0)
|
|
@@ -73,6 +74,7 @@ export const CallControlPanelDemo = (args) => {
|
|
|
73
74
|
};
|
|
74
75
|
const onEndCall = (id) => {
|
|
75
76
|
setCalls(callsList.current.filter(item => item.id !== id));
|
|
77
|
+
setCurrentStatus('available');
|
|
76
78
|
};
|
|
77
79
|
const onHangUp = (callId, participantId) => {
|
|
78
80
|
const currentCallIndex = callsList.current.findIndex(call => call.id === callId);
|
|
@@ -129,6 +131,8 @@ export const CallControlPanelDemo = (args) => {
|
|
|
129
131
|
onDTMFPress: action('onDTMFPress'),
|
|
130
132
|
onTransferAction: (callId, transferData) => {
|
|
131
133
|
action('onTransferAction')(callId, transferData);
|
|
134
|
+
if (transferData.interaction)
|
|
135
|
+
setShowInteractionTransfer(true);
|
|
132
136
|
onEndCall(id);
|
|
133
137
|
},
|
|
134
138
|
onConsultAction,
|
|
@@ -152,7 +156,12 @@ export const CallControlPanelDemo = (args) => {
|
|
|
152
156
|
return (<CallControlPanel visible={args.visible ?? true} heading={args.heading} statusOptions={userStatusOptions} status={currentStatus} inStatusSince={inStatusSince.current} onStatusChange={value => {
|
|
153
157
|
setCurrentStatus(value);
|
|
154
158
|
args.onStatusChange?.(userStatusOptions.find(s => s.id === value) ?? userStatusOptions[0]);
|
|
155
|
-
}}
|
|
159
|
+
}} interactionTransfer={showInteractionTransfer
|
|
160
|
+
? {
|
|
161
|
+
onCancel: () => setShowInteractionTransfer(false),
|
|
162
|
+
onComplete: () => setShowInteractionTransfer(false)
|
|
163
|
+
}
|
|
164
|
+
: undefined} calls={calls} draggable={args.isDraggable} onAddCall={(phoneNumber) => {
|
|
156
165
|
const call = {
|
|
157
166
|
id: createUID(),
|
|
158
167
|
startedAt: Date.now(),
|
|
@@ -162,6 +171,8 @@ export const CallControlPanelDemo = (args) => {
|
|
|
162
171
|
transferOptions: transferReasons,
|
|
163
172
|
onTransferAction: (id, data) => {
|
|
164
173
|
action('onTransferAction')(id, data);
|
|
174
|
+
if (data.interaction)
|
|
175
|
+
setShowInteractionTransfer(true);
|
|
165
176
|
onEndCall(id);
|
|
166
177
|
},
|
|
167
178
|
muted: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallControlPanel.stories.jsx","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 CallParticipant,\n TransferData,\n UserAvailabilityStatusOption,\n CallControlPanelProps\n} from '@pega/cosmos-react-cs';\n\nimport {\n contactsList,\n createExternalIframeContent,\n ExternalStyles,\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 },\n argTypes: {\n heading: { control: { type: 'text' } },\n isDraggable: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CallControlPanelStoryProps {\n heading: string;\n isDraggable?: 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[]>([]);\n const [contacts, setContacts] = useState(contactsList);\n const callsList = useRef(calls);\n callsList.current = calls;\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.muted\n });\n setCalls([...callsList.current]);\n };\n\n const onMergeCall = (id: CallProps['id']) => {\n const thisCall = callsList.current.find(call => call.id === id);\n const activeCallIndex = callsList.current.findIndex(call => !call.onHoldSince);\n\n if (!thisCall || !activeCallIndex) return;\n callsList.current.splice(activeCallIndex, 1, {\n ...callsList.current[activeCallIndex],\n participants: [...callsList.current[activeCallIndex].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([...callsList.current.filter(call => call.id !== id && call.onHoldSince)]);\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.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 };\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];\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 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 callsList.current.splice(0, 1, {\n ...callsList.current[0],\n participants: [...callsList.current[0].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 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 const updatedCalls: CallProps[] = callsList.current.map(call => {\n return { ...call, onHoldSince: Date.now(), onMergeCall, onPauseToggle: undefined };\n });\n updatedCalls.push(consultCall);\n setCalls(updatedCalls);\n };\n\n return (\n <CallControlPanel\n visible={args.visible ?? true}\n heading={args.heading}\n statusOptions={userStatusOptions}\n status={currentStatus}\n inStatusSince={inStatusSince.current}\n onStatusChange={value => {\n setCurrentStatus(value);\n args.onStatusChange?.(userStatusOptions.find(s => s.id === value) ?? userStatusOptions[0]);\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 onTransferAction: (id, data) => {\n action('onTransferAction')(id, data);\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 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\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 />\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.jsx","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 CallParticipant,\n TransferData,\n UserAvailabilityStatusOption,\n CallControlPanelProps\n} from '@pega/cosmos-react-cs';\n\nimport {\n contactsList,\n createExternalIframeContent,\n ExternalStyles,\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 },\n argTypes: {\n heading: { control: { type: 'text' } },\n isDraggable: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CallControlPanelStoryProps {\n heading: string;\n isDraggable?: 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[]>([]);\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.muted\n });\n setCalls([...callsList.current]);\n };\n\n const onMergeCall = (id: CallProps['id']) => {\n const thisCall = callsList.current.find(call => call.id === id);\n const activeCallIndex = callsList.current.findIndex(call => !call.onHoldSince);\n\n if (!thisCall || !activeCallIndex) return;\n callsList.current.splice(activeCallIndex, 1, {\n ...callsList.current[activeCallIndex],\n participants: [...callsList.current[activeCallIndex].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([...callsList.current.filter(call => call.id !== id && call.onHoldSince)]);\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.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];\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 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 callsList.current.splice(0, 1, {\n ...callsList.current[0],\n participants: [...callsList.current[0].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 const updatedCalls: CallProps[] = callsList.current.map(call => {\n return { ...call, onHoldSince: Date.now(), onMergeCall, onPauseToggle: undefined };\n });\n updatedCalls.push(consultCall);\n setCalls(updatedCalls);\n };\n\n return (\n <CallControlPanel\n visible={args.visible ?? true}\n heading={args.heading}\n statusOptions={userStatusOptions}\n status={currentStatus}\n inStatusSince={inStatusSince.current}\n onStatusChange={value => {\n setCurrentStatus(value);\n args.onStatusChange?.(userStatusOptions.find(s => s.id === value) ?? userStatusOptions[0]);\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 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 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\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 />\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"]}
|
|
@@ -8,7 +8,7 @@ import { TableDemo } from '../../core/Table/Table.stories';
|
|
|
8
8
|
import { AttachmentsMock } from '../../work/CaseView/Attachments.mocks';
|
|
9
9
|
import { Details } from '../../work/CaseView/Details.mocks';
|
|
10
10
|
import { PulseMock } from '../../work/CaseView/Pulse.mocks';
|
|
11
|
-
import {
|
|
11
|
+
import { baseCaseTabs, MockSummaryList } from '../../work/CaseView/CaseView.mocks';
|
|
12
12
|
import { TimelineDemo } from '../../work/Timeline/Timeline.stories';
|
|
13
13
|
import { TaskPickerMockData } from '../TaskManager/TaskManager.mocks';
|
|
14
14
|
registerIcon(userSolidIcon);
|
|
@@ -88,7 +88,7 @@ export const CaseViewWithIntelligentGuidance = () => {
|
|
|
88
88
|
const addTaskButtonRef = useRef(null);
|
|
89
89
|
const isMediumOrAbove = useBreakpoint('md');
|
|
90
90
|
const caseId = 'C-456';
|
|
91
|
-
const demoTabItems =
|
|
91
|
+
const demoTabItems = baseCaseTabs;
|
|
92
92
|
const [demoCurrentTabId, setDemoCurrentTabId] = useState(isMediumOrAbove ? demoTabItems[0].id : `summary-${caseId}`);
|
|
93
93
|
const demoTabContent = useMemo(() => {
|
|
94
94
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntelligentGuidance.stories.jsx","sourceRoot":"","sources":["../../../src/cs/IntelligentGuidance/IntelligentGuidance.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n createUID,\n Form,\n Grid,\n Icon,\n registerIcon,\n Input,\n MenuButton,\n MenuItemProps,\n Status,\n StatusProps,\n Text,\n useBreakpoint\n} from '@pega/cosmos-react-core';\nimport { CaseSummaryFields } from '@pega/cosmos-react-work';\nimport {\n CSCaseView,\n TaskManager,\n TaskView,\n TaskProps,\n IntelligentGuidance,\n IntelligentGuidanceProps\n} from '@pega/cosmos-react-cs';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TableDemo } from '../../core/Table/Table.stories';\nimport { AttachmentsMock } from '../../work/CaseView/Attachments.mocks';\nimport { Details } from '../../work/CaseView/Details.mocks';\nimport { PulseMock } from '../../work/CaseView/Pulse.mocks';\nimport { getTabs, MockSummaryList } from '../../work/CaseView/CaseView.mocks';\nimport { TimelineDemo } from '../../work/Timeline/Timeline.stories';\nimport { TaskPickerMockData } from '../TaskManager/TaskManager.mocks';\n\nregisterIcon(userSolidIcon);\n\nexport default {\n title: 'Customer Service/IntelligentGuidance',\n component: IntelligentGuidance,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport const IntelligentGuidanceDemo: Story = () => {\n const [items, setItems] = useState<IntelligentGuidanceProps['items']>([\n {\n id: '1',\n label: 'Change address',\n icon: 'clipboard',\n type: 'Task',\n onClick: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n }\n },\n {\n id: '2',\n label: 'Update contact profile',\n icon: 'headline',\n type: 'Knowledge Article',\n onClick: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n }\n }\n ]);\n\n return <IntelligentGuidance items={items} heading='Intelligent guidance' />;\n};\n\ntype TaskActions = 'cancel' | 'launch' | 'dismiss' | 'submit';\n\nexport const CaseViewWithIntelligentGuidance: Story = () => {\n const WRAP_UP_TASK_ID = createUID();\n const CHANGE_ADDRESS_TASK_ID = createUID();\n const UPDATE_PROFILE_TASK_ID = createUID();\n\n const [serviceTasks, setServiceTasks] = useState<TaskProps[]>([\n {\n id: CHANGE_ADDRESS_TASK_ID,\n icon: 'check',\n name: 'Change address',\n isResolved: true,\n status: {\n text: 'Resolve Completed',\n variant: 'success' as StatusProps['variant']\n }\n },\n {\n id: createUID(),\n icon: 'clipboard',\n name: 'Lost or stolen card',\n isResolved: false,\n status: {\n text: 'In Progress',\n variant: 'pending' as StatusProps['variant']\n }\n },\n {\n id: UPDATE_PROFILE_TASK_ID,\n icon: 'bulb',\n name: 'Update contact profile',\n isResolved: false,\n meta: 'Suggested task'\n }\n ]);\n\n const formActionsElemRef = useRef<HTMLButtonElement>(null);\n const taskManagerRef = useRef<HTMLDivElement>(null);\n const [activeTaskId, setActiveTaskId] = useState<string | undefined>(undefined);\n const [disableWrapUp, setDisableWrapUp] = useState<boolean>(false);\n const addTaskButtonRef = useRef<HTMLButtonElement>(null);\n\n const isMediumOrAbove = useBreakpoint('md');\n const caseId = 'C-456';\n const demoTabItems = getTabs();\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? demoTabItems[0].id : `summary-${caseId}`\n );\n\n const demoTabContent = useMemo(() => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock />\n },\n {\n id: 'Accounts',\n content: <TableDemo />\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n }, []);\n\n useEffect(() => {\n if (formActionsElemRef.current) {\n formActionsElemRef.current.focus();\n formActionsElemRef.current.scrollIntoView(false);\n } else if (addTaskButtonRef.current) {\n addTaskButtonRef.current.scrollIntoView(false);\n }\n }, [activeTaskId]);\n\n const performTaskAction = (taskId: string | undefined, taskAction: TaskActions) => {\n if (taskId === WRAP_UP_TASK_ID) {\n if (taskAction === 'cancel' || taskAction === 'submit') {\n setActiveTaskId(undefined);\n } else if (taskAction === 'launch') {\n setActiveTaskId(WRAP_UP_TASK_ID);\n }\n } else if (taskAction === 'launch') {\n setActiveTaskId(taskId);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'clipboard',\n meta: undefined,\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'cancel') {\n setActiveTaskId(undefined);\n } else if (taskAction === 'submit') {\n setActiveTaskId(undefined);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'check',\n isResolved: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve Completed'\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'dismiss') {\n setServiceTasks(prevTasks => {\n return prevTasks.filter(task => task.id !== taskId);\n });\n }\n };\n\n const [items, setItems] = useState<IntelligentGuidanceProps['items']>([\n {\n id: '1',\n label: 'Update contact profile',\n icon: 'bulb',\n type: 'Task',\n onClick: () => {\n performTaskAction(UPDATE_PROFILE_TASK_ID, 'launch');\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n }\n },\n {\n id: '2',\n label: 'Change address',\n icon: 'clipboard',\n type: 'Task',\n onClick: () => {\n performTaskAction(CHANGE_ADDRESS_TASK_ID, 'launch');\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n }\n }\n ]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setItems(prev => [\n ...prev,\n {\n id: '3',\n label: 'Demo item',\n icon: 'clipboard',\n type: 'Demo',\n onClick: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '3'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '3'));\n }\n }\n ]);\n }, 5000);\n return () => clearTimeout(timer);\n }, []);\n\n const renderTasks = (selections: MenuItemProps[]) => {\n const newTasks = selections.map((selection, i) => {\n const taskId = createUID();\n if (i === 0) {\n return {\n id: taskId,\n icon: 'clipboard',\n name: selection.primary,\n isResolved: false,\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return {\n id: taskId,\n icon: 'clipboard',\n name: selection.primary,\n isResolved: false,\n meta: 'Queued task'\n };\n });\n setServiceTasks(prevTasks => {\n return [...newTasks, ...prevTasks];\n });\n if (newTasks.length > 0) {\n performTaskAction(newTasks[0].id, 'launch');\n }\n };\n\n const taskWidget = (\n <TaskManager\n ref={taskManagerRef}\n tasks={serviceTasks.map(task => {\n if (task.id === activeTaskId) {\n return {\n ...task,\n active: true\n };\n }\n return task;\n })}\n emptyText='No tasks added'\n banner={{\n icon: 'headset',\n content:\n 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct ?'\n }}\n onTaskLaunch={id => {\n performTaskAction(id, 'launch');\n }}\n onTaskDismiss={id => {\n performTaskAction(id, 'dismiss');\n }}\n addTask={{\n items: TaskPickerMockData.tasks,\n onAdd: renderTasks\n }}\n wrapUp={{\n disable: disableWrapUp,\n onClick: () => {\n performTaskAction(WRAP_UP_TASK_ID, 'launch');\n setDisableWrapUp(true);\n },\n active: activeTaskId === WRAP_UP_TASK_ID\n }}\n main={\n <TaskView\n header={\n <Text variant='h2'>\n {activeTaskId === WRAP_UP_TASK_ID\n ? 'Wrap up'\n : serviceTasks.find(task => task.id === activeTaskId)?.name}\n </Text>\n }\n actions={\n <MenuButton\n ref={formActionsElemRef}\n menu={{\n items: ['Option Number 1', 'Option Number 2', 'Option Number 3'].map(\n (name: string) => ({\n primary: name,\n id: name,\n onClick: () => {}\n })\n )\n }}\n text='Actions'\n />\n }\n >\n <Form\n actions={\n <>\n <Button\n name='Cancel'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Cancel\n </Button>\n <div>\n <Button name='Save'>Save</Button>\n <Button\n name='Submit'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'submit');\n }}\n >\n Submit\n </Button>\n </div>\n </>\n }\n >\n <Grid container={{ rowGap: 2 }}>\n {activeTaskId === WRAP_UP_TASK_ID ? (\n <TimelineDemo />\n ) : (\n Array.from({ length: 15 }, (undef, i) => {\n const idx = i + 1;\n return <Input label={`Field ${idx}`} key={idx} />;\n })\n )}\n </Grid>\n </Form>\n </TaskView>\n }\n />\n );\n\n const createDate = new Date(2016, 1, 8);\n const msInYear = 1000 * 60 * 60 * 24 * 365;\n const diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\n return (\n <AppShellDemo\n main={\n <CSCaseView\n caseId={caseId}\n heading='Intelligent Guidance demo case'\n icon={<Icon name='user-solid' />}\n tasks={taskWidget}\n summary={\n <CaseSummaryFields\n primaryFields={[\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }))}\n secondaryFields={[\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n }\n ].map((f, i) => ({ ...f, id: `s-${i}` }))}\n />\n }\n tabs={{\n items: demoTabItems,\n currentTabId: demoCurrentTabId,\n onClick: (id: string) => setDemoCurrentTabId(id)\n }}\n tabContent={demoTabContent}\n utilities={\n <>\n <AttachmentsMock />\n <MockSummaryList icon='user-search' name='Stakeholders' />\n <MockSummaryList icon='user-star' name='Followers' />\n </>\n }\n utilitiesSummaryItems={[\n { iconName: 'paper-clip', count: 4 },\n { iconName: 'user-search-solid', count: 10 },\n { iconName: 'user-star-solid', count: 5 }\n ]}\n intelligentGuidance={<IntelligentGuidance items={items} heading='Intelligent guidance' />}\n />\n }\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"IntelligentGuidance.stories.jsx","sourceRoot":"","sources":["../../../src/cs/IntelligentGuidance/IntelligentGuidance.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n createUID,\n Form,\n Grid,\n Icon,\n registerIcon,\n Input,\n MenuButton,\n MenuItemProps,\n Status,\n StatusProps,\n Text,\n useBreakpoint\n} from '@pega/cosmos-react-core';\nimport { CaseSummaryFields } from '@pega/cosmos-react-work';\nimport {\n CSCaseView,\n TaskManager,\n TaskView,\n TaskProps,\n IntelligentGuidance,\n IntelligentGuidanceProps\n} from '@pega/cosmos-react-cs';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TableDemo } from '../../core/Table/Table.stories';\nimport { AttachmentsMock } from '../../work/CaseView/Attachments.mocks';\nimport { Details } from '../../work/CaseView/Details.mocks';\nimport { PulseMock } from '../../work/CaseView/Pulse.mocks';\nimport { baseCaseTabs, MockSummaryList } from '../../work/CaseView/CaseView.mocks';\nimport { TimelineDemo } from '../../work/Timeline/Timeline.stories';\nimport { TaskPickerMockData } from '../TaskManager/TaskManager.mocks';\n\nregisterIcon(userSolidIcon);\n\nexport default {\n title: 'Customer Service/IntelligentGuidance',\n component: IntelligentGuidance,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport const IntelligentGuidanceDemo: Story = () => {\n const [items, setItems] = useState<IntelligentGuidanceProps['items']>([\n {\n id: '1',\n label: 'Change address',\n icon: 'clipboard',\n type: 'Task',\n onClick: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n }\n },\n {\n id: '2',\n label: 'Update contact profile',\n icon: 'headline',\n type: 'Knowledge Article',\n onClick: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n }\n }\n ]);\n\n return <IntelligentGuidance items={items} heading='Intelligent guidance' />;\n};\n\ntype TaskActions = 'cancel' | 'launch' | 'dismiss' | 'submit';\n\nexport const CaseViewWithIntelligentGuidance: Story = () => {\n const WRAP_UP_TASK_ID = createUID();\n const CHANGE_ADDRESS_TASK_ID = createUID();\n const UPDATE_PROFILE_TASK_ID = createUID();\n\n const [serviceTasks, setServiceTasks] = useState<TaskProps[]>([\n {\n id: CHANGE_ADDRESS_TASK_ID,\n icon: 'check',\n name: 'Change address',\n isResolved: true,\n status: {\n text: 'Resolve Completed',\n variant: 'success' as StatusProps['variant']\n }\n },\n {\n id: createUID(),\n icon: 'clipboard',\n name: 'Lost or stolen card',\n isResolved: false,\n status: {\n text: 'In Progress',\n variant: 'pending' as StatusProps['variant']\n }\n },\n {\n id: UPDATE_PROFILE_TASK_ID,\n icon: 'bulb',\n name: 'Update contact profile',\n isResolved: false,\n meta: 'Suggested task'\n }\n ]);\n\n const formActionsElemRef = useRef<HTMLButtonElement>(null);\n const taskManagerRef = useRef<HTMLDivElement>(null);\n const [activeTaskId, setActiveTaskId] = useState<string | undefined>(undefined);\n const [disableWrapUp, setDisableWrapUp] = useState<boolean>(false);\n const addTaskButtonRef = useRef<HTMLButtonElement>(null);\n\n const isMediumOrAbove = useBreakpoint('md');\n const caseId = 'C-456';\n const demoTabItems = baseCaseTabs;\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? demoTabItems[0].id : `summary-${caseId}`\n );\n\n const demoTabContent = useMemo(() => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock />\n },\n {\n id: 'Accounts',\n content: <TableDemo />\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n }, []);\n\n useEffect(() => {\n if (formActionsElemRef.current) {\n formActionsElemRef.current.focus();\n formActionsElemRef.current.scrollIntoView(false);\n } else if (addTaskButtonRef.current) {\n addTaskButtonRef.current.scrollIntoView(false);\n }\n }, [activeTaskId]);\n\n const performTaskAction = (taskId: string | undefined, taskAction: TaskActions) => {\n if (taskId === WRAP_UP_TASK_ID) {\n if (taskAction === 'cancel' || taskAction === 'submit') {\n setActiveTaskId(undefined);\n } else if (taskAction === 'launch') {\n setActiveTaskId(WRAP_UP_TASK_ID);\n }\n } else if (taskAction === 'launch') {\n setActiveTaskId(taskId);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'clipboard',\n meta: undefined,\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'cancel') {\n setActiveTaskId(undefined);\n } else if (taskAction === 'submit') {\n setActiveTaskId(undefined);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'check',\n isResolved: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve Completed'\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'dismiss') {\n setServiceTasks(prevTasks => {\n return prevTasks.filter(task => task.id !== taskId);\n });\n }\n };\n\n const [items, setItems] = useState<IntelligentGuidanceProps['items']>([\n {\n id: '1',\n label: 'Update contact profile',\n icon: 'bulb',\n type: 'Task',\n onClick: () => {\n performTaskAction(UPDATE_PROFILE_TASK_ID, 'launch');\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '1'));\n }\n },\n {\n id: '2',\n label: 'Change address',\n icon: 'clipboard',\n type: 'Task',\n onClick: () => {\n performTaskAction(CHANGE_ADDRESS_TASK_ID, 'launch');\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '2'));\n }\n }\n ]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setItems(prev => [\n ...prev,\n {\n id: '3',\n label: 'Demo item',\n icon: 'clipboard',\n type: 'Demo',\n onClick: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '3'));\n },\n onDismiss: () => {\n setItems(prevItems => prevItems.filter(item => item.id !== '3'));\n }\n }\n ]);\n }, 5000);\n return () => clearTimeout(timer);\n }, []);\n\n const renderTasks = (selections: MenuItemProps[]) => {\n const newTasks = selections.map((selection, i) => {\n const taskId = createUID();\n if (i === 0) {\n return {\n id: taskId,\n icon: 'clipboard',\n name: selection.primary,\n isResolved: false,\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return {\n id: taskId,\n icon: 'clipboard',\n name: selection.primary,\n isResolved: false,\n meta: 'Queued task'\n };\n });\n setServiceTasks(prevTasks => {\n return [...newTasks, ...prevTasks];\n });\n if (newTasks.length > 0) {\n performTaskAction(newTasks[0].id, 'launch');\n }\n };\n\n const taskWidget = (\n <TaskManager\n ref={taskManagerRef}\n tasks={serviceTasks.map(task => {\n if (task.id === activeTaskId) {\n return {\n ...task,\n active: true\n };\n }\n return task;\n })}\n emptyText='No tasks added'\n banner={{\n icon: 'headset',\n content:\n 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct ?'\n }}\n onTaskLaunch={id => {\n performTaskAction(id, 'launch');\n }}\n onTaskDismiss={id => {\n performTaskAction(id, 'dismiss');\n }}\n addTask={{\n items: TaskPickerMockData.tasks,\n onAdd: renderTasks\n }}\n wrapUp={{\n disable: disableWrapUp,\n onClick: () => {\n performTaskAction(WRAP_UP_TASK_ID, 'launch');\n setDisableWrapUp(true);\n },\n active: activeTaskId === WRAP_UP_TASK_ID\n }}\n main={\n <TaskView\n header={\n <Text variant='h2'>\n {activeTaskId === WRAP_UP_TASK_ID\n ? 'Wrap up'\n : serviceTasks.find(task => task.id === activeTaskId)?.name}\n </Text>\n }\n actions={\n <MenuButton\n ref={formActionsElemRef}\n menu={{\n items: ['Option Number 1', 'Option Number 2', 'Option Number 3'].map(\n (name: string) => ({\n primary: name,\n id: name,\n onClick: () => {}\n })\n )\n }}\n text='Actions'\n />\n }\n >\n <Form\n actions={\n <>\n <Button\n name='Cancel'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Cancel\n </Button>\n <div>\n <Button name='Save'>Save</Button>\n <Button\n name='Submit'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'submit');\n }}\n >\n Submit\n </Button>\n </div>\n </>\n }\n >\n <Grid container={{ rowGap: 2 }}>\n {activeTaskId === WRAP_UP_TASK_ID ? (\n <TimelineDemo />\n ) : (\n Array.from({ length: 15 }, (undef, i) => {\n const idx = i + 1;\n return <Input label={`Field ${idx}`} key={idx} />;\n })\n )}\n </Grid>\n </Form>\n </TaskView>\n }\n />\n );\n\n const createDate = new Date(2016, 1, 8);\n const msInYear = 1000 * 60 * 60 * 24 * 365;\n const diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\n return (\n <AppShellDemo\n main={\n <CSCaseView\n caseId={caseId}\n heading='Intelligent Guidance demo case'\n icon={<Icon name='user-solid' />}\n tasks={taskWidget}\n summary={\n <CaseSummaryFields\n primaryFields={[\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }))}\n secondaryFields={[\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n }\n ].map((f, i) => ({ ...f, id: `s-${i}` }))}\n />\n }\n tabs={{\n items: demoTabItems,\n currentTabId: demoCurrentTabId,\n onClick: (id: string) => setDemoCurrentTabId(id)\n }}\n tabContent={demoTabContent}\n utilities={\n <>\n <AttachmentsMock />\n <MockSummaryList icon='user-search' name='Stakeholders' />\n <MockSummaryList icon='user-star' name='Followers' />\n </>\n }\n utilitiesSummaryItems={[\n { iconName: 'paper-clip', count: 4 },\n { iconName: 'user-search-solid', count: 10 },\n { iconName: 'user-star-solid', count: 5 }\n ]}\n intelligentGuidance={<IntelligentGuidance items={items} heading='Intelligent guidance' />}\n />\n }\n />\n );\n};\n"]}
|
|
@@ -4,6 +4,7 @@ export default _default;
|
|
|
4
4
|
interface InteractionNotificationDemoProps {
|
|
5
5
|
icon: string;
|
|
6
6
|
secondaryText: string;
|
|
7
|
+
acceptAvailable: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare const InteractionNotificationDemo: Story<InteractionNotificationDemoProps>;
|
|
9
10
|
//# sourceMappingURL=InteractionNotification.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionNotification.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/InteractionNotification/InteractionNotification.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAK/C,wBAGU;AAEV,UAAU,gCAAgC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractionNotification.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/InteractionNotification/InteractionNotification.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAK/C,wBAGU;AAEV,UAAU,gCAAgC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,gCAAgC,CAiC/E,CAAC"}
|
|
@@ -6,8 +6,7 @@ export default {
|
|
|
6
6
|
component: InteractionNotification
|
|
7
7
|
};
|
|
8
8
|
export const InteractionNotificationDemo = (args) => {
|
|
9
|
-
return (<
|
|
10
|
-
<InteractionNotification icon={args.icon} title='Incoming call' primaryText='John Brown' secondaryText={args.secondaryText} status={{
|
|
9
|
+
return (<InteractionNotification icon={args.icon} title='Incoming call' primaryText='John Brown' secondaryText={args.secondaryText} status={{
|
|
11
10
|
variant: 'success',
|
|
12
11
|
text: 'VERIFIED PLATINUM CUSTOMER'
|
|
13
12
|
}} fields={[
|
|
@@ -26,15 +25,16 @@ export const InteractionNotificationDemo = (args) => {
|
|
|
26
25
|
name: 'Last interaction',
|
|
27
26
|
value: new Date().toLocaleDateString()
|
|
28
27
|
}
|
|
29
|
-
]} onAccept={action('accept')}/>
|
|
30
|
-
</div>);
|
|
28
|
+
]} onAccept={args.acceptAvailable ? action('accept') : undefined}/>);
|
|
31
29
|
};
|
|
32
30
|
InteractionNotificationDemo.args = {
|
|
33
31
|
icon: 'phone-in-solid',
|
|
34
|
-
secondaryText: '(123) 456-7890'
|
|
32
|
+
secondaryText: '(123) 456-7890',
|
|
33
|
+
acceptAvailable: true
|
|
35
34
|
};
|
|
36
35
|
InteractionNotificationDemo.argTypes = {
|
|
37
36
|
icon: { options: icons, control: { type: 'select', icons: true } },
|
|
38
|
-
secondaryText: { options: { type: 'text' } }
|
|
37
|
+
secondaryText: { options: { type: 'text' } },
|
|
38
|
+
acceptAvailable: { options: { type: 'boolean' } }
|
|
39
39
|
};
|
|
40
40
|
//# sourceMappingURL=InteractionNotification.stories.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionNotification.stories.jsx","sourceRoot":"","sources":["../../../src/cs/InteractionNotification/InteractionNotification.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,eAAe;IACb,KAAK,EAAE,0CAA0C;IACjD,SAAS,EAAE,uBAAuB;CAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractionNotification.stories.jsx","sourceRoot":"","sources":["../../../src/cs/InteractionNotification/InteractionNotification.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,eAAe;IACb,KAAK,EAAE,0CAA0C;IACjD,SAAS,EAAE,uBAAuB;CAC3B,CAAC;AAQV,MAAM,CAAC,MAAM,2BAA2B,GAA4C,CAClF,IAAsC,EACtC,EAAE;IACF,OAAO,CACL,CAAC,uBAAuB,CACtB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,KAAK,CAAC,eAAe,CACrB,WAAW,CAAC,YAAY,CACxB,aAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAClC,MAAM,CAAC,CAAC;YACN,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,4BAA4B;SACnC,CAAC,CACF,MAAM,CAAC,CAAC;YACN;gBACE,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,GAAG;aACX;YACD;gBACE,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE;aACvC;SACF,CAAC,CACF,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC9D,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,2BAA2B,CAAC,IAAI,GAAG;IACjC,IAAI,EAAE,gBAAgB;IACtB,aAAa,EAAE,gBAAgB;IAC/B,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,2BAA2B,CAAC,QAAQ,GAAG;IACrC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAClE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC5C,eAAe,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAClD,CAAC","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport { InteractionNotification } from '@pega/cosmos-react-cs';\nimport { icons } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Customer Service/InteractionNotification',\n component: InteractionNotification\n} as Meta;\n\ninterface InteractionNotificationDemoProps {\n icon: string;\n secondaryText: string;\n acceptAvailable: boolean;\n}\n\nexport const InteractionNotificationDemo: Story<InteractionNotificationDemoProps> = (\n args: InteractionNotificationDemoProps\n) => {\n return (\n <InteractionNotification\n icon={args.icon}\n title='Incoming call'\n primaryText='John Brown'\n secondaryText={args.secondaryText}\n status={{\n variant: 'success',\n text: 'VERIFIED PLATINUM CUSTOMER'\n }}\n fields={[\n {\n id: 'reason',\n name: 'Reason for calling',\n value: 'Billing question'\n },\n {\n id: 'openCases',\n name: 'Open cases',\n value: '1'\n },\n {\n id: 'lastInteraction',\n name: 'Last interaction',\n value: new Date().toLocaleDateString()\n }\n ]}\n onAccept={args.acceptAvailable ? action('accept') : undefined}\n />\n );\n};\n\nInteractionNotificationDemo.args = {\n icon: 'phone-in-solid',\n secondaryText: '(123) 456-7890',\n acceptAvailable: true\n};\n\nInteractionNotificationDemo.argTypes = {\n icon: { options: icons, control: { type: 'select', icons: true } },\n secondaryText: { options: { type: 'text' } },\n acceptAvailable: { options: { type: 'boolean' } }\n};\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;AA4B/C,OAAO,EAaL,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;;AA6CnC,wBAGU;AASV,UAAU,cAAc;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,cAAc,CAqEvC,CAAC;AAsBF,eAAO,MAAM,QAAQ,EAAE,
|
|
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;AA4B/C,OAAO,EAaL,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;;AA6CnC,wBAGU;AASV,UAAU,cAAc;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,cAAc,CAqEvC,CAAC;AAsBF,eAAO,MAAM,QAAQ,EAAE,KAgLtB,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KA2C1B,CAAC;AASF,UAAU,mBAAmB;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAihBrD,CAAC;AAqBF,UAAU,mBAAmB;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAkCrD,CAAC;AAiBF,UAAU,yBAAyB;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,yBAAyB,CA8BjE,CAAC;AAmBF,UAAU,0BAA0B;IAClC,WAAW,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,CAkElE,CAAC;AASF,UAAU,yBAAyB;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,yBAAyB,CA+HjE,CAAC"}
|
|
@@ -142,6 +142,25 @@ export const Composer = () => {
|
|
|
142
142
|
};
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
|
+
else if (data.responseType === 'forward') {
|
|
146
|
+
setData(prev => {
|
|
147
|
+
return {
|
|
148
|
+
...prev,
|
|
149
|
+
to: {
|
|
150
|
+
...prev.to,
|
|
151
|
+
value: []
|
|
152
|
+
},
|
|
153
|
+
cc: {
|
|
154
|
+
...prev.cc,
|
|
155
|
+
value: []
|
|
156
|
+
},
|
|
157
|
+
bcc: {
|
|
158
|
+
...prev.bcc,
|
|
159
|
+
value: []
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
}
|
|
145
164
|
}, [data.responseType]);
|
|
146
165
|
const onTemplateChange = (id) => {
|
|
147
166
|
const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === id);
|