@pega/cosmos-react-demos 3.0.0-dev.4.2 → 3.0.0-dev.7.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 (445) hide show
  1. package/jsx/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  2. package/jsx/build/AppHeader/AppHeader.stories.jsx +6 -1
  3. package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
  4. package/jsx/build/AppShell/AppShell.mocks.d.ts +2 -0
  5. package/jsx/build/AppShell/AppShell.mocks.d.ts.map +1 -1
  6. package/jsx/build/AppShell/{AppShell.mocks.js → AppShell.mocks.jsx} +22 -1
  7. package/jsx/build/AppShell/AppShell.mocks.jsx.map +1 -0
  8. package/jsx/build/AppShell/AppShell.stories.d.ts +2 -4
  9. package/jsx/build/AppShell/AppShell.stories.d.ts.map +1 -1
  10. package/jsx/build/AppShell/AppShell.stories.jsx +20 -30
  11. package/jsx/build/AppShell/AppShell.stories.jsx.map +1 -1
  12. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx +6 -6
  13. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx.map +1 -1
  14. package/jsx/build/ItemLibrary/LibraryPicker.mocks.d.ts +1 -5
  15. package/jsx/build/ItemLibrary/LibraryPicker.mocks.d.ts.map +1 -1
  16. package/jsx/build/ItemLibrary/LibraryPicker.mocks.js +5 -10
  17. package/jsx/build/ItemLibrary/LibraryPicker.mocks.js.map +1 -1
  18. package/jsx/build/LifeCycle/LifeCycle.mocks.d.ts +3 -0
  19. package/jsx/build/LifeCycle/LifeCycle.mocks.d.ts.map +1 -1
  20. package/jsx/build/LifeCycle/LifeCycle.mocks.js +106 -18
  21. package/jsx/build/LifeCycle/LifeCycle.mocks.js.map +1 -1
  22. package/jsx/build/LifeCycle/LifeCycle.stories.d.ts.map +1 -1
  23. package/jsx/build/LifeCycle/LifeCycle.stories.jsx +111 -27
  24. package/jsx/build/LifeCycle/LifeCycle.stories.jsx.map +1 -1
  25. package/jsx/build/LifeCycle/utils.d.ts.map +1 -1
  26. package/jsx/build/LifeCycle/utils.js +5 -4
  27. package/jsx/build/LifeCycle/utils.js.map +1 -1
  28. package/jsx/build/ObjectPreview/ObjectPreview.mocks.d.ts +4 -0
  29. package/jsx/build/ObjectPreview/ObjectPreview.mocks.d.ts.map +1 -0
  30. package/jsx/build/ObjectPreview/ObjectPreview.mocks.jsx +9 -0
  31. package/jsx/build/ObjectPreview/ObjectPreview.mocks.jsx.map +1 -0
  32. package/jsx/build/ObjectPreview/ObjectPreview.stories.d.ts +8 -0
  33. package/jsx/build/ObjectPreview/ObjectPreview.stories.d.ts.map +1 -0
  34. package/jsx/build/ObjectPreview/ObjectPreview.stories.jsx +93 -0
  35. package/jsx/build/ObjectPreview/ObjectPreview.stories.jsx.map +1 -0
  36. package/jsx/build/ObjectPreview/ObjectPreview.styles.d.ts +3 -0
  37. package/jsx/build/ObjectPreview/ObjectPreview.styles.d.ts.map +1 -0
  38. package/jsx/build/ObjectPreview/ObjectPreview.styles.js +22 -0
  39. package/jsx/build/ObjectPreview/ObjectPreview.styles.js.map +1 -0
  40. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts +7 -1
  41. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  42. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +59 -43
  43. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
  44. package/jsx/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
  45. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx +37 -5
  46. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx.map +1 -1
  47. package/jsx/build/PageTemplates/GalleryPage.mocks.d.ts +10 -9
  48. package/jsx/build/PageTemplates/GalleryPage.mocks.d.ts.map +1 -1
  49. package/jsx/build/PageTemplates/GalleryPage.mocks.jsx +7 -9
  50. package/jsx/build/PageTemplates/GalleryPage.mocks.jsx.map +1 -1
  51. package/jsx/build/PageTemplates/GalleryPage.stories.d.ts +0 -1
  52. package/jsx/build/PageTemplates/GalleryPage.stories.d.ts.map +1 -1
  53. package/jsx/build/PageTemplates/GalleryPage.stories.jsx +12 -14
  54. package/jsx/build/PageTemplates/GalleryPage.stories.jsx.map +1 -1
  55. package/jsx/build/PageTemplates/PageTemplates.mocks.d.ts +2 -1
  56. package/jsx/build/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
  57. package/jsx/build/PageTemplates/PageTemplates.mocks.jsx +17 -2
  58. package/jsx/build/PageTemplates/PageTemplates.mocks.jsx.map +1 -1
  59. package/jsx/build/PageTemplates/PageTemplates.stories.d.ts +2 -4
  60. package/jsx/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  61. package/jsx/build/PageTemplates/PageTemplates.stories.jsx +192 -128
  62. package/jsx/build/PageTemplates/PageTemplates.stories.jsx.map +1 -1
  63. package/jsx/core/CreditCard/CreditCard.stories.d.ts +10 -0
  64. package/jsx/core/CreditCard/CreditCard.stories.d.ts.map +1 -0
  65. package/jsx/core/CreditCard/CreditCard.stories.jsx +10 -0
  66. package/jsx/core/CreditCard/CreditCard.stories.jsx.map +1 -0
  67. package/jsx/rte/RichTextEditor/RichTextEditor.mocks.jsx.map +1 -1
  68. package/jsx/social/Email/Email.mocks.d.ts +3 -3
  69. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  70. package/jsx/social/Email/Email.mocks.jsx +17 -7
  71. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  72. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  73. package/jsx/social/Email/Email.stories.jsx +11 -24
  74. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  75. package/jsx/social/Feed/Feed.mocks.d.ts.map +1 -1
  76. package/jsx/social/Feed/Feed.mocks.jsx.map +1 -1
  77. package/jsx/work/Glimpse/Glimpse.stories.d.ts.map +1 -1
  78. package/jsx/work/Glimpse/Glimpse.stories.jsx.map +1 -1
  79. package/lib/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  80. package/lib/build/AppHeader/AppHeader.stories.js +7 -2
  81. package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
  82. package/lib/build/AppShell/AppShell.mocks.d.ts +2 -0
  83. package/lib/build/AppShell/AppShell.mocks.d.ts.map +1 -1
  84. package/lib/build/AppShell/AppShell.mocks.js +20 -0
  85. package/lib/build/AppShell/AppShell.mocks.js.map +1 -1
  86. package/lib/build/AppShell/AppShell.stories.d.ts +2 -4
  87. package/lib/build/AppShell/AppShell.stories.d.ts.map +1 -1
  88. package/lib/build/AppShell/AppShell.stories.js +21 -29
  89. package/lib/build/AppShell/AppShell.stories.js.map +1 -1
  90. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js +2 -2
  91. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js.map +1 -1
  92. package/lib/build/DynamicContentEditor/FieldSelector.js +1 -1
  93. package/lib/build/DynamicContentEditor/FieldSelector.js.map +1 -1
  94. package/lib/build/FlowModeller/FlowModeller.mocks.js +11 -11
  95. package/lib/build/FlowModeller/FlowModeller.mocks.js.map +1 -1
  96. package/lib/build/FlowModeller/FlowModeller.stories.js +6 -6
  97. package/lib/build/FlowModeller/FlowModeller.stories.js.map +1 -1
  98. package/lib/build/ItemLibrary/LibraryPicker.mocks.d.ts +1 -5
  99. package/lib/build/ItemLibrary/LibraryPicker.mocks.d.ts.map +1 -1
  100. package/lib/build/ItemLibrary/LibraryPicker.mocks.js +5 -10
  101. package/lib/build/ItemLibrary/LibraryPicker.mocks.js.map +1 -1
  102. package/lib/build/ItemLibrary/LibraryPicker.stories.js +1 -1
  103. package/lib/build/ItemLibrary/LibraryPicker.stories.js.map +1 -1
  104. package/lib/build/LifeCycle/LifeCycle.mocks.d.ts +3 -0
  105. package/lib/build/LifeCycle/LifeCycle.mocks.d.ts.map +1 -1
  106. package/lib/build/LifeCycle/LifeCycle.mocks.js +106 -18
  107. package/lib/build/LifeCycle/LifeCycle.mocks.js.map +1 -1
  108. package/lib/build/LifeCycle/LifeCycle.stories.d.ts.map +1 -1
  109. package/lib/build/LifeCycle/LifeCycle.stories.js +115 -31
  110. package/lib/build/LifeCycle/LifeCycle.stories.js.map +1 -1
  111. package/lib/build/LifeCycle/utils.d.ts.map +1 -1
  112. package/lib/build/LifeCycle/utils.js +5 -4
  113. package/lib/build/LifeCycle/utils.js.map +1 -1
  114. package/lib/build/ObjectPreview/ObjectPreview.mocks.d.ts +4 -0
  115. package/lib/build/ObjectPreview/ObjectPreview.mocks.d.ts.map +1 -0
  116. package/lib/build/ObjectPreview/ObjectPreview.mocks.js +8 -0
  117. package/lib/build/ObjectPreview/ObjectPreview.mocks.js.map +1 -0
  118. package/lib/build/ObjectPreview/ObjectPreview.stories.d.ts +8 -0
  119. package/lib/build/ObjectPreview/ObjectPreview.stories.d.ts.map +1 -0
  120. package/lib/build/ObjectPreview/ObjectPreview.stories.js +90 -0
  121. package/lib/build/ObjectPreview/ObjectPreview.stories.js.map +1 -0
  122. package/lib/build/ObjectPreview/ObjectPreview.styles.d.ts +3 -0
  123. package/lib/build/ObjectPreview/ObjectPreview.styles.d.ts.map +1 -0
  124. package/lib/build/ObjectPreview/ObjectPreview.styles.js +22 -0
  125. package/lib/build/ObjectPreview/ObjectPreview.styles.js.map +1 -0
  126. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts +7 -1
  127. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  128. package/lib/build/ObjectSelect/ObjectSelect.mocks.js +62 -30
  129. package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
  130. package/lib/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
  131. package/lib/build/ObjectSelect/ObjectSelect.stories.js +34 -6
  132. package/lib/build/ObjectSelect/ObjectSelect.stories.js.map +1 -1
  133. package/lib/build/PageTemplates/GalleryPage.mocks.d.ts +10 -9
  134. package/lib/build/PageTemplates/GalleryPage.mocks.d.ts.map +1 -1
  135. package/lib/build/PageTemplates/GalleryPage.mocks.js +8 -10
  136. package/lib/build/PageTemplates/GalleryPage.mocks.js.map +1 -1
  137. package/lib/build/PageTemplates/GalleryPage.stories.d.ts +0 -1
  138. package/lib/build/PageTemplates/GalleryPage.stories.d.ts.map +1 -1
  139. package/lib/build/PageTemplates/GalleryPage.stories.js +13 -15
  140. package/lib/build/PageTemplates/GalleryPage.stories.js.map +1 -1
  141. package/lib/build/PageTemplates/PageTemplates.mocks.d.ts +2 -1
  142. package/lib/build/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
  143. package/lib/build/PageTemplates/PageTemplates.mocks.js +16 -5
  144. package/lib/build/PageTemplates/PageTemplates.mocks.js.map +1 -1
  145. package/lib/build/PageTemplates/PageTemplates.stories.d.ts +2 -4
  146. package/lib/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  147. package/lib/build/PageTemplates/PageTemplates.stories.js +217 -154
  148. package/lib/build/PageTemplates/PageTemplates.stories.js.map +1 -1
  149. package/lib/build/Workbench/Workbench.stories.js +11 -11
  150. package/lib/build/Workbench/Workbench.stories.js.map +1 -1
  151. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.js +7 -7
  152. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.js.map +1 -1
  153. package/lib/core/AppShell/AppShell.mocks.js +5 -5
  154. package/lib/core/AppShell/AppShell.mocks.js.map +1 -1
  155. package/lib/core/AppShell/AppShell.stories.js +8 -8
  156. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  157. package/lib/core/Avatar/Avatar.stories.js +6 -6
  158. package/lib/core/Avatar/Avatar.stories.js.map +1 -1
  159. package/lib/core/Backdrop/Backdrop.stories.js +2 -2
  160. package/lib/core/Backdrop/Backdrop.stories.js.map +1 -1
  161. package/lib/core/Badges/Alert.stories.js +1 -1
  162. package/lib/core/Badges/Alert.stories.js.map +1 -1
  163. package/lib/core/Badges/Count.stories.js +1 -1
  164. package/lib/core/Badges/Count.stories.js.map +1 -1
  165. package/lib/core/Badges/Selection.stories.js +1 -1
  166. package/lib/core/Badges/Selection.stories.js.map +1 -1
  167. package/lib/core/Badges/Status.stories.js +2 -2
  168. package/lib/core/Badges/Status.stories.js.map +1 -1
  169. package/lib/core/Badges/Tag.stories.js +1 -1
  170. package/lib/core/Badges/Tag.stories.js.map +1 -1
  171. package/lib/core/Banner/Banner.mocks.js +1 -1
  172. package/lib/core/Banner/Banner.mocks.js.map +1 -1
  173. package/lib/core/Banner/Banner.stories.js +11 -11
  174. package/lib/core/Banner/Banner.stories.js.map +1 -1
  175. package/lib/core/Boolean/BooleanDisplay.stories.js +1 -1
  176. package/lib/core/Boolean/BooleanDisplay.stories.js.map +1 -1
  177. package/lib/core/Breadcrumbs/Breadcrumbs.stories.js +2 -2
  178. package/lib/core/Breadcrumbs/Breadcrumbs.stories.js.map +1 -1
  179. package/lib/core/Button/Button.stories.js +7 -7
  180. package/lib/core/Button/Button.stories.js.map +1 -1
  181. package/lib/core/Card/Card.stories.js +4 -4
  182. package/lib/core/Card/Card.stories.js.map +1 -1
  183. package/lib/core/Checkbox/Checkbox.stories.js +3 -3
  184. package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
  185. package/lib/core/CheckboxGroup/CheckboxGroup.stories.js +3 -3
  186. package/lib/core/CheckboxGroup/CheckboxGroup.stories.js.map +1 -1
  187. package/lib/core/ColorPicker/ColorPicker.stories.js +5 -5
  188. package/lib/core/ColorPicker/ColorPicker.stories.js.map +1 -1
  189. package/lib/core/ComboBox/ComboBox.stories.js +6 -6
  190. package/lib/core/ComboBox/ComboBox.stories.js.map +1 -1
  191. package/lib/core/Configuration/Configuration.mocks.js +1 -1
  192. package/lib/core/Configuration/Configuration.mocks.js.map +1 -1
  193. package/lib/core/Configuration/Configuration.stories.js +10 -10
  194. package/lib/core/Configuration/Configuration.stories.js.map +1 -1
  195. package/lib/core/CreditCard/CreditCard.stories.d.ts +10 -0
  196. package/lib/core/CreditCard/CreditCard.stories.d.ts.map +1 -0
  197. package/lib/core/CreditCard/CreditCard.stories.js +11 -0
  198. package/lib/core/CreditCard/CreditCard.stories.js.map +1 -0
  199. package/lib/core/Currency/Currency.stories.js +2 -2
  200. package/lib/core/Currency/Currency.stories.js.map +1 -1
  201. package/lib/core/DateTime/DateTime.stories.js +9 -9
  202. package/lib/core/DateTime/DateTime.stories.js.map +1 -1
  203. package/lib/core/DateTime/DateTimeDisplay.stories.js +2 -2
  204. package/lib/core/DateTime/DateTimeDisplay.stories.js.map +1 -1
  205. package/lib/core/DateTime/DateTimePicker.stories.js +2 -2
  206. package/lib/core/DateTime/DateTimePicker.stories.js.map +1 -1
  207. package/lib/core/Drawer/Drawer.stories.js +4 -4
  208. package/lib/core/Drawer/Drawer.stories.js.map +1 -1
  209. package/lib/core/Email/EmailDisplay.stories.js +1 -1
  210. package/lib/core/Email/EmailDisplay.stories.js.map +1 -1
  211. package/lib/core/EmojiPicker/EmojiPicker.stories.js +3 -3
  212. package/lib/core/EmojiPicker/EmojiPicker.stories.js.map +1 -1
  213. package/lib/core/EmptyState/EmptyState.stories.js +1 -1
  214. package/lib/core/EmptyState/EmptyState.stories.js.map +1 -1
  215. package/lib/core/ErrorState/ErrorState.stories.js +1 -1
  216. package/lib/core/ErrorState/ErrorState.stories.js.map +1 -1
  217. package/lib/core/ExpandCollapse/ExpandCollapse.stories.js +2 -2
  218. package/lib/core/ExpandCollapse/ExpandCollapse.stories.js.map +1 -1
  219. package/lib/core/FieldGroup/FieldGroup.stories.js +1 -1
  220. package/lib/core/FieldGroup/FieldGroup.stories.js.map +1 -1
  221. package/lib/core/FieldGroup/FieldGroupList.mocks.js +7 -7
  222. package/lib/core/FieldGroup/FieldGroupList.mocks.js.map +1 -1
  223. package/lib/core/FieldGroup/FieldGroupList.stories.js +10 -10
  224. package/lib/core/FieldGroup/FieldGroupList.stories.js.map +1 -1
  225. package/lib/core/FieldValueList/FieldValueList.stories.js +4 -4
  226. package/lib/core/FieldValueList/FieldValueList.stories.js.map +1 -1
  227. package/lib/core/File/FileDisplay.stories.js +10 -10
  228. package/lib/core/File/FileDisplay.stories.js.map +1 -1
  229. package/lib/core/File/FileInput.stories.js +2 -2
  230. package/lib/core/File/FileInput.stories.js.map +1 -1
  231. package/lib/core/Flex/FlexContainer.stories.js +7 -7
  232. package/lib/core/Flex/FlexContainer.stories.js.map +1 -1
  233. package/lib/core/Flex/FlexItem.stories.js +3 -3
  234. package/lib/core/Flex/FlexItem.stories.js.map +1 -1
  235. package/lib/core/Form/Form.mocks.js +3 -3
  236. package/lib/core/Form/Form.mocks.js.map +1 -1
  237. package/lib/core/Form/Form.stories.js +8 -8
  238. package/lib/core/Form/Form.stories.js.map +1 -1
  239. package/lib/core/Grid/GridContainer.stories.js +9 -9
  240. package/lib/core/Grid/GridContainer.stories.js.map +1 -1
  241. package/lib/core/Grid/GridItem.stories.js +3 -3
  242. package/lib/core/Grid/GridItem.stories.js.map +1 -1
  243. package/lib/core/HTML/HTML.stories.js +1 -1
  244. package/lib/core/HTML/HTML.stories.js.map +1 -1
  245. package/lib/core/Icon/Icon.mocks.js +1 -1
  246. package/lib/core/Icon/Icon.mocks.js.map +1 -1
  247. package/lib/core/Icon/Icon.stories.js +6 -6
  248. package/lib/core/Icon/Icon.stories.js.map +1 -1
  249. package/lib/core/IconPicker/IconPicker.stories.js +1 -1
  250. package/lib/core/IconPicker/IconPicker.stories.js.map +1 -1
  251. package/lib/core/Image/Image.stories.js +1 -1
  252. package/lib/core/Image/Image.stories.js.map +1 -1
  253. package/lib/core/Input/Input.stories.js +2 -2
  254. package/lib/core/Input/Input.stories.js.map +1 -1
  255. package/lib/core/Label/Label.stories.js +2 -2
  256. package/lib/core/Label/Label.stories.js.map +1 -1
  257. package/lib/core/Lightbox/Lightbox.stories.js +3 -3
  258. package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
  259. package/lib/core/Link/Link.stories.js +3 -3
  260. package/lib/core/Link/Link.stories.js.map +1 -1
  261. package/lib/core/List/CommaSeparatedList.stories.js +1 -1
  262. package/lib/core/List/CommaSeparatedList.stories.js.map +1 -1
  263. package/lib/core/List/OrderedList.stories.js +1 -1
  264. package/lib/core/List/OrderedList.stories.js.map +1 -1
  265. package/lib/core/List/UnorderedList.stories.js +1 -1
  266. package/lib/core/List/UnorderedList.stories.js.map +1 -1
  267. package/lib/core/ListToolbar/ListToolbar.mocks.js +5 -5
  268. package/lib/core/ListToolbar/ListToolbar.mocks.js.map +1 -1
  269. package/lib/core/ListToolbar/ListToolbar.stories.js +2 -2
  270. package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
  271. package/lib/core/Location/Location.stories.js +4 -4
  272. package/lib/core/Location/Location.stories.js.map +1 -1
  273. package/lib/core/Menu/Menu.stories.js +5 -5
  274. package/lib/core/Menu/Menu.stories.js.map +1 -1
  275. package/lib/core/MenuButton/MenuButton.stories.js +9 -9
  276. package/lib/core/MenuButton/MenuButton.stories.js.map +1 -1
  277. package/lib/core/MetaList/MetaList.stories.js +3 -3
  278. package/lib/core/MetaList/MetaList.stories.js.map +1 -1
  279. package/lib/core/Modal/Modal.mocks.js +8 -8
  280. package/lib/core/Modal/Modal.mocks.js.map +1 -1
  281. package/lib/core/Modal/Modal.stories.js +29 -29
  282. package/lib/core/Modal/Modal.stories.js.map +1 -1
  283. package/lib/core/MultiStep/MultiStep.stories.js +3 -3
  284. package/lib/core/MultiStep/MultiStep.stories.js.map +1 -1
  285. package/lib/core/Number/Number.stories.js +3 -3
  286. package/lib/core/Number/Number.stories.js.map +1 -1
  287. package/lib/core/PageTemplates/PageTemplates.stories.js +27 -27
  288. package/lib/core/PageTemplates/PageTemplates.stories.js.map +1 -1
  289. package/lib/core/Pagination/Pagination.stories.js +1 -1
  290. package/lib/core/Pagination/Pagination.stories.js.map +1 -1
  291. package/lib/core/Paragraph/ParagraphDisplay.stories.js +1 -1
  292. package/lib/core/Paragraph/ParagraphDisplay.stories.js.map +1 -1
  293. package/lib/core/Phone/Phone.stories.js +2 -2
  294. package/lib/core/Phone/Phone.stories.js.map +1 -1
  295. package/lib/core/Popover/Popover.stories.js +2 -2
  296. package/lib/core/Popover/Popover.stories.js.map +1 -1
  297. package/lib/core/Progress/Progress.stories.js +3 -3
  298. package/lib/core/Progress/Progress.stories.js.map +1 -1
  299. package/lib/core/RadioButton/RadioButton.stories.js +3 -3
  300. package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
  301. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js +3 -3
  302. package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js.map +1 -1
  303. package/lib/core/Rating/Rating.stories.js +2 -2
  304. package/lib/core/Rating/Rating.stories.js.map +1 -1
  305. package/lib/core/SearchInput/SearchInput.stories.js +2 -2
  306. package/lib/core/SearchInput/SearchInput.stories.js.map +1 -1
  307. package/lib/core/Select/Select.stories.js +2 -2
  308. package/lib/core/Select/Select.stories.js.map +1 -1
  309. package/lib/core/Sentiment/Sentiment.stories.js +2 -2
  310. package/lib/core/Sentiment/Sentiment.stories.js.map +1 -1
  311. package/lib/core/Slider/Slider.stories.js +1 -1
  312. package/lib/core/Slider/Slider.stories.js.map +1 -1
  313. package/lib/core/SummaryItem/SummaryItem.stories.js +4 -4
  314. package/lib/core/SummaryItem/SummaryItem.stories.js.map +1 -1
  315. package/lib/core/SummaryList/SummaryList.mocks.js +2 -2
  316. package/lib/core/SummaryList/SummaryList.mocks.js.map +1 -1
  317. package/lib/core/SummaryList/SummaryList.stories.js +5 -5
  318. package/lib/core/SummaryList/SummaryList.stories.js.map +1 -1
  319. package/lib/core/Switch/Switch.stories.js +3 -3
  320. package/lib/core/Switch/Switch.stories.js.map +1 -1
  321. package/lib/core/Table/Table.mocks.js +1 -1
  322. package/lib/core/Table/Table.mocks.js.map +1 -1
  323. package/lib/core/Table/Table.stories.js +9 -9
  324. package/lib/core/Table/Table.stories.js.map +1 -1
  325. package/lib/core/Tabs/Tabs.stories.js +3 -3
  326. package/lib/core/Tabs/Tabs.stories.js.map +1 -1
  327. package/lib/core/Text/Text.stories.js +2 -2
  328. package/lib/core/Text/Text.stories.js.map +1 -1
  329. package/lib/core/TextArea/TextArea.stories.js +2 -2
  330. package/lib/core/TextArea/TextArea.stories.js.map +1 -1
  331. package/lib/core/Toaster/Toaster.stories.js +2 -2
  332. package/lib/core/Toaster/Toaster.stories.js.map +1 -1
  333. package/lib/core/Tooltip/Tooltip.stories.js +2 -2
  334. package/lib/core/Tooltip/Tooltip.stories.js.map +1 -1
  335. package/lib/core/Tree/Tree.stories.js +3 -3
  336. package/lib/core/Tree/Tree.stories.js.map +1 -1
  337. package/lib/core/URL/URL.stories.js +1 -1
  338. package/lib/core/URL/URL.stories.js.map +1 -1
  339. package/lib/cs/Article/Article.stories.js +9 -9
  340. package/lib/cs/Article/Article.stories.js.map +1 -1
  341. package/lib/cs/ArticleList/ArticleList.stories.js +11 -11
  342. package/lib/cs/ArticleList/ArticleList.stories.js.map +1 -1
  343. package/lib/cs/CSCaseView/CSAppShell.stories.js +12 -12
  344. package/lib/cs/CSCaseView/CSAppShell.stories.js.map +1 -1
  345. package/lib/cs/CSCaseView/CSCaseView.mocks.js +3 -3
  346. package/lib/cs/CSCaseView/CSCaseView.mocks.js.map +1 -1
  347. package/lib/cs/CallControlPanel/CallControlPanel.stories.js +2 -2
  348. package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
  349. package/lib/cs/DialPad/DialPad.stories.js +1 -1
  350. package/lib/cs/DialPad/DialPad.stories.js.map +1 -1
  351. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js +15 -15
  352. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
  353. package/lib/cs/InteractionNotification/InteractionNotification.stories.js +1 -1
  354. package/lib/cs/InteractionNotification/InteractionNotification.stories.js.map +1 -1
  355. package/lib/cs/InteractionTimer/InteractionTimer.stories.js +1 -1
  356. package/lib/cs/InteractionTimer/InteractionTimer.stories.js.map +1 -1
  357. package/lib/cs/TaskManager/TaskManager.stories.js +8 -8
  358. package/lib/cs/TaskManager/TaskManager.stories.js.map +1 -1
  359. package/lib/dnd/DragDropList/DragDropList.mocks.js +2 -2
  360. package/lib/dnd/DragDropList/DragDropList.mocks.js.map +1 -1
  361. package/lib/dnd/DragDropList/DragDropList.stories.js +4 -4
  362. package/lib/dnd/DragDropList/DragDropList.stories.js.map +1 -1
  363. package/lib/rte/Editor/Editor.mocks.js +2 -2
  364. package/lib/rte/Editor/Editor.mocks.js.map +1 -1
  365. package/lib/rte/Editor/Editor.stories.js +6 -6
  366. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  367. package/lib/rte/RichTextEditor/RichTextEditor.mocks.js +5 -5
  368. package/lib/rte/RichTextEditor/RichTextEditor.mocks.js.map +1 -1
  369. package/lib/rte/RichTextEditor/RichTextEditor.stories.js +5 -5
  370. package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  371. package/lib/rte/RichTextEditor/RichTextViewer.stories.js +5 -5
  372. package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
  373. package/lib/social/Chat/Chat.stories.js +27 -27
  374. package/lib/social/Chat/Chat.stories.js.map +1 -1
  375. package/lib/social/Chat/RepeatingView.stories.js +2 -2
  376. package/lib/social/Chat/RepeatingView.stories.js.map +1 -1
  377. package/lib/social/Email/Email.mocks.d.ts +3 -3
  378. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  379. package/lib/social/Email/Email.mocks.js +21 -10
  380. package/lib/social/Email/Email.mocks.js.map +1 -1
  381. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  382. package/lib/social/Email/Email.stories.js +24 -36
  383. package/lib/social/Email/Email.stories.js.map +1 -1
  384. package/lib/social/Feed/Feed.mocks.d.ts.map +1 -1
  385. package/lib/social/Feed/Feed.mocks.js +40 -40
  386. package/lib/social/Feed/Feed.mocks.js.map +1 -1
  387. package/lib/social/Feed/Feed.stories.js +6 -6
  388. package/lib/social/Feed/Feed.stories.js.map +1 -1
  389. package/lib/social/Feed/FeedNewPost.stories.js +2 -2
  390. package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
  391. package/lib/social/Feed/FeedPost.stories.js +8 -8
  392. package/lib/social/Feed/FeedPost.stories.js.map +1 -1
  393. package/lib/social/Feed/FeedReply.stories.js +5 -5
  394. package/lib/social/Feed/FeedReply.stories.js.map +1 -1
  395. package/lib/social/Feed/FeedReplyInput.stories.js +2 -2
  396. package/lib/social/Feed/FeedReplyInput.stories.js.map +1 -1
  397. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js +1 -1
  398. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js.map +1 -1
  399. package/lib/work/CaseView/Attachments.mocks.js +15 -15
  400. package/lib/work/CaseView/Attachments.mocks.js.map +1 -1
  401. package/lib/work/CaseView/CaseView.mocks.js +7 -7
  402. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  403. package/lib/work/CaseView/CaseView.stories.js +21 -21
  404. package/lib/work/CaseView/CaseView.stories.js.map +1 -1
  405. package/lib/work/CaseView/Details.mocks.js +1 -1
  406. package/lib/work/CaseView/Details.mocks.js.map +1 -1
  407. package/lib/work/CaseView/FileService.mock.js +1 -1
  408. package/lib/work/CaseView/FileService.mock.js.map +1 -1
  409. package/lib/work/CaseView/MobileCaseView.stories.js +1 -1
  410. package/lib/work/CaseView/MobileCaseView.stories.js.map +1 -1
  411. package/lib/work/CaseView/Pulse.mocks.js +2 -2
  412. package/lib/work/CaseView/Pulse.mocks.js.map +1 -1
  413. package/lib/work/ConfigurableLayout/ConfigurableLayout.mocks.js +21 -21
  414. package/lib/work/ConfigurableLayout/ConfigurableLayout.mocks.js.map +1 -1
  415. package/lib/work/ConfigurableLayout/ConfigurableLayout.stories.js +2 -2
  416. package/lib/work/ConfigurableLayout/ConfigurableLayout.stories.js.map +1 -1
  417. package/lib/work/Confirmation/Confirmation.stories.js +2 -2
  418. package/lib/work/Confirmation/Confirmation.stories.js.map +1 -1
  419. package/lib/work/Details/Details.stories.js +15 -15
  420. package/lib/work/Details/Details.stories.js.map +1 -1
  421. package/lib/work/Glimpse/Glimpse.stories.d.ts.map +1 -1
  422. package/lib/work/Glimpse/Glimpse.stories.js +3 -3
  423. package/lib/work/Glimpse/Glimpse.stories.js.map +1 -1
  424. package/lib/work/SearchResults/SearchResults.mocks.js +4 -4
  425. package/lib/work/SearchResults/SearchResults.mocks.js.map +1 -1
  426. package/lib/work/SearchResults/SearchResults.stories.js +11 -11
  427. package/lib/work/SearchResults/SearchResults.stories.js.map +1 -1
  428. package/lib/work/Stages/Stages.stories.js +2 -2
  429. package/lib/work/Stages/Stages.stories.js.map +1 -1
  430. package/lib/work/Stakeholders/Stakeholders.mocks.js +2 -2
  431. package/lib/work/Stakeholders/Stakeholders.mocks.js.map +1 -1
  432. package/lib/work/Stakeholders/Stakeholders.stories.js +1 -1
  433. package/lib/work/Stakeholders/Stakeholders.stories.js.map +1 -1
  434. package/lib/work/Tags/Tags.stories.js +1 -1
  435. package/lib/work/Tags/Tags.stories.js.map +1 -1
  436. package/lib/work/Tasks/TaskList.stories.js +3 -3
  437. package/lib/work/Tasks/TaskList.stories.js.map +1 -1
  438. package/lib/work/Tasks/Tasks.stories.js +11 -11
  439. package/lib/work/Tasks/Tasks.stories.js.map +1 -1
  440. package/lib/work/Timeline/Timeline.mocks.js +8 -8
  441. package/lib/work/Timeline/Timeline.mocks.js.map +1 -1
  442. package/lib/work/Timeline/Timeline.stories.js +2 -2
  443. package/lib/work/Timeline/Timeline.stories.js.map +1 -1
  444. package/package.json +10 -10
  445. package/jsx/build/AppShell/AppShell.mocks.js.map +0 -1
