@pega/sdk 0.0.3 → 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 (346) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +12 -55
  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 +1 -1
  12. package/templates/react-sdk-reference/.claude/instructions/field-component.md +4 -0
  13. package/templates/react-sdk-reference/.claude/instructions/template-component.md +2 -1
  14. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +1 -0
  15. package/templates/react-sdk-reference/.claude/prompts/add-component.md +18 -10
  16. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +165 -83
  17. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +26 -17
  18. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +27 -13
  19. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +42 -28
  20. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +48 -34
  21. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +25 -11
  22. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +65 -65
  23. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +99 -99
  24. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +40 -38
  25. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +54 -51
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +32 -28
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +38 -35
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +29 -26
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +32 -26
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +17 -15
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +13 -11
  36. package/templates/react-sdk-reference/.claude/skills/field-components.md +9 -8
  37. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +27 -26
  38. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +30 -22
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +60 -43
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +23 -20
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +19 -17
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +18 -15
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +22 -21
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +50 -30
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +20 -18
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +21 -15
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +17 -16
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +30 -21
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +66 -42
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +27 -18
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +22 -21
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +36 -17
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +56 -35
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +23 -12
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +41 -31
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +70 -55
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +34 -27
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +24 -22
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +38 -22
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +24 -21
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +16 -15
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +16 -15
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +57 -34
  64. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +10 -8
  65. package/templates/react-sdk-reference/.claude/skills/template-components.md +7 -8
  66. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +27 -21
  67. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +17 -15
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +19 -16
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +19 -13
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +23 -17
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +34 -29
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +18 -16
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +36 -32
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +23 -21
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +31 -29
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +19 -17
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +22 -20
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +19 -17
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +19 -17
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +15 -10
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +19 -16
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +18 -15
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +17 -13
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +10 -13
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +9 -7
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +33 -30
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +42 -40
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +25 -20
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +25 -19
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +36 -29
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +31 -27
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +14 -11
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +34 -32
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +48 -46
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +23 -19
  98. package/templates/react-sdk-reference/.claude/skills/widget-components.md +11 -22
  99. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +22 -20
  100. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +33 -28
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +18 -15
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +43 -37
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +23 -19
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +20 -16
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +26 -24
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +43 -35
  107. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +165 -83
  108. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  109. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  110. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  111. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  112. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  113. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  114. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +58 -15
  115. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  116. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +322 -65
  117. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +124 -50
  118. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +145 -66
  119. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +146 -73
  120. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +128 -49
  121. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  122. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  123. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  124. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  125. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  126. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  127. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  128. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  129. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  130. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  131. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  132. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  133. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  134. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +13 -11
  135. package/templates/react-sdk-reference/.github/skills/field-components.md +9 -8
  136. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  137. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  138. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  139. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  140. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  141. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  142. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  143. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  144. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  145. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  146. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  147. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  148. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  149. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  150. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  151. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  152. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  153. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  154. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  155. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  156. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  157. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  158. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  159. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  160. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  161. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  162. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  163. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  164. package/templates/react-sdk-reference/.github/skills/template-components.md +7 -8
  165. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  166. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  167. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  168. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  169. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  170. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  171. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  172. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  173. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  174. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  175. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  176. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  177. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  178. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  179. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  180. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  181. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  182. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  183. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  184. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  185. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  186. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  187. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  188. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  189. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  190. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  191. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  192. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  193. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  194. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  195. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  196. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  197. package/templates/react-sdk-reference/.github/skills/widget-components.md +11 -22
  198. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  199. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  200. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  201. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  202. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  203. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  204. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  205. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  206. package/templates/react-sdk-reference/AGENTS.md +0 -1
  207. package/templates/react-sdk-reference/index.html +1 -4
  208. package/templates/react-sdk-reference/package.json +15 -15
  209. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  210. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  211. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  212. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  213. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  214. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  215. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  216. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  217. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  218. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  219. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  220. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  221. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  222. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  223. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  224. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  225. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  226. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  227. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  228. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  229. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  230. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  231. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  232. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  233. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  234. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  235. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  236. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  237. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  238. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  239. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  240. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  241. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  242. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  243. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  244. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  245. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  246. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  247. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  248. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  249. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  250. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  251. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  252. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  253. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  254. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  255. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  256. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  257. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  258. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  259. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  260. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  261. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  262. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  263. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  264. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  265. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  266. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  267. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  268. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  269. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  270. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  271. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  272. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  273. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  274. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  275. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  276. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  277. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  278. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  279. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  280. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  281. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  282. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  283. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  284. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  285. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  286. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  287. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  288. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  289. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  290. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  291. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  292. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  293. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  294. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  295. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  296. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  297. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  298. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  299. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  300. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  301. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  302. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  303. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  304. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  305. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  306. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  307. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  308. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  309. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  310. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  311. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  312. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  313. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  314. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  315. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  316. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  317. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  318. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  319. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  320. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  321. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  322. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  323. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  324. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  325. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  326. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  327. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  328. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  329. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  330. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  331. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  332. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  333. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  334. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  335. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  336. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  337. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  338. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  339. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  340. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  341. package/templates/react-sdk-reference/src/main.tsx +1 -1
  342. package/templates/react-sdk-reference/tsconfig.json +2 -1
  343. package/templates/react-sdk-reference/vite.config.ts +51 -26
  344. package/templates/wc-sdk-reference/package.json +3 -3
  345. package/templates/wc-sdk-reference/src/index.ts +10 -10
  346. package/templates/wc-sdk-reference/tsconfig.json +1 -0
