@pega/cosmos-react-work 8.0.0-build.3.2 → 8.0.0-build.30.1

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 (291) hide show
  1. package/lib/components/AppAnnouncement/AppAnnouncement.d.ts +8 -4
  2. package/lib/components/AppAnnouncement/AppAnnouncement.d.ts.map +1 -1
  3. package/lib/components/AppAnnouncement/AppAnnouncement.js +6 -4
  4. package/lib/components/AppAnnouncement/AppAnnouncement.js.map +1 -1
  5. package/lib/components/Article/Article.d.ts +2 -6
  6. package/lib/components/Article/Article.d.ts.map +1 -1
  7. package/lib/components/Article/Article.js +2 -7
  8. package/lib/components/Article/Article.js.map +1 -1
  9. package/lib/components/Article/ArticleMeta.js.map +1 -1
  10. package/lib/components/ArticleList/AIArticleSummary.d.ts +1 -2
  11. package/lib/components/ArticleList/AIArticleSummary.d.ts.map +1 -1
  12. package/lib/components/ArticleList/ArticleBuddy.d.ts.map +1 -1
  13. package/lib/components/ArticleList/ArticleBuddy.js +6 -2
  14. package/lib/components/ArticleList/ArticleBuddy.js.map +1 -1
  15. package/lib/components/ArticleList/ArticleBuddyList.d.ts +0 -1
  16. package/lib/components/ArticleList/ArticleBuddyList.d.ts.map +1 -1
  17. package/lib/components/ArticleList/ArticleBuddyResponse.d.ts +3 -3
  18. package/lib/components/ArticleList/ArticleBuddyResponse.d.ts.map +1 -1
  19. package/lib/components/ArticleList/ArticleBuddyResponse.js +7 -8
  20. package/lib/components/ArticleList/ArticleBuddyResponse.js.map +1 -1
  21. package/lib/components/ArticleList/ArticleFeedback.d.ts +1 -2
  22. package/lib/components/ArticleList/ArticleFeedback.d.ts.map +1 -1
  23. package/lib/components/ArticleList/ArticleFeedback.js.map +1 -1
  24. package/lib/components/ArticleList/ArticleList.d.ts.map +1 -1
  25. package/lib/components/ArticleList/ArticleList.js +1 -1
  26. package/lib/components/ArticleList/ArticleList.js.map +1 -1
  27. package/lib/components/ArticleList/ArticleList.types.d.ts +9 -5
  28. package/lib/components/ArticleList/ArticleList.types.d.ts.map +1 -1
  29. package/lib/components/ArticleList/ArticleList.types.js.map +1 -1
  30. package/lib/components/ArticleList/ArticleListFilter.js.map +1 -1
  31. package/lib/components/ArticleList/ArticleListHeader.d.ts +1 -1
  32. package/lib/components/ArticleList/ArticleListHeader.d.ts.map +1 -1
  33. package/lib/components/ArticleList/ArticleListHeader.js +9 -6
  34. package/lib/components/ArticleList/ArticleListHeader.js.map +1 -1
  35. package/lib/components/ArticleList/ArticleSemanticSearch.d.ts +0 -1
  36. package/lib/components/ArticleList/ArticleSemanticSearch.d.ts.map +1 -1
  37. package/lib/components/ArticleList/ArticleSemanticSearch.js +11 -4
  38. package/lib/components/ArticleList/ArticleSemanticSearch.js.map +1 -1
  39. package/lib/components/ArticleList/ArticleSummaryHeader.js +1 -1
  40. package/lib/components/ArticleList/ArticleSummaryHeader.js.map +1 -1
  41. package/lib/components/ArticleList/ArticleTag.d.ts +0 -1
  42. package/lib/components/ArticleList/ArticleTag.d.ts.map +1 -1
  43. package/lib/components/ArticleList/ArticleTag.js +3 -3
  44. package/lib/components/ArticleList/ArticleTag.js.map +1 -1
  45. package/lib/components/ArticleList/QuestionList.d.ts +1 -2
  46. package/lib/components/ArticleList/QuestionList.d.ts.map +1 -1
  47. package/lib/components/ArticleList/QuestionList.js +1 -1
  48. package/lib/components/ArticleList/QuestionList.js.map +1 -1
  49. package/lib/components/ArticleList/RelatedQuestions.d.ts +19 -0
  50. package/lib/components/ArticleList/RelatedQuestions.d.ts.map +1 -0
  51. package/lib/components/ArticleList/RelatedQuestions.js +40 -0
  52. package/lib/components/ArticleList/RelatedQuestions.js.map +1 -0
  53. package/lib/components/Assignments/Assignments.js +2 -2
  54. package/lib/components/Assignments/Assignments.js.map +1 -1
  55. package/lib/components/Assignments/Assignments.styles.d.ts +3 -4
  56. package/lib/components/Assignments/Assignments.styles.d.ts.map +1 -1
  57. package/lib/components/CasePreview/CasePreview.d.ts +4 -4
  58. package/lib/components/CasePreview/CasePreview.d.ts.map +1 -1
  59. package/lib/components/CasePreview/CasePreview.js +7 -6
  60. package/lib/components/CasePreview/CasePreview.js.map +1 -1
  61. package/lib/components/CasePreview/CasePreview.test-ids.d.ts +1 -1
  62. package/lib/components/CasePreview/CasePreview.test-ids.d.ts.map +1 -1
  63. package/lib/components/CaseView/CaseHeader/CaseHeader.d.ts.map +1 -1
  64. package/lib/components/CaseView/CaseHeader/CaseHeader.js +4 -3
  65. package/lib/components/CaseView/CaseHeader/CaseHeader.js.map +1 -1
  66. package/lib/components/CaseView/CaseHeader/Summary.d.ts +1 -1
  67. package/lib/components/CaseView/CaseHeader/Summary.d.ts.map +1 -1
  68. package/lib/components/CaseView/CaseHeader/Summary.js.map +1 -1
  69. package/lib/components/CaseView/CaseView.context.d.ts +0 -1
  70. package/lib/components/CaseView/CaseView.context.d.ts.map +1 -1
  71. package/lib/components/CaseView/CaseView.d.ts +1 -1
  72. package/lib/components/CaseView/CaseView.d.ts.map +1 -1
  73. package/lib/components/CaseView/CaseView.js +15 -15
  74. package/lib/components/CaseView/CaseView.js.map +1 -1
  75. package/lib/components/CaseView/CaseView.styles.d.ts +14 -14
  76. package/lib/components/CaseView/CaseView.styles.d.ts.map +1 -1
  77. package/lib/components/CaseView/CaseView.styles.js +224 -100
  78. package/lib/components/CaseView/CaseView.styles.js.map +1 -1
  79. package/lib/components/CaseView/CaseView.test-ids.d.ts +1 -1
  80. package/lib/components/CaseView/CaseView.test-ids.d.ts.map +1 -1
  81. package/lib/components/CaseView/CaseView.types.d.ts +8 -2
  82. package/lib/components/CaseView/CaseView.types.d.ts.map +1 -1
  83. package/lib/components/CaseView/CaseView.types.js.map +1 -1
  84. package/lib/components/CaseView/UtilitiesSummary.d.ts +1 -0
  85. package/lib/components/CaseView/UtilitiesSummary.d.ts.map +1 -1
  86. package/lib/components/CaseView/UtilitiesSummary.js +61 -5
  87. package/lib/components/CaseView/UtilitiesSummary.js.map +1 -1
  88. package/lib/components/CaseView/UtilitySummaryItemDialog.d.ts +0 -1
  89. package/lib/components/CaseView/UtilitySummaryItemDialog.d.ts.map +1 -1
  90. package/lib/components/CaseView/UtilitySummaryItemDialog.js +1 -1
  91. package/lib/components/CaseView/UtilitySummaryItemDialog.js.map +1 -1
  92. package/lib/components/CaseView/index.d.ts +1 -1
  93. package/lib/components/CaseView/index.d.ts.map +1 -1
  94. package/lib/components/CaseView/index.js.map +1 -1
  95. package/lib/components/ConfigurableLayout/ConfigurableLayout.d.ts +0 -1
  96. package/lib/components/ConfigurableLayout/ConfigurableLayout.d.ts.map +1 -1
  97. package/lib/components/ConfigurableLayout/ConfigurableLayout.js.map +1 -1
  98. package/lib/components/ConfigurableLayout/ConfigurableLayout.types.d.ts +0 -1
  99. package/lib/components/ConfigurableLayout/ConfigurableLayout.types.d.ts.map +1 -1
  100. package/lib/components/ConfigurableLayout/LayoutCell.d.ts +1 -2
  101. package/lib/components/ConfigurableLayout/LayoutCell.d.ts.map +1 -1
  102. package/lib/components/ConfigurableLayout/LayoutCell.js.map +1 -1
  103. package/lib/components/ConfigurableLayout/useTrackWrappedRegions.d.ts.map +1 -1
  104. package/lib/components/ConfigurableLayout/useTrackWrappedRegions.js.map +1 -1
  105. package/lib/components/Confirmation/Confirmation.d.ts +3 -3
  106. package/lib/components/Confirmation/Confirmation.d.ts.map +1 -1
  107. package/lib/components/Confirmation/Confirmation.js.map +1 -1
  108. package/lib/components/Details/Details.d.ts +4 -4
  109. package/lib/components/Details/Details.d.ts.map +1 -1
  110. package/lib/components/Details/Details.js +2 -2
  111. package/lib/components/Details/Details.js.map +1 -1
  112. package/lib/components/Details/Details.styles.d.ts +1 -1
  113. package/lib/components/Details/Details.styles.d.ts.map +1 -1
  114. package/lib/components/Details/Details.styles.js +17 -4
  115. package/lib/components/Details/Details.styles.js.map +1 -1
  116. package/lib/components/Details/Details.test-ids.d.ts +1 -1
  117. package/lib/components/Details/Details.test-ids.d.ts.map +1 -1
  118. package/lib/components/Details/DetailsContext.d.ts +0 -1
  119. package/lib/components/Details/DetailsContext.d.ts.map +1 -1
  120. package/lib/components/GenAICoach/GenAICoach.d.ts +1 -1
  121. package/lib/components/GenAICoach/GenAICoach.d.ts.map +1 -1
  122. package/lib/components/GenAICoach/GenAICoach.js +35 -45
  123. package/lib/components/GenAICoach/GenAICoach.js.map +1 -1
  124. package/lib/components/GenAICoach/GenAICoach.styles.d.ts +9 -14
  125. package/lib/components/GenAICoach/GenAICoach.styles.d.ts.map +1 -1
  126. package/lib/components/GenAICoach/GenAICoach.styles.js +18 -44
  127. package/lib/components/GenAICoach/GenAICoach.styles.js.map +1 -1
  128. package/lib/components/GenAICoach/GenAICoach.test-ids.d.ts +1 -1
  129. package/lib/components/GenAICoach/GenAICoach.test-ids.d.ts.map +1 -1
  130. package/lib/components/GenAICoach/GenAICoach.test-ids.js +4 -1
  131. package/lib/components/GenAICoach/GenAICoach.test-ids.js.map +1 -1
  132. package/lib/components/GenAICoach/GenAICoach.types.d.ts +14 -6
  133. package/lib/components/GenAICoach/GenAICoach.types.d.ts.map +1 -1
  134. package/lib/components/GenAICoach/GenAICoach.types.js.map +1 -1
  135. package/lib/components/GenAICoach/GenAICoach.utils.d.ts +1 -1
  136. package/lib/components/GenAICoach/GenAICoach.utils.d.ts.map +1 -1
  137. package/lib/components/GenAICoach/GenAIMessage.d.ts.map +1 -1
  138. package/lib/components/GenAICoach/GenAIMessage.js +77 -13
  139. package/lib/components/GenAICoach/GenAIMessage.js.map +1 -1
  140. package/lib/components/GenAICoach/InitialSuggestedMessage.js +1 -1
  141. package/lib/components/GenAICoach/InitialSuggestedMessage.js.map +1 -1
  142. package/lib/components/GenAICoach/index.d.ts +1 -1
  143. package/lib/components/GenAICoach/index.d.ts.map +1 -1
  144. package/lib/components/GenAICoach/index.js.map +1 -1
  145. package/lib/components/Glimpse/Glimpse.d.ts +3 -3
  146. package/lib/components/Glimpse/Glimpse.d.ts.map +1 -1
  147. package/lib/components/Glimpse/Glimpse.js.map +1 -1
  148. package/lib/components/HierarchicalAssignments/AssignmentContext.d.ts +22 -0
  149. package/lib/components/HierarchicalAssignments/AssignmentContext.d.ts.map +1 -0
  150. package/lib/components/HierarchicalAssignments/AssignmentContext.js +12 -0
  151. package/lib/components/HierarchicalAssignments/AssignmentContext.js.map +1 -0
  152. package/lib/components/HierarchicalAssignments/AssignmentDetail.d.ts +4 -2
  153. package/lib/components/HierarchicalAssignments/AssignmentDetail.d.ts.map +1 -1
  154. package/lib/components/HierarchicalAssignments/AssignmentDetail.js +2 -2
  155. package/lib/components/HierarchicalAssignments/AssignmentDetail.js.map +1 -1
  156. package/lib/components/HierarchicalAssignments/AssignmentNode.d.ts +15 -0
  157. package/lib/components/HierarchicalAssignments/AssignmentNode.d.ts.map +1 -0
  158. package/lib/components/HierarchicalAssignments/AssignmentNode.js +28 -0
  159. package/lib/components/HierarchicalAssignments/AssignmentNode.js.map +1 -0
  160. package/lib/components/HierarchicalAssignments/AssignmentTree.d.ts +15 -0
  161. package/lib/components/HierarchicalAssignments/AssignmentTree.d.ts.map +1 -0
  162. package/lib/components/HierarchicalAssignments/AssignmentTree.js +15 -0
  163. package/lib/components/HierarchicalAssignments/AssignmentTree.js.map +1 -0
  164. package/lib/components/HierarchicalAssignments/Assignments.styles.d.ts +32 -31
  165. package/lib/components/HierarchicalAssignments/Assignments.styles.d.ts.map +1 -1
  166. package/lib/components/HierarchicalAssignments/Assignments.styles.js +93 -69
  167. package/lib/components/HierarchicalAssignments/Assignments.styles.js.map +1 -1
  168. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.d.ts +2 -3
  169. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.d.ts.map +1 -1
  170. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.js +90 -8
  171. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.js.map +1 -1
  172. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.d.ts +3 -3
  173. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.d.ts.map +1 -1
  174. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.js +2 -1
  175. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.js.map +1 -1
  176. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.types.d.ts +12 -12
  177. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.types.d.ts.map +1 -1
  178. package/lib/components/HierarchicalAssignments/HierarchicalAssignments.types.js.map +1 -1
  179. package/lib/components/HierarchicalAssignments/helpers.d.ts +20 -0
  180. package/lib/components/HierarchicalAssignments/helpers.d.ts.map +1 -0
  181. package/lib/components/HierarchicalAssignments/helpers.js +164 -0
  182. package/lib/components/HierarchicalAssignments/helpers.js.map +1 -0
  183. package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.d.ts +14 -0
  184. package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.d.ts.map +1 -0
  185. package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.js +86 -0
  186. package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.js.map +1 -0
  187. package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.d.ts +23 -0
  188. package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.d.ts.map +1 -0
  189. package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.js +108 -0
  190. package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.js.map +1 -0
  191. package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.d.ts +24 -0
  192. package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.d.ts.map +1 -0
  193. package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.js +54 -0
  194. package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.js.map +1 -0
  195. package/lib/components/IntelligentGuidance/IntelligentGuidance.d.ts +2 -3
  196. package/lib/components/IntelligentGuidance/IntelligentGuidance.d.ts.map +1 -1
  197. package/lib/components/IntelligentGuidance/IntelligentGuidance.js +5 -2
  198. package/lib/components/IntelligentGuidance/IntelligentGuidance.js.map +1 -1
  199. package/lib/components/IntelligentGuidance/IntelligentGuidance.styles.d.ts +2 -3
  200. package/lib/components/IntelligentGuidance/IntelligentGuidance.styles.d.ts.map +1 -1
  201. package/lib/components/IntelligentGuidance/IntelligentGuidance.styles.js +32 -21
  202. package/lib/components/IntelligentGuidance/IntelligentGuidance.styles.js.map +1 -1
  203. package/lib/components/InteractionNotification/CountdownButton.d.ts +3 -3
  204. package/lib/components/InteractionNotification/CountdownButton.d.ts.map +1 -1
  205. package/lib/components/InteractionNotification/CountdownButton.js +1 -1
  206. package/lib/components/InteractionNotification/CountdownButton.js.map +1 -1
  207. package/lib/components/InteractionNotification/InteractionNotification.d.ts +3 -3
  208. package/lib/components/InteractionNotification/InteractionNotification.d.ts.map +1 -1
  209. package/lib/components/InteractionNotification/InteractionNotification.js +1 -1
  210. package/lib/components/InteractionNotification/InteractionNotification.js.map +1 -1
  211. package/lib/components/Predictions/Predictions.d.ts +2 -3
  212. package/lib/components/Predictions/Predictions.d.ts.map +1 -1
  213. package/lib/components/Predictions/Predictions.js +1 -0
  214. package/lib/components/Predictions/Predictions.js.map +1 -1
  215. package/lib/components/SearchResults/ActiveFilter.d.ts +1 -2
  216. package/lib/components/SearchResults/ActiveFilter.d.ts.map +1 -1
  217. package/lib/components/SearchResults/Filter.d.ts.map +1 -1
  218. package/lib/components/SearchResults/Filter.js.map +1 -1
  219. package/lib/components/SearchResults/SearchResult.d.ts.map +1 -1
  220. package/lib/components/SearchResults/SearchResults.d.ts +2 -3
  221. package/lib/components/SearchResults/SearchResults.d.ts.map +1 -1
  222. package/lib/components/SearchResults/SearchResults.js +1 -2
  223. package/lib/components/SearchResults/SearchResults.js.map +1 -1
  224. package/lib/components/SearchResults/SearchResults.styles.d.ts +1 -2
  225. package/lib/components/SearchResults/SearchResults.styles.d.ts.map +1 -1
  226. package/lib/components/Stages/StageGlimpse.js +1 -1
  227. package/lib/components/Stages/StageGlimpse.js.map +1 -1
  228. package/lib/components/Stages/Stages.d.ts +2 -3
  229. package/lib/components/Stages/Stages.d.ts.map +1 -1
  230. package/lib/components/Stages/Stages.js +4 -1
  231. package/lib/components/Stages/Stages.js.map +1 -1
  232. package/lib/components/Stages/Stages.styles.d.ts +7 -6
  233. package/lib/components/Stages/Stages.styles.d.ts.map +1 -1
  234. package/lib/components/Stages/Stages.styles.js +7 -5
  235. package/lib/components/Stages/Stages.styles.js.map +1 -1
  236. package/lib/components/Stakeholders/StakeholderForm.d.ts +1 -2
  237. package/lib/components/Stakeholders/StakeholderForm.d.ts.map +1 -1
  238. package/lib/components/Stakeholders/StakeholderForm.js.map +1 -1
  239. package/lib/components/Stakeholders/Stakeholders.d.ts +2 -3
  240. package/lib/components/Stakeholders/Stakeholders.d.ts.map +1 -1
  241. package/lib/components/Stakeholders/Stakeholders.js +37 -26
  242. package/lib/components/Stakeholders/Stakeholders.js.map +1 -1
  243. package/lib/components/Tags/Tags.d.ts +5 -5
  244. package/lib/components/Tags/Tags.d.ts.map +1 -1
  245. package/lib/components/Tags/Tags.js.map +1 -1
  246. package/lib/components/Tasks/TaskList.d.ts +13 -8
  247. package/lib/components/Tasks/TaskList.d.ts.map +1 -1
  248. package/lib/components/Tasks/TaskList.js +15 -7
  249. package/lib/components/Tasks/TaskList.js.map +1 -1
  250. package/lib/components/Tasks/Tasks.d.ts +8 -3
  251. package/lib/components/Tasks/Tasks.d.ts.map +1 -1
  252. package/lib/components/Tasks/Tasks.js +14 -4
  253. package/lib/components/Tasks/Tasks.js.map +1 -1
  254. package/lib/components/Tasks/Tasks.test-ids.d.ts +3 -3
  255. package/lib/components/Tasks/Tasks.test-ids.d.ts.map +1 -1
  256. package/lib/components/Timeline/Timeline.d.ts +3 -3
  257. package/lib/components/Timeline/Timeline.d.ts.map +1 -1
  258. package/lib/components/Timeline/Timeline.js +9 -2
  259. package/lib/components/Timeline/Timeline.js.map +1 -1
  260. package/lib/components/Timeline/Timeline.styles.d.ts +5 -6
  261. package/lib/components/Timeline/Timeline.styles.d.ts.map +1 -1
  262. package/lib/components/Timeline/Timeline.styles.js +8 -3
  263. package/lib/components/Timeline/Timeline.styles.js.map +1 -1
  264. package/lib/components/Timeline/Timeline.types.d.ts +11 -1
  265. package/lib/components/Timeline/Timeline.types.d.ts.map +1 -1
  266. package/lib/components/Timeline/Timeline.types.js.map +1 -1
  267. package/lib/components/Timeline/TimelineItem.d.ts +1 -2
  268. package/lib/components/Timeline/TimelineItem.d.ts.map +1 -1
  269. package/lib/components/Timeline/TimelineItem.js +10 -9
  270. package/lib/components/Timeline/TimelineItem.js.map +1 -1
  271. package/lib/components/Timeline/TimelineToolbar.d.ts +2 -3
  272. package/lib/components/Timeline/TimelineToolbar.d.ts.map +1 -1
  273. package/lib/components/Timeline/TimelineToolbar.js.map +1 -1
  274. package/lib/components/Timeline/utils.js.map +1 -1
  275. package/lib/components/UtilitiesLayout/UtilitiesLayout.d.ts +5 -0
  276. package/lib/components/UtilitiesLayout/UtilitiesLayout.d.ts.map +1 -1
  277. package/lib/components/UtilitiesLayout/UtilitiesLayout.js +3 -3
  278. package/lib/components/UtilitiesLayout/UtilitiesLayout.js.map +1 -1
  279. package/lib/components/UtilitiesLayout/UtilitiesLayout.styles.d.ts +2 -4
  280. package/lib/components/UtilitiesLayout/UtilitiesLayout.styles.d.ts.map +1 -1
  281. package/lib/components/UtilitiesLayout/UtilitiesLayout.styles.js +2 -5
  282. package/lib/components/UtilitiesLayout/UtilitiesLayout.styles.js.map +1 -1
  283. package/package.json +10 -9
  284. package/lib/components/HierarchicalAssignments/AssignmentContainer.d.ts +0 -33
  285. package/lib/components/HierarchicalAssignments/AssignmentContainer.d.ts.map +0 -1
  286. package/lib/components/HierarchicalAssignments/AssignmentContainer.js +0 -46
  287. package/lib/components/HierarchicalAssignments/AssignmentContainer.js.map +0 -1
  288. package/lib/components/HierarchicalAssignments/AssignmentItem.d.ts +0 -11
  289. package/lib/components/HierarchicalAssignments/AssignmentItem.d.ts.map +0 -1
  290. package/lib/components/HierarchicalAssignments/AssignmentItem.js +0 -22
  291. package/lib/components/HierarchicalAssignments/AssignmentItem.js.map +0 -1