@@ -9,7 +9,7 @@ const getSummaryListItemProps = ({ ref, file, editFile, cancelFile, deleteFile }
9
9
  let actions;
10
10
  let visual;
11
11
  if (hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100) {
12
- visual = _jsx(Progress, { value: file.progress, placement: 'inline', variant: 'ring' }, void 0);
12
+ visual = _jsx(Progress, { value: file.progress, placement: 'inline', variant: 'ring' });
13
13
  actions = [
14
14
  {
15
15
  id: 'Cancel',
@@ -22,7 +22,7 @@ const getSummaryListItemProps = ({ ref, file, editFile, cancelFile, deleteFile }
22
22
  ];
23
23
  }
24
24
  else {
25
- visual = (_jsx(FileVisual, { type: getKindFromMimeType(getMimeTypeFromFile(file.name) ?? ''), thumbnail: file.thumbnail }, void 0));
25
+ visual = (_jsx(FileVisual, { type: getKindFromMimeType(getMimeTypeFromFile(file.name) ?? ''), thumbnail: file.thumbnail }));
26
26
  actions = [
27
27
  {
28
28
  id: 'Edit',
@@ -55,8 +55,8 @@ const getSummaryListItemProps = ({ ref, file, editFile, cancelFile, deleteFile }
55
55
  primary: file.name,
56
56
  secondary: (_jsx(Text, { variant: 'secondary', children: hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100 ? (`Uploading…${Math.floor(file.progress)}%`) : (_jsx(MetaList, { items: [
57
57
  file.category,
58
- _jsxs(_Fragment, { children: ["Uploaded", ' ', _jsx(DateTimeDisplay, { variant: 'relative', value: file.createDate }, void 0)] }, void 0)
59
- ] }, void 0)) }, void 0)),
58
+ _jsxs(_Fragment, { children: ["Uploaded", ' ', _jsx(DateTimeDisplay, { variant: 'relative', value: file.createDate })] })
59
+ ] })) })),
60
60
  actions
