@pega/sdk 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +14 -57
  5. package/package.json +7 -6
  6. package/templates/angular-sdk-reference/package.json +15 -15
  7. package/templates/angular-sdk-reference/tsconfig.json +2 -2
  8. package/templates/react-native-sdk-reference/App.tsx +2 -4
  9. package/templates/react-native-sdk-reference/package.json +6 -6
  10. package/templates/react-native-sdk-reference/tsconfig.json +2 -1
  11. package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
  12. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
  13. package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
  14. package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
  15. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
  16. package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
  17. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
  18. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
  19. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
  20. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
  21. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
  22. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
  23. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
  24. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
  25. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
  36. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
  37. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
  38. package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
  64. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
  65. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
  66. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
  67. package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
  98. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
  99. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
  100. package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
  107. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
  108. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
  109. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
  110. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
  111. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
  112. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
  113. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
  114. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
  115. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
  116. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
  117. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
  118. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
  119. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
  120. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
  121. package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
  122. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
  123. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
  124. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
  125. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
  126. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
  127. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
  128. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
  129. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
  130. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
  131. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
  132. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
  133. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
  134. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
  135. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
  136. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
  137. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
  138. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
  139. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
  140. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
  141. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
  142. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
  143. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
  144. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
  145. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
  146. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
  147. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
  148. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
  149. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
  150. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
  151. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
  152. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
  153. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
  154. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
  155. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
  156. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
  157. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
  158. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
  159. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
  160. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
  161. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
  162. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
  163. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
  164. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
  165. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
  166. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
  167. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
  168. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
  169. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
  170. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
  171. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
  172. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
  173. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
  174. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
  175. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
  176. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
  177. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
  178. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
  179. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
  180. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
  181. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
  182. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
  183. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
  184. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
  185. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
  186. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
  187. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
  188. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
  189. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
  190. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
  191. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
  192. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
  193. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
  194. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
  195. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
  196. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
  197. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
  198. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
  199. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
  200. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
  201. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
  202. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
  203. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
  204. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
  205. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
  206. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
  207. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
  208. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  209. package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
  210. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  211. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  212. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  213. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  214. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  215. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +187 -16
  216. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  217. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
  218. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
  219. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
  220. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
  221. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
  222. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  223. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  224. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  225. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  226. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  227. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  228. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  229. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  230. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  231. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  232. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  233. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  234. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  235. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +60 -18
  236. package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
  237. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  238. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  239. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  240. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  241. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  242. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  243. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  244. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  245. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  246. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  247. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  248. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  249. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  250. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  251. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  252. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  253. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  254. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  255. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  256. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  257. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  258. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  259. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  260. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  261. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  262. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  263. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  264. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  265. package/templates/react-sdk-reference/.github/skills/template-components.md +50 -14
  266. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  267. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  268. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  269. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  270. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  271. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  272. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  273. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  274. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  275. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  276. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  277. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  278. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  279. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  280. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  281. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  282. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  283. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  284. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  285. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  286. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  287. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  288. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  289. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  290. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  291. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  292. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  293. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  294. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  295. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  296. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  297. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  298. package/templates/react-sdk-reference/.github/skills/widget-components.md +52 -26
  299. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  300. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  301. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  302. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  303. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  304. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  305. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  306. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  307. package/templates/react-sdk-reference/AGENTS.md +216 -29
  308. package/templates/react-sdk-reference/index.html +1 -4
  309. package/templates/react-sdk-reference/package.json +16 -16
  310. package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
  311. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  312. package/templates/react-sdk-reference/sdk-config.json +1 -1
  313. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  314. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  315. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  316. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  317. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  318. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  319. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  320. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  321. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  322. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  323. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  324. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  325. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  326. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  327. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  328. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  329. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  330. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  331. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  332. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  333. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  334. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  335. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  336. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  337. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  338. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  339. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  340. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  341. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  342. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  343. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  344. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  345. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  346. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  347. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  348. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  349. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  350. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  351. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  352. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  353. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  354. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  355. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  356. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  357. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  358. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  359. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  360. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  361. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  362. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  363. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  364. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  365. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  366. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  367. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  368. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  369. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  370. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  371. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  372. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  373. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  374. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  375. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  376. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  377. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  378. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  379. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  380. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  381. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  382. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  383. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  384. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  385. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  386. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  387. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  388. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  389. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  390. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  391. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  392. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  393. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  394. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  395. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  396. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  397. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  398. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  399. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  400. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  401. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  402. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  403. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  404. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  405. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  406. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  407. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  408. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  409. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  410. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  411. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  412. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  413. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  414. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  415. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  416. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  417. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  418. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  419. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  420. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  421. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  422. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  423. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  424. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  425. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  426. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  427. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  428. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  429. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  430. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  431. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  432. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  433. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  434. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  435. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  436. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  437. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  438. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  439. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  440. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  441. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  442. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  443. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  444. package/templates/react-sdk-reference/src/main.tsx +1 -1
  445. package/templates/react-sdk-reference/tsconfig.json +2 -1
  446. package/templates/react-sdk-reference/vite.config.ts +52 -27
  447. package/templates/wc-sdk-reference/package.json +3 -3
  448. package/templates/wc-sdk-reference/src/index.ts +10 -10
  449. package/templates/wc-sdk-reference/tsconfig.json +1 -0
  450. package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
  451. package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
  452. package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
  453. package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
  454. package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
  455. package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
