@pega/cosmos-react-demos 5.0.0-dev.5.0 → 5.0.0-dev.6.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 (307) hide show
  1. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.mocks.d.ts +1 -1
  2. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.mocks.d.ts.map +1 -1
  3. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.mocks.js.map +1 -1
  4. package/jsx/condition-builder/ConditionBuilder/props.mock.d.ts +1 -1
  5. package/jsx/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
  6. package/jsx/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  7. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts +1 -1
  8. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
  9. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
  10. package/jsx/core/AIButton/AIButton.mocks.d.ts +1 -1
  11. package/jsx/core/AIButton/AIButton.mocks.d.ts.map +1 -1
  12. package/jsx/core/AIButton/AIButton.mocks.js.map +1 -1
  13. package/jsx/core/AppShell/AppShell.mocks.d.ts +1 -1
  14. package/jsx/core/AppShell/AppShell.mocks.d.ts.map +1 -1
  15. package/jsx/core/AppShell/AppShell.mocks.jsx.map +1 -1
  16. package/jsx/core/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
  17. package/jsx/core/Breadcrumbs/Breadcrumbs.stories.d.ts.map +1 -1
  18. package/jsx/core/Breadcrumbs/Breadcrumbs.stories.jsx.map +1 -1
  19. package/jsx/core/ComboBox/ComboBox.mocks.d.ts +1 -1
  20. package/jsx/core/ComboBox/ComboBox.mocks.d.ts.map +1 -1
  21. package/jsx/core/ComboBox/ComboBox.mocks.jsx.map +1 -1
  22. package/jsx/core/CompositeInput/CompositeInput.mocks.d.ts +1 -1
  23. package/jsx/core/CompositeInput/CompositeInput.mocks.d.ts.map +1 -1
  24. package/jsx/core/CompositeInput/CompositeInput.mocks.jsx.map +1 -1
  25. package/jsx/core/Dialog/FormDialog.mocks.d.ts +1 -1
  26. package/jsx/core/Dialog/FormDialog.mocks.d.ts.map +1 -1
  27. package/jsx/core/Dialog/FormDialog.mocks.jsx.map +1 -1
  28. package/jsx/core/Dialog/InfoDialog.mocks.d.ts.map +1 -1
  29. package/jsx/core/Dialog/InfoDialog.mocks.jsx.map +1 -1
  30. package/jsx/core/FieldGroup/FieldGroupList.mocks.d.ts +1 -1
  31. package/jsx/core/FieldGroup/FieldGroupList.mocks.d.ts.map +1 -1
  32. package/jsx/core/FieldGroup/FieldGroupList.mocks.jsx.map +1 -1
  33. package/jsx/core/Form/Form.mocks.d.ts.map +1 -1
  34. package/jsx/core/Form/Form.mocks.jsx.map +1 -1
  35. package/jsx/core/Icon/Icon.mocks.d.ts +2 -2
  36. package/jsx/core/Icon/Icon.mocks.d.ts.map +1 -1
  37. package/jsx/core/Icon/Icon.mocks.jsx.map +1 -1
  38. package/jsx/core/Icon/Icon.stories.d.ts +1 -1
  39. package/jsx/core/Icon/Icon.stories.d.ts.map +1 -1
  40. package/jsx/core/Icon/Icon.stories.jsx.map +1 -1
  41. package/jsx/core/Lightbox/Lightbox.stories.jsx.map +1 -1
  42. package/jsx/core/ListToolbar/ListToolbar.mocks.d.ts +3 -3
  43. package/jsx/core/ListToolbar/ListToolbar.mocks.d.ts.map +1 -1
  44. package/jsx/core/ListToolbar/ListToolbar.mocks.jsx.map +1 -1
  45. package/jsx/core/LiveLog/LiveLog.mocks.d.ts.map +1 -1
  46. package/jsx/core/LiveLog/LiveLog.mocks.jsx.map +1 -1
  47. package/jsx/core/Menu/Menu.mocks.d.ts +1 -1
  48. package/jsx/core/Menu/Menu.mocks.d.ts.map +1 -1
  49. package/jsx/core/Menu/Menu.mocks.js.map +1 -1
  50. package/jsx/core/MultiStepForm/MultiStepForm.mocks.d.ts +2 -2
  51. package/jsx/core/MultiStepForm/MultiStepForm.mocks.d.ts.map +1 -1
  52. package/jsx/core/MultiStepForm/MultiStepForm.mocks.jsx.map +1 -1
  53. package/jsx/core/MultiStepForm/MultiStepForm.stories.d.ts +1 -1
  54. package/jsx/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -1
  55. package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx.map +1 -1
  56. package/jsx/core/PageTemplates/PageTemplates.mocks.d.ts +1 -1
  57. package/jsx/core/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
  58. package/jsx/core/PageTemplates/PageTemplates.mocks.js.map +1 -1
  59. package/jsx/core/Popover/Popover.mocks.d.ts +1 -1
  60. package/jsx/core/Popover/Popover.mocks.d.ts.map +1 -1
  61. package/jsx/core/Popover/Popover.mocks.jsx.map +1 -1
  62. package/jsx/core/SummaryList/SummaryList.mocks.d.ts +2 -2
  63. package/jsx/core/SummaryList/SummaryList.mocks.d.ts.map +1 -1
  64. package/jsx/core/SummaryList/SummaryList.mocks.jsx.map +1 -1
  65. package/jsx/core/Tree/Tree.mocks.js.map +1 -1
  66. package/jsx/dnd/DragDropList/DragDropList.mocks.d.ts +1 -1
  67. package/jsx/dnd/DragDropList/DragDropList.mocks.d.ts.map +1 -1
  68. package/jsx/dnd/DragDropList/DragDropList.mocks.jsx.map +1 -1
  69. package/jsx/dnd/StandardDragDropList/Demo.d.ts +1 -1
  70. package/jsx/dnd/StandardDragDropList/Demo.d.ts.map +1 -1
  71. package/jsx/dnd/StandardDragDropList/Demo.jsx.map +1 -1
  72. package/jsx/dnd/StandardDragDropList/GroupConfig.d.ts +1 -1
  73. package/jsx/dnd/StandardDragDropList/GroupConfig.d.ts.map +1 -1
  74. package/jsx/dnd/StandardDragDropList/GroupConfig.jsx.map +1 -1
  75. package/jsx/dnd/StandardDragDropList/ItemConfig.d.ts +2 -2
  76. package/jsx/dnd/StandardDragDropList/ItemConfig.d.ts.map +1 -1
  77. package/jsx/dnd/StandardDragDropList/ItemConfig.jsx.map +1 -1
  78. package/jsx/dnd/StandardDragDropList/Popover.d.ts +2 -2
  79. package/jsx/dnd/StandardDragDropList/Popover.d.ts.map +1 -1
  80. package/jsx/dnd/StandardDragDropList/Popover.jsx.map +1 -1
  81. package/jsx/dnd/StandardDragDropList/SelectionMenu.d.ts +3 -3
  82. package/jsx/dnd/StandardDragDropList/SelectionMenu.d.ts.map +1 -1
  83. package/jsx/dnd/StandardDragDropList/SelectionMenu.jsx.map +1 -1
  84. package/jsx/rte/DynamicContentEditor/DynamicContentEditor.stories.d.ts +2 -2
  85. package/jsx/rte/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -1
  86. package/jsx/rte/DynamicContentEditor/DynamicContentEditor.stories.jsx.map +1 -1
  87. package/jsx/rte/DynamicContentEditor/FieldSelector.d.ts +3 -3
  88. package/jsx/rte/DynamicContentEditor/FieldSelector.d.ts.map +1 -1
  89. package/jsx/rte/DynamicContentEditor/FieldSelector.jsx.map +1 -1
  90. package/jsx/rte/RichTextEditor/RichTextEditor.mocks.d.ts +1 -1
  91. package/jsx/rte/RichTextEditor/RichTextEditor.mocks.d.ts.map +1 -1
  92. package/jsx/rte/RichTextEditor/RichTextEditor.mocks.jsx.map +1 -1
  93. package/jsx/social/Chat/Chat.mocks.d.ts +2 -2
  94. package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
  95. package/jsx/social/Chat/Chat.mocks.js.map +1 -1
  96. package/jsx/social/Chat/Chat.stories.d.ts +1 -0
  97. package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
  98. package/jsx/social/Chat/Chat.stories.jsx +4 -2
  99. package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
  100. package/jsx/social/Email/Email.mocks.d.ts +5 -5
  101. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  102. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  103. package/jsx/social/Feed/Feed.mocks.d.ts +4 -4
  104. package/jsx/social/Feed/Feed.mocks.d.ts.map +1 -1
  105. package/jsx/social/Feed/Feed.mocks.jsx.map +1 -1
  106. package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
  107. package/jsx/social/Feed/Feed.stories.jsx +7 -2
  108. package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
  109. package/jsx/social/Feed/FeedNewPost.mocks.d.ts +1 -1
  110. package/jsx/social/Feed/FeedNewPost.mocks.d.ts.map +1 -1
  111. package/jsx/social/Feed/FeedNewPost.mocks.jsx.map +1 -1
  112. package/jsx/social/Feed/FeedPost.mocks.d.ts.map +1 -1
  113. package/jsx/social/Feed/FeedPost.mocks.jsx +2 -2
  114. package/jsx/social/Feed/FeedPost.mocks.jsx.map +1 -1
  115. package/jsx/social/Feed/FeedReply.mocks.d.ts.map +1 -1
  116. package/jsx/social/Feed/FeedReply.mocks.jsx +1 -1
  117. package/jsx/social/Feed/FeedReply.mocks.jsx.map +1 -1
  118. package/jsx/work/Article/Article.stories.d.ts.map +1 -1
  119. package/jsx/work/Article/Article.stories.jsx.map +1 -1
  120. package/jsx/work/ArticleList/ArticleBuddy.stories.d.ts +10 -0
  121. package/jsx/work/ArticleList/ArticleBuddy.stories.d.ts.map +1 -0
  122. package/jsx/work/ArticleList/ArticleBuddy.stories.jsx +61 -0
  123. package/jsx/work/ArticleList/ArticleBuddy.stories.jsx.map +1 -0
  124. package/jsx/work/ArticleList/ArticleList.mocks.d.ts +9 -0
  125. package/jsx/work/ArticleList/ArticleList.mocks.d.ts.map +1 -1
  126. package/jsx/work/ArticleList/ArticleList.mocks.js +50 -0
  127. package/jsx/work/ArticleList/ArticleList.mocks.js.map +1 -1
  128. package/jsx/work/ArticleList/ArticleList.stories.d.ts.map +1 -1
  129. package/jsx/work/ArticleList/ArticleList.stories.jsx +49 -4
  130. package/jsx/work/ArticleList/ArticleList.stories.jsx.map +1 -1
  131. package/jsx/work/CaseView/Attachments.mocks.d.ts.map +1 -1
  132. package/jsx/work/CaseView/Attachments.mocks.jsx.map +1 -1
  133. package/jsx/work/CaseView/CaseView.mocks.d.ts +5 -6
  134. package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  135. package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
  136. package/jsx/work/CaseView/CaseView.stories.d.ts +1 -1
  137. package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
  138. package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
  139. package/jsx/work/CaseView/FileService.mock.d.ts +2 -2
  140. package/jsx/work/CaseView/FileService.mock.d.ts.map +1 -1
  141. package/jsx/work/CaseView/FileService.mock.jsx.map +1 -1
  142. package/jsx/work/CaseView/Pulse.mocks.d.ts +1 -1
  143. package/jsx/work/CaseView/Pulse.mocks.d.ts.map +1 -1
  144. package/jsx/work/CaseView/Pulse.mocks.jsx.map +1 -1
  145. package/jsx/work/SearchResults/SearchResults.mocks.d.ts +3 -3
  146. package/jsx/work/SearchResults/SearchResults.mocks.d.ts.map +1 -1
  147. package/jsx/work/SearchResults/SearchResults.mocks.jsx.map +1 -1
  148. package/jsx/work/Stakeholders/Stakeholders.mocks.d.ts +2 -2
  149. package/jsx/work/Stakeholders/Stakeholders.mocks.d.ts.map +1 -1
  150. package/jsx/work/Stakeholders/Stakeholders.mocks.jsx.map +1 -1
  151. package/jsx/work/Timeline/Timeline.mocks.d.ts +1 -1
  152. package/jsx/work/Timeline/Timeline.mocks.d.ts.map +1 -1
  153. package/jsx/work/Timeline/Timeline.mocks.jsx.map +1 -1
  154. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.mocks.d.ts +1 -1
  155. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.mocks.d.ts.map +1 -1
  156. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.mocks.js.map +1 -1
  157. package/lib/condition-builder/ConditionBuilder/props.mock.d.ts +1 -1
  158. package/lib/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
  159. package/lib/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  160. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts +1 -1
  161. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
  162. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
  163. package/lib/core/AIButton/AIButton.mocks.d.ts +1 -1
  164. package/lib/core/AIButton/AIButton.mocks.d.ts.map +1 -1
  165. package/lib/core/AIButton/AIButton.mocks.js.map +1 -1
  166. package/lib/core/AppShell/AppShell.mocks.d.ts +1 -1
  167. package/lib/core/AppShell/AppShell.mocks.d.ts.map +1 -1
  168. package/lib/core/AppShell/AppShell.mocks.js.map +1 -1
  169. package/lib/core/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
  170. package/lib/core/Breadcrumbs/Breadcrumbs.stories.d.ts.map +1 -1
  171. package/lib/core/Breadcrumbs/Breadcrumbs.stories.js.map +1 -1
  172. package/lib/core/ComboBox/ComboBox.mocks.d.ts +1 -1
  173. package/lib/core/ComboBox/ComboBox.mocks.d.ts.map +1 -1
  174. package/lib/core/ComboBox/ComboBox.mocks.js.map +1 -1
  175. package/lib/core/CompositeInput/CompositeInput.mocks.d.ts +1 -1
  176. package/lib/core/CompositeInput/CompositeInput.mocks.d.ts.map +1 -1
  177. package/lib/core/CompositeInput/CompositeInput.mocks.js.map +1 -1
  178. package/lib/core/Dialog/FormDialog.mocks.d.ts +1 -1
  179. package/lib/core/Dialog/FormDialog.mocks.d.ts.map +1 -1
  180. package/lib/core/Dialog/FormDialog.mocks.js.map +1 -1
  181. package/lib/core/Dialog/InfoDialog.mocks.d.ts.map +1 -1
  182. package/lib/core/Dialog/InfoDialog.mocks.js.map +1 -1
  183. package/lib/core/FieldGroup/FieldGroupList.mocks.d.ts +1 -1
  184. package/lib/core/FieldGroup/FieldGroupList.mocks.d.ts.map +1 -1
  185. package/lib/core/FieldGroup/FieldGroupList.mocks.js.map +1 -1
  186. package/lib/core/Form/Form.mocks.d.ts.map +1 -1
  187. package/lib/core/Form/Form.mocks.js.map +1 -1
  188. package/lib/core/Icon/Icon.mocks.d.ts +2 -2
  189. package/lib/core/Icon/Icon.mocks.d.ts.map +1 -1
  190. package/lib/core/Icon/Icon.mocks.js.map +1 -1
  191. package/lib/core/Icon/Icon.stories.d.ts +1 -1
  192. package/lib/core/Icon/Icon.stories.d.ts.map +1 -1
  193. package/lib/core/Icon/Icon.stories.js.map +1 -1
  194. package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
  195. package/lib/core/ListToolbar/ListToolbar.mocks.d.ts +3 -3
  196. package/lib/core/ListToolbar/ListToolbar.mocks.d.ts.map +1 -1
  197. package/lib/core/ListToolbar/ListToolbar.mocks.js.map +1 -1
  198. package/lib/core/LiveLog/LiveLog.mocks.d.ts.map +1 -1
  199. package/lib/core/LiveLog/LiveLog.mocks.js.map +1 -1
  200. package/lib/core/Menu/Menu.mocks.d.ts +1 -1
  201. package/lib/core/Menu/Menu.mocks.d.ts.map +1 -1
  202. package/lib/core/Menu/Menu.mocks.js.map +1 -1
  203. package/lib/core/MultiStepForm/MultiStepForm.mocks.d.ts +2 -2
  204. package/lib/core/MultiStepForm/MultiStepForm.mocks.d.ts.map +1 -1
  205. package/lib/core/MultiStepForm/MultiStepForm.mocks.js.map +1 -1
  206. package/lib/core/MultiStepForm/MultiStepForm.stories.d.ts +1 -1
  207. package/lib/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -1
  208. package/lib/core/MultiStepForm/MultiStepForm.stories.js.map +1 -1
  209. package/lib/core/PageTemplates/PageTemplates.mocks.d.ts +1 -1
  210. package/lib/core/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
  211. package/lib/core/PageTemplates/PageTemplates.mocks.js.map +1 -1
  212. package/lib/core/Popover/Popover.mocks.d.ts +1 -1
  213. package/lib/core/Popover/Popover.mocks.d.ts.map +1 -1
  214. package/lib/core/Popover/Popover.mocks.js.map +1 -1
  215. package/lib/core/SummaryList/SummaryList.mocks.d.ts +2 -2
  216. package/lib/core/SummaryList/SummaryList.mocks.d.ts.map +1 -1
  217. package/lib/core/SummaryList/SummaryList.mocks.js.map +1 -1
  218. package/lib/core/Tree/Tree.mocks.js.map +1 -1
  219. package/lib/dnd/DragDropList/DragDropList.mocks.d.ts +1 -1
  220. package/lib/dnd/DragDropList/DragDropList.mocks.d.ts.map +1 -1
  221. package/lib/dnd/DragDropList/DragDropList.mocks.js.map +1 -1
  222. package/lib/dnd/StandardDragDropList/Demo.d.ts +1 -1
  223. package/lib/dnd/StandardDragDropList/Demo.d.ts.map +1 -1
  224. package/lib/dnd/StandardDragDropList/Demo.js.map +1 -1
  225. package/lib/dnd/StandardDragDropList/GroupConfig.d.ts +1 -1
  226. package/lib/dnd/StandardDragDropList/GroupConfig.d.ts.map +1 -1
  227. package/lib/dnd/StandardDragDropList/GroupConfig.js.map +1 -1
  228. package/lib/dnd/StandardDragDropList/ItemConfig.d.ts +2 -2
  229. package/lib/dnd/StandardDragDropList/ItemConfig.d.ts.map +1 -1
  230. package/lib/dnd/StandardDragDropList/ItemConfig.js.map +1 -1
  231. package/lib/dnd/StandardDragDropList/Popover.d.ts +2 -2
  232. package/lib/dnd/StandardDragDropList/Popover.d.ts.map +1 -1
  233. package/lib/dnd/StandardDragDropList/Popover.js.map +1 -1
  234. package/lib/dnd/StandardDragDropList/SelectionMenu.d.ts +3 -3
  235. package/lib/dnd/StandardDragDropList/SelectionMenu.d.ts.map +1 -1
  236. package/lib/dnd/StandardDragDropList/SelectionMenu.js.map +1 -1
  237. package/lib/rte/DynamicContentEditor/DynamicContentEditor.stories.d.ts +2 -2
  238. package/lib/rte/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -1
  239. package/lib/rte/DynamicContentEditor/DynamicContentEditor.stories.js.map +1 -1
  240. package/lib/rte/DynamicContentEditor/FieldSelector.d.ts +3 -3
  241. package/lib/rte/DynamicContentEditor/FieldSelector.d.ts.map +1 -1
  242. package/lib/rte/DynamicContentEditor/FieldSelector.js.map +1 -1
  243. package/lib/rte/RichTextEditor/RichTextEditor.mocks.d.ts +1 -1
  244. package/lib/rte/RichTextEditor/RichTextEditor.mocks.d.ts.map +1 -1
  245. package/lib/rte/RichTextEditor/RichTextEditor.mocks.js.map +1 -1
  246. package/lib/social/Chat/Chat.mocks.d.ts +2 -2
  247. package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
  248. package/lib/social/Chat/Chat.mocks.js.map +1 -1
  249. package/lib/social/Chat/Chat.stories.d.ts +1 -0
  250. package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
  251. package/lib/social/Chat/Chat.stories.js +4 -2
  252. package/lib/social/Chat/Chat.stories.js.map +1 -1
  253. package/lib/social/Email/Email.mocks.d.ts +5 -5
  254. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  255. package/lib/social/Email/Email.mocks.js.map +1 -1
  256. package/lib/social/Feed/Feed.mocks.d.ts +4 -4
  257. package/lib/social/Feed/Feed.mocks.d.ts.map +1 -1
  258. package/lib/social/Feed/Feed.mocks.js.map +1 -1
  259. package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
  260. package/lib/social/Feed/Feed.stories.js +7 -2
  261. package/lib/social/Feed/Feed.stories.js.map +1 -1
  262. package/lib/social/Feed/FeedNewPost.mocks.d.ts +1 -1
  263. package/lib/social/Feed/FeedNewPost.mocks.d.ts.map +1 -1
  264. package/lib/social/Feed/FeedNewPost.mocks.js.map +1 -1
  265. package/lib/social/Feed/FeedPost.mocks.d.ts.map +1 -1
  266. package/lib/social/Feed/FeedPost.mocks.js +2 -2
  267. package/lib/social/Feed/FeedPost.mocks.js.map +1 -1
  268. package/lib/social/Feed/FeedReply.mocks.d.ts.map +1 -1
  269. package/lib/social/Feed/FeedReply.mocks.js +1 -1
  270. package/lib/social/Feed/FeedReply.mocks.js.map +1 -1
  271. package/lib/work/Article/Article.stories.d.ts.map +1 -1
  272. package/lib/work/Article/Article.stories.js.map +1 -1
  273. package/lib/work/ArticleList/ArticleBuddy.stories.d.ts +10 -0
  274. package/lib/work/ArticleList/ArticleBuddy.stories.d.ts.map +1 -0
  275. package/lib/work/ArticleList/ArticleBuddy.stories.js +62 -0
  276. package/lib/work/ArticleList/ArticleBuddy.stories.js.map +1 -0
  277. package/lib/work/ArticleList/ArticleList.mocks.d.ts +9 -0
  278. package/lib/work/ArticleList/ArticleList.mocks.d.ts.map +1 -1
  279. package/lib/work/ArticleList/ArticleList.mocks.js +50 -0
  280. package/lib/work/ArticleList/ArticleList.mocks.js.map +1 -1
  281. package/lib/work/ArticleList/ArticleList.stories.d.ts.map +1 -1
  282. package/lib/work/ArticleList/ArticleList.stories.js +49 -4
  283. package/lib/work/ArticleList/ArticleList.stories.js.map +1 -1
  284. package/lib/work/CaseView/Attachments.mocks.d.ts.map +1 -1
  285. package/lib/work/CaseView/Attachments.mocks.js.map +1 -1
  286. package/lib/work/CaseView/CaseView.mocks.d.ts +5 -6
  287. package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  288. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  289. package/lib/work/CaseView/CaseView.stories.d.ts +1 -1
  290. package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
  291. package/lib/work/CaseView/CaseView.stories.js.map +1 -1
  292. package/lib/work/CaseView/FileService.mock.d.ts +2 -2
  293. package/lib/work/CaseView/FileService.mock.d.ts.map +1 -1
  294. package/lib/work/CaseView/FileService.mock.js.map +1 -1
  295. package/lib/work/CaseView/Pulse.mocks.d.ts +1 -1
  296. package/lib/work/CaseView/Pulse.mocks.d.ts.map +1 -1
  297. package/lib/work/CaseView/Pulse.mocks.js.map +1 -1
  298. package/lib/work/SearchResults/SearchResults.mocks.d.ts +3 -3
  299. package/lib/work/SearchResults/SearchResults.mocks.d.ts.map +1 -1
  300. package/lib/work/SearchResults/SearchResults.mocks.js.map +1 -1
  301. package/lib/work/Stakeholders/Stakeholders.mocks.d.ts +2 -2
  302. package/lib/work/Stakeholders/Stakeholders.mocks.d.ts.map +1 -1
  303. package/lib/work/Stakeholders/Stakeholders.mocks.js.map +1 -1
  304. package/lib/work/Timeline/Timeline.mocks.d.ts +1 -1
  305. package/lib/work/Timeline/Timeline.mocks.d.ts.map +1 -1
  306. package/lib/work/Timeline/Timeline.mocks.js.map +1 -1
  307. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Attachments.mocks.jsx","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 Flex,\n Input,\n ComboBox,\n createUID,\n useModalManager,\n useModalContext,\n useToaster,\n DateTimeDisplay,\n SummaryListItem,\n MetaList,\n FormDialog,\n FormDialogProps\n} from '@pega/cosmos-react-core';\n\nimport { loadingTimeoutMS } from '../../core/Progress/Progress.mocks';\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 ('progress' in file && 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 contextualLabel: file.name,\n secondary: (\n <Text variant='secondary'>\n {'progress' in file && 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 Dialog\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditDialogProps {\n file: MockFileAttachmentResource;\n target: FormDialogProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditDialog: FC<EditDialogProps> = forwardRef(function EditDialog(\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditDialogProps>,\n ref: EditDialogProps['ref']\n) {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n const [loading, setLoading] = useState(false);\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 <FormDialog\n ref={ref}\n heading='Edit attachment'\n target={target}\n progress={loading ? 'Updating attachment...' : undefined}\n placement='bottom-start'\n onCancel={onCancel}\n onSubmit={() => {\n if (error) return;\n setLoading(true);\n setTimeout(() => {\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n setLoading(false);\n }, loadingTimeoutMS);\n }}\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 </FormDialog>\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 [viewAllLoading, setViewAllLoading] = useState(true);\n const [addNewLoading, setAddNewLoading] = useState(false);\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 editDialogTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editDialogTargetLi\n ? editDialogTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editDialogTargetLi]\n );\n\n const handleDialogClose = useCallback(() => {\n if (!editDialogTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editDialogTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editDialogRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setViewAllLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editDialogTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editDialogTargetLi]);\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} disabled={addNewLoading}>\n Cancel\n </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={() => {\n setAddNewLoading(true);\n setTimeout(() => {\n attachSelected();\n setAddNewLoading(false);\n }, loadingTimeoutMS);\n }}\n disabled={newFiles.length === 0 || addNewLoading}\n >\n Upload 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 upload'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={viewAllLoading}\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 uploading ${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 progress={addNewLoading ? { message: 'Adding attachments...' } : undefined}\n onRequestDismiss={() => {\n return !editDialogTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editDialogTargetLi && menuButton && (\n <EditDialog\n ref={editDialogRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handleDialogClose}\n onSubmit={({ name, category }) => {\n handleDialogClose();\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 editDialogTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editDialogTargetLi\n ? editDialogTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editDialogTargetLi]\n );\n\n const handleDialogClose = useCallback(() => {\n if (!editDialogTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editDialogTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editDialogRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let mounted = true;\n\n (async () => {\n const attachments = await mockAttachmentListRequest();\n\n // Avoids: Warning: Can't perform a React state update on an unmounted component.\n if (mounted) {\n setLoading(false);\n setFiles(attachments);\n }\n })();\n\n return () => {\n mounted = false;\n };\n }, []);\n\n useEffect(() => {\n if (!editDialogTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editDialogTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n headingTag='h3'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add',\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 uploading ${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 {editDialogTargetLi && menuButton && (\n <EditDialog\n ref={editDialogRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handleDialogClose}\n onSubmit={({ name, category }) => {\n handleDialogClose();\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.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useCallback, useContext, useEffect, useRef, useMemo, forwardRef } from 'react';\nimport type { FormEvent, Ref, ChangeEvent, FC, PropsWithoutRef } 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 Flex,\n Input,\n ComboBox,\n createUID,\n useModalManager,\n useModalContext,\n useToaster,\n DateTimeDisplay,\n MetaList,\n FormDialog\n} from '@pega/cosmos-react-core';\nimport type { Action, SummaryListItem, FormDialogProps } from '@pega/cosmos-react-core';\n\nimport { loadingTimeoutMS } from '../../core/Progress/Progress.mocks';\n\nimport { FileServiceContext, mockAttachmentListRequest, mockCategories } from './FileService.mock';\nimport type {\n FileServiceContextValue,\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 ('progress' in file && 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 contextualLabel: file.name,\n secondary: (\n <Text variant='secondary'>\n {'progress' in file && 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 Dialog\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditDialogProps {\n file: MockFileAttachmentResource;\n target: FormDialogProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditDialog: FC<EditDialogProps> = forwardRef(function EditDialog(\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditDialogProps>,\n ref: EditDialogProps['ref']\n) {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n const [loading, setLoading] = useState(false);\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 <FormDialog\n ref={ref}\n heading='Edit attachment'\n target={target}\n progress={loading ? 'Updating attachment...' : undefined}\n placement='bottom-start'\n onCancel={onCancel}\n onSubmit={() => {\n if (error) return;\n setLoading(true);\n setTimeout(() => {\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n setLoading(false);\n }, loadingTimeoutMS);\n }}\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 </FormDialog>\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 [viewAllLoading, setViewAllLoading] = useState(true);\n const [addNewLoading, setAddNewLoading] = useState(false);\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 editDialogTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editDialogTargetLi\n ? editDialogTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editDialogTargetLi]\n );\n\n const handleDialogClose = useCallback(() => {\n if (!editDialogTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editDialogTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editDialogRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setViewAllLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editDialogTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editDialogTargetLi]);\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} disabled={addNewLoading}>\n Cancel\n </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={() => {\n setAddNewLoading(true);\n setTimeout(() => {\n attachSelected();\n setAddNewLoading(false);\n }, loadingTimeoutMS);\n }}\n disabled={newFiles.length === 0 || addNewLoading}\n >\n Upload 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 upload'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={viewAllLoading}\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 uploading ${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 progress={addNewLoading ? { message: 'Adding attachments...' } : undefined}\n onRequestDismiss={() => {\n return !editDialogTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editDialogTargetLi && menuButton && (\n <EditDialog\n ref={editDialogRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handleDialogClose}\n onSubmit={({ name, category }) => {\n handleDialogClose();\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 editDialogTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editDialogTargetLi\n ? editDialogTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editDialogTargetLi]\n );\n\n const handleDialogClose = useCallback(() => {\n if (!editDialogTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editDialogTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editDialogRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let mounted = true;\n\n (async () => {\n const attachments = await mockAttachmentListRequest();\n\n // Avoids: Warning: Can't perform a React state update on an unmounted component.\n if (mounted) {\n setLoading(false);\n setFiles(attachments);\n }\n })();\n\n return () => {\n mounted = false;\n };\n }, []);\n\n useEffect(() => {\n if (!editDialogTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editDialogTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n headingTag='h3'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add',\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 uploading ${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 {editDialogTargetLi && menuButton && (\n <EditDialog\n ref={editDialogRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handleDialogClose}\n onSubmit={({ name, category }) => {\n handleDialogClose();\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,10 +1,9 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
- import type { ReactNode } from 'react';
3
- import { SummaryListProps } from '@pega/cosmos-react-core';
1
+ import type { Dispatch, ReactNode, SetStateAction } from 'react';
2
+ import type { SummaryListProps } from '@pega/cosmos-react-core';
4
3
  import type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';
5
- import { CaseViewProps } from '@pega/cosmos-react-work';
6
- import { TokenMap } from '@pega/cosmos-react-rte';
7
- import { FeedProps } from '@pega/cosmos-react-social';
4
+ import type { CaseViewProps } from '@pega/cosmos-react-work';
5
+ import type { TokenMap } from '@pega/cosmos-react-rte';
6
+ import type { FeedProps } from '@pega/cosmos-react-social';
8
7
  export interface CaseViewMockProps {
9
8
  caseId: CaseViewProps['caseId'];
10
9
  heading: CaseViewProps['heading'];
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseView.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.mocks.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Dispatch, SetStateAction, useMemo, useState, MouseEvent } from 'react';\nimport type { ReactNode } from 'react';\nimport createDOMPurify from 'dompurify';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n Link,\n createStringMatcher,\n Modal,\n SummaryList,\n SummaryListProps,\n useModalManager,\n useElement,\n ViewAll,\n Status,\n Flex,\n Grid,\n registerIcon,\n Banner,\n createUID,\n useBreakpoint,\n Avatar,\n Tabs,\n TabPanel,\n Card,\n CardHeader,\n Text\n} from '@pega/cosmos-react-core';\nimport type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';\nimport {\n Glimpse,\n CaseViewProps,\n CaseView,\n CasePreview,\n UtilitySummaryItemDialog\n} from '@pega/cosmos-react-work';\nimport { TokenMap, RichTextViewer } from '@pega/cosmos-react-rte';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\nimport { FeedProps } from '@pega/cosmos-react-social';\n\nimport { PredictionsDemo } from '../Predictions/Predictions.stories';\nimport { useMockListData } from '../../core/SummaryList/SummaryList.mocks';\nimport { StakeHoldersDemo } from '../Stakeholders/Stakeholders.stories';\nimport { TagsDemo } from '../Tags/Tags.stories';\nimport { StagesDemo } from '../Stages/Stages.stories';\nimport { AssignmentsDemo } from '../Assignments/Assignments.stories';\n\nimport { PulseMock } from './Pulse.mocks';\nimport { Details } from './Details.mocks';\nimport { AttachmentsMock } from './Attachments.mocks';\n\nregisterIcon(userSolidIcon);\n\nconst DOMPurify = createDOMPurify();\n\nexport interface CaseViewMockProps {\n caseId: CaseViewProps['caseId'];\n heading: CaseViewProps['heading'];\n subheading?: CaseViewProps['subheading'];\n parentCases?: boolean;\n summaryFields?: 'All' | 'Primary only' | 'Secondary only';\n tabs?: CaseViewProps['tabs'];\n stages?: boolean;\n tasks?: boolean | CaseViewProps['tasks'];\n taskCount?: number;\n predictions?: boolean;\n attachments?: boolean;\n stakeholders?: boolean;\n followers?: boolean;\n tags?: boolean;\n persistentUtility?: boolean | CaseViewProps['persistentUtility'];\n intelligentGuidance?: CaseViewProps['intelligentGuidance'];\n banner?: boolean;\n utilitiesExpanded?: boolean;\n promotedActions?: 0 | 1 | 2 | 3 | 4 | 5;\n headingLength?: 'short' | 'medium' | 'long';\n defaultExpanded?: boolean;\n}\n\ninterface PreviewSetters {\n setPreviewCaseId: Dispatch<SetStateAction<string | null>>;\n setPreviewCurrentTabId: Dispatch<SetStateAction<string>>;\n}\n\nconst StyledRSWrapper = styled.div(\n ({ theme }) => css`\n display: grid;\n place-items: center;\n border: 0.1875rem dashed ${theme.base.palette['border-line']};\n min-height: 6rem;\n height: var(--content-height-in-view);\n border-radius: calc(${theme.components.card['border-radius']});\n `\n);\n\n// This is a mini mock of the Constellation table component aka Repeating Structures\nconst RSTable = () => {\n return (\n <article style={{ display: 'block' }}>\n <StyledRSWrapper className='rs-wrapper'>\n <Text variant='secondary'>Table goes here</Text>\n </StyledRSWrapper>\n </article>\n );\n};\n\nconst TableSizingTabs = ({ tabCount = 3 }: { tabCount?: number }) => {\n const [currentTabId, setCurrentTabId] = useState('1');\n\n const tabs = [\n { name: 'Tab 1', id: '1' },\n { name: 'Tab 2', id: '2' },\n { name: 'Tab 3', id: '3' }\n ].slice(0, tabCount);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Tabs\n tabs={tabs}\n type='horizontal'\n onTabClick={id => {\n setCurrentTabId(id);\n }}\n currentTabId={currentTabId}\n />\n {tabs.map(tab => (\n <TabPanel tabId={tab.id} currentTabId={currentTabId} key={tab.id}>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {(() => {\n switch (tab.id) {\n case '1':\n return <RSTable />;\n\n case '2':\n return (\n <>\n <RSTable />\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat\n non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n </>\n );\n\n case '3':\n return <TableSizingTabs tabCount={2} />;\n\n default:\n return null;\n }\n })()}\n </Flex>\n </TabPanel>\n ))}\n </Flex>\n );\n};\n\nexport const caseId = 'C-123456';\n\nexport const createDate = new Date(2016, 1, 8);\nconst msInYear = 1000 * 60 * 60 * 24 * 365;\nconst diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\nexport const tabLabels = ['Details', 'Pulse', 'Single table', 'Sub tab table', 'Multiple tables'];\n\nexport const baseCaseTabs = tabLabels.map((name): Tab => {\n return {\n name,\n id: name\n };\n});\n\nconst singularize = (s = '') => s.replace(/s$/i, '').toLowerCase();\n\nexport const MockSummaryListViewAllModal = ({ name, count }: any) => {\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n {\n count\n }\n );\n\n const onSearchChange = (value: string) => {\n setSearch(value.trim());\n };\n\n const itemsToRender = useMemo(() => {\n if (search) {\n const regEx = createStringMatcher(search, 'boundary');\n return items.filter(({ primary, id }) => regEx.test(primary) || regEx.test(id));\n }\n\n return items;\n }, [items, search]);\n\n return (\n <Modal heading={name}>\n <ViewAll\n loading={loading}\n items={itemsToRender}\n actions={[\n {\n id: 'addNew',\n text: `Add ${singularize(name)}`\n }\n ]}\n searchInputProps={{ onSearchChange }}\n />\n </Modal>\n );\n};\n\nexport const MockSummaryList = ({\n icon,\n name,\n actions,\n limit\n}: Pick<SummaryListProps, 'icon' | 'name'> & { actions?: null; limit?: number }) => {\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const count = 50;\n\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n { count: limit }\n );\n\n return (\n <SummaryList\n loading={loading}\n items={items}\n icon={icon}\n name={name}\n headingTag='h3'\n count={loading ? undefined : count}\n actions={\n actions !== null\n ? [\n {\n text: 'Add',\n id: `${name}:addNew`,\n icon: 'plus',\n onClick() {\n createModal(() => {\n const singularName = singularize(name);\n return (\n <Modal heading={`Add new ${singularName}`}>\n {`Content for adding a new ${singularName} goes here…`}\n </Modal>\n );\n });\n }\n }\n ]\n : undefined\n }\n onViewAll={() => {\n createModal(MockSummaryListViewAllModal, {\n name,\n count\n });\n }}\n />\n );\n};\n\nexport const MockOperatorFieldValue = () => {\n const [target, setTarget] = useElement<HTMLButtonElement>(null);\n\n return (\n <>\n <Button\n variant='link'\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n setTarget(e.currentTarget);\n }}\n >\n constellation@pega.com\n </Button>\n {target && (\n <Glimpse\n id='constellation'\n target={target}\n onDismiss={() => setTarget(null)}\n heading={{\n primary: 'Constellation Operator',\n secondary: 'Director of the stars',\n visual: <Avatar name='Constellation Operator' />\n }}\n fields={[\n {\n id: '1',\n name: 'Department',\n value: 'Space Travel'\n },\n {\n id: '2',\n name: 'Manager',\n value: 'Captain Galaxy'\n },\n {\n id: '3',\n name: 'Location',\n value: 'A galaxy far away'\n },\n {\n id: '4',\n name: 'Email',\n value: <Link href='mailto:constellation@pega.com'>constellation@pega.com</Link>\n },\n {\n id: '5',\n name: 'Telephone',\n value: <Link href='tel:555-123-4567'>555-123-4567</Link>\n }\n ]}\n onViewProfile={() => {}}\n />\n )}\n </>\n );\n};\n\nexport const PreviewLinkComponent = ({\n token: linkToken,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: { token: TokenMap['link'] } & PreviewSetters) => {\n return (\n <Link\n href={linkToken.href}\n previewable\n onPreview={() => {\n setPreviewCaseId(linkToken.href);\n setPreviewCurrentTabId(`summary-${linkToken.href}`);\n }}\n >\n {linkToken.text}\n </Link>\n );\n};\n\nexport const getPulseMarkdownMap = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters): FeedProps['markdownMap'] => {\n return {\n link: (linkToken: TokenMap['link']) => {\n if (linkToken.href?.startsWith('C-')) {\n return () => (\n <PreviewLinkComponent\n token={linkToken}\n setPreviewCaseId={setPreviewCaseId}\n setPreviewCurrentTabId={setPreviewCurrentTabId}\n />\n );\n }\n }\n };\n};\n\nexport const onMentionPreview = ({\n id,\n type,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n id: string;\n type: string;\n} & PreviewSetters) => {\n if (type === 'case') {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n};\n\nexport const getTabContent = ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: (\n <PulseMock\n markdownMap={getPulseMarkdownMap({ setPreviewCaseId, setPreviewCurrentTabId })}\n onMentionPreview={({ id, type }) => {\n onMentionPreview({ id, type, setPreviewCaseId, setPreviewCurrentTabId });\n }}\n />\n )\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n};\n\nexport const previewTabContent = [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock />\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n];\n\nexport const getPrimaryFields = () => {\n return [\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Member ID',\n value: 'M205435569FD1234567890'\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }));\n};\n\nconst baseSecondaryFields: CaseViewProps['summaryFields']['secondary'] = [\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n },\n {\n name: 'Description',\n value: (\n <RichTextViewer\n content='<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>'\n type='html'\n />\n ),\n simpleValue: DOMPurify.sanitize(\n '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>',\n {\n ALLOWED_TAGS: [],\n ALLOWED_ATTR: [],\n KEEP_CONTENT: true\n }\n ),\n variant: 'stacked'\n }\n];\n\nexport const getSecondaryFields = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters) => {\n return [\n ...baseSecondaryFields,\n {\n name: 'Created by',\n value: <MockOperatorFieldValue />\n },\n {\n name: 'Previewable case',\n value: (\n <Link\n href='/cases/C-456'\n previewable\n onPreview={() => {\n setPreviewCaseId('C-456');\n setPreviewCurrentTabId('summary-C-456');\n }}\n >\n Previewable Case - C-456\n </Link>\n )\n }\n ];\n};\n\nexport const casePreviewPrimaryFields = [\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n];\n\nexport const casePreviewSecondaryFields = baseSecondaryFields;\n\nexport const getParentCases = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n caseId: CaseViewProps['caseId'];\n} & PreviewSetters) => {\n let ids: number[] = [];\n\n /** random-ish number from 100000 to 999999 */\n const randomId = (seed = 1) => {\n const x = Math.sin(seed);\n let rand = x - Math.floor(x);\n\n if (rand < 0.1) {\n rand += 0.1;\n }\n\n return Math.floor(rand * 1000000);\n };\n\n for (let i = 0; i < 5; i += 1) {\n ids.push(randomId(i + 1));\n }\n\n ids = ids.sort((a, b) => a - b);\n\n return ids.map(num => {\n const id = `C-${num}`;\n return {\n id,\n primary: id,\n href: `/cases/${id}`,\n previewable: true,\n onPreview: () => {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n });\n};\n\ninterface UtilitiesArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n}\n\ninterface UtilitySummaryItemsArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n setDialogTarget: (instance: HTMLElement | null) => void;\n setDialogContent: React.Dispatch<React.SetStateAction<ReactNode>>;\n setShowDialog: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const Utilities = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags\n}: UtilitiesArgs) => {\n return (\n <>\n {predictions && <PredictionsDemo />}\n {attachments && <AttachmentsMock />}\n {stakeholders && <StakeHoldersDemo />}\n {followers && <MockSummaryList icon='user-star' name='Followers' />}\n {tags && <TagsDemo />}\n </>\n );\n};\n\nexport const getUtilitiesSummaryItems = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n setDialogTarget,\n setDialogContent,\n setShowDialog\n}: UtilitySummaryItemsArgs): NonNullable<CaseViewProps['utilitiesSummaryItems']> => {\n const items: NonNullable<CaseViewProps['utilitiesSummaryItems']> = [];\n\n if (predictions)\n items.push({\n iconName: 'polaris',\n name: 'Predictions',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<PredictionsDemo />);\n setShowDialog(true);\n }\n });\n if (attachments)\n items.push({\n iconName: 'paper-clip',\n count: 4,\n name: 'Attachments',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<AttachmentsMock />);\n setShowDialog(true);\n }\n });\n if (stakeholders)\n items.push({\n iconName: 'user-search-solid',\n count: 10,\n name: 'Stakeholders',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<StakeHoldersDemo />);\n setShowDialog(true);\n }\n });\n if (followers)\n items.push({\n iconName: 'user-star-solid',\n count: 5,\n name: 'Followers',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<MockSummaryList icon='user-star' name='Followers' />);\n setShowDialog(true);\n }\n });\n if (tags)\n items.push({\n iconName: 'tag',\n count: 10,\n name: 'Tags',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<TagsDemo />);\n setShowDialog(true);\n }\n });\n\n return items;\n};\n\nexport const getCaseActions = () => {\n return Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: () => {}\n };\n });\n};\n\nconst getHeading = (size: 'short' | 'medium' | 'long') => {\n return {\n short: 'Constellation',\n medium: 'Complicated constellation demo case of some distinction',\n long: 'The scenario in this case is almost too obscure to put into words and so the title is quite long'\n }[size];\n};\n\nexport const getPromotedActions = (count: number) => {\n return [\n {\n id: createUID(),\n text: 'Reassign',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Add dependency',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Clone',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Move',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Withdraw',\n onClick: () => {}\n }\n ].slice(0, count);\n};\n\nconst StyledPersistentUtilityContent = styled.div(({ theme }) => {\n return css`\n height: 100%;\n border-inline: 0.0625rem dashed ${theme.base.palette['border-line']};\n `;\n});\n\nexport const PersistentUtilityContent = () => {\n return (\n <Flex\n container={{ justify: 'center', alignItems: 'center' }}\n as={StyledPersistentUtilityContent}\n >\n Persistent utility content\n </Flex>\n );\n};\n\nexport const CaseViewMock = ({\n caseId: caseIdProp,\n heading,\n subheading,\n parentCases = false,\n promotedActions = 1,\n summaryFields = 'All',\n tabs,\n stages = true,\n tasks = true,\n taskCount = 4,\n utilitiesExpanded: utilitiesExpandedProp = true,\n predictions = true,\n attachments = true,\n stakeholders = true,\n followers = true,\n tags = true,\n persistentUtility = false,\n intelligentGuidance = false,\n banner = false,\n headingLength,\n defaultExpanded\n}: CaseViewMockProps) => {\n const [previewCaseId, setPreviewCaseId] = useState<null | string>(null);\n const [previewCurrentTabId, setPreviewCurrentTabId] = useState(baseCaseTabs[0].id);\n const isMediumOrAbove = useBreakpoint('md');\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? tabs?.currentTabId ?? baseCaseTabs[0].id : `summary-${caseIdProp}`\n );\n\n const [dialogContent, setDialogContent] = useState<ReactNode>();\n const [dialogTarget, setDialogTarget] = useElement<HTMLElement>();\n const [showDialog, setShowDialog] = useState(false);\n\n const demoTabs = tabs ?? {\n items: baseCaseTabs,\n currentTabId: demoCurrentTabId,\n onClick: setDemoCurrentTabId\n };\n\n const previewTabs = {\n items: baseCaseTabs,\n currentTabId: previewCurrentTabId,\n onClick: setPreviewCurrentTabId\n };\n\n const parentCasesContent = getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n const demoStages = <StagesDemo currentStage={3} />;\n\n const [followed, setFollowed] = useState(false);\n\n const [summaryExpanded, setSummaryExpanded] = useState(!!defaultExpanded);\n const [utilitiesExpanded, setUtilitiesExpanded] = useState(utilitiesExpandedProp);\n const tabContent = getTabContent({\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n return (\n <>\n {previewCaseId && (\n <CasePreview\n open\n onAfterClose={() => {\n setPreviewCaseId(null);\n }}\n caseId={previewCaseId}\n parentCases={\n Math.random() > 0.5\n ? [...parentCasesContent]\n .filter(c => c.id !== previewCaseId)\n .map(c => ({ ...c, id: `preview-${c.id}` }))\n : undefined\n }\n heading='Previewable demo case'\n subheading={previewCaseId}\n caseLink={{ href: `/cases/${previewCaseId}`, target: '_blank' }}\n icon='user-solid'\n followed={!followed}\n onEdit={() => {}}\n actions={getCaseActions()}\n promotedActions={getPromotedActions(2)}\n summaryFields={{\n primary: casePreviewPrimaryFields,\n secondary: casePreviewSecondaryFields\n }}\n stages={demoStages}\n tasks={<AssignmentsDemo count={4} />}\n tabs={previewTabs}\n tabContent={tabContent}\n utilities={\n <Grid container={{ rowGap: 2 }}>\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n </Grid>\n }\n />\n )}\n {dialogTarget && showDialog && (\n <UtilitySummaryItemDialog\n target={dialogTarget}\n onDismiss={() => {\n setShowDialog(false);\n }}\n >\n {dialogContent}\n </UtilitySummaryItemDialog>\n )}\n <CaseView\n caseId={caseIdProp}\n parentCases={\n parentCases\n ? getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n })\n : undefined\n }\n heading={headingLength ? getHeading(headingLength) : heading}\n subheading={subheading}\n icon='user-solid'\n followed={followed}\n onFollowedChange={setFollowed}\n actions={getCaseActions()}\n promotedActions={promotedActions ? getPromotedActions(promotedActions) : undefined}\n onEdit={() => {}}\n summaryFields={(() => {\n const obj: CaseViewProps['summaryFields'] = {\n primary: getPrimaryFields(),\n secondary: getSecondaryFields({ setPreviewCaseId, setPreviewCurrentTabId })\n };\n\n if (summaryFields === 'Primary only') {\n obj.secondary = undefined;\n }\n\n if (summaryFields === 'Secondary only') {\n obj.primary = undefined;\n }\n\n return obj;\n })()}\n summaryExpanded={summaryExpanded}\n onToggleSummary={() => {\n setSummaryExpanded(cur => !cur);\n }}\n tabs={demoTabs}\n persistentUtility={(() => {\n if (typeof persistentUtility === 'boolean') {\n return persistentUtility\n ? { title: 'Persistent utility', content: <PersistentUtilityContent /> }\n : undefined;\n }\n\n return persistentUtility;\n })()}\n stages={stages ? demoStages : undefined}\n tasks={tasks ? <AssignmentsDemo count={taskCount} /> : undefined}\n tabContent={tabContent}\n utilities={\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n }\n utilitiesSummaryItems={getUtilitiesSummaryItems({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n setDialogTarget,\n setDialogContent,\n setShowDialog\n })}\n utilitiesExpanded={utilitiesExpanded}\n onToggleUtilities={() => {\n setUtilitiesExpanded(cur => !cur);\n }}\n intelligentGuidance={intelligentGuidance}\n banners={\n banner ? (\n <Banner\n variant='urgent'\n messages={[\n {\n label: 'An error occurred',\n description:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n action: {\n text: 'Take acton'\n }\n }\n ]}\n />\n ) : undefined\n }\n />\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CaseView.mocks.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useState } from 'react';\nimport type { Dispatch, MouseEvent, ReactNode, SetStateAction } from 'react';\nimport createDOMPurify from 'dompurify';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n Link,\n createStringMatcher,\n Modal,\n SummaryList,\n useModalManager,\n useElement,\n ViewAll,\n Status,\n Flex,\n Grid,\n registerIcon,\n Banner,\n createUID,\n useBreakpoint,\n Avatar,\n Tabs,\n TabPanel,\n Card,\n CardHeader,\n Text\n} from '@pega/cosmos-react-core';\nimport type { SummaryListProps } from '@pega/cosmos-react-core';\nimport type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';\nimport { Glimpse, CaseView, CasePreview, UtilitySummaryItemDialog } from '@pega/cosmos-react-work';\nimport type { CaseViewProps } from '@pega/cosmos-react-work';\nimport { RichTextViewer } from '@pega/cosmos-react-rte';\nimport type { TokenMap } from '@pega/cosmos-react-rte';\nimport * as userSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/user-solid.icon';\nimport type { FeedProps } from '@pega/cosmos-react-social';\n\nimport { PredictionsDemo } from '../Predictions/Predictions.stories';\nimport { useMockListData } from '../../core/SummaryList/SummaryList.mocks';\nimport { StakeHoldersDemo } from '../Stakeholders/Stakeholders.stories';\nimport { TagsDemo } from '../Tags/Tags.stories';\nimport { StagesDemo } from '../Stages/Stages.stories';\nimport { AssignmentsDemo } from '../Assignments/Assignments.stories';\n\nimport { PulseMock } from './Pulse.mocks';\nimport { Details } from './Details.mocks';\nimport { AttachmentsMock } from './Attachments.mocks';\n\nregisterIcon(userSolidIcon);\n\nconst DOMPurify = createDOMPurify();\n\nexport interface CaseViewMockProps {\n caseId: CaseViewProps['caseId'];\n heading: CaseViewProps['heading'];\n subheading?: CaseViewProps['subheading'];\n parentCases?: boolean;\n summaryFields?: 'All' | 'Primary only' | 'Secondary only';\n tabs?: CaseViewProps['tabs'];\n stages?: boolean;\n tasks?: boolean | CaseViewProps['tasks'];\n taskCount?: number;\n predictions?: boolean;\n attachments?: boolean;\n stakeholders?: boolean;\n followers?: boolean;\n tags?: boolean;\n persistentUtility?: boolean | CaseViewProps['persistentUtility'];\n intelligentGuidance?: CaseViewProps['intelligentGuidance'];\n banner?: boolean;\n utilitiesExpanded?: boolean;\n promotedActions?: 0 | 1 | 2 | 3 | 4 | 5;\n headingLength?: 'short' | 'medium' | 'long';\n defaultExpanded?: boolean;\n}\n\ninterface PreviewSetters {\n setPreviewCaseId: Dispatch<SetStateAction<string | null>>;\n setPreviewCurrentTabId: Dispatch<SetStateAction<string>>;\n}\n\nconst StyledRSWrapper = styled.div(\n ({ theme }) => css`\n display: grid;\n place-items: center;\n border: 0.1875rem dashed ${theme.base.palette['border-line']};\n min-height: 6rem;\n height: var(--content-height-in-view);\n border-radius: calc(${theme.components.card['border-radius']});\n `\n);\n\n// This is a mini mock of the Constellation table component aka Repeating Structures\nconst RSTable = () => {\n return (\n <article style={{ display: 'block' }}>\n <StyledRSWrapper className='rs-wrapper'>\n <Text variant='secondary'>Table goes here</Text>\n </StyledRSWrapper>\n </article>\n );\n};\n\nconst TableSizingTabs = ({ tabCount = 3 }: { tabCount?: number }) => {\n const [currentTabId, setCurrentTabId] = useState('1');\n\n const tabs = [\n { name: 'Tab 1', id: '1' },\n { name: 'Tab 2', id: '2' },\n { name: 'Tab 3', id: '3' }\n ].slice(0, tabCount);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Tabs\n tabs={tabs}\n type='horizontal'\n onTabClick={id => {\n setCurrentTabId(id);\n }}\n currentTabId={currentTabId}\n />\n {tabs.map(tab => (\n <TabPanel tabId={tab.id} currentTabId={currentTabId} key={tab.id}>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {(() => {\n switch (tab.id) {\n case '1':\n return <RSTable />;\n\n case '2':\n return (\n <>\n <RSTable />\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat\n non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n </>\n );\n\n case '3':\n return <TableSizingTabs tabCount={2} />;\n\n default:\n return null;\n }\n })()}\n </Flex>\n </TabPanel>\n ))}\n </Flex>\n );\n};\n\nexport const caseId = 'C-123456';\n\nexport const createDate = new Date(2016, 1, 8);\nconst msInYear = 1000 * 60 * 60 * 24 * 365;\nconst diffInYears = Math.floor((Date.now() - createDate.getTime()) / msInYear);\n\nexport const tabLabels = ['Details', 'Pulse', 'Single table', 'Sub tab table', 'Multiple tables'];\n\nexport const baseCaseTabs = tabLabels.map((name): Tab => {\n return {\n name,\n id: name\n };\n});\n\nconst singularize = (s = '') => s.replace(/s$/i, '').toLowerCase();\n\nexport const MockSummaryListViewAllModal = ({ name, count }: any) => {\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n {\n count\n }\n );\n\n const onSearchChange = (value: string) => {\n setSearch(value.trim());\n };\n\n const itemsToRender = useMemo(() => {\n if (search) {\n const regEx = createStringMatcher(search, 'boundary');\n return items.filter(({ primary, id }) => regEx.test(primary) || regEx.test(id));\n }\n\n return items;\n }, [items, search]);\n\n return (\n <Modal heading={name}>\n <ViewAll\n loading={loading}\n items={itemsToRender}\n actions={[\n {\n id: 'addNew',\n text: `Add ${singularize(name)}`\n }\n ]}\n searchInputProps={{ onSearchChange }}\n />\n </Modal>\n );\n};\n\nexport const MockSummaryList = ({\n icon,\n name,\n actions,\n limit\n}: Pick<SummaryListProps, 'icon' | 'name'> & { actions?: null; limit?: number }) => {\n const { create: createModal } = useModalManager();\n const [loading, setLoading] = useState(true);\n const count = 50;\n\n const [items] = useMockListData(\n () => {\n setLoading(false);\n },\n { count: limit }\n );\n\n return (\n <SummaryList\n loading={loading}\n items={items}\n icon={icon}\n name={name}\n headingTag='h3'\n count={loading ? undefined : count}\n actions={\n actions !== null\n ? [\n {\n text: 'Add',\n id: `${name}:addNew`,\n icon: 'plus',\n onClick() {\n createModal(() => {\n const singularName = singularize(name);\n return (\n <Modal heading={`Add new ${singularName}`}>\n {`Content for adding a new ${singularName} goes here…`}\n </Modal>\n );\n });\n }\n }\n ]\n : undefined\n }\n onViewAll={() => {\n createModal(MockSummaryListViewAllModal, {\n name,\n count\n });\n }}\n />\n );\n};\n\nexport const MockOperatorFieldValue = () => {\n const [target, setTarget] = useElement<HTMLButtonElement>(null);\n\n return (\n <>\n <Button\n variant='link'\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n setTarget(e.currentTarget);\n }}\n >\n constellation@pega.com\n </Button>\n {target && (\n <Glimpse\n id='constellation'\n target={target}\n onDismiss={() => setTarget(null)}\n heading={{\n primary: 'Constellation Operator',\n secondary: 'Director of the stars',\n visual: <Avatar name='Constellation Operator' />\n }}\n fields={[\n {\n id: '1',\n name: 'Department',\n value: 'Space Travel'\n },\n {\n id: '2',\n name: 'Manager',\n value: 'Captain Galaxy'\n },\n {\n id: '3',\n name: 'Location',\n value: 'A galaxy far away'\n },\n {\n id: '4',\n name: 'Email',\n value: <Link href='mailto:constellation@pega.com'>constellation@pega.com</Link>\n },\n {\n id: '5',\n name: 'Telephone',\n value: <Link href='tel:555-123-4567'>555-123-4567</Link>\n }\n ]}\n onViewProfile={() => {}}\n />\n )}\n </>\n );\n};\n\nexport const PreviewLinkComponent = ({\n token: linkToken,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: { token: TokenMap['link'] } & PreviewSetters) => {\n return (\n <Link\n href={linkToken.href}\n previewable\n onPreview={() => {\n setPreviewCaseId(linkToken.href);\n setPreviewCurrentTabId(`summary-${linkToken.href}`);\n }}\n >\n {linkToken.text}\n </Link>\n );\n};\n\nexport const getPulseMarkdownMap = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters): FeedProps['markdownMap'] => {\n return {\n link: (linkToken: TokenMap['link']) => {\n if (linkToken.href?.startsWith('C-')) {\n return () => (\n <PreviewLinkComponent\n token={linkToken}\n setPreviewCaseId={setPreviewCaseId}\n setPreviewCurrentTabId={setPreviewCurrentTabId}\n />\n );\n }\n }\n };\n};\n\nexport const onMentionPreview = ({\n id,\n type,\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n id: string;\n type: string;\n} & PreviewSetters) => {\n if (type === 'case') {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n};\n\nexport const getTabContent = ({ setPreviewCaseId, setPreviewCurrentTabId }: PreviewSetters) => {\n return [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: (\n <PulseMock\n markdownMap={getPulseMarkdownMap({ setPreviewCaseId, setPreviewCurrentTabId })}\n onMentionPreview={({ id, type }) => {\n onMentionPreview({ id, type, setPreviewCaseId, setPreviewCurrentTabId });\n }}\n />\n )\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n ];\n};\n\nexport const previewTabContent = [\n {\n id: 'Details',\n content: <Details />\n },\n {\n id: 'Pulse',\n content: <PulseMock />\n },\n {\n id: 'Single table',\n content: <RSTable />\n },\n {\n id: 'Sub tab table',\n content: <TableSizingTabs />\n },\n {\n id: 'Multiple tables',\n content: (\n <Card>\n <CardHeader>\n <Text variant='h2'>Multiple tables</Text>\n </CardHeader>\n <Flex container={{ direction: 'column', gap: 2 }}>\n <RSTable />\n <RSTable />\n </Flex>\n </Card>\n )\n },\n {\n id: 'not found',\n content: <h2>Not Found</h2>\n }\n];\n\nexport const getPrimaryFields = () => {\n return [\n {\n name: 'Create date',\n value: createDate.toDateString()\n },\n {\n name: 'Member ID',\n value: 'M205435569FD1234567890'\n },\n {\n name: 'Assigned to',\n value: 'Dean Thomas'\n },\n {\n name: 'Priority',\n value: '95'\n }\n ].map((f, i) => ({ ...f, id: `p-${i}` }));\n};\n\nconst baseSecondaryFields: CaseViewProps['summaryFields']['secondary'] = [\n {\n name: 'Status',\n value: <Status variant='info'>New</Status>\n },\n {\n name: 'Update date',\n value: `${diffInYears} years ago`\n },\n {\n name: 'Description',\n value: (\n <RichTextViewer\n content='<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>'\n type='html'\n />\n ),\n simpleValue: DOMPurify.sanitize(\n '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo nulla vitae mi bibendum, a fringilla nisl efficitur. Praesent vitae nulla lobortis, finibus felis ultricies, fermentum mi. Nunc lorem ligula, placerat nec elit id, auctor pellentesque est.</p> </br> <p>Pellentesque pharetra justo augue, non maximus nulla venenatis et. Sed laoreet ultricies ullamcorper. Mauris ac nulla quis ipsum semper fringilla in eget risus. Fusce cursus sollicitudin nibh molestie volutpat.</p>',\n {\n ALLOWED_TAGS: [],\n ALLOWED_ATTR: [],\n KEEP_CONTENT: true\n }\n ),\n variant: 'stacked'\n }\n];\n\nexport const getSecondaryFields = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: PreviewSetters) => {\n return [\n ...baseSecondaryFields,\n {\n name: 'Created by',\n value: <MockOperatorFieldValue />\n },\n {\n name: 'Previewable case',\n value: (\n <Link\n href='/cases/C-456'\n previewable\n onPreview={() => {\n setPreviewCaseId('C-456');\n setPreviewCurrentTabId('summary-C-456');\n }}\n >\n Previewable Case - C-456\n </Link>\n )\n }\n ];\n};\n\nexport const casePreviewPrimaryFields = [\n {\n name: 'Member ID',\n value: 'M204859F438G'\n },\n {\n name: 'Priority',\n value: '95'\n }\n];\n\nexport const casePreviewSecondaryFields = baseSecondaryFields;\n\nexport const getParentCases = ({\n setPreviewCaseId,\n setPreviewCurrentTabId\n}: {\n caseId: CaseViewProps['caseId'];\n} & PreviewSetters) => {\n let ids: number[] = [];\n\n /** random-ish number from 100000 to 999999 */\n const randomId = (seed = 1) => {\n const x = Math.sin(seed);\n let rand = x - Math.floor(x);\n\n if (rand < 0.1) {\n rand += 0.1;\n }\n\n return Math.floor(rand * 1000000);\n };\n\n for (let i = 0; i < 5; i += 1) {\n ids.push(randomId(i + 1));\n }\n\n ids = ids.sort((a, b) => a - b);\n\n return ids.map(num => {\n const id = `C-${num}`;\n return {\n id,\n primary: id,\n href: `/cases/${id}`,\n previewable: true,\n onPreview: () => {\n setPreviewCaseId(id);\n setPreviewCurrentTabId(`summary-${id}`);\n }\n };\n });\n};\n\ninterface UtilitiesArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n}\n\ninterface UtilitySummaryItemsArgs {\n predictions?: CaseViewMockProps['predictions'];\n attachments?: CaseViewMockProps['attachments'];\n stakeholders?: CaseViewMockProps['stakeholders'];\n followers?: CaseViewMockProps['followers'];\n tags?: CaseViewMockProps['tags'];\n setDialogTarget: (instance: HTMLElement | null) => void;\n setDialogContent: React.Dispatch<React.SetStateAction<ReactNode>>;\n setShowDialog: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const Utilities = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags\n}: UtilitiesArgs) => {\n return (\n <>\n {predictions && <PredictionsDemo />}\n {attachments && <AttachmentsMock />}\n {stakeholders && <StakeHoldersDemo />}\n {followers && <MockSummaryList icon='user-star' name='Followers' />}\n {tags && <TagsDemo />}\n </>\n );\n};\n\nexport const getUtilitiesSummaryItems = ({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n setDialogTarget,\n setDialogContent,\n setShowDialog\n}: UtilitySummaryItemsArgs): NonNullable<CaseViewProps['utilitiesSummaryItems']> => {\n const items: NonNullable<CaseViewProps['utilitiesSummaryItems']> = [];\n\n if (predictions)\n items.push({\n iconName: 'polaris',\n name: 'Predictions',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<PredictionsDemo />);\n setShowDialog(true);\n }\n });\n if (attachments)\n items.push({\n iconName: 'paper-clip',\n count: 4,\n name: 'Attachments',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<AttachmentsMock />);\n setShowDialog(true);\n }\n });\n if (stakeholders)\n items.push({\n iconName: 'user-search-solid',\n count: 10,\n name: 'Stakeholders',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<StakeHoldersDemo />);\n setShowDialog(true);\n }\n });\n if (followers)\n items.push({\n iconName: 'user-star-solid',\n count: 5,\n name: 'Followers',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<MockSummaryList icon='user-star' name='Followers' />);\n setShowDialog(true);\n }\n });\n if (tags)\n items.push({\n iconName: 'tag',\n count: 10,\n name: 'Tags',\n onClick: e => {\n setDialogTarget(e.currentTarget);\n setDialogContent(<TagsDemo />);\n setShowDialog(true);\n }\n });\n\n return items;\n};\n\nexport const getCaseActions = () => {\n return Array.from({ length: 12 }, (_, i) => {\n return {\n text: `Action ${i + 1}`,\n id: `${i + 1}`,\n onClick: () => {}\n };\n });\n};\n\nconst getHeading = (size: 'short' | 'medium' | 'long') => {\n return {\n short: 'Constellation',\n medium: 'Complicated constellation demo case of some distinction',\n long: 'The scenario in this case is almost too obscure to put into words and so the title is quite long'\n }[size];\n};\n\nexport const getPromotedActions = (count: number) => {\n return [\n {\n id: createUID(),\n text: 'Reassign',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Add dependency',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Clone',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Move',\n onClick: () => {}\n },\n {\n id: createUID(),\n text: 'Withdraw',\n onClick: () => {}\n }\n ].slice(0, count);\n};\n\nconst StyledPersistentUtilityContent = styled.div(({ theme }) => {\n return css`\n height: 100%;\n border-inline: 0.0625rem dashed ${theme.base.palette['border-line']};\n `;\n});\n\nexport const PersistentUtilityContent = () => {\n return (\n <Flex\n container={{ justify: 'center', alignItems: 'center' }}\n as={StyledPersistentUtilityContent}\n >\n Persistent utility content\n </Flex>\n );\n};\n\nexport const CaseViewMock = ({\n caseId: caseIdProp,\n heading,\n subheading,\n parentCases = false,\n promotedActions = 1,\n summaryFields = 'All',\n tabs,\n stages = true,\n tasks = true,\n taskCount = 4,\n utilitiesExpanded: utilitiesExpandedProp = true,\n predictions = true,\n attachments = true,\n stakeholders = true,\n followers = true,\n tags = true,\n persistentUtility = false,\n intelligentGuidance = false,\n banner = false,\n headingLength,\n defaultExpanded\n}: CaseViewMockProps) => {\n const [previewCaseId, setPreviewCaseId] = useState<null | string>(null);\n const [previewCurrentTabId, setPreviewCurrentTabId] = useState(baseCaseTabs[0].id);\n const isMediumOrAbove = useBreakpoint('md');\n const [demoCurrentTabId, setDemoCurrentTabId] = useState(\n isMediumOrAbove ? tabs?.currentTabId ?? baseCaseTabs[0].id : `summary-${caseIdProp}`\n );\n\n const [dialogContent, setDialogContent] = useState<ReactNode>();\n const [dialogTarget, setDialogTarget] = useElement<HTMLElement>();\n const [showDialog, setShowDialog] = useState(false);\n\n const demoTabs = tabs ?? {\n items: baseCaseTabs,\n currentTabId: demoCurrentTabId,\n onClick: setDemoCurrentTabId\n };\n\n const previewTabs = {\n items: baseCaseTabs,\n currentTabId: previewCurrentTabId,\n onClick: setPreviewCurrentTabId\n };\n\n const parentCasesContent = getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n const demoStages = <StagesDemo currentStage={3} />;\n\n const [followed, setFollowed] = useState(false);\n\n const [summaryExpanded, setSummaryExpanded] = useState(!!defaultExpanded);\n const [utilitiesExpanded, setUtilitiesExpanded] = useState(utilitiesExpandedProp);\n const tabContent = getTabContent({\n setPreviewCaseId,\n setPreviewCurrentTabId\n });\n\n return (\n <>\n {previewCaseId && (\n <CasePreview\n open\n onAfterClose={() => {\n setPreviewCaseId(null);\n }}\n caseId={previewCaseId}\n parentCases={\n Math.random() > 0.5\n ? [...parentCasesContent]\n .filter(c => c.id !== previewCaseId)\n .map(c => ({ ...c, id: `preview-${c.id}` }))\n : undefined\n }\n heading='Previewable demo case'\n subheading={previewCaseId}\n caseLink={{ href: `/cases/${previewCaseId}`, target: '_blank' }}\n icon='user-solid'\n followed={!followed}\n onEdit={() => {}}\n actions={getCaseActions()}\n promotedActions={getPromotedActions(2)}\n summaryFields={{\n primary: casePreviewPrimaryFields,\n secondary: casePreviewSecondaryFields\n }}\n stages={demoStages}\n tasks={<AssignmentsDemo count={4} />}\n tabs={previewTabs}\n tabContent={tabContent}\n utilities={\n <Grid container={{ rowGap: 2 }}>\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n </Grid>\n }\n />\n )}\n {dialogTarget && showDialog && (\n <UtilitySummaryItemDialog\n target={dialogTarget}\n onDismiss={() => {\n setShowDialog(false);\n }}\n >\n {dialogContent}\n </UtilitySummaryItemDialog>\n )}\n <CaseView\n caseId={caseIdProp}\n parentCases={\n parentCases\n ? getParentCases({\n caseId: caseIdProp,\n setPreviewCaseId,\n setPreviewCurrentTabId\n })\n : undefined\n }\n heading={headingLength ? getHeading(headingLength) : heading}\n subheading={subheading}\n icon='user-solid'\n followed={followed}\n onFollowedChange={setFollowed}\n actions={getCaseActions()}\n promotedActions={promotedActions ? getPromotedActions(promotedActions) : undefined}\n onEdit={() => {}}\n summaryFields={(() => {\n const obj: CaseViewProps['summaryFields'] = {\n primary: getPrimaryFields(),\n secondary: getSecondaryFields({ setPreviewCaseId, setPreviewCurrentTabId })\n };\n\n if (summaryFields === 'Primary only') {\n obj.secondary = undefined;\n }\n\n if (summaryFields === 'Secondary only') {\n obj.primary = undefined;\n }\n\n return obj;\n })()}\n summaryExpanded={summaryExpanded}\n onToggleSummary={() => {\n setSummaryExpanded(cur => !cur);\n }}\n tabs={demoTabs}\n persistentUtility={(() => {\n if (typeof persistentUtility === 'boolean') {\n return persistentUtility\n ? { title: 'Persistent utility', content: <PersistentUtilityContent /> }\n : undefined;\n }\n\n return persistentUtility;\n })()}\n stages={stages ? demoStages : undefined}\n tasks={tasks ? <AssignmentsDemo count={taskCount} /> : undefined}\n tabContent={tabContent}\n utilities={\n <Utilities\n predictions={predictions}\n attachments={attachments}\n stakeholders={stakeholders}\n followers={followers}\n tags={tags}\n />\n }\n utilitiesSummaryItems={getUtilitiesSummaryItems({\n predictions,\n attachments,\n stakeholders,\n followers,\n tags,\n setDialogTarget,\n setDialogContent,\n setShowDialog\n })}\n utilitiesExpanded={utilitiesExpanded}\n onToggleUtilities={() => {\n setUtilitiesExpanded(cur => !cur);\n }}\n intelligentGuidance={intelligentGuidance}\n banners={\n banner ? (\n <Banner\n variant='urgent'\n messages={[\n {\n label: 'An error occurred',\n description:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n action: {\n text: 'Take acton'\n }\n }\n ]}\n />\n ) : undefined\n }\n />\n </>\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { StoryFn } from '@storybook/react';
2
- import { CaseViewMockProps } from './CaseView.mocks';
2
+ import type { CaseViewMockProps } from './CaseView.mocks';
3
3
  declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