61
61
  };
62
62
  };
@@ -88,7 +88,7 @@ const EditPopover = forwardRef(({ file, target, onSubmit, onCancel }, ref) => {
88
88
  }, [categories]);
89
89
  return (
90
90
  // Set an inline style ONLY until Popover width presets are available.
91
- _jsx(Popover, { ref: ref, target: target, style: { width: '40ch' }, placement: 'bottom-start', children: _jsxs(Flex, { container: { direction: 'column', gap: 2, pad: 2 }, children: [_jsx(Text, { variant: 'h3', children: "Details" }, void 0), _jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Input, { label: 'Name', placeholder: 'Enter name\u2026', value: name, info: error, status: error ? 'error' : undefined, autoFocus: true, required: true, onChange: (e) => {
91
+ _jsx(Popover, { ref: ref, target: target, style: { width: '40ch' }, placement: 'bottom-start', children: _jsxs(Flex, { container: { direction: 'column', gap: 2, pad: 2 }, children: [_jsx(Text, { variant: 'h3', children: "Details" }), _jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Input, { label: 'Name', placeholder: 'Enter name\u2026', value: name, info: error, status: error ? 'error' : undefined, autoFocus: true, required: true, onChange: (e) => {
92
92
  setName(e.target.value);
93
93
  if (error && e.target.value) {
94
94
  setError('');
@@ -97,7 +97,7 @@ const EditPopover = forwardRef(({ file, target, onSubmit, onCancel }, ref) => {
97
97
  if (!name) {
98
98
  setError('Name is required.');
99
99
  }
100
- } }, void 0), _jsx(ComboBox, { label: 'Category', placeholder: 'Choose\u2026', selected: selectedCategory, menu: {
100
+ } }), _jsx(ComboBox, { label: 'Category', placeholder: 'Choose\u2026', selected: selectedCategory, menu: {
101
101
  mode: 'single-select',
102
102
  items: categories,
103
103
  onItemClick: id => {
@@ -110,7 +110,7 @@ const EditPopover = forwardRef(({ file, target, onSubmit, onCancel }, ref) => {
110
110
  });
111
111
  });
112
112
  }
113
- } }, void 0)] }, void 0), _jsxs(Flex, { container: { justify: 'between' }, children: [_jsx(Button, { onClick: onCancel, children: "Cancel" }, void 0), _jsx(Button, { variant: 'primary', onClick: () => {
113
+ } })] }), _jsxs(Flex, { container: { justify: 'between' }, children: [_jsx(Button, { onClick: onCancel, children: "Cancel" }), _jsx(Button, { variant: 'primary', onClick: () => {
114
114
  if (error)
115
115
  return;
116
116
  onSubmit({
@@ -119,7 +119,7 @@ const EditPopover = forwardRef(({ file, target, onSubmit, onCancel }, ref) => {
119
119
  ? ''
120
120
  : selectedCategory.items.text
121
121
  });
122
- }, children: "Submit" }, void 0)] }, void 0)] }, void 0) }, void 0));
122
+ }, children: "Submit" })] })] }) }));
123
123
  });
