@pega/cosmos-react-demos 3.0.0-dev.13.0 → 3.0.0-dev.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/jsx/build/AppHeader/AppHeader.stories.d.ts +1 -1
  2. package/jsx/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  3. package/jsx/build/AppHeader/AppHeader.stories.jsx +102 -80
  4. package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
  5. package/jsx/build/FlowModeller/AddNodeUtils.mocks.d.ts +4 -4
  6. package/jsx/build/FlowModeller/AddNodeUtils.mocks.d.ts.map +1 -1
  7. package/jsx/build/FlowModeller/AddNodeUtils.mocks.js.map +1 -1
  8. package/jsx/build/FlowModeller/FlowModeller.mocks.d.ts +1 -1
  9. package/jsx/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
  10. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx +23 -7
  11. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx.map +1 -1
  12. package/jsx/build/FlowModeller/FlowModeller.stories.d.ts.map +1 -1
  13. package/jsx/build/FlowModeller/FlowModeller.stories.jsx +54 -21
  14. package/jsx/build/FlowModeller/FlowModeller.stories.jsx.map +1 -1
  15. package/jsx/build/LifeCycle/LifeCycle.mocks.d.ts.map +1 -1
  16. package/jsx/build/LifeCycle/LifeCycle.mocks.js +40 -0
  17. package/jsx/build/LifeCycle/LifeCycle.mocks.js.map +1 -1
  18. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  19. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +91 -42
  20. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
  21. package/jsx/build/Workbench/Workbench.stories.jsx +1 -1
  22. package/jsx/build/Workbench/Workbench.stories.jsx.map +1 -1
  23. package/jsx/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
  24. package/jsx/condition-builder/ConditionBuilder/props.mock.js +91 -57
  25. package/jsx/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  26. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  27. package/jsx/core/Currency/Currency.stories.jsx +9 -3
  28. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  29. package/jsx/core/Dialog/Dialog.stories.d.ts +6 -0
  30. package/jsx/core/Dialog/Dialog.stories.d.ts.map +1 -0
  31. package/jsx/core/Dialog/Dialog.stories.jsx +79 -0
  32. package/jsx/core/Dialog/Dialog.stories.jsx.map +1 -0
  33. package/jsx/core/Lightbox/Lightbox.stories.jsx +1 -1
  34. package/jsx/core/Lightbox/Lightbox.stories.jsx.map +1 -1
  35. package/jsx/core/ListToolbar/ListToolbar.stories.jsx +1 -1
  36. package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
  37. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts +2 -0
  38. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts.map +1 -1
  39. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx +8 -4
  40. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx.map +1 -1
  41. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.d.ts +4 -0
  42. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.d.ts.map +1 -1
  43. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.js +126 -0
  44. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.js.map +1 -1
  45. package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts +5 -2
  46. package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  47. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +42 -9
  48. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
  49. package/jsx/rte/Editor/Editor.stories.d.ts.map +1 -1
  50. package/jsx/rte/Editor/Editor.stories.jsx +1 -1
  51. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  52. package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  53. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +1 -1
  54. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
  55. package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
  56. package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx +1 -1
  57. package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx.map +1 -1
  58. package/jsx/social/Email/Email.mocks.d.ts +10 -20
  59. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  60. package/jsx/social/Email/Email.mocks.jsx +70 -34
  61. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  62. package/jsx/social/Email/Email.stories.d.ts +23 -4
  63. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  64. package/jsx/social/Email/Email.stories.jsx +497 -75
  65. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  66. package/jsx/social/Feed/Feed.mocks.d.ts +12 -17
  67. package/jsx/social/Feed/Feed.mocks.d.ts.map +1 -1
  68. package/jsx/social/Feed/Feed.mocks.jsx +10 -5
  69. package/jsx/social/Feed/Feed.mocks.jsx.map +1 -1
  70. package/jsx/social/Feed/Feed.stories.d.ts +3 -2
  71. package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
  72. package/jsx/social/Feed/Feed.stories.jsx +5 -4
  73. package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
  74. package/jsx/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
  75. package/jsx/social/Feed/FeedNewPost.stories.jsx +3 -2
  76. package/jsx/social/Feed/FeedNewPost.stories.jsx.map +1 -1
  77. package/jsx/social/Feed/FeedPost.stories.d.ts.map +1 -1
  78. package/jsx/social/Feed/FeedPost.stories.jsx +3 -2
  79. package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
  80. package/jsx/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
  81. package/jsx/social/Feed/FeedReplyInput.stories.jsx +3 -2
  82. package/jsx/social/Feed/FeedReplyInput.stories.jsx.map +1 -1
  83. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
  84. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx +3 -1
  85. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx.map +1 -1
  86. package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
  87. package/jsx/work/CaseView/CaseView.stories.jsx +8 -2
  88. package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
  89. package/jsx/work/CaseView/Pulse.mocks.d.ts +4 -3
  90. package/jsx/work/CaseView/Pulse.mocks.d.ts.map +1 -1
  91. package/jsx/work/CaseView/Pulse.mocks.jsx +2 -2
  92. package/jsx/work/CaseView/Pulse.mocks.jsx.map +1 -1
  93. package/jsx/work/Stages/Stages.mocks.d.ts +14 -0
  94. package/jsx/work/Stages/Stages.mocks.d.ts.map +1 -0
  95. package/jsx/work/Stages/Stages.mocks.jsx +40 -0
  96. package/jsx/work/Stages/Stages.mocks.jsx.map +1 -0
  97. package/jsx/work/Stages/Stages.stories.d.ts +1 -1
  98. package/jsx/work/Stages/Stages.stories.d.ts.map +1 -1
  99. package/jsx/work/Stages/Stages.stories.jsx +12 -46
  100. package/jsx/work/Stages/Stages.stories.jsx.map +1 -1
  101. package/jsx/work/Tasks/TaskList.stories.d.ts.map +1 -1
  102. package/jsx/work/Tasks/TaskList.stories.jsx +3 -1
  103. package/jsx/work/Tasks/TaskList.stories.jsx.map +1 -1
  104. package/jsx/work/Tasks/Tasks.stories.d.ts +1 -0
  105. package/jsx/work/Tasks/Tasks.stories.d.ts.map +1 -1
  106. package/jsx/work/Tasks/Tasks.stories.jsx +5 -6
  107. package/jsx/work/Tasks/Tasks.stories.jsx.map +1 -1
  108. package/lib/build/AppHeader/AppHeader.stories.d.ts +1 -1
  109. package/lib/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  110. package/lib/build/AppHeader/AppHeader.stories.js +100 -80
  111. package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
  112. package/lib/build/FlowModeller/AddNodeUtils.mocks.d.ts +4 -4
  113. package/lib/build/FlowModeller/AddNodeUtils.mocks.d.ts.map +1 -1
  114. package/lib/build/FlowModeller/AddNodeUtils.mocks.js.map +1 -1
  115. package/lib/build/FlowModeller/FlowModeller.mocks.d.ts +1 -1
  116. package/lib/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
  117. package/lib/build/FlowModeller/FlowModeller.mocks.js +24 -7
  118. package/lib/build/FlowModeller/FlowModeller.mocks.js.map +1 -1
  119. package/lib/build/FlowModeller/FlowModeller.stories.d.ts.map +1 -1
  120. package/lib/build/FlowModeller/FlowModeller.stories.js +56 -18
  121. package/lib/build/FlowModeller/FlowModeller.stories.js.map +1 -1
  122. package/lib/build/LifeCycle/LifeCycle.mocks.d.ts.map +1 -1
  123. package/lib/build/LifeCycle/LifeCycle.mocks.js +40 -0
  124. package/lib/build/LifeCycle/LifeCycle.mocks.js.map +1 -1
  125. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  126. package/lib/build/ObjectSelect/ObjectSelect.mocks.js +91 -42
  127. package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
  128. package/lib/build/Workbench/Workbench.stories.js +1 -1
  129. package/lib/build/Workbench/Workbench.stories.js.map +1 -1
  130. package/lib/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
  131. package/lib/condition-builder/ConditionBuilder/props.mock.js +91 -57
  132. package/lib/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  133. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  134. package/lib/core/Currency/Currency.stories.js +9 -3
  135. package/lib/core/Currency/Currency.stories.js.map +1 -1
  136. package/lib/core/Dialog/Dialog.stories.d.ts +6 -0
  137. package/lib/core/Dialog/Dialog.stories.d.ts.map +1 -0
  138. package/lib/core/Dialog/Dialog.stories.js +47 -0
  139. package/lib/core/Dialog/Dialog.stories.js.map +1 -0
  140. package/lib/core/Lightbox/Lightbox.stories.js +1 -1
  141. package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
  142. package/lib/core/ListToolbar/ListToolbar.stories.js +1 -1
  143. package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
  144. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts +2 -0
  145. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts.map +1 -1
  146. package/lib/cs/CSCaseView/CSAppShell.stories.js +8 -4
  147. package/lib/cs/CSCaseView/CSAppShell.stories.js.map +1 -1
  148. package/lib/cs/CallControlPanel/CallControlPanel.mocks.d.ts +4 -0
  149. package/lib/cs/CallControlPanel/CallControlPanel.mocks.d.ts.map +1 -1
  150. package/lib/cs/CallControlPanel/CallControlPanel.mocks.js +126 -0
  151. package/lib/cs/CallControlPanel/CallControlPanel.mocks.js.map +1 -1
  152. package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts +5 -2
  153. package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  154. package/lib/cs/CallControlPanel/CallControlPanel.stories.js +42 -9
  155. package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
  156. package/lib/rte/Editor/Editor.stories.d.ts.map +1 -1
  157. package/lib/rte/Editor/Editor.stories.js +1 -1
  158. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  159. package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  160. package/lib/rte/RichTextEditor/RichTextEditor.stories.js +1 -1
  161. package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  162. package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
  163. package/lib/rte/RichTextEditor/RichTextViewer.stories.js +1 -1
  164. package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
  165. package/lib/social/Email/Email.mocks.d.ts +10 -20
  166. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  167. package/lib/social/Email/Email.mocks.js +70 -34
  168. package/lib/social/Email/Email.mocks.js.map +1 -1
  169. package/lib/social/Email/Email.stories.d.ts +23 -4
  170. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  171. package/lib/social/Email/Email.stories.js +487 -94
  172. package/lib/social/Email/Email.stories.js.map +1 -1
  173. package/lib/social/Feed/Feed.mocks.d.ts +12 -17
  174. package/lib/social/Feed/Feed.mocks.d.ts.map +1 -1
  175. package/lib/social/Feed/Feed.mocks.js +10 -5
  176. package/lib/social/Feed/Feed.mocks.js.map +1 -1
  177. package/lib/social/Feed/Feed.stories.d.ts +3 -2
  178. package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
  179. package/lib/social/Feed/Feed.stories.js +5 -4
  180. package/lib/social/Feed/Feed.stories.js.map +1 -1
  181. package/lib/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
  182. package/lib/social/Feed/FeedNewPost.stories.js +3 -2
  183. package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
  184. package/lib/social/Feed/FeedPost.stories.d.ts.map +1 -1
  185. package/lib/social/Feed/FeedPost.stories.js +3 -2
  186. package/lib/social/Feed/FeedPost.stories.js.map +1 -1
  187. package/lib/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
  188. package/lib/social/Feed/FeedReplyInput.stories.js +3 -2
  189. package/lib/social/Feed/FeedReplyInput.stories.js.map +1 -1
  190. package/lib/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
  191. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js +3 -1
  192. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js.map +1 -1
  193. package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
  194. package/lib/work/CaseView/CaseView.stories.js +8 -2
  195. package/lib/work/CaseView/CaseView.stories.js.map +1 -1
  196. package/lib/work/CaseView/Pulse.mocks.d.ts +4 -3
  197. package/lib/work/CaseView/Pulse.mocks.d.ts.map +1 -1
  198. package/lib/work/CaseView/Pulse.mocks.js +2 -2
  199. package/lib/work/CaseView/Pulse.mocks.js.map +1 -1
  200. package/lib/work/Stages/Stages.mocks.d.ts +14 -0
  201. package/lib/work/Stages/Stages.mocks.d.ts.map +1 -0
  202. package/lib/work/Stages/Stages.mocks.js +39 -0
  203. package/lib/work/Stages/Stages.mocks.js.map +1 -0
  204. package/lib/work/Stages/Stages.stories.d.ts +1 -1
  205. package/lib/work/Stages/Stages.stories.d.ts.map +1 -1
  206. package/lib/work/Stages/Stages.stories.js +12 -44
  207. package/lib/work/Stages/Stages.stories.js.map +1 -1
  208. package/lib/work/Tasks/TaskList.stories.d.ts.map +1 -1
  209. package/lib/work/Tasks/TaskList.stories.js +3 -1
  210. package/lib/work/Tasks/TaskList.stories.js.map +1 -1
  211. package/lib/work/Tasks/Tasks.stories.d.ts +1 -0
  212. package/lib/work/Tasks/Tasks.stories.d.ts.map +1 -1
  213. package/lib/work/Tasks/Tasks.stories.js +5 -4
  214. package/lib/work/Tasks/Tasks.stories.js.map +1 -1
  215. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"Feed.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/Feed.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, useRef, useCallback } from 'react';\n\nimport {\n createUID,\n DateTimeDisplay,\n Lightbox,\n LightboxProps,\n MenuItemProps,\n OneColumnPage\n} from '@pega/cosmos-react-core';\nimport { MDMap } from '@pega/cosmos-react-rte';\nimport {\n Feed,\n Filter,\n MentionButtonConfig,\n HashtagButtonConfig,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { Glimpse, GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport { FeedPostDemo } from './FeedPost.stories';\nimport { FeedNewPostDemo } from './FeedNewPost.stories';\nimport { caseMentions, feedPosts, userMentions, FeedPostDemoProps } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/Feed',\n component: Feed\n} as Meta;\n\ninterface FeedDemoProps {\n markdownMap?: MDMap;\n}\n\nexport const FeedDemo: Story<FeedDemoProps> = ({ markdownMap }: FeedDemoProps) => {\n const [extraPosts, setExtraPosts] = useState<FeedPostDemoProps[]>(() => feedPosts);\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n\n const [filters, setFilters] = useState<Filter[]>(\n Array.from({ length: 10 }, (_, index) => {\n return {\n id: `filter-${index + 1}`,\n label: `Filter ${index + 1}`\n };\n })\n );\n\n const toggleFilter = (filterId: string) => {\n const updatedFilters = [...filters];\n const filterToUpdate = updatedFilters.find(x => x.id === filterId);\n\n if (filterToUpdate) filterToUpdate.on = !filterToUpdate.on;\n\n setFilters(updatedFilters);\n };\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const [loading, setLoading] = useState(false);\n\n const generateNewPost = useCallback(() => {\n if (!loading) {\n setLoading(true);\n setTimeout(() => {\n setLoading(false);\n setExtraPosts(posts => [\n ...posts,\n {\n id: createUID(),\n fullname: 'Demo User',\n username: 'demo_user',\n content: 'This post was loaded after the Feed was scrolled to the bottom!',\n attachments: [],\n replies: [],\n renderFeed: false\n }\n ]);\n }, 1000);\n }\n }, [loading]);\n\n const onMentionClick = ({ id, type }: { id: string; type: string }) => {\n if (type === 'user') {\n const user = userMentions.find(mention => mention.id === id);\n if (user) return <Glimpse {...user} />;\n }\n };\n\n const [lightboxImages, setLightboxImages] = useState<LightboxProps['items'] | null>(null);\n const defaultLBIndex = useRef(0);\n\n const renderLightbox = (attachments: AttachedFiles[], name: string) => {\n const images: LightboxProps['items'] = attachments\n .filter(attachment => attachment.type.includes('image') && attachment.thumbnail)\n .map(image => {\n return {\n id: image.thumbnail as string,\n name: image.name,\n description: image.name,\n src: image.thumbnail as string,\n metadata: [image.type, <DateTimeDisplay value={new Date()} variant='date' />]\n };\n });\n\n const idx = images.findIndex(image => image.name === name);\n defaultLBIndex.current = idx > -1 ? idx : 0;\n setLightboxImages(images);\n };\n\n const deletePost = (index: number) => {\n setExtraPosts(posts => {\n const postsCopy = [...posts];\n postsCopy.splice(index, 1);\n return [...postsCopy];\n });\n };\n\n return (\n <>\n <Feed\n title='Pulse'\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n onMentionClick={onMentionClick}\n markdownMap={markdownMap}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n filters={filters}\n onFilterChange={toggleFilter}\n loadingPosts={loading}\n onLoadMore={generateNewPost}\n newPostRegion={\n <FeedNewPostDemo\n onPost={postEvent => {\n const { value, attachments, recipients, clear } = postEvent;\n\n attachments.forEach(file => {\n delete file.onDelete;\n file.onPreview = file.type.includes('image')\n ? () => renderLightbox(attachments, file.name)\n : undefined;\n file.onDownload = () => {};\n });\n\n if (value || attachments.length > 0) {\n setExtraPosts(posts => [\n {\n id: createUID(),\n fullname: 'Demo User',\n username: 'demo_user',\n content: value,\n attachments,\n recipients,\n postType: recipients.length ? 'private' : 'public',\n replies: [],\n timeElapsed: 'Just now',\n renderFeed: false\n },\n ...posts\n ]);\n clear();\n }\n }}\n renderFeed={false}\n />\n }\n posts={extraPosts.map((post, i) => {\n return <FeedPostDemo {...post} key={post.id} onDelete={() => deletePost(i)} />;\n })}\n />\n {lightboxImages && (\n <Lightbox\n items={lightboxImages}\n defaultIndex={defaultLBIndex.current}\n onAfterClose={() => {\n setLightboxImages(null);\n }}\n />\n )}\n </>\n );\n};\n\nexport const FeedWithAppShell: Story = () => {\n return <AppShellDemo appHeader main={<OneColumnPage title='Welcome' a={<FeedDemo />} />} />;\n};\n\nFeedWithAppShell.parameters = {\n layout: 'fullscreen'\n};\n"]}