4
4
  export default _default;
5
5
  export declare const CaseViewDemo: StoryFn<CaseViewMockProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.stories.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAgB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;;AAEnE,wBAMU;AAEV,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAOnD,CAAC"}
1
+ {"version":3,"file":"CaseView.stories.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;;AAE1D,wBAMU;AAEV,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAOnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.stories.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport { CaseView } from '@pega/cosmos-react-work';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport { CaseViewMock, CaseViewMockProps } from './CaseView.mocks';\n\nexport default {\n title: 'Work/CaseView',\n component: CaseView,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport const CaseViewDemo: StoryFn<CaseViewMockProps> = (args: CaseViewMockProps) => {\n return (\n <AppShellDemo\n appHeader\n main={<CaseViewMock {...args} defaultExpanded={!!args.defaultExpanded} />}\n />\n );\n};\n\nCaseViewDemo.args = {\n caseId: 'C-123456',\n heading: 'Constellation',\n subheading: 'C-123456',\n parentCases: false,\n promotedActions: 1,\n summaryFields: 'All',\n stages: true,\n tasks: true,\n taskCount: 4,\n predictions: true,\n attachments: true,\n stakeholders: true,\n followers: true,\n tags: true,\n persistentUtility: false,\n banner: false,\n headingLength: 'short',\n defaultExpanded: true\n};\n\nCaseViewDemo.argTypes = {\n caseId: { control: { type: 'text' } },\n heading: { control: { type: 'text' } },\n subheading: { control: { type: 'text' } },\n summaryFields: {\n control: 'radio',\n options: ['All', 'Primary only', 'Secondary only']\n },\n stages: { control: { type: 'boolean' } },\n tasks: { control: { type: 'boolean' } },\n taskCount: { control: { type: 'number' } },\n parentCases: { control: { type: 'boolean' } },\n predictions: { control: { type: 'boolean' } },\n attachments: { control: { type: 'boolean' } },\n stakeholders: { control: { type: 'boolean' } },\n followers: { control: { type: 'boolean' } },\n tags: { control: { type: 'boolean' } },\n persistentUtility: { control: { type: 'boolean' } },\n banner: { control: { type: 'boolean' } },\n promotedActions: { control: { type: 'select' }, options: [0, 1, 2, 3, 4, 5] },\n headingLength: { control: { type: 'select' }, options: ['short', 'medium', 'long'] },\n defaultExpanded: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"CaseView.stories.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,eAAe;IACb,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,YAAY,GAA+B,CAAC,IAAuB,EAAE,EAAE;IAClF,OAAO,CACL,CAAC,YAAY,CACX,SAAS,CACT,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAG,CAAC,EAC1E,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,IAAI,GAAG;IAClB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,eAAe;IACxB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,CAAC;IAClB,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,IAAI;IACV,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,KAAK;IACb,aAAa,EAAE,OAAO;IACtB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,YAAY,CAAC,QAAQ,GAAG;IACtB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACrC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACtC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACzC,aAAa,EAAE;QACb,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,CAAC;KACnD;IACD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACxC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACvC,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC1C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC7C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC7C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC7C,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC9C,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACtC,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACnD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IACxC,eAAe,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7E,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IACpF,eAAe,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAClD,CAAC","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport { CaseView } from '@pega/cosmos-react-work';\n\nimport { AppShellDemo } from '../../core/AppShell/AppShell.stories';\n\nimport { CaseViewMock } from './CaseView.mocks';\nimport type { CaseViewMockProps } from './CaseView.mocks';\n\nexport default {\n title: 'Work/CaseView',\n component: CaseView,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport const CaseViewDemo: StoryFn<CaseViewMockProps> = (args: CaseViewMockProps) => {\n return (\n <AppShellDemo\n appHeader\n main={<CaseViewMock {...args} defaultExpanded={!!args.defaultExpanded} />}\n />\n );\n};\n\nCaseViewDemo.args = {\n caseId: 'C-123456',\n heading: 'Constellation',\n subheading: 'C-123456',\n parentCases: false,\n promotedActions: 1,\n summaryFields: 'All',\n stages: true,\n tasks: true,\n taskCount: 4,\n predictions: true,\n attachments: true,\n stakeholders: true,\n followers: true,\n tags: true,\n persistentUtility: false,\n banner: false,\n headingLength: 'short',\n defaultExpanded: true\n};\n\nCaseViewDemo.argTypes = {\n caseId: { control: { type: 'text' } },\n heading: { control: { type: 'text' } },\n subheading: { control: { type: 'text' } },\n summaryFields: {\n control: 'radio',\n options: ['All', 'Primary only', 'Secondary only']\n },\n stages: { control: { type: 'boolean' } },\n tasks: { control: { type: 'boolean' } },\n taskCount: { control: { type: 'number' } },\n parentCases: { control: { type: 'boolean' } },\n predictions: { control: { type: 'boolean' } },\n attachments: { control: { type: 'boolean' } },\n stakeholders: { control: { type: 'boolean' } },\n followers: { control: { type: 'boolean' } },\n tags: { control: { type: 'boolean' } },\n persistentUtility: { control: { type: 'boolean' } },\n banner: { control: { type: 'boolean' } },\n promotedActions: { control: { type: 'select' }, options: [0, 1, 2, 3, 4, 5] },\n headingLength: { control: { type: 'select' }, options: ['short', 'medium', 'long'] },\n defaultExpanded: { control: { type: 'boolean' } }\n};\n"]}
@@ -1,5 +1,5 @@
1
- import { ReactNode, FunctionComponent, Dispatch, SetStateAction } from 'react';
2
- import { FileUploadItemProps, OmitStrict } from '@pega/cosmos-react-core';
1
+ import type { ReactNode, FunctionComponent, Dispatch, SetStateAction } from 'react';
2
+ import type { FileUploadItemProps, OmitStrict } from '@pega/cosmos-react-core';
3
3
  export interface MockFileAttachmentResource {
4
4
  id: string;
5
5
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FileService.mock.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,iBAAiB,EAGjB,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,mBAAmB,EAEnB,UAAU,EAEX,MAAM,yBAAyB,CAAC;AAKjC,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,UAAU,CAAC,EACzD,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC;CACZ;AAKD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3D,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,UAAU,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC5D;AAKD,eAAO,MAAM,kBAAkB,kDAM7B,CAAC;AAuDH,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC,EAMzF,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,QAAQ,0BAA0B,EAAE,CA+BhF,CAAC;AAKF,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAwFxD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"FileService.mock.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK/E,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,UAAU,CAAC,EACzD,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC;CACZ;AAKD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3D,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,UAAU,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC5D;AAKD,eAAO,MAAM,kBAAkB,kDAM7B,CAAC;AAuDH,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC,EAMzF,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,QAAQ,0BAA0B,EAAE,CA+BhF,CAAC;AAKF,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAwFxD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileService.mock.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n ReactNode,\n useState,\n FunctionComponent,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction\n} from 'react';\n\nimport {\n createUID,\n FileUploadItemProps,\n hasProp,\n OmitStrict,\n useAfterInitialEffect\n} from '@pega/cosmos-react-core';\n\n// -----------------------------------------------------------------------------\n// MockFileResourceObject\n// -----------------------------------------------------------------------------\nexport interface MockFileAttachmentResource {\n id: string;\n name: string;\n category: string;\n thumbnail?: string;\n createDate?: number;\n modifiedDate?: number;\n}\n\n// -----------------------------------------------------------------------------\n// MockFileSelectionObject\n// -----------------------------------------------------------------------------\nexport interface MockFileUploadItem\n extends Pick<MockFileAttachmentResource, 'id' | 'category'>,\n OmitStrict<FileUploadItemProps, 'id'> {\n File: File;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContextValue\n// -----------------------------------------------------------------------------\nexport interface FileServiceContextValue {\n files: (MockFileAttachmentResource | MockFileUploadItem)[];\n setFiles: Dispatch<SetStateAction<FileServiceContextValue['files']>>;\n attachFile: (file: MockFileUploadItem) => void;\n cancelFile: (id: MockFileAttachmentResource['id']) => void;\n deleteFile: (id: MockFileAttachmentResource['id']) => void;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContext\n// -----------------------------------------------------------------------------\nexport const FileServiceContext = createContext<FileServiceContextValue>({\n files: [],\n setFiles: () => {},\n attachFile: () => {},\n cancelFile: () => {},\n deleteFile: () => {}\n});\n\n// -----------------------------------------------------------------------------\n// FilePostArg\n// -----------------------------------------------------------------------------\ninterface FilePostArg {\n file: MockFileUploadItem;\n onLoadStart: (file: MockFileUploadItem, progress: number) => void;\n onProgress: (file: MockFileUploadItem, progress: number) => void;\n onLoad: (file: MockFileUploadItem) => void;\n}\n\n// -----------------------------------------------------------------------------\n// uploadsInProgress\n// -----------------------------------------------------------------------------\nconst uploadsInProgress: Record<string, XMLHttpRequest> = {};\n\n// -----------------------------------------------------------------------------\n// postFile\n// -----------------------------------------------------------------------------\nconst postFile = ({ file, onLoadStart, onProgress, onLoad }: FilePostArg) => {\n const xhr = new XMLHttpRequest();\n const fd = new FormData();\n\n uploadsInProgress[file.id] = xhr;\n\n xhr.upload.onloadstart = () => {\n onLoadStart(file, 0);\n };\n\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n onProgress(file, (loaded / total) * 100);\n }\n };\n\n xhr.upload.onload = () => {\n onLoad(file);\n };\n\n // This is a mock api used to demo upload progress\n xhr.open('POST', 'http://cosmos.eng.pega.com/attachments');\n xhr.setRequestHeader('Content-Type', 'multipart/form-data');\n fd.append('attachments', file.File);\n xhr.send(fd);\n\n return xhr;\n};\n\n// Mock date generator\nconst getMockPriorDate = (h: number) => {\n const d = new Date();\n return d.setHours(d.getHours() - h);\n};\n\nexport const mockCategories: ('HR' | 'Marketing' | 'Sales' | 'Accounting' | 'Engineering')[] = [\n 'HR',\n 'Marketing',\n 'Sales',\n 'Accounting',\n 'Engineering'\n];\n\nexport const mockAttachmentListRequest = (): Promise<MockFileAttachmentResource[]> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n {\n id: createUID(),\n name: 'File.doc',\n category: mockCategories[0],\n createDate: getMockPriorDate(1)\n },\n {\n id: createUID(),\n name: 'File.ppt',\n category: mockCategories[1],\n createDate: getMockPriorDate(4)\n },\n {\n id: createUID(),\n name: 'File.xls',\n category: mockCategories[2],\n createDate: getMockPriorDate(30)\n },\n {\n id: createUID(),\n name: 'emptyFile',\n category: '',\n createDate: getMockPriorDate(144)\n }\n ]);\n }, 1000);\n });\n};\n\n// -----------------------------------------------------------------------------\n// Provider\n// -----------------------------------------------------------------------------\nconst Provider: FunctionComponent<{ children: ReactNode }> = ({ children }) => {\n const [files, setFiles] = useState<FileServiceContextValue['files']>([]);\n\n const attachFile = useCallback(\n (file: MockFileUploadItem) => {\n if (files.some(f => f.id === file.id)) return;\n setFiles(current => [file, ...current]);\n },\n [files]\n );\n\n // Remove a file from the state array\n const cancelFile = useCallback(\n (id: MockFileUploadItem['id']) => {\n if (uploadsInProgress[id]) {\n uploadsInProgress[id].abort();\n delete uploadsInProgress[id];\n }\n setFiles(current => current.filter(f => f.id !== id));\n },\n [uploadsInProgress]\n );\n\n // Mock an api request and remove a file from the state array\n const deleteFile = useCallback(\n async (id: MockFileUploadItem['id']) => {\n const file = files.find(f => f.id === id) as MockFileAttachmentResource;\n fetch(`http://cosmos.eng.pega.com/attachments/${file.id}`, { method: 'DELETE' }).then(() => {\n setFiles(current => current.filter(f => f.id !== file.id));\n });\n },\n [files]\n );\n\n const setProgress = useCallback((file: MockFileUploadItem, progress?: number) => {\n setFiles(current =>\n current.map(f => {\n if (file.id === f.id) {\n (f as MockFileUploadItem).progress = progress;\n }\n return f;\n })\n );\n }, []);\n\n useAfterInitialEffect(() => {\n files.forEach(file => {\n // Return if we have a mock attachment resource object or a File object that is currently uploading.\n if (!hasProp(file, 'File') || typeof file.progress === 'number') return;\n\n // For each File in the array, not uploaded yet, make a POST to the mock service.\n postFile({\n file,\n onLoadStart: setProgress,\n onProgress: setProgress,\n onLoad(loadedFile) {\n delete uploadsInProgress[loadedFile.id];\n\n setFiles(cur => {\n return cur.map(f => {\n if (f.id === loadedFile.id) {\n return {\n ...loadedFile,\n id: createUID(),\n createDate: Date.now()\n };\n }\n\n return f;\n });\n });\n }\n });\n });\n }, [files.length, setProgress]);\n\n const value: FileServiceContextValue = useMemo(\n () => ({\n files,\n setFiles,\n attachFile,\n cancelFile,\n deleteFile\n }),\n [files, attachFile, cancelFile, deleteFile]\n );\n\n return <FileServiceContext.Provider value={value}>{children}</FileServiceContext.Provider>;\n};\n\nexport default Provider;\n"]}
1
+ {"version":3,"file":"FileService.mock.jsx","sourceRoot":"","sources":["../../../src/work/CaseView/FileService.mock.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createContext, useState, useCallback, useMemo } from 'react';\nimport type { ReactNode, FunctionComponent, Dispatch, SetStateAction } from 'react';\n\nimport { createUID, hasProp, useAfterInitialEffect } from '@pega/cosmos-react-core';\nimport type { FileUploadItemProps, OmitStrict } from '@pega/cosmos-react-core';\n\n// -----------------------------------------------------------------------------\n// MockFileResourceObject\n// -----------------------------------------------------------------------------\nexport interface MockFileAttachmentResource {\n id: string;\n name: string;\n category: string;\n thumbnail?: string;\n createDate?: number;\n modifiedDate?: number;\n}\n\n// -----------------------------------------------------------------------------\n// MockFileSelectionObject\n// -----------------------------------------------------------------------------\nexport interface MockFileUploadItem\n extends Pick<MockFileAttachmentResource, 'id' | 'category'>,\n OmitStrict<FileUploadItemProps, 'id'> {\n File: File;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContextValue\n// -----------------------------------------------------------------------------\nexport interface FileServiceContextValue {\n files: (MockFileAttachmentResource | MockFileUploadItem)[];\n setFiles: Dispatch<SetStateAction<FileServiceContextValue['files']>>;\n attachFile: (file: MockFileUploadItem) => void;\n cancelFile: (id: MockFileAttachmentResource['id']) => void;\n deleteFile: (id: MockFileAttachmentResource['id']) => void;\n}\n\n// -----------------------------------------------------------------------------\n// FileServiceContext\n// -----------------------------------------------------------------------------\nexport const FileServiceContext = createContext<FileServiceContextValue>({\n files: [],\n setFiles: () => {},\n attachFile: () => {},\n cancelFile: () => {},\n deleteFile: () => {}\n});\n\n// -----------------------------------------------------------------------------\n// FilePostArg\n// -----------------------------------------------------------------------------\ninterface FilePostArg {\n file: MockFileUploadItem;\n onLoadStart: (file: MockFileUploadItem, progress: number) => void;\n onProgress: (file: MockFileUploadItem, progress: number) => void;\n onLoad: (file: MockFileUploadItem) => void;\n}\n\n// -----------------------------------------------------------------------------\n// uploadsInProgress\n// -----------------------------------------------------------------------------\nconst uploadsInProgress: Record<string, XMLHttpRequest> = {};\n\n// -----------------------------------------------------------------------------\n// postFile\n// -----------------------------------------------------------------------------\nconst postFile = ({ file, onLoadStart, onProgress, onLoad }: FilePostArg) => {\n const xhr = new XMLHttpRequest();\n const fd = new FormData();\n\n uploadsInProgress[file.id] = xhr;\n\n xhr.upload.onloadstart = () => {\n onLoadStart(file, 0);\n };\n\n xhr.upload.onprogress = ({ lengthComputable, loaded, total }) => {\n if (lengthComputable) {\n onProgress(file, (loaded / total) * 100);\n }\n };\n\n xhr.upload.onload = () => {\n onLoad(file);\n };\n\n // This is a mock api used to demo upload progress\n xhr.open('POST', 'http://cosmos.eng.pega.com/attachments');\n xhr.setRequestHeader('Content-Type', 'multipart/form-data');\n fd.append('attachments', file.File);\n xhr.send(fd);\n\n return xhr;\n};\n\n// Mock date generator\nconst getMockPriorDate = (h: number) => {\n const d = new Date();\n return d.setHours(d.getHours() - h);\n};\n\nexport const mockCategories: ('HR' | 'Marketing' | 'Sales' | 'Accounting' | 'Engineering')[] = [\n 'HR',\n 'Marketing',\n 'Sales',\n 'Accounting',\n 'Engineering'\n];\n\nexport const mockAttachmentListRequest = (): Promise<MockFileAttachmentResource[]> => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n {\n id: createUID(),\n name: 'File.doc',\n category: mockCategories[0],\n createDate: getMockPriorDate(1)\n },\n {\n id: createUID(),\n name: 'File.ppt',\n category: mockCategories[1],\n createDate: getMockPriorDate(4)\n },\n {\n id: createUID(),\n name: 'File.xls',\n category: mockCategories[2],\n createDate: getMockPriorDate(30)\n },\n {\n id: createUID(),\n name: 'emptyFile',\n category: '',\n createDate: getMockPriorDate(144)\n }\n ]);\n }, 1000);\n });\n};\n\n// -----------------------------------------------------------------------------\n// Provider\n// -----------------------------------------------------------------------------\nconst Provider: FunctionComponent<{ children: ReactNode }> = ({ children }) => {\n const [files, setFiles] = useState<FileServiceContextValue['files']>([]);\n\n const attachFile = useCallback(\n (file: MockFileUploadItem) => {\n if (files.some(f => f.id === file.id)) return;\n setFiles(current => [file, ...current]);\n },\n [files]\n );\n\n // Remove a file from the state array\n const cancelFile = useCallback(\n (id: MockFileUploadItem['id']) => {\n if (uploadsInProgress[id]) {\n uploadsInProgress[id].abort();\n delete uploadsInProgress[id];\n }\n setFiles(current => current.filter(f => f.id !== id));\n },\n [uploadsInProgress]\n );\n\n // Mock an api request and remove a file from the state array\n const deleteFile = useCallback(\n async (id: MockFileUploadItem['id']) => {\n const file = files.find(f => f.id === id) as MockFileAttachmentResource;\n fetch(`http://cosmos.eng.pega.com/attachments/${file.id}`, { method: 'DELETE' }).then(() => {\n setFiles(current => current.filter(f => f.id !== file.id));\n });\n },\n [files]\n );\n\n const setProgress = useCallback((file: MockFileUploadItem, progress?: number) => {\n setFiles(current =>\n current.map(f => {\n if (file.id === f.id) {\n (f as MockFileUploadItem).progress = progress;\n }\n return f;\n })\n );\n }, []);\n\n useAfterInitialEffect(() => {\n files.forEach(file => {\n // Return if we have a mock attachment resource object or a File object that is currently uploading.\n if (!hasProp(file, 'File') || typeof file.progress === 'number') return;\n\n // For each File in the array, not uploaded yet, make a POST to the mock service.\n postFile({\n file,\n onLoadStart: setProgress,\n onProgress: setProgress,\n onLoad(loadedFile) {\n delete uploadsInProgress[loadedFile.id];\n\n setFiles(cur => {\n return cur.map(f => {\n if (f.id === loadedFile.id) {\n return {\n ...loadedFile,\n id: createUID(),\n createDate: Date.now()\n };\n }\n\n return f;\n });\n });\n }\n });\n });\n }, [files.length, setProgress]);\n\n const value: FileServiceContextValue = useMemo(\n () => ({\n files,\n setFiles,\n attachFile,\n cancelFile,\n deleteFile\n }),\n [files, attachFile, cancelFile, deleteFile]\n );\n\n return <FileServiceContext.Provider value={value}>{children}</FileServiceContext.Provider>;\n};\n\nexport default Provider;\n"]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { FeedProps } from '@pega/cosmos-react-social';
2
+ import type { FeedProps } from '@pega/cosmos-react-social';
3
3
  export declare const PulseMock: ({ markdownMap, onMentionPreview }: {
4
4
  markdownMap?: FeedProps['markdownMap'];
5
5
  onMentionPreview?: FeedProps['onMentionPreview'];
@@ -1 +1 @@
1
- {"version":3,"file":"Pulse.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/Pulse.mocks.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,eAAO,MAAM,SAAS;kBAIN,SAAS,CAAC,aAAa,CAAC;uBACnB,SAAS,CAAC,kBAAkB,CAAC;iCAoDjD,CAAC"}
1
+ {"version":3,"file":"Pulse.mocks.d.ts","sourceRoot":"","sources":["../../../src/work/CaseView/Pulse.mocks.tsx"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM3D,eAAO,MAAM,SAAS;kBAIN,SAAS,CAAC,aAAa,CAAC;uBACnB,SAAS,CAAC,kBAAkB,CAAC;iCAoDjD,CAAC"}