@pega/cosmos-react-demos 3.0.0-dev.20.0 → 3.0.0-dev.21.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.
Files changed (265) hide show
  1. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +11 -0
  2. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -0
  3. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js +135 -0
  4. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -0
  5. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +18 -0
  6. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -0
  7. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx +72 -0
  8. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx.map +1 -0
  9. package/jsx/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
  10. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx +3 -2
  11. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx.map +1 -1
  12. package/jsx/core/AdditionalInfo/AdditionalInfo.stories.d.ts +9 -0
  13. package/jsx/core/AdditionalInfo/AdditionalInfo.stories.d.ts.map +1 -0
  14. package/jsx/core/AdditionalInfo/AdditionalInfo.stories.jsx +25 -0
  15. package/jsx/core/AdditionalInfo/AdditionalInfo.stories.jsx.map +1 -0
  16. package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
  17. package/jsx/core/AppShell/AppShell.stories.jsx +11 -1
  18. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  19. package/jsx/core/Checkbox/Checkbox.stories.d.ts +6 -2
  20. package/jsx/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
  21. package/jsx/core/Checkbox/Checkbox.stories.jsx +26 -7
  22. package/jsx/core/Checkbox/Checkbox.stories.jsx.map +1 -1
  23. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.d.ts +6 -2
  24. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
  25. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx +46 -5
  26. package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx.map +1 -1
  27. package/jsx/core/ColorPicker/ColorPicker.stories.d.ts +4 -1
  28. package/jsx/core/ColorPicker/ColorPicker.stories.d.ts.map +1 -1
  29. package/jsx/core/ColorPicker/ColorPicker.stories.jsx +10 -3
  30. package/jsx/core/ColorPicker/ColorPicker.stories.jsx.map +1 -1
  31. package/jsx/core/ComboBox/ComboBox.stories.d.ts +1 -0
  32. package/jsx/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
  33. package/jsx/core/ComboBox/ComboBox.stories.jsx +40 -8
  34. package/jsx/core/ComboBox/ComboBox.stories.jsx.map +1 -1
  35. package/jsx/core/CompositeInput/CompositeInput.stories.d.ts +4 -1
  36. package/jsx/core/CompositeInput/CompositeInput.stories.d.ts.map +1 -1
  37. package/jsx/core/CompositeInput/CompositeInput.stories.jsx +7 -3
  38. package/jsx/core/CompositeInput/CompositeInput.stories.jsx.map +1 -1
  39. package/jsx/core/CreditCard/CreditCard.stories.d.ts +4 -1
  40. package/jsx/core/CreditCard/CreditCard.stories.d.ts.map +1 -1
  41. package/jsx/core/CreditCard/CreditCard.stories.jsx +10 -3
  42. package/jsx/core/CreditCard/CreditCard.stories.jsx.map +1 -1
  43. package/jsx/core/Currency/Currency.stories.d.ts +4 -1
  44. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  45. package/jsx/core/Currency/Currency.stories.jsx +10 -3
  46. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  47. package/jsx/core/DateTime/DateTime.stories.d.ts +39 -9
  48. package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
  49. package/jsx/core/DateTime/DateTime.stories.jsx +83 -14
  50. package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
  51. package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts +3 -0
  52. package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts.map +1 -0
  53. package/jsx/core/FieldValueList/FieldValueList.mocks.js +9 -0
  54. package/jsx/core/FieldValueList/FieldValueList.mocks.js.map +1 -0
  55. package/jsx/core/FieldValueList/FieldValueList.stories.d.ts +1 -0
  56. package/jsx/core/FieldValueList/FieldValueList.stories.d.ts.map +1 -1
  57. package/jsx/core/FieldValueList/FieldValueList.stories.jsx +34 -2
  58. package/jsx/core/FieldValueList/FieldValueList.stories.jsx.map +1 -1
  59. package/jsx/core/Form/Form.mocks.jsx +2 -2
  60. package/jsx/core/Form/Form.mocks.jsx.map +1 -1
  61. package/jsx/core/IconPicker/IconPicker.stories.d.ts.map +1 -1
  62. package/jsx/core/IconPicker/IconPicker.stories.jsx +6 -9
  63. package/jsx/core/IconPicker/IconPicker.stories.jsx.map +1 -1
  64. package/jsx/core/Input/Input.stories.d.ts +1 -0
  65. package/jsx/core/Input/Input.stories.d.ts.map +1 -1
  66. package/jsx/core/Input/Input.stories.jsx +8 -1
  67. package/jsx/core/Input/Input.stories.jsx.map +1 -1
  68. package/jsx/core/Location/Location.stories.d.ts +4 -1
  69. package/jsx/core/Location/Location.stories.d.ts.map +1 -1
  70. package/jsx/core/Location/Location.stories.jsx +10 -3
  71. package/jsx/core/Location/Location.stories.jsx.map +1 -1
  72. package/jsx/core/Number/Number.stories.d.ts +1 -0
  73. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  74. package/jsx/core/Number/Number.stories.jsx +15 -7
  75. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  76. package/jsx/core/Phone/Phone.stories.d.ts +4 -1
  77. package/jsx/core/Phone/Phone.stories.d.ts.map +1 -1
  78. package/jsx/core/Phone/Phone.stories.jsx +10 -3
  79. package/jsx/core/Phone/Phone.stories.jsx.map +1 -1
  80. package/jsx/core/RadioButton/RadioButton.stories.d.ts +6 -2
  81. package/jsx/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
  82. package/jsx/core/RadioButton/RadioButton.stories.jsx +22 -5
  83. package/jsx/core/RadioButton/RadioButton.stories.jsx.map +1 -1
  84. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts +6 -2
  85. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
  86. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx +46 -5
  87. package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx.map +1 -1
  88. package/jsx/core/Select/Select.stories.d.ts +1 -0
  89. package/jsx/core/Select/Select.stories.d.ts.map +1 -1
  90. package/jsx/core/Select/Select.stories.jsx +10 -3
  91. package/jsx/core/Select/Select.stories.jsx.map +1 -1
  92. package/jsx/core/TextArea/TextArea.stories.d.ts +4 -1
  93. package/jsx/core/TextArea/TextArea.stories.d.ts.map +1 -1
  94. package/jsx/core/TextArea/TextArea.stories.jsx +10 -3
  95. package/jsx/core/TextArea/TextArea.stories.jsx.map +1 -1
  96. package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts +4 -1
  97. package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  98. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +10 -3
  99. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
  100. package/jsx/social/Chat/Chat.mocks.d.ts +1 -1
  101. package/jsx/social/Chat/Chat.mocks.js +0 -1
  102. package/jsx/social/Chat/Chat.mocks.js.map +1 -1
  103. package/jsx/social/Email/Email.mocks.d.ts +39 -1
  104. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  105. package/jsx/social/Email/Email.mocks.jsx +78 -39
  106. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  107. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  108. package/jsx/social/Email/Email.stories.jsx +174 -87
  109. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  110. package/jsx/tools/Clipboard/Clipboard.mocks.d.ts +6 -0
  111. package/jsx/tools/Clipboard/Clipboard.mocks.d.ts.map +1 -0
  112. package/jsx/tools/Clipboard/Clipboard.mocks.jsx +82 -0
  113. package/jsx/tools/Clipboard/Clipboard.mocks.jsx.map +1 -0
  114. package/jsx/tools/Clipboard/Clipboard.stories.d.ts +6 -0
  115. package/jsx/tools/Clipboard/Clipboard.stories.d.ts.map +1 -0
  116. package/jsx/tools/Clipboard/Clipboard.stories.jsx +68 -0
  117. package/jsx/tools/Clipboard/Clipboard.stories.jsx.map +1 -0
  118. package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts +9 -0
  119. package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -0
  120. package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx +58 -0
  121. package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx.map +1 -0
  122. package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts +15 -0
  123. package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -0
  124. package/jsx/tools/PreviewShell/PreviewShell.stories.jsx +107 -0
  125. package/jsx/tools/PreviewShell/PreviewShell.stories.jsx.map +1 -0
  126. package/jsx/tools/PreviewShell/PreviewShell.styles.d.ts +3 -0
  127. package/jsx/tools/PreviewShell/PreviewShell.styles.d.ts.map +1 -0
  128. package/jsx/tools/PreviewShell/PreviewShell.styles.js +7 -0
  129. package/jsx/tools/PreviewShell/PreviewShell.styles.js.map +1 -0
  130. package/jsx/work/Details/Details.stories.d.ts.map +1 -1
  131. package/jsx/work/Details/Details.stories.jsx +9 -2
  132. package/jsx/work/Details/Details.stories.jsx.map +1 -1
  133. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +11 -0
  134. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -0
  135. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js +136 -0
  136. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -0
  137. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +18 -0
  138. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -0
  139. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js +66 -0
  140. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js.map +1 -0
  141. package/lib/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
  142. package/lib/build/ObjectSelect/ObjectSelect.stories.js +3 -2
  143. package/lib/build/ObjectSelect/ObjectSelect.stories.js.map +1 -1
  144. package/lib/core/AdditionalInfo/AdditionalInfo.stories.d.ts +9 -0
  145. package/lib/core/AdditionalInfo/AdditionalInfo.stories.d.ts.map +1 -0
  146. package/lib/core/AdditionalInfo/AdditionalInfo.stories.js +16 -0
  147. package/lib/core/AdditionalInfo/AdditionalInfo.stories.js.map +1 -0
  148. package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
  149. package/lib/core/AppShell/AppShell.stories.js +11 -1
  150. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  151. package/lib/core/Checkbox/Checkbox.stories.d.ts +6 -2
  152. package/lib/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
  153. package/lib/core/Checkbox/Checkbox.stories.js +26 -7
  154. package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
  155. package/lib/core/CheckboxGroup/CheckboxGroup.stories.d.ts +6 -2
  156. package/lib/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
  157. package/lib/core/CheckboxGroup/CheckboxGroup.stories.js +40 -4
  158. package/lib/core/CheckboxGroup/CheckboxGroup.stories.js.map +1 -1
  159. package/lib/core/ColorPicker/ColorPicker.stories.d.ts +4 -1
  160. package/lib/core/ColorPicker/ColorPicker.stories.d.ts.map +1 -1
  161. package/lib/core/ColorPicker/ColorPicker.stories.js +10 -3
  162. package/lib/core/ColorPicker/ColorPicker.stories.js.map +1 -1
  163. package/lib/core/ComboBox/ComboBox.stories.d.ts +1 -0
  164. package/lib/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
  165. package/lib/core/ComboBox/ComboBox.stories.js +40 -8
  166. package/lib/core/ComboBox/ComboBox.stories.js.map +1 -1
  167. package/lib/core/CompositeInput/CompositeInput.stories.d.ts +4 -1
  168. package/lib/core/CompositeInput/CompositeInput.stories.d.ts.map +1 -1
  169. package/lib/core/CompositeInput/CompositeInput.stories.js +7 -3
  170. package/lib/core/CompositeInput/CompositeInput.stories.js.map +1 -1
  171. package/lib/core/CreditCard/CreditCard.stories.d.ts +4 -1
  172. package/lib/core/CreditCard/CreditCard.stories.d.ts.map +1 -1
  173. package/lib/core/CreditCard/CreditCard.stories.js +10 -3
  174. package/lib/core/CreditCard/CreditCard.stories.js.map +1 -1
  175. package/lib/core/Currency/Currency.stories.d.ts +4 -1
  176. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  177. package/lib/core/Currency/Currency.stories.js +10 -3
  178. package/lib/core/Currency/Currency.stories.js.map +1 -1
  179. package/lib/core/DateTime/DateTime.stories.d.ts +39 -9
  180. package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
  181. package/lib/core/DateTime/DateTime.stories.js +83 -14
  182. package/lib/core/DateTime/DateTime.stories.js.map +1 -1
  183. package/lib/core/FieldValueList/FieldValueList.mocks.d.ts +3 -0
  184. package/lib/core/FieldValueList/FieldValueList.mocks.d.ts.map +1 -0
  185. package/lib/core/FieldValueList/FieldValueList.mocks.js +9 -0
  186. package/lib/core/FieldValueList/FieldValueList.mocks.js.map +1 -0
  187. package/lib/core/FieldValueList/FieldValueList.stories.d.ts +1 -0
  188. package/lib/core/FieldValueList/FieldValueList.stories.d.ts.map +1 -1
  189. package/lib/core/FieldValueList/FieldValueList.stories.js +32 -2
  190. package/lib/core/FieldValueList/FieldValueList.stories.js.map +1 -1
  191. package/lib/core/Form/Form.mocks.js +2 -2
  192. package/lib/core/Form/Form.mocks.js.map +1 -1
  193. package/lib/core/IconPicker/IconPicker.stories.d.ts.map +1 -1
  194. package/lib/core/IconPicker/IconPicker.stories.js +6 -9
  195. package/lib/core/IconPicker/IconPicker.stories.js.map +1 -1
  196. package/lib/core/Input/Input.stories.d.ts +1 -0
  197. package/lib/core/Input/Input.stories.d.ts.map +1 -1
  198. package/lib/core/Input/Input.stories.js +8 -1
  199. package/lib/core/Input/Input.stories.js.map +1 -1
  200. package/lib/core/Location/Location.stories.d.ts +4 -1
  201. package/lib/core/Location/Location.stories.d.ts.map +1 -1
  202. package/lib/core/Location/Location.stories.js +10 -3
  203. package/lib/core/Location/Location.stories.js.map +1 -1
  204. package/lib/core/Number/Number.stories.d.ts +1 -0
  205. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  206. package/lib/core/Number/Number.stories.js +15 -7
  207. package/lib/core/Number/Number.stories.js.map +1 -1
  208. package/lib/core/Phone/Phone.stories.d.ts +4 -1
  209. package/lib/core/Phone/Phone.stories.d.ts.map +1 -1
  210. package/lib/core/Phone/Phone.stories.js +10 -3
  211. package/lib/core/Phone/Phone.stories.js.map +1 -1
  212. package/lib/core/RadioButton/RadioButton.stories.d.ts +6 -2
  213. package/lib/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
  214. package/lib/core/RadioButton/RadioButton.stories.js +22 -5
  215. package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
  216. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts +6 -2
  217. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
  218. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js +40 -4
  219. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js.map +1 -1
  220. package/lib/core/Select/Select.stories.d.ts +1 -0
  221. package/lib/core/Select/Select.stories.d.ts.map +1 -1
  222. package/lib/core/Select/Select.stories.js +10 -3
  223. package/lib/core/Select/Select.stories.js.map +1 -1
  224. package/lib/core/TextArea/TextArea.stories.d.ts +4 -1
  225. package/lib/core/TextArea/TextArea.stories.d.ts.map +1 -1
  226. package/lib/core/TextArea/TextArea.stories.js +10 -3
  227. package/lib/core/TextArea/TextArea.stories.js.map +1 -1
  228. package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts +4 -1
  229. package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  230. package/lib/rte/RichTextEditor/RichTextEditor.stories.js +10 -3
  231. package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  232. package/lib/social/Chat/Chat.mocks.d.ts +1 -1
  233. package/lib/social/Chat/Chat.mocks.js +0 -1
  234. package/lib/social/Chat/Chat.mocks.js.map +1 -1
  235. package/lib/social/Email/Email.mocks.d.ts +39 -1
  236. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  237. package/lib/social/Email/Email.mocks.js +78 -39
  238. package/lib/social/Email/Email.mocks.js.map +1 -1
  239. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  240. package/lib/social/Email/Email.stories.js +158 -87
  241. package/lib/social/Email/Email.stories.js.map +1 -1
  242. package/lib/tools/Clipboard/Clipboard.mocks.d.ts +6 -0
  243. package/lib/tools/Clipboard/Clipboard.mocks.d.ts.map +1 -0
  244. package/lib/tools/Clipboard/Clipboard.mocks.js +80 -0
  245. package/lib/tools/Clipboard/Clipboard.mocks.js.map +1 -0
  246. package/lib/tools/Clipboard/Clipboard.stories.d.ts +6 -0
  247. package/lib/tools/Clipboard/Clipboard.stories.d.ts.map +1 -0
  248. package/lib/tools/Clipboard/Clipboard.stories.js +69 -0
  249. package/lib/tools/Clipboard/Clipboard.stories.js.map +1 -0
  250. package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts +9 -0
  251. package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -0
  252. package/lib/tools/PreviewShell/PreviewShell.mocks.js +57 -0
  253. package/lib/tools/PreviewShell/PreviewShell.mocks.js.map +1 -0
  254. package/lib/tools/PreviewShell/PreviewShell.stories.d.ts +15 -0
  255. package/lib/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -0
  256. package/lib/tools/PreviewShell/PreviewShell.stories.js +108 -0
  257. package/lib/tools/PreviewShell/PreviewShell.stories.js.map +1 -0
  258. package/lib/tools/PreviewShell/PreviewShell.styles.d.ts +3 -0
  259. package/lib/tools/PreviewShell/PreviewShell.styles.d.ts.map +1 -0
  260. package/lib/tools/PreviewShell/PreviewShell.styles.js +7 -0
  261. package/lib/tools/PreviewShell/PreviewShell.styles.js.map +1 -0
  262. package/lib/work/Details/Details.stories.d.ts.map +1 -1
  263. package/lib/work/Details/Details.stories.js +2 -2
  264. package/lib/work/Details/Details.stories.js.map +1 -1
  265. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"Email.stories.jsx","sourceRoot":"","sources":["../../../src/social/Email/Email.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words calibri Trichy Nagercoil\nimport { useState, useRef, useCallback, useEffect, createRef, RefObject, MouseEvent } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\nimport { useMemo } from '@storybook/addons';\n\nimport {\n Card,\n CardContent,\n createUID,\n MenuButton,\n MenuItemProps,\n MenuProps,\n Icon,\n registerIcon,\n Flex,\n Button,\n menuHelpers,\n CardHeader,\n Text,\n SummaryList,\n Grid,\n FieldValueList,\n StyledLabel,\n EmptyState\n} from '@pega/cosmos-react-core';\nimport * as filterIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter.icon';\nimport {\n Email as EmailComponent,\n EmailConversation,\n EmailComposer,\n EmailShell,\n EmailSummaryItem,\n EmailSummaryList,\n EntityList,\n EmailProps,\n EmailConversationProps,\n EmailComposerProps,\n EntityListProps,\n EmailManager,\n EmailSummaryListProps,\n EmailSummaryItemProps\n} from '@pega/cosmos-react-social';\nimport {\n EmailComposerFieldType,\n EmailComposerValueType,\n EmailComposerHandleValue,\n ContextMenuProps\n} from '@pega/cosmos-react-social/lib/components/Email/Email.types';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport {\n bccParticipants,\n ccParticipants,\n emailBodyContent,\n participants,\n toParticipants,\n emailAttachments,\n EntityListMockData,\n viewAnalysisEmailHeaderMock,\n topicListMock,\n emailActions,\n generateEmailConversationParticipants,\n templates,\n handleExternalEntry,\n emailDemoActions,\n LaunchAction,\n baseComposerProps,\n sentiment,\n emailSummaryItems,\n mockEmails,\n mockSuggestedReplies,\n mockEmailBodyTemplates,\n forwardedContent,\n getCompositeId,\n emptyFieldErrorMessage,\n fieldValidation,\n emailWorklistItemsMock,\n contextMenuItemsMock,\n highlightedEntitiesMock\n} from './Email.mocks';\nimport { StyledEmailCardContent } from './Email.styles';\n\nregisterIcon(filterIcon);\n\nexport default {\n title: 'Social/Email',\n component: EmailComponent\n} as Meta;\n\n// _______ .___ ___. ___ __ __\n// | ____|| \\/ | / \\ | | | |\n// | |__ | \\ / | / ^ \\ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | |\n// | |____ | | | | / _____ \\ | | | `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______|\n\ninterface EmailDemoProps {\n enableEntityHighlighting?: boolean;\n enableContextMenu?: boolean;\n forwardedContent?: string;\n}\n\nexport const Email: Story<EmailDemoProps> = (args: EmailDemoProps) => {\n const emailImperativeHandle: ContextMenuProps['handle'] = useRef(null);\n const timeout = useRef<number | null>(null);\n\n const handleRightClick = () => {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n emailImperativeHandle.current?.setContextMenuItems(contextMenuItemsMock);\n }, 1000);\n };\n\n return (\n <Card>\n <StyledEmailCardContent>\n <EmailComponent\n id={createUID()}\n timeStamp='2021-01-05T09:12'\n from={mockEmails['Laura Stevens']}\n cc={[mockEmails['Adam Gillchrist'], mockEmails['John Paul']]}\n bcc={[mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']]}\n to={[mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']]}\n body='<div>Hi,<br/><p>I am one of the customer of Indian Overseas Bank, <b><i>Nagercoil</i></b> branch, with code <b><a href=\"www.google.com\"><i>3967</i></a></b>. I have a saving bank account here. My account number is <i>6785420965476</i>.</p><br/><p>I have been given a debit cum ATM card from this bank and the same has been lost when I was traveling from Nagercoil to Trichy by Bus on Jan 04, 2021. I remember that my ATM card number was 1920 6746 8653 1256.</p><br/>I hereby request you to block my debit card immediately to prevent misuse of the same by some others. Also I request you to give me an new debit card as early as possible.<br/><br/>Regards,<br/>Laura Stevens</div>'\n forwardedContent={args.forwardedContent}\n entityHighlightMapping={\n args.enableEntityHighlighting ? highlightedEntitiesMock : undefined\n }\n subject='I lost my debit card'\n onReply={action('On reply')}\n onReplyAll={action('On reply all')}\n onForward={action('On forward')}\n onSuggestionClick={action('On Suggested reply clicked')}\n sentiment={{\n variant: 'neutral'\n }}\n actions={emailActions}\n suggestions={mockSuggestedReplies}\n contextMenu={\n args.enableContextMenu\n ? {\n onItemClick: action('onItemClick'),\n onContextMenu: handleRightClick,\n handle: emailImperativeHandle\n }\n : undefined\n }\n attachments={[\n {\n id: 'attachment_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'attachment_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })}\n />\n </StyledEmailCardContent>\n </Card>\n );\n};\n\nEmail.args = {\n enableEntityHighlighting: false,\n enableContextMenu: false,\n // eslint-disable-next-line demo-patterns/literal-args\n forwardedContent\n};\n\nEmail.argTypes = {\n enableEntityHighlighting: { control: { type: 'boolean' } },\n enableContextMenu: { control: { type: 'boolean' } },\n forwardedContent: { control: { type: 'text' } }\n};\n\n// ______ ______ .___ ___. .______ ______ _______. _______ .______\n// / | / __ \\ | \\/ | | _ \\ / __ \\ / || ____|| _ \\\n// | ,----'| | | | | \\ / | | |_) | | | | | | (----`| |__ | |_) |\n// | | | | | | | |\\/| | | ___/ | | | | \\ \\ | __| | /\n// | `----.| `--' | | | | | | | | `--' | .----) | | |____ | |\\ \\----.\n// \\______| \\______/ |__| |__| | _| \\______/ |_______/ |_______|| _| `._____|\n\nexport const Composer: Story = () => {\n const [composerProgress, setComposerProgress] = useState<EmailComposerProps['progress']>(false);\n const composerHandle = useRef<EmailComposerHandleValue>(null);\n\n const [data, setData] = useState<\n EmailComposerProps['data'] & { bodyContentCurrentValue: string }\n >({\n to: { value: toParticipants },\n cc: { value: [] },\n bcc: { value: [] },\n subject: { value: 'Request: Pause service' },\n bodyContent: {\n defaultValue: 'Hi, Hope you are doing well'\n },\n responseType: 'reply',\n selectedTemplateId: '',\n attachments: emailAttachments,\n bodyContentCurrentValue: ''\n });\n\n const handleOnChange = (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n if (field === 'bodyContent') {\n setData(prev => ({\n ...prev,\n bodyContentCurrentValue: value as string\n }));\n } else if (['responseType', 'attachments', 'selectedTemplateId'].includes(field)) {\n setData(prev => ({\n ...prev,\n [field]: value\n }));\n } else {\n // Clearing error message as soon as value changes\n setData(prev => {\n return {\n ...prev,\n [field]: { error: undefined, value }\n };\n });\n }\n action('onChange')(field, value);\n };\n\n useEffect(() => {\n if (data.responseType === 'reply') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev.cc,\n value: []\n },\n bcc: {\n ...prev.bcc,\n value: []\n }\n };\n });\n } else if (data.responseType === 'replyAll') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: toParticipants\n },\n cc: {\n ...prev.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev.bcc,\n value: bccParticipants\n }\n };\n });\n }\n }, [data.responseType]);\n\n const onTemplateChange = (id: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === id);\n // Simulating api call\n setComposerProgress({ message: 'Loading template...' });\n setTimeout(() => {\n setComposerProgress(false);\n composerHandle.current?.replaceBodyContent(selectedTemplate?.content || '');\n }, 1000);\n };\n\n useEffect(() => {\n if (data.selectedTemplateId) onTemplateChange(data.selectedTemplateId);\n }, [data.selectedTemplateId]);\n\n const handleOnSend: EmailComposerProps['onSend'] = () => {\n setData(prev => {\n return {\n ...prev,\n to: {\n value: prev.to?.value || [],\n error:\n data?.to?.value.length === 0 ? emptyFieldErrorMessage : fieldValidation(data?.to?.value)\n },\n cc: {\n value: prev.cc?.value || [],\n error: data.cc === undefined ? undefined : fieldValidation(data.cc.value)\n },\n bcc: {\n value: prev.bcc?.value || [],\n error: data.bcc === undefined ? undefined : fieldValidation(data.bcc.value)\n },\n subject: {\n ...prev.subject,\n error: data.subject?.value === '' ? emptyFieldErrorMessage : undefined\n },\n bodyContent: {\n ...prev.bodyContent,\n error: data.bodyContentCurrentValue === '' ? emptyFieldErrorMessage : undefined\n }\n };\n });\n };\n\n return (\n <EmailComposer\n handle={composerHandle}\n progress={composerProgress}\n onSend={handleOnSend}\n onCancel={action('On cancel')}\n externalValidator={handleExternalEntry}\n participants={participants}\n onChange={handleOnChange}\n data={data}\n templates={templates}\n onImageAdded={action('On Image added')}\n />\n );\n};\n\n// ______ ______ .__ __. ____ ____ _______ .______ _______. ___ .___________. __ ______ .__ __.\n// / | / __ \\ | \\ | | \\ \\ / / | ____|| _ \\ / | / \\ | || | / __ \\ | \\ | |\n// | ,----'| | | | | \\| | \\ \\/ / | |__ | |_) | | (----` / ^ \\ `---| |----`| | | | | | | \\| |\n// | | | | | | | . ` | \\ / | __| | / \\ \\ / /_\\ \\ | | | | | | | | | . ` |\n// | `----.| `--' | | |\\ | \\ / | |____ | |\\ \\----.----) | / _____ \\ | | | | | `--' | | |\\ |\n// \\______| \\______/ |__| \\__| \\__/ |_______|| _| `._____|_______/ /__/ \\__\\ |__| |__| \\______/ |__| \\__|\n\nexport const Conversation: Story = () => {\n const emailArr: EmailProps[] = [\n {\n id: 'item_0',\n timeStamp: '2021-01-05T09:12',\n from: mockEmails['Laura Stevens'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>Sure.. Here is your E-Ticket !! </div> <br /><br /> Regards, <br /> Laura Stevens </div>',\n unRead: true,\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n actions: emailActions,\n suggestions: mockSuggestedReplies\n },\n {\n id: 'item_1',\n timeStamp: '2021-01-02T03:12',\n from: mockEmails['Sara Davis'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Laura Stevens'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>I’m still at the airport, I need help now!! </div> <br /><br /> Regards, <br /> Sara Davis </div>',\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n actions: emailActions\n }\n ];\n\n return (\n <EmailConversation\n participants={generateEmailConversationParticipants(emailArr)}\n from={generateEmailConversationParticipants(emailArr, ['from'])[0]}\n to={generateEmailConversationParticipants(emailArr, ['to'])}\n id={createUID()}\n timeStamp={emailArr[0].timeStamp}\n unReadEmailCount={emailArr.filter(item => item.unRead).length}\n emails={emailArr}\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ _______ __ __\n// | ____|| \\/ | / \\ | | | | / || | | | | ____|| | | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| |__| | | |__ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | __ | | __| | | | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | | | | | |____ | `----.| `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ |__| |__| |_______||_______||_______|\n\ninterface EmailShellDemoProps {\n autoCollapse?: boolean;\n hideSuggestions?: boolean;\n singleConversation?: boolean;\n}\n\nexport const EmailShellDemo: Story<EmailShellDemoProps> = (args: EmailShellDemoProps) => {\n const actions = ['Transfer', 'End conversation'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }));\n\n const [composersData, setComposersData] = useState<{\n [key: string]: EmailComposerProps & { bodyContentCurrentValue: string };\n }>({});\n\n const handleResponseTypeChange = (uid: string, responseType: string) => {\n if (responseType === 'reply') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev[uid].data.cc,\n value: []\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: []\n }\n }\n }\n };\n });\n } else if (responseType === 'replyAll') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: toParticipants\n },\n cc: {\n ...prev[uid].data.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: bccParticipants\n }\n }\n }\n };\n });\n }\n };\n\n const handleTemplateIdChange = (uid: string, templateId: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === templateId);\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: { message: 'Loading template...' }\n }\n };\n });\n\n // Simulating api call\n setTimeout(() => {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: false\n }\n };\n });\n\n let currentData: { [key: string]: EmailComposerProps } = {};\n setComposersData(prev => {\n currentData = prev;\n return prev;\n });\n\n if (currentData) {\n (\n currentData[uid]?.handle as RefObject<EmailComposerHandleValue>\n )?.current?.replaceBodyContent(selectedTemplate?.content || '');\n }\n }, 1000);\n };\n\n const handleChange = (\n uid: string,\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n setComposersData(prevData => {\n if (field === 'bodyContent') {\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n bodyContentCurrentValue: value as string\n }\n };\n }\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n data: {\n ...prevData[uid].data,\n [field]: ['responseType', 'attachments', 'selectedTemplateId'].includes(field)\n ? value\n : {\n error: undefined, // Clearing error on change\n value\n }\n }\n }\n };\n });\n\n if (field === 'responseType') {\n handleResponseTypeChange(uid, value as string);\n } else if (field === 'selectedTemplateId') {\n handleTemplateIdChange(uid, value as string);\n }\n };\n\n const handleCancel = (uid: string) => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n };\n\n const handleSend = (uid: string) => {\n action('Send')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n value: prev[uid].data.to?.value || [],\n error: !prev[uid].data.to?.value.length\n ? emptyFieldErrorMessage\n : fieldValidation(prev[uid].data.to?.value)\n },\n cc: {\n value: prev[uid].data.cc?.value || [],\n error: !prev[uid].data.cc?.value.length\n ? undefined\n : fieldValidation(prev[uid].data.cc?.value)\n },\n bcc: {\n value: prev[uid].data.bcc?.value || [],\n error: !prev[uid].data.bcc?.value.length\n ? undefined\n : fieldValidation(prev[uid].data.bcc?.value)\n },\n subject: {\n value: prev[uid].data.subject.value || '',\n error: prev[uid].data.subject.value === '' ? emptyFieldErrorMessage : undefined\n },\n bodyContent: {\n defaultValue: prev[uid].data.bodyContent.defaultValue || '',\n error: prev[uid].bodyContentCurrentValue === '' ? emptyFieldErrorMessage : undefined\n }\n }\n }\n };\n });\n };\n\n const createOrActivateComposer = (\n id: EmailProps['id'],\n launchAction: LaunchAction,\n composerProps: EmailComposerProps\n ) => {\n const uid = getCompositeId(id, launchAction);\n if (composersData[uid]) {\n // Activate the existing composer\n (composersData[uid].handle as RefObject<EmailComposerHandleValue>)?.current?.activate();\n } else {\n // Create new composer\n setComposersData(prev => {\n const composerHandle = createRef<EmailComposerHandleValue>();\n return {\n ...prev,\n [uid]: {\n ...composerProps,\n bodyContentCurrentValue: composerProps.data.bodyContent.defaultValue,\n handle: composerHandle,\n onChange: (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => handleChange(uid, field, value),\n onCancel: () => handleCancel(uid),\n onSend: () => handleSend(uid)\n }\n };\n });\n }\n };\n\n const emailsData: EmailProps[] = [\n {\n id: 'item_0',\n timeStamp: '2021-01-05T09:12',\n from: participants[0],\n to: participants.slice(0, 2),\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Laura Stevens </div>',\n unRead: true,\n subject: 'Pause service',\n suggestions: args.hideSuggestions ? undefined : mockSuggestedReplies,\n attachments: [\n {\n id: 'item_1_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'item_1_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })\n },\n {\n id: 'item_1',\n timeStamp: '2021-01-02T03:12',\n from: participants[3],\n to: participants.slice(2, 4),\n body: emailBodyContent,\n unRead: true,\n subject: 'Pause service'\n }\n ].map(emailData => {\n const emailActionItems = emailDemoActions(\n emailData.id,\n emailData.subject,\n createOrActivateComposer\n );\n return {\n ...emailData,\n onReply: (id: EmailProps['id']) => {\n createOrActivateComposer(id, LaunchAction.REPLY, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: `Re-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onForward: id => {\n createOrActivateComposer(id, LaunchAction.FORWARD, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'forward',\n subject: { value: `Fw-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onSuggestionClick: (id, suggestionId) => {\n const suggestion = emailData.suggestions?.find(item => item.id === suggestionId);\n createOrActivateComposer(id, LaunchAction.SUGGESTION, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: suggestion?.title || '' },\n bodyContent: { defaultValue: suggestion ? suggestion.content : '' },\n selectedTemplateId: suggestion?.id\n },\n externalValidator: handleExternalEntry\n });\n },\n actions: emailActionItems,\n tags: args.hideSuggestions\n ? undefined\n : {\n items: ['Pause service', 'Lost or stolen'],\n label: 'Associated service cases',\n onRemove: action('On Associated service case remove'),\n dismissable: true\n }\n };\n });\n\n const emailConversations: EmailConversationProps[] = (\n [\n [...emailsData],\n [\n {\n ...emailsData[0],\n timeStamp: '2021-01-03T17:15',\n from: mockEmails['Hugh Phillips'],\n to: [mockEmails['Mystery Rey'], ...emailsData[0].to],\n cc: [mockEmails['Adam Gillchrist']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will come and check your connection in 24hrs. </div> <br />Regards, <br />Hugh Phillips </div>'\n },\n {\n ...emailsData[1],\n unRead: false,\n timeStamp: '2021-01-02T14:16',\n from: mockEmails['Mystery Rey'],\n to: [mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Can you fix my internet connection. </div> <br /> <br />Regards, <br />Rey Mystery </div>'\n }\n ],\n [\n {\n ...emailsData[0],\n unRead: false,\n timeStamp: '2020-12-05T18:18',\n from: mockEmails['Laura Stevens'],\n to: [mockEmails['Sara Davis']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will call you shortly. </div> <br /> <br />Regards, <br />Laura Stevens </div>',\n sentiment: {\n variant: 'positive'\n }\n },\n {\n ...emailsData[1],\n unRead: false,\n timeStamp: '2021-01-04T08:30',\n from: mockEmails['Sara Davis'],\n to: [mockEmails['Laura Stevens']],\n body: '<div>Hi, <br /> <br /><div>Can you show please explain your new mobile plans. </div> <br /> <br />Regards, <br />Sara Davis </div>'\n }\n ]\n ] as EmailProps[][]\n ).map((emails, i) => {\n return {\n from: generateEmailConversationParticipants(emails, ['from'])[0],\n to: emails[0].to,\n id: `item_${i}`,\n timeStamp: emails[0].timeStamp,\n unReadEmailCount: emails.filter(item => item.unRead).length,\n emails,\n sentiment: emails[0].sentiment,\n isForwarded: i !== 2,\n isCollapsed: i !== 0\n } as EmailConversationProps;\n });\n\n const singleEmailConversation: EmailConversationProps[] = [\n {\n from: generateEmailConversationParticipants(emailsData, ['from'])[0],\n to: generateEmailConversationParticipants(emailsData, ['to']),\n id: 'item_0',\n timeStamp: new Date(emailsData[0].timeStamp),\n unReadEmailCount: emailsData.filter(item => item.unRead).length,\n emails: emailsData\n }\n ];\n\n return (\n <>\n <EmailShell\n headerProps={{\n actions: (\n <Flex\n container={{\n alignItems: 'center',\n gap: 0\n }}\n >\n <Button variant='simple' icon>\n <Icon name='filter' />\n </Button>\n <MenuButton\n variant='simple'\n text='More actions'\n icon='more'\n iconOnly\n portal\n menu={{ items: actions }}\n />\n </Flex>\n ),\n subject: 'Pause service'\n }}\n autoCollapse={args.autoCollapse}\n conversations={args.singleConversation ? singleEmailConversation : emailConversations}\n />\n <>\n {Object.keys(composersData).map(guid => {\n return <EmailComposer key={guid} {...composersData[guid]} />;\n })}\n </>\n </>\n );\n};\n\nEmailShellDemo.args = {\n autoCollapse: true,\n hideSuggestions: false,\n singleConversation: true\n};\n\nEmailShellDemo.argTypes = {\n autoCollapse: { control: { type: 'boolean' } },\n hideSuggestions: { control: { type: 'boolean' } },\n singleConversation: { control: { type: 'boolean' } }\n};\n\n// _______ .__ __. .___________. __ .___________.____ ____ __ __ _______.___________.\n// | ____|| \\ | | | || | | |\\ \\ / / | | | | / | |\n// | |__ | \\| | `---| |----`| | `---| |----` \\ \\/ / | | | | | (----`---| |----`\n// | __| | . ` | | | | | | | \\_ _/ | | | | \\ \\ | |\n// | |____ | |\\ | | | | | | | | | | `----.| | .----) | | |\n// |_______||__| \\__| |__| |__| |__| |__| |_______||__| |_______/ |__|\n\ninterface EntityListDemoProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EntityListDemo: Story<EntityListDemoProps> = (args: EntityListDemoProps) => {\n const itemCounter = useRef(3);\n const timeout = useRef<number | null>(null);\n const imperativeHandle: ContextMenuProps['handle'] = useRef(null);\n const headerProps: EntityListProps['header'] = {\n icon: 'list-number',\n text: 'Entities'\n };\n\n const handleRightClick = () => {\n itemCounter.current += 1;\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n imperativeHandle.current?.setContextMenuItems(contextMenuItemsMock);\n }, 1000);\n };\n\n return (\n <EntityList\n header={headerProps}\n content={EntityListMockData}\n contextMenu={\n args.enableContextMenu\n ? {\n onItemClick: action('onItemClick'),\n onContextMenu: args.onContextMenu || handleRightClick,\n handle: imperativeHandle\n }\n : undefined\n }\n />\n );\n};\n\nEntityListDemo.args = {\n enableContextMenu: true\n};\n\nEntityListDemo.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ .___________. _______ .___ ___.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | || ____|| \\/ |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | `---| |----`| |__ | \\ / |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | | __| | |\\/| |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | | | | | |____ | | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |__| |__| |_______||__| |__|\n\ninterface EmailSummaryItemDemoProps {\n unreadEmailCount?: number;\n isActive?: boolean;\n}\n\nexport const EmailSummaryItemDemo: Story<EmailSummaryItemDemoProps> = (\n args: EmailSummaryItemDemoProps\n) => {\n return (\n <EmailSummaryItem\n id={createUID()}\n activeParticipants={[\n {\n shortName: 'Robert',\n fullName: 'Robert Downer',\n emailAddress: 'robert.downey@example.com'\n },\n {\n shortName: 'Nathan',\n fullName: 'Nathan Swanson',\n emailAddress: 'nathan.swanson@example.com'\n }\n ]}\n message='I have a quick question on traveling to India. How do I reach Hyderabad?'\n timeStamp={new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), 24))}\n topic='Missing Luggage'\n sentiment={sentiment}\n urgency={10}\n unreadEmailCount={args.unreadEmailCount}\n active={args.isActive}\n onSelect={(id: EmailSummaryItemProps['id']) => {\n action('onSelect')(id);\n }}\n />\n );\n};\n\nEmailSummaryItemDemo.args = {\n unreadEmailCount: 0,\n isActive: false\n};\n\nEmailSummaryItemDemo.argTypes = {\n unreadEmailCount: { control: { type: 'number' } },\n isActive: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ __ _______.___________.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | | / | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | | | | (----`---| |----`\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | \\ \\ | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | `----.| | .----) | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |_______||__| |_______/ |__|\n\ninterface EmailSummaryListStoryProps {\n onItemClick?: EmailSummaryListProps['onItemClick'];\n items?: EmailSummaryListProps['items'];\n onLoadMore?: EmailSummaryListProps['onLoadMore'];\n loading?: EmailSummaryListProps['loading'];\n}\n\nexport const EmailSummaryListDemo: Story<EmailSummaryListStoryProps> = (\n args: EmailSummaryListStoryProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const emailSummaryListRef = useRef(null);\n const [allEmailItems, setAllEmailItems] = useState(\n emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE)\n );\n const [categories, setCategories] = useState<MenuProps['items']>(emailWorklistItemsMock);\n\n const handleItemClick = (id: string) => {\n const index = allEmailItems.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailItems = [...allEmailItems];\n newEmailItems.splice(index, 1, { ...allEmailItems[index], unreadEmailCount: 0 });\n\n setAllEmailItems(newEmailItems);\n };\n\n const onCategoryClick: MenuItemProps['onClick'] = (id: MenuItemProps['id']) => {\n setCategories(cur => menuHelpers.toggleSelected(cur, id, 'single-select'));\n };\n\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setAllEmailItems(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n return (\n <EmailSummaryList\n ref={emailSummaryListRef}\n unreadEmailCount={99}\n categories={categories}\n items={args.items || allEmailItems}\n onItemClick={args.onItemClick || handleItemClick}\n onCategoryClick={onCategoryClick}\n onLoadMore={args.onLoadMore || (hasMore ? loadMore : undefined)}\n loading={args.loading || loading}\n emptyMessage='No emails.'\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ .___ ___. ___ .__ __. ___ _______ _______ .______\n// | ____|| \\/ | / \\ | | | | | \\/ | / \\ | \\ | | / \\ / _____|| ____|| _ \\\n// | |__ | \\ / | / ^ \\ | | | | | \\ / | / ^ \\ | \\| | / ^ \\ | | __ | |__ | |_) |\n// | __| | |\\/| | / /_\\ \\ | | | | | |\\/| | / /_\\ \\ | . ` | / /_\\ \\ | | |_ | | __| | /\n// | |____ | | | | / _____ \\ | | | `----. | | | | / _____ \\ | |\\ | / _____ \\ | |__| | | |____ | |\\ \\----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |__| |__| /__/ \\__\\ |__| \\__| /__/ \\__\\ \\______| |_______|| _| `._____|\n\ninterface EmailManagerAppShellProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EmailManagerAppShell: Story<EmailManagerAppShellProps> = (\n args: EmailManagerAppShellProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const [activeItemId, setActiveItemId] = useState<string | undefined>();\n const [emailList, setEmailList] = useState(emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE));\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const handleEmailItemClick = (id: EmailSummaryItemProps['id']) => {\n setActiveItemId(id);\n\n const index = emailList.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailList = [...emailList];\n newEmailList.splice(index, 1, { ...emailList[index], unreadEmailCount: 0 });\n\n setEmailList(newEmailList);\n };\n\n const onLoadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setEmailList(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n const activeItemIndex = useMemo(\n () => emailList.findIndex(emailItem => emailItem.id === activeItemId),\n [activeItemId, emailList]\n );\n\n const content =\n activeItemId === undefined ? (\n <EmptyState message='No item selected!' />\n ) : (\n <EmailShellDemo singleConversation={activeItemIndex % 2 === 0} />\n );\n\n const utilities =\n activeItemId === undefined ? null : (\n // View analysis utility\n <Grid container={{ rowGap: 2 }}>\n <EntityListDemo\n onContextMenu={args.onContextMenu}\n enableContextMenu={args.enableContextMenu}\n />\n <Card>\n <CardHeader container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='document-doc' />\n <Text variant='h3'>Email header</Text>\n </CardHeader>\n <CardContent>\n <FieldValueList fields={viewAnalysisEmailHeaderMock} variant='stacked' />\n </CardContent>\n </Card>\n <SummaryList\n name='Topics'\n icon='headline'\n items={topicListMock.map(items => ({\n ...items,\n primary: <StyledLabel>{items.primary}</StyledLabel>,\n secondary: (\n <Flex container={{ direction: 'row', justify: 'between' }}>\n <Text variant='primary'>{items.secondary.indicator}</Text>\n <StyledLabel>{items.secondary.value}</StyledLabel>\n </Flex>\n )\n }))}\n noItemsText='No items'\n />\n </Grid>\n );\n\n return (\n <AppShellDemo\n appHeader\n main={\n <EmailManager\n header={{\n icon: 'mail',\n title: 'Inbox'\n }}\n list={\n <EmailSummaryListDemo\n onItemClick={handleEmailItemClick}\n items={emailList}\n onLoadMore={hasMore ? onLoadMore : undefined}\n loading={loading}\n />\n }\n content={content}\n utilities={utilities}\n utilitiesSummaryItems={\n utilities\n ? [\n { iconName: 'list-number', count: 7 },\n { iconName: 'document-doc', count: 1 },\n { iconName: 'headline', count: 4 }\n ]\n : undefined\n }\n defaultCollapsedUtilities={!!utilities}\n />\n }\n />\n );\n};\n\nEmailManagerAppShell.args = {\n enableContextMenu: true\n};\n\nEmailManagerAppShell.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\nEmailManagerAppShell.parameters = {\n layout: 'fullscreen'\n};\n"]}