124
124
  const AttachmentsModal = ({ defaultMode }) => {
125
125
  const [mode, setMode] = useState(defaultMode);
@@ -202,11 +202,11 @@ const AttachmentsModal = ({ defaultMode }) => {
202
202
  ]);
203
203
  }, [files]);
204
204
  // Actions for the modal
205
- const actions = mode === 'addNew' ? (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: dismiss, children: "Cancel" }, void 0), _jsx(Button, { type: 'submit', variant: 'primary',
205
+ const actions = mode === 'addNew' ? (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: dismiss, children: "Cancel" }), _jsx(Button, { type: 'submit', variant: 'primary',
206
206
  // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.
207
- onClick: attachSelected, disabled: newFiles.length === 0, children: "Attach Files" }, void 0)] }, void 0)) : null;
207
+ onClick: attachSelected, disabled: newFiles.length === 0, children: "Attach Files" })] })) : null;
208
208
  // Content for the modal
209
- const content = mode === 'addNew' ? (_jsx(FileInput, { multiple: true, label: 'Select files to attach', onFilesAdded: onFilesAdded, files: newFiles.map(f => ({ ...f, meta: f.category || undefined })) }, void 0)) : (_jsx(ViewAll, { loading: loading, items: (search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {
209
+ const content = mode === 'addNew' ? (_jsx(FileInput, { multiple: true, label: 'Select files to attach', onFilesAdded: onFilesAdded, files: newFiles.map(f => ({ ...f, meta: f.category || undefined })) })) : (_jsx(ViewAll, { loading: loading, items: (search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {
210
210
  return getSummaryListItemProps({
211
211
  ref: (el) => {
212
212
  listItemEls.current[i] = el;
@@ -241,7 +241,7 @@ const AttachmentsModal = ({ defaultMode }) => {
241
241
  setMode('addNew');
242
242
  }
243
243
  }
244
- ], searchInputProps: { onSearchChange: value => setSearch(value) } }, void 0));
244
+ ], searchInputProps: { onSearchChange: value => setSearch(value) } }));
245
245
  return (_jsx(Modal, { as: mode === 'addNew' ? 'form' : undefined, heading: mode === 'addNew' ? 'Add attachments' : 'Attachments', actions: actions, onRequestDismiss: () => {
246
246
  return !editPopoverTargetLi;
247
247
  }, onSubmit: mode === 'addNew'
@@ -279,7 +279,7 @@ const AttachmentsModal = ({ defaultMode }) => {
279
279
  return file;
280
280
  }));
281
281
  }
282
- } }, void 0))] }, void 0) }, void 0));
282
+ } }))] }) }));
283
283
  };
284
284
  // ---------------------------------------------------------------------------------------------------------------------
285
285
  // Attachments mock
