@pega/sdk 0.0.2 → 0.0.4

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 (455) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +14 -57
  5. package/package.json +7 -6
  6. package/templates/angular-sdk-reference/package.json +15 -15
  7. package/templates/angular-sdk-reference/tsconfig.json +2 -2
  8. package/templates/react-native-sdk-reference/App.tsx +2 -4
  9. package/templates/react-native-sdk-reference/package.json +6 -6
  10. package/templates/react-native-sdk-reference/tsconfig.json +2 -1
  11. package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
  12. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
  13. package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
  14. package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
  15. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
  16. package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
  17. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
  18. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
  19. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
  20. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
  21. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
  22. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
  23. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
  24. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
  25. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
  36. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
  37. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
  38. package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
  64. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
  65. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
  66. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
  67. package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
  98. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
  99. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
  100. package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
  107. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
  108. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
  109. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
  110. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
  111. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
  112. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
  113. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
  114. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
  115. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
  116. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
  117. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
  118. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
  119. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
  120. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
  121. package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
  122. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
  123. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
  124. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
  125. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
  126. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
  127. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
  128. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
  129. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
  130. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
  131. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
  132. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
  133. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
  134. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
  135. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
  136. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
  137. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
  138. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
  139. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
  140. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
  141. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
  142. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
  143. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
  144. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
  145. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
  146. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
  147. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
  148. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
  149. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
  150. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
  151. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
  152. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
  153. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
  154. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
  155. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
  156. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
  157. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
  158. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
  159. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
  160. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
  161. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
  162. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
  163. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
  164. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
  165. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
  166. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
  167. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
  168. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
  169. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
  170. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
  171. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
  172. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
  173. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
  174. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
  175. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
  176. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
  177. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
  178. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
  179. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
  180. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
  181. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
  182. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
  183. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
  184. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
  185. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
  186. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
  187. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
  188. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
  189. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
  190. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
  191. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
  192. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
  193. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
  194. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
  195. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
  196. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
  197. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
  198. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
  199. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
  200. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
  201. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
  202. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
  203. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
  204. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
  205. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
  206. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
  207. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
  208. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  209. package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
  210. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  211. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  212. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  213. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  214. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  215. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +187 -16
  216. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  217. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
  218. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
  219. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
  220. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
  221. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
  222. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  223. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  224. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  225. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  226. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  227. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  228. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  229. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  230. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  231. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  232. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  233. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  234. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  235. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +60 -18
  236. package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
  237. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  238. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  239. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  240. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  241. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  242. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  243. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  244. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  245. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  246. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  247. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  248. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  249. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  250. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  251. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  252. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  253. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  254. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  255. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  256. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  257. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  258. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  259. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  260. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  261. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  262. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  263. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  264. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  265. package/templates/react-sdk-reference/.github/skills/template-components.md +50 -14
  266. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  267. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  268. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  269. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  270. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  271. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  272. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  273. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  274. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  275. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  276. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  277. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  278. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  279. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  280. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  281. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  282. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  283. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  284. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  285. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  286. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  287. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  288. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  289. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  290. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  291. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  292. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  293. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  294. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  295. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  296. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  297. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  298. package/templates/react-sdk-reference/.github/skills/widget-components.md +52 -26
  299. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  300. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  301. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  302. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  303. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  304. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  305. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  306. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  307. package/templates/react-sdk-reference/AGENTS.md +216 -29
  308. package/templates/react-sdk-reference/index.html +1 -4
  309. package/templates/react-sdk-reference/package.json +16 -16
  310. package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
  311. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  312. package/templates/react-sdk-reference/sdk-config.json +1 -1
  313. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  314. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  315. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  316. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  317. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  318. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  319. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  320. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  321. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  322. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  323. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  324. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  325. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  326. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  327. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  328. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  329. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  330. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  331. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  332. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  333. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  334. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  335. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  336. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  337. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  338. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  339. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  340. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  341. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  342. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  343. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  344. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  345. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  346. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  347. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  348. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  349. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  350. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  351. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  352. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  353. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  354. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  355. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  356. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  357. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  358. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  359. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  360. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  361. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  362. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  363. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  364. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  365. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  366. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  367. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  368. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  369. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  370. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  371. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  372. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  373. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  374. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  375. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  376. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  377. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  378. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  379. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  380. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  381. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  382. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  383. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  384. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  385. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  386. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  387. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  388. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  389. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  390. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  391. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  392. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  393. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  394. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  395. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  396. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  397. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  398. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  399. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  400. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  401. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  402. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  403. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  404. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  405. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  406. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  407. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  408. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  409. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  410. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  411. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  412. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  413. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  414. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  415. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  416. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  417. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  418. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  419. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  420. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  421. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  422. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  423. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  424. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  425. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  426. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  427. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  428. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  429. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  430. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  431. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  432. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  433. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  434. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  435. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  436. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  437. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  438. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  439. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  440. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  441. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  442. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  443. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  444. package/templates/react-sdk-reference/src/main.tsx +1 -1
  445. package/templates/react-sdk-reference/tsconfig.json +2 -1
  446. package/templates/react-sdk-reference/vite.config.ts +52 -27
  447. package/templates/wc-sdk-reference/package.json +3 -3
  448. package/templates/wc-sdk-reference/src/index.ts +10 -10
  449. package/templates/wc-sdk-reference/tsconfig.json +1 -0
  450. package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
  451. package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
  452. package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
  453. package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
  454. package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
  455. package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