@@ -18,29 +18,31 @@ Renders a clickable link (`<a>` or button-style link) that navigates to a Pega c
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Default | Description |
22
- |------|------|---------|-------------|
23
- | `text` | `string` | — | The visible link text; renders `'--'` if empty |
24
- | `resourcePayload` | `any` | `{}` | Resource payload containing `caseClassName`, `resourceType`, etc. |
25
- | `resourceParams` | `any` | `{}` | Resource parameters containing `workID` for case navigation |
26
- | `previewKey` | `string \| null` | — | Case preview key for opening work item by handle |
27
- | `onClick` | `(event) => void` | — | External click handler (received but not directly used — link has its own handler) |
28
- | `testId` | `string` | `''` | Test identifier |
29
- | `referenceType` | `string \| null` | — | `'DATA'` or case reference type |
30
- | `dataRelationshipContext` | `string \| null` | `null` | Context for data relationship resolution |
31
- | `contextPage` | `any` | — | Context page with `classID` |
21
+ | Prop | Type | Default | Description |
22
+ | ------------------------- | ----------------- | ------- | ---------------------------------------------------------------------------------- |
23
+ | `text` | `string` | — | The visible link text; renders `'--'` if empty |
24
+ | `resourcePayload` | `any` | `{}` | Resource payload containing `caseClassName`, `resourceType`, etc. |
25
+ | `resourceParams` | `any` | `{}` | Resource parameters containing `workID` for case navigation |
26
+ | `previewKey` | `string \| null` | — | Case preview key for opening work item by handle |
27
+ | `onClick` | `(event) => void` | — | External click handler (received but not directly used — link has its own handler) |
28
+ | `testId` | `string` | `''` | Test identifier |
29
+ | `referenceType` | `string \| null` | — | `'DATA'` or case reference type |
30
+ | `dataRelationshipContext` | `string \| null` | `null` | Context for data relationship resolution |
31
+ | `contextPage` | `any` | — | Context page with `classID` |
32
32
 
33
33
  ## Behavioral Contract
34
34
 
35
35
  ### URL Resolution
36
36
 
37
37
  **Step 1: Determine if this is a data reference:**
38
+
38
39
  - `isData = false`
39
40
  - `shouldTreatAsDataReference = !previewKey && resourcePayload.caseClassName` (non-preview, has class)
40
41
  - If `contextPage?.classID`: override `resourcePayload.caseClassName = contextPage.classID`
41
42
  - If `resourcePayload.caseClassName === WORKCLASS`: override with actual case class from `pConnect.getValue(CASE_INFO_CLASSID)`
42
43
 
43
44
  **Step 2a: Data reference (`referenceType === 'DATA'` or `shouldTreatAsDataReference`):**
45
+
44
46
  ```
45
47
  const dataRefContext = semanticUtils.getDataReferenceInfo(pConnect, dataRelationshipContext, contextPage)
46
48
  dataViewName = dataRefContext.dataContext
@@ -49,12 +51,14 @@ isData = true
49
51
  ```
50
52
 
51
53
  **Step 2b: Resource type DATA (`resourcePayload.resourceType === 'DATA'`):**
54
+
52
55
  - Look up data page: `dataViewName = PCore.getDataTypeUtils().getLookUpDataPage(resourcePayload.className)`
53
56
  - Look up page info and parameters
54
57
  - Build `payload` from parameters by resolving property annotations
55
58
  - `isData = true`
56
59
 
57
60
  **Step 3: Build `linkURL`:**
61
+
58
62
  - If `isData && dataViewName && payload`: `linkURL = PCore.getSemanticUrlUtils().getResolvedSemanticURL(ACTION_SHOWDATA, { pageName: 'pyDetails', dataViewName }, payload)`
59
63
  - Else (case): fix `resourceParams.objectID` for empty workID edge case, then `linkURL = PCore.getSemanticUrlUtils().getResolvedSemanticURL(ACTION_OPENWORKBYHANDLE, resourcePayload, resourceParams)`
60
64
 