@@ -356,7 +356,7 @@ export const AttachmentsMock = () => {
356
356
  });
357
357
  }), onViewAll: () => {
358
358
  createModal(AttachmentsModal, { defaultMode: 'viewAll' });
359
- } }, void 0), editPopoverTargetLi && (_jsx(EditPopover, { ref: editPopoverRef, target: menuButton, file: files[editFileIndex], onCancel: handlePopoverClose, onSubmit: ({ name, category }) => {
359
+ } }), editPopoverTargetLi && (_jsx(EditPopover, { ref: editPopoverRef, target: menuButton, file: files[editFileIndex], onCancel: handlePopoverClose, onSubmit: ({ name, category }) => {
360
360
  handlePopoverClose();
361
361
  setFiles(cur => cur.map((file, i) => {
362
362
  if (i === editFileIndex) {
@@ -368,6 +368,6 @@ export const AttachmentsMock = () => {
368
368
  }
369
369
  return file;
370
370
  }));
371
- } }, void 0))] }, void 0));
371
+ } }))] }));
372
372
  };
373
373
  //# sourceMappingURL=Attachments.mocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Attachments.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useCallback,\n useContext,\n useEffect,\n FormEvent,\n useRef,\n Ref,\n useMemo,\n ChangeEvent,\n forwardRef,\n FC,\n PropsWithoutRef\n} from 'react';\n\nimport {\n Button,\n FileInput,\n FileVisual,\n Progress,\n Modal,\n ModalManagerContext,\n Text,\n ToasterContext,\n SummaryList,\n ViewAll,\n getKindFromMimeType,\n getMimeTypeFromFile,\n Action,\n Popover,\n Flex,\n Input,\n ComboBox,\n createUID,\n PopoverProps,\n useOuterEvent,\n hasProp,\n DateTimeDisplay,\n SummaryListItem,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n FileServiceContext,\n FileServiceContextValue,\n mockAttachmentListRequest,\n mockCategories,\n MockFileAttachmentResource,\n MockFileUploadItem\n} from './FileService.mock';\n\n// ---------------------------------------------------------------------------------------------------------------------\n// getSummaryListItemProps\n// ---------------------------------------------------------------------------------------------------------------------\nconst getSummaryListItemProps = ({\n ref,\n file,\n editFile,\n cancelFile,\n deleteFile\n}: {\n ref: Ref<HTMLLIElement>;\n file: MockFileAttachmentResource | MockFileUploadItem;\n editFile?: (file: MockFileAttachmentResource) => void;\n cancelFile: FileServiceContextValue['cancelFile'];\n deleteFile: FileServiceContextValue['deleteFile'];\n}): SummaryListItem => {\n let actions: Action[];\n let visual: JSX.Element;\n\n if (hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100) {\n visual = <Progress value={file.progress} placement='inline' variant='ring' />;\n actions = [\n {\n id: 'Cancel',\n text: 'Cancel',\n icon: 'times',\n onClick: () => {\n cancelFile(file.id);\n }\n }\n ];\n } else {\n visual = (\n <FileVisual\n type={getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '')}\n thumbnail={(file as MockFileAttachmentResource).thumbnail}\n />\n );\n actions = [\n {\n id: 'Edit',\n text: 'Edit',\n icon: 'pencil',\n onClick: () => {\n editFile?.(file);\n }\n },\n {\n id: 'Download',\n text: 'Download',\n icon: 'download',\n onClick: () => {}\n },\n {\n id: 'Delete',\n text: 'Delete',\n icon: 'trash',\n onClick: () => {\n deleteFile(file.id);\n }\n }\n ];\n }\n\n return {\n ref,\n id: file.id,\n visual,\n primary: file.name,\n secondary: (\n <Text variant='secondary'>\n {hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100 ? (\n `Uploading…${Math.floor(file.progress)}%`\n ) : (\n <MetaList\n items={[\n file.category,\n <>\n Uploaded{' '}\n <DateTimeDisplay\n variant='relative'\n value={(file as MockFileAttachmentResource).createDate}\n />\n </>\n ]}\n />\n )}\n </Text>\n ),\n actions\n };\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachment edit Popover\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditPopoverProps {\n file: MockFileAttachmentResource;\n target: PopoverProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditPopover: FC<EditPopoverProps> = forwardRef(\n (\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditPopoverProps>,\n ref: EditPopoverProps['ref']\n ) => {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n\n const [categories, setCategories] = useState(() => {\n return [\n { id: createUID(), primary: 'No category', selected: false },\n ...mockCategories.map(category => {\n return {\n id: createUID(),\n primary: category,\n selected: file.category === category\n };\n })\n ];\n });\n\n const selectedCategory = useMemo(() => {\n const sc = categories.find(c => c.selected);\n return sc\n ? {\n items: {\n id: sc.id,\n text: sc.primary\n }\n }\n : undefined;\n }, [categories]);\n\n return (\n // Set an inline style ONLY until Popover width presets are available.\n <Popover ref={ref} target={target} style={{ width: '40ch' }} placement='bottom-start'>\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3'>Details</Text>\n\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='Name'\n placeholder='Enter name…'\n value={name}\n info={error}\n status={error ? 'error' : undefined}\n autoFocus\n required\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n if (error && e.target.value) {\n setError('');\n }\n }}\n onBlur={() => {\n if (!name) {\n setError('Name is required.');\n }\n }}\n />\n <ComboBox\n label='Category'\n placeholder='Choose…'\n selected={selectedCategory}\n menu={{\n mode: 'single-select',\n items: categories,\n onItemClick: id => {\n setCategories(cur => {\n return cur.map(category => {\n return {\n ...category,\n selected: category.id === id\n };\n });\n });\n }\n }}\n />\n </Flex>\n\n <Flex container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button\n variant='primary'\n onClick={() => {\n if (error) return;\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n </Popover>\n );\n }\n);\n\n// ---------------------------------------------------------------------------------------------------------------------\n// AttachmentsModal\n// ---------------------------------------------------------------------------------------------------------------------\ninterface AttachmentsModalProps {\n defaultMode: 'viewAll' | 'addNew';\n}\n\nconst AttachmentsModal = ({ defaultMode }: AttachmentsModalProps) => {\n const [mode, setMode] = useState(defaultMode);\n\n const { push: pushToaster } = useContext(ToasterContext);\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);\n\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [newFiles, setNewFiles] = useState<MockFileUploadItem[]>([]);\n\n const attachSelected = useCallback(() => {\n newFiles.forEach(attachFile);\n dismiss();\n }, [newFiles, attachFile]);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n useEffect(() => {\n // Since the component is performing double duty we need to empty out ref elements from a prior render mode.\n listItemEls.current = [];\n }, [mode]);\n\n const onFilesAdded = useCallback(\n (newlyAddedFiles: File[]) => {\n setNewFiles(current => [\n ...newlyAddedFiles.map((file, i) => {\n const id = createUID();\n return {\n id,\n name: file.name,\n category: '',\n File: file,\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n onEdit: () => {\n setEditFileIndex(i);\n },\n onCancel: () => {\n setNewFiles(c => c.filter(f => f.id !== id));\n }\n };\n }),\n ...current\n ]);\n },\n [files]\n );\n\n // Actions for the modal\n const actions =\n mode === 'addNew' ? (\n <>\n <Button onClick={dismiss}>Cancel</Button>\n <Button\n type='submit'\n variant='primary'\n // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.\n onClick={attachSelected}\n disabled={newFiles.length === 0}\n >\n Attach Files\n </Button>\n </>\n ) : null;\n\n // Content for the modal\n const content =\n mode === 'addNew' ? (\n <FileInput\n multiple\n label='Select files to attach'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={loading}\n items={(search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n actions={[\n {\n id: 'addNewFile',\n text: 'Add files',\n onClick: () => {\n setMode('addNew');\n }\n },\n {\n id: 'addNewLink',\n text: 'Add links',\n onClick: () => {\n setMode('addNew');\n }\n }\n ]}\n searchInputProps={{ onSearchChange: value => setSearch(value) }}\n />\n );\n\n return (\n <Modal\n as={mode === 'addNew' ? 'form' : undefined}\n heading={mode === 'addNew' ? 'Add attachments' : 'Attachments'}\n actions={actions}\n onRequestDismiss={() => {\n return !editPopoverTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n\n // TS kept from easily consolidating like:\n // const setter = mode === 'addNew' ? setNewFiles : setFiles;\n // Could not avoid map's file param as \"any\".\n if (mode === 'addNew') {\n setNewFiles(cur => {\n return cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n });\n });\n } else {\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }\n }}\n />\n )}\n </>\n </Modal>\n );\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachments mock\n// ---------------------------------------------------------------------------------------------------------------------\nexport const AttachmentsMock = () => {\n const { push: pushToaster } = useContext(ToasterContext);\n const { create: createModal } = useContext(ModalManagerContext);\n const [loading, setLoading] = useState(true);\n const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n mockAttachmentListRequest().then(attachments => {\n setLoading(false);\n setFiles(attachments);\n });\n }, []);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add attachments',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n }\n ]}\n items={files.slice(0, 3).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n onViewAll={() => {\n createModal(AttachmentsModal, { defaultMode: 'viewAll' as const });\n }}\n />\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }}\n />\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"Attachments.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/Attachments.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n useState,\n useCallback,\n useContext,\n useEffect,\n FormEvent,\n useRef,\n Ref,\n useMemo,\n ChangeEvent,\n forwardRef,\n FC,\n PropsWithoutRef\n} from 'react';\n\nimport {\n Button,\n FileInput,\n FileVisual,\n Progress,\n Modal,\n ModalManagerContext,\n Text,\n ToasterContext,\n SummaryList,\n ViewAll,\n getKindFromMimeType,\n getMimeTypeFromFile,\n Action,\n Popover,\n Flex,\n Input,\n ComboBox,\n createUID,\n PopoverProps,\n useOuterEvent,\n hasProp,\n DateTimeDisplay,\n SummaryListItem,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n FileServiceContext,\n FileServiceContextValue,\n mockAttachmentListRequest,\n mockCategories,\n MockFileAttachmentResource,\n MockFileUploadItem\n} from './FileService.mock';\n\n// ---------------------------------------------------------------------------------------------------------------------\n// getSummaryListItemProps\n// ---------------------------------------------------------------------------------------------------------------------\nconst getSummaryListItemProps = ({\n ref,\n file,\n editFile,\n cancelFile,\n deleteFile\n}: {\n ref: Ref<HTMLLIElement>;\n file: MockFileAttachmentResource | MockFileUploadItem;\n editFile?: (file: MockFileAttachmentResource) => void;\n cancelFile: FileServiceContextValue['cancelFile'];\n deleteFile: FileServiceContextValue['deleteFile'];\n}): SummaryListItem => {\n let actions: Action[];\n let visual: JSX.Element;\n\n if (hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100) {\n visual = <Progress value={file.progress} placement='inline' variant='ring' />;\n actions = [\n {\n id: 'Cancel',\n text: 'Cancel',\n icon: 'times',\n onClick: () => {\n cancelFile(file.id);\n }\n }\n ];\n } else {\n visual = (\n <FileVisual\n type={getKindFromMimeType(getMimeTypeFromFile(file.name) ?? '')}\n thumbnail={(file as MockFileAttachmentResource).thumbnail}\n />\n );\n actions = [\n {\n id: 'Edit',\n text: 'Edit',\n icon: 'pencil',\n onClick: () => {\n editFile?.(file);\n }\n },\n {\n id: 'Download',\n text: 'Download',\n icon: 'download',\n onClick: () => {}\n },\n {\n id: 'Delete',\n text: 'Delete',\n icon: 'trash',\n onClick: () => {\n deleteFile(file.id);\n }\n }\n ];\n }\n\n return {\n ref,\n id: file.id,\n visual,\n primary: file.name,\n secondary: (\n <Text variant='secondary'>\n {hasProp(file, 'progress') && typeof file.progress === 'number' && file.progress < 100 ? (\n `Uploading…${Math.floor(file.progress)}%`\n ) : (\n <MetaList\n items={[\n file.category,\n <>\n Uploaded{' '}\n <DateTimeDisplay\n variant='relative'\n value={(file as MockFileAttachmentResource).createDate}\n />\n </>\n ]}\n />\n )}\n </Text>\n ),\n actions\n };\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachment edit Popover\n// ---------------------------------------------------------------------------------------------------------------------\ninterface EditPopoverProps {\n file: MockFileAttachmentResource;\n target: PopoverProps['target'];\n onSubmit: (fields: { name: string; category: string }) => void;\n onCancel: () => void;\n ref: Ref<HTMLDivElement>;\n}\n\nconst EditPopover: FC<EditPopoverProps> = forwardRef(\n (\n { file, target, onSubmit, onCancel }: PropsWithoutRef<EditPopoverProps>,\n ref: EditPopoverProps['ref']\n ) => {\n const [name, setName] = useState(file.name);\n const [error, setError] = useState('');\n\n const [categories, setCategories] = useState(() => {\n return [\n { id: createUID(), primary: 'No category', selected: false },\n ...mockCategories.map(category => {\n return {\n id: createUID(),\n primary: category,\n selected: file.category === category\n };\n })\n ];\n });\n\n const selectedCategory = useMemo(() => {\n const sc = categories.find(c => c.selected);\n return sc\n ? {\n items: {\n id: sc.id,\n text: sc.primary\n }\n }\n : undefined;\n }, [categories]);\n\n return (\n // Set an inline style ONLY until Popover width presets are available.\n <Popover ref={ref} target={target} style={{ width: '40ch' }} placement='bottom-start'>\n <Flex container={{ direction: 'column', gap: 2, pad: 2 }}>\n <Text variant='h3'>Details</Text>\n\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='Name'\n placeholder='Enter name…'\n value={name}\n info={error}\n status={error ? 'error' : undefined}\n autoFocus\n required\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setName(e.target.value);\n if (error && e.target.value) {\n setError('');\n }\n }}\n onBlur={() => {\n if (!name) {\n setError('Name is required.');\n }\n }}\n />\n <ComboBox\n label='Category'\n placeholder='Choose…'\n selected={selectedCategory}\n menu={{\n mode: 'single-select',\n items: categories,\n onItemClick: id => {\n setCategories(cur => {\n return cur.map(category => {\n return {\n ...category,\n selected: category.id === id\n };\n });\n });\n }\n }}\n />\n </Flex>\n\n <Flex container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button\n variant='primary'\n onClick={() => {\n if (error) return;\n onSubmit({\n name,\n category:\n !selectedCategory || selectedCategory.items.text === 'No category'\n ? ''\n : selectedCategory.items.text\n });\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n </Popover>\n );\n }\n);\n\n// ---------------------------------------------------------------------------------------------------------------------\n// AttachmentsModal\n// ---------------------------------------------------------------------------------------------------------------------\ninterface AttachmentsModalProps {\n defaultMode: 'viewAll' | 'addNew';\n}\n\nconst AttachmentsModal = ({ defaultMode }: AttachmentsModalProps) => {\n const [mode, setMode] = useState(defaultMode);\n\n const { push: pushToaster } = useContext(ToasterContext);\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismiss } = useContext(ModalContext);\n const { files, setFiles, cancelFile, attachFile, deleteFile } = useContext(FileServiceContext);\n\n const [search, setSearch] = useState('');\n const [loading, setLoading] = useState(true);\n const [newFiles, setNewFiles] = useState<MockFileUploadItem[]>([]);\n\n const attachSelected = useCallback(() => {\n newFiles.forEach(attachFile);\n dismiss();\n }, [newFiles, attachFile]);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n if (mode === 'viewAll') {\n const timeout = setTimeout(() => {\n setLoading(false);\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [mode]);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n useEffect(() => {\n // Since the component is performing double duty we need to empty out ref elements from a prior render mode.\n listItemEls.current = [];\n }, [mode]);\n\n const onFilesAdded = useCallback(\n (newlyAddedFiles: File[]) => {\n setNewFiles(current => [\n ...newlyAddedFiles.map((file, i) => {\n const id = createUID();\n return {\n id,\n name: file.name,\n category: '',\n File: file,\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n onEdit: () => {\n setEditFileIndex(i);\n },\n onCancel: () => {\n setNewFiles(c => c.filter(f => f.id !== id));\n }\n };\n }),\n ...current\n ]);\n },\n [files]\n );\n\n // Actions for the modal\n const actions =\n mode === 'addNew' ? (\n <>\n <Button onClick={dismiss}>Cancel</Button>\n <Button\n type='submit'\n variant='primary'\n // Normally this would trigger a submit event but we are preventing that in the Modal's onSubmit.\n onClick={attachSelected}\n disabled={newFiles.length === 0}\n >\n Attach Files\n </Button>\n </>\n ) : null;\n\n // Content for the modal\n const content =\n mode === 'addNew' ? (\n <FileInput\n multiple\n label='Select files to attach'\n onFilesAdded={onFilesAdded}\n files={newFiles.map(f => ({ ...f, meta: f.category || undefined }))}\n />\n ) : (\n <ViewAll\n loading={loading}\n items={(search ? files.filter(f => f.name.includes(search)) : files).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n actions={[\n {\n id: 'addNewFile',\n text: 'Add files',\n onClick: () => {\n setMode('addNew');\n }\n },\n {\n id: 'addNewLink',\n text: 'Add links',\n onClick: () => {\n setMode('addNew');\n }\n }\n ]}\n searchInputProps={{ onSearchChange: value => setSearch(value) }}\n />\n );\n\n return (\n <Modal\n as={mode === 'addNew' ? 'form' : undefined}\n heading={mode === 'addNew' ? 'Add attachments' : 'Attachments'}\n actions={actions}\n onRequestDismiss={() => {\n return !editPopoverTargetLi;\n }}\n onSubmit={\n mode === 'addNew'\n ? (e: FormEvent) => {\n e.preventDefault();\n }\n : undefined\n }\n >\n <>\n {content}\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={mode === 'addNew' ? newFiles[editFileIndex] : files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n\n // TS kept from easily consolidating like:\n // const setter = mode === 'addNew' ? setNewFiles : setFiles;\n // Could not avoid map's file param as \"any\".\n if (mode === 'addNew') {\n setNewFiles(cur => {\n return cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n });\n });\n } else {\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }\n }}\n />\n )}\n </>\n </Modal>\n );\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n// Attachments mock\n// ---------------------------------------------------------------------------------------------------------------------\nexport const AttachmentsMock = () => {\n const { push: pushToaster } = useContext(ToasterContext);\n const { create: createModal } = useContext(ModalManagerContext);\n const [loading, setLoading] = useState(true);\n const { files, setFiles, cancelFile, deleteFile } = useContext(FileServiceContext);\n\n const listItemEls = useRef<HTMLLIElement[]>([]);\n const [editFileIndex, setEditFileIndex] = useState<number>(-1);\n\n const editPopoverTargetLi = useMemo(() => {\n return editFileIndex !== undefined ? listItemEls.current[editFileIndex] : undefined;\n }, [editFileIndex, listItemEls]);\n\n const menuButton = useMemo(\n () =>\n editPopoverTargetLi\n ? editPopoverTargetLi.querySelector<HTMLButtonElement>('button[aria-haspopup=\"menu\"]')\n : null,\n [editPopoverTargetLi]\n );\n\n const handlePopoverClose = useCallback(() => {\n if (!editPopoverTargetLi) return;\n setEditFileIndex(-1);\n menuButton?.focus();\n }, [menuButton, editPopoverTargetLi]);\n\n const handleKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setEditFileIndex(-1);\n }\n }, []);\n\n const editPopoverRef = useRef<HTMLDivElement>(null);\n\n // Using mousedown instead of click since drag selecting an input's value within the popover, then releasing outside the popover triggers outer click.\n useOuterEvent('mousedown', [editPopoverRef], handlePopoverClose);\n\n useEffect(() => {\n mockAttachmentListRequest().then(attachments => {\n setLoading(false);\n setFiles(attachments);\n });\n }, []);\n\n useEffect(() => {\n if (!editPopoverTargetLi) return;\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [editPopoverTargetLi]);\n\n return (\n <>\n <SummaryList\n icon='paper-clip'\n name='Attachments'\n loading={loading}\n count={!loading && Array.isArray(files) ? files.length : undefined}\n actions={[\n {\n text: 'Add attachments',\n id: 'addNew',\n icon: 'plus',\n onClick() {\n createModal(AttachmentsModal, { defaultMode: 'addNew' as const });\n }\n }\n ]}\n items={files.slice(0, 3).map((file, i) => {\n return getSummaryListItemProps({\n ref: (el: HTMLLIElement) => {\n listItemEls.current[i] = el;\n },\n file,\n editFile: () => {\n setEditFileIndex(i);\n },\n cancelFile: id => {\n const canceledFile = files.find(f => f.id === id) as MockFileUploadItem;\n cancelFile(id);\n pushToaster({ content: `Cancelled attaching ${canceledFile.name}` });\n },\n deleteFile: async id => {\n const deletedFile = files.find(f => f.id === id) as MockFileAttachmentResource;\n await deleteFile(id);\n pushToaster({ content: `${deletedFile.name} deleted` });\n }\n });\n })}\n onViewAll={() => {\n createModal(AttachmentsModal, { defaultMode: 'viewAll' as const });\n }}\n />\n {editPopoverTargetLi && (\n <EditPopover\n ref={editPopoverRef}\n target={menuButton}\n file={files[editFileIndex]}\n onCancel={handlePopoverClose}\n onSubmit={({ name, category }) => {\n handlePopoverClose();\n setFiles(cur =>\n cur.map((file, i) => {\n if (i === editFileIndex) {\n return {\n ...file,\n name,\n category\n };\n }\n\n return file;\n })\n );\n }}\n />\n )}\n </>\n );\n};\n"]}