@@ -18,9 +18,9 @@ Renders a table of case events sourced from the `D_pyWorkHistory` data page. Sho
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `getPConnect` | `function` | Yes | PConnect getter — used to resolve case ID and context |
21
+ | Prop | Type | Required | Description |
22
+ | ------------- | ---------- | -------- | ----------------------------------------------------- |
23
+ | `getPConnect` | `function` | Yes | PConnect getter — used to resolve case ID and context |
24
24
 
25
25
  No additional custom props. All data is fetched internally.
26
26
 
@@ -50,6 +50,7 @@ Use `fast-deep-equal/react` to compare new `historyData` with previous value —
50
50
  ### Data Transformation
51
51
 
52
52
  For each history row, map:
53
+
53
54
  - **Date column:** Format `pyUpdatedDateTime` using the SDK date formatter (e.g., `formatDateTime(row.pyUpdatedDateTime)`) or display as-is.
54
55
  - **Description column:** `row.pyMessageKey` — the localized event description string.
55
56
  - **Performer column:** `row.pyPerformer` — the operator who performed the action.
@@ -59,13 +60,14 @@ For each history row, map:
59
60
 
60
61
  ### Table Layout
61
62
 
62
- | Column | Field | Width |
63
- |--------|-------|-------|
64
- | Date | `pyUpdatedDateTime` (formatted) | ~25% |
65
- | Description | `pyMessageKey` | ~50% |
66
- | Performer | `pyPerformer` | ~25% |
63
+ | Column | Field | Width |
64
+ | ----------- | ------------------------------- | ----- |
65
+ | Date | `pyUpdatedDateTime` (formatted) | ~25% |
66
+ | Description | `pyMessageKey` | ~50% |
67
+ | Performer | `pyPerformer` | ~25% |
67
68
 
68
69
  **CSS-only implementation notes:**
70
+
69
71
  - Table container: `width: 100%; overflow-x: auto`.
70
72
  - Table: `border-collapse: collapse; width: 100%`.
71
73
  - Header cells: `background: var(--table-header-bg); font-weight: 600; padding: 8px 12px; border-bottom: 2px solid var(--divider-color)`.
@@ -93,15 +95,16 @@ For each history row, map:
93
95
 
94
96
  Listed design systems are examples only.
95
97
 
96
- | Design System | Table |
97
- |---|---|
98
- | Default (CSS only) | `<table>/<thead>/<tbody>/<tr>/<td>` |
99
- | MUI | `<TableContainer>` + `<Table>` + `<TableHead>/<TableBody>/<TableRow>/<TableCell>` |
100
- | Ant Design | `<Table dataSource={historyData} columns={...}>` |
101
- | Chakra UI | `<Table>` + `<Thead>/<Tbody>/<Tr>/<Th>/<Td>` |
102
- | Shadcn/ui | `<Table>` + `<TableHeader>/<TableBody>/<TableRow>/<TableHead>/<TableCell>` |
98
+ | Design System | Table |
99
+ | ------------------ | --------------------------------------------------------------------------------- |
100
+ | Default (CSS only) | `<table>/<thead>/<tbody>/<tr>/<td>` |
101
+ | MUI | `<TableContainer>` + `<Table>` + `<TableHead>/<TableBody>/<TableRow>/<TableCell>` |
102
+ | Ant Design | `<Table dataSource={historyData} columns={...}>` |
103
+ | Chakra UI | `<Table>` + `<Thead>/<Tbody>/<Tr>/<Th>/<Td>` |
104
+ | Shadcn/ui | `<Table>` + `<TableHeader>/<TableBody>/<TableRow>/<TableHead>/<TableCell>` |
103
105
 
104
106
  When implementing in a specific design system:
107
+
105
108
  - `fast-deep-equal` comparison is a performance optimization — include it to avoid redundant renders on re-subscription
106
109
  - Data page name `D_pyWorkHistory` is fixed — do not make it configurable
107
110
  - Missing field fallback `"---"` should be consistent across all three columns
@@ -18,19 +18,21 @@ The primary attachments management panel in the case utilities column. Shows up
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `caseId` | `string` | No | Optional case ID override. If absent, resolved from `pConn.getCaseInfo().getID()` |
24
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ------------- | ---------- | -------- | --------------------------------------------------------------------------------- |
23
+ | `caseId` | `string` | No | Optional case ID override. If absent, resolved from `pConn.getCaseInfo().getID()` |
24
+ | `getPConnect` | `function` | Yes | PConnect getter |
25
25
 
26
26
  ## Behavioral Contract
27
27
 
28
28
  ### Attachment Fetch
29
29
 
