@pega/cosmos-react-demos 3.0.0-dev.10.1 → 3.0.0-dev.11.0

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.
Files changed (63) hide show
  1. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  2. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +6 -8
  3. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
  4. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.stories.d.ts.map +1 -1
  5. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.stories.jsx +17 -6
  6. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.stories.jsx.map +1 -1
  7. package/jsx/core/Currency/Currency.stories.d.ts +2 -2
  8. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  9. package/jsx/core/Currency/Currency.stories.jsx +10 -3
  10. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  11. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  12. package/jsx/core/Number/Number.stories.jsx +44 -9
  13. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  14. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +1 -1
  15. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
  16. package/jsx/cs/TaskManager/TaskManager.stories.d.ts +2 -1
  17. package/jsx/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
  18. package/jsx/cs/TaskManager/TaskManager.stories.jsx +16 -6
  19. package/jsx/cs/TaskManager/TaskManager.stories.jsx.map +1 -1
  20. package/jsx/wss/AppShell/AppShell.mocks.d.ts +24 -0
  21. package/jsx/wss/AppShell/AppShell.mocks.d.ts.map +1 -0
  22. package/jsx/wss/AppShell/AppShell.mocks.jsx +64 -0
  23. package/jsx/wss/AppShell/AppShell.mocks.jsx.map +1 -0
  24. package/jsx/wss/AppShell/AppShell.stories.d.ts +17 -0
  25. package/jsx/wss/AppShell/AppShell.stories.d.ts.map +1 -0
  26. package/jsx/wss/AppShell/AppShell.stories.jsx +76 -0
  27. package/jsx/wss/AppShell/AppShell.stories.jsx.map +1 -0
  28. package/jsx/wss/AppShell/AppShell.styles.d.ts +2 -0
  29. package/jsx/wss/AppShell/AppShell.styles.d.ts.map +1 -0
  30. package/jsx/wss/AppShell/AppShell.styles.js +5 -0
  31. package/jsx/wss/AppShell/AppShell.styles.js.map +1 -0
  32. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  33. package/lib/build/ObjectSelect/ObjectSelect.mocks.js +3 -1
  34. package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
  35. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.d.ts.map +1 -1
  36. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.js +12 -6
  37. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.js.map +1 -1
  38. package/lib/core/Currency/Currency.stories.d.ts +2 -2
  39. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  40. package/lib/core/Currency/Currency.stories.js +10 -3
  41. package/lib/core/Currency/Currency.stories.js.map +1 -1
  42. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  43. package/lib/core/Number/Number.stories.js +44 -9
  44. package/lib/core/Number/Number.stories.js.map +1 -1
  45. package/lib/cs/CallControlPanel/CallControlPanel.stories.js +1 -1
  46. package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
  47. package/lib/cs/TaskManager/TaskManager.stories.d.ts +2 -1
  48. package/lib/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
  49. package/lib/cs/TaskManager/TaskManager.stories.js +16 -6
  50. package/lib/cs/TaskManager/TaskManager.stories.js.map +1 -1
  51. package/lib/wss/AppShell/AppShell.mocks.d.ts +24 -0
  52. package/lib/wss/AppShell/AppShell.mocks.d.ts.map +1 -0
  53. package/lib/wss/AppShell/AppShell.mocks.js +59 -0
  54. package/lib/wss/AppShell/AppShell.mocks.js.map +1 -0
  55. package/lib/wss/AppShell/AppShell.stories.d.ts +17 -0
  56. package/lib/wss/AppShell/AppShell.stories.d.ts.map +1 -0
  57. package/lib/wss/AppShell/AppShell.stories.js +77 -0
  58. package/lib/wss/AppShell/AppShell.stories.js.map +1 -0
  59. package/lib/wss/AppShell/AppShell.styles.d.ts +2 -0
  60. package/lib/wss/AppShell/AppShell.styles.d.ts.map +1 -0
  61. package/lib/wss/AppShell/AppShell.styles.js +5 -0
  62. package/lib/wss/AppShell/AppShell.styles.js.map +1 -0
  63. package/package.json +9 -9