@@ -35,7 +35,7 @@ export const MockSummaryListViewAllModal = ({ name, count }) => {
35
35
  id: 'addNew',
36
36
  text: `Add ${singularize(name)}`
37
37
  }
38
- ], searchInputProps: { onSearchChange } }, void 0) }, void 0));
38
+ ], searchInputProps: { onSearchChange } }) }));
39
39
  };
40
40
  export const MockSummaryList = ({ icon, name, actions, limit }) => {
41
41
  const { create: createModal } = useContext(ModalManagerContext);
@@ -53,7 +53,7 @@ export const MockSummaryList = ({ icon, name, actions, limit }) => {
53
53
  onClick() {
54
54
  createModal(() => {
55
55
  const singularName = singularize(name);
56
- return (_jsx(Modal, { heading: `Add new ${singularName}`, children: `Content for adding a new ${singularName} goes here…` }, void 0));
56
+ return (_jsx(Modal, { heading: `Add new ${singularName}`, children: `Content for adding a new ${singularName} goes here…` }));
57
57
  });
58
58
  }
59
59
  }
@@ -63,7 +63,7 @@ export const MockSummaryList = ({ icon, name, actions, limit }) => {
63
63
  name,
64
64
  count
65
65
  });
66
- } }, void 0));
66
+ } }));
67
67
  };