1
+ {"version":3,"file":"Feed.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/Feed.stories.tsx"],"names":[],"mappings":";;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EACL,SAAS,EACT,eAAe,EACf,QAAQ,EAGR,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,IAAI,EAEJ,mBAAmB,EACnB,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAExF,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,IAAI;CACR,CAAC;AAOV,MAAM,CAAC,MAAM,QAAQ,GAAyB,CAAC,EAC7C,WAAW,EACX,gBAAgB,EACF,EAAE,EAAE;IAClB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAsB,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAExE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACtC,OAAO;YACL,EAAE,EAAE,UAAU,KAAK,GAAG,CAAC,EAAE;YACzB,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,EAAE;SAC7B,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;QACxC,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAEnE,IAAI,cAAc;YAAE,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAE3D,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,EAChB,IAAI,EACJ,MAAM,EACN,WAAW,EAKZ,EAAE,EAAE;QACH,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,MAAM,iBAAiB,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;YAE/E,MAAM,QAAQ,GAAoB,iBAAiB;iBAChD,MAAM,CAAC,CAAC,IAAkB,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAY,EAAE,EAAE,CAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;YACJ,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAChD,OAAO;oBACL,EAAE;oBACF,OAAO;oBACP,SAAS;oBACT,MAAM;oBACN,IAAI;iBACL,CAAC;YACJ,CAAC,CAAC,CAAC;YACL,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAC5B;aAAM;YACL,gBAAgB,CACd,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;iBAC1B,MAAM,CAAC,GAAG,CAAC,EAAE;gBACZ,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC;iBACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAC3C,CAAC;SACH;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,OAAO,EAAE;YACZ,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,GAAG,KAAK;oBACR;wBACE,EAAE,EAAE,SAAS,EAAE;wBACf,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,WAAW;wBACrB,OAAO,EAAE,iEAAiE;wBAC1E,WAAW,EAAE,EAAE;wBACf,OAAO,EAAE,EAAE;wBACX,UAAU,EAAE,KAAK;qBAClB;iBACF,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAgC,EAAE,EAAE;QACpE,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,IAAI;gBAAE,OAAO,KAAC,OAAO,OAAK,IAAI,GAAI,CAAC;SACxC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgC,IAAI,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,cAAc,GAAG,CAAC,WAA4B,EAAE,IAAY,EAAE,EAAE;QACpE,MAAM,MAAM,GAA2B,WAAW;aAC/C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC;aAC/E,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,OAAO;gBACL,EAAE,EAAE,KAAK,CAAC,SAAmB;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,GAAG,EAAE,KAAK,CAAC,SAAmB;gBAC9B,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAC,eAAe,IAAC,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAC,MAAM,GAAG,CAAC;aAC9E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC3D,cAAc,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACnC,aAAa,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7B,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,IAAI,IACH,KAAK,EAAC,OAAO,EACb,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,EAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,iBAAiB,EAAE,QAAQ,EAC3B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,EAChE,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,YAAY,EAC5B,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,eAAe,EAC3B,aAAa,EACX,KAAC,eAAe,IACd,MAAM,EAAE,SAAS,CAAC,EAAE;wBAClB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;wBAE5D,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BACzB,OAAO,IAAI,CAAC,QAAQ,CAAC;4BACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gCAC1C,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;gCAC9C,CAAC,CAAC,SAAS,CAAC;4BACd,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;wBAC7B,CAAC,CAAC,CAAC;wBAEH,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gCACrB;oCACE,EAAE,EAAE,SAAS,EAAE;oCACf,QAAQ,EAAE,WAAW;oCACrB,QAAQ,EAAE,WAAW;oCACrB,OAAO,EAAE,KAAK;oCACd,WAAW;oCACX,UAAU;oCACV,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;oCAClD,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,UAAU;oCACvB,UAAU,EAAE,KAAK;iCAClB;gCACD,GAAG,KAAK;6BACT,CAAC,CAAC;4BACH,KAAK,EAAE,CAAC;yBACT;oBACH,CAAC,EACD,UAAU,EAAE,KAAK,GACjB,EAEJ,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBAChC,OAAO,eAAC,YAAY,OAAK,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAI,CAAC;gBACjF,CAAC,CAAC,GACF,EACD,cAAc,IAAI,CACjB,KAAC,QAAQ,IACP,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,cAAc,CAAC,OAAO,EACpC,YAAY,EAAE,GAAG,EAAE;oBACjB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,GACD,CACH,IACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAU,GAAG,EAAE;IAC1C,OAAO,KAAC,YAAY,IAAC,SAAS,QAAC,IAAI,EAAE,KAAC,aAAa,IAAC,KAAK,EAAC,SAAS,EAAC,CAAC,EAAE,KAAC,QAAQ,KAAG,GAAI,GAAI,CAAC;AAC9F,CAAC,CAAC;AAEF,gBAAgB,CAAC,UAAU,GAAG;IAC5B,MAAM,EAAE,YAAY;CACrB,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, useRef, useCallback } from 'react';\n\nimport {\n createUID,\n DateTimeDisplay,\n Lightbox,\n LightboxProps,\n MenuItemProps,\n OneColumnPage\n} from '@pega/cosmos-react-core';\nimport {\n Feed,\n Filter,\n MentionButtonConfig,\n HashtagButtonConfig,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { FeedProps } from '@pega/cosmos-react-social/lib/components/Feed/Feed';\nimport { Glimpse, GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport { FeedPostDemo } from './FeedPost.stories';\nimport { FeedNewPostDemo } from './FeedNewPost.stories';\nimport { caseMentions, feedPosts, userMentions, FeedPostDemoProps } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/Feed',\n component: Feed\n} as Meta;\n\ninterface FeedDemoProps {\n markdownMap?: FeedProps['markdownMap'];\n onMentionPreview?: FeedProps['onMentionPreview'];\n}\n\nexport const FeedDemo: Story<FeedDemoProps> = ({\n markdownMap,\n onMentionPreview\n}: FeedDemoProps) => {\n const [extraPosts, setExtraPosts] = useState<FeedPostDemoProps[]>(() => feedPosts);\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n\n const [filters, setFilters] = useState<Filter[]>(\n Array.from({ length: 10 }, (_, index) => {\n return {\n id: `filter-${index + 1}`,\n label: `Filter ${index + 1}`\n };\n })\n );\n\n const toggleFilter = (filterId: string) => {\n const updatedFilters = [...filters];\n const filterToUpdate = updatedFilters.find(x => x.id === filterId);\n\n if (filterToUpdate) filterToUpdate.on = !filterToUpdate.on;\n\n setFilters(updatedFilters);\n };\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual, href }) => {\n return {\n id,\n primary,\n secondary,\n visual,\n href\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const [loading, setLoading] = useState(false);\n\n const generateNewPost = useCallback(() => {\n if (!loading) {\n setLoading(true);\n setTimeout(() => {\n setLoading(false);\n setExtraPosts(posts => [\n ...posts,\n {\n id: createUID(),\n fullname: 'Demo User',\n username: 'demo_user',\n content: 'This post was loaded after the Feed was scrolled to the bottom!',\n attachments: [],\n replies: [],\n renderFeed: false\n }\n ]);\n }, 1000);\n }\n }, [loading]);\n\n const onMentionClick = ({ id, type }: { id: string; type: string }) => {\n if (type === 'user') {\n const user = userMentions.find(mention => mention.id === id);\n if (user) return <Glimpse {...user} />;\n }\n };\n\n const [lightboxImages, setLightboxImages] = useState<LightboxProps['items'] | null>(null);\n const defaultLBIndex = useRef(0);\n\n const renderLightbox = (attachments: AttachedFiles[], name: string) => {\n const images: LightboxProps['items'] = attachments\n .filter(attachment => attachment.type.includes('image') && attachment.thumbnail)\n .map(image => {\n return {\n id: image.thumbnail as string,\n name: image.name,\n description: image.name,\n src: image.thumbnail as string,\n metadata: [image.type, <DateTimeDisplay value={new Date()} variant='date' />]\n };\n });\n\n const idx = images.findIndex(image => image.name === name);\n defaultLBIndex.current = idx > -1 ? idx : 0;\n setLightboxImages(images);\n };\n\n const deletePost = (index: number) => {\n setExtraPosts(posts => {\n const postsCopy = [...posts];\n postsCopy.splice(index, 1);\n return [...postsCopy];\n });\n };\n\n return (\n <>\n <Feed\n title='Pulse'\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n onMentionClick={onMentionClick}\n onMentionPreview={onMentionPreview}\n markdownMap={markdownMap}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n filters={filters}\n onFilterChange={toggleFilter}\n loadingPosts={loading}\n onLoadMore={generateNewPost}\n newPostRegion={\n <FeedNewPostDemo\n onPost={postEvent => {\n const { value, attachments, recipients, clear } = postEvent;\n\n attachments.forEach(file => {\n delete file.onDelete;\n file.onPreview = file.type.includes('image')\n ? () => renderLightbox(attachments, file.name)\n : undefined;\n file.onDownload = () => {};\n });\n\n if (value || attachments.length > 0) {\n setExtraPosts(posts => [\n {\n id: createUID(),\n fullname: 'Demo User',\n username: 'demo_user',\n content: value,\n attachments,\n recipients,\n postType: recipients.length ? 'private' : 'public',\n replies: [],\n timeElapsed: 'Just now',\n renderFeed: false\n },\n ...posts\n ]);\n clear();\n }\n }}\n renderFeed={false}\n />\n }\n posts={extraPosts.map((post, i) => {\n return <FeedPostDemo {...post} key={post.id} onDelete={() => deletePost(i)} />;\n })}\n />\n {lightboxImages && (\n <Lightbox\n items={lightboxImages}\n defaultIndex={defaultLBIndex.current}\n onAfterClose={() => {\n setLightboxImages(null);\n }}\n />\n )}\n </>\n );\n};\n\nexport const FeedWithAppShell: Story = () => {\n return <AppShellDemo appHeader main={<OneColumnPage title='Welcome' a={<FeedDemo />} />} />;\n};\n\nFeedWithAppShell.parameters = {\n layout: 'fullscreen'\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedNewPost.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedNewPost.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;;AAKnC,wBAGU;AAEV,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAqHvD,CAAC"}
1
+ {"version":3,"file":"FeedNewPost.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedNewPost.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;;AAKnC,wBAGU;AAEV,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAsHvD,CAAC"}
@@ -22,12 +22,13 @@ export const FeedNewPostDemo = ({ onPost = () => { }, renderFeed = true }) => {
22
22
  const searchWords = search.toLowerCase().split(' ');
23
23
  return !!searchWords.every((word) => names.find((name) => name.startsWith(word)));
24
24
  })