@@ -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 { useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { useEffect } from '@storybook/addons';\n\nimport { createUID } from '@pega/cosmos-react-core';\nimport {\n CallControlPanel,\n CalleePicker,\n ExternalCTI,\n CallProps,\n UserAvailabilityStatusOption\n} from '@pega/cosmos-react-cs';\n\nimport { contactsList, transferReasons, userStatusOptions } 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}\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 [error, setError] = useState<string>();\n const callsList = useRef(calls);\n callsList.current = calls;\n\n const onPauseToggle = (id: string) => {\n const activeCallIndex = callsList.current.findIndex((call: CallProps) => call.id === id);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n onHoldSince: activeCall.onHoldSince === undefined ? Date.now() : undefined\n });\n setCalls([...callsList.current]);\n };\n\n const onMuteToggle = (id: string) => {\n const activeCallIndex = callsList.current.findIndex((call: CallProps) => call.id === id);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n muted: !activeCall.muted\n });\n setCalls([...callsList.current]);\n };\n\n const onMergeCall = (id: string) => {\n const activeCall = callsList.current.find((call: CallProps) => call.id === id);\n if (!activeCall) return;\n callsList.current.splice(0, 1, {\n ...callsList.current[0],\n participants: [...callsList.current[0].participants, ...activeCall.participants],\n onHoldSince: undefined\n });\n setCalls([...callsList.current.filter(callId => callId.id !== id)]);\n };\n\n const onEndCall = (id: CallProps['id']) => {\n const newList = callsList.current.filter(item => item.id !== id);\n setCalls(newList);\n };\n\n const onConsultAction = (id: string, phoneNumber: string) => {\n const caller = contactsList.find(person => person.phoneNumber === phoneNumber);\n const consultCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n onMergeCall,\n transferOptions: transferReasons,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onEndCall: (callId, participantId) => {\n // find consult call\n const callIndex = callsList.current.findIndex(call => call.id === consultCall.id);\n // end consult call if still exists\n if (callIndex !== -1) onEndCall(callId);\n else {\n const activeCallIndex = callsList.current.findIndex(call => call.id === callId);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n participants: [\n ...activeCall.participants.filter(participant => participant.id === participantId)\n ]\n });\n setCalls([...callsList.current]);\n }\n }\n }\n ]\n };\n const updatedCalls: CallProps[] = callsList.current.map((call: CallProps) => {\n return { ...call, onHoldSince: Date.now() };\n });\n updatedCalls.push(consultCall);\n setCalls(updatedCalls);\n };\n\n const onConferenceAction = (id: string, phoneNumber: string) => {\n const caller = contactsList.find(person => person.phoneNumber === 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 participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onEndCall: (callId, participantId) => {\n // find conference call\n const callIndex = callsList.current.findIndex(call => call.id === conferenceCall.id);\n // end conference call if still exists\n if (callIndex !== -1) onEndCall(callId);\n else {\n const activeCallIndex = callsList.current.findIndex(call => call.id === callId);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n participants: [\n ...activeCall.participants.filter(participant => participant.id === participantId)\n ]\n });\n setCalls([...callsList.current]);\n }\n }\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(callId => callId.id !== conferenceCall.id)]);\n };\n\n return (\n <CallControlPanel\n heading={args.heading}\n statusOptions={userStatusOptions as UserAvailabilityStatusOption[]}\n status={currentStatus}\n inStatusSince={inStatusSince.current}\n onStatusChange={value => {\n if (value === 'reconnecting') {\n setError('You cannot set this status');\n return;\n }\n setCurrentStatus(value);\n args.onStatusChange?.(\n userStatusOptions.find(s => s.id === value) as UserAvailabilityStatusOption\n );\n }}\n message={error}\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 onDTMFPress: action('onDTMFPress'),\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 onEndCall: () => onEndCall(call.id)\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> = (\n args: CallControlPanelStoryProps\n) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.innerHTML = `\n <iframe id='external-cti' src='http://cosmos.eng.pega.com/storybook/iframe.html?id=customer-service-dialpad--dial-pad-demo&args=&viewMode=story' width='100%' height='500px'></iframe>\n `;\n }\n }, [containerRef.current]);\n\n return <ExternalCTI heading={args.heading} draggable={args.isDraggable} ref={containerRef} />;\n};\n\nExternalCTIDemo.args = {\n heading: 'External CTI'\n};\n\nexport const NewCallDemo: Story = () => {\n const [items, setItems] = useState(contactsList);\n return (\n <CalleePicker\n heading='New call'\n contactsList={contactsList}\n onFavoriteToggle={(phoneNumber: string, favorite: boolean) => {\n const element = items.find(item => item.phoneNumber === phoneNumber);\n element!.favorite = !favorite;\n setItems([...items]);\n }}\n onCall={phoneNumber => action('onCall')(phoneNumber)}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"CallControlPanel.stories.js","sourceRoot":"","sources":["../../../src/cs/CallControlPanel/CallControlPanel.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,eAAe;IACb,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,IAAI;KAClB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACtC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;KAC9C;CACM,CAAC;AASV,MAAM,CAAC,MAAM,oBAAoB,GAAsC,CACrE,IAAgC,EAChC,EAAE;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,IAAI,CAAC,MAAM,IAAI,WAAW,CAC3B,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAE1B,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,EAAE;QACnC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE;YAC3C,GAAG,UAAU;YACb,WAAW,EAAE,UAAU,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;QAClC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE;YAC3C,GAAG,UAAU;YACb,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK;SACzB,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;YAC7B,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACvB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC;YAChF,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,EAAmB,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,WAAmB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAc;YAC7B,EAAE,EAAE,SAAS,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,WAAW;YACX,eAAe,EAAE,eAAe;YAChC,KAAK,EAAE,KAAK;YACZ,YAAY;YACZ,aAAa;YACb,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;oBAC3B,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;oBAC7B,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;oBACzB,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;wBACnC,oBAAoB;wBACpB,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;wBAClF,mCAAmC;wBACnC,IAAI,SAAS,KAAK,CAAC,CAAC;4BAAE,SAAS,CAAC,MAAM,CAAC,CAAC;6BACnC;4BACH,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;4BAChF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;4BACtD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE;gCAC3C,GAAG,UAAU;gCACb,YAAY,EAAE;oCACZ,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,aAAa,CAAC;iCACnF;6BACF,CAAC,CAAC;4BACH,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;yBAClC;oBACH,CAAC;iBACF;aACF;SACF,CAAC;QACF,MAAM,YAAY,GAAgB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE;YAC1E,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,WAAmB,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAc;YAChC,EAAE,EAAE,SAAS,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,WAAW;YACX,eAAe,EAAE,eAAe;YAChC,KAAK,EAAE,KAAK;YACZ,YAAY;YACZ,aAAa;YACb,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;oBAC3B,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;oBAC7B,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;oBACzB,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;wBACnC,uBAAuB;wBACvB,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;wBACrF,sCAAsC;wBACtC,IAAI,SAAS,KAAK,CAAC,CAAC;4BAAE,SAAS,CAAC,MAAM,CAAC,CAAC;6BACnC;4BACH,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;4BAChF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;4BACtD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE;gCAC3C,GAAG,UAAU;gCACb,YAAY,EAAE;oCACZ,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,aAAa,CAAC;iCACnF;6BACF,CAAC,CAAC;4BACH,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;yBAClC;oBACH,CAAC;iBACF;aACF;SACF,CAAC;QAEF,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;YAC7B,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACvB,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC;YACpF,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,gBAAgB,IACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,iBAAmD,EAClE,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,aAAa,CAAC,OAAO,EACpC,cAAc,EAAE,KAAK,CAAC,EAAE;YACtB,IAAI,KAAK,KAAK,cAAc,EAAE;gBAC5B,QAAQ,CAAC,4BAA4B,CAAC,CAAC;gBACvC,OAAO;aACR;YACD,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAiC,CAC5E,CAAC;QACJ,CAAC,EACD,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAI,CAAC,WAAW,EAC3B,SAAS,EAAE,CAAC,WAAmB,EAAE,EAAE;YACjC,MAAM,IAAI,GAAc;gBACtB,EAAE,EAAE,SAAS,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACnB,eAAe;gBACf,kBAAkB;gBAClB,eAAe,EAAE,eAAe;gBAChC,gBAAgB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;oBAC7B,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACrC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;gBACD,KAAK,EAAE,KAAK;gBACZ,YAAY;gBACZ,aAAa;gBACb,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;gBAClC,YAAY,EAAE;oBACZ;wBACE,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,OAAO,IAAI,EAAE;wBAClF,IAAI,EACF,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,OAAO;4BACxE,SAAS;wBACX,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBACpC;iBACF;aACF,CAAC;YACF,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC,EACD,YAAY,EAAE,QAAQ,EACtB,gBAAgB,EAAE,CAAC,WAAmB,EAAE,QAAiB,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YACxE,OAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;YAC9B,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC7B,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAsC,CAChE,IAAgC,EAChC,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,EAAE;YACxB,YAAY,CAAC,OAAO,CAAC,SAAS,GAAG;;OAEhC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAC,WAAW,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,GAAI,CAAC;AAChG,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,GAAG;IACrB,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU,GAAG,EAAE;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,OAAO,CACL,KAAC,YAAY,IACX,OAAO,EAAC,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,CAAC,WAAmB,EAAE,QAAiB,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YACrE,OAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC;YAC9B,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,CAAC,EACD,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GACpD,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { useEffect } from '@storybook/addons';\n\nimport { createUID } from '@pega/cosmos-react-core';\nimport {\n CallControlPanel,\n CalleePicker,\n ExternalCTI,\n CallProps,\n UserAvailabilityStatusOption\n} from '@pega/cosmos-react-cs';\n\nimport { contactsList, transferReasons, userStatusOptions } 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}\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 [error, setError] = useState<string>();\n const callsList = useRef(calls);\n callsList.current = calls;\n\n const onPauseToggle = (id: string) => {\n const activeCallIndex = callsList.current.findIndex((call: CallProps) => call.id === id);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n onHoldSince: activeCall.onHoldSince === undefined ? Date.now() : undefined\n });\n setCalls([...callsList.current]);\n };\n\n const onMuteToggle = (id: string) => {\n const activeCallIndex = callsList.current.findIndex((call: CallProps) => call.id === id);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n muted: !activeCall.muted\n });\n setCalls([...callsList.current]);\n };\n\n const onMergeCall = (id: string) => {\n const activeCall = callsList.current.find((call: CallProps) => call.id === id);\n if (!activeCall) return;\n callsList.current.splice(0, 1, {\n ...callsList.current[0],\n participants: [...callsList.current[0].participants, ...activeCall.participants],\n onHoldSince: undefined\n });\n setCalls([...callsList.current.filter(callId => callId.id !== id)]);\n };\n\n const onEndCall = (id: CallProps['id']) => {\n const newList = callsList.current.filter(item => item.id !== id);\n setCalls(newList);\n };\n\n const onConsultAction = (id: string, phoneNumber: string) => {\n const caller = contactsList.find(person => person.phoneNumber === phoneNumber);\n const consultCall: CallProps = {\n id: createUID(),\n startedAt: Date.now(),\n onMergeCall,\n transferOptions: transferReasons,\n muted: false,\n onMuteToggle,\n onPauseToggle,\n participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onEndCall: (callId, participantId) => {\n // find consult call\n const callIndex = callsList.current.findIndex(call => call.id === consultCall.id);\n // end consult call if still exists\n if (callIndex !== -1) onEndCall(callId);\n else {\n const activeCallIndex = callsList.current.findIndex(call => call.id === callId);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n participants: [\n ...activeCall.participants.filter(participant => participant.id === participantId)\n ]\n });\n setCalls([...callsList.current]);\n }\n }\n }\n ]\n };\n const updatedCalls: CallProps[] = callsList.current.map((call: CallProps) => {\n return { ...call, onHoldSince: Date.now() };\n });\n updatedCalls.push(consultCall);\n setCalls(updatedCalls);\n };\n\n const onConferenceAction = (id: string, phoneNumber: string) => {\n const caller = contactsList.find(person => person.phoneNumber === 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 participants: [\n {\n name: caller?.primary || '',\n info: caller?.secondary || '',\n id: caller?.primary || '',\n onEndCall: (callId, participantId) => {\n // find conference call\n const callIndex = callsList.current.findIndex(call => call.id === conferenceCall.id);\n // end conference call if still exists\n if (callIndex !== -1) onEndCall(callId);\n else {\n const activeCallIndex = callsList.current.findIndex(call => call.id === callId);\n const activeCall = callsList.current[activeCallIndex];\n callsList.current.splice(activeCallIndex, 1, {\n ...activeCall,\n participants: [\n ...activeCall.participants.filter(participant => participant.id === participantId)\n ]\n });\n setCalls([...callsList.current]);\n }\n }\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(callId => callId.id !== conferenceCall.id)]);\n };\n\n return (\n <CallControlPanel\n heading={args.heading}\n statusOptions={userStatusOptions as UserAvailabilityStatusOption[]}\n status={currentStatus}\n inStatusSince={inStatusSince.current}\n onStatusChange={value => {\n if (value === 'reconnecting') {\n setError('You cannot set this status');\n return;\n }\n setCurrentStatus(value);\n args.onStatusChange?.(\n userStatusOptions.find(s => s.id === value) as UserAvailabilityStatusOption\n );\n }}\n message={error}\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 onDTMFPress: action('onDTMFPress'),\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 onEndCall: () => onEndCall(call.id)\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> = (\n args: CallControlPanelStoryProps\n) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.innerHTML = `\n <iframe id='external-cti' src='iframe.html?id=customer-service-dialpad--dial-pad-demo&args=&viewMode=story' width='100%' height='500px'></iframe>\n `;\n }\n }, [containerRef.current]);\n\n return <ExternalCTI heading={args.heading} draggable={args.isDraggable} ref={containerRef} />;\n};\n\nExternalCTIDemo.args = {\n heading: 'External CTI'\n};\n\nexport const NewCallDemo: Story = () => {\n const [items, setItems] = useState(contactsList);\n return (\n <CalleePicker\n heading='New call'\n contactsList={contactsList}\n onFavoriteToggle={(phoneNumber: string, favorite: boolean) => {\n const element = items.find(item => item.phoneNumber === phoneNumber);\n element!.favorite = !favorite;\n setItems([...items]);\n }}\n onCall={phoneNumber => action('onCall')(phoneNumber)}\n />\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { Meta, Story } from '@storybook/react';
3
- import { TaskManagerProps, TaskProps } from '@pega/cosmos-react-cs';
3
+ import { DialogueProps, TaskManagerProps, TaskProps } from '@pega/cosmos-react-cs';
4
4
  declare const _default: Meta<import("@storybook/react").Args>;
5
5
  export default _default;
6
6
  export interface TaskManagerStoryProps extends TaskManagerProps {
@@ -9,6 +9,7 @@ export interface TaskManagerStoryProps extends TaskManagerProps {
9
9
  serviceTasksEmpty?: boolean;
10
10
  colGap?: number;
11
11
  rowGap?: number;
12
+ verbatimStatus?: DialogueProps['verbatimStatus'];
12
13
  }
13
14
  export declare const TaskManagerDemo: Story<TaskManagerStoryProps>;
14
15
  //# sourceMappingURL=TaskManager.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskManager.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAkB/C,OAAO,EAAe,gBAAgB,EAAE,SAAS,EAAY,MAAM,uBAAuB,CAAC;;AAO3F,wBAGU;AAIV,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,qBAAqB,CAqZxD,CAAC"}
1
+ {"version":3,"file":"TaskManager.stories.d.ts","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAkB/C,OAAO,EACL,aAAa,EAEb,gBAAgB,EAChB,SAAS,EAEV,MAAM,uBAAuB,CAAC;;AAQ/B,wBAGU;AAIV,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,qBAAqB,CA4ZxD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useRef, useState } from 'react';
2
+ import { useEffect, useRef, useState } from 'react';
3
3
  import { action } from '@storybook/addon-actions';
4
4
  import { Button, createUID, DateInput, DateTimeInput, Flex, Form, Grid, Input, MenuButton, Text, TimeInput } from '@pega/cosmos-react-core';
5
5
  import { Timeline } from '@pega/cosmos-react-work';
@@ -17,7 +17,11 @@ export const TaskManagerDemo = (args) => {
17
17
  const [disableWrapUp, setDisableWrapUp] = useState(false);
18
18
  const formActionsElemRef = useRef(null);
19
19
  const taskManagerRef = useRef(null);
20
+ const handle = useRef(null);
20
21
  const [activeTaskId, setActiveTaskId] = useState(undefined);
22
+ useEffect(() => {
23
+ handle.current?.nudge();
24
+ }, []);
21
25
  const switchTab = (taskList, taskId) => {
22
26
  if (taskList.filter(task => !task.hideFromTab).length <= 1) {
23
27
  return isWrapUpTabVisible ? setActiveTaskId(WrapUpTask.id) : setActiveTaskId(undefined);
@@ -259,7 +263,7 @@ export const TaskManagerDemo = (args) => {
259
263
  const getTaskName = (taskName) => {
260
264
  return taskName === 'Address change' ? 'Address change details' : taskName;
261
265
  };
262
- return (_jsx(TaskManager, { ref: taskManagerRef, tasks: args.serviceTasksEmpty
266
+ return (_jsx(TaskManager, { ref: taskManagerRef, handle: handle, tasks: args.serviceTasksEmpty
263
267
  ? []
264
268
  : serviceTasks.map(task => {
265
269
  if (task.id === activeTaskId) {
@@ -270,8 +274,9 @@ export const TaskManagerDemo = (args) => {
270
274
  }
271
275
  return task;
272
276
  }), emptyText: 'No tasks added', banner: {
273
- icon: 'headset',
274
- content: 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct ?'
277
+ icon: 'script',
278
+ content: 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct?',
279
+ verbatimStatus: args.verbatimStatus || 'pending'
275
280
  }, onTaskLaunch: args.onTaskLaunch || handleLaunch, onTaskDismiss: args.onTaskDismiss || handleDismiss, addTask: {
276
281
  items: TaskPickerMockData.tasks,
277
282
  onAdd: renderTasks
@@ -308,11 +313,16 @@ export const TaskManagerDemo = (args) => {
308
313
  TaskManagerDemo.args = {
309
314
  serviceTasksEmpty: false,
310
315
  colGap: 2,
311
- rowGap: 2
316
+ rowGap: 2,
317
+ verbatimStatus: 'pending'
312
318
  };
313
319
  TaskManagerDemo.argTypes = {
314
320
  serviceTasksEmpty: { control: { type: 'boolean' } },
315
321
  colGap: { control: { type: 'number' } },
316
- rowGap: { control: { type: 'number' } }
322
+ rowGap: { control: { type: 'number' } },
323
+ verbatimStatus: {
324
+ options: ['pending', 'spoken', 'undefined'],
325
+ control: { type: 'select' }
326
+ }
317
327
  };
318
328
  //# sourceMappingURL=TaskManager.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskManager.stories.js","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode, useRef, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n createUID,\n DateInput,\n DateTimeInput,\n Flex,\n Form,\n Grid,\n Input,\n MenuButton,\n MenuItemProps,\n StatusProps,\n Text,\n TimeInput\n} from '@pega/cosmos-react-core';\nimport { Timeline } from '@pega/cosmos-react-work';\nimport { TaskManager, TaskManagerProps, TaskProps, TaskView } from '@pega/cosmos-react-cs';\n\nimport { activity } from '../../work/Timeline/Timeline.mocks';\n\nimport { TaskPickerMockData, WrapUpTask } from './TaskManager.mocks';\nimport { StyledStatus } from './TaskManager.styles';\n\nexport default {\n title: 'Customer Service/TaskManager',\n component: TaskManager\n} as Meta;\n\ntype TaskActions = 'cancel' | 'launch' | 'dismiss' | 'submit';\n\nexport interface TaskManagerStoryProps extends TaskManagerProps {\n initialTasks?: TaskProps[];\n main?: ReactNode;\n serviceTasksEmpty?: boolean;\n colGap?: number;\n rowGap?: number;\n}\n\nexport const TaskManagerDemo: Story<TaskManagerStoryProps> = (args: TaskManagerStoryProps) => {\n const [serviceTasks, setServiceTasks] = useState<TaskProps[]>(args.initialTasks || []);\n const [isWrapUpTabVisible, setIsWrapUpTabVisible] = useState<boolean>(false);\n const [disableWrapUp, setDisableWrapUp] = useState<boolean>(false);\n\n const formActionsElemRef = useRef<HTMLButtonElement>(null);\n const taskManagerRef = useRef<HTMLDivElement>(null);\n const [activeTaskId, setActiveTaskId] = useState<string | undefined>(undefined);\n\n const switchTab = (taskList: TaskProps[], taskId?: TaskProps['id']) => {\n if (taskList.filter(task => !task.hideFromTab).length <= 1) {\n return isWrapUpTabVisible ? setActiveTaskId(WrapUpTask.id) : setActiveTaskId(undefined);\n }\n const taskIndex = taskList.findIndex(task => {\n return task.id === taskId;\n });\n\n let nextTaskIndex = taskList.findIndex((task, i) => {\n return i > taskIndex && !task.hideFromTab;\n });\n\n if (nextTaskIndex === -1) nextTaskIndex = taskList.findIndex(task => !task.hideFromTab);\n setActiveTaskId(taskList[nextTaskIndex].id);\n };\n\n const performTaskAction = (taskId: string | undefined, taskAction: TaskActions) => {\n if (taskId === WrapUpTask.id) {\n if (taskAction === 'cancel') {\n setIsWrapUpTabVisible(false);\n const openTasks = serviceTasks.filter(task => !task.hideFromTab);\n const lastTask = openTasks[openTasks.length - 1];\n if (lastTask?.status?.text === 'Queued') {\n setServiceTasks(prevTasks => {\n return [\n ...prevTasks.filter(task => task.id !== lastTask.id),\n {\n ...lastTask,\n variant: 'In progress',\n icon: 'clipboard',\n status: {\n variant: 'pending',\n text: 'In progress'\n }\n }\n ];\n });\n }\n if (lastTask) {\n setActiveTaskId(lastTask.id);\n } else {\n setActiveTaskId(undefined);\n }\n setDisableWrapUp(false);\n } else if (taskAction === 'submit') {\n setServiceTasks(prevTasks => {\n return prevTasks\n .filter(task => task?.status?.text !== 'Queued')\n .map(task => {\n if (task?.status?.text !== 'cancelled') {\n return {\n ...task,\n isResolved: true,\n icon: 'check',\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n return task;\n });\n });\n setIsWrapUpTabVisible(false);\n setActiveTaskId(undefined);\n } else if (taskAction === 'launch') {\n setActiveTaskId(WrapUpTask.id);\n setIsWrapUpTabVisible(true);\n }\n } else if (taskAction === 'launch') {\n setActiveTaskId(taskId);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n const status = task?.status?.text === 'Queued' ? 'In progress' : task?.status?.text;\n return {\n ...task,\n icon:\n task.status?.text === 'Resolve-Completed' ||\n task.status?.text === 'Resolve-Cancelled'\n ? 'check'\n : 'clipboard',\n hideFromTab: false,\n status: {\n variant:\n (status === 'In progress'\n ? ('pending' as StatusProps['variant'])\n : task.status?.variant) || ('info' as StatusProps['variant']),\n text: (status === 'In progress' ? 'In progress' : task.status?.text) || ''\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'cancel') {\n switchTab(serviceTasks, taskId);\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n hideFromTab: true\n };\n }\n\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n\n return task;\n });\n });\n } else if (taskAction === 'submit') {\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'check',\n isResolved: true,\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return task;\n });\n });\n switchTab(serviceTasks, taskId);\n } else if (taskAction === 'dismiss') {\n setServiceTasks(prevTasks => {\n return prevTasks.filter(task => task.id !== taskId);\n });\n }\n };\n\n const renderTasks = (selections: MenuItemProps[]) => {\n const newTasks: TaskProps[] = selections.map((selection, i) => {\n const taskId = createUID();\n if (i === 0) {\n return {\n id: taskId,\n icon: 'nothing',\n name: selection.primary,\n secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\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 secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\n isResolved: false,\n status: {\n variant: 'info' as StatusProps['variant'],\n text: 'Queued'\n }\n };\n });\n setServiceTasks(prevTasks => {\n return [...newTasks, ...prevTasks];\n });\n if (newTasks.length > 0) {\n performTaskAction(newTasks[0].id, 'launch');\n }\n setDisableWrapUp(false);\n };\n const activeServiceTask: TaskProps =\n (serviceTasks.find(task => task.id === activeTaskId) as TaskProps) || {};\n\n /* Preparing form fields from added task */\n\n const taskFields =\n TaskPickerMockData.tasks\n .flatMap(task => task.items ?? [])\n .find(({ primary }) => primary === activeServiceTask?.name)?.fields ?? [];\n\n const getFormElements = (readOnly: boolean) => {\n const formElements = taskFields.map((field, i) => {\n const lowerFieldName = field.toLocaleLowerCase();\n if (lowerFieldName.includes('date') && lowerFieldName.includes('time')) {\n /* eslint-disable react/no-array-index-key */\n return <DateTimeInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('date')) {\n return <DateInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('time')) {\n return <TimeInput readOnly={readOnly} label={field} key={i} />;\n }\n return <Input readOnly={readOnly} label={field} key={i} />;\n /* eslint-enable react/no-array-index-key */\n });\n\n return formElements.length <= 3 ? (\n <>{formElements}</>\n ) : (\n <Grid\n container={{\n cols: 'repeat(2, 1fr)',\n colGap: args.colGap,\n rowGap: args.rowGap\n }}\n >\n {formElements}\n </Grid>\n );\n };\n\n const handleLaunch = (id: string) => {\n performTaskAction(id, 'launch');\n };\n\n const handleDismiss = (id: string) => {\n performTaskAction(id, 'dismiss');\n };\n\n const getTaskName = (taskName: TaskProps['name']) => {\n return taskName === 'Address change' ? 'Address change details' : taskName;\n };\n\n return (\n <TaskManager\n ref={taskManagerRef}\n tasks={\n args.serviceTasksEmpty\n ? []\n : serviceTasks.map(task => {\n if (task.id === activeTaskId) {\n return {\n ...task,\n active: true\n };\n }\n return task;\n })\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={args.onTaskLaunch || handleLaunch}\n onTaskDismiss={args.onTaskDismiss || handleDismiss}\n addTask={{\n items: TaskPickerMockData.tasks,\n onAdd: renderTasks\n }}\n wrapUp={\n args.wrapUp || {\n disable: disableWrapUp,\n onClick: () => {\n performTaskAction(WrapUpTask.id, 'launch');\n setDisableWrapUp(true);\n },\n active: activeTaskId === WrapUpTask.id,\n showTab: isWrapUpTabVisible\n }\n }\n main={\n args.main || (\n <TaskView\n header={\n <Flex container={{ justify: 'start', gap: 1, alignItems: 'center' }}>\n <Text variant='h3'>\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.name\n : getTaskName(activeServiceTask?.name as TaskProps['name'])}\n </Text>\n <StyledStatus\n variant={\n activeTaskId === WrapUpTask.id\n ? WrapUpTask.variant\n : (activeServiceTask.status &&\n (activeServiceTask.status?.variant as StatusProps['variant'])) ||\n 'info'\n }\n >\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.status\n : activeServiceTask.status && activeServiceTask!.status!.text}\n </StyledStatus>\n </Flex>\n }\n actions={\n <MenuButton\n ref={formActionsElemRef}\n menu={{\n items: ['Close task', 'Dismiss task', 'Resolve task'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }))\n }}\n text='Actions'\n />\n }\n >\n <Form\n id='forming'\n actions={\n activeServiceTask?.isResolved ? (\n <Flex container={{ justify: 'end' }} item={{ grow: 1 }}>\n <Button\n name='Close'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Close\n </Button>\n </Flex>\n ) : (\n <>\n <Button\n name='Cancel'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Cancel\n </Button>\n <div>\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 >\n <Grid container={{ rowGap: 2 }}>\n {activeTaskId === WrapUpTask.id ? (\n <Timeline activity={activity} currentTime={new Date()} />\n ) : (\n getFormElements(activeServiceTask?.isResolved || false)\n )}\n </Grid>\n </Form>\n </TaskView>\n )\n }\n />\n );\n};\n\nTaskManagerDemo.args = {\n serviceTasksEmpty: false,\n colGap: 2,\n rowGap: 2\n};\n\nTaskManagerDemo.argTypes = {\n serviceTasksEmpty: { control: { type: 'boolean' } },\n colGap: { control: { type: 'number' } },\n rowGap: { control: { type: 'number' } }\n};\n"]}
1
+ {"version":3,"file":"TaskManager.stories.js","sourceRoot":"","sources":["../../../src/cs/TaskManager/TaskManager.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode, useEffect, useRef, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Button,\n createUID,\n DateInput,\n DateTimeInput,\n Flex,\n Form,\n Grid,\n Input,\n MenuButton,\n MenuItemProps,\n StatusProps,\n Text,\n TimeInput\n} from '@pega/cosmos-react-core';\nimport { Timeline } from '@pega/cosmos-react-work';\nimport {\n DialogueProps,\n TaskManager,\n TaskManagerProps,\n TaskProps,\n TaskView\n} from '@pega/cosmos-react-cs';\nimport { HandleProps } from '@pega/cosmos-react-cs/lib/components/TaskManager/TaskManager.types';\n\nimport { activity } from '../../work/Timeline/Timeline.mocks';\n\nimport { TaskPickerMockData, WrapUpTask } from './TaskManager.mocks';\nimport { StyledStatus } from './TaskManager.styles';\n\nexport default {\n title: 'Customer Service/TaskManager',\n component: TaskManager\n} as Meta;\n\ntype TaskActions = 'cancel' | 'launch' | 'dismiss' | 'submit';\n\nexport interface TaskManagerStoryProps extends TaskManagerProps {\n initialTasks?: TaskProps[];\n main?: ReactNode;\n serviceTasksEmpty?: boolean;\n colGap?: number;\n rowGap?: number;\n verbatimStatus?: DialogueProps['verbatimStatus'];\n}\n\nexport const TaskManagerDemo: Story<TaskManagerStoryProps> = (args: TaskManagerStoryProps) => {\n const [serviceTasks, setServiceTasks] = useState<TaskProps[]>(args.initialTasks || []);\n const [isWrapUpTabVisible, setIsWrapUpTabVisible] = useState<boolean>(false);\n const [disableWrapUp, setDisableWrapUp] = useState<boolean>(false);\n\n const formActionsElemRef = useRef<HTMLButtonElement>(null);\n const taskManagerRef = useRef<HTMLDivElement>(null);\n const handle = useRef<HandleProps>(null);\n const [activeTaskId, setActiveTaskId] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n handle.current?.nudge();\n }, []);\n\n const switchTab = (taskList: TaskProps[], taskId?: TaskProps['id']) => {\n if (taskList.filter(task => !task.hideFromTab).length <= 1) {\n return isWrapUpTabVisible ? setActiveTaskId(WrapUpTask.id) : setActiveTaskId(undefined);\n }\n const taskIndex = taskList.findIndex(task => {\n return task.id === taskId;\n });\n\n let nextTaskIndex = taskList.findIndex((task, i) => {\n return i > taskIndex && !task.hideFromTab;\n });\n\n if (nextTaskIndex === -1) nextTaskIndex = taskList.findIndex(task => !task.hideFromTab);\n setActiveTaskId(taskList[nextTaskIndex].id);\n };\n\n const performTaskAction = (taskId: string | undefined, taskAction: TaskActions) => {\n if (taskId === WrapUpTask.id) {\n if (taskAction === 'cancel') {\n setIsWrapUpTabVisible(false);\n const openTasks = serviceTasks.filter(task => !task.hideFromTab);\n const lastTask = openTasks[openTasks.length - 1];\n if (lastTask?.status?.text === 'Queued') {\n setServiceTasks(prevTasks => {\n return [\n ...prevTasks.filter(task => task.id !== lastTask.id),\n {\n ...lastTask,\n variant: 'In progress',\n icon: 'clipboard',\n status: {\n variant: 'pending',\n text: 'In progress'\n }\n }\n ];\n });\n }\n if (lastTask) {\n setActiveTaskId(lastTask.id);\n } else {\n setActiveTaskId(undefined);\n }\n setDisableWrapUp(false);\n } else if (taskAction === 'submit') {\n setServiceTasks(prevTasks => {\n return prevTasks\n .filter(task => task?.status?.text !== 'Queued')\n .map(task => {\n if (task?.status?.text !== 'cancelled') {\n return {\n ...task,\n isResolved: true,\n icon: 'check',\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n return task;\n });\n });\n setIsWrapUpTabVisible(false);\n setActiveTaskId(undefined);\n } else if (taskAction === 'launch') {\n setActiveTaskId(WrapUpTask.id);\n setIsWrapUpTabVisible(true);\n }\n } else if (taskAction === 'launch') {\n setActiveTaskId(taskId);\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n const status = task?.status?.text === 'Queued' ? 'In progress' : task?.status?.text;\n return {\n ...task,\n icon:\n task.status?.text === 'Resolve-Completed' ||\n task.status?.text === 'Resolve-Cancelled'\n ? 'check'\n : 'clipboard',\n hideFromTab: false,\n status: {\n variant:\n (status === 'In progress'\n ? ('pending' as StatusProps['variant'])\n : task.status?.variant) || ('info' as StatusProps['variant']),\n text: (status === 'In progress' ? 'In progress' : task.status?.text) || ''\n }\n };\n }\n return task;\n });\n });\n } else if (taskAction === 'cancel') {\n switchTab(serviceTasks, taskId);\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n hideFromTab: true\n };\n }\n\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n\n return task;\n });\n });\n } else if (taskAction === 'submit') {\n const taskIndex = serviceTasks.findIndex(task => {\n return task.id === taskId;\n });\n const nextTaskId =\n taskIndex >= 0 && taskIndex < serviceTasks.length - 1 && serviceTasks[taskIndex + 1].id;\n setServiceTasks(prevTasks => {\n return prevTasks.map(task => {\n if (task.id === taskId) {\n return {\n ...task,\n icon: 'check',\n isResolved: true,\n hideFromTab: true,\n status: {\n variant: 'success' as StatusProps['variant'],\n text: 'Resolve-Completed'\n }\n };\n }\n if (\n task.id === nextTaskId &&\n task?.status?.text !== 'Resolve-Completed' &&\n task?.status?.text !== 'Resolve-Cancelled'\n ) {\n return {\n ...task,\n icon: 'clipboard',\n status: {\n variant: 'pending' as StatusProps['variant'],\n text: 'In Progress'\n }\n };\n }\n return task;\n });\n });\n switchTab(serviceTasks, taskId);\n } else if (taskAction === 'dismiss') {\n setServiceTasks(prevTasks => {\n return prevTasks.filter(task => task.id !== taskId);\n });\n }\n };\n\n const renderTasks = (selections: MenuItemProps[]) => {\n const newTasks: TaskProps[] = selections.map((selection, i) => {\n const taskId = createUID();\n if (i === 0) {\n return {\n id: taskId,\n icon: 'nothing',\n name: selection.primary,\n secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\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 secondary: [`S-${Math.floor(1000 + Math.random() * 9000)}`],\n isResolved: false,\n status: {\n variant: 'info' as StatusProps['variant'],\n text: 'Queued'\n }\n };\n });\n setServiceTasks(prevTasks => {\n return [...newTasks, ...prevTasks];\n });\n if (newTasks.length > 0) {\n performTaskAction(newTasks[0].id, 'launch');\n }\n setDisableWrapUp(false);\n };\n const activeServiceTask: TaskProps =\n (serviceTasks.find(task => task.id === activeTaskId) as TaskProps) || {};\n\n /* Preparing form fields from added task */\n\n const taskFields =\n TaskPickerMockData.tasks\n .flatMap(task => task.items ?? [])\n .find(({ primary }) => primary === activeServiceTask?.name)?.fields ?? [];\n\n const getFormElements = (readOnly: boolean) => {\n const formElements = taskFields.map((field, i) => {\n const lowerFieldName = field.toLocaleLowerCase();\n if (lowerFieldName.includes('date') && lowerFieldName.includes('time')) {\n /* eslint-disable react/no-array-index-key */\n return <DateTimeInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('date')) {\n return <DateInput readOnly={readOnly} label={field} key={i} />;\n }\n if (lowerFieldName.includes('time')) {\n return <TimeInput readOnly={readOnly} label={field} key={i} />;\n }\n return <Input readOnly={readOnly} label={field} key={i} />;\n /* eslint-enable react/no-array-index-key */\n });\n\n return formElements.length <= 3 ? (\n <>{formElements}</>\n ) : (\n <Grid\n container={{\n cols: 'repeat(2, 1fr)',\n colGap: args.colGap,\n rowGap: args.rowGap\n }}\n >\n {formElements}\n </Grid>\n );\n };\n\n const handleLaunch = (id: string) => {\n performTaskAction(id, 'launch');\n };\n\n const handleDismiss = (id: string) => {\n performTaskAction(id, 'dismiss');\n };\n\n const getTaskName = (taskName: TaskProps['name']) => {\n return taskName === 'Address change' ? 'Address change details' : taskName;\n };\n\n return (\n <TaskManager\n ref={taskManagerRef}\n handle={handle}\n tasks={\n args.serviceTasksEmpty\n ? []\n : serviceTasks.map(task => {\n if (task.id === activeTaskId) {\n return {\n ...task,\n active: true\n };\n }\n return task;\n })\n }\n emptyText='No tasks added'\n banner={{\n icon: 'script',\n content:\n 'Hi Ms. Ventura, I see that you are interested in changing your monthly due date, is that correct?',\n verbatimStatus: args.verbatimStatus || 'pending'\n }}\n onTaskLaunch={args.onTaskLaunch || handleLaunch}\n onTaskDismiss={args.onTaskDismiss || handleDismiss}\n addTask={{\n items: TaskPickerMockData.tasks,\n onAdd: renderTasks\n }}\n wrapUp={\n args.wrapUp || {\n disable: disableWrapUp,\n onClick: () => {\n performTaskAction(WrapUpTask.id, 'launch');\n setDisableWrapUp(true);\n },\n active: activeTaskId === WrapUpTask.id,\n showTab: isWrapUpTabVisible\n }\n }\n main={\n args.main || (\n <TaskView\n header={\n <Flex container={{ justify: 'start', gap: 1, alignItems: 'center' }}>\n <Text variant='h3'>\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.name\n : getTaskName(activeServiceTask?.name as TaskProps['name'])}\n </Text>\n <StyledStatus\n variant={\n activeTaskId === WrapUpTask.id\n ? WrapUpTask.variant\n : (activeServiceTask.status &&\n (activeServiceTask.status?.variant as StatusProps['variant'])) ||\n 'info'\n }\n >\n {activeTaskId === WrapUpTask.id\n ? WrapUpTask.status\n : activeServiceTask.status && activeServiceTask!.status!.text}\n </StyledStatus>\n </Flex>\n }\n actions={\n <MenuButton\n ref={formActionsElemRef}\n menu={{\n items: ['Close task', 'Dismiss task', 'Resolve task'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }))\n }}\n text='Actions'\n />\n }\n >\n <Form\n id='forming'\n actions={\n activeServiceTask?.isResolved ? (\n <Flex container={{ justify: 'end' }} item={{ grow: 1 }}>\n <Button\n name='Close'\n variant='primary'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Close\n </Button>\n </Flex>\n ) : (\n <>\n <Button\n name='Cancel'\n onClick={() => {\n performTaskAction(activeTaskId, 'cancel');\n }}\n >\n Cancel\n </Button>\n <div>\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 >\n <Grid container={{ rowGap: 2 }}>\n {activeTaskId === WrapUpTask.id ? (\n <Timeline activity={activity} currentTime={new Date()} />\n ) : (\n getFormElements(activeServiceTask?.isResolved || false)\n )}\n </Grid>\n </Form>\n </TaskView>\n )\n }\n />\n );\n};\n\nTaskManagerDemo.args = {\n serviceTasksEmpty: false,\n colGap: 2,\n rowGap: 2,\n verbatimStatus: 'pending'\n};\n\nTaskManagerDemo.argTypes = {\n serviceTasksEmpty: { control: { type: 'boolean' } },\n colGap: { control: { type: 'number' } },\n rowGap: { control: { type: 'number' } },\n verbatimStatus: {\n options: ['pending', 'spoken', 'undefined'],\n control: { type: 'select' }\n }\n};\n"]}
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ export declare const DefaultMainContent: ({ content }: {
3
+ content: string;
4
+ }) => JSX.Element;
5
+ export declare const notificationItems: ({
6
+ id: string;
7
+ primary: string;
8
+ secondary: string[];
9
+ visual: JSX.Element;
10
+ unread: boolean;
11
+ } | {
12
+ id: string;
13
+ primary: string;
14
+ visual: JSX.Element;
15
+ unread: boolean;
16
+ secondary?: undefined;
17
+ } | {
18
+ id: string;
19
+ primary: string;
20
+ secondary: string[];
21
+ unread: boolean;
22
+ visual?: undefined;
23
+ })[];
24
+ //# sourceMappingURL=AppShell.mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.mocks.d.ts","sourceRoot":"","sources":["../../../src/wss/AppShell/AppShell.mocks.tsx"],"names":[],"mappings":";AAIA,eAAO,MAAM,kBAAkB;aAA4B,MAAM;iBAQhE,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;IAyD7B,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Avatar, Card, CardContent, Flex, Text } from '@pega/cosmos-react-core';
3
+ import { StyledMainContent } from './AppShell.styles';
4
+ export const DefaultMainContent = ({ content }) => (_jsx(Flex, { container: { justify: 'center', alignItems: 'center' }, as: StyledMainContent, children: _jsx(Card, { children: _jsx(CardContent, { children: _jsxs(Text, { variant: 'h2', children: [content, " content"] }) }) }) }));
5
+ export const notificationItems = [
6
+ {
7
+ id: '123',
8
+ primary: "Dean Thomas mentioned your team in a bug 'Button does not initiate onClick event handler'.",
9
+ secondary: ['BUG-12345', new Date(2020, 8, 31, 13, 23).toDateString()],
10
+ visual: _jsx(Avatar, { name: 'Dean Thomas' }),
11
+ unread: true
12
+ },
13
+ {
14
+ id: '456',
15
+ primary: "Seth DeAngelo mentioned your team in a bug 'Text variant h1 renders as h3 in DOM'.",
16
+ visual: _jsx(Avatar, { name: 'Seth DeAngelo' }),
17
+ unread: true
18
+ },
19
+ {
20
+ id: '789',
21
+ primary: "Janet Moore mentioned your team in a bug 'Tree expanded state does not match the state that was set on the component'.",
22
+ secondary: ['BUG-12345', new Date(2020, 9, 2, 9, 22).toDateString()],
23
+ visual: _jsx(Avatar, { name: 'Janet Moore' }),
24
+ unread: true
25
+ },
26
+ {
27
+ id: '000',
28
+ primary: 'You have been awarded Employee of the Month! Congratulations!',
29
+ secondary: [new Date(2020, 9, 8, 14, 46).toDateString()],
30
+ unread: true
31
+ },
32
+ {
33
+ id: '111',
34
+ primary: "Dean Thomas mentioned your team in a bug 'Button does not initiate onClick event handler'.",
35
+ secondary: ['BUG-12345', new Date(2020, 8, 31, 13, 23).toDateString()],
36
+ visual: _jsx(Avatar, { name: 'Dean Thomas' }),
37
+ unread: true
38
+ },
39
+ {
40
+ id: '222',
41
+ primary: "Seth DeAngelo mentioned your team in a bug 'Text variant h1 renders as h3 in DOM'.",
42
+ visual: _jsx(Avatar, { name: 'Seth DeAngelo' }),
43
+ unread: true
44
+ },
45
+ {
46
+ id: '333',
47
+ primary: "Janet Moore mentioned your team in a bug 'Tree expanded state does not match the state that was set on the component'.",
48
+ secondary: ['BUG-12345', new Date(2020, 9, 2, 9, 22).toDateString()],
49
+ visual: _jsx(Avatar, { name: 'Janet Moore' }),
50
+ unread: true
51
+ },
52
+ {
53
+ id: '444',
54
+ primary: 'You have been awarded Employee of the Month! Congratulations!',
55
+ secondary: [new Date(2020, 9, 8, 14, 46).toDateString()],
56
+ unread: true
57
+ }
58
+ ];
59
+ //# sourceMappingURL=AppShell.mocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.mocks.js","sourceRoot":"","sources":["../../../src/wss/AppShell/AppShell.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Avatar, Card, CardContent, Flex, Text } from '@pega/cosmos-react-core';\n\nimport { StyledMainContent } from './AppShell.styles';\n\nexport const DefaultMainContent = ({ content }: { content: string }) => (\n <Flex container={{ justify: 'center', alignItems: 'center' }} as={StyledMainContent}>\n <Card>\n <CardContent>\n <Text variant='h2'>{content} content</Text>\n </CardContent>\n </Card>\n </Flex>\n);\n\nexport const notificationItems = [\n {\n id: '123',\n primary:\n \"Dean Thomas mentioned your team in a bug 'Button does not initiate onClick event handler'.\",\n secondary: ['BUG-12345', new Date(2020, 8, 31, 13, 23).toDateString()],\n visual: <Avatar name='Dean Thomas' />,\n unread: true\n },\n {\n id: '456',\n primary: \"Seth DeAngelo mentioned your team in a bug 'Text variant h1 renders as h3 in DOM'.\",\n visual: <Avatar name='Seth DeAngelo' />,\n unread: true\n },\n {\n id: '789',\n primary:\n \"Janet Moore mentioned your team in a bug 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: ['BUG-12345', new Date(2020, 9, 2, 9, 22).toDateString()],\n visual: <Avatar name='Janet Moore' />,\n unread: true\n },\n {\n id: '000',\n primary: 'You have been awarded Employee of the Month! Congratulations!',\n secondary: [new Date(2020, 9, 8, 14, 46).toDateString()],\n unread: true\n },\n {\n id: '111',\n primary:\n \"Dean Thomas mentioned your team in a bug 'Button does not initiate onClick event handler'.\",\n secondary: ['BUG-12345', new Date(2020, 8, 31, 13, 23).toDateString()],\n visual: <Avatar name='Dean Thomas' />,\n unread: true\n },\n {\n id: '222',\n primary: \"Seth DeAngelo mentioned your team in a bug 'Text variant h1 renders as h3 in DOM'.\",\n visual: <Avatar name='Seth DeAngelo' />,\n unread: true\n },\n {\n id: '333',\n primary:\n \"Janet Moore mentioned your team in a bug 'Tree expanded state does not match the state that was set on the component'.\",\n secondary: ['BUG-12345', new Date(2020, 9, 2, 9, 22).toDateString()],\n visual: <Avatar name='Janet Moore' />,\n unread: true\n },\n {\n id: '444',\n primary: 'You have been awarded Employee of the Month! Congratulations!',\n secondary: [new Date(2020, 9, 8, 14, 46).toDateString()],\n unread: true\n }\n];\n"]}
@@ -0,0 +1,17 @@
1
+ import { Meta, Story } from '@storybook/react';
2
+ import { AppShellProps } from '@pega/cosmos-react-wss';
3
+ declare const _default: Meta<import("@storybook/react").Args>;
4
+ export default _default;
5
+ interface AppShellDemoProps {
6
+ appName: AppShellProps['appInfo']['appName'];
7
+ imageSrc: AppShellProps['appInfo']['imageSrc'];
8
+ numberOfNavLinks: number;
9
+ navAlignment: AppShellProps['navAlignment'];
10
+ navPosition: AppShellProps['navPosition'];
11
+ operatorName: AppShellProps['operator']['avatar']['name'];
12
+ operatorTitle: AppShellProps['operator']['title'];
13
+ notificationsEmpty: boolean;
14
+ notificationsLoading: boolean;
15
+ }
16
+ export declare const AppShellDemo: Story<AppShellDemoProps>;
17
+ //# sourceMappingURL=AppShell.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/wss/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAY,aAAa,EAAoB,MAAM,wBAAwB,CAAC;;AAInF,wBAMU;AAEV,UAAU,iBAAiB;IACzB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1C,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1D,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;IAClD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CA2DjD,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { AppShell } from '@pega/cosmos-react-wss';
4
+ import { DefaultMainContent, notificationItems } from './AppShell.mocks';
5
+ export default {
6
+ title: 'Web Self Service/AppShell',
7
+ component: AppShell,
8
+ parameters: {
9
+ layout: 'fullscreen'
10
+ }
11
+ };
12
+ export const AppShellDemo = (args) => {
13
+ const [mainContent, setMainContent] = useState('Home');
14
+ const [notifications, setNotifications] = useState(notificationItems);
15
+ const [numNewNotifications, setNumNewNotifications] = useState(notifications.filter(x => x.unread).length);
16
+ const handleNotificationClick = (passedId) => {
17
+ setNotifications(cur => cur.map(({ id, unread, ...item }) => ({
18
+ id,
19
+ unread: passedId === id ? false : unread,
20
+ ...item
21
+ })));
22
+ };
23
+ return (_jsx(AppShell, { main: _jsx(DefaultMainContent, { content: mainContent }), appInfo: {
24
+ appName: args.appName,
25
+ imageSrc: args.imageSrc,
26
+ onClick: () => setMainContent('Home')
27
+ }, navLinks: Array.from({ length: args.numberOfNavLinks }).map((_, index) => {
28
+ const navName = `Navigation ${index + 1}`;
29
+ return {
30
+ id: `nav-${index + 1}`,
31
+ text: navName,
32
+ href: '#',
33
+ onClick: () => setMainContent(navName),
34
+ current: navName === mainContent
35
+ };
36
+ }), operator: {
37
+ avatar: { name: args.operatorName },
38
+ title: args.operatorTitle,
39
+ actions: [
40
+ { id: 'profile', text: 'My profile', href: '#' },
41
+ { id: 'settings', text: 'Settings', href: '#' },
42
+ { id: 'logOut', text: 'Log out', href: '#' }
43
+ ]
44
+ }, notifications: {
45
+ title: 'Notifications',
46
+ count: numNewNotifications,
47
+ items: args.notificationsEmpty ? [] : notifications,
48
+ onItemClick: handleNotificationClick,
49
+ loading: args.notificationsLoading,
50
+ onNotificationsOpen: () => {
51
+ setNumNewNotifications(0);
52
+ }
53
+ }, navAlignment: args.navAlignment, navPosition: args.navPosition }));
54
+ };
55
+ AppShellDemo.args = {
56
+ appName: 'Service Desk',
57
+ imageSrc: 'https://www.pega.com/themes/custom/pegawww_theme/images/pega-logo.svg',
58
+ numberOfNavLinks: 3,
59
+ navAlignment: 'end',
60
+ navPosition: 'inline',
61
+ operatorName: 'Cindy Turner',
62
+ operatorTitle: 'Account',
63
+ notificationsEmpty: false,
64
+ notificationsLoading: false
65
+ };
66
+ AppShellDemo.argTypes = {
67
+ imageSrc: { control: { type: 'text' } },
68
+ appName: { control: { type: 'text' } },
69
+ numberOfNavLinks: { control: { type: 'number' } },
70
+ navAlignment: { options: ['start', 'center', 'end'], control: { type: 'select' } },
71
+ navPosition: { options: ['inline', 'below'], control: { type: 'select' } },
72
+ operatorName: { control: { type: 'text' } },
73
+ operatorTitle: { control: { type: 'text' } },
74
+ notificationsEmpty: { control: { type: 'boolean' } },
75
+ notificationsLoading: { control: { type: 'boolean' } }
76
+ };
77
+ //# sourceMappingURL=AppShell.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.stories.js","sourceRoot":"","sources":["../../../src/wss/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport { AppShell, AppShellProps, NotificationItem } from '@pega/cosmos-react-wss';\n\nimport { DefaultMainContent, notificationItems } from './AppShell.mocks';\n\nexport default {\n title: 'Web Self Service/AppShell',\n component: AppShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface AppShellDemoProps {\n appName: AppShellProps['appInfo']['appName'];\n imageSrc: AppShellProps['appInfo']['imageSrc'];\n numberOfNavLinks: number;\n navAlignment: AppShellProps['navAlignment'];\n navPosition: AppShellProps['navPosition'];\n operatorName: AppShellProps['operator']['avatar']['name'];\n operatorTitle: AppShellProps['operator']['title'];\n notificationsEmpty: boolean;\n notificationsLoading: boolean;\n}\n\nexport const AppShellDemo: Story<AppShellDemoProps> = (args: AppShellDemoProps) => {\n const [mainContent, setMainContent] = useState('Home');\n const [notifications, setNotifications] = useState<NotificationItem[]>(notificationItems);\n const [numNewNotifications, setNumNewNotifications] = useState(\n notifications.filter(x => x.unread).length\n );\n\n const handleNotificationClick = (passedId: string) => {\n setNotifications(cur =>\n cur.map(({ id, unread, ...item }) => ({\n id,\n unread: passedId === id ? false : unread,\n ...item\n }))\n );\n };\n\n return (\n <AppShell\n main={<DefaultMainContent content={mainContent} />}\n appInfo={{\n appName: args.appName,\n imageSrc: args.imageSrc,\n onClick: () => setMainContent('Home')\n }}\n navLinks={Array.from({ length: args.numberOfNavLinks }).map((_, index) => {\n const navName = `Navigation ${index + 1}`;\n\n return {\n id: `nav-${index + 1}`,\n text: navName,\n href: '#',\n onClick: () => setMainContent(navName),\n current: navName === mainContent\n };\n })}\n operator={{\n avatar: { name: args.operatorName },\n title: args.operatorTitle,\n actions: [\n { id: 'profile', text: 'My profile', href: '#' },\n { id: 'settings', text: 'Settings', href: '#' },\n { id: 'logOut', text: 'Log out', href: '#' }\n ]\n }}\n notifications={{\n title: 'Notifications',\n count: numNewNotifications,\n items: args.notificationsEmpty ? [] : notifications,\n onItemClick: handleNotificationClick,\n loading: args.notificationsLoading,\n onNotificationsOpen: () => {\n setNumNewNotifications(0);\n }\n }}\n navAlignment={args.navAlignment}\n navPosition={args.navPosition}\n />\n );\n};\n\nAppShellDemo.args = {\n appName: 'Service Desk',\n imageSrc: 'https://www.pega.com/themes/custom/pegawww_theme/images/pega-logo.svg',\n numberOfNavLinks: 3,\n navAlignment: 'end',\n navPosition: 'inline',\n operatorName: 'Cindy Turner',\n operatorTitle: 'Account',\n notificationsEmpty: false,\n notificationsLoading: false\n};\n\nAppShellDemo.argTypes = {\n imageSrc: { control: { type: 'text' } },\n appName: { control: { type: 'text' } },\n numberOfNavLinks: { control: { type: 'number' } },\n navAlignment: { options: ['start', 'center', 'end'], control: { type: 'select' } },\n navPosition: { options: ['inline', 'below'], control: { type: 'select' } },\n operatorName: { control: { type: 'text' } },\n operatorTitle: { control: { type: 'text' } },\n notificationsEmpty: { control: { type: 'boolean' } },\n notificationsLoading: { control: { type: 'boolean' } }\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const StyledMainContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
2
+ //# sourceMappingURL=AppShell.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.styles.d.ts","sourceRoot":"","sources":["../../../src/wss/AppShell/AppShell.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yGAE7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import styled from 'styled-components';
2
+ export const StyledMainContent = styled.div `
3
+ min-height: inherit;
4
+ `;
5
+ //# sourceMappingURL=AppShell.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.styles.js","sourceRoot":"","sources":["../../../src/wss/AppShell/AppShell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;CAE1C,CAAC","sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMainContent = styled.div`\n min-height: inherit;\n`;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/cosmos-react-demos",
3
- "version": "3.0.0-dev.10.1",
3
+ "version": "3.0.0-dev.11.0",
4
4
  "author": "Pegasystems",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
@@ -20,14 +20,14 @@
20
20
  "build": "tsc -b"
21
21
  },
22
22
  "dependencies": {
23
- "@pega/cosmos-react-build": "3.0.0-dev.10.1",
24
- "@pega/cosmos-react-condition-builder": "3.0.0-dev.10.1",
25
- "@pega/cosmos-react-core": "3.0.0-dev.10.1",
26
- "@pega/cosmos-react-cs": "3.0.0-dev.10.1",
27
- "@pega/cosmos-react-dnd": "3.0.0-dev.10.1",
28
- "@pega/cosmos-react-rte": "3.0.0-dev.10.1",
29
- "@pega/cosmos-react-social": "3.0.0-dev.10.1",
30
- "@pega/cosmos-react-work": "3.0.0-dev.10.1",
23
+ "@pega/cosmos-react-build": "3.0.0-dev.11.0",
24
+ "@pega/cosmos-react-condition-builder": "3.0.0-dev.11.0",
25
+ "@pega/cosmos-react-core": "3.0.0-dev.11.0",
26
+ "@pega/cosmos-react-cs": "3.0.0-dev.11.0",
27
+ "@pega/cosmos-react-dnd": "3.0.0-dev.11.0",
28
+ "@pega/cosmos-react-rte": "3.0.0-dev.11.0",
29
+ "@pega/cosmos-react-social": "3.0.0-dev.11.0",
30
+ "@pega/cosmos-react-work": "3.0.0-dev.11.0",
31
31
  "@types/emoji-mart": "^3.0.4",
32
32
  "@types/react": "^16.14.24 || ^17.0.38",
33
33
  "@types/react-dom": "^16.9.14 || ^17.0.11",