@@ -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
@@ -3,7 +3,6 @@
3
3
  > Claude Code instructions for the Pega React SDK reference application.
4
4
  > Skill files and workflow prompts are in `.claude/skills/` and `.claude/prompts/`. Read them when asked to generate or replace components.
5
5
 
6
-
7
6
  You are assisting developers in a React reference application that demonstrates the Pega Infinity SDK. Customers clone this repo and **replace the sample UI components with their own design system** (MUI, Chakra, Radix, Shadcn, Ant Design, or any other).
8
7
 
9
8
  ---
@@ -27,10 +27,7 @@
27
27
  </head>
28
28
  <body>
29
29
  <div id="outlet" style="width: 100%"></div>
30
- <script
31
- src="node_modules/@pega/constellationjs/dist/constellation-core-web.js"
32
- type="text/javascript"
33
- ></script>
30
+ <script src="node_modules/@pega/constellationjs/dist/constellation-core-web.js" type="text/javascript"></script>
34
31
  <script type="module" src="/src/main.tsx"></script>
35
32
  </body>
36
33
  </html>
@@ -11,11 +11,11 @@
11
11
  "dependencies": {
12
12
  "@emotion/react": "^11.14.0",
13
13
  "@emotion/styled": "^11.14.1",
14
- "@mui/icons-material": "^9.0.0",
15
- "@mui/lab": "^9.0.0-beta.3",
16
- "@mui/material": "^9.0.0",
14
+ "@mui/icons-material": "^9.2.0",
15
+ "@mui/lab": "^9.0.0-beta.6",
16
+ "@mui/material": "^9.2.0",
17
17
  "@mui/styles": "^6.5.0",
18
- "@mui/x-date-pickers": "^9.2.0",
18
+ "@mui/x-date-pickers": "^9.9.0",
19
19
  "@pega/auth": "file:pega-auth-0.2.42.tgz",
20
20
  "@pega/constellationjs": "file:pega-constellationjs-0.26.3-local.tgz",
21
21
  "@pega/sdk-react": "file:pega-sdk-react-0.1.0.tgz",
@@ -23,31 +23,31 @@
23
23
  "@react-google-maps/api": "^2.20.8",
24
24
  "@tinymce/tinymce-react": "^6.3.0",
25
25
  "clsx": "^2.1.1",
26
- "dayjs": "^1.11.20",
26
+ "dayjs": "^1.11.21",
27
27
  "downloadjs": "^1.4.7",
28
28
  "fast-deep-equal": "^3.1.3",
29
29
  "lodash.clonedeep": "^4.5.0",
30
30
  "mui-tel-input": "^11.0.0",
31
- "react": "^18.3.1",
31
+ "react": "^19.2.7",
32
32
  "react-datepicker": "^9.1.0",
33
- "react-dom": "^18.3.1",
33
+ "react-dom": "^19.2.7",
34
34
  "react-number-format": "^5.4.5",
35
35
  "react-redux": "^9.3.0",
36
- "react-router-dom": "^7.6.1",
36
+ "react-router-dom": "^7.18.1",
37
37
  "throttle-debounce": "^5.0.2"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@pega/pcore-pconnect-typedefs": "^4.1.0",
41
41
  "@types/downloadjs": "^1.4.6",
42
42
  "@types/lodash.clonedeep": "^4.5.9",
43
- "@types/react": "^18.3.18",
44
- "@types/react-datepicker": "^6.2.0",
45
- "@types/react-dom": "^18.3.5",
43
+ "@types/react": "^19.2.17",
44
+ "@types/react-datepicker": "^7.0.0",
45
+ "@types/react-dom": "^19.2.3",
46
46
  "@types/react-redux": "^7.1.34",
47
47
  "@types/throttle-debounce": "^5.0.2",
48
- "@vitejs/plugin-react": "^4.3.4",
49
- "typescript": "~5.8.2",
50
- "vite": "^6.3.5",
51
- "vite-plugin-static-copy": "^2.3.0"
48
+ "@vitejs/plugin-react": "^6.0.3",
49
+ "typescript": "~6.0.3",
50
+ "vite": "^8.1.4",
51
+ "vite-plugin-static-copy": "^4.1.1"
52
52
  }