30
30
  On mount and on attachment change events:
31
+
31
32
  ```
32
33
  PCore.getAttachmentUtils().getCaseAttachments(caseKey, context)
33
34
  ```
35
+
34
36
  Returns array of attachment/link objects. Store in `attachments` state.
35
37
 
36
38
  Debounced auto-refresh: on `CASE_ATTACHMENTS_UPDATED` pub-sub event, wait 1000ms (debounced) then re-fetch. This prevents rapid re-fetches when multiple files are uploaded simultaneously.
@@ -42,6 +44,7 @@ Show only the first 3 items from `attachments`. If `attachments.length > 3`, sho
42
44
  ### SummaryList Integration
43
45
 
44
46
  Map each attachment/link to a `SummaryItem`-compatible object:
47
+
45
48
  ```typescript
46
49
  {
47
50
  id: attachment.ID,
@@ -89,6 +92,7 @@ Call `PCore.getAttachmentUtils().deleteAttachment(attachmentID, context)`. Refre
89
92
  ### Actions Menu
90
93
 
91
94
  Render a `<MoreVertIcon>` `<IconButton>` that opens a `<Menu>` with:
95
+
92
96
  - `"Add file"` — opens add-file modal
93
97
  - `"Add link"` — opens add-link modal
94
98
 
@@ -96,39 +100,40 @@ Render a `<MoreVertIcon>` `<IconButton>` that opens a `<Menu>` with:
96
100
 
97
101
  ### Main Card
98
102
 
99
- | Element | Description |
100
- |---------|-------------|
101
- | Card header | `"Attachments"` (or localized) + count badge |
102
- | Actions icon | `<MoreVertIcon>` button top-right |
103
- | Attachment rows | Up to 3 `SummaryItem` cards |
104
- | "View all" button | Text button, shown when > 3 attachments |
103
+ | Element | Description |
104
+ | ----------------- | -------------------------------------------- |
105
+ | Card header | `"Attachments"` (or localized) + count badge |
106
+ | Actions icon | `<MoreVertIcon>` button top-right |
107
+ | Attachment rows | Up to 3 `SummaryItem` cards |
108
+ | "View all" button | Text button, shown when > 3 attachments |
105
109
 
106
110
  ### "View all" Modal
107
111
 
108
- | Element | Description |
109
- |---------|-------------|
110
- | Modal header | `"All attachments (N)"` |
112
+ | Element | Description |
113
+ | --------------- | -------------------------- |
114
+ | Modal header | `"All attachments (N)"` |
111
115
  | Attachment rows | All items in `SummaryList` |
112
- | Close button | `X` in modal header |
116
+ | Close button | `X` in modal header |
113
117
 
114
118
  ### Add File Modal
115
119
 
116
- | Element | Description |
117
- |---------|-------------|
118
- | File picker | `<input type='file'>` |
119
- | Progress bar | Per-file upload progress |
120
+ | Element | Description |
121
+ | -------------- | -------------------------------------------- |
122
+ | File picker | `<input type='file'>` |
123
+ | Progress bar | Per-file upload progress |
120
124
  | Action buttons | `ActionButtonsForFileUtil` (Cancel + Attach) |
121
125
 
122
126
  ### Add Link Modal
123
127
 
124
- | Element | Description |
125
- |---------|-------------|
126
- | Title field | `<TextField label='Title'>` — required |
127
- | URL field | `<TextField label='URL'>` — required |
128
- | Attach button | Enabled only when both fields are filled |
128
+ | Element | Description |
129
+ | -------------- | -------------------------------------------- |
130
+ | Title field | `<TextField label='Title'>` — required |
131
+ | URL field | `<TextField label='URL'>` — required |
132
+ | Attach button | Enabled only when both fields are filled |
129
133
  | Action buttons | `ActionButtonsForFileUtil` (Cancel + Attach) |
130
134
 
131
135
  **CSS-only implementation notes:**
136
+
132
137
  - Main card: standard card styles.
133
138
  - Modal: `position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; border-radius: 8px; box-shadow: 0 4px 24px rgba(0,0,0,0.2); min-width: 480px; padding: 1.5rem`.
134
139
  - "View all" button: text style, `color: var(--app-primary-color); cursor: pointer`.
@@ -142,13 +147,13 @@ A simple button row component used inside the FileUtility modals to render Cance
142
147
 
143
148
  ### Props
144
149
 
145
- | Prop | Type | Required | Description |
146
- |------|------|----------|-------------|
147
- | `arMainButtons` | `any[]` | Yes | Primary button definitions `[{ actionID, name }]` |
148
- | `arSecondaryButtons` | `any[]` | Yes | Secondary (cancel) button definitions `[{ actionID, name }]` |
149
- | `primaryAction` | `function` | Yes | Callback invoked when the primary button is clicked |
150
- | `secondaryAction` | `function` | Yes | Callback invoked when the secondary/cancel button is clicked |
151
- | `getPConnect` | `function` | Yes | PConnect getter |
150
+ | Prop | Type | Required | Description |
151
+ | -------------------- | ---------- | -------- | ------------------------------------------------------------ |
152
+ | `arMainButtons` | `any[]` | Yes | Primary button definitions `[{ actionID, name }]` |
153
+ | `arSecondaryButtons` | `any[]` | Yes | Secondary (cancel) button definitions `[{ actionID, name }]` |
154
+ | `primaryAction` | `function` | Yes | Callback invoked when the primary button is clicked |
155
+ | `secondaryAction` | `function` | Yes | Callback invoked when the secondary/cancel button is clicked |
156
+ | `getPConnect` | `function` | Yes | PConnect getter |
152
157
 
153
158
  ### Layout
154
159
 
@@ -186,15 +191,16 @@ A simple button row component used inside the FileUtility modals to render Cance
186
191
 
187
192
  Listed design systems are examples only.
188
193
 
189
- | Design System | Card | Action Menu | Modal | Progress |
190
- |---|---|---|---|---|
191
- | Default (CSS only) | `<div>` card | `<button>` + custom dropdown | `<dialog>` | CSS progress bar |
192
- | MUI | `<Card>` | `<IconButton>` + `<Menu>/<MenuItem>` | `<Dialog>` | `<CircularProgress>` or `<LinearProgress>` |
193
- | Ant Design | `<Card>` | `<Dropdown menu={{ items }}>` | `<Modal>` | `<Progress>` |
194
- | Chakra UI | `<Card>` | `<Menu>/<MenuButton>/<MenuList>` | `<Modal>` | `<Progress>` |
195
- | Shadcn/ui | `<Card>` | `<DropdownMenu>` | `<Dialog>` | Custom progress bar |
194
+ | Design System | Card | Action Menu | Modal | Progress |
195
+ | ------------------ | ------------ | ------------------------------------ | ---------- | ------------------------------------------ |
196
+ | Default (CSS only) | `<div>` card | `<button>` + custom dropdown | `<dialog>` | CSS progress bar |
197
+ | MUI | `<Card>` | `<IconButton>` + `<Menu>/<MenuItem>` | `<Dialog>` | `<CircularProgress>` or `<LinearProgress>` |
198
+ | Ant Design | `<Card>` | `<Dropdown menu={{ items }}>` | `<Modal>` | `<Progress>` |
199
+ | Chakra UI | `<Card>` | `<Menu>/<MenuButton>/<MenuList>` | `<Modal>` | `<Progress>` |
200
+ | Shadcn/ui | `<Card>` | `<DropdownMenu>` | `<Dialog>` | Custom progress bar |
196
201
 
197
202
  When implementing in a specific design system:
203
+
198
204
  - Debounced refresh (1000ms) after pub-sub attachment events is required — prevents excessive API calls
199
205
  - `linkAttachmentsToCase` must be called after upload — uploading alone does not attach to the case
200
206
  - `ActionButtonsForFileUtil` receives button definition arrays — render them generically from `arMainButtons`/`arSecondaryButtons`
@@ -18,11 +18,12 @@ Intended to display the list of operators following a case, allowing users to fo
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ------------- | ---------- | -------- | --------------- |
23
+ | `getPConnect` | `function` | Yes | PConnect getter |
24
24
 
25
25
  No additional custom props in the current stub implementation. A full implementation would likely include:
26
+
26
27
  - `datasource` — data page name for follower list
27
28
  - `headerText` — widget title (e.g., `"Followers"`)
28
29
 
@@ -47,24 +48,26 @@ No additional custom props in the current stub implementation. A full implementa
47
48
 
48
49
  ### Stub Rendering
49
50
 
50
- | Element | Value |
51
- |---------|-------|
52
- | Card title | `"Followers"` |
53
- | Card body | `"Followers - unsupported"` plain text |
51
+ | Element | Value |
52
+ | ---------- | -------------------------------------- |
53
+ | Card title | `"Followers"` |
54
+ | Card body | `"Followers - unsupported"` plain text |
54
55
 
55
56
  ### Expected Full Rendering
56
57
 
57
- | Element | Description |
58
- |---------|-------------|
59
- | Card header | `"Followers"` + count badge |
60
- | Follower avatars | Row of avatar initials circles |
61
- | Follow button | Toggle button `"Follow"` / `"Unfollow"` |
58
+ | Element | Description |
59
+ | ---------------- | --------------------------------------- |
60
+ | Card header | `"Followers"` + count badge |
61
+ | Follower avatars | Row of avatar initials circles |
62
+ | Follow button | Toggle button `"Follow"` / `"Unfollow"` |
62
63
 
63
64
  **CSS-only implementation notes (stub):**
65
+
64
66
  - Card: standard card layout — `border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,0.12); padding: 1rem`.
65
67
  - Unsupported message: `color: var(--secondary-text-color); font-size: 0.875rem`.
66
68
 
67
69
  **CSS-only implementation notes (full):**
70
+
68
71
  - Avatar row: `display: flex; flex-wrap: wrap; gap: 4px`.
69
72
  - Avatar circle: `width: 32px; height: 32px; border-radius: 50%; background: var(--avatar-bg); display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600`.
70
73
 
@@ -85,15 +88,16 @@ No additional custom props in the current stub implementation. A full implementa
85
88
 
86
89
  Listed design systems are examples only.
87
90
 
88
- | Design System | Card | Avatar | Toggle Button |
89
- |---|---|---|---|
90
- | Default (CSS only) | `<div>` with border | CSS circle with initials | `<button>` |
91
- | MUI | `<Card>` + `<Avatar>` | `<Avatar>` | `<Button>` variant toggle |
92
- | Ant Design | `<Card>` | `<Avatar>` | `<Button>` |
93
- | Chakra UI | `<Card>` | `<Avatar>` | `<Button>` |
94
- | Shadcn/ui | `<Card>` | Custom avatar | `<Button>` |
91
+ | Design System | Card | Avatar | Toggle Button |
92
+ | ------------------ | --------------------- | ------------------------ | ------------------------- |
93
+ | Default (CSS only) | `<div>` with border | CSS circle with initials | `<button>` |
94
+ | MUI | `<Card>` + `<Avatar>` | `<Avatar>` | `<Button>` variant toggle |
95
+ | Ant Design | `<Card>` | `<Avatar>` | `<Button>` |
96
+ | Chakra UI | `<Card>` | `<Avatar>` | `<Button>` |
97
+ | Shadcn/ui | `<Card>` | Custom avatar | `<Button>` |
95
98
 
96
99
  When implementing in a specific design system:
100
+
97
101
  - The current stub only needs a card with a message — implement the full behavior once the Pega backend supports it
98
102
  - Follow/unfollow must be scoped to the current case (`caseKey` from `pConn.getCaseInfo().getKey()`)
99
103
  - Follower count badge in the card header improves scannability
@@ -18,12 +18,12 @@ Provides a shortcut panel for creating new cases. Case types are sourced from th
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `heading` | `string` | Yes | Widget title (e.g., `"Create"`) |
24
- | `showCaseIcons` | `boolean` | No | Whether to show case type icons alongside labels. Default `false` |
25
- | `classFilter` | `any[]` | No | Array of class names to filter available case types. Empty array = show all |
26
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | --------------- | ---------- | -------- | --------------------------------------------------------------------------- |
23
+ | `heading` | `string` | Yes | Widget title (e.g., `"Create"`) |
24
+ | `showCaseIcons` | `boolean` | No | Whether to show case type icons alongside labels. Default `false` |
25
+ | `classFilter` | `any[]` | No | Array of class names to filter available case types. Empty array = show all |
26
+ | `getPConnect` | `function` | Yes | PConnect getter |
27
27
 
28
28
  ## Behavioral Contract
29
29
 
@@ -39,6 +39,7 @@ Provides a shortcut panel for creating new cases. Case types are sourced from th
39
39
  ### Case Type Object Mapping
40
40
 
41
41
  For each case type, build:
42
+
42
43
  ```typescript
