@pega/cosmos-react-demos 3.0.0-dev.21.1 → 3.0.0-dev.23.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 (251) hide show
  1. package/jsx/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  2. package/jsx/build/AppHeader/AppHeader.stories.jsx +3 -4
  3. package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
  4. package/jsx/build/FlowModeller/FlowModeller.stories.jsx +4 -4
  5. package/jsx/build/FlowModeller/FlowModeller.stories.jsx.map +1 -1
  6. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  7. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +2 -1
  8. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
  9. package/jsx/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
  10. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx +3 -3
  11. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx.map +1 -1
  12. package/jsx/build/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
  13. package/jsx/build/PageTemplates/PageTemplates.mocks.jsx +3 -3
  14. package/jsx/build/PageTemplates/PageTemplates.mocks.jsx.map +1 -1
  15. package/jsx/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  16. package/jsx/build/PageTemplates/PageTemplates.stories.jsx +3 -3
  17. package/jsx/build/PageTemplates/PageTemplates.stories.jsx.map +1 -1
  18. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
  19. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +91 -0
  20. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
  21. package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
  22. package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
  23. package/jsx/core/AppShell/AppShell.stories.jsx +6 -7
  24. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  25. package/jsx/core/Banner/Banner.stories.d.ts +0 -1
  26. package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
  27. package/jsx/core/Banner/Banner.stories.jsx +0 -8
  28. package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
  29. package/jsx/core/CreditCard/CreditCard.stories.jsx +1 -1
  30. package/jsx/core/CreditCard/CreditCard.stories.jsx.map +1 -1
  31. package/jsx/core/Currency/Currency.stories.d.ts +5 -3
  32. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  33. package/jsx/core/Currency/Currency.stories.jsx +2 -2
  34. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  35. package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
  36. package/jsx/core/DateTime/DateTime.stories.jsx +3 -0
  37. package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
  38. package/jsx/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
  39. package/jsx/core/FieldGroup/FieldGroupList.stories.jsx +4 -0
  40. package/jsx/core/FieldGroup/FieldGroupList.stories.jsx.map +1 -1
  41. package/jsx/core/FieldValueList/FieldValueList.stories.jsx +1 -1
  42. package/jsx/core/FieldValueList/FieldValueList.stories.jsx.map +1 -1
  43. package/jsx/core/FieldValueList/FieldValueList.styles.d.ts +2 -0
  44. package/jsx/core/FieldValueList/FieldValueList.styles.d.ts.map +1 -0
  45. package/{lib/core/FieldValueList/FieldValueList.mocks.js → jsx/core/FieldValueList/FieldValueList.styles.js} +2 -3
  46. package/jsx/core/FieldValueList/FieldValueList.styles.js.map +1 -0
  47. package/jsx/core/File/FileDisplay.stories.d.ts.map +1 -1
  48. package/jsx/core/File/FileDisplay.stories.jsx +4 -5
  49. package/jsx/core/File/FileDisplay.stories.jsx.map +1 -1
  50. package/jsx/core/Form/Form.mocks.jsx +3 -3
  51. package/jsx/core/Form/Form.mocks.jsx.map +1 -1
  52. package/jsx/core/Menu/Menu.stories.jsx +3 -3
  53. package/jsx/core/Menu/Menu.stories.jsx.map +1 -1
  54. package/jsx/core/Modal/Modal.stories.d.ts.map +1 -1
  55. package/jsx/core/Modal/Modal.stories.jsx +16 -20
  56. package/jsx/core/Modal/Modal.stories.jsx.map +1 -1
  57. package/jsx/core/Number/Number.stories.d.ts +1 -1
  58. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  59. package/jsx/core/Number/Number.stories.jsx +4 -4
  60. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  61. package/jsx/core/SummaryList/SummaryList.stories.d.ts.map +1 -1
  62. package/jsx/core/SummaryList/SummaryList.stories.jsx +4 -4
  63. package/jsx/core/SummaryList/SummaryList.stories.jsx.map +1 -1
  64. package/jsx/core/Toaster/Toaster.stories.jsx +3 -3
  65. package/jsx/core/Toaster/Toaster.stories.jsx.map +1 -1
  66. package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  67. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +12 -1
  68. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
  69. package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx +2 -2
  70. package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx.map +1 -1
  71. package/jsx/cs/InteractionNotification/InteractionNotification.stories.d.ts +1 -0
  72. package/jsx/cs/InteractionNotification/InteractionNotification.stories.d.ts.map +1 -1
  73. package/jsx/cs/InteractionNotification/InteractionNotification.stories.jsx +6 -6
  74. package/jsx/cs/InteractionNotification/InteractionNotification.stories.jsx.map +1 -1
  75. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  76. package/jsx/social/Email/Email.stories.jsx +5 -6
  77. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  78. package/jsx/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
  79. package/jsx/social/Feed/FeedNewPost.stories.jsx +1 -1
  80. package/jsx/social/Feed/FeedNewPost.stories.jsx.map +1 -1
  81. package/jsx/social/Feed/FeedPost.stories.d.ts.map +1 -1
  82. package/jsx/social/Feed/FeedPost.stories.jsx +2 -2
  83. package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
  84. package/jsx/social/Feed/FeedReply.stories.d.ts.map +1 -1
  85. package/jsx/social/Feed/FeedReply.stories.jsx +1 -1
  86. package/jsx/social/Feed/FeedReply.stories.jsx.map +1 -1
  87. package/jsx/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
  88. package/jsx/social/Feed/FeedReplyInput.stories.jsx +1 -1
  89. package/jsx/social/Feed/FeedReplyInput.stories.jsx.map +1 -1
  90. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
  91. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx +2 -3
  92. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx.map +1 -1
  93. package/jsx/work/CaseView/Attachments.mocks.jsx +5 -6
  94. package/jsx/work/CaseView/Attachments.mocks.jsx.map +1 -1
  95. package/jsx/work/CaseView/CaseView.mocks.d.ts +74 -2
  96. package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  97. package/jsx/work/CaseView/CaseView.mocks.jsx +200 -11
  98. package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
  99. package/jsx/work/CaseView/CaseView.stories.d.ts +3 -22
  100. package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
  101. package/jsx/work/CaseView/CaseView.stories.jsx +49 -238
  102. package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
  103. package/jsx/wss/AppShell/AppShell.mocks.d.ts +11 -0
  104. package/jsx/wss/AppShell/AppShell.mocks.d.ts.map +1 -1
  105. package/jsx/wss/AppShell/AppShell.mocks.jsx +11 -0
  106. package/jsx/wss/AppShell/AppShell.mocks.jsx.map +1 -1
  107. package/jsx/wss/AppShell/AppShell.stories.d.ts +11 -9
  108. package/jsx/wss/AppShell/AppShell.stories.d.ts.map +1 -1
  109. package/jsx/wss/AppShell/AppShell.stories.jsx +11 -19
  110. package/jsx/wss/AppShell/AppShell.stories.jsx.map +1 -1
  111. package/jsx/wss/PageTemplates/PageTemplates.stories.d.ts +15 -0
  112. package/jsx/wss/PageTemplates/PageTemplates.stories.d.ts.map +1 -0
  113. package/jsx/wss/PageTemplates/PageTemplates.stories.jsx +48 -0
  114. package/jsx/wss/PageTemplates/PageTemplates.stories.jsx.map +1 -0
  115. package/lib/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  116. package/lib/build/AppHeader/AppHeader.stories.js +3 -4
  117. package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
  118. package/lib/build/FlowModeller/FlowModeller.stories.js +4 -4
  119. package/lib/build/FlowModeller/FlowModeller.stories.js.map +1 -1
  120. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  121. package/lib/build/ObjectSelect/ObjectSelect.mocks.js +2 -1
  122. package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
  123. package/lib/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
  124. package/lib/build/ObjectSelect/ObjectSelect.stories.js +3 -3
  125. package/lib/build/ObjectSelect/ObjectSelect.stories.js.map +1 -1
  126. package/lib/build/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
  127. package/lib/build/PageTemplates/PageTemplates.mocks.js +3 -3
  128. package/lib/build/PageTemplates/PageTemplates.mocks.js.map +1 -1
  129. package/lib/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  130. package/lib/build/PageTemplates/PageTemplates.stories.js +3 -3
  131. package/lib/build/PageTemplates/PageTemplates.stories.js.map +1 -1
  132. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
  133. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +91 -0
  134. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
  135. package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
  136. package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
  137. package/lib/core/AppShell/AppShell.stories.js +6 -7
  138. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  139. package/lib/core/Banner/Banner.stories.d.ts +0 -1
  140. package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
  141. package/lib/core/Banner/Banner.stories.js +0 -11
  142. package/lib/core/Banner/Banner.stories.js.map +1 -1
  143. package/lib/core/CreditCard/CreditCard.stories.js +1 -1
  144. package/lib/core/CreditCard/CreditCard.stories.js.map +1 -1
  145. package/lib/core/Currency/Currency.stories.d.ts +5 -3
  146. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  147. package/lib/core/Currency/Currency.stories.js +2 -2
  148. package/lib/core/Currency/Currency.stories.js.map +1 -1
  149. package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
  150. package/lib/core/DateTime/DateTime.stories.js +3 -0
  151. package/lib/core/DateTime/DateTime.stories.js.map +1 -1
  152. package/lib/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
  153. package/lib/core/FieldGroup/FieldGroupList.stories.js +4 -0
  154. package/lib/core/FieldGroup/FieldGroupList.stories.js.map +1 -1
  155. package/lib/core/FieldValueList/FieldValueList.stories.js +1 -1
  156. package/lib/core/FieldValueList/FieldValueList.stories.js.map +1 -1
  157. package/lib/core/FieldValueList/FieldValueList.styles.d.ts +2 -0
  158. package/lib/core/FieldValueList/FieldValueList.styles.d.ts.map +1 -0
  159. package/{jsx/core/FieldValueList/FieldValueList.mocks.js → lib/core/FieldValueList/FieldValueList.styles.js} +2 -3
  160. package/lib/core/FieldValueList/FieldValueList.styles.js.map +1 -0
  161. package/lib/core/File/FileDisplay.stories.d.ts.map +1 -1
  162. package/lib/core/File/FileDisplay.stories.js +4 -5
  163. package/lib/core/File/FileDisplay.stories.js.map +1 -1
  164. package/lib/core/Form/Form.mocks.js +3 -3
  165. package/lib/core/Form/Form.mocks.js.map +1 -1
  166. package/lib/core/Menu/Menu.stories.js +3 -3
  167. package/lib/core/Menu/Menu.stories.js.map +1 -1
  168. package/lib/core/Modal/Modal.stories.d.ts.map +1 -1
  169. package/lib/core/Modal/Modal.stories.js +16 -20
  170. package/lib/core/Modal/Modal.stories.js.map +1 -1
  171. package/lib/core/Number/Number.stories.d.ts +1 -1
  172. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  173. package/lib/core/Number/Number.stories.js +4 -4
  174. package/lib/core/Number/Number.stories.js.map +1 -1
  175. package/lib/core/SummaryList/SummaryList.stories.d.ts.map +1 -1
  176. package/lib/core/SummaryList/SummaryList.stories.js +4 -4
  177. package/lib/core/SummaryList/SummaryList.stories.js.map +1 -1
  178. package/lib/core/Toaster/Toaster.stories.js +3 -3
  179. package/lib/core/Toaster/Toaster.stories.js.map +1 -1
  180. package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  181. package/lib/cs/CallControlPanel/CallControlPanel.stories.js +12 -1
  182. package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
  183. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js +2 -2
  184. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
  185. package/lib/cs/InteractionNotification/InteractionNotification.stories.d.ts +1 -0
  186. package/lib/cs/InteractionNotification/InteractionNotification.stories.d.ts.map +1 -1
  187. package/lib/cs/InteractionNotification/InteractionNotification.stories.js +24 -22
  188. package/lib/cs/InteractionNotification/InteractionNotification.stories.js.map +1 -1
  189. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  190. package/lib/social/Email/Email.stories.js +5 -6
  191. package/lib/social/Email/Email.stories.js.map +1 -1
  192. package/lib/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
  193. package/lib/social/Feed/FeedNewPost.stories.js +1 -1
  194. package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
  195. package/lib/social/Feed/FeedPost.stories.d.ts.map +1 -1
  196. package/lib/social/Feed/FeedPost.stories.js +2 -2
  197. package/lib/social/Feed/FeedPost.stories.js.map +1 -1
  198. package/lib/social/Feed/FeedReply.stories.d.ts.map +1 -1
  199. package/lib/social/Feed/FeedReply.stories.js +1 -1
  200. package/lib/social/Feed/FeedReply.stories.js.map +1 -1
  201. package/lib/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
  202. package/lib/social/Feed/FeedReplyInput.stories.js +1 -1
  203. package/lib/social/Feed/FeedReplyInput.stories.js.map +1 -1
  204. package/lib/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
  205. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js +2 -3
  206. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js.map +1 -1
  207. package/lib/work/CaseView/Attachments.mocks.js +5 -6
  208. package/lib/work/CaseView/Attachments.mocks.js.map +1 -1
  209. package/lib/work/CaseView/CaseView.mocks.d.ts +74 -2
  210. package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  211. package/lib/work/CaseView/CaseView.mocks.js +190 -11
  212. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  213. package/lib/work/CaseView/CaseView.stories.d.ts +3 -22
  214. package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
  215. package/lib/work/CaseView/CaseView.stories.js +44 -248
  216. package/lib/work/CaseView/CaseView.stories.js.map +1 -1
  217. package/lib/wss/AppShell/AppShell.mocks.d.ts +11 -0
  218. package/lib/wss/AppShell/AppShell.mocks.d.ts.map +1 -1
  219. package/lib/wss/AppShell/AppShell.mocks.js +11 -0
  220. package/lib/wss/AppShell/AppShell.mocks.js.map +1 -1
  221. package/lib/wss/AppShell/AppShell.stories.d.ts +11 -9
  222. package/lib/wss/AppShell/AppShell.stories.d.ts.map +1 -1
  223. package/lib/wss/AppShell/AppShell.stories.js +12 -19
  224. package/lib/wss/AppShell/AppShell.stories.js.map +1 -1
  225. package/lib/wss/PageTemplates/PageTemplates.stories.d.ts +15 -0
  226. package/lib/wss/PageTemplates/PageTemplates.stories.d.ts.map +1 -0
  227. package/lib/wss/PageTemplates/PageTemplates.stories.js +41 -0
  228. package/lib/wss/PageTemplates/PageTemplates.stories.js.map +1 -0
  229. package/package.json +10 -11
  230. package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts +0 -3
  231. package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts.map +0 -1
  232. package/jsx/core/FieldValueList/FieldValueList.mocks.js.map +0 -1
  233. package/jsx/cs/CSCaseView/CSAppShell.mocks.d.ts +0 -73
  234. package/jsx/cs/CSCaseView/CSAppShell.mocks.d.ts.map +0 -1
  235. package/jsx/cs/CSCaseView/CSAppShell.mocks.jsx +0 -299
  236. package/jsx/cs/CSCaseView/CSAppShell.mocks.jsx.map +0 -1
  237. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts +0 -13
  238. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts.map +0 -1
  239. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx +0 -228
  240. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx.map +0 -1
  241. package/lib/core/FieldValueList/FieldValueList.mocks.d.ts +0 -3
  242. package/lib/core/FieldValueList/FieldValueList.mocks.d.ts.map +0 -1
  243. package/lib/core/FieldValueList/FieldValueList.mocks.js.map +0 -1
  244. package/lib/cs/CSCaseView/CSAppShell.mocks.d.ts +0 -73
  245. package/lib/cs/CSCaseView/CSAppShell.mocks.d.ts.map +0 -1
  246. package/lib/cs/CSCaseView/CSAppShell.mocks.js +0 -280
  247. package/lib/cs/CSCaseView/CSAppShell.mocks.js.map +0 -1
  248. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts +0 -13
  249. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts.map +0 -1
  250. package/lib/cs/CSCaseView/CSAppShell.stories.js +0 -210
  251. package/lib/cs/CSCaseView/CSAppShell.stories.js.map +0 -1
