@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
@@ -201,6 +201,7 @@ DSE components use one of three approaches depending on the component and design
201
201
  ### Design System Style Props (use if your DS provides them)
202
202
 
203
203
  If the chosen design system provides built-in spacing, typography, or layout props, prefer them over plain CSS:
204
+
204
205
  - Use the DS's layout wrapper (e.g., `<Stack>`, `<Flex>`, `<HStack>`) instead of manual flex CSS
205
206
  - Use DS typography components (e.g., `<Text>`, `<Heading>`) instead of raw `<span>`/`<div>`
206
207
  - Use DS CSS custom properties or tokens for spacing — never hardcode `px` values
@@ -212,11 +213,11 @@ If the chosen design system provides built-in spacing, typography, or layout pro
212
213
 
213
214
  DSE components fall into three patterns with different DS dependencies:
214
215
 
215
- | Pattern | Examples | DS needed? |
216
- |---|---|---|
217
- | **B — Pure display** (no PConnect) | AlertBanner, Banner, Operator, WssQuickCreate | Yes — DS provides alert/card/avatar primitives |
218
- | **A — PConnect display** | CaseSummaryFields, DetailsFields, FieldValueList | Minimal — CSS-based layout; DS typography optional |
219
- | **C — Complex display** (PConnect bridge) | FieldGroup, FieldGroupList, Pulse | No — PConnect bridge is DS-agnostic; semantic HTML |
216
+ | Pattern | Examples | DS needed? |
217
+ | ----------------------------------------- | ------------------------------------------------ | -------------------------------------------------- |
218
+ | **B — Pure display** (no PConnect) | AlertBanner, Banner, Operator, WssQuickCreate | Yes — DS provides alert/card/avatar primitives |
219
+ | **A — PConnect display** | CaseSummaryFields, DetailsFields, FieldValueList | Minimal — CSS-based layout; DS typography optional |
220
+ | **C — Complex display** (PConnect bridge) | FieldGroup, FieldGroupList, Pulse | No — PConnect bridge is DS-agnostic; semantic HTML |
220
221
 
221
222
  The component-specific skill file specifies which pattern applies.
222
223
 
@@ -225,6 +226,7 @@ The component-specific skill file specifies which pattern applies.
225
226
  **2. If the chosen design system is not listed** — use the component purpose and pattern category above to pick the closest DS primitive.
226
227
 
227
228
  **3. Discover the API from installed packages** — confirm component names and props from `.d.ts` before writing JSX:
229
+
228
230
  ```bash
229
231
  find node_modules/<ds-package> -name "*.d.ts" | xargs grep -l "Alert\|Badge\|Avatar" | head -5
230
232
  grep -A 30 "interface.*Props" <path-to-file>
@@ -232,12 +234,12 @@ grep -A 30 "interface.*Props" <path-to-file>
232
234
 
233
235
  **4. Variant mapping** — always map Pega's variant names to your DS equivalent before passing to DS components:
234
236
 
235
- | Pega variant | Meaning | Typical DS equivalent |
236
- |---|---|---|
237
- | `urgent` | Critical / error | `error`, `danger`, `critical` |
238
- | `warning` | Warning | `warning` |
239
- | `info` | Informational | `info` |
240
- | `success` | Success | `success` |
237
+ | Pega variant | Meaning | Typical DS equivalent |
238
+ | ------------ | ---------------- | ----------------------------- |
239
+ | `urgent` | Critical / error | `error`, `danger`, `critical` |
240
+ | `warning` | Warning | `warning` |
241
+ | `info` | Informational | `info` |
242
+ | `success` | Success | `success` |
241
243
 
242
244
  ---
243
245
 
@@ -158,6 +158,7 @@ When filling in the `// [DS RENDER]` section with a specific design system:
158
158
  **2. If the chosen design system is not in the mapping table** — use the **UI control type** field in the same skill file (e.g., `"Combobox / typeahead autocomplete input"`) to identify the closest DS primitive.
159
159
 
160
160
  **3. Discover the API from installed packages** — before writing any render JSX, confirm all prop names from `.d.ts` files. Never rely on training-knowledge of a DS API:
161
+
161
162
  ```bash
162
163
  find node_modules/<ds-package> -name "ComponentName.d.ts" | head -3
163
164
  grep -A 40 "interface.*Props" <path-to-file>
@@ -165,14 +166,14 @@ grep -A 40 "interface.*Props" <path-to-file>
165
166
 
166
167
  **4. Prop mapping conventions** — adapt these Pega/SDK props to whatever your DS component calls them:
167
168
 
168
- | Pega/SDK prop | Meaning | Typical DS equivalent |
169
- |---|---|---|
170
- | `status === 'error'` | Validation error state | `error`, `status="error"`, `invalid`, `isInvalid` |
171
- | `validatemessage \|\| helperText` | Helper/error text below field | `helperText`, `description`, `hint`, `extra` |
172
- | `readOnly` | Non-editable, still visible | `readOnly`, `isReadOnly`, `variant="borderless"` |
173
- | `testId` | Automation selector | `data-test-id` on the underlying `<input>` element |
174
- | `required` | Required field marker | `required`, `isRequired` |
175
- | `hideLabel` | Suppress label display | Pass empty string `''` as label |
169
+ | Pega/SDK prop | Meaning | Typical DS equivalent |
170
+ | --------------------------------- | ----------------------------- | -------------------------------------------------- |
171
+ | `status === 'error'` | Validation error state | `error`, `status="error"`, `invalid`, `isInvalid` |
172
+ | `validatemessage \|\| helperText` | Helper/error text below field | `helperText`, `description`, `hint`, `extra` |
173
+ | `readOnly` | Non-editable, still visible | `readOnly`, `isReadOnly`, `variant="borderless"` |
174
+ | `testId` | Automation selector | `data-test-id` on the underlying `<input>` element |
175
+ | `required` | Required field marker | `required`, `isRequired` |
176
+ | `hideLabel` | Suppress label display | Pass empty string `''` as label |
176
177
 
177
178
  **5. Use a form layout wrapper** — if the DS provides a wrapper that combines label + input + helper text (e.g., `<Form.Item>` in Ant Design, `<FormControl>` in Chakra UI), use it rather than composing them manually.
178
179
 
@@ -18,16 +18,16 @@ Renders a typeahead input that shows a dropdown of matching options as the user
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Description |
22
- |------|------|-------------|
23
- | `listType` | `string` | `'associated'` or `'datapage'` |
24
- | `datasource` | `any` | Datasource (array for associated, string name for datapage) |
25
- | `columns` | `any[]` | Column config for extracting key/value from datasource records |
26
- | `parameters` | `any` (optional) | Query parameters for data page calls |
27
- | `deferDatasource` | `boolean` (optional) | If true, transform `datasourceMetadata` into datapage config |
28
- | `datasourceMetadata` | `any` (optional) | Metadata for deferred datasource |
29
- | `onRecordChange` | `any` (optional) | Callback fired on selection change |
30
- | `additionalProps` | `object` (optional) | Extra props passed through to the autocomplete |
21
+ | Prop | Type | Description |
22
+ | -------------------- | -------------------- | -------------------------------------------------------------- |
23
+ | `listType` | `string` | `'associated'` or `'datapage'` |
24
+ | `datasource` | `any` | Datasource (array for associated, string name for datapage) |
25
+ | `columns` | `any[]` | Column config for extracting key/value from datasource records |
26
+ | `parameters` | `any` (optional) | Query parameters for data page calls |
27
+ | `deferDatasource` | `boolean` (optional) | If true, transform `datasourceMetadata` into datapage config |
28
+ | `datasourceMetadata` | `any` (optional) | Metadata for deferred datasource |
29
+ | `onRecordChange` | `any` (optional) | Callback fired on selection change |
30
+ | `additionalProps` | `object` (optional) | Extra props passed through to the autocomplete |
31
31
 
32
32
  ## Behavioral Contract
33
33
 
@@ -64,18 +64,19 @@ Resolve the display label from options and delegate: `return <TextInput {...prop
64
64
 
65
65
  ## Visual Specifications
66
66
 
67
- | Property | Value |
68
- |----------|-------|
69
- | Width | 100% |
70
- | Size | Small |
71
- | Variant | Outlined |
72
- | Dropdown popup | Opens below input, shows filtered options |
73
- | Input | Combobox pattern — types to filter, click arrow to open all |
74
- | Error state | Red border + red helper text |
75
- | Label | Floating label |
76
- | Placeholder | From `placeholder` prop |
67
+ | Property | Value |
68
+ | -------------- | ----------------------------------------------------------- |
69
+ | Width | 100% |
70
+ | Size | Small |
71
+ | Variant | Outlined |
72
+ | Dropdown popup | Opens below input, shows filtered options |
73
+ | Input | Combobox pattern — types to filter, click arrow to open all |
74
+ | Error state | Red border + red helper text |
75
+ | Label | Floating label |
76
+ | Placeholder | From `placeholder` prop |
77
77
 
78
78
  **Autocomplete behavior:**
79
+
79
80
  - The controlled `value` is the selected option object (or `selectedValue` string).
80
81
  - The controlled `inputValue` is the typed text.
81
82
  - `getOptionLabel` returns `option.value` (the display label).
@@ -104,9 +105,9 @@ Resolve the display label from options and delegate: `return <TextInput {...prop
104
105
 
105
106
  Listed design systems are examples only.
106
107
 
107
- | Design System | Recommended Component |
108
- |---|---|
109
- | Default (CSS only) | `<input>` + custom dropdown list with filtering |
110
- | MUI | `<Autocomplete>` with `renderInput` using `<TextField>` |
111
- | Ant Design | `<AutoComplete>` or `<Select showSearch>` |
112
- | Chakra UI | `<Combobox>` (Downshift) or third-party |
108
+ | Design System | Recommended Component |
109
+ | ------------------ | ------------------------------------------------------- |
110
+ | Default (CSS only) | `<input>` + custom dropdown list with filtering |
111
+ | MUI | `<Autocomplete>` with `renderInput` using `<TextField>` |
112
+ | Ant Design | `<AutoComplete>` or `<Select showSearch>` |
113
+ | Chakra UI | `<Combobox>` (Downshift) or third-party |
@@ -18,26 +18,26 @@ Renders a full-screen modal overlay with a confirmation dialog. Presents two act
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Description |
22
- |------|------|-------------|
23
- | `heading` | `string` | Modal dialog heading text |
24
- | `content` | `string` | Modal dialog body/description text |
25
- | `itemKey` | `string` | The container item ID for the case being cancelled (aliased as `containerItemID`) |
26
- | `hideDelete` | `boolean` | Whether to hide/disable the delete option |
27
- | `isDataObject` | `boolean` | Whether this is cancelling a data object (not a work item) |
28
- | `skipReleaseLockRequest` | `any` | Whether to skip lock release when removing container item |
29
- | `dismiss` | `Function` | Callback to close/dismiss this dialog (called with `true` to indicate confirmed dismiss) |
21
+ | Prop | Type | Description |
22
+ | ------------------------ | ---------- | ---------------------------------------------------------------------------------------- |
23
+ | `heading` | `string` | Modal dialog heading text |
24
+ | `content` | `string` | Modal dialog body/description text |
25
+ | `itemKey` | `string` | The container item ID for the case being cancelled (aliased as `containerItemID`) |
26
+ | `hideDelete` | `boolean` | Whether to hide/disable the delete option |
27
+ | `isDataObject` | `boolean` | Whether this is cancelling a data object (not a work item) |
28
+ | `skipReleaseLockRequest` | `any` | Whether to skip lock release when removing container item |
29
+ | `dismiss` | `Function` | Callback to close/dismiss this dialog (called with `true` to indicate confirmed dismiss) |
30
30
 
31
31
  ## Behavioral Contract
32
32
 
33
33
  ### Setup
34
34
 
35
35
  ```typescript
36
- const actionsAPI = getPConnect().getActionsApi()
37
- const containerManagerAPI = getPConnect().getContainerManager()
38
- const isLocalAction = getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION)
39
- const isBulkAction = getPConnect()?.options?.isBulkAction
40
- const isReverseCoexistence = PCore.getCoexistenceManager().getBroadcastUtils().isReverseCoexistenceCaseLoaded()
36
+ const actionsAPI = getPConnect().getActionsApi();
37
+ const containerManagerAPI = getPConnect().getContainerManager();
38
+ const isLocalAction = getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);
39
+ const isBulkAction = getPConnect()?.options?.isBulkAction;
40
+ const isReverseCoexistence = PCore.getCoexistenceManager().getBroadcastUtils().isReverseCoexistenceCaseLoaded();
41
41
  ```
42
42
 
43
43
  ### State
@@ -49,6 +49,7 @@ const isReverseCoexistence = PCore.getCoexistenceManager().getBroadcastUtils().i
49
49
  ### "Go back" button (`leftButton`)
50
50
 
51
51
  Always calls `dismiss()` (no argument = don't confirm). If `isReverseCoexistence`:
52
+
52
53
  ```