1
+ {"version":3,"file":"Email.stories.jsx","sourceRoot":"","sources":["../../../src/social/Email/Email.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words calibri Trichy Nagercoil\nimport {\n useState,\n useRef,\n useCallback,\n useEffect,\n createRef,\n RefObject,\n MouseEvent,\n useContext,\n FunctionComponent\n} from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\nimport { useMemo } from '@storybook/addons';\n\nimport {\n Card,\n CardContent,\n createUID,\n MenuButton,\n MenuItemProps,\n MenuProps,\n Icon,\n registerIcon,\n Flex,\n Button,\n menuHelpers,\n CardHeader,\n Text,\n SummaryList,\n Grid,\n FieldValueList,\n StyledLabel,\n EmptyState,\n Modal,\n ModalManagerContext,\n ToasterContext\n} from '@pega/cosmos-react-core';\nimport * as filterIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/filter.icon';\nimport {\n Email as EmailComponent,\n EmailConversation,\n EmailComposer,\n EmailShell,\n EmailSummaryItem,\n EmailSummaryList,\n EntityList,\n EmailProps,\n EmailConversationProps,\n EmailComposerProps,\n EntityListProps,\n EmailManager,\n EmailSummaryListProps,\n EmailSummaryItemProps\n} from '@pega/cosmos-react-social';\nimport {\n EmailComposerFieldType,\n EmailComposerValueType,\n EmailComposerHandleValue,\n ContextMenuProps\n} from '@pega/cosmos-react-social/lib/components/Email/Email.types';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport {\n bccParticipants,\n ccParticipants,\n emailBodyContent,\n participants,\n toParticipants,\n emailAttachments,\n EntityListMockData,\n viewAnalysisEmailHeaderMock,\n topicListMock,\n emailActions,\n generateEmailConversationParticipants,\n templates,\n handleExternalEntry,\n emailDemoActions,\n LaunchAction,\n baseComposerProps,\n sentiment,\n emailSummaryItems,\n mockEmails,\n mockSuggestedReplies,\n mockEmailBodyTemplates,\n forwardedContent,\n getCompositeId,\n emptyFieldErrorMessage,\n fieldValidation,\n emailWorklistItemsMock,\n contextMenuItemsMock,\n highlightedEntitiesMock,\n mockUploadImage\n} from './Email.mocks';\nimport { StyledEmailCardContent } from './Email.styles';\n\nregisterIcon(filterIcon);\n\nexport default {\n title: 'Social/Email',\n component: EmailComponent\n} as Meta;\n\n// _______ .___ ___. ___ __ __\n// | ____|| \\/ | / \\ | | | |\n// | |__ | \\ / | / ^ \\ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | |\n// | |____ | | | | / _____ \\ | | | `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______|\n\ninterface EmailDemoProps {\n enableEntityHighlighting?: boolean;\n enableContextMenu?: boolean;\n forwardedContent?: string;\n}\n\nexport const Email: Story<EmailDemoProps> = (args: EmailDemoProps) => {\n const emailImperativeHandle: ContextMenuProps['handle'] = useRef(null);\n const timeout = useRef<number | null>(null);\n\n const handleRightClick = () => {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n emailImperativeHandle.current?.setContextMenuItems(contextMenuItemsMock);\n }, 1000);\n };\n\n return (\n <Card>\n <StyledEmailCardContent>\n <EmailComponent\n id={createUID()}\n timeStamp='2021-01-05T09:12'\n from={mockEmails['Laura Stevens']}\n cc={[mockEmails['Adam Gillchrist'], mockEmails['John Paul']]}\n bcc={[mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']]}\n to={[mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']]}\n body='<div>Hi,<br/><p>I am one of the customer of Indian Overseas Bank, <b><i>Nagercoil</i></b> branch, with code <b><a href=\"www.google.com\"><i>3967</i></a></b>. I have a saving bank account here. My account number is <i>6785420965476</i>.</p><br/><p>I have been given a debit cum ATM card from this bank and the same has been lost when I was traveling from Nagercoil to Trichy by Bus on Jan 04, 2021. I remember that my ATM card number was 1920 6746 8653 1256.</p><br/>I hereby request you to block my debit card immediately to prevent misuse of the same by some others. Also I request you to give me an new debit card as early as possible.<br/><br/>Regards,<br/>Laura Stevens</div>'\n forwardedContent={args.forwardedContent}\n entityHighlightMapping={\n args.enableEntityHighlighting ? highlightedEntitiesMock : undefined\n }\n subject='I lost my debit card'\n onReply={action('On reply')}\n onReplyAll={action('On reply all')}\n onForward={action('On forward')}\n onSuggestionClick={action('On Suggested reply clicked')}\n sentiment={{\n variant: 'neutral'\n }}\n actions={emailActions}\n suggestions={mockSuggestedReplies}\n contextMenu={\n args.enableContextMenu\n ? {\n onItemClick: action('onItemClick'),\n onContextMenu: handleRightClick,\n handle: emailImperativeHandle\n }\n : undefined\n }\n attachments={[\n {\n id: 'attachment_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'attachment_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })}\n />\n </StyledEmailCardContent>\n </Card>\n );\n};\n\nEmail.args = {\n enableEntityHighlighting: false,\n enableContextMenu: false,\n // eslint-disable-next-line demo-patterns/literal-args\n forwardedContent\n};\n\nEmail.argTypes = {\n enableEntityHighlighting: { control: { type: 'boolean' } },\n enableContextMenu: { control: { type: 'boolean' } },\n forwardedContent: { control: { type: 'text' } }\n};\n\n// ______ ______ .___ ___. .______ ______ _______. _______ .______\n// / | / __ \\ | \\/ | | _ \\ / __ \\ / || ____|| _ \\\n// | ,----'| | | | | \\ / | | |_) | | | | | | (----`| |__ | |_) |\n// | | | | | | | |\\/| | | ___/ | | | | \\ \\ | __| | /\n// | `----.| `--' | | | | | | | | `--' | .----) | | |____ | |\\ \\----.\n// \\______| \\______/ |__| |__| | _| \\______/ |_______/ |_______|| _| `._____|\n\nexport const Composer: Story = () => {\n const [composerProgress, setComposerProgress] = useState<EmailComposerProps['progress']>(false);\n const composerHandle = useRef<EmailComposerHandleValue>(null);\n\n const [data, setData] = useState<\n EmailComposerProps['data'] & { bodyContentCurrentValue: string }\n >({\n to: { value: toParticipants },\n cc: { value: [] },\n bcc: { value: [] },\n subject: { value: 'Request: Pause service' },\n bodyContent: {\n defaultValue: 'Hi, Hope you are doing well'\n },\n responseType: 'reply',\n selectedTemplateId: '',\n attachments: emailAttachments,\n bodyContentCurrentValue: ''\n });\n\n const handleOnChange = (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n if (field === 'bodyContent') {\n setData(prev => ({\n ...prev,\n bodyContentCurrentValue: value as string\n }));\n } else if (['responseType', 'attachments', 'selectedTemplateId'].includes(field)) {\n setData(prev => ({\n ...prev,\n [field]: value\n }));\n } else {\n // Clearing error message as soon as value changes\n setData(prev => {\n return {\n ...prev,\n [field]: { error: undefined, value }\n };\n });\n }\n action('onChange')(field, value);\n };\n\n useEffect(() => {\n if (data.responseType === 'reply') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev.cc,\n value: []\n },\n bcc: {\n ...prev.bcc,\n value: []\n }\n };\n });\n } else if (data.responseType === 'replyAll') {\n setData(prev => {\n return {\n ...prev,\n to: {\n ...prev.to,\n value: toParticipants\n },\n cc: {\n ...prev.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev.bcc,\n value: bccParticipants\n }\n };\n });\n }\n }, [data.responseType]);\n\n const onTemplateChange = (id: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === id);\n // Simulating api call\n setComposerProgress({ message: 'Loading template...' });\n setTimeout(() => {\n setComposerProgress(false);\n composerHandle.current?.replaceBodyContent(selectedTemplate?.content || '');\n }, 1000);\n };\n\n useEffect(() => {\n if (data.selectedTemplateId) onTemplateChange(data.selectedTemplateId);\n }, [data.selectedTemplateId]);\n\n const handleOnSend: EmailComposerProps['onSend'] = () => {\n setData(prev => {\n return {\n ...prev,\n to: {\n value: prev.to?.value || [],\n error:\n data?.to?.value.length === 0 ? emptyFieldErrorMessage : fieldValidation(data?.to?.value)\n },\n cc: {\n value: prev.cc?.value || [],\n error: data.cc === undefined ? undefined : fieldValidation(data.cc.value)\n },\n bcc: {\n value: prev.bcc?.value || [],\n error: data.bcc === undefined ? undefined : fieldValidation(data.bcc.value)\n },\n subject: {\n ...prev.subject,\n error: data.subject?.value === '' ? emptyFieldErrorMessage : undefined\n },\n bodyContent: {\n ...prev.bodyContent,\n error: data.bodyContentCurrentValue === '' ? emptyFieldErrorMessage : undefined\n }\n };\n });\n };\n\n const onImageAdded: EmailComposerProps['onImageAdded'] = (image: File, id: string) => {\n action('On Image added');\n setComposerProgress({ message: 'Uploading image' });\n // Simulate image upload\n mockUploadImage(image)\n .then(({ src, alt }) => {\n composerHandle.current?.updateImage({ src, alt }, id);\n setComposerProgress(false);\n })\n .catch(() => {\n setComposerProgress(false);\n });\n };\n\n return (\n <EmailComposer\n handle={composerHandle}\n progress={composerProgress}\n onSave={action('On save')}\n onSend={handleOnSend}\n onCancel={action('On cancel')}\n externalValidator={handleExternalEntry}\n participants={participants}\n onChange={handleOnChange}\n data={data}\n templates={templates}\n onImageAdded={onImageAdded}\n />\n );\n};\n\n// ______ ______ .__ __. ____ ____ _______ .______ _______. ___ .___________. __ ______ .__ __.\n// / | / __ \\ | \\ | | \\ \\ / / | ____|| _ \\ / | / \\ | || | / __ \\ | \\ | |\n// | ,----'| | | | | \\| | \\ \\/ / | |__ | |_) | | (----` / ^ \\ `---| |----`| | | | | | | \\| |\n// | | | | | | | . ` | \\ / | __| | / \\ \\ / /_\\ \\ | | | | | | | | | . ` |\n// | `----.| `--' | | |\\ | \\ / | |____ | |\\ \\----.----) | / _____ \\ | | | | | `--' | | |\\ |\n// \\______| \\______/ |__| \\__| \\__/ |_______|| _| `._____|_______/ /__/ \\__\\ |__| |__| \\______/ |__| \\__|\n\nexport const Conversation: Story = () => {\n const emailArr: EmailProps[] = [\n {\n id: 'item_0',\n timeStamp: '2021-01-05T09:12',\n from: mockEmails['Laura Stevens'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Sara Davis'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>Sure.. Here is your E-Ticket !! </div> <br /><br /> Regards, <br /> Laura Stevens </div>',\n unRead: true,\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n actions: emailActions,\n suggestions: mockSuggestedReplies\n },\n {\n id: 'item_1',\n timeStamp: '2021-01-02T03:12',\n from: mockEmails['Sara Davis'],\n cc: [mockEmails['Adam Gillchrist'], mockEmails['John Paul']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n to: [mockEmails['Laura Stevens'], mockEmails['John Brown'], mockEmails['Joe Stevens']],\n body: '<div> Hi, <br /> <br /> <div>I’m still at the airport, I need help now!! </div> <br /><br /> Regards, <br /> Sara Davis </div>',\n onReply: action('On reply'),\n onForward: action('On forward'),\n onSuggestionClick: action('On Suggested reply clicked'),\n actions: emailActions\n }\n ];\n\n return (\n <EmailConversation\n participants={generateEmailConversationParticipants(emailArr)}\n from={generateEmailConversationParticipants(emailArr, ['from'])[0]}\n to={generateEmailConversationParticipants(emailArr, ['to'])}\n id={createUID()}\n timeStamp={emailArr[0].timeStamp}\n unReadEmailCount={emailArr.filter(item => item.unRead).length}\n emails={emailArr}\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ _______ __ __\n// | ____|| \\/ | / \\ | | | | / || | | | | ____|| | | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| |__| | | |__ | | | |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | __ | | __| | | | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | | | | | |____ | `----.| `----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ |__| |__| |_______||_______||_______|\n\ninterface EmailShellDemoProps {\n autoCollapse?: boolean;\n hideSuggestions?: boolean;\n singleConversation?: boolean;\n}\n\nexport const EmailShellDemo: Story<EmailShellDemoProps> = (args: EmailShellDemoProps) => {\n const { create } = useContext(ModalManagerContext);\n const { push } = useContext(ToasterContext);\n const actions = ['Transfer', 'End conversation'].map(name => ({\n primary: name,\n id: name,\n onClick: action(`Clicked ${name}`)\n }));\n\n const [composersData, setComposersData] = useState<{\n [key: string]: EmailComposerProps & { bodyContentCurrentValue: string };\n }>({});\n const [conversationEmails, setConversationEmails] = useState<EmailProps[][]>([]);\n\n const handleResponseTypeChange = (uid: string, responseType: string) => {\n if (responseType === 'reply') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: [toParticipants[0]]\n },\n cc: {\n ...prev[uid].data.cc,\n value: []\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: []\n }\n }\n }\n };\n });\n } else if (responseType === 'replyAll') {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n data: {\n ...prev[uid].data,\n to: {\n ...prev[uid].data.to,\n value: toParticipants\n },\n cc: {\n ...prev[uid].data.cc,\n value: ccParticipants\n },\n bcc: {\n ...prev[uid].data.bcc,\n value: bccParticipants\n }\n }\n }\n };\n });\n }\n };\n\n const handleTemplateIdChange = (uid: string, templateId: string) => {\n const selectedTemplate = mockEmailBodyTemplates.find(template => template.id === templateId);\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: { message: 'Loading template...' }\n }\n };\n });\n\n // Simulating api call\n setTimeout(() => {\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: false\n }\n };\n });\n\n let currentData: { [key: string]: EmailComposerProps } = {};\n setComposersData(prev => {\n currentData = prev;\n return prev;\n });\n\n if (currentData) {\n (\n currentData[uid]?.handle as RefObject<EmailComposerHandleValue>\n )?.current?.replaceBodyContent(selectedTemplate?.content || '');\n }\n }, 1000);\n };\n\n const handleChange = (\n uid: string,\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => {\n setComposersData(prevData => {\n if (field === 'bodyContent') {\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n bodyContentCurrentValue: value as string\n }\n };\n }\n return {\n ...prevData,\n [uid]: {\n ...prevData[uid],\n data: {\n ...prevData[uid].data,\n [field]: ['responseType', 'attachments', 'selectedTemplateId'].includes(field)\n ? value\n : {\n error: undefined, // Clearing error on change\n value\n }\n }\n }\n };\n });\n\n if (field === 'responseType') {\n handleResponseTypeChange(uid, value as string);\n } else if (field === 'selectedTemplateId') {\n handleTemplateIdChange(uid, value as string);\n }\n };\n\n const MyModal: FunctionComponent<{ currentID: string }> = ({ currentID }) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n\n return (\n <Modal\n heading='Discard unsaved changes?'\n actions={\n <>\n <Flex>\n <Button\n onClick={() => {\n dismiss();\n setComposersData(prev => {\n return {\n ...prev,\n [currentID]: {\n ...prev[currentID],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[currentID];\n return newComposersData;\n });\n push({ content: 'Draft Saved' });\n }, 1000);\n }}\n >\n Save as draft\n </Button>\n\n <Button\n onClick={() => {\n dismiss();\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[currentID];\n return newComposersData;\n });\n }}\n >\n Discard\n </Button>\n </Flex>\n <Button\n variant='primary'\n onClick={() => {\n dismiss();\n }}\n >\n Cancel\n </Button>\n </>\n }\n center\n >\n <Text variant='primary'>\n You have unsaved changes. You can discard them or go back to keep working.\n </Text>\n </Modal>\n );\n };\n\n const handleCancel = (uid: string) => {\n create(MyModal, { currentID: uid }, { alert: true });\n };\n\n const handleSend = (uid: string) => {\n action('Send')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n push({ content: 'Email Send' });\n }, 1000);\n };\n\n const handleSave = (uid: string) => {\n action('Save')();\n setComposersData(prev => {\n return {\n ...prev,\n [uid]: {\n ...prev[uid],\n progress: true\n }\n };\n });\n setTimeout(() => {\n setComposersData(prev => {\n const newComposersData = { ...prev };\n delete newComposersData[uid];\n return newComposersData;\n });\n push({ content: 'Draft Saved' });\n }, 1000);\n };\n\n const createOrActivateComposer = (\n id: EmailProps['id'],\n launchAction: LaunchAction,\n composerProps: EmailComposerProps\n ) => {\n const uid = getCompositeId(id, launchAction);\n if (composersData[uid]) {\n // Activate the existing composer\n (composersData[uid].handle as RefObject<EmailComposerHandleValue>)?.current?.activate();\n } else {\n // Create new composer\n setComposersData(prev => {\n const composerHandle = createRef<EmailComposerHandleValue>();\n return {\n ...prev,\n [uid]: {\n ...composerProps,\n bodyContentCurrentValue: composerProps.data.bodyContent.defaultValue,\n handle: composerHandle,\n onChange: (\n field: EmailComposerFieldType,\n value: EmailComposerValueType<EmailComposerFieldType>\n ) => handleChange(uid, field, value),\n onCancel: () => handleCancel(uid),\n onSend: () => handleSend(uid),\n onSave: () => handleSave(uid)\n }\n };\n });\n }\n };\n\n const emailsData: EmailProps[] = [\n {\n id: 'item0',\n timeStamp: '2021-01-05T09:12',\n from: participants[0],\n to: participants.slice(0, 2),\n body: '<div>Hi, <br /> <br /><div>Your address change request is approved.</div> <br /> <br />Regards, <br />Laura Stevens </div>',\n unRead: true,\n subject: 'Pause service',\n suggestions: args.hideSuggestions ? undefined : mockSuggestedReplies,\n attachments: [\n {\n id: 'item_1_0',\n value: 'https://pega.com/media/document.doc',\n displayText: 'Policy document'\n },\n {\n id: 'item_1_1',\n value: 'https://pbs.twimg.com/media/ENNN5PAXkAE-hag.jpg',\n displayText: 'E-Ticket'\n }\n ].map(attachment => {\n return {\n ...attachment,\n onDownload: action('On attachment download'),\n onPreview: action('On attachment preview')\n };\n })\n },\n {\n id: 'item1',\n timeStamp: '2021-01-02T03:12',\n from: participants[3],\n to: participants.slice(2, 4),\n body: emailBodyContent,\n unRead: true,\n subject: 'Pause service'\n }\n ].map(emailData => {\n const emailActionItems = emailDemoActions(\n emailData.id,\n emailData.subject,\n createOrActivateComposer,\n false,\n emailData.body\n );\n return {\n ...emailData,\n onReply: (id: EmailProps['id']) => {\n createOrActivateComposer(id, LaunchAction.REPLY, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: `Re-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onForward: id => {\n createOrActivateComposer(id, LaunchAction.FORWARD, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'forward',\n subject: { value: `Fw-${emailData.subject}` || '' }\n },\n externalValidator: handleExternalEntry\n });\n },\n onSuggestionClick: (id, suggestionId) => {\n const suggestion = emailData.suggestions?.find(item => item.id === suggestionId);\n createOrActivateComposer(id, LaunchAction.SUGGESTION, {\n ...baseComposerProps,\n data: {\n ...baseComposerProps.data,\n responseType: 'reply',\n subject: { value: suggestion?.title || '' },\n bodyContent: { defaultValue: suggestion ? suggestion.content : '' },\n selectedTemplateId: suggestion?.id\n },\n externalValidator: handleExternalEntry\n });\n },\n actions: emailActionItems,\n tags: args.hideSuggestions\n ? undefined\n : {\n items: ['Pause service', 'Lost or stolen'],\n label: 'Associated service cases',\n onRemove: action('On Associated service case remove'),\n dismissable: true\n }\n };\n });\n\n const deleteEmail = (id: EmailProps['id']) => {\n setConversationEmails(prev => {\n const newEmailConversation: EmailProps[][] = [];\n\n prev.forEach(arr => {\n const newArr = arr.filter(index => index.id !== id);\n if (newArr.length !== 0) newEmailConversation.push(newArr);\n });\n return newEmailConversation;\n });\n };\n\n useEffect(() => {\n setConversationEmails([\n [{ ...emailsData[0] }, { ...emailsData[1], status: 'undelivered' }],\n [\n {\n ...emailsData[0],\n id: 'item2',\n status: 'draft',\n unRead: false,\n actions: emailDemoActions(\n 'item2',\n emailsData[0].subject,\n createOrActivateComposer,\n true,\n '<div>Hi, <br /> <br /><div>Sure, Our executive will come and check your connection in 24hrs. </div> <br />Regards, <br />Hugh Phillips </div>',\n deleteEmail\n ),\n timeStamp: '2021-01-03T17:15',\n from: mockEmails['Hugh Phillips'],\n to: [mockEmails['Mystery Rey'], ...emailsData[0].to],\n cc: [mockEmails['Adam Gillchrist']],\n bcc: [mockEmails['Anton, Randy'], mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will come and check your connection in 24hrs. </div> <br />Regards, <br />Hugh Phillips </div>'\n },\n {\n ...emailsData[1],\n id: 'item3',\n status: 'draft',\n actions: emailDemoActions(\n 'item3',\n emailsData[0].subject,\n createOrActivateComposer,\n true,\n '<div>Hi, <br /> <br /><div>Can you fix my internet connection. </div> <br /> <br />Regards, <br />Rey Mystery </div>',\n deleteEmail\n ),\n unRead: false,\n timeStamp: '2021-01-02T14:16',\n from: mockEmails['Mystery Rey'],\n to: [mockEmails['Hugh Phillips']],\n body: '<div>Hi, <br /> <br /><div>Can you fix my internet connection. </div> <br /> <br />Regards, <br />Rey Mystery </div>'\n }\n ],\n [\n {\n ...emailsData[0],\n id: 'item4',\n unRead: true,\n timeStamp: '2020-12-05T18:18',\n from: mockEmails['Laura Stevens'],\n to: [mockEmails['Sara Davis']],\n body: '<div>Hi, <br /> <br /><div>Sure, Our executive will call you shortly. </div> <br /> <br />Regards, <br />Laura Stevens </div>',\n sentiment: {\n variant: 'positive'\n }\n },\n {\n ...emailsData[1],\n id: 'item5',\n unRead: true,\n timeStamp: '2021-01-04T08:30',\n from: mockEmails['Sara Davis'],\n to: [mockEmails['Laura Stevens']],\n body: '<div>Hi, <br /> <br /><div>Can you show please explain your new mobile plans. </div> <br /> <br />Regards, <br />Sara Davis </div>'\n }\n ]\n ]);\n }, []);\n\n const emailConversations: EmailConversationProps[] = (conversationEmails as EmailProps[][]).map(\n (emails, i) => {\n return {\n from: generateEmailConversationParticipants(emails, ['from'])[0],\n to: emails[0].to,\n id: `item_${i}`,\n timeStamp: emails[0].timeStamp,\n unReadEmailCount: emails.filter(item => item.unRead).length,\n emails,\n sentiment: emails[0].sentiment,\n isForwarded: i !== 2,\n isCollapsed: i !== 0,\n drafts: i === 1,\n undelivered: i === 0\n } as EmailConversationProps;\n }\n );\n\n const singleEmailConversation: EmailConversationProps[] = [\n {\n from: generateEmailConversationParticipants(emailsData, ['from'])[0],\n to: generateEmailConversationParticipants(emailsData, ['to']),\n id: 'item_0',\n timeStamp: new Date(emailsData[0].timeStamp),\n unReadEmailCount: emailsData.filter(item => item.unRead).length,\n emails: [{ ...emailsData[0], status: 'undelivered' }, { ...emailsData[1] }]\n }\n ];\n\n return (\n <>\n <EmailShell\n headerProps={{\n actions: (\n <Flex\n container={{\n alignItems: 'center',\n gap: 0\n }}\n >\n <Button variant='simple' icon>\n <Icon name='filter' />\n </Button>\n <MenuButton\n variant='simple'\n text='More actions'\n icon='more'\n iconOnly\n portal\n menu={{ items: actions }}\n />\n </Flex>\n ),\n subject: 'Pause service'\n }}\n autoCollapse={args.autoCollapse}\n conversations={args.singleConversation ? singleEmailConversation : emailConversations}\n />\n <>\n {Object.keys(composersData).map(guid => {\n return <EmailComposer key={guid} {...composersData[guid]} />;\n })}\n </>\n </>\n );\n};\n\nEmailShellDemo.args = {\n autoCollapse: true,\n hideSuggestions: false,\n singleConversation: true\n};\n\nEmailShellDemo.argTypes = {\n autoCollapse: { control: { type: 'boolean' } },\n hideSuggestions: { control: { type: 'boolean' } },\n singleConversation: { control: { type: 'boolean' } }\n};\n\n// _______ .__ __. .___________. __ .___________.____ ____ __ __ _______.___________.\n// | ____|| \\ | | | || | | |\\ \\ / / | | | | / | |\n// | |__ | \\| | `---| |----`| | `---| |----` \\ \\/ / | | | | | (----`---| |----`\n// | __| | . ` | | | | | | | \\_ _/ | | | | \\ \\ | |\n// | |____ | |\\ | | | | | | | | | | `----.| | .----) | | |\n// |_______||__| \\__| |__| |__| |__| |__| |_______||__| |_______/ |__|\n\ninterface EntityListDemoProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EntityListDemo: Story<EntityListDemoProps> = (args: EntityListDemoProps) => {\n const itemCounter = useRef(3);\n const timeout = useRef<number | null>(null);\n const imperativeHandle: ContextMenuProps['handle'] = useRef(null);\n const headerProps: EntityListProps['header'] = {\n icon: 'list-number',\n text: 'Entities'\n };\n\n const handleRightClick = () => {\n itemCounter.current += 1;\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = window.setTimeout(() => {\n imperativeHandle.current?.setContextMenuItems(contextMenuItemsMock);\n }, 1000);\n };\n\n return (\n <EntityList\n header={headerProps}\n content={EntityListMockData}\n contextMenu={\n args.enableContextMenu\n ? {\n onItemClick: action('onItemClick'),\n onContextMenu: args.onContextMenu || handleRightClick,\n handle: imperativeHandle\n }\n : undefined\n }\n />\n );\n};\n\nEntityListDemo.args = {\n enableContextMenu: true\n};\n\nEntityListDemo.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ .___________. _______ .___ ___.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | || ____|| \\/ |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | `---| |----`| |__ | \\ / |\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | | __| | |\\/| |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | | | | | |____ | | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |__| |__| |_______||__| |__|\n\ninterface EmailSummaryItemDemoProps {\n unreadEmailCount?: number;\n isActive?: boolean;\n}\n\nexport const EmailSummaryItemDemo: Story<EmailSummaryItemDemoProps> = (\n args: EmailSummaryItemDemoProps\n) => {\n return (\n <EmailSummaryItem\n id={createUID()}\n activeParticipants={[\n {\n shortName: 'Robert',\n fullName: 'Robert Downer',\n emailAddress: 'robert.downey@example.com'\n },\n {\n shortName: 'Nathan',\n fullName: 'Nathan Swanson',\n emailAddress: 'nathan.swanson@example.com'\n }\n ]}\n message='I have a quick question on traveling to India. How do I reach Hyderabad?'\n timeStamp={new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), 24))}\n topic='Missing Luggage'\n sentiment={sentiment}\n urgency={10}\n unreadEmailCount={args.unreadEmailCount}\n active={args.isActive}\n onSelect={(id: EmailSummaryItemProps['id']) => {\n action('onSelect')(id);\n }}\n />\n );\n};\n\nEmailSummaryItemDemo.args = {\n unreadEmailCount: 0,\n isActive: false\n};\n\nEmailSummaryItemDemo.argTypes = {\n unreadEmailCount: { control: { type: 'number' } },\n isActive: { control: { type: 'boolean' } }\n};\n\n// _______ .___ ___. ___ __ __ _______. __ __ .___ ___. .___ ___. ___ .______ ____ ____ __ __ _______.___________.\n// | ____|| \\/ | / \\ | | | | / || | | | | \\/ | | \\/ | / \\ | _ \\ \\ \\ / / | | | | / | |\n// | |__ | \\ / | / ^ \\ | | | | | (----`| | | | | \\ / | | \\ / | / ^ \\ | |_) | \\ \\/ / | | | | | (----`---| |----`\n// | __| | |\\/| | / /_\\ \\ | | | | \\ \\ | | | | | |\\/| | | |\\/| | / /_\\ \\ | / \\_ _/ | | | | \\ \\ | |\n// | |____ | | | | / _____ \\ | | | `----. .----) | | `--' | | | | | | | | | / _____ \\ | |\\ \\----. | | | `----.| | .----) | | |\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |_______/ \\______/ |__| |__| |__| |__| /__/ \\__\\ | _| `._____| |__| |_______||__| |_______/ |__|\n\ninterface EmailSummaryListStoryProps {\n onItemClick?: EmailSummaryListProps['onItemClick'];\n items?: EmailSummaryListProps['items'];\n onLoadMore?: EmailSummaryListProps['onLoadMore'];\n loading?: EmailSummaryListProps['loading'];\n}\n\nexport const EmailSummaryListDemo: Story<EmailSummaryListStoryProps> = (\n args: EmailSummaryListStoryProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const emailSummaryListRef = useRef(null);\n const [allEmailItems, setAllEmailItems] = useState(\n emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE)\n );\n const [categories, setCategories] = useState<MenuProps['items']>(emailWorklistItemsMock);\n\n const handleItemClick = (id: string) => {\n const index = allEmailItems.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailItems = [...allEmailItems];\n newEmailItems.splice(index, 1, { ...allEmailItems[index], unreadEmailCount: 0 });\n\n setAllEmailItems(newEmailItems);\n };\n\n const onCategoryClick: MenuItemProps['onClick'] = (id: MenuItemProps['id']) => {\n setCategories(cur => menuHelpers.toggleSelected(cur, id, 'single-select'));\n };\n\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setAllEmailItems(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n return (\n <EmailSummaryList\n ref={emailSummaryListRef}\n unreadEmailCount={99}\n categories={categories}\n items={args.items || allEmailItems}\n onItemClick={args.onItemClick || handleItemClick}\n onCategoryClick={onCategoryClick}\n onLoadMore={args.onLoadMore || (hasMore ? loadMore : undefined)}\n loading={args.loading || loading}\n emptyMessage='No emails.'\n />\n );\n};\n\n// _______ .___ ___. ___ __ __ .___ ___. ___ .__ __. ___ _______ _______ .______\n// | ____|| \\/ | / \\ | | | | | \\/ | / \\ | \\ | | / \\ / _____|| ____|| _ \\\n// | |__ | \\ / | / ^ \\ | | | | | \\ / | / ^ \\ | \\| | / ^ \\ | | __ | |__ | |_) |\n// | __| | |\\/| | / /_\\ \\ | | | | | |\\/| | / /_\\ \\ | . ` | / /_\\ \\ | | |_ | | __| | /\n// | |____ | | | | / _____ \\ | | | `----. | | | | / _____ \\ | |\\ | / _____ \\ | |__| | | |____ | |\\ \\----.\n// |_______||__| |__| /__/ \\__\\ |__| |_______| |__| |__| /__/ \\__\\ |__| \\__| /__/ \\__\\ \\______| |_______|| _| `._____|\n\ninterface EmailManagerAppShellProps {\n enableContextMenu?: boolean;\n onContextMenu?: (e: MouseEvent) => void;\n}\n\nexport const EmailManagerAppShell: Story<EmailManagerAppShellProps> = (\n args: EmailManagerAppShellProps\n) => {\n const INITIAL_CHUNK_SIZE = 9;\n const APPEND_CHUNK_SIZE = 1;\n\n const [activeItemId, setActiveItemId] = useState<string | undefined>();\n const [emailList, setEmailList] = useState(emailSummaryItems.slice(0, INITIAL_CHUNK_SIZE));\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const handleEmailItemClick = (id: EmailSummaryItemProps['id']) => {\n setActiveItemId(id);\n\n const index = emailList.findIndex(emailItem => {\n return emailItem.id === id;\n });\n\n const newEmailList = [...emailList];\n newEmailList.splice(index, 1, { ...emailList[index], unreadEmailCount: 0 });\n\n setEmailList(newEmailList);\n };\n\n const onLoadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n\n setTimeout(() => {\n setLoading(false);\n setEmailList(prevItems => {\n const previousItemsLength = prevItems.length;\n const newItems = emailSummaryItems.slice(\n previousItemsLength,\n previousItemsLength + APPEND_CHUNK_SIZE\n );\n\n if (newItems.length === 0) {\n setHasMore(false);\n }\n\n return [...prevItems, ...newItems];\n });\n }, 1500);\n }\n }, [loading]);\n\n const activeItemIndex = useMemo(\n () => emailList.findIndex(emailItem => emailItem.id === activeItemId),\n [activeItemId, emailList]\n );\n\n const content =\n activeItemId === undefined ? (\n <EmptyState message='No item selected!' />\n ) : (\n <EmailShellDemo singleConversation={activeItemIndex % 2 !== 0} />\n );\n\n const utilities =\n activeItemId === undefined ? null : (\n // View analysis utility\n <Grid container={{ rowGap: 2 }}>\n <EntityListDemo\n onContextMenu={args.onContextMenu}\n enableContextMenu={args.enableContextMenu}\n />\n <Card>\n <CardHeader container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='document-doc' />\n <Text variant='h3'>Email header</Text>\n </CardHeader>\n <CardContent>\n <FieldValueList fields={viewAnalysisEmailHeaderMock} variant='stacked' />\n </CardContent>\n </Card>\n <SummaryList\n name='Topics'\n icon='headline'\n items={topicListMock.map(items => ({\n ...items,\n primary: <StyledLabel>{items.primary}</StyledLabel>,\n secondary: (\n <Flex container={{ direction: 'row', justify: 'between' }}>\n <Text variant='primary'>{items.secondary.indicator}</Text>\n <StyledLabel>{items.secondary.value}</StyledLabel>\n </Flex>\n )\n }))}\n noItemsText='No items'\n />\n </Grid>\n );\n\n return (\n <AppShellDemo\n appHeader\n main={\n <EmailManager\n header={{\n icon: 'mail',\n title: 'Inbox'\n }}\n list={\n <EmailSummaryListDemo\n onItemClick={handleEmailItemClick}\n items={emailList}\n onLoadMore={hasMore ? onLoadMore : undefined}\n loading={loading}\n />\n }\n content={content}\n utilities={utilities}\n utilitiesSummaryItems={\n utilities\n ? [\n { iconName: 'list-number', count: 7 },\n { iconName: 'document-doc', count: 1 },\n { iconName: 'headline', count: 4 }\n ]\n : undefined\n }\n defaultCollapsedUtilities={!!utilities}\n />\n }\n />\n );\n};\n\nEmailManagerAppShell.args = {\n enableContextMenu: true\n};\n\nEmailManagerAppShell.argTypes = {\n enableContextMenu: { control: { type: 'boolean' } }\n};\nEmailManagerAppShell.parameters = {\n layout: 'fullscreen'\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import { ContentProps } from '@pega/cosmos-react-tools';
2
+ import { StandardTreeProps } from '@pega/cosmos-react-core';
3
+ export declare const getDetailsData: (id: string, cb?: (id: string) => void) => ContentProps;
4
+ export declare const allNodes: StandardTreeProps['nodes'];
5
+ export declare const childNodes: StandardTreeProps['nodes'];
6
+ //# sourceMappingURL=Clipboard.mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Clipboard.mocks.d.ts","sourceRoot":"","sources":["../../../src/tools/Clipboard/Clipboard.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAyB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGnF,eAAO,MAAM,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,KAAK,YAgDvE,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAsB/C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAajD,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { Actions, Button, Flex } from '@pega/cosmos-react-core';
2
+ export const getDetailsData = (id, cb) => {
3
+ const primaryData = [
4
+ { id: 'field1', name: 'pxCommitDateTime', value: '20220303T121437.913 GMT' },
5
+ { id: 'field2', name: 'pxInsName', value: 'John.smith' },
6
+ { id: 'field3', name: 'pxObjClass', value: 'Data-Preference-Operator' },
7
+ { id: 'field4', name: 'pzInsKey', value: 'DATA-PREFERENCE-OPERATOR JOHN SMITH' }
8
+ ];
9
+ const embeddedData = [
10
+ { id: 'pxDPParameters', name: 'pxDPParameters', onClick: cb },
11
+ { id: 'pyDevicePreviewSettings', name: 'pyDevicePreviewSettings', onClick: cb },
12
+ { id: 'pySourcePage', name: 'pySourcePage', onClick: cb }
13
+ ];
14
+ let data;
15
+ if (id === 'D_pzPreferenceStore') {
16
+ data = [...primaryData, ...embeddedData];
17
+ }
18
+ else
19
+ data = primaryData;
20
+ return {
21
+ primary: id,
22
+ secondary: [
23
+ { id: '1', name: 'ID', value: 'InterestRate' },
24
+ { id: '2', name: 'Rule type', value: 'Field' },
25
+ {
26
+ id: '3',
27
+ name: 'Scope',
28
+ value: 'O1XPTI-CCompass-Work-MortgageRequest'
29
+ },
30
+ { id: '4', name: 'Application', value: 'XCompass' }
31
+ ],
32
+ actions: (<Flex container>
33
+ <Button variant='secondary'>Secondary action</Button>
34
+ <Button variant='primary'>Primary action</Button>
35
+ <Actions menuAt={1} items={[
36
+ {
37
+ id: '1',
38
+ text: 'Secondary action 2'
39
+ }
40
+ ]}/>
41
+ </Flex>),
42
+ fields: data
43
+ };
44
+ };
45
+ export const allNodes = [
46
+ {
47
+ id: 'dataPage',
48
+ label: 'Data Pages',
49
+ nodes: [
50
+ {
51
+ id: 'D_pzPreferenceStore',
52
+ label: 'D_pzPreferenceStore',
53
+ nodes: []
54
+ },
55
+ {
56
+ id: 'D_creditScore',
57
+ label: 'D_Credit Score',
58
+ nodes: []
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ id: 'systemPage',
64
+ label: 'System Pages',
65
+ nodes: []
66
+ }
67
+ ];
68
+ export const childNodes = [
69
+ {
70
+ id: 'pxDPParameters',
71
+ label: 'pxDPParameters'
72
+ },
73
+ {
74
+ id: 'pyDevicePreviewSettings',
75
+ label: 'pyDevicePreviewSettings'
76
+ },
77
+ {
78
+ id: 'pySourcePage',
79
+ label: 'pySourcePage'
80
+ }
81
+ ];
82
+ //# sourceMappingURL=Clipboard.mocks.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Clipboard.mocks.jsx","sourceRoot":"","sources":["../../../src/tools/Clipboard/Clipboard.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ContentProps } from '@pega/cosmos-react-tools';\nimport { Actions, Button, Flex, StandardTreeProps } from '@pega/cosmos-react-core';\n\n// cSpell:words XPTI\nexport const getDetailsData: (id: string, cb?: (id: string) => void) => ContentProps = (id, cb) => {\n const primaryData = [\n { id: 'field1', name: 'pxCommitDateTime', value: '20220303T121437.913 GMT' },\n { id: 'field2', name: 'pxInsName', value: 'John.smith' },\n { id: 'field3', name: 'pxObjClass', value: 'Data-Preference-Operator' },\n { id: 'field4', name: 'pzInsKey', value: 'DATA-PREFERENCE-OPERATOR JOHN SMITH' }\n ];\n\n const embeddedData = [\n { id: 'pxDPParameters', name: 'pxDPParameters', onClick: cb },\n { id: 'pyDevicePreviewSettings', name: 'pyDevicePreviewSettings', onClick: cb },\n { id: 'pySourcePage', name: 'pySourcePage', onClick: cb }\n ];\n\n let data;\n if (id === 'D_pzPreferenceStore') {\n data = [...primaryData, ...embeddedData];\n } else data = primaryData;\n\n return {\n primary: id,\n secondary: [\n { id: '1', name: 'ID', value: 'InterestRate' },\n { id: '2', name: 'Rule type', value: 'Field' },\n {\n id: '3',\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n },\n { id: '4', name: 'Application', value: 'XCompass' }\n ],\n actions: (\n <Flex container>\n <Button variant='secondary'>Secondary action</Button>\n <Button variant='primary'>Primary action</Button>\n <Actions\n menuAt={1}\n items={[\n {\n id: '1',\n text: 'Secondary action 2'\n }\n ]}\n />\n </Flex>\n ),\n fields: data\n };\n};\n\nexport const allNodes: StandardTreeProps['nodes'] = [\n {\n id: 'dataPage',\n label: 'Data Pages',\n nodes: [\n {\n id: 'D_pzPreferenceStore',\n label: 'D_pzPreferenceStore',\n nodes: []\n },\n {\n id: 'D_creditScore',\n label: 'D_Credit Score',\n nodes: []\n }\n ]\n },\n {\n id: 'systemPage',\n label: 'System Pages',\n nodes: []\n }\n];\n\nexport const childNodes: StandardTreeProps['nodes'] = [\n {\n id: 'pxDPParameters',\n label: 'pxDPParameters'\n },\n {\n id: 'pyDevicePreviewSettings',\n label: 'pyDevicePreviewSettings'\n },\n {\n id: 'pySourcePage',\n label: 'pySourcePage'\n }\n];\n"]}
@@ -0,0 +1,6 @@
1
+ import { Story, Meta } from '@storybook/react';
2
+ import { ClipboardProps } from '@pega/cosmos-react-tools';
3
+ declare const _default: Meta<import("@storybook/react").Args>;
4
+ export default _default;
5
+ export declare const ClipboardViewerDemo: Story<ClipboardProps>;
6
+ //# sourceMappingURL=Clipboard.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Clipboard.stories.d.ts","sourceRoot":"","sources":["../../../src/tools/Clipboard/Clipboard.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAa,cAAc,EAAgB,MAAM,0BAA0B,CAAC;;AAMnF,wBAMU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,cAAc,CAsErD,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { useState } from 'react';
2
+ import { Clipboard } from '@pega/cosmos-react-tools';
3
+ import { treeHelpers } from '@pega/cosmos-react-core';
4
+ import { allNodes, childNodes, getDetailsData } from './Clipboard.mocks';
5
+ export default {
6
+ title: 'Tools/Clipboard',
7
+ component: Clipboard,
8
+ parameters: {
9
+ layout: 'fullscreen'
10
+ }
11
+ };
12
+ export const ClipboardViewerDemo = () => {
13
+ const [nodes, setNodes] = useState(allNodes);
14
+ const [currentNodeId, setCurrentNodeId] = useState(allNodes[0].id);
15
+ const [pageDetails, setPageDetails] = useState();
16
+ const updatePageDetails = (id, cb) => {
17
+ setPageDetails({ primary: '', fields: [], loading: true });
18
+ setTimeout(() => {
19
+ setPageDetails(getDetailsData(id, cb));
20
+ }, 300);
21
+ };
22
+ const getMappedNodes = (tree, id) => {
23
+ return treeHelpers.mapNode(tree, id, node => {
24
+ return {
25
+ ...node,
26
+ expanded: !node.expanded,
27
+ loading: node.nodes?.length === 0
28
+ };
29
+ });
30
+ };
31
+ const updateNodeDetails = (id) => {
32
+ setCurrentNodeId(id);
33
+ setNodes(tree => treeHelpers.expandTo(getMappedNodes(tree, id), id));
34
+ updatePageDetails(id);
35
+ };
36
+ const loadChildNodes = (id) => {
37
+ setTimeout(() => {
38
+ setNodes(tree => treeHelpers.mapNode(tree, id, node => {
39
+ return {
40
+ ...node,
41
+ loading: false,
42
+ nodes: id === 'D_creditScore' || id === 'systemPage' ? undefined : childNodes
43
+ };
44
+ }));
45
+ if (id !== 'systemPage') {
46
+ updatePageDetails(id, updateNodeDetails);
47
+ }
48
+ }, 1000);
49
+ };
50
+ const onNodeClick = (nodeId) => {
51
+ setCurrentNodeId(nodeId);
52
+ if (!treeHelpers.getNode(allNodes, nodeId)?.nodes) {
53
+ updatePageDetails(nodeId);
54
+ }
55
+ else {
56
+ setNodes(tree => getMappedNodes(tree, nodeId));
57
+ return ['D_creditScore', 'D_pzPreferenceStore', 'systemPage'].includes(nodeId)
58
+ ? loadChildNodes(nodeId)
59
+ : setPageDetails(undefined);
60
+ }
61
+ };
62
+ return (<Clipboard navigation={{
63
+ nodes,
64
+ currentNodeId,
65
+ onNodeClick
66
+ }} content={pageDetails} lastUpdated='Last updated: Less than a minute ago'/>);
67
+ };
68
+ //# sourceMappingURL=Clipboard.stories.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Clipboard.stories.jsx","sourceRoot":"","sources":["../../../src/tools/Clipboard/Clipboard.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Story, Meta } from '@storybook/react';\nimport { useState } from 'react';\n\nimport { Clipboard, ClipboardProps, ContentProps } from '@pega/cosmos-react-tools';\nimport { treeHelpers } from '@pega/cosmos-react-core';\nimport { StandardTreeNode } from '@pega/cosmos-react-core/lib/components/Tree/StandardTree.types';\n\nimport { allNodes, childNodes, getDetailsData } from './Clipboard.mocks';\n\nexport default {\n title: 'Tools/Clipboard',\n component: Clipboard,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport const ClipboardViewerDemo: Story<ClipboardProps> = () => {\n const [nodes, setNodes] = useState(allNodes);\n const [currentNodeId, setCurrentNodeId] = useState(allNodes[0].id);\n const [pageDetails, setPageDetails] = useState<ContentProps | undefined>();\n\n const updatePageDetails = (id: string, cb?: (id: string) => void) => {\n setPageDetails({ primary: '', fields: [], loading: true });\n setTimeout(() => {\n setPageDetails(getDetailsData(id, cb));\n }, 300);\n };\n\n const getMappedNodes = (tree: StandardTreeNode[], id: string) => {\n return treeHelpers.mapNode(tree, id, node => {\n return {\n ...node,\n expanded: !node.expanded,\n loading: node.nodes?.length === 0\n };\n });\n };\n\n const updateNodeDetails = (id: string) => {\n setCurrentNodeId(id);\n setNodes(tree => treeHelpers.expandTo(getMappedNodes(tree, id), id));\n updatePageDetails(id);\n };\n\n const loadChildNodes = (id: string) => {\n setTimeout(() => {\n setNodes(tree =>\n treeHelpers.mapNode(tree, id, node => {\n return {\n ...node,\n loading: false,\n nodes: id === 'D_creditScore' || id === 'systemPage' ? undefined : childNodes\n };\n })\n );\n if (id !== 'systemPage') {\n updatePageDetails(id, updateNodeDetails);\n }\n }, 1000);\n };\n\n const onNodeClick = (nodeId: string) => {\n setCurrentNodeId(nodeId);\n\n if (!treeHelpers.getNode(allNodes, nodeId)?.nodes) {\n updatePageDetails(nodeId);\n } else {\n setNodes(tree => getMappedNodes(tree, nodeId));\n\n return ['D_creditScore', 'D_pzPreferenceStore', 'systemPage'].includes(nodeId)\n ? loadChildNodes(nodeId)\n : setPageDetails(undefined);\n }\n };\n\n return (\n <Clipboard\n navigation={{\n nodes,\n currentNodeId,\n onNodeClick\n }}\n content={pageDetails}\n lastUpdated='Last updated: Less than a minute ago'\n />\n );\n};\n"]}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { MenuProps } from '@pega/cosmos-react-core';
3
+ export declare const footerTabsMockContent: JSX.Element[];
4
+ export declare const footerTabsMock: {
5
+ name: string;
6
+ id: string;
7
+ }[];
8
+ export declare const footerMenuMock: MenuProps['items'];
9
+ //# sourceMappingURL=PreviewShell.mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewShell.mocks.d.ts","sourceRoot":"","sources":["../../../src/tools/PreviewShell/PreviewShell.mocks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOpD,eAAO,MAAM,qBAAqB,eAKjC,CAAC;AAEF,eAAO,MAAM,cAAc;;;GAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,OAAO,CA2C7C,CAAC"}