53
53
  }
@@ -5,12 +5,12 @@ import { PortalApp } from './PortalApp';
5
5
  function AppSelector() {
6
6
  return (
7
7
  <Routes>
8
- <Route path='/portal' element={<PortalApp />} />
9
- <Route path='/portal.html' element={<PortalApp />} />
10
- <Route path='/embedded' element={<MashupApp />} />
11
- <Route path='/embedded.html' element={<MashupApp />} />
12
- <Route path='/' element={<MashupApp />} />
13
- <Route path='*' element={<MashupApp />} />
8
+ <Route path="/portal" element={<PortalApp />} />
9
+ <Route path="/portal.html" element={<PortalApp />} />
10
+ <Route path="/embedded" element={<MashupApp />} />
11
+ <Route path="/embedded.html" element={<MashupApp />} />
12
+ <Route path="/" element={<MashupApp />} />
13
+ <Route path="*" element={<MashupApp />} />
14
14
  </Routes>
15
15
  );
16
16
  }
@@ -18,9 +18,7 @@ function FallbackComponent({
18
18
  const displayProps = Object.fromEntries(
19
19
  Object.entries(props).filter(
20
20
  ([k]) =>
21
- !['getPConnect', 'pConnect', 'fallback', 'componentRegistry'].includes(
22
- k,
23
- ) && typeof props[k] !== 'function',
21
+ !['getPConnect', 'pConnect', 'fallback', 'componentRegistry'].includes(k) && typeof props[k] !== 'function',
24
22
  ),
25
23
  );
26
24
 
@@ -28,9 +26,7 @@ function FallbackComponent({
28
26
  <div style={styles.fallback.container}>
29
27
  <div style={styles.fallback.label}>{componentName ?? 'Unknown'}</div>
30
28
  {Object.keys(displayProps).length > 0 && (
31
- <pre style={styles.fallback.props}>
32
- {JSON.stringify(displayProps, null, 2)}
33
- </pre>
29
+ <pre style={styles.fallback.props}>{JSON.stringify(displayProps, null, 2)}</pre>
34
30
  )}
35
31
  {children && <div style={styles.fallback.children}>{children}</div>}
36
32
  </div>