43
44
  {
44
45
  classname: caseType.pyClassName,
@@ -54,6 +55,7 @@ For each case type, build:
54
55
  ### Rendering Delegation
55
56
 
56
57
  Pass the mapped case type array to `WssQuickCreate` (retrieved via `getComponentFromRegistry('WssQuickCreate')`):
58
+
57
59
  ```tsx
58
60
  const WssQuickCreate = getComponentFromRegistry('WssQuickCreate');
59
61
  return <WssQuickCreate heading={heading} caseTypes={caseTypeObjects} />;
@@ -65,12 +67,13 @@ This component handles all button rendering — `QuickCreate` is purely a data-p
65
67
 
66
68
  Visual rendering is owned by `WssQuickCreate` (a design system extension component). Typical layout:
67
69
 
68
- | Element | Description |
69
- |---------|-------------|
70
- | Heading | Widget title at the top |
70
+ | Element | Description |
71
+ | ----------------- | ------------------------------------------------- |
72
+ | Heading | Widget title at the top |
71
73
  | Case type buttons | One button per case type; icon (optional) + label |
72
74
 
73
75
  **CSS-only implementation notes (if implementing without `WssQuickCreate`):**
76
+
74
77
  - Container: `display: flex; flex-direction: column; gap: 0.5rem`.
75
78
  - Heading: `font-weight: 600; margin-bottom: 0.5rem`.
76
79
  - Case type button: `display: flex; align-items: center; gap: 0.5rem; padding: 8px 12px; border: 1px solid var(--border-color); border-radius: 4px; cursor: pointer; background: white`.
@@ -100,15 +103,16 @@ Rendering is delegated to `WssQuickCreate` — implement that DSE component for
100
103
 
101
104
  If implementing without `WssQuickCreate`:
102
105
 
103
- | Design System | Button List |
104
- |---|---|
105
- | Default (CSS only) | `<button>` list with optional `<img>` icon |
106
- | MUI | `<List>` + `<ListItemButton>` or `<Button>` stack |
107
- | Ant Design | `<Space direction='vertical'>` + `<Button>` per case type |
108
- | Chakra UI | `<VStack>` + `<Button>` per case type |
109
- | Shadcn/ui | `<div>` stack + `<Button variant='outline'>` |
106
+ | Design System | Button List |
107
+ | ------------------ | --------------------------------------------------------- |
108
+ | Default (CSS only) | `<button>` list with optional `<img>` icon |
109
+ | MUI | `<List>` + `<ListItemButton>` or `<Button>` stack |
110
+ | Ant Design | `<Space direction='vertical'>` + `<Button>` per case type |
111
+ | Chakra UI | `<VStack>` + `<Button>` per case type |
112
+ | Shadcn/ui | `<div>` stack + `<Button variant='outline'>` |
110
113
 
111
114
  When implementing in a specific design system:
115
+
112
116
  - `classFilter` empty array = show ALL case types (not zero) — this is a common gotcha
113
117
  - `createWork` must be called with the correct `containerName` constant (`APP.APP`)
114
118
  - `showCaseIcons` is optional — only fetch/render icons when this prop is `true`
@@ -26,12 +26,12 @@ Individual item card for displaying an attachment, file, or link with an icon, n
26
26
 
27
27
  ### Props
28
28
 
29
- | Prop | Type | Required | Description |
30
- |------|------|----------|-------------|
31
- | `arItems$` | `object` | Yes | A single item object (see Item Structure below) |
32
- | `menuIconOverride$` | `string` | No | If provided, replaces the standard actions menu with a single direct-action icon button |
33
- | `menuIconOverrideAction$` | `function` | No | Callback invoked when the override icon button is clicked |
34
- | `getPConnect` | `function` | Yes | PConnect getter |
29
+ | Prop | Type | Required | Description |
30
+ | ------------------------- | ---------- | -------- | --------------------------------------------------------------------------------------- |
31
+ | `arItems$` | `object` | Yes | A single item object (see Item Structure below) |
32
+ | `menuIconOverride$` | `string` | No | If provided, replaces the standard actions menu with a single direct-action icon button |
33
+ | `menuIconOverrideAction$` | `function` | No | Callback invoked when the override icon button is clicked |
34
+ | `getPConnect` | `function` | Yes | PConnect getter |
35
35
 
36
36
  ### Item Structure (`arItems$`)
37
37
 
@@ -82,14 +82,15 @@ Individual item card for displaying an attachment, file, or link with an icon, n
82
82
  [Actions button (⋮ or override)]
83
83
  ```
84
84
 
85
- | Element | Description |
86
- |---------|-------------|
87
- | File icon | Left side, fixed size (~36px square) |
88
- | Name | Bold, truncated with ellipsis if too long |
89
- | Metadata | Smaller, secondary-color text |
85
+ | Element | Description |
86
+ | -------------- | --------------------------------------------- |
87
+ | File icon | Left side, fixed size (~36px square) |
88
+ | Name | Bold, truncated with ellipsis if too long |
89
+ | Metadata | Smaller, secondary-color text |
90
90
  | Actions button | Right side, `<MoreVertIcon>` or override icon |
91
91
 
92
92
  **CSS-only implementation notes:**
93
+
93
94
  - Row: `display: flex; align-items: center; gap: 0.75rem; padding: 8px 0`.
94
95
  - File icon: `width: 36px; height: 36px; flex-shrink: 0`.
95
96
  - Content area: `flex: 1; min-width: 0` (prevents text overflow).
@@ -112,12 +113,12 @@ Individual item card for displaying an attachment, file, or link with an icon, n
112
113
 
113
114
  ### Props
114
115
 
115
- | Prop | Type | Required | Description |
116
- |------|------|----------|-------------|
117
- | `arItems$` | `any[]` | Yes | Array of item objects (same shape as `SummaryItem`'s `arItems$`) |
118
- | `menuIconOverride$` | `string` | No | Passed to every `SummaryItem` |
119
- | `menuIconOverrideAction$` | `any` | No | Passed to every `SummaryItem` |
120
- | `getPConnect` | `function` | Yes | PConnect getter |
116
+ | Prop | Type | Required | Description |
117
+ | ------------------------- | ---------- | -------- | ---------------------------------------------------------------- |
118
+ | `arItems$` | `any[]` | Yes | Array of item objects (same shape as `SummaryItem`'s `arItems$`) |
119
+ | `menuIconOverride$` | `string` | No | Passed to every `SummaryItem` |
120
+ | `menuIconOverrideAction$` | `any` | No | Passed to every `SummaryItem` |
121
+ | `getPConnect` | `function` | Yes | PConnect getter |
121
122
 
122
123
  ### Behavioral Contract
123
124
 
@@ -152,15 +153,16 @@ No state, no data fetching — purely a mapping wrapper.
152
153
 
153
154
  Listed design systems are examples only.
154
155
 
155
- | Design System | Row Layout | Action Menu |
156
- |---|---|---|
157
- | Default (CSS only) | `<div>` flexbox row | `<button>` + custom dropdown |
158
- | MUI | `<ListItem>` or `<Box display='flex'>` | `<IconButton>` + `<Menu>/<MenuItem>` |
159
- | Ant Design | `<List.Item>` | `<Dropdown menu={{ items }}>` |
160
- | Chakra UI | `<HStack>` | `<Menu>/<MenuButton>/<MenuList>` |
161
- | Shadcn/ui | `<div>` flexbox | `<DropdownMenu>` |
156
+ | Design System | Row Layout | Action Menu |
157
+ | ------------------ | -------------------------------------- | ------------------------------------ |
158
+ | Default (CSS only) | `<div>` flexbox row | `<button>` + custom dropdown |
159
+ | MUI | `<ListItem>` or `<Box display='flex'>` | `<IconButton>` + `<Menu>/<MenuItem>` |
160
+ | Ant Design | `<List.Item>` | `<Dropdown menu={{ items }}>` |
161
+ | Chakra UI | `<HStack>` | `<Menu>/<MenuButton>/<MenuList>` |
162
+ | Shadcn/ui | `<div>` flexbox | `<DropdownMenu>` |
162
163
 
163
164
  When implementing in a specific design system:
165
+
164
166
  - `menuIconOverride$` completely replaces the standard `⋮` menu — check for it before rendering the actions area
165
167
  - `type === 'URL'` must render the name as a clickable link (not plain text)
166
168
  - `secondary.error` is a boolean — apply error styling to the `secondary.text` when `true`
@@ -18,28 +18,30 @@ Renders a compact to-do / worklist panel showing the user's pending assignments.
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `datasource` | `any` | No | Array of assignments passed directly (used in `todo` type). If provided, skips the data page fetch |
24
- | `myWorkList` | `any` | No | Work list config object `{ datapage: string, fields: [...] }` — for `worklist` type |
25
- | `caseInfoID` | `string` | No | Case ID to filter assignments (used in `todo` type) |
26
- | `headerText` | `string` | No | Widget title. Default: `"To do"` |
27
- | `itemKey` | `string` | No | Field key (reserved, currently unused) |
28
- | `showTodoList` | `boolean` | No | Whether to show the assignment list. Default `true` |
29
- | `type` | `string` | No | `'worklist'` (personal work) or `'todo'` (case-level). Default `'worklist'` |
30
- | `context` | `string` | No | Context name for API calls. Falls back to `pConn.getContextName()` |
31
- | `isConfirm` | `boolean` | No | Confirmation mode — adjusts rendering for post-submit confirmation view |
32
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | -------------- | ---------- | -------- | -------------------------------------------------------------------------------------------------- |
23
+ | `datasource` | `any` | No | Array of assignments passed directly (used in `todo` type). If provided, skips the data page fetch |
24
+ | `myWorkList` | `any` | No | Work list config object `{ datapage: string, fields: [...] }` — for `worklist` type |
25
+ | `caseInfoID` | `string` | No | Case ID to filter assignments (used in `todo` type) |
26
+ | `headerText` | `string` | No | Widget title. Default: `"To do"` |
27
+ | `itemKey` | `string` | No | Field key (reserved, currently unused) |
28
+ | `showTodoList` | `boolean` | No | Whether to show the assignment list. Default `true` |
29
+ | `type` | `string` | No | `'worklist'` (personal work) or `'todo'` (case-level). Default `'worklist'` |
30
+ | `context` | `string` | No | Context name for API calls. Falls back to `pConn.getContextName()` |
31
+ | `isConfirm` | `boolean` | No | Confirmation mode — adjusts rendering for post-submit confirmation view |
32
+ | `getPConnect` | `function` | Yes | PConnect getter |
33
33
 
34
34
  ## Behavioral Contract
35
35
 
36
36
  ### Data Source Resolution
37
37
 
38
38
  **`type === 'todo'` (case-level):**
39
+
39
40
  - Use `datasource` prop directly (array of assignment objects).
40
41
  - `caseInfoID` is used to scope the assignments.
41
42
 
42
43
  **`type === 'worklist'` (personal work):**
44
+
43
45
  - Fetch from `myWorkList.datapage` (e.g., `D_WorkList`) via:
44
46
  ```
45
47
  PCore.getDataPageUtils().getDataAsync(
@@ -69,20 +71,22 @@ Renders a compact to-do / worklist panel showing the user's pending assignments.
69
71
  ### Open Assignment
70
72
 
71
73
  On item click:
74
+
72
75
  ```typescript
73
76
  pConn.getActionsApi().openAssignment(
74
- assignment.pxRefObjectKey, // case key
77
+ assignment.pxRefObjectKey, // case key
75
78
  assignment.pxRefObjectClass, // class name
76
79
  {
77
80
  containerName: pConn.getContainerName() || PCore.getConstants().APP.APP,
78
- channelName: ''
79
- }
81
+ channelName: '',
82
+ },
80
83
  );
81
84
  ```
82
85
 
83
86
  ### Assignment Item Rendering
84
87
 
85
88
  For each assignment, show:
89
+
86
90
  - **Avatar:** Circle with user initials (derived from `pConn.getContextObject?.().pyLabel` or operator name).
87
91
  - **Name/title:** `assignment.pyLabel` — the assignment task name.
88
92
  - **Status badge (worklist only):** `assignment.pyStatusWork` — colored status pill.
@@ -93,6 +97,7 @@ For each assignment, show:
93
97
  ### Responsive Layout
94
98
 
95
99
  Use `useMediaQuery(theme.breakpoints.down('sm'))` (MUI) to detect mobile:
100
+
96
101
  - **Desktop:** Show avatar, name, status, priority, and arrow in a horizontal row.
97
102
  - **Mobile:** Stack or truncate elements for narrow display.
98
103
 
@@ -109,10 +114,11 @@ If an assignment has `canPerform === false`, render it as non-clickable (greyed
109
114
  ### Operator Avatar Initials
110
115
 
111
116
  Extract initials from `PCore.getEnvironmentInfo().getOperatorName()`:
117
+
112
118
  ```typescript
113
119
  const initials = operatorName
114
120
  .split(' ')
115
- .map(w => w[0])
121
+ .map((w) => w[0])
116
122
  .join('')
117
123
  .substring(0, 2)
118
124
  .toUpperCase();
@@ -122,23 +128,24 @@ const initials = operatorName
122
128
 
123
129
  ### Card Layout
124
130
 
125
- | Element | Description |
126
- |---------|-------------|
127
- | Card header | `headerText` (default `"To do"`) + badge with count |
128
- | Assignment rows | Up to `showCount` items |
129
- | Show more/less button | Below the last visible item |
131
+ | Element | Description |
132
+ | --------------------- | --------------------------------------------------- |
133
+ | Card header | `headerText` (default `"To do"`) + badge with count |
134
+ | Assignment rows | Up to `showCount` items |
135
+ | Show more/less button | Below the last visible item |
130
136
 
131
137
  ### Assignment Row
132
138
 
133
- | Element | Desktop | Mobile |
134
- |---------|---------|--------|
135
- | Avatar circle | Shown | Shown |
136
- | Task name | Full text | Truncated |
137
- | Status badge | Shown | Hidden or small |
138
- | Priority indicator | Shown | Simplified |
139
- | Arrow icon | Shown | Shown |
139
+ | Element | Desktop | Mobile |
140
+ | ------------------ | --------- | --------------- |
141
+ | Avatar circle | Shown | Shown |
142
+ | Task name | Full text | Truncated |
143
+ | Status badge | Shown | Hidden or small |
144
+ | Priority indicator | Shown | Simplified |
145
+ | Arrow icon | Shown | Shown |
140
146
 
141
147
  **CSS-only implementation notes:**
148
+
142
149
  - Card: standard card layout.
143
150
  - Assignment row: `display: flex; align-items: center; gap: 0.75rem; padding: 10px 0; cursor: pointer; border-bottom: 1px solid var(--divider-color)`.
144
151
  - Avatar: `width: 36px; height: 36px; border-radius: 50%; background: var(--avatar-bg); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 600`.
@@ -175,15 +182,16 @@ const initials = operatorName
175
182
 
176
183
  Listed design systems are examples only.
177
184
 
178
- | Design System | Card | List | Badge | Snackbar |
179
- |---|---|---|---|---|
180
- | Default (CSS only) | `<div>` card | `<ul>/<li>` | CSS counter badge | Custom toast overlay |
181
- | MUI | `<Card>` + `<CardHeader>` | `<List>/<ListItem>` | `<Badge>` | `<Snackbar>/<Alert>` |
182
- | Ant Design | `<Card>` | `<List>` | `<Badge count={N}>` | `message.error()` |
183
- | Chakra UI | `<Card>` | `<VStack>` | `<Badge>` | `useToast()` |
184
- | Shadcn/ui | `<Card>` | `<ul>/<li>` | Custom badge | `<Toaster>` + `toast.error()` |
185
+ | Design System | Card | List | Badge | Snackbar |
186
+ | ------------------ | ------------------------- | ------------------- | ------------------- | ----------------------------- |
187
+ | Default (CSS only) | `<div>` card | `<ul>/<li>` | CSS counter badge | Custom toast overlay |
188
+ | MUI | `<Card>` + `<CardHeader>` | `<List>/<ListItem>` | `<Badge>` | `<Snackbar>/<Alert>` |
189
+ | Ant Design | `<Card>` | `<List>` | `<Badge count={N}>` | `message.error()` |
190
+ | Chakra UI | `<Card>` | `<VStack>` | `<Badge>` | `useToast()` |
191
+ | Shadcn/ui | `<Card>` | `<ul>/<li>` | Custom badge | `<Toaster>` + `toast.error()` |
185
192
 
186
193
  When implementing in a specific design system:
194
+
187
195
  - Show top 3 items by default — `showCount` state controls slice; "Show more/less" toggles between 3 and full length
188
196
  - `canPerform === false` must make the row non-clickable — check this before calling `openAssignment`
189
197
  - `type === 'worklist'` fetches from a data page; `type === 'todo'` uses the `datasource` prop — both paths must be implemented