@@ -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 = 'Demo User',\n username = 'demo_user',\n content,\n postType,\n recipients,\n attachments: postAttachments,\n replies,\n postTimestamp = new Date(2022, 0, 1),\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 [editTimestamp, setEditTimestamp] = useState(new Date());\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 postTimestamp,\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 setEditTimestamp(new Date());\n }}\n edited={edited}\n editTimestamp={editTimestamp}\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 postTimestamp={new Date()}\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 = 'Demo User',\n username = 'demo_user',\n content,\n postType,\n recipients,\n attachments: postAttachments,\n replies,\n postTimestamp = new Date(2022, 0, 1),\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 [editTimestamp, setEditTimestamp] = useState(new Date());\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 postTimestamp,\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 setEditTimestamp(new Date());\n }}\n edited={edited}\n editTimestamp={editTimestamp}\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 postTimestamp={new Date()}\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 title='Pulse'\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 title='Pulse'\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":"FeedReply.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedReply.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,cAAc,EAGf,MAAM,2BAA2B,CAAC;;AAKnC,wBAGU;AAEV,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAoInD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAEnC,CAAC"}
1
+ {"version":3,"file":"FeedReply.stories.d.ts","sourceRoot":"","sources":["../../../src/social/Feed/FeedReply.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,cAAc,EAGf,MAAM,2BAA2B,CAAC;;AAKnC,wBAGU;AAEV,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAqInD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAEnC,CAAC"}
@@ -92,7 +92,7 @@ export const FeedReplyDemo = ({ fullname = 'Demo User', username = 'demo_user',
92
92
  setPopoverOpen(curr => !curr);
93
93
  }
94
94
  } }, key), popoverTarget && (_jsx(Popover, { show: popoverOpen, target: popoverTarget, placement: 'bottom', portal: true, children: _jsx(CardContent, { children: fullname }) }))] }));