53
54
  broadCastUtils.setCallBackFunction(null)
54
55
  broadCastUtils.setIsDirtyDialogActive(false)
@@ -59,6 +60,7 @@ broadCastUtils.setIsDirtyDialogActive(false)
59
60
  Decision tree (evaluated in order):
60
61
 
61
62
  1. **Reverse coexistence:**
63
+
62
64
  ```
63
65
  dismiss(true)
64
66
  PCore.getPubSubUtils().publish(REVERSE_COEXISTENCE_EVENTS.HANDLE_DISCARD)
@@ -72,12 +74,14 @@ Decision tree (evaluated in order):
72
74
  - `.finally()`: re-enable delete button, call `dismiss(true)`
73
75
 
74
76
  3. **Local action** (`isLocalAction`):
77
+
75
78
  ```
76
79
  dismiss(true)
77
80
  actionsAPI.cancelAssignment(containerItemID, false)
78
81
  ```
79
82
 
80
83
  4. **Bulk action** (`isBulkAction`):
84
+
81
85
  ```
82
86
  dismiss(true)
83
87
  actionsAPI.cancelBulkAction(containerItemID)
@@ -96,6 +100,7 @@ Decision tree (evaluated in order):
96
100
  ### Localization
97
101
 
98
102
  All visible text is localized via `PCore.getLocaleUtils().getLocaleValue(key, 'ModalContainer')`:
103
+
99
104
  - `'Go back'`
100
105
  - `'Discard'`
101
106
  - `heading` prop value
@@ -107,6 +112,7 @@ All visible text is localized via `PCore.getLocaleUtils().getLocaleValue(key, 'M
107
112
  Derived from `CancelAlert.css`:
108
113
 
109
114
  ### Full-screen overlay (`.cancel-alert-background`)
115
+
110
116
  ```css
111
117
  .cancel-alert-background {
112
118
  display: flex;
@@ -124,6 +130,7 @@ Derived from `CancelAlert.css`:
124
130
  ```
125
131
 
126
132
  ### Dialog box (`.cancel-alert-top`)
133
+
127
134
  ```css
128
135
  .cancel-alert-top {
129
136
  display: table;
@@ -153,10 +160,10 @@ Derived from `CancelAlert.css`:
153
160
 
154
161
  ### Button styles
155
162
 
156
- | Button | Style | Color |
157
- |--------|-------|-------|
163
+ | Button | Style | Color |
164
+ | ------- | --------- | --------- |
158
165
  | Go back | Contained | Secondary |
159
- | Discard | Contained | Primary |
166
+ | Discard | Contained | Primary |
160
167
 
161
168
  ### Snackbar
162
169
 
@@ -165,6 +172,7 @@ Derived from `CancelAlert.css`:
165
172
  - Close icon button to dismiss manually
166
173
 
167
174
  **CSS variables used:**
175
+
168
176
  - `--modal-background-color`: semi-transparent overlay (e.g., `rgba(0,0,0,0.5)`)
169
177
  - `--modal-top-color`: dialog background (e.g., white or app background)
170
178
  - `--modal-border-color`: dialog border
@@ -195,9 +203,9 @@ Derived from `CancelAlert.css`:
195
203
 
196
204
  Listed design systems are examples only.
197
205
 
198
- | Design System | Recommended Component |
199
- |---|---|
206
+ | Design System | Recommended Component |
207
+ | ------------------ | ------------------------------------------------------------------------------------------- |
200
208
  | Default (CSS only) | `<div class="cancel-alert-background">` + `<div class="cancel-alert-top">` + CSS from above |
201
- | MUI | `<Button>`, `<Grid>`, `<Snackbar>`, `<IconButton>`, fixed overlay `<div>` |
202
- | Ant Design | `<Modal>` or custom overlay |
203
- | Chakra UI | `<Modal>` or `<AlertDialog>` |
209
+ | MUI | `<Button>`, `<Grid>`, `<Snackbar>`, `<IconButton>`, fixed overlay `<div>` |
210
+ | Ant Design | `<Modal>` or custom overlay |
211
+ | Chakra UI | `<Modal>` or `<AlertDialog>` |
@@ -19,31 +19,32 @@ Renders one or more checkboxes. Supports three usage modes: (1) a single boolean
19
19
  ## Props (component-specific)
20
20
 
21
21
  > Note: `Checkbox` uses `Omit<PConnFieldProps, 'value'>` with its own `value?: boolean`. Import type as:
22
+ >
22
23
  > ```typescript
23
24
  > import type { PConnFieldProps } from '@pega/sdk-react';
24
25
  > ```
25
26
 
26
- | Prop | Type | Description |
27
- |------|------|-------------|
28
- | `value` | `boolean` (optional) | Checked state for single-mode checkbox |
29
- | `caption` | `string` (optional) | Label shown next to the single checkbox (not the group label) |
30
- | `trueLabel` | `string` (optional) | Display text when `value` is `true` (used in display modes) |
31
- | `falseLabel` | `string` (optional) | Display text when `value` is `false` (used in display modes) |
32
- | `selectionMode` | `string` (optional) | `'multi'` — enables multi-selection mode from a datasource list |
33
- | `datasource` | `any` (optional) | Options source for multi/card modes |
34
- | `selectionKey` | `string` (optional) | The property path used as the key in selection list |
35
- | `selectionList` | `any` (optional) | Property path for the reference list (multi mode) |
36
- | `primaryField` | `string` | Primary display field for multi/card mode |
37
- | `readonlyContextList` | `any` | Array of currently selected items (for multi/card read-only display) |
38
- | `referenceList` | `string` | Reference list property path |
39
- | `variant` | `string` (optional) | `'card'` — renders options as selectable card grid |
40
- | `hideFieldLabels` | `boolean` | Hide field labels inside card variant |
41
- | `additionalProps` | `any` | Extra props passed to card or checkbox |
42
- | `imagePosition` | `string` | Card image position |
43
- | `imageSize` | `string` | Card image size |
44
- | `showImageDescription` | `string` | Whether to show image description |
45
- | `renderMode` | `string` | `'ReadOnly'` — sets read-only mode alongside `readOnly` prop |
46
- | `image` | `string` | Image field path for card variant |
27
+ | Prop | Type | Description |
28
+ | ---------------------- | -------------------- | -------------------------------------------------------------------- |
29
+ | `value` | `boolean` (optional) | Checked state for single-mode checkbox |
30
+ | `caption` | `string` (optional) | Label shown next to the single checkbox (not the group label) |
31
+ | `trueLabel` | `string` (optional) | Display text when `value` is `true` (used in display modes) |
32
+ | `falseLabel` | `string` (optional) | Display text when `value` is `false` (used in display modes) |
33
+ | `selectionMode` | `string` (optional) | `'multi'` — enables multi-selection mode from a datasource list |
34
+ | `datasource` | `any` (optional) | Options source for multi/card modes |
35
+ | `selectionKey` | `string` (optional) | The property path used as the key in selection list |
36
+ | `selectionList` | `any` (optional) | Property path for the reference list (multi mode) |
37
+ | `primaryField` | `string` | Primary display field for multi/card mode |
38
+ | `readonlyContextList` | `any` | Array of currently selected items (for multi/card read-only display) |
39
+ | `referenceList` | `string` | Reference list property path |
40
+ | `variant` | `string` (optional) | `'card'` — renders options as selectable card grid |
41
+ | `hideFieldLabels` | `boolean` | Hide field labels inside card variant |
42
+ | `additionalProps` | `any` | Extra props passed to card or checkbox |
43
+ | `imagePosition` | `string` | Card image position |
44
+ | `imageSize` | `string` | Card image size |
45
+ | `showImageDescription` | `string` | Whether to show image description |
46
+ | `renderMode` | `string` | `'ReadOnly'` — sets read-only mode alongside `readOnly` prop |
47
+ | `image` | `string` | Image field path for card variant |
47
48
 
48
49
  ## Behavioral Contract
49
50
 
@@ -56,6 +57,7 @@ Renders one or more checkboxes. Supports three usage modes: (1) a single boolean
56
57
  ### Variant: Single checkbox (default)
57
58
 
58
59
  Render a single checkbox with:
60
+
59
61
  - `checked={checked}`
60
62
  - `onChange={!readOnly ? handleChange : undefined}`
61
63
  - `onBlur={!readOnly ? handleBlur : undefined}`
@@ -67,6 +69,7 @@ Render a single checkbox with:
67
69
  ### Variant: Multi-select (`selectionMode === 'multi'`)
68
70
 
69
71
  Render a list of checkboxes from `datasource.source`:
72
+
70
73
  - Each option: `key` from `selectionKey` extraction, `text`/`value` as label.
71
74
  - `checked` per option: `selectedvalues.some(data => data[dataField] === element.key)` where `dataField = selectionKey.split('.')[1]`.
72
75
  - **On change per checkbox:**
@@ -78,6 +81,7 @@ Render a list of checkboxes from `datasource.source`:
78
81
  ### Variant: Card (`variant === 'card'`)
79
82
 
80
83
  Render a heading (`<h4>`) + CSS Grid + `SelectableCard` component:
84
+
81
85
  - Grid: `repeat(auto-fit, minmax(min(100%, 40ch), 1fr))`, `gridAutoRows: '1fr'`, `gap: '0.5rem'`.
82
86
  - `SelectableCard` props:
83
87
  - `type='checkbox'`
@@ -94,6 +98,7 @@ Render a heading (`<h4>`) + CSS Grid + `SelectableCard` component:
94
98
  ## Display Mode Rendering
95
99
 
96
100
  Display mode uses `caption` (not `label`) and shows true/false label:
101
+
97
102
  - **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />`
98
103
  - **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} variant='stacked' />`
99
104
 
@@ -106,29 +111,41 @@ Multi/Card mode: `readOnlyMode` flag prevents `insertInstruction`/`deleteInstruc
106
111
 
107
112
  ### Standard / Multi-select
108
113
 
109
- | Property | Value |
110
- |----------|-------|
111
- | Checkbox size | Default (24px) |
112
- | Label placement | End (right of checkbox) |
113
- | Group label | `<legend>` above group, hidden if `hideLabel` |
114
- | Layout | Single: single row. Multi: vertical column |
115
- | Helper text | Below group |
116
- | Error state | Red text/border on helper |
117
- | Disabled/readOnly | Greyed out, pointer-events none |
114
+ | Property | Value |
115
+ | ----------------- | --------------------------------------------- |
116
+ | Checkbox size | Default (24px) |
117
+ | Label placement | End (right of checkbox) |
118
+ | Group label | `<legend>` above group, hidden if `hideLabel` |
119
+ | Layout | Single: single row. Multi: vertical column |
120
+ | Helper text | Below group |
121
+ | Error state | Red text/border on helper |
122
+ | Disabled/readOnly | Greyed out, pointer-events none |
118
123
 
119
124
  **CSS-only:**
125
+
120
126
  ```css
121
- .checkbox-group { display: flex; flex-direction: column; gap: 4px; }
122
- .checkbox-label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
123
- input[type="checkbox"]:disabled { opacity: 0.38; }
127
+ .checkbox-group {
128
+ display: flex;
129
+ flex-direction: column;
130
+ gap: 4px;
131
+ }
132
+ .checkbox-label {
133
+ display: flex;
134
+ align-items: center;
135
+ gap: 8px;
136
+ cursor: pointer;
137
+ }
138
+ input[type='checkbox']:disabled {
139
+ opacity: 0.38;
140
+ }
124
141
  ```
125
142
 
126
143
  ### Card Variant
127
144
 
128
- | Property | Value |
129
- |----------|-------|
130
- | Layout | CSS Grid `repeat(auto-fit, minmax(min(100%, 40ch), 1fr))`, row height equal (`1fr`), gap `0.5rem` |
131
- | Heading | `<h4>` with `marginTop: 0, marginBottom: 0` |
145
+ | Property | Value |
146
+ | -------- | ------------------------------------------------------------------------------------------------- |
147
+ | Layout | CSS Grid `repeat(auto-fit, minmax(min(100%, 40ch), 1fr))`, row height equal (`1fr`), gap `0.5rem` |
148
+ | Heading | `<h4>` with `marginTop: 0, marginBottom: 0` |
132
149
 
133
150
  ## Edge Cases & Special Logic
134
151
 
@@ -150,9 +167,9 @@ input[type="checkbox"]:disabled { opacity: 0.38; }
150
167
 
151
168
  Listed design systems are examples only.
152
169
 
153
- | Design System | Recommended Component |
154
- |---|---|
155
- | Default (CSS only) | `<input type="checkbox">` with `<label>` |
156
- | MUI | `<Checkbox>` in `<FormControlLabel>`, `<FormGroup>` |
157
- | Ant Design | `<Checkbox>` / `<Checkbox.Group>` |
158
- | Chakra UI | `<Checkbox>` / `<CheckboxGroup>` |
170
+ | Design System | Recommended Component |
171
+ | ------------------ | --------------------------------------------------- |
172
+ | Default (CSS only) | `<input type="checkbox">` with `<label>` |
173
+ | MUI | `<Checkbox>` in `<FormControlLabel>`, `<FormGroup>` |
174
+ | Ant Design | `<Checkbox>` / `<Checkbox.Group>` |
175
+ | Chakra UI | `<Checkbox>` / `<CheckboxGroup>` |
@@ -18,12 +18,13 @@ Renders a numeric input formatted as a currency value. Displays the correct curr
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Default | Description |
22
- |------|------|---------|-------------|
23
- | `currencyISOCode` | `string` (optional) | `'USD'` | ISO 4217 currency code (e.g., `'USD'`, `'EUR'`, `'GBP'`) |
24
- | `allowDecimals` | `boolean` | — | Whether to allow decimal input. If `false`, `decimalScale=0`. If `true`, fixed 2 decimal places shown. |
21
+ | Prop | Type | Default | Description |
22
+ | ----------------- | ------------------- | ------- | ------------------------------------------------------------------------------------------------------ |
23
+ | `currencyISOCode` | `string` (optional) | `'USD'` | ISO 4217 currency code (e.g., `'USD'`, `'EUR'`, `'GBP'`) |
24
+ | `allowDecimals` | `boolean` | — | Whether to allow decimal input. If `false`, `decimalScale=0`. If `true`, fixed 2 decimal places shown. |
25
25
 
26
26
  All other props from `PConnFieldProps`. Import type as:
27
+
27
28
  ```typescript
28
29
  import type { PConnFieldProps } from '@pega/sdk-react';
29
30
  ```
@@ -49,6 +50,7 @@ import type { PConnFieldProps } from '@pega/sdk-react';
49
50
  ## Display Mode Rendering
50
51
 
51
52
  Format the value before display using a currency formatter with `currencyISOCode`:
53
+
52
54
  - **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedValue} />` where `formattedValue = format(value, 'currency', currencyOptions)`.
53
55
  - **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />`.
54
56
 
@@ -60,16 +62,16 @@ Keep the numeric format input but set `readOnly: true` on the input element. Swi
60
62
 
61
63
  ## Visual Specifications
62
64
 
63
- | Property | Standard (editable) | Read-only |
64
- |----------|---------------------|-----------|
65
- | Width | 100% | 100% |
66
- | Size | Small | Small |
67
- | Variant | Outlined | Standard (flat) |
68
- | Prefix | Currency symbol (e.g., `$`) | Currency symbol |
69
- | Alignment | Left-aligned text | Left-aligned |
70
- | Decimal places | 2 (when `allowDecimals`) | 2 |
71
- | Error state | Red border + red helper text | — |
72
- | Placeholder | From `placeholder` prop | — |
65
+ | Property | Standard (editable) | Read-only |
66
+ | -------------- | ---------------------------- | --------------- |
67
+ | Width | 100% | 100% |
68
+ | Size | Small | Small |
69
+ | Variant | Outlined | Standard (flat) |
70
+ | Prefix | Currency symbol (e.g., `$`) | Currency symbol |
71
+ | Alignment | Left-aligned text | Left-aligned |
72
+ | Decimal places | 2 (when `allowDecimals`) | 2 |
73
+ | Error state | Red border + red helper text | — |
74
+ | Placeholder | From `placeholder` prop | — |
73
75
 
74
76
  ## Edge Cases & Special Logic
75
77
 
@@ -89,6 +91,7 @@ Keep the numeric format input but set `readOnly: true` on the input element. Swi
89
91
  - `getComponentFromRegistry('FieldValueList')` for display modes.
90
92
 
91
93
  **For CSS-only / design-system-agnostic implementations:**
94
+
92
95
  - The numeric format library handles the input masking. Use any numeric format library that supports prefix, decimal separator, and thousands separator configuration.
93
96
  - Alternatively, implement manually: on change, strip non-numeric chars, insert separators, prepend symbol.
94
97
 
@@ -98,9 +101,9 @@ Keep the numeric format input but set `readOnly: true` on the input element. Swi
98
101
 
99
102
  Listed design systems are examples only.
100
103
 
101
- | Design System | Recommended Component |
102
- |---|---|
103
- | Default (CSS only) | `<input type="text">` + custom numeric formatting logic |
104
- | MUI | `NumericFormat` (from `react-number-format`) with `customInput={TextField}` |
105
- | Ant Design | `<InputNumber prefix="$" precision={2} />` |
106
- | Chakra UI | `<NumberInput>` + custom formatting |
104
+ | Design System | Recommended Component |
105
+ | ------------------ | --------------------------------------------------------------------------- |
106
+ | Default (CSS only) | `<input type="text">` + custom numeric formatting logic |
107
+ | MUI | `NumericFormat` (from `react-number-format`) with `customInput={TextField}` |
108
+ | Ant Design | `<InputNumber prefix="$" precision={2} />` |
109
+ | Chakra UI | `<NumberInput>` + custom formatting |
@@ -19,6 +19,7 @@ Renders a date picker input. Stores dates as `YYYY-MM-DD` strings. Displays date
19
19
  ## Props (component-specific)
20
20
 
21
21
  No props beyond `PConnFieldProps`. Import type as:
22
+
22
23
  ```typescript
23
24
  import type { PConnFieldProps } from '@pega/sdk-react';
24
25
  ```
@@ -32,7 +33,7 @@ import type { PConnFieldProps } from '@pega/sdk-react';
32
33
  3. **Date format:** Get locale-aware format string via `getDateFormatInfo()`:
33
34
  - Returns `dateFormatString` (display format, e.g., `'MM/DD/YYYY'`), `dateFormatStringLC` (lowercase for placeholder, e.g., `'mm/dd/yyyy'`), `dateFormatMask`.
34
35
  - Start from `dateFormatInfoDefault` and override with locale-specific values.
35
- 4. **On change (valid date selected):**
36
+ 4. **On change (valid date selected):**
36
37
  - Validate the date is valid (e.g., `date.isValid()`).
37
38
  - Format to `YYYY-MM-DD` string: `${year}-${(month+1).padStart(2,'0')}-${day.padStart(2,'0')}`.
38
39
  - Commit immediately via `handleEvent(actions, 'changeNblur', propName, formattedDate)`.
@@ -44,6 +45,7 @@ import type { PConnFieldProps } from '@pega/sdk-react';
44
45
  ## Display Mode Rendering
45
46
 
46
47
  Format the value before display using `format(value, 'date', { format: dateFormatInfo.dateFormatString })`:
48
+
47
49
  - **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedDate} />`.
48
50
  - **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={formattedDate} variant='stacked' />`.
49
51
  - Both modes compute `formattedDate` from the raw `props.value` (not local state).
@@ -54,16 +56,16 @@ Delegate to `TextInput`: `return <TextInput {...props} />`. The raw `YYYY-MM-DD`
54
56
 
55
57
  ## Visual Specifications
56
58
 
57
- | Property | Value |
58
- |----------|-------|
59
- | Width | Auto (date picker natural width) |
60
- | Size | Small |
61
- | Variant | Outlined |
62
- | Placeholder | Lowercase format string (e.g., `mm/dd/yyyy`) |
63
- | Calendar popup | Opens below the input |
64
- | Error state | Red border + red helper text |
65
- | Required indicator | `*` on label |
66
- | Format display | Locale-aware (e.g., `MM/DD/YYYY`, `DD/MM/YYYY`) |
59
+ | Property | Value |
60
+ | ------------------ | ----------------------------------------------- |
61
+ | Width | Auto (date picker natural width) |
62
+ | Size | Small |
63
+ | Variant | Outlined |
64
+ | Placeholder | Lowercase format string (e.g., `mm/dd/yyyy`) |
65
+ | Calendar popup | Opens below the input |
66
+ | Error state | Red border + red helper text |
67
+ | Required indicator | `*` on label |
68
+ | Format display | Locale-aware (e.g., `MM/DD/YYYY`, `DD/MM/YYYY`) |
67
69
 
68
70
  **CSS-only notes:** For a CSS-only date input, use `<input type="date">` — note that the display format is browser-controlled. A custom date picker component is needed for locale-aware format strings.
69
71
 
@@ -91,9 +93,9 @@ Delegate to `TextInput`: `return <TextInput {...props} />`. The raw `YYYY-MM-DD`
91
93
 
92
94
  Listed design systems are examples only.
93
95
 
94
- | Design System | Recommended Component |
95
- |---|---|
96
- | Default (CSS only) | `<input type="date">` (browser native, limited locale control) |
97
- | MUI | `<DatePicker />` from `@mui/x-date-pickers` with `dayjs` adapter |
98
- | Ant Design | `<DatePicker format="MM/DD/YYYY" />` |
99
- | Chakra UI | Third-party date picker or `<input type="date">` |
96
+ | Design System | Recommended Component |
97
+ | ------------------ | ---------------------------------------------------------------- |
98
+ | Default (CSS only) | `<input type="date">` (browser native, limited locale control) |
99
+ | MUI | `<DatePicker />` from `@mui/x-date-pickers` with `dayjs` adapter |
100
+ | Ant Design | `<DatePicker format="MM/DD/YYYY" />` |
101
+ | Chakra UI | Third-party date picker or `<input type="date">` |