@@ -1,10 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { forwardRef, useRef } from 'react';
2
+ import { useState, forwardRef, useRef, useCallback, useMemo } from 'react';
3
3
  import { CardHeader, useI18n, Icon, Text, Flex, useUID, Progress, useTestIds, withTestIds, useBreakpoint, ExpandCollapse } from '@pega/cosmos-react-core';
4
4
  import { TaskItem } from '../Tasks/TaskList';
5
- import { StyledAssignments, StyledExpandButton as StyledTitleExpandButton, StyledParentExpandCollapse } from './Assignments.styles';
6
- import AssignmentContainer from './AssignmentContainer';
5
+ import { StyledAssignments, StyledExpandButton as StyledTitleExpandButton } from './Assignments.styles';
7
6
  import { getHierarchicalAssignmentsTestIds } from './HierarchicalAssignments.test-ids';
7
+ import AssignmentTreeContext from './AssignmentContext';
8
+ import AssignmentTree from './AssignmentTree';
9
+ import { getNextNode, getPreviousNode, getParentNode, getFirstChildNode, getDeepestNode } from './helpers';
8
10
  const HierarchicalAssignments = forwardRef(({ assignments, childCases, collapsed = false, onToggleCollapsed, openItem, progress, name, testId }, ref) => {
9
11
  const t = useI18n();
10
12
  const id = useUID();
@@ -12,22 +14,102 @@ const HierarchicalAssignments = forwardRef(({ assignments, childCases, collapsed
12
14
  const containerRef = useRef(null);
13
15
  const isMediumOrAbove = useBreakpoint('sm', { breakpointRef: containerRef });
14
16
  const open = !collapsed;
17
+ const [focusedNodeId, setFocusedNodeId] = useState();
18
+ const parentRef = useRef(null);
19
+ const [caseIdExpandList, setCaseIdExpandList] = useState([]);
15
20
  const header = (_jsxs(Flex, { container: { alignItems: 'center', gap: 1 }, children: [_jsx(Icon, { name: 'caret-right' }), _jsx(Text, { variant: 'h2', children: name ?? t('assignments') })] }));
16
- const findFirstLeaf = () => {
21
+ const firstNode = useMemo(() => {
17
22
  if (assignments?.length) {
18
23
  return assignments[0].id;
19
24
  }
20
25
  if (childCases?.length) {
21
26
  return childCases[0].id;
22
27
  }
23
- };
28
+ }, [assignments, childCases]);
24
29
  const showAssignmentList = !!(assignments?.length || childCases?.length);
30
+ const lastNodeId = useMemo(() => {
31
+ const nodeList = {
32
+ assignments: assignments?.length ? assignments : [],
33
+ childCases: childCases?.length ? childCases : []
34
+ };
35
+ const nodes = [...nodeList.assignments, ...nodeList.childCases];
36
+ return getDeepestNode(nodeList, nodes[nodes.length - 1]?.id, caseIdExpandList)?.id;
37
+ }, [assignments, childCases, caseIdExpandList]);
38
+ const changeFocusHandler = useCallback((nodeId, key, expandList) => {
39
+ const nodeList = {
40
+ assignments: assignments?.length ? assignments : [],
41
+ childCases: childCases?.length ? childCases : []
42
+ };
43
+ const expandedChildCase = expandList?.length ? expandList : [];
44
+ switch (key) {
45
+ case 'down': {
46
+ const nextNode = getNextNode(nodeList, nodeId, expandedChildCase);
47
+ if (nextNode) {
48
+ setFocusedNodeId(nextNode?.id);
49
+ }
50
+ break;
51
+ }
52
+ case 'up': {
53
+ const previousNode = getPreviousNode(nodeList, nodeId, expandedChildCase);
54
+ if (previousNode) {
55
+ setFocusedNodeId(previousNode?.id);
56
+ }
57
+ break;
58
+ }
59
+ case 'left': {
60
+ const parentNode = getParentNode(nodeList, nodeId);
61
+ if (parentNode) {
62
+ setFocusedNodeId(parentNode.id);
63
+ }
64
+ break;
65
+ }
66
+ case 'right': {
67
+ const childNode = getFirstChildNode(nodeList, nodeId, expandedChildCase);
68
+ if (childNode) {
69
+ setFocusedNodeId(childNode.id);
70
+ }
71
+ break;
72
+ }
73
+ default:
74
+ if (nodeId !== focusedNodeId)
75
+ setFocusedNodeId(nodeId);
76
+ break;
77
+ }
78
+ }, [assignments, childCases, focusedNodeId]);
79
+ const assignmentContextValue = useMemo(() => {
80
+ return {
81
+ firstNodeId: firstNode,
82
+ lastNodeId,
83
+ focusedNodeId,
84
+ changeFocusHandler,
85
+ caseIdExpandList,
86
+ isMediumOrAbove,
87
+ parentRef
88
+ };
89
+ }, [
90
+ firstNode,
91
+ changeFocusHandler,
92
+ focusedNodeId,
93
+ caseIdExpandList,
94
+ lastNodeId,
95
+ isMediumOrAbove
96
+ ]);
97
+ const childCaseToggleHandler = (value, selectedCaseId) => {
98
+ if (value) {
99
+ setCaseIdExpandList(prevState => [...prevState, selectedCaseId]);
100
+ }
101
+ else {
102
+ setCaseIdExpandList(prevState => {
103
+ return prevState.filter(caseId => caseId !== selectedCaseId);
104
+ });
105
+ }
106
+ };
25
107
  if (openItem?.content) {
26
- return (_jsx(StyledAssignments, { "data-testid": testIds.root, ref: ref, expanded: true, children: _jsx(TaskItem, { ...openItem }) }));
108
+ return (_jsx(StyledAssignments, { "data-testid": testIds.root, ref: ref, expanded: true, children: _jsx(TaskItem, { ...openItem, headingTag: 'h2' }) }));
27
109
  }
28
- return (_jsx(_Fragment, { children: showAssignmentList && (_jsx(StyledAssignments, { "data-testid": testIds.root, ref: ref, expanded: open, children: _jsxs(_Fragment, { children: [_jsx(CardHeader, { container: { justify: 'start', alignItems: 'center', gap: 1 }, children: _jsx(StyledTitleExpandButton, { "data-testid": testIds.toggleAction, type: 'button', variant: 'text', onClick: () => {
110
+ return (_jsx(_Fragment, { children: showAssignmentList && (_jsx(StyledAssignments, { "data-testid": testIds.root, ref: ref, expanded: open, children: _jsxs(_Fragment, { children: [_jsx(CardHeader, { ref: containerRef, container: { justify: 'start', alignItems: 'center', gap: 1 }, children: _jsx(StyledTitleExpandButton, { "data-testid": testIds.toggleAction, type: 'button', variant: 'text', onClick: () => {
29
111
  onToggleCollapsed?.(!collapsed);
30
- }, "aria-controls": id, "aria-expanded": open, "aria-label": name || t('assignments'), children: header }) }), open && (_jsx(ExpandCollapse, { as: StyledParentExpandCollapse, ref: containerRef, collapsed: collapsed, role: 'tree', id: id, children: progress ? (_jsx(Progress, { focusOnVisible: true, delay: true, placement: 'block', message: t('loading') })) : (_jsx(AssignmentContainer, { assignments: assignments, childCases: childCases, depth: 0, collapsed: true, firstItemId: findFirstLeaf(), isMediumOrAbove: isMediumOrAbove })) }))] }) })) }));
112
+ }, "aria-controls": id, "aria-expanded": open, "aria-label": name || t('assignments'), children: header }) }), open && (_jsx(ExpandCollapse, { id: id, collapsed: collapsed, children: progress ? (_jsx(Progress, { focusOnVisible: true, delay: true, placement: 'block', message: t('loading') })) : (_jsx(AssignmentTreeContext.Provider, { value: assignmentContextValue, children: _jsx(AssignmentTree, { assignments: assignments, childCases: childCases, childCaseToggleHandler: childCaseToggleHandler, ref: parentRef }) })) }))] }) })) }));
31
113
  });
32
114
  export default withTestIds(HierarchicalAssignments, getHierarchicalAssignmentsTestIds);
33
115
  //# sourceMappingURL=HierarchicalAssignments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalAssignments.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useRef } from 'react';\nimport type { FC } from 'react';\n\nimport {\n CardHeader,\n useI18n,\n Icon,\n Text,\n Flex,\n useUID,\n Progress,\n useTestIds,\n withTestIds,\n useBreakpoint,\n ExpandCollapse\n} from '@pega/cosmos-react-core';\n\nimport { TaskItem } from '../Tasks/TaskList';\n\nimport {\n StyledAssignments,\n StyledExpandButton as StyledTitleExpandButton,\n StyledParentExpandCollapse\n} from './Assignments.styles';\nimport type { HierarchicalAssignmentProps } from './HierarchicalAssignments.types';\nimport AssignmentContainer from './AssignmentContainer';\nimport { getHierarchicalAssignmentsTestIds } from './HierarchicalAssignments.test-ids';\n\nconst HierarchicalAssignments: FC<HierarchicalAssignmentProps> = forwardRef(\n (\n {\n assignments,\n childCases,\n collapsed = false,\n onToggleCollapsed,\n openItem,\n progress,\n name,\n testId\n },\n ref: HierarchicalAssignmentProps['ref']\n ) => {\n const t = useI18n();\n const id = useUID();\n const testIds = useTestIds(testId, getHierarchicalAssignmentsTestIds);\n const containerRef = useRef<HTMLDivElement>(null);\n const isMediumOrAbove = useBreakpoint('sm', { breakpointRef: containerRef });\n const open = !collapsed;\n\n const header = (\n <Flex container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='caret-right' />\n <Text variant='h2'>{name ?? t('assignments')}</Text>\n </Flex>\n );\n\n const findFirstLeaf = () => {\n if (assignments?.length) {\n return assignments[0].id;\n }\n if (childCases?.length) {\n return childCases[0].id;\n }\n };\n\n const showAssignmentList = !!(assignments?.length || childCases?.length);\n\n if (openItem?.content) {\n return (\n <StyledAssignments data-testid={testIds.root} ref={ref} expanded>\n <TaskItem {...openItem} />\n </StyledAssignments>\n );\n }\n\n return (\n <>\n {showAssignmentList && (\n <StyledAssignments data-testid={testIds.root} ref={ref} expanded={open}>\n <>\n <CardHeader container={{ justify: 'start', alignItems: 'center', gap: 1 }}>\n <StyledTitleExpandButton\n data-testid={testIds.toggleAction}\n type='button'\n variant='text'\n onClick={() => {\n onToggleCollapsed?.(!collapsed);\n }}\n aria-controls={id}\n aria-expanded={open}\n aria-label={name || t('assignments')}\n >\n {header}\n </StyledTitleExpandButton>\n </CardHeader>\n {open && (\n <ExpandCollapse\n as={StyledParentExpandCollapse}\n ref={containerRef}\n collapsed={collapsed}\n role='tree'\n id={id}\n >\n {progress ? (\n <Progress focusOnVisible delay placement='block' message={t('loading')} />\n ) : (\n <AssignmentContainer\n assignments={assignments}\n childCases={childCases}\n depth={0}\n collapsed\n firstItemId={findFirstLeaf()}\n isMediumOrAbove={isMediumOrAbove}\n />\n )}\n </ExpandCollapse>\n )}\n </>\n </StyledAssignments>\n )}\n </>\n );\n }\n);\n\nexport default withTestIds(HierarchicalAssignments, getHierarchicalAssignmentsTestIds);\n"]}
1
+ {"version":3,"file":"HierarchicalAssignments.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, forwardRef, useRef, useCallback, useMemo } from 'react';\nimport type { PropsWithoutRef } from 'react';\n\nimport {\n CardHeader,\n useI18n,\n Icon,\n Text,\n Flex,\n useUID,\n Progress,\n useTestIds,\n withTestIds,\n useBreakpoint,\n ExpandCollapse\n} from '@pega/cosmos-react-core';\n\nimport { TaskItem } from '../Tasks/TaskList';\n\nimport {\n StyledAssignments,\n StyledExpandButton as StyledTitleExpandButton\n} from './Assignments.styles';\nimport type { HierarchicalAssignmentProps, CaseListProps } from './HierarchicalAssignments.types';\nimport { getHierarchicalAssignmentsTestIds } from './HierarchicalAssignments.test-ids';\nimport AssignmentTreeContext from './AssignmentContext';\nimport AssignmentTree from './AssignmentTree';\nimport {\n getNextNode,\n getPreviousNode,\n getParentNode,\n getFirstChildNode,\n getDeepestNode\n} from './helpers';\n\nconst HierarchicalAssignments = forwardRef(\n (\n {\n assignments,\n childCases,\n collapsed = false,\n onToggleCollapsed,\n openItem,\n progress,\n name,\n testId\n }: PropsWithoutRef<HierarchicalAssignmentProps>,\n ref: HierarchicalAssignmentProps['ref']\n ) => {\n const t = useI18n();\n const id = useUID();\n const testIds = useTestIds(testId, getHierarchicalAssignmentsTestIds);\n const containerRef = useRef<HTMLDivElement>(null);\n const isMediumOrAbove = useBreakpoint('sm', { breakpointRef: containerRef });\n const open = !collapsed;\n const [focusedNodeId, setFocusedNodeId] = useState<string>();\n const parentRef = useRef<HTMLUListElement>(null);\n const [caseIdExpandList, setCaseIdExpandList] = useState<CaseListProps['id'][]>([]);\n\n const header = (\n <Flex container={{ alignItems: 'center', gap: 1 }}>\n <Icon name='caret-right' />\n <Text variant='h2'>{name ?? t('assignments')}</Text>\n </Flex>\n );\n\n const firstNode = useMemo(() => {\n if (assignments?.length) {\n return assignments[0].id;\n }\n if (childCases?.length) {\n return childCases[0].id;\n }\n }, [assignments, childCases]);\n\n const showAssignmentList = !!(assignments?.length || childCases?.length);\n const lastNodeId = useMemo(() => {\n const nodeList = {\n assignments: assignments?.length ? assignments : [],\n childCases: childCases?.length ? childCases : []\n };\n const nodes = [...nodeList.assignments, ...nodeList.childCases];\n return getDeepestNode(nodeList, nodes[nodes.length - 1]?.id, caseIdExpandList)?.id;\n }, [assignments, childCases, caseIdExpandList]);\n\n const changeFocusHandler = useCallback(\n (nodeId: string, key?: string, expandList?: string[]) => {\n const nodeList = {\n assignments: assignments?.length ? assignments : [],\n childCases: childCases?.length ? childCases : []\n };\n const expandedChildCase = expandList?.length ? expandList : [];\n switch (key) {\n case 'down': {\n const nextNode = getNextNode(nodeList, nodeId, expandedChildCase);\n if (nextNode) {\n setFocusedNodeId(nextNode?.id);\n }\n break;\n }\n case 'up': {\n const previousNode = getPreviousNode(nodeList, nodeId, expandedChildCase);\n if (previousNode) {\n setFocusedNodeId(previousNode?.id);\n }\n break;\n }\n case 'left': {\n const parentNode = getParentNode(nodeList, nodeId);\n if (parentNode) {\n setFocusedNodeId(parentNode.id);\n }\n break;\n }\n case 'right': {\n const childNode = getFirstChildNode(nodeList, nodeId, expandedChildCase);\n if (childNode) {\n setFocusedNodeId(childNode.id);\n }\n break;\n }\n default:\n if (nodeId !== focusedNodeId) setFocusedNodeId(nodeId);\n break;\n }\n },\n [assignments, childCases, focusedNodeId]\n );\n\n const assignmentContextValue = useMemo(() => {\n return {\n firstNodeId: firstNode,\n lastNodeId,\n focusedNodeId,\n changeFocusHandler,\n caseIdExpandList,\n isMediumOrAbove,\n parentRef\n };\n }, [\n firstNode,\n changeFocusHandler,\n focusedNodeId,\n caseIdExpandList,\n lastNodeId,\n isMediumOrAbove\n ]);\n\n const childCaseToggleHandler = (value: boolean, selectedCaseId: CaseListProps['id']) => {\n if (value) {\n setCaseIdExpandList(prevState => [...prevState, selectedCaseId]);\n } else {\n setCaseIdExpandList(prevState => {\n return prevState.filter(caseId => caseId !== selectedCaseId);\n });\n }\n };\n\n if (openItem?.content) {\n return (\n <StyledAssignments data-testid={testIds.root} ref={ref} expanded>\n <TaskItem {...openItem} headingTag='h2' />\n </StyledAssignments>\n );\n }\n\n return (\n <>\n {showAssignmentList && (\n <StyledAssignments data-testid={testIds.root} ref={ref} expanded={open}>\n <>\n <CardHeader\n ref={containerRef}\n container={{ justify: 'start', alignItems: 'center', gap: 1 }}\n >\n <StyledTitleExpandButton\n data-testid={testIds.toggleAction}\n type='button'\n variant='text'\n onClick={() => {\n onToggleCollapsed?.(!collapsed);\n }}\n aria-controls={id}\n aria-expanded={open}\n aria-label={name || t('assignments')}\n >\n {header}\n </StyledTitleExpandButton>\n </CardHeader>\n {open && (\n <ExpandCollapse id={id} collapsed={collapsed}>\n {progress ? (\n <Progress focusOnVisible delay placement='block' message={t('loading')} />\n ) : (\n <AssignmentTreeContext.Provider value={assignmentContextValue}>\n <AssignmentTree\n assignments={assignments}\n childCases={childCases}\n childCaseToggleHandler={childCaseToggleHandler}\n ref={parentRef}\n />\n </AssignmentTreeContext.Provider>\n )}\n </ExpandCollapse>\n )}\n </>\n </StyledAssignments>\n )}\n </>\n );\n }\n);\n\nexport default withTestIds(HierarchicalAssignments, getHierarchicalAssignmentsTestIds);\n"]}
@@ -1,4 +1,4 @@
1
- export declare const getHierarchicalAssignmentsTestIds: (testIdProp?: string | null | undefined) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["toggle-action"]>;
2
- export declare const getAssignmentTestIds: (testIdProp?: string | null | undefined) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["label", "assignee", "urgency", "action"]>;
3
- export declare const getCaseTestIds: (testIdProp?: string | null | undefined) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["toggle-action", "label", "id", "status"]>;
1
+ export declare const getHierarchicalAssignmentsTestIds: (testIdProp?: import("@pega/cosmos-react-core").TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["toggle-action"]>;
2
+ export declare const getAssignmentTestIds: (testIdProp?: import("@pega/cosmos-react-core").TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["label", "assignee", "urgency", "action", "sla"]>;
3
+ export declare const getCaseTestIds: (testIdProp?: import("@pega/cosmos-react-core").TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["toggle-action", "label", "id", "status"]>;
4
4
  //# sourceMappingURL=HierarchicalAssignments.test-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalAssignments.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iCAAiC,yHAEnC,CAAC;AAEZ,eAAO,MAAM,oBAAoB,kJAKtB,CAAC;AAEZ,eAAO,MAAM,cAAc,kJAKhB,CAAC"}
1
+ {"version":3,"file":"HierarchicalAssignments.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iCAAiC,sJAEnC,CAAC;AAEZ,eAAO,MAAM,oBAAoB,sLAMtB,CAAC;AAEZ,eAAO,MAAM,cAAc,+KAKhB,CAAC"}
@@ -6,7 +6,8 @@ export const getAssignmentTestIds = createTestIds('assignment', [
6
6
  'label',
7
7
  'assignee',
8
8
  'urgency',
9
- 'action'
9
+ 'action',
10
+ 'sla'
10
11
  ]);
11
12
  export const getCaseTestIds = createTestIds('case', [
12
13
  'toggle-action',
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalAssignments.test-ids.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,MAAM,iCAAiC,GAAG,aAAa,CAAC,0BAA0B,EAAE;IACzF,eAAe;CACP,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,YAAY,EAAE;IAC9D,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;CACA,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE;IAClD,eAAe;IACf,OAAO;IACP,IAAI;IACJ,QAAQ;CACA,CAAC,CAAC","sourcesContent":["import { createTestIds } from '@pega/cosmos-react-core';\n\nexport const getHierarchicalAssignmentsTestIds = createTestIds('hierarchical-assignments', [\n 'toggle-action'\n] as const);\n\nexport const getAssignmentTestIds = createTestIds('assignment', [\n 'label',\n 'assignee',\n 'urgency',\n 'action'\n] as const);\n\nexport const getCaseTestIds = createTestIds('case', [\n 'toggle-action',\n 'label',\n 'id',\n 'status'\n] as const);\n"]}
1
+ {"version":3,"file":"HierarchicalAssignments.test-ids.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,MAAM,iCAAiC,GAAG,aAAa,CAAC,0BAA0B,EAAE;IACzF,eAAe;CACP,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,YAAY,EAAE;IAC9D,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,KAAK;CACG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE;IAClD,eAAe;IACf,OAAO;IACP,IAAI;IACJ,QAAQ;CACA,CAAC,CAAC","sourcesContent":["import { createTestIds } from '@pega/cosmos-react-core';\n\nexport const getHierarchicalAssignmentsTestIds = createTestIds('hierarchical-assignments', [\n 'toggle-action'\n] as const);\n\nexport const getAssignmentTestIds = createTestIds('assignment', [\n 'label',\n 'assignee',\n 'urgency',\n 'action',\n 'sla'\n] as const);\n\nexport const getCaseTestIds = createTestIds('case', [\n 'toggle-action',\n 'label',\n 'id',\n 'status'\n] as const);\n"]}
@@ -1,13 +1,15 @@
1
1
  import type { MouseEvent, Ref } from 'react';
2
2
  import type { LinkProps, NoChildrenProp, OmitStrict, StatusProps, TestIdProp } from '@pega/cosmos-react-core';
3
- import type { GlimpseProps, TaskItemProps } from '@pega/cosmos-react-work';
4
- export interface AssignmentProps extends TestIdProp {
3
+ import type { TaskItemProps } from '@pega/cosmos-react-work';
4
+ export interface AssignmentProps {
5
5
  /** Unique Id of the assignment */
6
6
  id: string;
7
7
  /** Assignment name shown in Assignment's description */
8
8
  name: string;
9
9
  /** Process Name for the assignment. */
10
10
  processName?: string;
11
+ /** Service Level Agreement for the assignment. */
12
+ sla?: string;
11
13
  /** Number to defined the Urgency of assignment */
12
14
  urgency: number;
13
15
  /** Assignee's Id, passed on callback of onAssigneeClick */
@@ -24,15 +26,10 @@ export interface ItemsProps extends NoChildrenProp {
24
26
  assignments?: AssignmentProps[];
25
27
  /** An array of child cases to be rendered as case details */
26
28
  childCases?: CaseListProps[];
27
- /**
28
- * Boolean that refers the state of the ExpandButton.
29
- * @default false
30
- */
31
- collapsed?: boolean;
32
- /** Callback on toggle of ExpandCollapseButton of each Case */
33
- onToggleCollapsed?: (collapsed: boolean, id: string) => void;
29
+ /** Callback on toggle of ExpandCollapseButton of each Case, with arguments current expanded state of toggler and case id */
30
+ onToggleCollapsed?: (value: boolean, id: string) => void;
34
31
  }
35
- export interface CaseListProps extends NoChildrenProp, ItemsProps, TestIdProp {
32
+ export interface CaseListProps extends NoChildrenProp, ItemsProps {
36
33
  /** Name of the task group displayed in the list. */
37
34
  name: string;
38
35
  /** Unique Id of the childcase */
@@ -59,8 +56,11 @@ export interface HierarchicalAssignmentProps extends OmitStrict<ItemsProps, 'onT
59
56
  progress?: boolean;
60
57
  /** Task Content to be rendered on click of Go Action button */
61
58
  openItem?: TaskItemProps;
62
- /** Meta details to Render the Glimpse component to show the Assignee details */
63
- assigneeProfile?: GlimpseProps;
59
+ /**
60
+ * Boolean that refers the state of the ExpandButton.
61
+ * @default false
62
+ */
63
+ collapsed?: boolean;
64
64
  /** Callback on toggle of Top level ExpandCollapseButton */
65
65
  onToggleCollapsed: (collapsed: boolean) => void;
66
66
  /** Ref placed on the element. */
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalAssignments.types.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,eAAe,EAAE,CACf,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,EACzC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAC7B,IAAI,CAAC;IACV,wCAAwC;IACxC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAChF;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,0EAA0E;IAC1E,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,UAAU,EAAE,UAAU;IAC3E,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;IACF,mDAAmD;IACnD,IAAI,EAAE;QACJ,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,2BACf,SAAQ,UAAU,CAAC,UAAU,EAAE,mBAAmB,CAAC,EACjD,UAAU;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gFAAgF;IAChF,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,2DAA2D;IAC3D,iBAAiB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,iCAAiC;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"HierarchicalAssignments.types.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,eAAe,EAAE,CACf,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,EACzC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAC7B,IAAI,CAAC;IACV,wCAAwC;IACxC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAChF;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,0EAA0E;IAC1E,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,4HAA4H;IAC5H,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AACD,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,UAAU;IAC/D,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;IACF,mDAAmD;IACnD,IAAI,EAAE;QACJ,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,2BACf,SAAQ,UAAU,CAAC,UAAU,EAAE,mBAAmB,CAAC,EACjD,UAAU;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,iBAAiB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,iCAAiC;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalAssignments.types.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MouseEvent, Ref } from 'react';\n\nimport type {\n LinkProps,\n NoChildrenProp,\n OmitStrict,\n StatusProps,\n TestIdProp\n} from '@pega/cosmos-react-core';\nimport type { GlimpseProps, TaskItemProps } from '@pega/cosmos-react-work';\n\nexport interface AssignmentProps extends TestIdProp {\n /** Unique Id of the assignment */\n id: string;\n /** Assignment name shown in Assignment's description */\n name: string;\n /** Process Name for the assignment. */\n processName?: string;\n /** Number to defined the Urgency of assignment */\n urgency: number;\n /** Assignee's Id, passed on callback of onAssigneeClick */\n assigneeId: string;\n /** Assignee's Name of the assignment */\n assigneeName: string;\n /** Callback fired when click of Assignee Name to show Glimpse component */\n onAssigneeClick: (\n assigneeId: AssignmentProps['assigneeId'],\n e: MouseEvent<HTMLButtonElement>\n ) => void;\n /** Callback fired from the Go button */\n onOpen?: (id: AssignmentProps['id'], e: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport interface ItemsProps extends NoChildrenProp {\n /** An array of assignment details to be rendered as Assignment details */\n assignments?: AssignmentProps[];\n /** An array of child cases to be rendered as case details */\n childCases?: CaseListProps[];\n /**\n * Boolean that refers the state of the ExpandButton.\n * @default false\n */\n collapsed?: boolean;\n /** Callback on toggle of ExpandCollapseButton of each Case */\n onToggleCollapsed?: (collapsed: boolean, id: string) => void;\n}\n\nexport interface CaseListProps extends NoChildrenProp, ItemsProps, TestIdProp {\n /** Name of the task group displayed in the list. */\n name: string;\n /** Unique Id of the childcase */\n id: string;\n /** status details for the case */\n status: {\n text: string;\n variant: StatusProps['variant'];\n };\n /** Meta details of link to navigate to the case */\n link: {\n onPreview: LinkProps['onPreview'];\n href: LinkProps['href'];\n target?: LinkProps['target'];\n };\n}\n\nexport interface HierarchicalAssignmentProps\n extends OmitStrict<ItemsProps, 'onToggleCollapsed'>,\n TestIdProp {\n /**\n * Hierarchical Assignment widget's title\n * @default 'Assignment'\n */\n name?: string;\n /** Boolean refers to state of the progress in assignment widget */\n progress?: boolean;\n /** Task Content to be rendered on click of Go Action button */\n openItem?: TaskItemProps;\n /** Meta details to Render the Glimpse component to show the Assignee details */\n assigneeProfile?: GlimpseProps;\n /** Callback on toggle of Top level ExpandCollapseButton */\n onToggleCollapsed: (collapsed: boolean) => void;\n /** Ref placed on the element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
1
+ {"version":3,"file":"HierarchicalAssignments.types.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/HierarchicalAssignments.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MouseEvent, Ref } from 'react';\n\nimport type {\n LinkProps,\n NoChildrenProp,\n OmitStrict,\n StatusProps,\n TestIdProp\n} from '@pega/cosmos-react-core';\nimport type { TaskItemProps } from '@pega/cosmos-react-work';\n\nexport interface AssignmentProps {\n /** Unique Id of the assignment */\n id: string;\n /** Assignment name shown in Assignment's description */\n name: string;\n /** Process Name for the assignment. */\n processName?: string;\n /** Service Level Agreement for the assignment. */\n sla?: string;\n /** Number to defined the Urgency of assignment */\n urgency: number;\n /** Assignee's Id, passed on callback of onAssigneeClick */\n assigneeId: string;\n /** Assignee's Name of the assignment */\n assigneeName: string;\n /** Callback fired when click of Assignee Name to show Glimpse component */\n onAssigneeClick: (\n assigneeId: AssignmentProps['assigneeId'],\n e: MouseEvent<HTMLButtonElement>\n ) => void;\n /** Callback fired from the Go button */\n onOpen?: (id: AssignmentProps['id'], e: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport interface ItemsProps extends NoChildrenProp {\n /** An array of assignment details to be rendered as Assignment details */\n assignments?: AssignmentProps[];\n /** An array of child cases to be rendered as case details */\n childCases?: CaseListProps[];\n /** Callback on toggle of ExpandCollapseButton of each Case, with arguments current expanded state of toggler and case id */\n onToggleCollapsed?: (value: boolean, id: string) => void;\n}\nexport interface CaseListProps extends NoChildrenProp, ItemsProps {\n /** Name of the task group displayed in the list. */\n name: string;\n /** Unique Id of the childcase */\n id: string;\n /** status details for the case */\n status: {\n text: string;\n variant: StatusProps['variant'];\n };\n /** Meta details of link to navigate to the case */\n link: {\n onPreview: LinkProps['onPreview'];\n href: LinkProps['href'];\n target?: LinkProps['target'];\n };\n}\n\nexport interface HierarchicalAssignmentProps\n extends OmitStrict<ItemsProps, 'onToggleCollapsed'>,\n TestIdProp {\n /**\n * Hierarchical Assignment widget's title\n * @default 'Assignment'\n */\n name?: string;\n /** Boolean refers to state of the progress in assignment widget */\n progress?: boolean;\n /** Task Content to be rendered on click of Go Action button */\n openItem?: TaskItemProps;\n /**\n * Boolean that refers the state of the ExpandButton.\n * @default false\n */\n collapsed?: boolean;\n /** Callback on toggle of Top level ExpandCollapseButton */\n onToggleCollapsed: (collapsed: boolean) => void;\n /** Ref placed on the element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import type { RefObject } from 'react';
2
+ import type { AssignmentProps, CaseListProps } from './HierarchicalAssignments.types';
3
+ export interface AssignmentNodes {
4
+ assignments?: AssignmentProps[];
5
+ childCases?: CaseListProps[];
6
+ }
7
+ type Node = AssignmentProps | CaseListProps | undefined;
8
+ export declare const isAssignment: (assignment: AssignmentProps | CaseListProps) => assignment is AssignmentProps;
9
+ export declare const isExpandedNode: (expandedList: string[], id: string) => boolean;
10
+ export declare const getNode: (nodes: AssignmentNodes, id: string) => Node;
11
+ export declare const getParentNode: (nodes: AssignmentNodes, id: string, parentItem?: CaseListProps) => Node;
12
+ export declare const getFirstChildNode: (nodes: AssignmentNodes, id: string, expanded: string[]) => Node;
13
+ export declare const getCombinedAdjacentIndex: (combinedNodes: (AssignmentProps | CaseListProps)[], id: string) => number;
14
+ export declare const getAdjacentNode: (nodes: AssignmentNodes, id: string) => AssignmentProps | CaseListProps;
15
+ export declare const getNextNode: ({ assignments, childCases }: AssignmentNodes, id: string, expanded: string[]) => AssignmentProps | CaseListProps;
16
+ export declare const getDeepestNode: ({ assignments, childCases }: AssignmentNodes, id: string, expanded: string[]) => Node;
17
+ export declare const getPreviousNode: ({ assignments, childCases }: AssignmentNodes, id: string, expanded: string[]) => Node;
18
+ export declare const scrollChildIntoView: (parentRef?: RefObject<HTMLUListElement>, childRef?: RefObject<HTMLLIElement>) => void;
19
+ export {};
20
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B;AAED,KAAK,IAAI,GAAG,eAAe,GAAG,aAAa,GAAG,SAAS,CAAC;AAExD,eAAO,MAAM,YAAY,eACX,eAAe,GAAG,aAAa,KAC1C,UAAU,IAAI,eAMhB,CAAC;AAEF,eAAO,MAAM,cAAc,iBAAkB,MAAM,EAAE,MAAM,MAAM,YAEhE,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,eAAe,MAAM,MAAM,SAyBzD,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,eAAe,MAAM,MAAM,eAAe,aAAa,SA2B3F,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,eAAe,MAAM,MAAM,YAAY,MAAM,EAAE,SAevF,CAAC;AAEF,eAAO,MAAM,wBAAwB,kBACpB,CAAC,eAAe,GAAG,aAAa,CAAC,EAAE,MAC9C,MAAM,WAGX,CAAC;AAEF,eAAO,MAAM,eAAe,UACnB,eAAe,MAClB,MAAM,KACT,eAAe,GAAG,aAuBpB,CAAC;AAEF,eAAO,MAAM,WAAW,gCACiB,eAAe,MAClD,MAAM,YACA,MAAM,EAAE,oCAUnB,CAAC;AAEF,eAAO,MAAM,cAAc,gCACc,eAAe,MAClD,MAAM,YACA,MAAM,EAAE,KACjB,IAuBF,CAAC;AAEF,eAAO,MAAM,eAAe,gCACa,eAAe,MAClD,MAAM,YACA,MAAM,EAAE,SAiCnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAClB,SAAS,CAAC,gBAAgB,CAAC,aAC5B,SAAS,CAAC,aAAa,CAAC,SAkBpC,CAAC"}
@@ -0,0 +1,164 @@
1
+ import { hasProp } from '@pega/cosmos-react-core';
2
+ export const isAssignment = (assignment) => {
3
+ return (hasProp(assignment, 'name') &&
4
+ hasProp(assignment, 'assigneeName') &&
5
+ hasProp(assignment, 'urgency'));
6
+ };
7
+ export const isExpandedNode = (expandedList, id) => {
8
+ return !!expandedList.find(expandedId => expandedId === id);
9
+ };
10
+ export const getNode = (nodes, id) => {
11
+ let found;
12
+ const assignment = nodes.assignments?.find(node => node.id === id);
13
+ if (assignment) {
14
+ found = assignment;
15
+ }
16
+ if (!found) {
17
+ nodes.childCases?.some(node => {
18
+ if (node.id === id) {
19
+ found = node;
20
+ return true;
21
+ }
22
+ if (node.assignments?.length || node.childCases?.length) {
23
+ found = getNode(node, id);
24
+ return !!found;
25
+ }
26
+ return false;
27
+ });
28
+ }
29
+ return found;
30
+ };
31
+ export const getParentNode = (nodes, id, parentItem) => {
32
+ let found;
33
+ const assignment = nodes.assignments?.find(node => node.id === id);
34
+ if (assignment) {
35
+ found = parentItem;
36
+ }
37
+ if (!found) {
38
+ nodes.childCases?.some(node => {
39
+ if (node.id === id) {
40
+ found = parentItem;
41
+ return true;
42
+ }
43
+ if (node.assignments?.length || node.childCases?.length) {
44
+ found = getParentNode({ assignments: node.assignments, childCases: node.childCases }, id, node);
45
+ return !!found;
46
+ }
47
+ return false;
48
+ });
49
+ }
50
+ return found;
51
+ };
52
+ export const getFirstChildNode = (nodes, id, expanded) => {
53
+ let firstChildNode;
54
+ const node = getNode(nodes, id);
55
+ if (node && !isAssignment(node)) {
56
+ const isNodeExpanded = isExpandedNode(expanded, node.id);
57
+ if (isNodeExpanded && node.assignments?.length) {
58
+ const childNodes = node.assignments;
59
+ firstChildNode = childNodes[0];
60
+ }
61
+ else if (isNodeExpanded && node.childCases?.length) {
62
+ const childNodes = node.childCases;
63
+ firstChildNode = childNodes[0];
64
+ }
65
+ }
66
+ return firstChildNode;
67
+ };
68
+ export const getCombinedAdjacentIndex = (combinedNodes, id) => {
69
+ return combinedNodes?.map(nodeEl => nodeEl.id).indexOf(id);
70
+ };
71
+ export const getAdjacentNode = (nodes, id) => {
72
+ let nextNode;
73
+ const parent = getParentNode(nodes, id);
74
+ if (parent &&
75
+ !isAssignment(parent) &&
76
+ (parent?.assignments?.length || parent?.childCases?.length)) {
77
+ const childNodes = [...(parent?.assignments ?? []), ...(parent?.childCases ?? [])];
78
+ const currentIndex = childNodes.map(nodeEl => nodeEl.id).indexOf(id);
79
+ if (currentIndex === childNodes.length - 1) {
80
+ nextNode = getAdjacentNode(nodes, parent?.id);
81
+ }
82
+ else {
83
+ nextNode = childNodes[currentIndex + 1];
84
+ }
85
+ }
86
+ else {
87
+ const combinedNodes = [...(nodes.assignments ?? []), ...(nodes.childCases ?? [])];
88
+ const elementsIndex = getCombinedAdjacentIndex(combinedNodes, id);
89
+ nextNode = combinedNodes?.[elementsIndex + 1];
90
+ }
91
+ return nextNode;
92
+ };
93
+ export const getNextNode = ({ assignments = [], childCases = [] }, id, expanded) => {
94
+ let nextNode;
95
+ const firstChildNode = getFirstChildNode({ assignments, childCases }, id, expanded);
96
+ if (firstChildNode) {
97
+ nextNode = firstChildNode;
98
+ }
99
+ else {
100
+ nextNode = getAdjacentNode({ assignments, childCases }, id);
101
+ }
102
+ return nextNode;
103
+ };
104
+ export const getDeepestNode = ({ assignments = [], childCases = [] }, id, expanded) => {
105
+ const node = getNode({ assignments, childCases }, id);
106
+ let lastNode = node;
107
+ let isNodeExpanded = false;
108
+ if (node) {
109
+ isNodeExpanded = isExpandedNode(expanded, node.id);
110
+ }
111
+ if (node &&
112
+ !isAssignment(node) &&
113
+ isNodeExpanded &&
114
+ (node.assignments?.length || node.childCases?.length)) {
115
+ const childNodes = [...(node.assignments ?? []), ...(node.childCases ?? [])];
116
+ const lastChildNode = childNodes[childNodes.length - 1];
117
+ const isLastChildNodeExpanded = isExpandedNode(expanded, lastChildNode.id);
118
+ if (isLastChildNodeExpanded) {
119
+ lastNode = getDeepestNode({ assignments, childCases }, lastChildNode.id, expanded);
120
+ }
121
+ else {
122
+ lastNode = lastChildNode;
123
+ }
124
+ }
125
+ return lastNode;
126
+ };
127
+ export const getPreviousNode = ({ assignments = [], childCases = [] }, id, expanded) => {
128
+ const parent = getParentNode({ assignments, childCases }, id);
129
+ let previousNode;
130
+ if (parent &&
131
+ !isAssignment(parent) &&
132
+ (parent?.assignments?.length || parent?.childCases?.length)) {
133
+ const childNodes = [...(parent?.assignments ?? []), ...(parent?.childCases ?? [])];
134
+ const currentIndex = childNodes.map(nodeEl => nodeEl.id).indexOf(id);
135
+ if (currentIndex === 0) {
136
+ previousNode = parent;
137
+ }
138
+ else {
139
+ previousNode = getDeepestNode({ assignments, childCases }, childNodes[currentIndex - 1].id, expanded);
140
+ }
141
+ }
142
+ else {
143
+ const currentNode = [...assignments, ...childCases];
144
+ const index = currentNode.map(node => node.id).indexOf(id);
145
+ if (currentNode[index - 1]) {
146
+ previousNode = getDeepestNode({ assignments, childCases }, currentNode[index - 1].id, expanded);
147
+ }
148
+ }
149
+ return previousNode;
150
+ };
151
+ export const scrollChildIntoView = (parentRef, childRef) => {
152
+ const parent = parentRef?.current;
153
+ const child = childRef?.current;
154
+ if (!parent || !child) {
155
+ return;
156
+ }
157
+ const parentRect = parent.getBoundingClientRect();
158
+ const childRect = child.getBoundingClientRect();
159
+ const isViewable = childRect.top >= parentRect.top && childRect.top <= parentRect.top + parent.clientHeight;
160
+ if (!isViewable) {
161
+ parent.scrollTop = childRect.top + parent.scrollTop - parentRect.top;
162
+ }
163
+ };
164
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RefObject } from 'react';\n\nimport { hasProp } from '@pega/cosmos-react-core';\n\nimport type { AssignmentProps, CaseListProps } from './HierarchicalAssignments.types';\n\nexport interface AssignmentNodes {\n assignments?: AssignmentProps[];\n childCases?: CaseListProps[];\n}\n\ntype Node = AssignmentProps | CaseListProps | undefined;\n\nexport const isAssignment = (\n assignment: AssignmentProps | CaseListProps\n): assignment is AssignmentProps => {\n return (\n hasProp(assignment, 'name') &&\n hasProp(assignment, 'assigneeName') &&\n hasProp(assignment, 'urgency')\n );\n};\n\nexport const isExpandedNode = (expandedList: string[], id: string) => {\n return !!expandedList.find(expandedId => expandedId === id);\n};\n\nexport const getNode = (nodes: AssignmentNodes, id: string) => {\n let found: Node;\n\n const assignment = nodes.assignments?.find(node => node.id === id);\n if (assignment) {\n found = assignment;\n }\n\n if (!found) {\n nodes.childCases?.some(node => {\n if (node.id === id) {\n found = node;\n return true;\n }\n\n if (node.assignments?.length || node.childCases?.length) {\n found = getNode(node, id);\n return !!found;\n }\n\n return false;\n });\n }\n\n return found;\n};\n\nexport const getParentNode = (nodes: AssignmentNodes, id: string, parentItem?: CaseListProps) => {\n let found: Node;\n\n const assignment = nodes.assignments?.find(node => node.id === id);\n if (assignment) {\n found = parentItem;\n }\n\n if (!found) {\n nodes.childCases?.some(node => {\n if (node.id === id) {\n found = parentItem;\n return true;\n }\n if (node.assignments?.length || node.childCases?.length) {\n found = getParentNode(\n { assignments: node.assignments, childCases: node.childCases },\n id,\n node\n );\n return !!found;\n }\n return false;\n });\n }\n\n return found;\n};\n\nexport const getFirstChildNode = (nodes: AssignmentNodes, id: string, expanded: string[]) => {\n let firstChildNode: Node;\n const node = getNode(nodes, id);\n\n if (node && !isAssignment(node)) {\n const isNodeExpanded = isExpandedNode(expanded, node.id);\n if (isNodeExpanded && node.assignments?.length) {\n const childNodes = node.assignments;\n firstChildNode = childNodes[0];\n } else if (isNodeExpanded && node.childCases?.length) {\n const childNodes = node.childCases;\n firstChildNode = childNodes[0];\n }\n }\n return firstChildNode;\n};\n\nexport const getCombinedAdjacentIndex = (\n combinedNodes: (AssignmentProps | CaseListProps)[],\n id: string\n) => {\n return combinedNodes?.map(nodeEl => nodeEl.id).indexOf(id);\n};\n\nexport const getAdjacentNode = (\n nodes: AssignmentNodes,\n id: string\n): AssignmentProps | CaseListProps => {\n let nextNode: AssignmentProps | CaseListProps;\n const parent = getParentNode(nodes, id);\n\n if (\n parent &&\n !isAssignment(parent) &&\n (parent?.assignments?.length || parent?.childCases?.length)\n ) {\n const childNodes = [...(parent?.assignments ?? []), ...(parent?.childCases ?? [])];\n const currentIndex = childNodes.map(nodeEl => nodeEl.id).indexOf(id);\n if (currentIndex === childNodes.length - 1) {\n nextNode = getAdjacentNode(nodes, parent?.id);\n } else {\n nextNode = childNodes[currentIndex + 1];\n }\n } else {\n const combinedNodes = [...(nodes.assignments ?? []), ...(nodes.childCases ?? [])];\n const elementsIndex = getCombinedAdjacentIndex(combinedNodes, id);\n nextNode = combinedNodes?.[elementsIndex + 1];\n }\n\n return nextNode;\n};\n\nexport const getNextNode = (\n { assignments = [], childCases = [] }: AssignmentNodes,\n id: string,\n expanded: string[]\n) => {\n let nextNode: Node;\n const firstChildNode = getFirstChildNode({ assignments, childCases }, id, expanded);\n if (firstChildNode) {\n nextNode = firstChildNode;\n } else {\n nextNode = getAdjacentNode({ assignments, childCases }, id);\n }\n return nextNode;\n};\n\nexport const getDeepestNode = (\n { assignments = [], childCases = [] }: AssignmentNodes,\n id: string,\n expanded: string[]\n): Node => {\n const node = getNode({ assignments, childCases }, id);\n let lastNode = node;\n let isNodeExpanded = false;\n if (node) {\n isNodeExpanded = isExpandedNode(expanded, node.id);\n }\n if (\n node &&\n !isAssignment(node) &&\n isNodeExpanded &&\n (node.assignments?.length || node.childCases?.length)\n ) {\n const childNodes = [...(node.assignments ?? []), ...(node.childCases ?? [])];\n const lastChildNode = childNodes[childNodes.length - 1];\n const isLastChildNodeExpanded = isExpandedNode(expanded, lastChildNode.id);\n if (isLastChildNodeExpanded) {\n lastNode = getDeepestNode({ assignments, childCases }, lastChildNode.id, expanded);\n } else {\n lastNode = lastChildNode;\n }\n }\n return lastNode;\n};\n\nexport const getPreviousNode = (\n { assignments = [], childCases = [] }: AssignmentNodes,\n id: string,\n expanded: string[]\n) => {\n const parent = getParentNode({ assignments, childCases }, id);\n let previousNode;\n\n if (\n parent &&\n !isAssignment(parent) &&\n (parent?.assignments?.length || parent?.childCases?.length)\n ) {\n const childNodes = [...(parent?.assignments ?? []), ...(parent?.childCases ?? [])];\n const currentIndex = childNodes.map(nodeEl => nodeEl.id).indexOf(id);\n if (currentIndex === 0) {\n previousNode = parent;\n } else {\n previousNode = getDeepestNode(\n { assignments, childCases },\n childNodes[currentIndex - 1].id,\n expanded\n );\n }\n } else {\n const currentNode = [...assignments, ...childCases];\n const index = currentNode.map(node => node.id).indexOf(id);\n if (currentNode[index - 1]) {\n previousNode = getDeepestNode(\n { assignments, childCases },\n currentNode[index - 1].id,\n expanded\n );\n }\n }\n return previousNode;\n};\n\nexport const scrollChildIntoView = (\n parentRef?: RefObject<HTMLUListElement>,\n childRef?: RefObject<HTMLLIElement>\n) => {\n const parent = parentRef?.current;\n const child = childRef?.current;\n\n if (!parent || !child) {\n return;\n }\n\n const parentRect = parent.getBoundingClientRect();\n const childRect = child.getBoundingClientRect();\n\n const isViewable =\n childRect.top >= parentRect.top && childRect.top <= parentRect.top + parent.clientHeight;\n\n if (!isViewable) {\n parent.scrollTop = childRect.top + parent.scrollTop - parentRect.top;\n }\n};\n"]}
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { AssignmentProps } from '../HierarchicalAssignments.types';
3
+ interface AssignmentItemProps extends AssignmentProps {
4
+ /** Property defines the node's level */
5
+ depth: number;
6
+ }
7
+ export declare const PauseTextNode: ({ children }: {
8
+ children: ReactNode;
9
+ }) => import("react/jsx-runtime").JSX.Element;
10
+ declare const _default: (({ name, processName, assigneeName, urgency, sla, depth, id, assigneeId, onOpen, onAssigneeClick }: AssignmentItemProps) => import("react/jsx-runtime").JSX.Element) & {
11
+ getTestIds: (testIdProp?: import("@pega/cosmos-react-core").TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["label", "assignee", "urgency", "action", "sla"]>;
12
+ };
13
+ export default _default;
14
+ //# sourceMappingURL=AssignmentItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssignmentItem.d.ts","sourceRoot":"","sources":["../../../../src/components/HierarchicalAssignments/nodeItems/AssignmentItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE,UAAU,mBAAoB,SAAQ,eAAe;IACnD,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,eAAO,MAAM,aAAa,iBAAkB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAOlE,CAAC;6HAaC,mBAAmB;;;AAiLtB,wBAAiE"}
@@ -0,0 +1,86 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useContext, useCallback } from 'react';
3
+ import styled from 'styled-components';
4
+ import { Grid, Flex, Button, useI18n, withTestIds, useTestIds, cap, useDirection, Text, VisuallyHiddenText, useElement, Tooltip } from '@pega/cosmos-react-core';
5
+ import { StyledAssignmentItem, StyledProcessContainer, StyledActionContainer, StyledAssigneeContainer, StyledLabelContainer, StyledNode, StyledAssigneeText, StyledAssignmentItemMetaList } from '../Assignments.styles';
6
+ import { getAssignmentTestIds } from '../HierarchicalAssignments.test-ids';
7
+ import AssignmentTreeContext from '../AssignmentContext';
8
+ import AssignmentDetails from '../AssignmentDetail';
9
+ import useNodeFocus from './useNodeFocus';
10
+ const StyledHiddenText = styled(VisuallyHiddenText) `
11
+ width: 0;
12
+ `;
13
+ export const PauseTextNode = ({ children }) => {
14
+ return (_jsxs(_Fragment, { children: [children, _jsx(StyledHiddenText, { children: ", " })] }));
15
+ };
16
+ const AssignmentItem = ({ name, processName, assigneeName, urgency, sla, depth, id, assigneeId, onOpen, onAssigneeClick }) => {
17
+ const { firstNodeId, focusedNodeId, lastNodeId, changeFocusHandler, caseIdExpandList, isMediumOrAbove, parentRef } = useContext(AssignmentTreeContext);
18
+ const assignmentRef = useRef(null);
19
+ const { parentNodeTabIndex, childElementsTabIndex, isNodeInternalFocus, lastNode, setIsNodeInternalFocus, escapeNodeHandler } = useNodeFocus(id, assignmentRef, parentRef, {
20
+ firstNodeId,
21
+ focusedNodeId,
22
+ lastNodeId
23
+ });
24
+ const { start } = useDirection();
25
+ const t = useI18n();
26
+ const [assigneeEl, setAssigneeElement] = useElement();
27
+ const testIds = useTestIds('', getAssignmentTestIds);
28
+ const navigationHandler = useCallback((e) => {
29
+ if (['ArrowUp', 'ArrowDown'].includes(e.key))
30
+ e.preventDefault();
31
+ switch (e.key) {
32
+ case 'ArrowUp':
33
+ changeFocusHandler(id, 'up', caseIdExpandList);
34
+ break;
35
+ case 'ArrowDown':
36
+ changeFocusHandler(id, 'down', caseIdExpandList);
37
+ break;
38
+ case `Arrow${cap(start)}`:
39
+ if (depth > 0) {
40
+ changeFocusHandler(id, 'left', caseIdExpandList);
41
+ }
42
+ break;
43
+ case 'Home':
44
+ if (firstNodeId)
45
+ changeFocusHandler(firstNodeId);
46
+ break;
47
+ case 'End':
48
+ if (lastNodeId)
49
+ changeFocusHandler(lastNodeId);
50
+ break;
51
+ default:
52
+ }
53
+ }, [id, firstNodeId, lastNodeId, depth, caseIdExpandList]);
54
+ return (_jsx(StyledNode, { "data-testid": testIds.root, role: 'treeitem', "aria-selected": isNodeInternalFocus ? false : parentNodeTabIndex === 0, "aria-labelledby": id, ref: assignmentRef, onKeyDown: (e) => {
55
+ e.stopPropagation();
56
+ if (e.key === 'Enter' && !isNodeInternalFocus) {
57
+ setIsNodeInternalFocus?.(true);
58
+ return;
59
+ }
60
+ if (e.key === 'Escape' && isNodeInternalFocus) {
61
+ changeFocusHandler(id);
62
+ setIsNodeInternalFocus?.(false);
63
+ escapeNodeHandler();
64
+ return;
65
+ }
66
+ if (!isNodeInternalFocus) {
67
+ navigationHandler(e);
68
+ }
69
+ }, onClick: (e) => {
70
+ e.stopPropagation();
71
+ changeFocusHandler(id);
72
+ }, tabIndex: isNodeInternalFocus ? -1 : parentNodeTabIndex, isNodeInternalFocus: isNodeInternalFocus, isFocus: isNodeInternalFocus ? false : parentNodeTabIndex === 0, lastNode: lastNode, depth: depth, children: _jsxs(Grid, { container: {
73
+ alignItems: 'center',
74
+ cols: isMediumOrAbove ? '2fr 2fr auto' : '2fr 0.5fr',
75
+ colGap: isMediumOrAbove ? 3 : 0,
76
+ rows: isMediumOrAbove ? 'repeat(1, auto)' : 'repeat(2, auto)'
77
+ }, as: StyledAssignmentItem, children: [_jsx(VisuallyHiddenText, { children: `${t('assignment_announcement_label')}` }), _jsx(Flex, { "data-testid": testIds.label, container: { alignItems: 'center' }, as: StyledProcessContainer, depth: depth, children: _jsx(PauseTextNode, { children: _jsx(AssignmentDetails, { processName: processName, name: name }) }) }), _jsx(Flex, { "data-testid": testIds.assignee, container: { justify: isMediumOrAbove ? 'end' : 'start' }, as: StyledAssigneeContainer, depth: depth, variant: 'secondary', children: _jsx(StyledAssignmentItemMetaList, { wrapItems: true, items: [
78
+ _jsxs(_Fragment, { children: [_jsx(StyledAssigneeText, { onClick: (e) => {
79
+ onAssigneeClick(assigneeId, e);
80
+ }, variant: 'link', ref: setAssigneeElement, "data-testid": testIds.assignee, tabIndex: childElementsTabIndex, children: _jsx(PauseTextNode, { children: assigneeName }) }), _jsx(Tooltip, { target: assigneeEl, smart: true, children: assigneeName })] }),
81
+ sla && (_jsx(Text, { variant: 'secondary', "data-testid": testIds.sla, children: _jsx(PauseTextNode, { children: sla }) })),
82
+ _jsxs(_Fragment, { children: [_jsx(Text, { variant: 'secondary', as: StyledLabelContainer, "data-testid": testIds.urgency, children: t('assignment_item_urgency') }), _jsx(Text, { variant: 'secondary', children: _jsx(PauseTextNode, { children: urgency }) })] })
83
+ ] }) }), _jsx(Flex, { as: StyledActionContainer, container: { justify: 'end' }, isMediumOrAbove: isMediumOrAbove, children: onOpen && (_jsx(Button, { "data-testid": testIds.action, compact: true, variant: 'primary', onClick: (e) => onOpen(id, e), tabIndex: childElementsTabIndex, children: t('go') })) })] }) }));
84
+ };
85
+ export default withTestIds(AssignmentItem, getAssignmentTestIds);
86
+ //# sourceMappingURL=AssignmentItem.js.map