95
- return renderFeed ? (_jsx(Feed, { onMentionClick: onMentionClick, interactionRenderers: [MentionButtonConfig, HashtagButtonConfig], userInfo: { username: 'demo_user', fullname: 'Demo User' }, posts: [reply] })) : (reply);
95
+ return renderFeed ? (_jsx(Feed, { title: 'Pulse', onMentionClick: onMentionClick, interactionRenderers: [MentionButtonConfig, HashtagButtonConfig], userInfo: { username: 'demo_user', fullname: 'Demo User' }, posts: [reply] })) : (reply);
96
96
  };
97
97
  export const FeedReplyWithPresence = () => {
98
98
  return _jsx(FeedReplyDemo, { userStatus: 'active' });
@@ -1 +1 @@
1
- {"version":3,"file":"FeedReply.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedReply.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, useCallback } from 'react';\n\nimport { Avatar, CardContent, Popover, SummaryListItem, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedReply,\n FeedReplyProps,\n HashtagButtonConfig,\n MentionButtonConfig\n} from '@pega/cosmos-react-social';\nimport { Glimpse } from '@pega/cosmos-react-work';\n\nimport { generatedLikes, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedReply',\n component: FeedReply\n} as Meta;\n\ninterface FeedReplyDemoProps {\n fullname?: FeedReplyProps['info']['fullname'];\n username?: FeedReplyProps['info']['username'];\n content?: FeedReplyProps['info']['content'];\n attachments?: FeedReplyProps['info']['attachments'];\n postTimestamp?: FeedReplyProps['info']['postTimestamp'];\n userStatus?: FeedReplyProps['info']['userStatus'];\n renderFeed?: boolean;\n}\n\nexport const FeedReplyDemo: Story<FeedReplyDemoProps> = ({\n fullname = 'Demo User',\n username = 'demo_user',\n content,\n attachments,\n postTimestamp = new Date(2022, 0, 1),\n userStatus,\n renderFeed = true\n}: FeedReplyDemoProps) => {\n const defaultContent = attachments\n ? ''\n : 'This reply mentions @[deans]:[Seth DeAngelo]:[user]: and also contains a tag! #cosmos:';\n\n const key = useUID();\n const [likes, setLikes] = useState<SummaryListItem[]>([]);\n const [liked, setLiked] = useState(false);\n const [likeCount, setLikeCount] = useState(renderFeed ? generatedLikes.length : 0);\n const [replyContent, setReplyContent] = useState(content || defaultContent);\n const [edited, setEdited] = useState(false);\n const [editTimestamp, setEditTimestamp] = useState(new Date());\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [popoverTarget, setPopoverTarget] = useState<Element>();\n const [additionalLikeAdded, setAdditionalLikeAdded] = useState(false);\n\n const getInitialLikes = () => {\n if (likes.length) return;\n\n setLikes(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 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 reply = (\n <>\n <FeedReply\n id={key}\n key={key}\n info={{\n postTimestamp,\n content: replyContent,\n attachments,\n username,\n fullname,\n fullnameLabel: `${fullname}'s Profile`,\n liked,\n userStatus\n }}\n interactionInfo={{\n likes,\n likeCount: likeCount >= 10 ? likeCount + 1 : likeCount,\n likeLabel: 'Like',\n commentLabel: 'Comment'\n }}\n maxContentHeight={40}\n menuItems={[{ primary: 'Custom action', id: 'custom', onClick: () => {} }]}\n onEditSubmit={({ value }) => {\n setReplyContent(value);\n setEdited(true);\n setEditTimestamp(new Date());\n }}\n edited={edited}\n editTimestamp={editTimestamp}\n onCommentClick={() => {}}\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 onLoadMoreLikes={!additionalLikeAdded ? generateNewLike : undefined}\n likesLoading={likesLoading}\n onUserClick={(_, clickEvent) => {\n if (clickEvent) {\n setPopoverTarget(clickEvent.target as Element);\n setPopoverOpen(curr => !curr);\n }\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 onMentionClick={onMentionClick}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[reply]}\n />\n ) : (\n reply\n );\n};\n\nexport const FeedReplyWithPresence: Story = () => {\n return <FeedReplyDemo userStatus='active' />;\n};\n"]}
1
+ {"version":3,"file":"FeedReply.stories.js","sourceRoot":"","sources":["../../../src/social/Feed/FeedReply.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState, useCallback } from 'react';\n\nimport { Avatar, CardContent, Popover, SummaryListItem, useUID } from '@pega/cosmos-react-core';\nimport {\n Feed,\n FeedReply,\n FeedReplyProps,\n HashtagButtonConfig,\n MentionButtonConfig\n} from '@pega/cosmos-react-social';\nimport { Glimpse } from '@pega/cosmos-react-work';\n\nimport { generatedLikes, userMentions } from './Feed.mocks';\n\nexport default {\n title: 'Social/Feed/FeedReply',\n component: FeedReply\n} as Meta;\n\ninterface FeedReplyDemoProps {\n fullname?: FeedReplyProps['info']['fullname'];\n username?: FeedReplyProps['info']['username'];\n content?: FeedReplyProps['info']['content'];\n attachments?: FeedReplyProps['info']['attachments'];\n postTimestamp?: FeedReplyProps['info']['postTimestamp'];\n userStatus?: FeedReplyProps['info']['userStatus'];\n renderFeed?: boolean;\n}\n\nexport const FeedReplyDemo: Story<FeedReplyDemoProps> = ({\n fullname = 'Demo User',\n username = 'demo_user',\n content,\n attachments,\n postTimestamp = new Date(2022, 0, 1),\n userStatus,\n renderFeed = true\n}: FeedReplyDemoProps) => {\n const defaultContent = attachments\n ? ''\n : 'This reply mentions @[deans]:[Seth DeAngelo]:[user]: and also contains a tag! #cosmos:';\n\n const key = useUID();\n const [likes, setLikes] = useState<SummaryListItem[]>([]);\n const [liked, setLiked] = useState(false);\n const [likeCount, setLikeCount] = useState(renderFeed ? generatedLikes.length : 0);\n const [replyContent, setReplyContent] = useState(content || defaultContent);\n const [edited, setEdited] = useState(false);\n const [editTimestamp, setEditTimestamp] = useState(new Date());\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [popoverTarget, setPopoverTarget] = useState<Element>();\n const [additionalLikeAdded, setAdditionalLikeAdded] = useState(false);\n\n const getInitialLikes = () => {\n if (likes.length) return;\n\n setLikes(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 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 reply = (\n <>\n <FeedReply\n id={key}\n key={key}\n info={{\n postTimestamp,\n content: replyContent,\n attachments,\n username,\n fullname,\n fullnameLabel: `${fullname}'s Profile`,\n liked,\n userStatus\n }}\n interactionInfo={{\n likes,\n likeCount: likeCount >= 10 ? likeCount + 1 : likeCount,\n likeLabel: 'Like',\n commentLabel: 'Comment'\n }}\n maxContentHeight={40}\n menuItems={[{ primary: 'Custom action', id: 'custom', onClick: () => {} }]}\n onEditSubmit={({ value }) => {\n setReplyContent(value);\n setEdited(true);\n setEditTimestamp(new Date());\n }}\n edited={edited}\n editTimestamp={editTimestamp}\n onCommentClick={() => {}}\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 onLoadMoreLikes={!additionalLikeAdded ? generateNewLike : undefined}\n likesLoading={likesLoading}\n onUserClick={(_, clickEvent) => {\n if (clickEvent) {\n setPopoverTarget(clickEvent.target as Element);\n setPopoverOpen(curr => !curr);\n }\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 title='Pulse'\n onMentionClick={onMentionClick}\n interactionRenderers={[MentionButtonConfig, HashtagButtonConfig]}\n userInfo={{ username: 'demo_user', fullname: 'Demo User' }}\n posts={[reply]}\n />\n ) : (\n reply\n );\n};\n\nexport const FeedReplyWithPresence: Story = () => {\n return <FeedReplyDemo userStatus='active' />;\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,CAyF7D,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,CA0F7D,CAAC"}
@@ -56,6 +56,6 @@ export const FeedReplyInputDemo = ({ onSubmit, renderFeed = true }) => {
56
56
  setAttachments([]);
57
57
  replyEvent.clear();
58
58
  } }));