25
- .map(({ id, primary, secondary, visual }) => {
25
+ .map(({ id, primary, secondary, visual, href }) => {
26
26
  return {
27
27
  id,
28
28
  primary,
29
29
  secondary,
30
- visual
30
+ visual,
31
+ href
31
32
  };
32
33
  });
33
34
  setSearchResults(mentions);
@@ -1 +1 @@
1
- {"version":3,"file":"FeedNewPost.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedNewPost.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, useEffect } from 'react';\n\nimport { MenuItemProps, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedNewPost,\n FeedNewPostProps,\n RecipientOption,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { availableRecipients, caseMentions, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedNewPost',\n component: FeedNewPost\n} as Meta;\n\ninterface FeedNewPostDemoProps {\n onPost?: FeedNewPostProps['onPost'];\n renderFeed?: boolean;\n}\n\nexport const FeedNewPostDemo: Story<FeedNewPostDemoProps> = ({\n onPost = () => {},\n renderFeed = true\n}: FeedNewPostDemoProps) => {\n const key = useUID();\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n const [attachments, setAttachments] = useState<AttachedFiles[]>([]);\n const [filterValue, setFilterValue] = useState('');\n const [itemsToRender, setItemsToRender] = useState<RecipientOption[]>(availableRecipients);\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n if (file.size / 1000000 > 100) {\n file.meta = 'File size cannot exceed 100MB';\n file.error = true;\n }\n\n file.onDelete = () => {\n setAttachments(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setAttachments(current => [...current, ...files]);\n };\n\n useEffect(() => {\n // Synthetic delay to mimic async request\n const timeout = setTimeout(() => {\n const newItems = availableRecipients.filter(({ primary, secondary }) => {\n return (\n primary.toLowerCase().includes(filterValue) ||\n secondary.find(x => x.toLowerCase().includes(filterValue))\n );\n });\n\n setItemsToRender(newItems);\n }, 500);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [filterValue]);\n\n const newPost = (\n <FeedNewPost\n id={key}\n attachments={attachments}\n interactionInfo={{\n textAreaPlaceholder: 'Start a conversation',\n postLabel: 'Post'\n }}\n onFilesAdded={onFilesAdded}\n onPost={postEvent => {\n onPost?.(postEvent);\n setAttachments([]);\n postEvent.clear();\n }}\n recipients={itemsToRender}\n onRecipientSearch={(newSearch: string) => setFilterValue(newSearch)}\n />\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n newPostRegion={newPost}\n />\n ) : (\n newPost\n );\n};\n"]}
1
+ {"version":3,"file":"FeedNewPost.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedNewPost.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, useEffect } from 'react';\n\nimport { MenuItemProps, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedNewPost,\n FeedNewPostProps,\n RecipientOption,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { availableRecipients, caseMentions, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedNewPost',\n component: FeedNewPost\n} as Meta;\n\ninterface FeedNewPostDemoProps {\n onPost?: FeedNewPostProps['onPost'];\n renderFeed?: boolean;\n}\n\nexport const FeedNewPostDemo: Story<FeedNewPostDemoProps> = ({\n onPost = () => {},\n renderFeed = true\n}: FeedNewPostDemoProps) => {\n const key = useUID();\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n const [attachments, setAttachments] = useState<AttachedFiles[]>([]);\n const [filterValue, setFilterValue] = useState('');\n const [itemsToRender, setItemsToRender] = useState<RecipientOption[]>(availableRecipients);\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual, href }) => {\n return {\n id,\n primary,\n secondary,\n visual,\n href\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n if (file.size / 1000000 > 100) {\n file.meta = 'File size cannot exceed 100MB';\n file.error = true;\n }\n\n file.onDelete = () => {\n setAttachments(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setAttachments(current => [...current, ...files]);\n };\n\n useEffect(() => {\n // Synthetic delay to mimic async request\n const timeout = setTimeout(() => {\n const newItems = availableRecipients.filter(({ primary, secondary }) => {\n return (\n primary.toLowerCase().includes(filterValue) ||\n secondary.find(x => x.toLowerCase().includes(filterValue))\n );\n });\n\n setItemsToRender(newItems);\n }, 500);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [filterValue]);\n\n const newPost = (\n <FeedNewPost\n id={key}\n attachments={attachments}\n interactionInfo={{\n textAreaPlaceholder: 'Start a conversation',\n postLabel: 'Post'\n }}\n onFilesAdded={onFilesAdded}\n onPost={postEvent => {\n onPost?.(postEvent);\n setAttachments([]);\n postEvent.clear();\n }}\n recipients={itemsToRender}\n onRecipientSearch={(newSearch: string) => setFilterValue(newSearch)}\n />\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n newPostRegion={newPost}\n />\n ) : (\n newPost\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedPost.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedPost.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAwB/C,OAAO,EAKL,iBAAiB,EAClB,MAAM,cAAc,CAAC;;AAEtB,wBAGU;AAEV,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAyTjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA+C7B,CAAC"}
1
+ {"version":3,"file":"FeedPost.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedPost.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAwB/C,OAAO,EAKL,iBAAiB,EAClB,MAAM,cAAc,CAAC;;AAEtB,wBAGU;AAEV,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CA0TjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA+C7B,CAAC"}
@@ -61,12 +61,13 @@ export const FeedPostDemo = ({ fullname = 'Katie Smith', username = 'katie_smith
61
61
  const searchWords = search.toLowerCase().split(' ');
62
62
  return !!searchWords.every((word) => names.find((name) => name.startsWith(word)));
63
63
  })
64
- .map(({ id, primary, secondary, visual }) => {
64
+ .map(({ id, primary, secondary, visual, href }) => {
65
65
  return {
66
66
  id,
67
67
  primary,
68
68
  secondary,
69
- visual
69
+ visual,
70
+ href
70
71
  };
71
72
  });
72
73
  setSearchResults(mentions);
@@ -1 +1 @@
1
- {"version":3,"file":"FeedPost.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedPost.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useCallback, useState } from 'react';\n\nimport {\n Avatar,\n CardContent,\n Link,\n MenuItemProps,\n Popover,\n SummaryListItem,\n Table,\n ColumnProps,\n useUID\n} from '@pega/cosmos-react-core';\nimport {\n HashtagButtonConfig,\n MentionButtonConfig,\n Feed,\n FeedPost,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { Glimpse, GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { FeedReplyDemo } from './FeedReply.stories';\nimport {\n generatedLikes,\n caseMentions,\n userMentions,\n availableRecipients,\n FeedPostDemoProps\n} from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedPost',\n component: FeedPost\n} as Meta;\n\nexport const FeedPostDemo: Story<FeedPostDemoProps> = ({\n fullname = 'Katie Smith',\n username = 'katie_smith',\n content,\n postType,\n recipients,\n attachments: postAttachments,\n replies,\n timeElapsed: time,\n userStatus,\n likes: userLikes,\n likeCount: userLikeCount,\n onDelete = () => {},\n renderFeed = true\n}: FeedPostDemoProps) => {\n const defaultContent = postAttachments\n ? ''\n : 'This post mentions @deans:Seth DeAngelo:user: and also contains a tag! #cosmos:';\n\n const defaultReplies = Array.from(Array(12).keys(), index => {\n return (\n <FeedReplyDemo\n key={`reply-story-${index + 1}`}\n fullname={fullname}\n content={`This is reply number ${index + 1}!`}\n renderFeed={false}\n />\n );\n });\n\n const key = useUID();\n const [postContent, setPostContent] = useState(content || defaultContent);\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n\n const [likes, setLikes] = useState<SummaryListItem[]>([]);\n const [liked, setLiked] = useState(false);\n const [likeCount, setLikeCount] = useState<number>(\n userLikeCount || (renderFeed ? generatedLikes.length : 0)\n );\n const [recipientsList, setRecipientsList] = useState<MenuItemProps[]>([]);\n const [edited, setEdited] = useState(false);\n const [timeElapsed, setTimeElapsed] = useState(time || '4 days ago');\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [popoverTarget, setPopoverTarget] = useState<Element>();\n\n const [extraReplies, setExtraReplies] = useState<any[]>([]);\n const [replyAttachments, setReplyAttachments] = useState<AttachedFiles[]>([]);\n const [replyCount, setReplyCount] = useState<number>(\n replies ? replies.length : defaultReplies.length\n );\n const [repliesLoading, setRepliesLoading] = useState(false);\n const [repliesShown, setRepliesShown] = useState(3);\n\n const [additionalLikeAdded, setAdditionalLikeAdded] = useState(false);\n const [allRecipientsVisible, setAllRecipientsVisible] = useState(false);\n\n const onShowMoreReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(curr => {\n if (curr + 3 <= defaultReplies.length) return curr + 3;\n return defaultReplies.length;\n });\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onShowLessReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(3);\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n file.onDelete = () => {\n setReplyAttachments?.(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setReplyAttachments(files);\n };\n\n const getInitialLikes = () => {\n if (likes.length) return;\n\n setLikes(userLikes || (renderFeed ? generatedLikes : []));\n };\n\n const [likesLoading, setLikesLoading] = useState(false);\n\n const generateNewLike = useCallback(() => {\n if (!likesLoading) {\n setLikesLoading(true);\n setTimeout(() => {\n setLikesLoading(false);\n setLikes(oldLikes => [\n ...oldLikes,\n {\n primary: 'Generated Like',\n secondary: ['This like was added after the onLoadMore callback triggered'],\n visual: <Avatar size='l' name='Generated Like' />,\n id: 'generatedLike'\n }\n ]);\n setAdditionalLikeAdded(true);\n }, 1000);\n }\n }, [likesLoading]);\n\n const getInitialRecipients = () => {\n if (recipientsList.length) return;\n\n setRecipientsList(\n recipients ||\n availableRecipients.slice(0, !allRecipientsVisible ? 10 : availableRecipients.length)\n );\n };\n\n const [recipientsLoading, setRecipientsLoading] = useState(false);\n\n const getAllRecipients = () => {\n if (!recipientsLoading) {\n setRecipientsLoading(true);\n setTimeout(() => {\n setRecipientsLoading(false);\n setAllRecipientsVisible(true);\n setRecipientsList(recipients || availableRecipients);\n }, 1000);\n }\n };\n\n const onMentionClick = ({ id, type }: { id: string; type: string }) => {\n if (type === 'user') {\n const user = userMentions.find(mention => mention.id === id);\n if (user) return <Glimpse {...user} />;\n }\n };\n\n const post = (\n <>\n <FeedPost\n id={key}\n key={key}\n info={{\n fullname,\n username,\n timeElapsed,\n content: postContent,\n postType,\n recipients: recipientsList,\n recipientsCount: recipients ? recipients.length : availableRecipients.length,\n attachments: postAttachments,\n liked,\n postContext: renderFeed ? (\n <Link href='https://www.pega.com' target='_blank'>\n Pega\n </Link>\n ) : undefined,\n userStatus\n }}\n interactionInfo={{\n likeLabel: 'Like',\n likes,\n likeCount: likeCount >= 10 ? likeCount + 1 : likeCount,\n commentLabel: 'Comment'\n }}\n maxContentHeight={80}\n onLikeClick={({ user }) => {\n const userLikedIndex = likes.findIndex(x => x.id === user.id);\n if (userLikedIndex !== -1) {\n setLikes(oldLikes => {\n const oldLikesArr = [...oldLikes];\n oldLikesArr.splice(userLikedIndex, 1);\n return oldLikesArr;\n });\n setLikeCount(curr => curr - 1);\n } else {\n setLikes(oldLikes => [user, ...oldLikes]);\n setLikeCount(curr => curr + 1);\n }\n setLiked(curr => !curr);\n }}\n onLikeCountInteraction={getInitialLikes}\n likesLoading={likesLoading}\n onLoadMoreLikes={!additionalLikeAdded ? generateNewLike : undefined}\n onRecipientInteraction={getInitialRecipients}\n recipientsLoading={recipientsLoading}\n onLoadMoreRecipients={!allRecipientsVisible ? getAllRecipients : undefined}\n onUserClick={(_, clickEvent) => {\n if (clickEvent) {\n setPopoverTarget(clickEvent.target as Element);\n setPopoverOpen(curr => !curr);\n }\n }}\n menuItems={[\n { primary: 'Custom action', id: 'custom', onClick: () => {} },\n { primary: 'Delete', id: 'delete', onClick: onDelete }\n ]}\n onEditSubmit={({ value }) => {\n setPostContent(value);\n setEdited(true);\n setTimeElapsed('Just now');\n }}\n edited={edited}\n replies={\n replies\n ? [...replies, ...extraReplies]\n : [...defaultReplies.slice(-repliesShown), ...extraReplies]\n }\n replyCount={replyCount}\n repliesLoading={repliesLoading}\n onShowMoreReplies={onShowMoreReplies}\n onShowLessReplies={repliesShown > 3 ? onShowLessReplies : undefined}\n replyInput={{\n commentLabel: 'Send Comment',\n attachments: replyAttachments,\n onFilesAdded,\n onSubmit: replyEvent => {\n setReplyAttachments([]);\n\n replyEvent.attachments.forEach(file => {\n delete file.onDelete;\n file.onPreview = () => {};\n file.onDownload = () => {};\n });\n\n setExtraReplies(oldReplies => [\n ...oldReplies,\n <FeedReplyDemo\n key={`replies-${oldReplies.length}`}\n fullname='Demo User'\n username='demo_user'\n content={replyEvent.value}\n attachments={replyEvent.attachments}\n timeElapsed='Just now'\n renderFeed={false}\n />\n ]);\n setReplyCount(oldReplyCount => oldReplyCount + 1);\n replyEvent.clear();\n },\n placeholder: 'Add a comment'\n }}\n />\n {popoverTarget && (\n <Popover show={popoverOpen} target={popoverTarget} placement='bottom' portal>\n <CardContent>{fullname}</CardContent>\n </Popover>\n )}\n </>\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n onMentionClick={onMentionClick}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[post]}\n />\n ) : (\n post\n );\n};\n\nexport const FeedPostWithPresence: Story = () => {\n return <FeedPostDemo userStatus='active' />;\n};\n\nexport const FeedPostWithJSX: Story = () => {\n const data = [\n {\n id: '123',\n name: 'Jane Smith',\n dob: '12/31/1990',\n address: 'Boston, MA',\n email: 'jsmith@email.com',\n balance: '$2,200'\n },\n {\n id: '456',\n name: 'Joe Smith',\n dob: '01/01/1980',\n address: '',\n email: 'joe.smith@email.com',\n balance: '$1,350'\n },\n {\n id: '789',\n name: 'Mirian Lou',\n dob: '02/29/1985',\n address: (\n <>\n <div>100 Main St.</div>\n <div>Cambridge, MA</div>\n </>\n ),\n email: '',\n balance: '$10'\n }\n ];\n\n const columns: ColumnProps<typeof data[number]>[] = [\n { renderer: 'name', label: 'Name' },\n { renderer: 'dob', label: 'Date of Birth' },\n { renderer: 'address', label: 'Address' },\n { renderer: 'email', label: 'Email' },\n { renderer: 'balance', label: 'Account Balance', align: 'right' }\n ];\n\n return (\n <Feed\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[<FeedPostDemo content={<Table columns={columns} data={data} />} replies={[]} />]}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"FeedPost.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedPost.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useCallback, useState } from 'react';\n\nimport {\n Avatar,\n CardContent,\n Link,\n MenuItemProps,\n Popover,\n SummaryListItem,\n Table,\n ColumnProps,\n useUID\n} from '@pega/cosmos-react-core';\nimport {\n HashtagButtonConfig,\n MentionButtonConfig,\n Feed,\n FeedPost,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { Glimpse, GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { FeedReplyDemo } from './FeedReply.stories';\nimport {\n generatedLikes,\n caseMentions,\n userMentions,\n availableRecipients,\n FeedPostDemoProps\n} from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedPost',\n component: FeedPost\n} as Meta;\n\nexport const FeedPostDemo: Story<FeedPostDemoProps> = ({\n fullname = 'Katie Smith',\n username = 'katie_smith',\n content,\n postType,\n recipients,\n attachments: postAttachments,\n replies,\n timeElapsed: time,\n userStatus,\n likes: userLikes,\n likeCount: userLikeCount,\n onDelete = () => {},\n renderFeed = true\n}: FeedPostDemoProps) => {\n const defaultContent = postAttachments\n ? ''\n : 'This post mentions @deans:Seth DeAngelo:user: and also contains a tag! #cosmos:';\n\n const defaultReplies = Array.from(Array(12).keys(), index => {\n return (\n <FeedReplyDemo\n key={`reply-story-${index + 1}`}\n fullname={fullname}\n content={`This is reply number ${index + 1}!`}\n renderFeed={false}\n />\n );\n });\n\n const key = useUID();\n const [postContent, setPostContent] = useState(content || defaultContent);\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n\n const [likes, setLikes] = useState<SummaryListItem[]>([]);\n const [liked, setLiked] = useState(false);\n const [likeCount, setLikeCount] = useState<number>(\n userLikeCount || (renderFeed ? generatedLikes.length : 0)\n );\n const [recipientsList, setRecipientsList] = useState<MenuItemProps[]>([]);\n const [edited, setEdited] = useState(false);\n const [timeElapsed, setTimeElapsed] = useState(time || '4 days ago');\n\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [popoverTarget, setPopoverTarget] = useState<Element>();\n\n const [extraReplies, setExtraReplies] = useState<any[]>([]);\n const [replyAttachments, setReplyAttachments] = useState<AttachedFiles[]>([]);\n const [replyCount, setReplyCount] = useState<number>(\n replies ? replies.length : defaultReplies.length\n );\n const [repliesLoading, setRepliesLoading] = useState(false);\n const [repliesShown, setRepliesShown] = useState(3);\n\n const [additionalLikeAdded, setAdditionalLikeAdded] = useState(false);\n const [allRecipientsVisible, setAllRecipientsVisible] = useState(false);\n\n const onShowMoreReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(curr => {\n if (curr + 3 <= defaultReplies.length) return curr + 3;\n return defaultReplies.length;\n });\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onShowLessReplies = () => {\n setRepliesLoading(true);\n setTimeout(() => {\n setRepliesShown(3);\n setRepliesLoading(false);\n }, 1000);\n };\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual, href }) => {\n return {\n id,\n primary,\n secondary,\n visual,\n href\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n file.onDelete = () => {\n setReplyAttachments?.(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setReplyAttachments(files);\n };\n\n const getInitialLikes = () => {\n if (likes.length) return;\n\n setLikes(userLikes || (renderFeed ? generatedLikes : []));\n };\n\n const [likesLoading, setLikesLoading] = useState(false);\n\n const generateNewLike = useCallback(() => {\n if (!likesLoading) {\n setLikesLoading(true);\n setTimeout(() => {\n setLikesLoading(false);\n setLikes(oldLikes => [\n ...oldLikes,\n {\n primary: 'Generated Like',\n secondary: ['This like was added after the onLoadMore callback triggered'],\n visual: <Avatar size='l' name='Generated Like' />,\n id: 'generatedLike'\n }\n ]);\n setAdditionalLikeAdded(true);\n }, 1000);\n }\n }, [likesLoading]);\n\n const getInitialRecipients = () => {\n if (recipientsList.length) return;\n\n setRecipientsList(\n recipients ||\n availableRecipients.slice(0, !allRecipientsVisible ? 10 : availableRecipients.length)\n );\n };\n\n const [recipientsLoading, setRecipientsLoading] = useState(false);\n\n const getAllRecipients = () => {\n if (!recipientsLoading) {\n setRecipientsLoading(true);\n setTimeout(() => {\n setRecipientsLoading(false);\n setAllRecipientsVisible(true);\n setRecipientsList(recipients || availableRecipients);\n }, 1000);\n }\n };\n\n const onMentionClick = ({ id, type }: { id: string; type: string }) => {\n if (type === 'user') {\n const user = userMentions.find(mention => mention.id === id);\n if (user) return <Glimpse {...user} />;\n }\n };\n\n const post = (\n <>\n <FeedPost\n id={key}\n key={key}\n info={{\n fullname,\n username,\n timeElapsed,\n content: postContent,\n postType,\n recipients: recipientsList,\n recipientsCount: recipients ? recipients.length : availableRecipients.length,\n attachments: postAttachments,\n liked,\n postContext: renderFeed ? (\n <Link href='https://www.pega.com' target='_blank'>\n Pega\n </Link>\n ) : undefined,\n userStatus\n }}\n interactionInfo={{\n likeLabel: 'Like',\n likes,\n likeCount: likeCount >= 10 ? likeCount + 1 : likeCount,\n commentLabel: 'Comment'\n }}\n maxContentHeight={80}\n onLikeClick={({ user }) => {\n const userLikedIndex = likes.findIndex(x => x.id === user.id);\n if (userLikedIndex !== -1) {\n setLikes(oldLikes => {\n const oldLikesArr = [...oldLikes];\n oldLikesArr.splice(userLikedIndex, 1);\n return oldLikesArr;\n });\n setLikeCount(curr => curr - 1);\n } else {\n setLikes(oldLikes => [user, ...oldLikes]);\n setLikeCount(curr => curr + 1);\n }\n setLiked(curr => !curr);\n }}\n onLikeCountInteraction={getInitialLikes}\n likesLoading={likesLoading}\n onLoadMoreLikes={!additionalLikeAdded ? generateNewLike : undefined}\n onRecipientInteraction={getInitialRecipients}\n recipientsLoading={recipientsLoading}\n onLoadMoreRecipients={!allRecipientsVisible ? getAllRecipients : undefined}\n onUserClick={(_, clickEvent) => {\n if (clickEvent) {\n setPopoverTarget(clickEvent.target as Element);\n setPopoverOpen(curr => !curr);\n }\n }}\n menuItems={[\n { primary: 'Custom action', id: 'custom', onClick: () => {} },\n { primary: 'Delete', id: 'delete', onClick: onDelete }\n ]}\n onEditSubmit={({ value }) => {\n setPostContent(value);\n setEdited(true);\n setTimeElapsed('Just now');\n }}\n edited={edited}\n replies={\n replies\n ? [...replies, ...extraReplies]\n : [...defaultReplies.slice(-repliesShown), ...extraReplies]\n }\n replyCount={replyCount}\n repliesLoading={repliesLoading}\n onShowMoreReplies={onShowMoreReplies}\n onShowLessReplies={repliesShown > 3 ? onShowLessReplies : undefined}\n replyInput={{\n commentLabel: 'Send Comment',\n attachments: replyAttachments,\n onFilesAdded,\n onSubmit: replyEvent => {\n setReplyAttachments([]);\n\n replyEvent.attachments.forEach(file => {\n delete file.onDelete;\n file.onPreview = () => {};\n file.onDownload = () => {};\n });\n\n setExtraReplies(oldReplies => [\n ...oldReplies,\n <FeedReplyDemo\n key={`replies-${oldReplies.length}`}\n fullname='Demo User'\n username='demo_user'\n content={replyEvent.value}\n attachments={replyEvent.attachments}\n timeElapsed='Just now'\n renderFeed={false}\n />\n ]);\n setReplyCount(oldReplyCount => oldReplyCount + 1);\n replyEvent.clear();\n },\n placeholder: 'Add a comment'\n }}\n />\n {popoverTarget && (\n <Popover show={popoverOpen} target={popoverTarget} placement='bottom' portal>\n <CardContent>{fullname}</CardContent>\n </Popover>\n )}\n </>\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n onMentionClick={onMentionClick}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[post]}\n />\n ) : (\n post\n );\n};\n\nexport const FeedPostWithPresence: Story = () => {\n return <FeedPostDemo userStatus='active' />;\n};\n\nexport const FeedPostWithJSX: Story = () => {\n const data = [\n {\n id: '123',\n name: 'Jane Smith',\n dob: '12/31/1990',\n address: 'Boston, MA',\n email: 'jsmith@email.com',\n balance: '$2,200'\n },\n {\n id: '456',\n name: 'Joe Smith',\n dob: '01/01/1980',\n address: '',\n email: 'joe.smith@email.com',\n balance: '$1,350'\n },\n {\n id: '789',\n name: 'Mirian Lou',\n dob: '02/29/1985',\n address: (\n <>\n <div>100 Main St.</div>\n <div>Cambridge, MA</div>\n </>\n ),\n email: '',\n balance: '$10'\n }\n ];\n\n const columns: ColumnProps<typeof data[number]>[] = [\n { renderer: 'name', label: 'Name' },\n { renderer: 'dob', label: 'Date of Birth' },\n { renderer: 'address', label: 'Address' },\n { renderer: 'email', label: 'Email' },\n { renderer: 'balance', label: 'Account Balance', align: 'right' }\n ];\n\n return (\n <Feed\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[<FeedPostDemo content={<Table columns={columns} data={data} />} replies={[]} />]}\n />\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedReplyInput.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedReplyInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;;AAKnC,wBAGU;AAEV,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,uBAAuB,CAwF7D,CAAC"}
1
+ {"version":3,"file":"FeedReplyInput.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedReplyInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;;AAKnC,wBAGU;AAEV,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,uBAAuB,CAyF7D,CAAC"}
@@ -20,12 +20,13 @@ export const FeedReplyInputDemo = ({ onSubmit, renderFeed = true }) => {
20
20
  const searchWords = search.toLowerCase().split(' ');
21
21
  return !!searchWords.every((word) => names.find((name) => name.startsWith(word)));
22
22
  })
23
- .map(({ id, primary, secondary, visual }) => {
23
+ .map(({ id, primary, secondary, visual, href }) => {
24
24
  return {
25
25
  id,
26
26
  primary,
27
27
  secondary,
28
- visual
28
+ visual,
29
+ href
29
30
  };
30
31
  });
31
32
  setSearchResults(mentions);
@@ -1 +1 @@
1
- {"version":3,"file":"FeedReplyInput.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedReplyInput.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport { MenuItemProps, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedReplyInput,\n FeedReplyInputProps,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { caseMentions, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedReplyInput',\n component: FeedReplyInput\n} as Meta;\n\ninterface FeedReplyInputDemoProps {\n onSubmit?: FeedReplyInputProps['onSubmit'];\n renderFeed?: boolean;\n}\n\nexport const FeedReplyInputDemo: Story<FeedReplyInputDemoProps> = ({\n onSubmit,\n renderFeed = true\n}: FeedReplyInputDemoProps) => {\n const key = useUID();\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n const [attachments, setAttachments] = useState<AttachedFiles[]>([]);\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual }) => {\n return {\n id,\n primary,\n secondary,\n visual\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n file.onDelete = () => {\n setAttachments(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setAttachments(files);\n };\n\n const replyInput = (\n <FeedReplyInput\n id={key}\n commentLabel='Send Comment'\n attachments={attachments}\n placeholder='Add a comment'\n onFilesAdded={onFilesAdded}\n onSubmit={replyEvent => {\n onSubmit?.(replyEvent);\n setAttachments([]);\n replyEvent.clear();\n }}\n />\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[replyInput]}\n />\n ) : (\n replyInput\n );\n};\n"]}
1
+ {"version":3,"file":"FeedReplyInput.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedReplyInput.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport { MenuItemProps, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedReplyInput,\n FeedReplyInputProps,\n AttachedFiles\n} from '@pega/cosmos-react-social';\nimport { GlimpseProps } from '@pega/cosmos-react-work';\n\nimport { caseMentions, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedReplyInput',\n component: FeedReplyInput\n} as Meta;\n\ninterface FeedReplyInputDemoProps {\n onSubmit?: FeedReplyInputProps['onSubmit'];\n renderFeed?: boolean;\n}\n\nexport const FeedReplyInputDemo: Story<FeedReplyInputDemoProps> = ({\n onSubmit,\n renderFeed = true\n}: FeedReplyInputDemoProps) => {\n const key = useUID();\n const [searchResults, setSearchResults] = useState<MenuItemProps[]>([]);\n const [attachments, setAttachments] = useState<AttachedFiles[]>([]);\n\n const onSearch = ({\n type,\n search,\n mentionType\n }: {\n type: 'mention' | 'tag';\n search: string;\n mentionType: string;\n }) => {\n if (type === 'mention') {\n const availableMentions = mentionType === 'case' ? caseMentions : userMentions;\n\n const mentions: MenuItemProps[] = availableMentions\n .filter((user: GlimpseProps) => {\n const names = user.primary.toLowerCase().split(' ');\n const searchWords = search.toLowerCase().split(' ');\n return !!searchWords.every((word: string) =>\n names.find((name: string) => name.startsWith(word))\n );\n })\n .map(({ id, primary, secondary, visual, href }) => {\n return {\n id,\n primary,\n secondary,\n visual,\n href\n };\n });\n setSearchResults(mentions);\n } else {\n setSearchResults(\n ['cosmos', 'hashtag', 'pega']\n .filter(tag => {\n return tag.toLowerCase().includes(search.toLowerCase());\n })\n .map(tag => ({ id: tag, primary: tag }))\n );\n }\n };\n\n const onFilesAdded = (files: AttachedFiles[]) => {\n files.forEach(file => {\n if (file.type.split('/')[0] === 'image') file.thumbnail = URL.createObjectURL(file);\n\n file.onDelete = () => {\n setAttachments(current => {\n return current.filter(x => x.name !== file.name);\n });\n };\n });\n\n setAttachments(files);\n };\n\n const replyInput = (\n <FeedReplyInput\n id={key}\n commentLabel='Send Comment'\n attachments={attachments}\n placeholder='Add a comment'\n onFilesAdded={onFilesAdded}\n onSubmit={replyEvent => {\n onSubmit?.(replyEvent);\n setAttachments([]);\n replyEvent.clear();\n }}\n />\n );\n\n return renderFeed ? (\n <Feed\n searchTypes={['user', 'case']}\n onDecoratorSearch={onSearch}\n searchResults={searchResults}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[replyInput]}\n />\n ) : (\n replyInput\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppAnnouncement.stories.d.ts","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAEhF,wBAGU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAmB3D,CAAC"}
1
+ {"version":3,"file":"AppAnnouncement.stories.d.ts","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAEhF,wBAGU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAoB3D,CAAC"}
@@ -13,18 +13,20 @@ export const AppAnnouncementDemo = (args) => {
13
13
  'Streamlined components for all business needs',
14
14
  'Other improvements'
15
15
  ];
16
- return (_jsx(AppAnnouncement, { heading: args.heading, description: args.description, details: details, whatsNewLink: args.whatsNewLink, image: args.image, onDismiss: () => push({ content: 'Dismissed AppAnnouncement' }) }));
16
+ return (_jsx(AppAnnouncement, { heading: args.heading, description: args.description, details: details, whatsNewLink: args.whatsNewLink, whatsNewText: args.whatsNewText, image: args.image, onDismiss: () => push({ content: 'Dismissed AppAnnouncement' }) }));
17
17
  };
18
18
  AppAnnouncementDemo.args = {
19
19
  heading: 'Pega Cosmos Design System',
20
20
  description: 'We have launched a brand new experience to accelerate your workflow!',
21
21
  whatsNewLink: 'https://www.pega.com',
22
+ whatsNewText: "See what's new",
22
23
  image: 'https://www.pega.com/sites/default/files/styles/2560/public/media/images/2019-01/pega-logo_0.png'
23
24
  };
24
25
  AppAnnouncementDemo.argTypes = {
25
26
  heading: { control: { type: 'text' } },
26
27
  description: { control: { type: 'text' } },
27
28
  whatsNewLink: { control: { type: 'text' } },
29
+ whatsNewText: { control: { type: 'text' } },
28
30
  image: { control: { type: 'text' } }
29
31
  };
30
32
  //# sourceMappingURL=AppAnnouncement.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppAnnouncement.stories.js","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAEhF,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,eAAe;CACnB,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG;QACd,8BAA8B;QAC9B,+CAA+C;QAC/C,oBAAoB;KACrB,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,IACd,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,GAC/D,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,OAAO,EAAE,2BAA2B;IACpC,WAAW,EAAE,sEAAsE;IACnF,YAAY,EAAE,sBAAsB;IACpC,KAAK,EACH,kGAAkG;CACrG,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACtC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC1C,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;CACrC,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useContext } from 'react';\n\nimport { ToasterContext } from '@pega/cosmos-react-core';\nimport { AppAnnouncement, AppAnnouncementProps } from '@pega/cosmos-react-work';\n\nexport default {\n title: 'Work/AppAnnouncement',\n component: AppAnnouncement\n} as Meta;\n\nexport const AppAnnouncementDemo: Story<AppAnnouncementProps> = (args: AppAnnouncementProps) => {\n const { push } = useContext(ToasterContext);\n\n const details = [\n 'New React based UI rendering',\n 'Streamlined components for all business needs',\n 'Other improvements'\n ];\n\n return (\n <AppAnnouncement\n heading={args.heading}\n description={args.description}\n details={details}\n whatsNewLink={args.whatsNewLink}\n image={args.image}\n onDismiss={() => push({ content: 'Dismissed AppAnnouncement' })}\n />\n );\n};\n\nAppAnnouncementDemo.args = {\n heading: 'Pega Cosmos Design System',\n description: 'We have launched a brand new experience to accelerate your workflow!',\n whatsNewLink: 'https://www.pega.com',\n image:\n 'https://www.pega.com/sites/default/files/styles/2560/public/media/images/2019-01/pega-logo_0.png'\n};\n\nAppAnnouncementDemo.argTypes = {\n heading: { control: { type: 'text' } },\n description: { control: { type: 'text' } },\n whatsNewLink: { control: { type: 'text' } },\n image: { control: { type: 'text' } }\n};\n"]}
1
+ {"version":3,"file":"AppAnnouncement.stories.js","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAEhF,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,eAAe;CACnB,CAAC;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,IAA0B,EAAE,EAAE;IAC7F,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG;QACd,8BAA8B;QAC9B,+CAA+C;QAC/C,oBAAoB;KACrB,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,IACd,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,GAC/D,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,IAAI,GAAG;IACzB,OAAO,EAAE,2BAA2B;IACpC,WAAW,EAAE,sEAAsE;IACnF,YAAY,EAAE,sBAAsB;IACpC,YAAY,EAAE,gBAAgB;IAC9B,KAAK,EACH,kGAAkG;CACrG,CAAC;AAEF,mBAAmB,CAAC,QAAQ,GAAG;IAC7B,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACtC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC1C,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC3C,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;CACrC,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useContext } from 'react';\n\nimport { ToasterContext } from '@pega/cosmos-react-core';\nimport { AppAnnouncement, AppAnnouncementProps } from '@pega/cosmos-react-work';\n\nexport default {\n title: 'Work/AppAnnouncement',\n component: AppAnnouncement\n} as Meta;\n\nexport const AppAnnouncementDemo: Story<AppAnnouncementProps> = (args: AppAnnouncementProps) => {\n const { push } = useContext(ToasterContext);\n\n const details = [\n 'New React based UI rendering',\n 'Streamlined components for all business needs',\n 'Other improvements'\n ];\n\n return (\n <AppAnnouncement\n heading={args.heading}\n description={args.description}\n details={details}\n whatsNewLink={args.whatsNewLink}\n whatsNewText={args.whatsNewText}\n image={args.image}\n onDismiss={() => push({ content: 'Dismissed AppAnnouncement' })}\n />\n );\n};\n\nAppAnnouncementDemo.args = {\n heading: 'Pega Cosmos Design System',\n description: 'We have launched a brand new experience to accelerate your workflow!',\n whatsNewLink: 'https://www.pega.com',\n whatsNewText: \"See what's new\",\n image:\n 'https://www.pega.com/sites/default/files/styles/2560/public/media/images/2019-01/pega-logo_0.png'\n};\n\nAppAnnouncementDemo.argTypes = {\n heading: { control: { type: 'text' } },\n description: { control: { type: 'text' } },\n whatsNewLink: { control: { type: 'text' } },\n whatsNewText: { control: { type: 'text' } },\n image: { control: { type: 'text' } }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.stories.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAW,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAML,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAEL,aAAa,EAEb,eAAe,EAEf,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;;AAiBjC,wBAOU;AAEV,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,iBAAiB,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAUD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAuVlD,CAAC;AAYF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AAuBF,eAAO,MAAM,gBAAgB,EAAE,KAY9B,CAAC"}
1
+ {"version":3,"file":"CaseView.stories.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAW,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAML,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAEL,aAAa,EAEb,eAAe,EAEf,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;;AAiBjC,wBAOU;AAEV,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,iBAAiB,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAUD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAwWlD,CAAC;AAYF,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAC;AAuBF,eAAO,MAAM,gBAAgB,EAAE,KAY9B,CAAC"}
@@ -50,6 +50,12 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
50
50
  return PreviewLinkComponent;
51
51
  }
52
52
  };
53
+ const pulseOnMentionPreview = ({ id, type, text }) => {
54
+ if (type === 'case') {
55
+ setPreview({ id, name: text });
56
+ setPreviewCurrentTabId(`summary-${id}`);
57
+ }
58
+ };
53
59
  const demoTabItems = tabs || getTabs();
54
60
  const [demoCurrentTabId, setDemoCurrentTabId] = useState(isMediumOrAbove ? demoTabItems[0].id : `summary-${caseId}`);
55
61
  const demoTabs = {
@@ -57,7 +63,7 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
57
63
  currentTabId: demoCurrentTabId,
58
64
  onClick: (id) => setDemoCurrentTabId(id)
59
65
  };
60
- const demoStages = stages ? _jsx(StagesDemo, { currentStage: 3, numberOfStages: 5 }) : undefined;
66
+ const demoStages = stages ? _jsx(StagesDemo, { currentStage: 3 }) : undefined;
61
67
  const demoTabContent = useMemo(() => {
62
68
  return [
63
69
  {
@@ -66,7 +72,7 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
66
72
  },
67
73
  {
68
74
  id: 'Pulse',
69
- content: _jsx(PulseMock, { markdownMap: pulseMarkdownMap })
75
+ content: (_jsx(PulseMock, { markdownMap: pulseMarkdownMap, onMentionPreview: pulseOnMentionPreview }))
70
76
  },
71
77
  {
72
78
  id: 'Accounts',
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.stories.js","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, ReactElement, useMemo } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Icon,\n registerIcon,\n Status,\n Link,\n Grid,\n MenuItemProps,\n useBreakpoint\n} from '@pega/cosmos-react-core';\nimport { TokenMap } from '@pega/cosmos-react-rte';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\nimport {\n CaseView,\n CaseViewProps,\n CasePreview,\n CaseHeaderProps,\n CaseSummaryFields,\n CaseSummaryFieldsProps\n} from '@pega/cosmos-react-work';\n\nimport { TasksDemo } from '../Tasks/Tasks.stories';\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TableDemo } from '../../core/Table/Table.stories';\nimport { StandardChat } from '../../social/Chat/Chat.stories';\nimport { TagsDemo } from '../Tags/Tags.stories';\nimport { StagesDemo } from '../Stages/Stages.stories';\nimport { StakeHoldersDemo } from '../Stakeholders/Stakeholders.stories';\n\nimport { Details } from './Details.mocks';\nimport { PulseMock } from './Pulse.mocks';\nimport { AttachmentsMock } from './Attachments.mocks';\nimport { getTabs, MockOperatorFieldValue, MockSummaryList } from './CaseView.mocks';\n\nregisterIcon(userSolidIcon);\n\nexport default {\n title: 'Work/CaseView',\n component: CaseView,\n includeStories: ['CaseViewDemo', 'CaseViewWithAppShell', 'CaseViewWithChat'],\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport interface CaseViewStoryProps {\n banners?: CaseViewProps['banners'];\n persistentUtility?: CaseViewProps['persistentUtility'];\n caseId?: string;\n heading?: string;\n icon?: ReactElement;\n parentCases?: MenuItemProps[];\n primaryFields?: CaseSummaryFieldsProps['primaryFields'];\n secondaryFields?: CaseSummaryFieldsProps['secondaryFields'];\n actions?: CaseHeaderProps['actions'];\n tabs?: any;\n tasksWidget?: ReactElement;\n stages?: boolean;\n showUtilities?: boolean;\n showFollowedIcon?: boolean;\n defaultCollapsedUtilities?: boolean;\n}\n\n/*\n _____ _ _ _\n/ __ \\ | | | (_)\n| / \\/ __ _ ___ ___ | | | |_ _____ __\n| | / _` / __|/ _ \\| | | | |/ _ \\ \\ /\\ / /\n| \\__/\\ (_| \\__ \\ __/\\ \\_/ / | __/\\ V V /\n \\____/\\__,_|___/\\___| \\___/|_|\\___| \\_/\\_/\n */\nexport const CaseViewDemo: Story<CaseViewStoryProps> = ({\n banners,\n persistentUtility,\n caseId = 'C-456',\n parentCases,\n heading = 'Cosmos demo case',\n icon = <Icon name='user-solid' />,\n tasksWidget = <TasksDemo />,\n primaryFields,\n secondaryFields,\n actions,\n tabs,\n stages = true,\n showUtilities = true,\n defaultCollapsedUtilities = false,\n showFollowedIcon = true\n}: CaseViewStoryProps) => {\n const previewTabItems = getTabs();\n const [preview, setPreview] = useState<null | { id: string; name: string }>(null);\n const [previewCurrentTabId, setPreviewCurrentTabId] = useState(previewTabItems[0].id);\n const [followed, setFollowed] = useState(false);\n\n const isMediumOrAbove = useBreakpoint('md');\n\n const PreviewLinkComponent = ({ token: linkToken }: { token: TokenMap['link'] }) => {\n return (\n <Link\n href={linkToken.href}\n previewable\n onPreview={() => {\n setPreview({ id: linkToken.href, name: 'Previewable Case' });\n setPreviewCurrentTabId(`summary-${linkToken.href}`);\n }}\n >\n {linkToken.text}\n </Link>\n );\n };\n\n const pulseMarkdownMap = {\n link: (linkToken: TokenMap['link']) => {\n if (linkToken.href?.startsWith('C-')) return PreviewLinkComponent;\n }\n };\n\n const demoTabItems = tabs || getTabs();\n\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? demoTabItems[0].id : `summary-${caseId}`\n );\n\n const demoTabs = {\n items: demoTabItems,\n currentTabId: demoCurrentTabId,\n onClick: (id: string) => setDemoCurrentTabId(id)\n };\n\n const demoStages = stages ? <StagesDemo currentStage={3} numberOfStages={5} /> : undefined;\n\n const demoTabContent = useMemo(() => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock markdownMap={pulseMarkdownMap} />\n },\n {\n id: 'Accounts',\n content: <TableDemo />\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n }, []);\n\n const previewTabs = {\n items: previewTabItems,\n currentTabId: previewCurrentTabId,\n onClick: (id: string) => setPreviewCurrentTabId(id)\n };\n\n const previewTabContent = useMemo(() => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock markdownMap={pulseMarkdownMap} />\n },\n {\n id: 'Accounts',\n content: <TableDemo />\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n }, []);\n\n const demoPrimaryFields =\n primaryFields ||\n [\n {\n name: 'Member ID',\n value: 'M205435569FD'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }));\n\n const createDate = new Date(2016, 1, 8);\n const msInYear = 1000 * 60 * 60 * 24 * 365;\n const diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\n const demoSecondaryFields =\n secondaryFields ||\n [\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n },\n {\n name: 'Created by',\n value: <MockOperatorFieldValue />\n },\n {\n name: 'Previewable Case',\n value: (\n <Link\n href='/cases/C-789'\n previewable\n onPreview={() => {\n setPreview({ id: 'C-789', name: 'Previewable Case' });\n setPreviewCurrentTabId('summary-C-789');\n }}\n >\n Previewable Case - C-789\n </Link>\n )\n }\n ].map((f, i) => ({ ...f, id: `s-${i}` }));\n\n const demoParentCases = useMemo(() => {\n if (parentCases) {\n return parentCases.map(parentCase => {\n return {\n ...parentCase,\n onPreview: () => {\n setPreview({ id: parentCase.id, name: parentCase.primary });\n setPreviewCurrentTabId(`summary-${parentCase.id}`);\n }\n };\n });\n }\n\n const ids = new Set([caseId]);\n\n return Array.from({ length: 5 }, (_, i) => {\n let id: string;\n // Ensure parent ids are unique.\n do {\n id = `C-${Math.floor(Math.random() * 200 + 100)}`;\n } while (ids.has(id));\n ids.add(id);\n\n const name = `Parent ${5 - i}`;\n\n return {\n id,\n primary: `${name} - ${id}`,\n href: `/cases/${id}`,\n previewable: true,\n onPreview: () => {\n setPreview({ id, name });\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n });\n }, [caseId, parentCases]);\n\n return (\n <>\n <CasePreview\n open={!!preview}\n caseId={preview?.id ?? ''}\n parentCases={[...demoParentCases]\n .splice(\n 0,\n demoParentCases.findIndex(c => c.id === preview?.id)\n )\n .map(c => {\n return { ...c, id: `preview-${c.id}` };\n })}\n heading={preview?.name ?? ''}\n caseLink={{ href: `/cases/${preview?.id}`, target: '_blank' }}\n icon={icon}\n followed={showFollowedIcon ? !followed : undefined}\n onEdit={action('Case Preview Edit was clicked')}\n actions={\n actions ||\n Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: action(`Clicked Option Number ${i + 1}`)\n };\n })\n }\n summary={\n <CaseSummaryFields\n primaryFields={[\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }))}\n secondaryFields={[\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n }\n ].map((f, i) => ({ ...f, id: `s-${i}` }))}\n />\n }\n stages={demoStages}\n tasks={tasksWidget}\n tabs={previewTabs}\n tabContent={previewTabContent}\n utilities={\n showUtilities ? (\n <Grid container={{ rowGap: 2 }}>\n <AttachmentsMock />\n <StakeHoldersDemo />\n <MockSummaryList icon='user-star' name='Followers' />\n <TagsDemo />\n </Grid>\n ) : (\n <Grid container={{ rowGap: 2 }}>\n <AttachmentsMock />\n </Grid>\n )\n }\n onBeforeClose={() => {\n // TODO: Maybe should handle syncing state to avoid additional render with duplicate prop value\n if (preview) {\n setPreview(null);\n }\n }}\n />\n <CaseView\n caseId={caseId}\n parentCases={demoParentCases}\n heading={heading}\n icon={icon}\n followed={showFollowedIcon ? followed : undefined}\n onFollowedChange={showFollowedIcon ? setFollowed : undefined}\n actions={\n actions ||\n Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: action(`Clicked Option Number ${i + 1}`)\n };\n })\n }\n onEdit={action('Case View Edit was clicked')}\n summary={\n <CaseSummaryFields\n primaryFields={demoPrimaryFields}\n secondaryFields={demoSecondaryFields}\n />\n }\n tabs={demoTabs}\n banners={banners}\n persistentUtility={persistentUtility}\n stages={demoStages}\n tasks={tasksWidget}\n tabContent={demoTabContent}\n defaultCollapsedUtilities={defaultCollapsedUtilities}\n utilities={\n showUtilities ? (\n <>\n <AttachmentsMock />\n <StakeHoldersDemo />\n <MockSummaryList icon='user-star' name='Followers' />\n <TagsDemo />\n </>\n ) : (\n <AttachmentsMock />\n )\n }\n utilitiesSummaryItems={\n showUtilities\n ? [\n { iconName: 'paper-clip', count: 4 },\n { iconName: 'user-search-solid', count: 10 },\n { iconName: 'user-star-solid', count: 5 },\n { iconName: 'tag', count: 10 }\n ]\n : [{ iconName: 'paper-clip', count: 4 }]\n }\n />\n </>\n );\n};\n\n/*\n _____ _ _ _ ___ _____ _ _ _\n/ __ \\ | | | (_) / _ \\ / ___| | | | |\n| / \\/ __ _ ___ ___ | | | |_ _____ ________/ /_\\ \\_ __ _ __ \\ `--.| |__ ___| | |\n| | / _` / __|/ _ \\| | | | |/ _ \\ \\ /\\ / /______| _ | '_ \\| '_ \\ `--. \\ '_ \\ / _ \\ | |\n| \\__/\\ (_| \\__ \\ __/\\ \\_/ / | __/\\ V V / | | | | |_) | |_) /\\__/ / | | | __/ | |\n \\____/\\__,_|___/\\___| \\___/|_|\\___| \\_/\\_/ \\_| |_/ .__/| .__/\\____/|_| |_|\\___|_|_|\n | | | |\n |_| |_|\n */\nexport const CaseViewWithAppShell: Story = (props: CaseViewStoryProps) => {\n return <AppShellDemo appHeader main={<CaseViewDemo {...props} />} />;\n};\n\n/*\n _____ _ _ _ _____ _ _\n/ __ \\ | | | (_) / __ \\ | | |\n| / \\/ __ _ ___ ___ | | | |_ _____ ________| / \\/ |__ __ _| |_\n| | / _` / __|/ _ \\| | | | |/ _ \\ \\ /\\ / /______| | | '_ \\ / _` | __|\n| \\__/\\ (_| \\__ \\ __/\\ \\_/ / | __/\\ V V / | \\__/\\ | | | (_| | |_\n \\____/\\__,_|___/\\___| \\___/|_|\\___| \\_/\\_/ \\____/_| |_|\\__,_|\\__|\n */\nCaseViewWithAppShell.parameters = {\n eyes: {\n runBefore: () => {\n document\n .querySelector<HTMLButtonElement>(\n // Find the case actions menu.\n '[aria-label=\"Actions\"]'\n )\n ?.click();\n }\n }\n};\n\nexport const CaseViewWithChat: Story = (props: CaseViewStoryProps) => {\n return (\n <AppShellDemo\n appHeader\n main={\n <CaseViewDemo\n persistentUtility={{ content: <StandardChat chatWidth='100%' />, title: 'Chat' }}\n {...props}\n />\n }\n />\n );\n};\n"]}
1
+ {"version":3,"file":"CaseView.stories.js","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, ReactElement, useMemo } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Icon,\n registerIcon,\n Status,\n Link,\n Grid,\n MenuItemProps,\n useBreakpoint\n} from '@pega/cosmos-react-core';\nimport { TokenMap } from '@pega/cosmos-react-rte';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\nimport {\n CaseView,\n CaseViewProps,\n CasePreview,\n CaseHeaderProps,\n CaseSummaryFields,\n CaseSummaryFieldsProps\n} from '@pega/cosmos-react-work';\n\nimport { TasksDemo } from '../Tasks/Tasks.stories';\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\nimport { TableDemo } from '../../core/Table/Table.stories';\nimport { StandardChat } from '../../social/Chat/Chat.stories';\nimport { TagsDemo } from '../Tags/Tags.stories';\nimport { StagesDemo } from '../Stages/Stages.stories';\nimport { StakeHoldersDemo } from '../Stakeholders/Stakeholders.stories';\n\nimport { Details } from './Details.mocks';\nimport { PulseMock } from './Pulse.mocks';\nimport { AttachmentsMock } from './Attachments.mocks';\nimport { getTabs, MockOperatorFieldValue, MockSummaryList } from './CaseView.mocks';\n\nregisterIcon(userSolidIcon);\n\nexport default {\n title: 'Work/CaseView',\n component: CaseView,\n includeStories: ['CaseViewDemo', 'CaseViewWithAppShell', 'CaseViewWithChat'],\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport interface CaseViewStoryProps {\n banners?: CaseViewProps['banners'];\n persistentUtility?: CaseViewProps['persistentUtility'];\n caseId?: string;\n heading?: string;\n icon?: ReactElement;\n parentCases?: MenuItemProps[];\n primaryFields?: CaseSummaryFieldsProps['primaryFields'];\n secondaryFields?: CaseSummaryFieldsProps['secondaryFields'];\n actions?: CaseHeaderProps['actions'];\n tabs?: any;\n tasksWidget?: ReactElement;\n stages?: boolean;\n showUtilities?: boolean;\n showFollowedIcon?: boolean;\n defaultCollapsedUtilities?: boolean;\n}\n\n/*\n _____ _ _ _\n/ __ \\ | | | (_)\n| / \\/ __ _ ___ ___ | | | |_ _____ __\n| | / _` / __|/ _ \\| | | | |/ _ \\ \\ /\\ / /\n| \\__/\\ (_| \\__ \\ __/\\ \\_/ / | __/\\ V V /\n \\____/\\__,_|___/\\___| \\___/|_|\\___| \\_/\\_/\n */\nexport const CaseViewDemo: Story<CaseViewStoryProps> = ({\n banners,\n persistentUtility,\n caseId = 'C-456',\n parentCases,\n heading = 'Cosmos demo case',\n icon = <Icon name='user-solid' />,\n tasksWidget = <TasksDemo />,\n primaryFields,\n secondaryFields,\n actions,\n tabs,\n stages = true,\n showUtilities = true,\n defaultCollapsedUtilities = false,\n showFollowedIcon = true\n}: CaseViewStoryProps) => {\n const previewTabItems = getTabs();\n const [preview, setPreview] = useState<null | { id: string; name: string }>(null);\n const [previewCurrentTabId, setPreviewCurrentTabId] = useState(previewTabItems[0].id);\n const [followed, setFollowed] = useState(false);\n\n const isMediumOrAbove = useBreakpoint('md');\n\n const PreviewLinkComponent = ({ token: linkToken }: { token: TokenMap['link'] }) => {\n return (\n <Link\n href={linkToken.href}\n previewable\n onPreview={() => {\n setPreview({ id: linkToken.href, name: 'Previewable Case' });\n setPreviewCurrentTabId(`summary-${linkToken.href}`);\n }}\n >\n {linkToken.text}\n </Link>\n );\n };\n\n const pulseMarkdownMap = {\n link: (linkToken: TokenMap['link']) => {\n if (linkToken.href?.startsWith('C-')) return PreviewLinkComponent;\n }\n };\n\n const pulseOnMentionPreview = ({\n id,\n type,\n text\n }: {\n id: string;\n type: string;\n text: string;\n }) => {\n if (type === 'case') {\n setPreview({ id, name: text });\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n\n const demoTabItems = tabs || getTabs();\n\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? demoTabItems[0].id : `summary-${caseId}`\n );\n\n const demoTabs = {\n items: demoTabItems,\n currentTabId: demoCurrentTabId,\n onClick: (id: string) => setDemoCurrentTabId(id)\n };\n\n const demoStages = stages ? <StagesDemo currentStage={3} /> : undefined;\n\n const demoTabContent = useMemo(() => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: (\n <PulseMock markdownMap={pulseMarkdownMap} onMentionPreview={pulseOnMentionPreview} />\n )\n },\n {\n id: 'Accounts',\n content: <TableDemo />\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n }, []);\n\n const previewTabs = {\n items: previewTabItems,\n currentTabId: previewCurrentTabId,\n onClick: (id: string) => setPreviewCurrentTabId(id)\n };\n\n const previewTabContent = useMemo(() => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock markdownMap={pulseMarkdownMap} />\n },\n {\n id: 'Accounts',\n content: <TableDemo />\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n }, []);\n\n const demoPrimaryFields =\n primaryFields ||\n [\n {\n name: 'Member ID',\n value: 'M205435569FD'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }));\n\n const createDate = new Date(2016, 1, 8);\n const msInYear = 1000 * 60 * 60 * 24 * 365;\n const diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\n const demoSecondaryFields =\n secondaryFields ||\n [\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n },\n {\n name: 'Created by',\n value: <MockOperatorFieldValue />\n },\n {\n name: 'Previewable Case',\n value: (\n <Link\n href='/cases/C-789'\n previewable\n onPreview={() => {\n setPreview({ id: 'C-789', name: 'Previewable Case' });\n setPreviewCurrentTabId('summary-C-789');\n }}\n >\n Previewable Case - C-789\n </Link>\n )\n }\n ].map((f, i) => ({ ...f, id: `s-${i}` }));\n\n const demoParentCases = useMemo(() => {\n if (parentCases) {\n return parentCases.map(parentCase => {\n return {\n ...parentCase,\n onPreview: () => {\n setPreview({ id: parentCase.id, name: parentCase.primary });\n setPreviewCurrentTabId(`summary-${parentCase.id}`);\n }\n };\n });\n }\n\n const ids = new Set([caseId]);\n\n return Array.from({ length: 5 }, (_, i) => {\n let id: string;\n // Ensure parent ids are unique.\n do {\n id = `C-${Math.floor(Math.random() * 200 + 100)}`;\n } while (ids.has(id));\n ids.add(id);\n\n const name = `Parent ${5 - i}`;\n\n return {\n id,\n primary: `${name} - ${id}`,\n href: `/cases/${id}`,\n previewable: true,\n onPreview: () => {\n setPreview({ id, name });\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n });\n }, [caseId, parentCases]);\n\n return (\n <>\n <CasePreview\n open={!!preview}\n caseId={preview?.id ?? ''}\n parentCases={[...demoParentCases]\n .splice(\n 0,\n demoParentCases.findIndex(c => c.id === preview?.id)\n )\n .map(c => {\n return { ...c, id: `preview-${c.id}` };\n })}\n heading={preview?.name ?? ''}\n caseLink={{ href: `/cases/${preview?.id}`, target: '_blank' }}\n icon={icon}\n followed={showFollowedIcon ? !followed : undefined}\n onEdit={action('Case Preview Edit was clicked')}\n actions={\n actions ||\n Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: action(`Clicked Option Number ${i + 1}`)\n };\n })\n }\n summary={\n <CaseSummaryFields\n primaryFields={[\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }))}\n secondaryFields={[\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n }\n ].map((f, i) => ({ ...f, id: `s-${i}` }))}\n />\n }\n stages={demoStages}\n tasks={tasksWidget}\n tabs={previewTabs}\n tabContent={previewTabContent}\n utilities={\n showUtilities ? (\n <Grid container={{ rowGap: 2 }}>\n <AttachmentsMock />\n <StakeHoldersDemo />\n <MockSummaryList icon='user-star' name='Followers' />\n <TagsDemo />\n </Grid>\n ) : (\n <Grid container={{ rowGap: 2 }}>\n <AttachmentsMock />\n </Grid>\n )\n }\n onBeforeClose={() => {\n // TODO: Maybe should handle syncing state to avoid additional render with duplicate prop value\n if (preview) {\n setPreview(null);\n }\n }}\n />\n <CaseView\n caseId={caseId}\n parentCases={demoParentCases}\n heading={heading}\n icon={icon}\n followed={showFollowedIcon ? followed : undefined}\n onFollowedChange={showFollowedIcon ? setFollowed : undefined}\n actions={\n actions ||\n Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: action(`Clicked Option Number ${i + 1}`)\n };\n })\n }\n onEdit={action('Case View Edit was clicked')}\n summary={\n <CaseSummaryFields\n primaryFields={demoPrimaryFields}\n secondaryFields={demoSecondaryFields}\n />\n }\n tabs={demoTabs}\n banners={banners}\n persistentUtility={persistentUtility}\n stages={demoStages}\n tasks={tasksWidget}\n tabContent={demoTabContent}\n defaultCollapsedUtilities={defaultCollapsedUtilities}\n utilities={\n showUtilities ? (\n <>\n <AttachmentsMock />\n <StakeHoldersDemo />\n <MockSummaryList icon='user-star' name='Followers' />\n <TagsDemo />\n </>\n ) : (\n <AttachmentsMock />\n )\n }\n utilitiesSummaryItems={\n showUtilities\n ? [\n { iconName: 'paper-clip', count: 4 },\n { iconName: 'user-search-solid', count: 10 },\n { iconName: 'user-star-solid', count: 5 },\n { iconName: 'tag', count: 10 }\n ]\n : [{ iconName: 'paper-clip', count: 4 }]\n }\n />\n </>\n );\n};\n\n/*\n _____ _ _ _ ___ _____ _ _ _\n/ __ \\ | | | (_) / _ \\ / ___| | | | |\n| / \\/ __ _ ___ ___ | | | |_ _____ ________/ /_\\ \\_ __ _ __ \\ `--.| |__ ___| | |\n| | / _` / __|/ _ \\| | | | |/ _ \\ \\ /\\ / /______| _ | '_ \\| '_ \\ `--. \\ '_ \\ / _ \\ | |\n| \\__/\\ (_| \\__ \\ __/\\ \\_/ / | __/\\ V V / | | | | |_) | |_) /\\__/ / | | | __/ | |\n \\____/\\__,_|___/\\___| \\___/|_|\\___| \\_/\\_/ \\_| |_/ .__/| .__/\\____/|_| |_|\\___|_|_|\n | | | |\n |_| |_|\n */\nexport const CaseViewWithAppShell: Story = (props: CaseViewStoryProps) => {\n return <AppShellDemo appHeader main={<CaseViewDemo {...props} />} />;\n};\n\n/*\n _____ _ _ _ _____ _ _\n/ __ \\ | | | (_) / __ \\ | | |\n| / \\/ __ _ ___ ___ | | | |_ _____ ________| / \\/ |__ __ _| |_\n| | / _` / __|/ _ \\| | | | |/ _ \\ \\ /\\ / /______| | | '_ \\ / _` | __|\n| \\__/\\ (_| \\__ \\ __/\\ \\_/ / | __/\\ V V / | \\__/\\ | | | (_| | |_\n \\____/\\__,_|___/\\___| \\___/|_|\\___| \\_/\\_/ \\____/_| |_|\\__,_|\\__|\n */\nCaseViewWithAppShell.parameters = {\n eyes: {\n runBefore: () => {\n document\n .querySelector<HTMLButtonElement>(\n // Find the case actions menu.\n '[aria-label=\"Actions\"]'\n )\n ?.click();\n }\n }\n};\n\nexport const CaseViewWithChat: Story = (props: CaseViewStoryProps) => {\n return (\n <AppShellDemo\n appHeader\n main={\n <CaseViewDemo\n persistentUtility={{ content: <StandardChat chatWidth='100%' />, title: 'Chat' }}\n {...props}\n />\n }\n />\n );\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { MDMap } from '@pega/cosmos-react-rte';
3
- export declare const PulseMock: ({ markdownMap }: {
4
- markdownMap?: MDMap | undefined;
2
+ import { FeedProps } from '@pega/cosmos-react-social/lib/components/Feed/Feed';
3
+ export declare const PulseMock: ({ markdownMap, onMentionPreview }: {
4
+ markdownMap?: FeedProps['markdownMap'];
5
+ onMentionPreview?: FeedProps['onMentionPreview'];
5
6
  }) => JSX.Element;
6
7
  //# sourceMappingURL=Pulse.mocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pulse.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/Pulse.mocks.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAM/C,eAAO,MAAM,SAAS;;iBAiDrB,CAAC"}
1
+ {"version":3,"file":"Pulse.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/Pulse.mocks.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAM/E,eAAO,MAAM,SAAS;kBAIN,SAAS,CAAC,aAAa,CAAC;uBACnB,SAAS,CAAC,kBAAkB,CAAC;iBAoDjD,CAAC"}
@@ -3,7 +3,7 @@ import { useMemo, useState } from 'react';
3
3
  import { Tabs, TabPanel, Flex, Table, Card, CardContent } from '@pega/cosmos-react-core';
4
4
  import { FeedDemo } from '../../social/Feed/Feed.stories';
5
5
  const msInHour = 60 * 60 * 1000;
6
- export const PulseMock = ({ markdownMap }) => {
6
+ export const PulseMock = ({ markdownMap, onMentionPreview }) => {
7
7
  const [currentTab, setCurrentTab] = useState('pulse');
8
8
  const historyData = useMemo(() => Array.from({ length: 37 }, (_, i) => {
9
9
  return {
@@ -16,7 +16,7 @@ export const PulseMock = ({ markdownMap }) => {
16
16
  return (_jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Tabs, { tabs: [
17
17
  { id: 'pulse', name: 'Pulse' },
18
18
  { id: 'history', name: 'History' }
19
- ], currentTabId: currentTab, onTabClick: setCurrentTab }), _jsxs(TabPanel, { tabId: currentTab, children: [currentTab === 'pulse' && _jsx(FeedDemo, { markdownMap: markdownMap }), currentTab === 'history' && (_jsx(Card, { children: _jsx(CardContent, { children: _jsx(Table, { title: 'History', data: historyData, columns: [
19
+ ], currentTabId: currentTab, onTabClick: setCurrentTab }), _jsxs(TabPanel, { tabId: currentTab, children: [currentTab === 'pulse' && (_jsx(FeedDemo, { markdownMap: markdownMap, onMentionPreview: onMentionPreview })), currentTab === 'history' && (_jsx(Card, { children: _jsx(CardContent, { children: _jsx(Table, { title: 'History', data: historyData, columns: [
20
20
  { renderer: 'date', label: 'Date' },
21
21
  { renderer: 'description', label: 'Description' },
22
22
  { renderer: 'performedBy', label: 'Performed By' }