68
68
  export const MockOperatorFieldValue = () => {
69
69
  const [showGlimpse, setShowGlimpse] = useState(false);
@@ -85,7 +85,7 @@ export const MockOperatorFieldValue = () => {
85
85
  }, [showGlimpse]);
86
86
  return (_jsxs(_Fragment, { children: [_jsx(Button, { variant: 'link', onClick: () => {
87
87
  setShowGlimpse(true);
88
- }, ref: setOperatorBtn, children: "cosmos@pega.com" }, void 0), showGlimpse && (_jsx(Popover, { target: operatorBtn, ref: setPopoverEl, strategy: 'fixed', placement: 'bottom-start', arrow: true, children: _jsx(Glimpse, { id: 'cosmos', primary: 'Cosmos Operator', secondary: ['Director of the stars'], visual: _jsx(Avatar, { size: 'l', name: 'Cosmos Operator' }, void 0), fields: [
88
+ }, ref: setOperatorBtn, children: "cosmos@pega.com" }), showGlimpse && (_jsx(Popover, { target: operatorBtn, ref: setPopoverEl, strategy: 'fixed', placement: 'bottom-start', arrow: true, children: _jsx(Glimpse, { id: 'cosmos', primary: 'Cosmos Operator', secondary: ['Director of the stars'], visual: _jsx(Avatar, { size: 'l', name: 'Cosmos Operator' }), fields: [
89
89
  {
90
90
  id: '1',
91
91
  name: 'Department',
@@ -104,13 +104,13 @@ export const MockOperatorFieldValue = () => {
104
104
  {
105
105
  id: '4',
106
106
  name: 'Email',
107
- value: _jsx(Link, { href: 'mailto:cosmos@pega.com', children: "cosmos@pega.com" }, void 0)
107
+ value: _jsx(Link, { href: 'mailto:cosmos@pega.com', children: "cosmos@pega.com" })
108
108
  },
109
109
  {
110
110
  id: '5',
111
111
  name: 'Telephone',
112
- value: _jsx(Link, { href: 'tel:555-123-4567', children: "555-123-4567" }, void 0)
112
+ value: _jsx(Link, { href: 'tel:555-123-4567', children: "555-123-4567" })
113
113
  }
114
- ] }, void 0) }, void 0))] }, void 0));
114
+ ] }) }))] }));
115
115
  };
116
116
  //# sourceMappingURL=CaseView.mocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\n\nimport {\n Avatar,\n Button,\n Link,\n createStringMatcher,\n Modal,\n ModalManagerContext,\n Popover,\n SummaryList,\n SummaryListProps,\n useElement,\n useOuterEvent,\n ViewAll\n} from '@pega/cosmos-react-core';\nimport type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';\nimport { Glimpse } from '@pega/cosmos-react-work';\n\nimport { useMockListData } from '../../core/SummaryList/SummaryList.mocks';\n\nexport function getTabs() {\n return ['Details', 'Pulse', 'Accounts'].map((name): Tab => {\n return {\n name,\n id: name\n };\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 } = useContext(ModalManagerContext);\n const [loading, setLoading] = useState(true);\n const count = Math.floor(Math.random() * 144) + 7;\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 count={loading ? undefined : count}\n actions={\n actions !== null\n ? [\n {\n text: `Add new ${name}`,\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 [showGlimpse, setShowGlimpse] = useState(false);\n const [operatorBtn, setOperatorBtn] = useElement(null);\n const [popoverEl, setPopoverEl] = useElement(null);\n\n useOuterEvent('click', [popoverEl], () => {\n setShowGlimpse(false);\n });\n\n const onKeydown = (e: KeyboardEvent) => {\n if (showGlimpse && e.key === 'Escape') {\n setShowGlimpse(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', onKeydown);\n return () => {\n document.removeEventListener('keydown', onKeydown);\n };\n }, [showGlimpse]);\n\n return (\n <>\n <Button\n variant='link'\n onClick={() => {\n setShowGlimpse(true);\n }}\n ref={setOperatorBtn}\n >\n cosmos@pega.com\n </Button>\n {showGlimpse && (\n <Popover\n target={operatorBtn}\n ref={setPopoverEl}\n strategy='fixed'\n placement='bottom-start'\n arrow\n >\n <Glimpse\n id='cosmos'\n primary='Cosmos Operator'\n secondary={['Director of the stars']}\n visual={<Avatar size='l' name='Cosmos Operator' />}\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:cosmos@pega.com'>cosmos@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 />\n </Popover>\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CaseView.mocks.js","sourceRoot":"","sources":["../../../src/work/CaseView/CaseView.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useMemo, useState } from 'react';\n\nimport {\n Avatar,\n Button,\n Link,\n createStringMatcher,\n Modal,\n ModalManagerContext,\n Popover,\n SummaryList,\n SummaryListProps,\n useElement,\n useOuterEvent,\n ViewAll\n} from '@pega/cosmos-react-core';\nimport type { Tab } from '@pega/cosmos-react-core/lib/components/Tabs/Tabs.types';\nimport { Glimpse } from '@pega/cosmos-react-work';\n\nimport { useMockListData } from '../../core/SummaryList/SummaryList.mocks';\n\nexport function getTabs() {\n return ['Details', 'Pulse', 'Accounts'].map((name): Tab => {\n return {\n name,\n id: name\n };\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 } = useContext(ModalManagerContext);\n const [loading, setLoading] = useState(true);\n const count = Math.floor(Math.random() * 144) + 7;\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 count={loading ? undefined : count}\n actions={\n actions !== null\n ? [\n {\n text: `Add new ${name}`,\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 [showGlimpse, setShowGlimpse] = useState(false);\n const [operatorBtn, setOperatorBtn] = useElement(null);\n const [popoverEl, setPopoverEl] = useElement(null);\n\n useOuterEvent('click', [popoverEl], () => {\n setShowGlimpse(false);\n });\n\n const onKeydown = (e: KeyboardEvent) => {\n if (showGlimpse && e.key === 'Escape') {\n setShowGlimpse(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', onKeydown);\n return () => {\n document.removeEventListener('keydown', onKeydown);\n };\n }, [showGlimpse]);\n\n return (\n <>\n <Button\n variant='link'\n onClick={() => {\n setShowGlimpse(true);\n }}\n ref={setOperatorBtn}\n >\n cosmos@pega.com\n </Button>\n {showGlimpse && (\n <Popover\n target={operatorBtn}\n ref={setPopoverEl}\n strategy='fixed'\n placement='bottom-start'\n arrow\n >\n <Glimpse\n id='cosmos'\n primary='Cosmos Operator'\n secondary={['Director of the stars']}\n visual={<Avatar size='l' name='Cosmos Operator' />}\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:cosmos@pega.com'>cosmos@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 />\n </Popover>\n )}\n </>\n );\n};\n"]}
@@ -32,7 +32,7 @@ export default {
32
32
  | \__/\ (_| \__ \ __/\ \_/ / | __/\ V V /
33
33
  \____/\__,_|___/\___| \___/|_|\___| \_/\_/
34
34
  */
35
- export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', parentCases, heading = 'Cosmos demo case', icon = _jsx(Icon, { name: 'user-solid' }, void 0), tasksWidget = _jsx(TasksDemo, {}, void 0), primaryFields, secondaryFields, actions, tabs, stages = true, showUtilities = true, defaultCollapsedUtilities = false, showFollowedIcon = true }) => {
35
+ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', parentCases, heading = 'Cosmos demo case', icon = _jsx(Icon, { name: 'user-solid' }), tasksWidget = _jsx(TasksDemo, {}), primaryFields, secondaryFields, actions, tabs, stages = true, showUtilities = true, defaultCollapsedUtilities = false, showFollowedIcon = true }) => {
36
36
  const previewTabItems = getTabs();
37
37
  const [preview, setPreview] = useState(null);
38
38
  const [previewCurrentTabId, setPreviewCurrentTabId] = useState(previewTabItems[0].id);
@@ -42,7 +42,7 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
42
42
  return (_jsx(Link, { href: linkToken.href, previewable: true, onPreview: () => {
43
43
  setPreview({ id: linkToken.href, name: 'Previewable Case' });
44
44
  setPreviewCurrentTabId(`summary-${linkToken.href}`);
45
- }, children: linkToken.text }, void 0));
45
+ }, children: linkToken.text }));
46
46
  };