59
- return renderFeed ? (_jsx(Feed, { searchTypes: ['user', 'case'], onDecoratorSearch: onSearch, searchResults: searchResults, userInfo: { username: 'demo_user', fullname: 'Demo User' }, posts: [replyInput] })) : (replyInput);
59
+ return renderFeed ? (_jsx(Feed, { title: 'Pulse', searchTypes: ['user', 'case'], onDecoratorSearch: onSearch, searchResults: searchResults, userInfo: { username: 'demo_user', fullname: 'Demo User' }, posts: [replyInput] })) : (replyInput);
60
60
  };
61
61
  //# sourceMappingURL=FeedReplyInput.stories.js.map
@@ -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, 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
+ {"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 title='Pulse'\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,CAoB3D,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;AAG/C,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;;AAEhF,wBAGU;AAEV,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAoB3D,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useContext } from 'react';
3
- import { ToasterContext } from '@pega/cosmos-react-core';
2
+ import { useToaster } from '@pega/cosmos-react-core';
4
3
  import { AppAnnouncement } from '@pega/cosmos-react-work';
5
4
  export default {
6
5
  title: 'Work/AppAnnouncement',
7
6
  component: AppAnnouncement
8
7
  };
9
8
  export const AppAnnouncementDemo = (args) => {
10
- const { push } = useContext(ToasterContext);
9
+ const { push } = useToaster();
11
10
  const details = [
12
11
  'New React based UI rendering',
13
12
  'Streamlined components for all business needs',
@@ -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,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
+ {"version":3,"file":"AppAnnouncement.stories.js","sourceRoot":"","sources":["../../../src/work/AppAnnouncement/AppAnnouncement.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,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,EAAE,CAAC;IAE9B,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';\n\nimport { useToaster } 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 } = useToaster();\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,6 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useContext, useEffect, useRef, useMemo, forwardRef } from 'react';
3
- import { Button, FileInput, FileVisual, Progress, Modal, ModalManagerContext, Text, ToasterContext, SummaryList, ViewAll, getKindFromMimeType, getMimeTypeFromFile, Popover, Flex, Input, ComboBox, createUID, useOuterEvent, hasProp, DateTimeDisplay, MetaList } from '@pega/cosmos-react-core';
3
+ import { Button, FileInput, FileVisual, Progress, Modal, Text, SummaryList, ViewAll, getKindFromMimeType, getMimeTypeFromFile, Popover, Flex, Input, ComboBox, createUID, useModalManager, useModalContext, useOuterEvent, useToaster, hasProp, DateTimeDisplay, MetaList } from '@pega/cosmos-react-core';
4
4
  import { FileServiceContext, mockAttachmentListRequest, mockCategories } from './FileService.mock';
5
5
  // ---------------------------------------------------------------------------------------------------------------------
6
6
  // getSummaryListItemProps
@@ -123,9 +123,8 @@ const EditPopover = forwardRef(({ file, target, onSubmit, onCancel }, ref) => {
123
123
  });
124
124
  const AttachmentsModal = ({ defaultMode }) => {
125
125
  const [mode, setMode] = useState(defaultMode);
126
- const { push: pushToaster } = useContext(ToasterContext);
127
- const { ModalContext } = useContext(ModalManagerContext);
128
- const { dismiss } = useContext(ModalContext);
126
+ const { push: pushToaster } = useToaster();
127
+ const { dismiss } = useModalContext();
129
128
  const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);
130
129
  const [search, setSearch] = useState('');
131
130
  const [loading, setLoading] = useState(true);
@@ -285,8 +284,8 @@ const AttachmentsModal = ({ defaultMode }) => {
285
284
  // Attachments mock
286
285
  // ---------------------------------------------------------------------------------------------------------------------
287
286
  export const AttachmentsMock = () => {
288
- const { push: pushToaster } = useContext(ToasterContext);
289
- const { create: createModal } = useContext(ModalManagerContext);
287
+ const { push: pushToaster } = useToaster();
288
+ const { create: createModal } = useModalManager();
290
289
  const [loading, setLoading] = useState(true);
291
290
  const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);
292
291
  const listItemEls = useRef([]);
@@ -1 +1 @@
1
- {"version":3,"file":"Attachments.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,SAAS,EAET,MAAM,EAEN,OAAO,EAEP,UAAU,EAGX,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,EACL,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EAEnB,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EAET,aAAa,EACb,OAAO,EACP,eAAe,EAEf,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAElB,yBAAyB,EACzB,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAE5B,wHAAwH;AACxH,0BAA0B;AAC1B,wHAAwH;AACxH,MAAM,uBAAuB,GAAG,CAAC,EAC/B,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,EAOX,EAAmB,EAAE;IACpB,IAAI,OAAiB,CAAC;IACtB,IAAI,MAAmB,CAAC;IAExB,IAAI,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE;QACzF,MAAM,GAAG,KAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,MAAM,GAAG,CAAC;QAC9E,OAAO,GAAG;YACR;gBACE,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,GAAG,EAAE;oBACZ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;aACF;SACF,CAAC;KACH;SAAM;QACL,MAAM,GAAG,CACP,KAAC,UAAU,IACT,IAAI,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAC/D,SAAS,EAAG,IAAmC,CAAC,SAAS,GACzD,CACH,CAAC;QACF,OAAO,GAAG;YACR;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;aACF;YACD;gBACE,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aAClB;YACD;gBACE,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,GAAG,EAAE;oBACZ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;aACF;SACF,CAAC;KACH;IAED,OAAO;QACL,GAAG;QACH,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,SAAS,EAAE,CACT,KAAC,IAAI,IAAC,OAAO,EAAC,WAAW,YACtB,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CACvF,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAC1C,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IACP,KAAK,EAAE;oBACL,IAAI,CAAC,QAAQ;oBACb,0CACW,GAAG,EACZ,KAAC,eAAe,IACd,OAAO,EAAC,UAAU,EAClB,KAAK,EAAG,IAAmC,CAAC,UAAU,GACtD,IACD;iBACJ,GACD,CACH,GACI,CACR;QACD,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAaF,MAAM,WAAW,GAAyB,UAAU,CAClD,CACE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAqC,EACvE,GAA4B,EAC5B,EAAE;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QAChD,OAAO;YACL,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC5D,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC/B,OAAO;oBACL,EAAE,EAAE,SAAS,EAAE;oBACf,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;iBACrC,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,EAAE;YACP,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,OAAO;iBACjB;aACF;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO;IACL,sEAAsE;IACtE,KAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAC,cAAc,YACnF,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aACtD,KAAC,IAAI,IAAC,OAAO,EAAC,IAAI,wBAAe,EAEjC,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAC9C,KAAC,KAAK,IACJ,KAAK,EAAC,MAAM,EACZ,WAAW,EAAC,kBAAa,EACzB,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACnC,SAAS,QACT,QAAQ,QACR,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE;gCAC7C,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCACxB,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;oCAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC;iCACd;4BACH,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;gCACX,IAAI,CAAC,IAAI,EAAE;oCACT,QAAQ,CAAC,mBAAmB,CAAC,CAAC;iCAC/B;4BACH,CAAC,GACD,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,UAAU,EAChB,WAAW,EAAC,cAAS,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE;gCACJ,IAAI,EAAE,eAAe;gCACrB,KAAK,EAAE,UAAU;gCACjB,WAAW,EAAE,EAAE,CAAC,EAAE;oCAChB,aAAa,CAAC,GAAG,CAAC,EAAE;wCAClB,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;4CACxB,OAAO;gDACL,GAAG,QAAQ;gDACX,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE;6CAC7B,CAAC;wCACJ,CAAC,CAAC,CAAC;oCACL,CAAC,CAAC,CAAC;gCACL,CAAC;6BACF,GACD,IACG,EAEP,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,aACrC,KAAC,MAAM,IAAC,OAAO,EAAE,QAAQ,uBAAiB,EAC1C,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,KAAK;oCAAE,OAAO;gCAClB,QAAQ,CAAC;oCACP,IAAI;oCACJ,QAAQ,EACN,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa;wCAChE,CAAC,CAAC,EAAE;wCACJ,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI;iCAClC,CAAC,CAAC;4BACL,CAAC,uBAGM,IACJ,IACF,GACC,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AASF,MAAM,gBAAgB,GAAG,CAAC,EAAE,WAAW,EAAyB,EAAE,EAAE;IAClE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACzD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAuB,EAAE,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,MAAM,CAAkB,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CACH,mBAAmB;QACjB,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAoB,8BAA8B,CAAC;QACtF,CAAC,CAAC,IAAI,EACV,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAgB,EAAE,EAAE;QACrD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YACtB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEpD,sJAAsJ;IACtJ,aAAa,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,4GAA4G;QAC5G,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,eAAuB,EAAE,EAAE;QAC1B,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACjC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;gBACvB,OAAO;oBACL,EAAE;oBACF,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,CAAC,EAAiB,EAAE,EAAE;wBACzB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC9B,CAAC;oBACD,MAAM,EAAE,GAAG,EAAE;wBACX,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACtB,CAAC;oBACD,QAAQ,EAAE,GAAG,EAAE;wBACb,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC;iBACF,CAAC;YACJ,CAAC,CAAC;YACF,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,wBAAwB;IACxB,MAAM,OAAO,GACX,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClB,8BACE,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,uBAAiB,EACzC,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS;gBACjB,iGAAiG;gBACjG,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,6BAGxB,IACR,CACJ,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,wBAAwB;IACxB,MAAM,OAAO,GACX,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClB,KAAC,SAAS,IACR,QAAQ,QACR,KAAK,EAAC,wBAAwB,EAC9B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,GACnE,CACH,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,IACN,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnF,OAAO,uBAAuB,CAAC;gBAC7B,GAAG,EAAE,CAAC,EAAiB,EAAE,EAAE;oBACzB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9B,CAAC;gBACD,IAAI;gBACJ,QAAQ,EAAE,GAAG,EAAE;oBACb,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;gBACD,UAAU,EAAE,EAAE,CAAC,EAAE;oBACf,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAuB,CAAC;oBACxE,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,WAAW,CAAC,EAAE,OAAO,EAAE,uBAAuB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,UAAU,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;oBACrB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAA+B,CAAC;oBAC/E,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;oBACrB,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,EACF,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;aACF;SACF,EACD,gBAAgB,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAC/D,CACH,CAAC;IAEJ,OAAO,CACL,KAAC,KAAK,IACJ,EAAE,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1C,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAC9D,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,GAAG,EAAE;YACrB,OAAO,CAAC,mBAAmB,CAAC;QAC9B,CAAC,EACD,QAAQ,EACN,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,CAAC,CAAY,EAAE,EAAE;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC;YACH,CAAC,CAAC,SAAS,YAGf,8BACG,OAAO,EACP,mBAAmB,IAAI,CACtB,KAAC,WAAW,IACV,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EACxE,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;wBAC/B,kBAAkB,EAAE,CAAC;wBAErB,0CAA0C;wBAC1C,6DAA6D;wBAC7D,6CAA6C;wBAC7C,IAAI,IAAI,KAAK,QAAQ,EAAE;4BACrB,WAAW,CAAC,GAAG,CAAC,EAAE;gCAChB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oCACzB,IAAI,CAAC,KAAK,aAAa,EAAE;wCACvB,OAAO;4CACL,GAAG,IAAI;4CACP,IAAI;4CACJ,QAAQ;yCACT,CAAC;qCACH;oCAED,OAAO,IAAI,CAAC;gCACd,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBACJ;6BAAM;4BACL,QAAQ,CAAC,GAAG,CAAC,EAAE,CACb,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gCAClB,IAAI,CAAC,KAAK,aAAa,EAAE;oCACvB,OAAO;wCACL,GAAG,IAAI;wCACP,IAAI;wCACJ,QAAQ;qCACT,CAAC;iCACH;gCAED,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC,CACH,CAAC;yBACH;oBACH,CAAC,GACD,CACH,IACA,GACG,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,wHAAwH;AACxH,mBAAmB;AACnB,wHAAwH;AACxH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAEnF,MAAM,WAAW,GAAG,MAAM,CAAkB,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CACH,mBAAmB;QACjB,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAoB,8BAA8B,CAAC;QACtF,CAAC,CAAC,IAAI,EACV,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAgB,EAAE,EAAE;QACrD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YACtB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEpD,sJAAsJ;IACtJ,aAAa,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,yBAAyB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC7C,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,8BACE,KAAC,WAAW,IACV,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAClE,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,iBAAiB;wBACvB,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO;4BACL,WAAW,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,QAAiB,EAAE,CAAC,CAAC;wBACpE,CAAC;qBACF;iBACF,EACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACvC,OAAO,uBAAuB,CAAC;wBAC7B,GAAG,EAAE,CAAC,EAAiB,EAAE,EAAE;4BACzB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,CAAC;wBACD,IAAI;wBACJ,QAAQ,EAAE,GAAG,EAAE;4BACb,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC;wBACD,UAAU,EAAE,EAAE,CAAC,EAAE;4BACf,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAuB,CAAC;4BACxE,UAAU,CAAC,EAAE,CAAC,CAAC;4BACf,WAAW,CAAC,EAAE,OAAO,EAAE,uBAAuB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACvE,CAAC;wBACD,UAAU,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;4BACrB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAA+B,CAAC;4BAC/E,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;4BACrB,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;wBAC1D,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,EACF,SAAS,EAAE,GAAG,EAAE;oBACd,WAAW,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,SAAkB,EAAE,CAAC,CAAC;gBACrE,CAAC,GACD,EACD,mBAAmB,IAAI,CACtB,KAAC,WAAW,IACV,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,EAC1B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;oBAC/B,kBAAkB,EAAE,CAAC;oBACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,CACb,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;wBAClB,IAAI,CAAC,KAAK,aAAa,EAAE;4BACvB,OAAO;gCACL,GAAG,IAAI;gCACP,IAAI;gCACJ,QAAQ;6BACT,CAAC;yBACH;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC,GACD,CACH,IACA,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import {\n useState,\n useCallback,\n useContext,\n useEffect,\n FormEvent,\n useRef,\n Ref,\n useMemo,\n ChangeEvent,\n forwardRef,\n FC,\n PropsWithoutRef\n} from 'react';\n\nimport {\n Button,\n FileInput,\n FileVisual,\n Progress,\n Modal,\n ModalManagerContext,\n Text,\n ToasterContext,\n SummaryList,\n ViewAll,\n getKindFromMimeType,\n getMimeTypeFromFile,\n Action,\n Popover,\n Flex,\n Input,\n ComboBox,\n createUID,\n PopoverProps,\n useOuterEvent,\n hasProp,\n DateTimeDisplay,\n SummaryListItem,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n FileServiceContext,\n FileServiceContextValue,\n mockAttachmentListRequest,\n mockCategories,\n MockFileAttachmentResource,\n MockFileUploadItem\n} from './FileService.mock';\n\n// ---------------------------------------------------------------------------------------------------------------------\n// getSummaryListItemProps\n// ---------------------------------------------------------------------------------------------------------------------\nconst getSummaryListItemProps = ({\n ref,\n file,\n editFile,\n cancelFile,\n deleteFile\n}: {\n ref: Ref<HTMLLIElement>;\n file: MockFileAttachmentResource | MockFileUploadItem;\n editFile?: (file: MockFileAttachmentResource) => void;\n cancelFile: FileServiceContextValue['cancelFile'];\n deleteFile: FileServiceContextValue['deleteFile'];\n}): SummaryListItem => {\n let actions: Action[];\n let visual: JSX.Element;\n\n if (hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100) {\n visual = <Progress value={file.progress} placement='inline' variant='ring' />;\n actions = [\n {\n id: 'Cancel',\n text: 'Cancel',\n icon: 'times',\n onClick: () => {\n cancelFile(file.id);\n }\n }\n ];\n } else {\n visual = (\n <FileVisual\n type={getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '')}\n thumbnail={(file as MockFileAttachmentResource).thumbnail}\n />\n );\n actions = [\n {\n id: 'Edit',\n text: 'Edit',\n icon: 'pencil',\n onClick: () => {\n editFile?.(file);\n }\n },\n {\n id: 'Download',\n text: 'Download',\n icon: 'download',\n onClick: () => {}\n },\n {\n id: 'Delete',\n text: 'Delete',\n icon: 'trash',\n onClick: () => {\n deleteFile(file.id);\n }\n }\n ];\n }\n\n return {\n ref,\n id: file.id,\n visual,\n primary: file.name,\n secondary: (\n <Text variant='secondary'>\n {hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100 ? (\n `Uploading…${Math.floor(file.progress)}%`\n ) : (\n <MetaList\n items={[\n file.category,\n <>\n Uploaded{' '}\n <DateTimeDisplay\n variant='relative'\n value={(file as MockFileAttachmentResource).createDate}\n />\n </>\n ]}\n />\n )}\n </Text>\n ),\n actions\n };\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachment edit Popover\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditPopoverProps {\n file: MockFileAttachmentResource;\n target: PopoverProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditPopover: FC<EditPopoverProps> = forwardRef(\n (\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditPopoverProps>,\n ref: EditPopoverProps['ref']\n ) => {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n\n const [categories, setCategories] = useState(() => {\n return [\n { id: createUID(), primary: 'No category', selected: false },\n ...mockCategories.map(category => {\n return {\n id: createUID(),\n primary: category,\n selected: file.category === category\n };\n })\n ];\n });\n\n const selectedCategory = useMemo(() => {\n const sc = categories.find(c => c.selected);\n return sc\n ? {\n items: {\n id: sc.id,\n text: sc.primary\n }\n }\n : undefined;\n }, [categories]);\n\n return (\n // Set an inline style ONLY until Popover width presets are available.\n <Popover ref={ref} target={target} style={{ width: '40ch' }} placement='bottom-start'>\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3'>Details</Text>\n\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='Name'\n placeholder='Enter name…'\n value={name}\n info={error}\n status={error ? 'error' : undefined}\n autoFocus\n required\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n if (error && e.target.value) {\n setError('');\n }\n }}\n onBlur={() => {\n if (!name) {\n setError('Name is required.');\n }\n }}\n />\n <ComboBox\n label='Category'\n placeholder='Choose…'\n selected={selectedCategory}\n menu={{\n mode: 'single-select',\n items: categories,\n onItemClick: id => {\n setCategories(cur => {\n return cur.map(category => {\n return {\n ...category,\n selected: category.id === id\n };\n });\n });\n }\n }}\n />\n </Flex>\n\n <Flex container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button\n variant='primary'\n onClick={() => {\n if (error) return;\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n </Popover>\n );\n }\n);\n\n// ---------------------------------------------------------------------------------------------------------------------\n// AttachmentsModal\n// ---------------------------------------------------------------------------------------------------------------------\ninterface AttachmentsModalProps {\n defaultMode: 'viewAll' | 'addNew';\n}\n\nconst AttachmentsModal = ({ defaultMode }: AttachmentsModalProps) => {\n const [mode, setMode] = useState(defaultMode);\n\n const { push: pushToaster } = useContext(ToasterContext);\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);\n\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [newFiles, setNewFiles] = useState<MockFileUploadItem[]>([]);\n\n const attachSelected = useCallback(() => {\n newFiles.forEach(attachFile);\n dismiss();\n }, [newFiles, attachFile]);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n useEffect(() => {\n // Since the component is performing double duty we need to empty out ref elements from a prior render mode.\n listItemEls.current = [];\n }, [mode]);\n\n const onFilesAdded = useCallback(\n (newlyAddedFiles: File[]) => {\n setNewFiles(current => [\n ...newlyAddedFiles.map((file, i) => {\n const id = createUID();\n return {\n id,\n name: file.name,\n category: '',\n File: file,\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n onEdit: () => {\n setEditFileIndex(i);\n },\n onCancel: () => {\n setNewFiles(c => c.filter(f => f.id !== id));\n }\n };\n }),\n ...current\n ]);\n },\n [files]\n );\n\n // Actions for the modal\n const actions =\n mode === 'addNew' ? (\n <>\n <Button onClick={dismiss}>Cancel</Button>\n <Button\n type='submit'\n variant='primary'\n // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.\n onClick={attachSelected}\n disabled={newFiles.length === 0}\n >\n Attach Files\n </Button>\n </>\n ) : null;\n\n // Content for the modal\n const content =\n mode === 'addNew' ? (\n <FileInput\n multiple\n label='Select files to attach'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={loading}\n items={(search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n actions={[\n {\n id: 'addNewFile',\n text: 'Add files',\n onClick: () => {\n setMode('addNew');\n }\n },\n {\n id: 'addNewLink',\n text: 'Add links',\n onClick: () => {\n setMode('addNew');\n }\n }\n ]}\n searchInputProps={{ onSearchChange: value => setSearch(value) }}\n />\n );\n\n return (\n <Modal\n as={mode === 'addNew' ? 'form' : undefined}\n heading={mode === 'addNew' ? 'Add attachments' : 'Attachments'}\n actions={actions}\n onRequestDismiss={() => {\n return !editPopoverTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n\n // TS kept from easily consolidating like:\n // const setter = mode === 'addNew' ? setNewFiles : setFiles;\n // Could not avoid map's file param as \"any\".\n if (mode === 'addNew') {\n setNewFiles(cur => {\n return cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n });\n });\n } else {\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }\n }}\n />\n )}\n </>\n </Modal>\n );\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachments mock\n// ---------------------------------------------------------------------------------------------------------------------\nexport const AttachmentsMock = () => {\n const { push: pushToaster } = useContext(ToasterContext);\n const { create: createModal } = useContext(ModalManagerContext);\n const [loading, setLoading] = useState(true);\n const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n mockAttachmentListRequest().then(attachments => {\n setLoading(false);\n setFiles(attachments);\n });\n }, []);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add attachments',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n }\n ]}\n items={files.slice(0, 3).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n onViewAll={() => {\n createModal(AttachmentsModal, { defaultMode: 'viewAll' as const });\n }}\n />\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }}\n />\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"Attachments.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useCallback,\n useContext,\n useEffect,\n FormEvent,\n useRef,\n Ref,\n useMemo,\n ChangeEvent,\n forwardRef,\n FC,\n PropsWithoutRef\n} from 'react';\n\nimport {\n Button,\n FileInput,\n FileVisual,\n Progress,\n Modal,\n Text,\n SummaryList,\n ViewAll,\n getKindFromMimeType,\n getMimeTypeFromFile,\n Action,\n Popover,\n Flex,\n Input,\n ComboBox,\n createUID,\n PopoverProps,\n useModalManager,\n useModalContext,\n useOuterEvent,\n useToaster,\n hasProp,\n DateTimeDisplay,\n SummaryListItem,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n FileServiceContext,\n FileServiceContextValue,\n mockAttachmentListRequest,\n mockCategories,\n MockFileAttachmentResource,\n MockFileUploadItem\n} from './FileService.mock';\n\n// ---------------------------------------------------------------------------------------------------------------------\n// getSummaryListItemProps\n// ---------------------------------------------------------------------------------------------------------------------\nconst getSummaryListItemProps = ({\n ref,\n file,\n editFile,\n cancelFile,\n deleteFile\n}: {\n ref: Ref<HTMLLIElement>;\n file: MockFileAttachmentResource | MockFileUploadItem;\n editFile?: (file: MockFileAttachmentResource) => void;\n cancelFile: FileServiceContextValue['cancelFile'];\n deleteFile: FileServiceContextValue['deleteFile'];\n}): SummaryListItem => {\n let actions: Action[];\n let visual: JSX.Element;\n\n if (hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100) {\n visual = <Progress value={file.progress} placement='inline' variant='ring' />;\n actions = [\n {\n id: 'Cancel',\n text: 'Cancel',\n icon: 'times',\n onClick: () => {\n cancelFile(file.id);\n }\n }\n ];\n } else {\n visual = (\n <FileVisual\n type={getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '')}\n thumbnail={(file as MockFileAttachmentResource).thumbnail}\n />\n );\n actions = [\n {\n id: 'Edit',\n text: 'Edit',\n icon: 'pencil',\n onClick: () => {\n editFile?.(file);\n }\n },\n {\n id: 'Download',\n text: 'Download',\n icon: 'download',\n onClick: () => {}\n },\n {\n id: 'Delete',\n text: 'Delete',\n icon: 'trash',\n onClick: () => {\n deleteFile(file.id);\n }\n }\n ];\n }\n\n return {\n ref,\n id: file.id,\n visual,\n primary: file.name,\n secondary: (\n <Text variant='secondary'>\n {hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100 ? (\n `Uploading…${Math.floor(file.progress)}%`\n ) : (\n <MetaList\n items={[\n file.category,\n <>\n Uploaded{' '}\n <DateTimeDisplay\n variant='relative'\n value={(file as MockFileAttachmentResource).createDate}\n />\n </>\n ]}\n />\n )}\n </Text>\n ),\n actions\n };\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachment edit Popover\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditPopoverProps {\n file: MockFileAttachmentResource;\n target: PopoverProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditPopover: FC<EditPopoverProps> = forwardRef(\n (\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditPopoverProps>,\n ref: EditPopoverProps['ref']\n ) => {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n\n const [categories, setCategories] = useState(() => {\n return [\n { id: createUID(), primary: 'No category', selected: false },\n ...mockCategories.map(category => {\n return {\n id: createUID(),\n primary: category,\n selected: file.category === category\n };\n })\n ];\n });\n\n const selectedCategory = useMemo(() => {\n const sc = categories.find(c => c.selected);\n return sc\n ? {\n items: {\n id: sc.id,\n text: sc.primary\n }\n }\n : undefined;\n }, [categories]);\n\n return (\n // Set an inline style ONLY until Popover width presets are available.\n <Popover ref={ref} target={target} style={{ width: '40ch' }} placement='bottom-start'>\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3'>Details</Text>\n\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='Name'\n placeholder='Enter name…'\n value={name}\n info={error}\n status={error ? 'error' : undefined}\n autoFocus\n required\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n if (error && e.target.value) {\n setError('');\n }\n }}\n onBlur={() => {\n if (!name) {\n setError('Name is required.');\n }\n }}\n />\n <ComboBox\n label='Category'\n placeholder='Choose…'\n selected={selectedCategory}\n menu={{\n mode: 'single-select',\n items: categories,\n onItemClick: id => {\n setCategories(cur => {\n return cur.map(category => {\n return {\n ...category,\n selected: category.id === id\n };\n });\n });\n }\n }}\n />\n </Flex>\n\n <Flex container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button\n variant='primary'\n onClick={() => {\n if (error) return;\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n </Popover>\n );\n }\n);\n\n// ---------------------------------------------------------------------------------------------------------------------\n// AttachmentsModal\n// ---------------------------------------------------------------------------------------------------------------------\ninterface AttachmentsModalProps {\n defaultMode: 'viewAll' | 'addNew';\n}\n\nconst AttachmentsModal = ({ defaultMode }: AttachmentsModalProps) => {\n const [mode, setMode] = useState(defaultMode);\n\n const { push: pushToaster } = useToaster();\n const { dismiss } = useModalContext();\n const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);\n\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [newFiles, setNewFiles] = useState<MockFileUploadItem[]>([]);\n\n const attachSelected = useCallback(() => {\n newFiles.forEach(attachFile);\n dismiss();\n }, [newFiles, attachFile]);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n useEffect(() => {\n // Since the component is performing double duty we need to empty out ref elements from a prior render mode.\n listItemEls.current = [];\n }, [mode]);\n\n const onFilesAdded = useCallback(\n (newlyAddedFiles: File[]) => {\n setNewFiles(current => [\n ...newlyAddedFiles.map((file, i) => {\n const id = createUID();\n return {\n id,\n name: file.name,\n category: '',\n File: file,\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n onEdit: () => {\n setEditFileIndex(i);\n },\n onCancel: () => {\n setNewFiles(c => c.filter(f => f.id !== id));\n }\n };\n }),\n ...current\n ]);\n },\n [files]\n );\n\n // Actions for the modal\n const actions =\n mode === 'addNew' ? (\n <>\n <Button onClick={dismiss}>Cancel</Button>\n <Button\n type='submit'\n variant='primary'\n // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.\n onClick={attachSelected}\n disabled={newFiles.length === 0}\n >\n Attach Files\n </Button>\n </>\n ) : null;\n\n // Content for the modal\n const content =\n mode === 'addNew' ? (\n <FileInput\n multiple\n label='Select files to attach'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={loading}\n items={(search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n actions={[\n {\n id: 'addNewFile',\n text: 'Add files',\n onClick: () => {\n setMode('addNew');\n }\n },\n {\n id: 'addNewLink',\n text: 'Add links',\n onClick: () => {\n setMode('addNew');\n }\n }\n ]}\n searchInputProps={{ onSearchChange: value => setSearch(value) }}\n />\n );\n\n return (\n <Modal\n as={mode === 'addNew' ? 'form' : undefined}\n heading={mode === 'addNew' ? 'Add attachments' : 'Attachments'}\n actions={actions}\n onRequestDismiss={() => {\n return !editPopoverTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n\n // TS kept from easily consolidating like:\n // const setter = mode === 'addNew' ? setNewFiles : setFiles;\n // Could not avoid map's file param as \"any\".\n if (mode === 'addNew') {\n setNewFiles(cur => {\n return cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n });\n });\n } else {\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }\n }}\n />\n )}\n </>\n </Modal>\n );\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachments mock\n// ---------------------------------------------------------------------------------------------------------------------\nexport const AttachmentsMock = () => {\n const { push: pushToaster } = useToaster();\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n mockAttachmentListRequest().then(attachments => {\n setLoading(false);\n setFiles(attachments);\n });\n }, []);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add attachments',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n }\n ]}\n items={files.slice(0, 3).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n onViewAll={() => {\n createModal(AttachmentsModal, { defaultMode: 'viewAll' as const });\n }}\n />\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }}\n />\n )}\n </>\n );\n};\n"]}
@@ -1,11 +1,83 @@
1
- /// <reference types="react" />
1
+ import { Dispatch, SetStateAction } from 'react';
2
2
  import { SummaryListProps } from '@pega/cosmos-react-core';
3
3
  import type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';
4
- export declare function getTabs(): Tab[];
4
+ import { CaseViewProps } from '@pega/cosmos-react-work';
5
+ import { TokenMap } from '@pega/cosmos-react-rte';
6
+ import { FeedProps } from '@pega/cosmos-react-social/lib/components/Feed/Feed';
7
+ interface PreviewSetters {
8
+ setPreviewCaseId: Dispatch<SetStateAction<string | null>>;
9
+ setPreviewCurrentTabId: Dispatch<SetStateAction<string>>;
10
+ }
11
+ export declare const baseCaseTabs: Tab[];
5
12
  export declare const MockSummaryListViewAllModal: ({ name, count }: any) => JSX.Element;
6
13
  export declare const MockSummaryList: ({ icon, name, actions, limit }: Pick<SummaryListProps, "icon" | "name"> & {
7
14
  actions?: null | undefined;
8
15
  limit?: number | undefined;
9
16
  }) => JSX.Element;
10
17
  export declare const MockOperatorFieldValue: () => JSX.Element;
18
+ export declare const PreviewLinkComponent: ({ token: linkToken, setPreviewCaseId, setPreviewCurrentTabId }: {
19
+ token: TokenMap['link'];
20
+ } & PreviewSetters) => JSX.Element;
21
+ export declare const getPulseMarkdownMap: ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => FeedProps['markdownMap'];
22
+ export declare const onMentionPreview: ({ id, type, setPreviewCaseId, setPreviewCurrentTabId }: {
23
+ id: string;
24
+ type: string;
25
+ } & PreviewSetters) => void;
26
+ export declare const getTabContent: ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => {
27
+ id: string;
28
+ content: JSX.Element;
29
+ }[];
30
+ export declare const previewTabContent: {
31
+ id: string;
32
+ content: JSX.Element;
33
+ }[];
34
+ export declare const getPrimaryFields: () => {
35
+ id: string;
36
+ name: string;
37
+ value: string;
38
+ }[];
39
+ export declare const getSecondaryFields: ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => ({
40
+ name: string;
41
+ value: JSX.Element;
42
+ } | {
43
+ name: string;
44
+ value: string;
45
+ })[];
46
+ export declare const casePreviewPrimaryFields: {
47
+ name: string;
48
+ value: string;
49
+ }[];
50
+ export declare const casePreviewSecondaryFields: ({
51
+ name: string;
52
+ value: JSX.Element;
53
+ } | {
54
+ name: string;
55
+ value: string;
56
+ })[];
57
+ export declare const getParentCases: ({ caseId, setPreviewCaseId, setPreviewCurrentTabId }: {
58
+ caseId: CaseViewProps['caseId'];
59
+ } & PreviewSetters) => {
60
+ id: string;
61
+ primary: string;
62
+ href: string;
63
+ previewable: boolean;
64
+ onPreview: () => void;
65
+ }[];
66
+ export declare const Utilities: () => JSX.Element;
67
+ export declare const getUtilitiesSummaryItems: () => {
68
+ iconName: string;
69
+ count: number;
70
+ }[];
71
+ export declare const getCaseActions: () => {
72
+ text: string;
73
+ id: string;
74
+ onClick: () => void;
75
+ }[];
76
+ export declare const getPromotedActions: () => {
77
+ id: string;
78
+ text: string;
79
+ onClick: () => void;
80
+ }[];
81
+ export declare const PersistentUtilityContent: () => JSX.Element;
82
+ export {};
11
83
  //# sourceMappingURL=CaseView.mocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":";AAEA,OAAO,EASL,gBAAgB,EAIjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wDAAwD,CAAC;AAKlF,wBAAgB,OAAO,UAOtB;AAID,eAAO,MAAM,2BAA2B,oBAAqB,GAAG,gBAwC/D,CAAC;AAEF,eAAO,MAAM,eAAe;;;iBAqD3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,mBA8ElC,CAAC"}
1
+ {"version":3,"file":"CaseView.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAgC,MAAM,OAAO,CAAC;AAG/E,OAAO,EAQL,gBAAgB,EAQjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wDAAwD,CAAC;AAClF,OAAO,EAAW,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAW/E,UAAU,cAAc;IACtB,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1D,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1D;AAMD,eAAO,MAAM,YAAY,OAKvB,CAAC;AAIH,eAAO,MAAM,2BAA2B,oBAAqB,GAAG,gBAwC/D,CAAC;AAEF,eAAO,MAAM,eAAe;;;iBAqD3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,mBA8ElC,CAAC;AAEF,eAAO,MAAM,oBAAoB,mEAI9B;IAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,cAAc,gBAa9C,CAAC;AAEF,eAAO,MAAM,mBAAmB,iDAG7B,cAAc,KAAG,SAAS,CAAC,aAAa,CAc1C,CAAC;AAEF,eAAO,MAAM,gBAAgB;QAMvB,MAAM;UACJ,MAAM;2BAMb,CAAC;AAEF,eAAO,MAAM,aAAa,iDAAkD,cAAc;;;GA0BzF,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;GAiB7B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;GAW5B,CAAC;AAqBF,eAAO,MAAM,kBAAkB,iDAG5B,cAAc;;;;;;IAuBhB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;GASpC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;IAAsB,CAAC;AAE9D,eAAO,MAAM,cAAc;YAKjB,aAAa,CAAC,QAAQ,CAAC;;;;;;;GAuBhC,CAAC;AAEF,eAAO,MAAM,SAAS,mBASrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;GAOpC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;GAQ1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;GAE9B,CAAC;AASF,eAAO,MAAM,wBAAwB,mBASpC,CAAC"}