@@ -87,18 +91,19 @@ No explicit `displayMode` handling — `SemanticLink` is always rendered as a li
87
91
 
88
92
  Derived from `makeStyles` and MUI `Link` props:
89
93
 
90
- | Property | Value |
91
- |----------|-------|
92
- | Display | Inline link (button role) |
93
- | Padding | `8px` all sides |
94
- | Margin | `8px` all sides |
95
- | Color | Primary link color (blue, default theme) |
96
- | Font weight | 400 |
97
- | Underline | Default link underline on hover |
98
- | Cursor | Pointer |
99
- | Text | `text` prop value, or `'--'` if empty |
94
+ | Property | Value |
95
+ | ----------- | ---------------------------------------- |
96
+ | Display | Inline link (button role) |
97
+ | Padding | `8px` all sides |
98
+ | Margin | `8px` all sides |
99
+ | Color | Primary link color (blue, default theme) |
100
+ | Font weight | 400 |
101
+ | Underline | Default link underline on hover |
102
+ | Cursor | Pointer |
103
+ | Text | `text` prop value, or `'--'` if empty |
100
104
 
101
105
  **CSS-only implementation:**
106
+
102
107
  ```css
103
108
  .semantic-link {
104
109
  display: inline-block;
@@ -112,7 +117,9 @@ Derived from `makeStyles` and MUI `Link` props:
112
117
  border: none;
113
118
  font-size: inherit;
114
119
  }
115
- .semantic-link:hover { text-decoration: underline; }
120
+ .semantic-link:hover {
121
+ text-decoration: underline;
122
+ }
116
123
  ```
117
124
 
118
125
  ## Edge Cases & Special Logic
@@ -140,9 +147,9 @@ Derived from `makeStyles` and MUI `Link` props:
140
147
 
141
148
  Listed design systems are examples only.
142
149
 
143
- | Design System | Recommended Component |
144
- |---|---|
150
+ | Design System | Recommended Component |
151
+ | ------------------ | ---------------------------------------------------- |
145
152
  | Default (CSS only) | `<button class="semantic-link">` with anchor styling |
146
- | MUI | `<Link component='button'>` |
147
- | Ant Design | `<Typography.Link>` or `<Button type="link">` |
148
- | Chakra UI | `<Link as="button">` |
153
+ | MUI | `<Link component='button'>` |
154
+ | Ant Design | `<Typography.Link>` or `<Button type="link">` |
155
+ | Chakra UI | `<Link as="button">` |
@@ -18,11 +18,12 @@ Renders an editable multi-line text area. Used for long-form text input such as
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Description |
22
- |------|------|-------------|
21
+ | Prop | Type | Description |
22
+ | --------------- | ---------------- | ---------------------------------------------------------- |
23
23
  | `fieldMetadata` | `any` (optional) | Metadata object; used to read `maxLength` for the textarea |
24
24
 
25
25
  All other props come from `PConnFieldProps`. Import type as:
26
+
26
27
  ```typescript
27
28
  import type { PConnFieldProps } from '@pega/sdk-react';
28
29
  ```