47
47
  const pulseMarkdownMap = {
48
48
  link: (linkToken) => {
@@ -57,24 +57,24 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
57
57
  currentTabId: demoCurrentTabId,
58
58
  onClick: (id) => setDemoCurrentTabId(id)
59
59
  };
60
- const demoStages = stages ? _jsx(StagesDemo, { currentStage: 3, numberOfStages: 5 }, void 0) : undefined;
60
+ const demoStages = stages ? _jsx(StagesDemo, { currentStage: 3, numberOfStages: 5 }) : undefined;
61
61
  const demoTabContent = useMemo(() => {
62
62
  return [
63
63
  {
64
64
  id: 'Details',
65
- content: _jsx(Details, {}, void 0)
65
+ content: _jsx(Details, {})
66
66
  },
67
67
  {
68
68
  id: 'Pulse',
69
- content: _jsx(PulseMock, { markdownMap: pulseMarkdownMap }, void 0)
69
+ content: _jsx(PulseMock, { markdownMap: pulseMarkdownMap })
70
70
  },
71
71
  {
72
72
  id: 'Accounts',
73
- content: _jsx(TableDemo, {}, void 0)
73
+ content: _jsx(TableDemo, {})
74
74
  },
75
75
  {
76
76
  id: 'not found',
77
- content: _jsx("h2", { children: "Not Found" }, void 0)
77
+ content: _jsx("h2", { children: "Not Found" })
78
78
  }
79
79
  ];
80
80
  }, []);
@@ -87,19 +87,19 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
87
87
  return [
88
88
  {
89
89
  id: 'Details',
90
- content: _jsx(Details, {}, void 0)
90
+ content: _jsx(Details, {})
91
91
  },
92
92
  {
93
93
  id: 'Pulse',
94
- content: _jsx(PulseMock, { markdownMap: pulseMarkdownMap }, void 0)
94
+ content: _jsx(PulseMock, { markdownMap: pulseMarkdownMap })
95
95
  },
96
96
  {
97
97
  id: 'Accounts',
98
- content: _jsx(TableDemo, {}, void 0)
98
+ content: _jsx(TableDemo, {})
99
99
  },
100
100
  {
101
101
  id: 'not found',
102
- content: _jsx("h2", { children: "Not Found" }, void 0)
102
+ content: _jsx("h2", { children: "Not Found" })
103
103
  }
104
104
  ];
105
105
  }, []);
@@ -121,7 +121,7 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
121
121
  [
122
122
  {
123
123
  name: 'Status',
124
- value: _jsx(Status, { variant: 'info', children: "New" }, void 0)
124
+ value: _jsx(Status, { variant: 'info', children: "New" })
125
125
  },
126
126
  {
127
127
  name: 'Assigned to',
@@ -137,14 +137,14 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
137
137
  },
138
138
  {
139
139
  name: 'Created by',
140
- value: _jsx(MockOperatorFieldValue, {}, void 0)
140
+ value: _jsx(MockOperatorFieldValue, {})
141
141
  },
142
142
  {
143
143
  name: 'Previewable Case',
144
144
  value: (_jsx(Link, { href: '/cases/C-789', previewable: true, onPreview: () => {
145
145
  setPreview({ id: 'C-789', name: 'Previewable Case' });
146
146
  setPreviewCurrentTabId('summary-C-789');
147
- }, children: "Previewable Case - C-789" }, void 0))
147
+ }, children: "Previewable Case - C-789" }))
148
148
  }
149
149
  ].map((f, i) => ({ ...f, id: `s-${i}` }));
150
150
  const demoParentCases = useMemo(() => {
@@ -203,7 +203,7 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
203
203
  ].map((f, i) => ({ ...f, id: `p-${i}` })), secondaryFields: [
204
204
  {
205
205
  name: 'Status',
206
- value: _jsx(Status, { variant: 'info', children: "New" }, void 0)
206
+ value: _jsx(Status, { variant: 'info', children: "New" })
207
207
  },
208
208
  {
209
209
  name: 'Assigned to',
@@ -217,26 +217,26 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
217
217
  name: 'Update date',
218
218
  value: `${diffInYears} years ago`
219
219
  }
220
- ].map((f, i) => ({ ...f, id: `s-${i}` })) }, void 0), stages: demoStages, tasks: tasksWidget, tabs: previewTabs, tabContent: previewTabContent, utilities: showUtilities ? (_jsxs(Grid, { container: { rowGap: 2 }, children: [_jsx(AttachmentsMock, {}, void 0), _jsx(StakeHoldersDemo, {}, void 0), _jsx(MockSummaryList, { icon: 'user-star', name: 'Followers' }, void 0), _jsx(TagsDemo, {}, void 0)] }, void 0)) : (_jsx(Grid, { container: { rowGap: 2 }, children: _jsx(AttachmentsMock, {}, void 0) }, void 0)), onBeforeClose: () => {
220
+ ].map((f, i) => ({ ...f, id: `s-${i}` })) }), stages: demoStages, tasks: tasksWidget, tabs: previewTabs, tabContent: previewTabContent, utilities: showUtilities ? (_jsxs(Grid, { container: { rowGap: 2 }, children: [_jsx(AttachmentsMock, {}), _jsx(StakeHoldersDemo, {}), _jsx(MockSummaryList, { icon: 'user-star', name: 'Followers' }), _jsx(TagsDemo, {})] })) : (_jsx(Grid, { container: { rowGap: 2 }, children: _jsx(AttachmentsMock, {}) })), onBeforeClose: () => {
221
221
  // TODO: Maybe should handle syncing state to avoid additional render with duplicate prop value
222
222
  if (preview) {
223
223
  setPreview(null);
224
224
  }
225
- } }, void 0), _jsx(CaseView, { caseId: caseId, parentCases: demoParentCases, heading: heading, icon: icon, followed: showFollowedIcon ? followed : undefined, onFollowedChange: showFollowedIcon ? setFollowed : undefined, actions: actions ||
225
+ } }), _jsx(CaseView, { caseId: caseId, parentCases: demoParentCases, heading: heading, icon: icon, followed: showFollowedIcon ? followed : undefined, onFollowedChange: showFollowedIcon ? setFollowed : undefined, actions: actions ||
226
226
  Array.from({ length: 12 }, (_, i) => {
227
227
  return {
228
228
  text: `Action ${i + 1}`,
229
229
  id: `${i + 1}`,
230
230
  onClick: action(`Clicked Option Number ${i + 1}`)
231
231
  };
232
- }), onEdit: action('Case View Edit was clicked'), summary: _jsx(CaseSummaryFields, { primaryFields: demoPrimaryFields, secondaryFields: demoSecondaryFields }, void 0), tabs: demoTabs, banners: banners, persistentUtility: persistentUtility, stages: demoStages, tasks: tasksWidget, tabContent: demoTabContent, defaultCollapsedUtilities: defaultCollapsedUtilities, utilities: showUtilities ? (_jsxs(_Fragment, { children: [_jsx(AttachmentsMock, {}, void 0), _jsx(StakeHoldersDemo, {}, void 0), _jsx(MockSummaryList, { icon: 'user-star', name: 'Followers' }, void 0), _jsx(TagsDemo, {}, void 0)] }, void 0)) : (_jsx(AttachmentsMock, {}, void 0)), utilitiesSummaryItems: showUtilities
232
+ }), onEdit: action('Case View Edit was clicked'), summary: _jsx(CaseSummaryFields, { primaryFields: demoPrimaryFields, secondaryFields: demoSecondaryFields }), tabs: demoTabs, banners: banners, persistentUtility: persistentUtility, stages: demoStages, tasks: tasksWidget, tabContent: demoTabContent, defaultCollapsedUtilities: defaultCollapsedUtilities, utilities: showUtilities ? (_jsxs(_Fragment, { children: [_jsx(AttachmentsMock, {}), _jsx(StakeHoldersDemo, {}), _jsx(MockSummaryList, { icon: 'user-star', name: 'Followers' }), _jsx(TagsDemo, {})] })) : (_jsx(AttachmentsMock, {})), utilitiesSummaryItems: showUtilities
233
233
  ? [
234
234
  { iconName: 'paper-clip', count: 4 },
235
235
  { iconName: 'user-search-solid', count: 10 },
236
236
  { iconName: 'user-star-solid', count: 5 },
237
237
  { iconName: 'tag', count: 10 }
238
238
  ]
239
- : [{ iconName: 'paper-clip', count: 4 }] }, void 0)] }, void 0));
239
+ : [{ iconName: 'paper-clip', count: 4 }] })] }));
240
240
  };
241
241
  /*
242
242
  _____ _ _ _ ___ _____ _ _ _
@@ -249,7 +249,7 @@ export const CaseViewDemo = ({ banners, persistentUtility, caseId = 'C-456', par
249
249
  |_| |_|
250
250
  */
251
251
  export const CaseViewWithAppShell = (props) => {
252
- return _jsx(AppShellDemo, { appHeader: true, main: _jsx(CaseViewDemo, { ...props }, void 0) }, void 0);
252
+ return _jsx(AppShellDemo, { appHeader: true, main: _jsx(CaseViewDemo, { ...props }) });
253
253
  };
254
254
  /*
255
255
  _____ _ _ _ _____ _ _
@@ -271,6 +271,6 @@ CaseViewWithAppShell.parameters = {
271
271
  }
272
272
  };
273
273
  export const CaseViewWithChat = (props) => {
274
- return (_jsx(AppShellDemo, { appHeader: true, main: _jsx(CaseViewDemo, { persistentUtility: { content: _jsx(StandardChat, { chatWidth: '100%' }, void 0), title: 'Chat' }, ...props }, void 0) }, void 0));
274
+ return (_jsx(AppShellDemo, { appHeader: true, main: _jsx(CaseViewDemo, { persistentUtility: { content: _jsx(StandardChat, { chatWidth: '100%' }), title: 'Chat' }, ...props }) }));
275
275
  };
276
276
  //# sourceMappingURL=CaseView.stories.js.map