@@ -51,21 +52,22 @@ Set `readOnly` on the textarea element (NOT a read-only version via `TextInput`
51
52
 
52
53
  Derived from the reference component's MUI props:
53
54
 
54
- | Property | Standard (editable) | Read-only |
55
- |----------|---------------------|-----------|
56
- | Width | 100% | 100% |
57
- | Min rows | 5 | 5 |
58
- | Max rows | 5 (scrollable beyond) | 5 |
59
- | Border | 1px solid (outlined) | None (standard/flat) |
60
- | Border radius | 4px | — |
61
- | Label | Floating label | Floating label |
62
- | Helper text | Below textarea | Below textarea |
63
- | Error state | Red border + red helper text | — |
64
- | Resize | Vertical resize handle (browser default) | Same |
65
- | Font size | 0.875rem | 0.875rem |
66
- | Padding | 8px 14px | — |
55
+ | Property | Standard (editable) | Read-only |
56
+ | ------------- | ---------------------------------------- | -------------------- |
57
+ | Width | 100% | 100% |
58
+ | Min rows | 5 | 5 |
59
+ | Max rows | 5 (scrollable beyond) | 5 |
60
+ | Border | 1px solid (outlined) | None (standard/flat) |
61
+ | Border radius | 4px | — |
62
+ | Label | Floating label | Floating label |
63
+ | Helper text | Below textarea | Below textarea |
64
+ | Error state | Red border + red helper text | — |
65
+ | Resize | Vertical resize handle (browser default) | Same |
66
+ | Font size | 0.875rem | 0.875rem |
67
+ | Padding | 8px 14px | — |
67
68
 
68
69
  **CSS-only implementation notes:**
70
+
69
71
  - `textarea { min-height: calc(5 * 1.4375em + 16px); max-height: calc(5 * 1.4375em + 16px); overflow-y: auto; resize: vertical; }`
70
72
  - Error: `border-color: #d32f2f`
71
73
  - Read-only: `border: none; background: transparent;`
@@ -87,10 +89,10 @@ Derived from the reference component's MUI props:
87
89
 
88
90
  Listed design systems are examples only.
89
91
 
90
- | Design System | Recommended Component |
91
- |---|---|
92
- | Default (CSS only) | `<textarea rows="5">` with floating label |
93
- | MUI | `<TextField multiline minRows={5} maxRows={5} />` |
94
- | Ant Design | `<Input.TextArea rows={5} />` |
95
- | Chakra UI | `<Textarea />` |
96
- | Shadcn/ui | `<Textarea />` |
92
+ | Design System | Recommended Component |
93
+ | ------------------ | ------------------------------------------------- |
94
+ | Default (CSS only) | `<textarea rows="5">` with floating label |
95
+ | MUI | `<TextField multiline minRows={5} maxRows={5} />` |
96
+ | Ant Design | `<Input.TextArea rows={5} />` |
97
+ | Chakra UI | `<Textarea />` |
98
+ | Shadcn/ui | `<Textarea />` |
@@ -29,15 +29,15 @@ interface TextContentProps extends PConnProps {
29
29
  }
30
30
  ```
31
31
 
32
- | Prop | Type | Description |
33
- |------|------|-------------|
34
- | `content` | `string` | The text string to render |
32
+ | Prop | Type | Description |
33
+ | ----------- | ------------------------------------------------------------------------- | ------------------------------------------------- |
34
+ | `content` | `string` | The text string to render |
35
35
  | `displayAs` | `'Paragraph' \| 'Heading 1' \| 'Heading 2' \| 'Heading 3' \| 'Heading 4'` | How to render the text — maps to typography level |
36
36
 
37
37
  ## Behavioral Contract
38
38
 
39
39
  1. **No state, no effects** — purely presentational. Render `content` using the appropriate typography element for `displayAs`.
40
- 2. **Mapping:**
40
+ 2. **Mapping:**
41
41
  - `'Paragraph'` → `<p>` / body text
42
42
  - `'Heading 1'` → `<h1>`
43
43
  - `'Heading 2'` → `<h2>`
@@ -57,23 +57,39 @@ Always read-only — there is no editable state.
57
57
 
58
58
  Derived from standard HTML typography:
59
59
 
60
- | `displayAs` | Element | Font size | Font weight |
61
- |-------------|---------|-----------|-------------|
62
- | `Paragraph` | `<p>` / `body1` | 1rem (16px) | 400 |
63
- | `Heading 1` | `<h1>` | 2.5rem | 300 |
64
- | `Heading 2` | `<h2>` | 2rem | 300 |
65
- | `Heading 3` | `<h3>` | 1.75rem | 400 |
66
- | `Heading 4` | `<h4>` | 1.5rem | 400 |
60
+ | `displayAs` | Element | Font size | Font weight |
61
+ | ----------- | --------------- | ----------- | ----------- |
62
+ | `Paragraph` | `<p>` / `body1` | 1rem (16px) | 400 |
63
+ | `Heading 1` | `<h1>` | 2.5rem | 300 |
64
+ | `Heading 2` | `<h2>` | 2rem | 300 |
65
+ | `Heading 3` | `<h3>` | 1.75rem | 400 |
66
+ | `Heading 4` | `<h4>` | 1.5rem | 400 |
67
67
 
68
68
  Color inherits from the surrounding text color. No padding, margin, border, or background beyond what the browser/design-system applies to the heading element.
69
69
 
70
70
  **CSS-only implementation notes:**
71
+
71
72
  ```css
72
- .text-content-h1 { font-size: 2.5rem; font-weight: 300; }
73
- .text-content-h2 { font-size: 2rem; font-weight: 300; }
74
- .text-content-h3 { font-size: 1.75rem; font-weight: 400; }
75
- .text-content-h4 { font-size: 1.5rem; font-weight: 400; }
76
- .text-content-body { font-size: 1rem; font-weight: 400; }
73
+ .text-content-h1 {
74
+ font-size: 2.5rem;
75
+ font-weight: 300;
76
+ }
77
+ .text-content-h2 {
78
+ font-size: 2rem;
79
+ font-weight: 300;
80
+ }
81
+ .text-content-h3 {
82
+ font-size: 1.75rem;
83
+ font-weight: 400;
84
+ }
85
+ .text-content-h4 {
86
+ font-size: 1.5rem;
87
+ font-weight: 400;
88
+ }
89
+ .text-content-body {
90
+ font-size: 1rem;
91
+ font-weight: 400;
92
+ }
77
93
  ```
78
94
 
79
95
  ## Edge Cases & Special Logic
@@ -93,9 +109,9 @@ Color inherits from the surrounding text color. No padding, margin, border, or b
93
109
 
94
110
  Listed design systems are examples only.
95
111
 
96
- | Design System | Recommended Component |
97
- |---|---|
98
- | Default (CSS only) | Native `<h1>`–`<h4>` or `<p>` |
99
- | MUI | `<Typography variant='h1' \| 'h2' \| 'h3' \| 'h4' \| 'body1'>` |
100
- | Ant Design | `<Typography.Title level={1-4}>` or `<Typography.Text>` |
101
- | Chakra UI | `<Heading as='h1'-'h4'>` or `<Text>` |
112
+ | Design System | Recommended Component |
113
+ | ------------------ | -------------------------------------------------------------- |
114
+ | Default (CSS only) | Native `<h1>`–`<h4>` or `<p>` |
115
+ | MUI | `<Typography variant='h1' \| 'h2' \| 'h3' \| 'h4' \| 'body1'>` |
116
+ | Ant Design | `<Typography.Title level={1-4}>` or `<Typography.Text>` |
117
+ | Chakra UI | `<Heading as='h1'-'h4'>` or `<Text>` |
@@ -18,11 +18,12 @@ Renders a single-line editable text field. It is the simplest and most foundatio
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Description |
22
- |------|------|-------------|
21
+ | Prop | Type | Description |
22
+ | --------------- | ---------------- | ------------------------------------------------------- |
23
23
  | `fieldMetadata` | `any` (optional) | Metadata object; used to read `maxLength` for the input |
24
24
 
25
25
  All other props come from `PConnFieldProps`. Import type as:
26
+
26
27
  ```typescript
27
28
  import type { PConnFieldProps } from '@pega/sdk-react';
28
29
  ```
@@ -52,20 +53,21 @@ Set the `readOnly` attribute on the underlying input element. Use a visually fla
52
53
 
53
54
  Derived from the reference component's MUI props and styles:
54
55
 
55
- | Property | Standard (editable) | Read-only |
56
- |----------|---------------------|-----------|
57
- | Width | 100% of container | 100% of container |
58
- | Height / size | Small (`height ~40px`) | Small |
59
- | Border | 1px solid (outlined) | None (standard variant) |
60
- | Border radius | 4px | — |
61
- | Label | Floating label (above input when focused/filled) | Floating label |
62
- | Helper text | Shown below input | Shown below input |
63
- | Error state | Red border + red helper text | — |
64
- | Disabled | Reduced opacity (~0.38), not-allowed cursor | — |
65
- | Padding (input) | 8px 14px | — |
66
- | Font size | 0.875rem (14px) | 0.875rem |
56
+ | Property | Standard (editable) | Read-only |
57
+ | --------------- | ------------------------------------------------ | ----------------------- |
58
+ | Width | 100% of container | 100% of container |
59
+ | Height / size | Small (`height ~40px`) | Small |
60
+ | Border | 1px solid (outlined) | None (standard variant) |
61
+ | Border radius | 4px | — |
62
+ | Label | Floating label (above input when focused/filled) | Floating label |
63
+ | Helper text | Shown below input | Shown below input |
64
+ | Error state | Red border + red helper text | — |
65
+ | Disabled | Reduced opacity (~0.38), not-allowed cursor | — |
66
+ | Padding (input) | 8px 14px | — |
67
+ | Font size | 0.875rem (14px) | 0.875rem |
67
68
 
68
69
  **CSS-only implementation notes:**
70
+
69
71
  - Floating label: use `<label>` positioned absolutely, translate upward on `:focus-within` or when input has value.
70
72
  - Error state: add `.error` class → border-color: `#d32f2f`; helper text color: `#d32f2f`.
71
73
  - Outlined box shadow on focus: `0 0 0 2px rgba(25, 118, 210, 0.2)`.
@@ -88,15 +90,16 @@ Derived from the reference component's MUI props and styles:
88
90
 
89
91
  Listed design systems are examples only.
90
92
 
91
- | Design System | Recommended Component |
92
- |---|---|
93
- | Default (CSS only) | `<input type="text">` with floating label pattern |
94
- | MUI | `<TextField variant='outlined' size='small' fullWidth />` |
95
- | Ant Design | `<Input />` |
96
- | Chakra UI | `<Input />` |
97
- | Shadcn/ui | `<Input />` |
93
+ | Design System | Recommended Component |
94
+ | ------------------ | --------------------------------------------------------- |
95
+ | Default (CSS only) | `<input type="text">` with floating label pattern |
96
+ | MUI | `<TextField variant='outlined' size='small' fullWidth />` |
97
+ | Ant Design | `<Input />` |
98
+ | Chakra UI | `<Input />` |
99
+ | Shadcn/ui | `<Input />` |
98
100
 
99
101
  When implementing in a specific design system, map the following behaviors:
102
+
100
103
  - `error={status === 'error'}` → error/danger variant
101
104
  - `helperText` → helper/description slot below the input
102
105
  - `label` → field label (floating or static depending on design system)
@@ -19,6 +19,7 @@ Renders a time-only picker. Stores time as `HH:mm:ss` string. Displays time in 1
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
  ```
@@ -47,15 +48,15 @@ Delegate to `TextInput`: `return <TextInput {...props} />`.
47
48
 
48
49
  ## Visual Specifications
49
50
 
50
- | Property | Value |
51
- |----------|-------|
52
- | Width | Auto (time picker natural width) |
53
- | Size | Small |
54
- | Variant | Outlined |
55
- | Format | `hh:mm a` (12-hour) |
56
- | Placeholder | `hh:mm am` |
57
- | Minutes step | 5 |
58
- | Error state | Red border + red helper text |
51
+ | Property | Value |
52
+ | ------------ | -------------------------------- |
53
+ | Width | Auto (time picker natural width) |
54
+ | Size | Small |
55
+ | Variant | Outlined |
56
+ | Format | `hh:mm a` (12-hour) |
57
+ | Placeholder | `hh:mm am` |
58
+ | Minutes step | 5 |
59
+ | Error state | Red border + red helper text |
59
60
 
60
61
  **Note on known issue:** Keyboard input in the minute field may jump to the am/pm field after one digit — same as DateTime, this is a known date picker library quirk.
61
62
 
@@ -80,9 +81,9 @@ Delegate to `TextInput`: `return <TextInput {...props} />`.
80
81
 
81
82
  Listed design systems are examples only.
82
83
 
83
- | Design System | Recommended Component |
84
- |---|---|
85
- | Default (CSS only) | `<input type="time">` (24h, no am/pm) |
86
- | MUI | `<TimePicker minutesStep={5} format='hh:mm a' />` |
87
- | Ant Design | `<TimePicker format="hh:mm a" minuteStep={5} />` |
88
- | Chakra UI | Third-party time picker |
84
+ | Design System | Recommended Component |
85
+ | ------------------ | ------------------------------------------------- |
86
+ | Default (CSS only) | `<input type="time">` (24h, no am/pm) |
87
+ | MUI | `<TimePicker minutesStep={5} format='hh:mm a' />` |
88
+ | Ant Design | `<TimePicker format="hh:mm a" minuteStep={5} />` |
89
+ | Chakra UI | Third-party time picker |
@@ -19,6 +19,7 @@ Renders a single-line text input of type `url`. Provides browser-native URL form
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
  ```
@@ -47,15 +48,15 @@ Delegate to `TextInput`: `return <TextInput {...props} />`.
47
48
 
48
49
  Identical to `TextInput` visually — no additional adornments.
49
50
 
50
- | Property | Value |
51
- |----------|-------|
52
- | Width | 100% |
53
- | Size | Small (~40px height) |
54
- | Variant | Outlined |
55
- | Border | 1px solid outlined |
56
- | Border radius | 4px |
57
- | Error state | Red border + red helper text |
58
- | Helper text | Below input |
51
+ | Property | Value |
52
+ | ------------- | ---------------------------- |
53
+ | Width | 100% |
54
+ | Size | Small (~40px height) |
55
+ | Variant | Outlined |
56
+ | Border | 1px solid outlined |
57
+ | Border radius | 4px |
58
+ | Error state | Red border + red helper text |
59
+ | Helper text | Below input |
59
60
 
60
61
  No special icon or adornment — the only difference from `TextInput` is `type='url'`.
61
62
 
@@ -77,9 +78,9 @@ No special icon or adornment — the only difference from `TextInput` is `type='
77
78
 
78
79
  Listed design systems are examples only.
79
80
 
80
- | Design System | Recommended Component |
81
- |---|---|
82
- | Default (CSS only) | `<input type="url">` |
83
- | MUI | `<TextField type='url' />` |
84
- | Ant Design | `<Input type="url" />` |
85
- | Chakra UI | `<Input type="url" />` |
81
+ | Design System | Recommended Component |
82
+ | ------------------ | -------------------------- |
83
+ | Default (CSS only) | `<input type="url">` |
84
+ | MUI | `<TextField type='url' />` |
85
+ | Ant Design | `<Input type="url" />` |
86
+ | Chakra UI | `<Input type="url" />` |
@@ -24,24 +24,24 @@ Renders a user selection field. Can display as a typeahead search box or a dropd
24
24
  import type { PConnProps } from '@pega/sdk-react';
25
25
  ```
26
26
 
27
- | Prop | Type | Default | Description |
28
- |------|------|---------|-------------|
29
- | `displayAs` | `string` (optional) | `''` | `'Drop-down list'` or `'Search box'` — determines the input type |
30
- | `displayMode` | `string` (optional) | `''` | `'DISPLAY_ONLY'` or `'STACKED_LARGE_VAL'` |
31
- | `label` | `string` (optional) | `''` | Field label |
32
- | `value` | `any` (optional) | `''` | Raw value from Pega store (may be a user object or string ID) |
33
- | `testId` | `string` (optional) | `''` | Test identifier |
34
- | `placeholder` | `string` (optional) | `''` | Placeholder text |
35
- | `helperText` | `string` (optional) | `''` | Helper text |
36
- | `disabled` | `boolean` (optional) | `false` | |
37
- | `readOnly` | `boolean` (optional) | `false` | |
38
- | `required` | `boolean` (optional) | `false` | |
39
- | `validatemessage` | `string` (optional) | `''` | Validation error message |
40
- | `showAsFormattedText` | `boolean` (optional) | `false` | When `true` in read-only mode, show formatted user name text |
41
- | `additionalProps` | `object` (optional) | `{}` | Extra props forwarded to the child component |
42
- | `hideLabel` | `boolean` (optional) | `false` | |
43
- | `variant` | `string` (optional) | `'inline'` | Layout variant |
44
- | `onChange` | `any` (optional) | — | Change handler (passed through to child) |
27
+ | Prop | Type | Default | Description |
28
+ | --------------------- | -------------------- | ---------- | ---------------------------------------------------------------- |
29
+ | `displayAs` | `string` (optional) | `''` | `'Drop-down list'` or `'Search box'` — determines the input type |
30
+ | `displayMode` | `string` (optional) | `''` | `'DISPLAY_ONLY'` or `'STACKED_LARGE_VAL'` |
31
+ | `label` | `string` (optional) | `''` | Field label |
32
+ | `value` | `any` (optional) | `''` | Raw value from Pega store (may be a user object or string ID) |
33
+ | `testId` | `string` (optional) | `''` | Test identifier |
34
+ | `placeholder` | `string` (optional) | `''` | Placeholder text |
35
+ | `helperText` | `string` (optional) | `''` | Helper text |
36
+ | `disabled` | `boolean` (optional) | `false` | |
37
+ | `readOnly` | `boolean` (optional) | `false` | |
38
+ | `required` | `boolean` (optional) | `false` | |
39
+ | `validatemessage` | `string` (optional) | `''` | Validation error message |
40
+ | `showAsFormattedText` | `boolean` (optional) | `false` | When `true` in read-only mode, show formatted user name text |
41
+ | `additionalProps` | `object` (optional) | `{}` | Extra props forwarded to the child component |
42
+ | `hideLabel` | `boolean` (optional) | `false` | |
43
+ | `variant` | `string` (optional) | `'inline'` | Layout variant |
44
+ | `onChange` | `any` (optional) | — | Change handler (passed through to child) |
45
45
 
46
46
  ## Behavioral Contract
47
47
 
@@ -57,10 +57,12 @@ import type { PConnProps } from '@pega/sdk-react';
57
57
  ### Mount effect: `useEffect([displayAs, readOnly, showAsFormattedText, value])`
58
58
 
59
59
  **Case 1: `userId && readOnly && showAsFormattedText`**
60
+
60
61
  - If `isUserNameAvailable(value)`: `setUserName(value.userName)` — username already in value object
61
62
  - Else: call `PCore.getUserApi().getOperatorDetails(userId)` and extract `pyUserName` from response
62
63
 
63
64
  **Case 2: `displayAs === 'Drop-down list'`**
65
+
64
66
  - Call `PCore.getRestClient().invokeRestApi('getListData', { queryPayload: { dataViewName: OPERATORS_DP } })`
65
67
  - Map results to `{key: pyUserIdentifier, value: pyUserName}` array
66
68
  - `setDropDownDataSource(mapped)`
@@ -80,17 +82,27 @@ else if displayAs === 'Drop-down list' → Dropdown component
80
82
  ### Subsection: Search box mode (`displayAs === 'Search box'`)
81
83
 
82
84
  Render `AutoComplete` with hardcoded columns for operator search:
85
+
83
86
  ```typescript
84
87
  columns = [
85
88
  { value: 'pyUserName', display: 'true', useForSearch: true, primary: 'true' },
86
- { value: 'pyUserIdentifier', setProperty: 'Associated property', key: 'true', display: 'true', secondary: 'true', useForSearch: 'true' }
87
- ]
89
+ {
90
+ value: 'pyUserIdentifier',
91
+ setProperty: 'Associated property',
92
+ key: 'true',
93
+ display: 'true',
94
+ secondary: 'true',
95
+ useForSearch: 'true',
96
+ },
97
+ ];
88
98
  ```
99
+
89
100
  Props: `datasource={OPERATORS_DP}`, `listType='datapage'`, `value={userId}`, plus label/placeholder/readOnly/disabled/required/helperText/validatemessage/hideLabel/onChange/additionalProps/testId.
90
101
 
91
102
  ### Subsection: Dropdown mode (`displayAs === 'Drop-down list'`)
92
103
 
93
104
  Render `Dropdown` with:
105
+
94
106
  - `datasource={dropDownDataSource}` (fetched user list)
95
107
  - `listType='associated'`
96
108
  - `value={userId}`
@@ -99,6 +111,7 @@ Render `Dropdown` with:
99
111
  ### Subsection: Formatted text read-only (`readOnly && showAsFormattedText && userId`)
100
112
 
101
113
  Render a label + name display:
114
+
102
115
  ```html
103
116
  <div>
104
117
  <caption-text>{label}</caption-text>
@@ -109,13 +122,14 @@ Render a label + name display:
109
122
  ### Re-render optimization
110
123
 
111
124
  Export with `memo` using custom comparison `comparisonFn`:
125
+
112
126
  ```typescript
113
127
  const comparisonFn = (prevProps, nextProps) =>
114
128
  getUserId(prevProps.value) === getUserId(nextProps.value) &&
115
129
  prevProps.validatemessage === nextProps.validatemessage &&
116
130
  prevProps.required === nextProps.required &&
117
131
  prevProps.disabled === nextProps.disabled &&
118
- prevProps.readOnly === nextProps.readOnly
132
+ prevProps.readOnly === nextProps.readOnly;
119
133
  ```
120
134
 
121
135
  `export default memo(UserReference, comparisonFn)`
@@ -123,6 +137,7 @@ const comparisonFn = (prevProps, nextProps) =>
123
137
  ## Display Mode Rendering
124
138
 
125
139
  Uses resolved `userName` (not raw `value`):
140
+
126
141
  - **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={userName || ''} />`
127
142
  - **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={userName || ''} variant='stacked' />`
128
143
 
@@ -131,20 +146,28 @@ Uses resolved `userName` (not raw `value`):
131
146
  ## Visual Specifications
132
147
 
133
148
  The visual appearance is determined by the child component rendered:
149
+
134
150
  - **Search box**: Same as `AutoComplete` — combobox input with outlined border, floating label
135
151
  - **Dropdown**: Same as `Dropdown` — select field with outlined border, floating label
136
152
  - **Formatted text read-only**:
137
153
 
138
- | Property | Value |
139
- |----------|-------|
140
- | Label | Caption-size text (small, secondary color) above the name |
141
- | Name | Body text (normal size) |
142
- | Spacing | Standard form field spacing |
154
+ | Property | Value |
155
+ | -------- | --------------------------------------------------------- |
156
+ | Label | Caption-size text (small, secondary color) above the name |
157
+ | Name | Body text (normal size) |
158
+ | Spacing | Standard form field spacing |
143
159
 
144
160
  **CSS-only for formatted text:**
161
+
145
162
  ```css
146
- .user-reference-label { font-size: 0.75rem; color: rgba(0,0,0,0.6); margin-bottom: 4px; }
147
- .user-reference-name { font-size: 1rem; }
163
+ .user-reference-label {
164
+ font-size: 0.75rem;
165
+ color: rgba(0, 0, 0, 0.6);
166
+ margin-bottom: 4px;
167
+ }
168
+ .user-reference-name {
169
+ font-size: 1rem;
170
+ }
148
171
  ```
149
172
 
150
173
  ## Edge Cases & Special Logic
@@ -172,9 +195,9 @@ The visual appearance is determined by the child component rendered:
172
195
 
173
196
  Listed design systems are examples only.
174
197
 
175
- | Mode | Underlying control |
176
- |------|--------------------|
177
- | Search box | AutoComplete (combobox/typeahead) |
178
- | Drop-down list | Dropdown (select) |
179
- | Formatted text read-only | Label + text display |
180
- | Display mode | FieldValueList |
198
+ | Mode | Underlying control |
199
+ | ------------------------ | --------------------------------- |
200
+ | Search box | AutoComplete (combobox/typeahead) |
201
+ | Drop-down list | Dropdown (select) |
202
+ | Formatted text read-only | Label + text display |
203
+ | Display mode | FieldValueList |