@pega/sdk 0.0.4 → 0.0.5

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 (317) hide show
  1. package/dist/index.js +287 -1
  2. package/package.json +1 -1
  3. package/templates/angular-sdk-reference/package.json +12 -12
  4. package/templates/angular-sdk-reference/tsconfig.json +1 -1
  5. package/templates/react-native-sdk-reference/expo-env.d.ts +3 -0
  6. package/templates/react-sdk-reference/{.github/agents/implementation-expert.agent.md → .ai-common/agents/implementation-expert.md} +23 -26
  7. package/templates/react-sdk-reference/{.github/copilot-instructions.md → .ai-common/global/ai-agent-instructions.md} +7 -7
  8. package/templates/react-sdk-reference/{.github/instructions/component-map.instructions.md → .ai-common/instructions/component-map.md} +8 -1
  9. package/templates/react-sdk-reference/{.github/instructions/dse-component.instructions.md → .ai-common/instructions/dse-component.md} +1 -1
  10. package/templates/react-sdk-reference/{.github/instructions/field-component.instructions.md → .ai-common/instructions/field-component.md} +2 -1
  11. package/templates/react-sdk-reference/{.github/instructions/template-component.instructions.md → .ai-common/instructions/template-component.md} +1 -1
  12. package/templates/react-sdk-reference/{.github/instructions/widget-component.instructions.md → .ai-common/instructions/widget-component.md} +1 -1
  13. package/templates/react-sdk-reference/{.github/prompts/add-component.prompt.md → .ai-common/prompts/add-component.md} +45 -18
  14. package/templates/react-sdk-reference/{.cursor/rules → .ai-common}/prompts/component-manifest.json +8 -2
  15. package/templates/react-sdk-reference/{.github/prompts/generate-all-components.prompt.md → .ai-common/prompts/generate-all-components.md} +195 -78
  16. package/templates/react-sdk-reference/{.github/prompts/generate-dse-components.prompt.md → .ai-common/prompts/generate-dse-components.md} +28 -17
  17. package/templates/react-sdk-reference/{.github/prompts/generate-field-components.prompt.md → .ai-common/prompts/generate-field-components.md} +32 -16
  18. package/templates/react-sdk-reference/{.github/prompts/generate-template-components.prompt.md → .ai-common/prompts/generate-template-components.md} +76 -22
  19. package/templates/react-sdk-reference/{.github/prompts/generate-widget-components.prompt.md → .ai-common/prompts/generate-widget-components.md} +44 -30
  20. package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/identify-components.md +4 -0
  21. package/templates/react-sdk-reference/{.cursor/rules/prompts/replace-design-system.mdrules → .ai-common/prompts/replace-design-system.md} +2 -3
  22. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/AlertBanner.md +50 -0
  23. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Banner.md +44 -0
  24. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/CaseSummaryFields.md +54 -0
  25. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/DetailsFields.md +49 -0
  26. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldGroup.md +44 -0
  27. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/FieldGroupList.md +43 -0
  28. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/FieldValueList.md +46 -0
  29. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Operator.md +67 -0
  30. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/Pulse.md +20 -0
  31. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/RichTextEditor.md +58 -0
  32. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/WssQuickCreate.md +31 -0
  33. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension.md +1 -1
  34. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-components.md +18 -1
  35. package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +298 -0
  36. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/CancelAlert.md +132 -3
  37. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +358 -0
  38. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +230 -0
  39. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +221 -0
  40. package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +213 -0
  41. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Decimal.md +112 -13
  42. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Dropdown.md +127 -1
  43. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Email.md +68 -0
  44. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Group.md +51 -0
  45. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Integer.md +81 -0
  46. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Location.md +105 -0
  47. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Multiselect.md +70 -0
  48. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ObjectReference.md +74 -0
  49. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Percentage.md +84 -0
  50. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Phone.md +81 -0
  51. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RadioButtons.md +93 -0
  52. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/RichText.md +85 -0
  53. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/ScalarList.md +54 -0
  54. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SelectableCard.md +55 -0
  55. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/SemanticLink.md +64 -0
  56. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextArea.md +66 -0
  57. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/TextContent.md +28 -0
  58. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/TextInput.md +67 -0
  59. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/Time.md +67 -0
  60. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/URL.md +59 -0
  61. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/UserReference.md +90 -0
  62. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-components.md +83 -52
  63. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/AdvancedSearch.md +77 -0
  64. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +273 -0
  65. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/BannerPage.md +39 -0
  66. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/CaseSummary.md +79 -0
  67. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +399 -0
  68. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +282 -0
  69. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/Confirmation.md +89 -0
  70. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DataReference.md +50 -0
  71. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultForm.md +117 -0
  72. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DefaultPage.md +49 -0
  73. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/Details.md +59 -0
  74. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsSubTabs.md +60 -0
  75. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DetailsThreeColumn.md +12 -0
  76. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DetailsTwoColumn.md +12 -0
  77. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DynamicTabs.md +67 -0
  78. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/FieldGroupTemplate.md +119 -0
  79. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/HierarchicalForm.md +45 -0
  80. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboard.md +41 -0
  81. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/InlineDashboardPage.md +56 -0
  82. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/ListPage.md +18 -0
  83. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +419 -0
  84. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/MultiReferenceReadOnly.md +40 -0
  85. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/NarrowWide.md +66 -0
  86. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/OneColumn.md +34 -0
  87. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/PromotedFilters.md +92 -0
  88. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/SelfServiceCaseView.md +56 -0
  89. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SimpleTable.md +59 -0
  90. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SingleReferenceReadOnly.md +52 -0
  91. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/SubTabs.md +47 -0
  92. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/TwoColumn.md +49 -0
  93. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WssNavBar.md +71 -0
  94. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-components.md +1 -1
  95. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/AppAnnouncement.md +38 -1
  96. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Attachment.md +58 -0
  97. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/CaseHistory.md +63 -0
  98. package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md +81 -14
  99. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md +20 -0
  100. package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/QuickCreate.md +48 -0
  101. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md +66 -0
  102. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +492 -0
  103. package/templates/react-sdk-reference/package.minimal.json +29 -0
  104. package/templates/react-sdk-reference/src/AppProviders.tsx +17 -0
  105. package/templates/react-sdk-reference/src/MashupApp.tsx +8 -19
  106. package/templates/react-sdk-reference/src/PortalApp.tsx +6 -17
  107. package/templates/react-sdk-reference/.claude/instructions/component-map.md +0 -38
  108. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +0 -75
  109. package/templates/react-sdk-reference/.claude/instructions/field-component.md +0 -75
  110. package/templates/react-sdk-reference/.claude/instructions/template-component.md +0 -93
  111. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +0 -88
  112. package/templates/react-sdk-reference/.claude/prompts/add-component.md +0 -152
  113. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +0 -193
  114. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +0 -158
  115. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +0 -140
  116. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +0 -153
  117. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +0 -165
  118. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +0 -138
  119. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +0 -519
  120. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +0 -140
  121. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +0 -137
  122. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +0 -134
  123. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +0 -118
  124. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +0 -85
  125. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +0 -232
  126. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +0 -137
  127. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -291
  128. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -113
  129. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +0 -175
  130. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +0 -109
  131. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +0 -101
  132. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +0 -106
  133. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +0 -88
  134. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +0 -188
  135. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +0 -173
  136. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +0 -93
  137. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +0 -129
  138. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +0 -167
  139. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +0 -149
  140. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +0 -134
  141. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +0 -231
  142. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +0 -155
  143. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +0 -107
  144. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +0 -89
  145. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +0 -86
  146. package/templates/react-sdk-reference/.claude/skills/template-components.md +0 -321
  147. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +0 -150
  148. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +0 -124
  149. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +0 -106
  150. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +0 -137
  151. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +0 -131
  152. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +0 -109
  153. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +0 -97
  154. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -80
  155. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +0 -70
  156. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +0 -142
  157. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +0 -82
  158. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +0 -114
  159. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +0 -131
  160. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +0 -108
  161. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +0 -82
  162. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +0 -206
  163. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +0 -118
  164. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +0 -198
  165. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +0 -41
  166. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +0 -78
  167. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +0 -74
  168. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +0 -247
  169. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +0 -149
  170. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +0 -154
  171. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +0 -131
  172. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +0 -144
  173. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +0 -156
  174. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +0 -129
  175. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +0 -110
  176. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +0 -145
  177. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +0 -140
  178. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +0 -154
  179. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +0 -159
  180. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +0 -149
  181. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +0 -136
  182. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +0 -116
  183. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +0 -120
  184. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +0 -154
  185. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +0 -88
  186. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +0 -211
  187. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +0 -140
  188. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +0 -294
  189. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +0 -299
  190. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +0 -117
  191. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +0 -208
  192. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +0 -163
  193. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +0 -111
  194. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +0 -104
  195. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +0 -108
  196. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +0 -103
  197. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +0 -119
  198. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +0 -112
  199. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +0 -95
  200. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +0 -92
  201. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +0 -141
  202. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +0 -169
  203. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +0 -169
  204. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +0 -97
  205. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +0 -115
  206. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +0 -151
  207. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +0 -143
  208. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +0 -129
  209. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +0 -221
  210. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +0 -153
  211. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +0 -101
  212. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +0 -106
  213. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +0 -109
  214. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +0 -93
  215. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +0 -90
  216. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +0 -185
  217. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +0 -73
  218. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +0 -327
  219. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +0 -149
  220. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +0 -127
  221. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +0 -88
  222. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +0 -105
  223. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +0 -136
  224. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +0 -131
  225. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +0 -112
  226. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +0 -125
  227. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +0 -107
  228. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +0 -115
  229. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +0 -93
  230. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +0 -100
  231. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +0 -83
  232. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +0 -83
  233. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +0 -106
  234. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +0 -114
  235. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +0 -118
  236. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +0 -109
  237. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +0 -90
  238. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +0 -73
  239. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +0 -144
  240. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +0 -85
  241. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +0 -146
  242. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +0 -114
  243. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +0 -129
  244. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +0 -140
  245. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +0 -132
  246. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +0 -108
  247. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +0 -84
  248. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +0 -136
  249. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +0 -155
  250. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +0 -140
  251. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +0 -276
  252. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +0 -87
  253. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +0 -151
  254. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +0 -112
  255. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +0 -205
  256. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +0 -104
  257. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +0 -119
  258. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +0 -172
  259. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +0 -195
  260. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +0 -95
  261. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +0 -90
  262. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +0 -193
  263. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +0 -110
  264. package/templates/react-sdk-reference/.github/prompts/replace-design-system.prompt.md +0 -524
  265. package/templates/react-sdk-reference/.github/skills/component-contracts.md +0 -140
  266. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +0 -152
  267. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
  268. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +0 -148
  269. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +0 -113
  270. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -155
  271. package/templates/react-sdk-reference/.github/skills/field-components.md +0 -295
  272. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +0 -113
  273. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +0 -211
  274. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +0 -175
  275. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +0 -109
  276. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +0 -101
  277. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +0 -106
  278. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +0 -99
  279. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +0 -134
  280. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +0 -109
  281. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +0 -96
  282. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +0 -145
  283. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -98
  284. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +0 -117
  285. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +0 -203
  286. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +0 -70
  287. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +0 -124
  288. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +0 -86
  289. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +0 -137
  290. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +0 -131
  291. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +0 -124
  292. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +0 -104
  293. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +0 -112
  294. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -90
  295. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +0 -80
  296. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +0 -106
  297. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +0 -112
  298. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +0 -116
  299. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +0 -108
  300. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +0 -82
  301. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +0 -142
  302. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +0 -143
  303. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +0 -130
  304. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +0 -142
  305. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +0 -133
  306. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -152
  307. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +0 -139
  308. package/templates/react-sdk-reference/.github/skills/widget-components.md +0 -260
  309. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +0 -84
  310. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +0 -151
  311. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +0 -110
  312. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +0 -103
  313. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +0 -169
  314. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +0 -198
  315. package/templates/react-sdk-reference/AGENTS.md +0 -246
  316. /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/run-and-verify.md +0 -0
  317. /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +0 -0
@@ -1,140 +0,0 @@
1
- ---
2
- description: Template component skill: SelfServiceCaseView
3
- alwaysApply: false
4
- ---
5
-
6
- # Skill: SelfServiceCaseView
7
-
8
- Self-service portal case view template. Renders a case workspace optimized for self-service channels, with a compact summary sidebar, main content area, and optional utilities panel.
9
-
10
- > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
11
-
12
- ---
13
-
14
- ## Component Purpose
15
-
16
- A case view variant designed for self-service portal channels. Uses a horizontal flex layout (25% summary / flex:1 main / 25% utilities) instead of the 3-column grid of `CaseView`. Filters case summary data to only include fields available in the self-service channel, and filters utilities to self-service-appropriate actions.
17
-
18
- ## Pega Metadata
19
-
20
- - **Registration key:** `SelfServiceCaseView` (in `component-map.ts`)
21
- - **Category:** Page template — self-service case workspace
22
- - **Extends:** `PConnProps`
23
-
24
- ## Props
25
-
26
- | Prop | Type | Required | Description |
27
- |------|------|----------|-------------|
28
- | `children` | `ReactNode[]` | Yes | Region children (variable count based on `isObjectType`) |
29
- | `isObjectType` | `boolean` | No | Whether the case is an object-type (affects child region count) |
30
- | `getPConnect` | `function` | Yes | PConnect getter |
31
-
32
- ## Behavioral Contract
33
-
34
- ### Region Assignment by Child Index
35
-
36
- Child indexing depends on `isObjectType`:
37
-
38
- **`isObjectType === false` (5 children):**
39
- | Index | Region |
40
- |-------|--------|
41
- | 0 | Summary |
42
- | 1 | (Header/Stages) |
43
- | 2 | Main content |
44
- | 3 | Utilities |
45
- | 4 | (Additional) |
46
-
47
- **`isObjectType === true` (3 children):**
48
- | Index | Region |
49
- |-------|--------|
50
- | 0 | Summary |
51
- | 1 | Main content |
52
- | 2 | Utilities |
53
-
54
- Show/hide individual regions based on:
55
- - `showSummary`: always show summary region.
56
- - `showMain`: always show main content region.
57
- - `showUtilities`: show utilities only if the region has content.
58
-
59
- ### `selfServiceCaseViewHeader`
60
-
61
- Renders a slim header bar above the main flex layout showing:
62
- - Case ID / case type name
63
- - Case status badge
64
-
65
- ### Case Summary Data
66
-
67
- Call `prepareCaseSummaryData(primaryFields, secondaryFields, getPConnect)` with a filter:
68
- - Only include fields where `availableInChannel.selfService === true`.
69
-
70
- ### Utilities Filter
71
-
72
- Call `filterUtilities(utilitiesChildren, getPConnect)` to remove utilities not appropriate for self-service channels.
73
-
74
- ### Render Structure
75
-
76
- ```
77
- <div className="psdk-ss-case-view">
78
- <selfServiceCaseViewHeader />
79
- <div className="psdk-ss-case-view-body" style="display:flex; flex-direction:row">
80
- <div style="flex: 0 0 25%"> {/* Summary */}
81
- {showSummary && summaryRegion}
82
- </div>
83
- <div style="flex: 1"> {/* Main content */}
84
- {showMain && mainRegion}
85
- </div>
86
- <div style="flex: 0 0 25%"> {/* Utilities */}
87
- {showUtilities && utilitiesRegion}
88
- </div>
89
- </div>
90
- </div>
91
- ```
92
-
93
- ## Visual Specifications
94
-
95
- | Column | Width | Contents |
96
- |--------|-------|----------|
97
- | Summary | 25% (fixed) | Case summary fields (self-service filtered) |
98
- | Main | flex: 1 | Main case content / assignment form |
99
- | Utilities | 25% (fixed) | Filtered utilities |
100
-
101
- **CSS-only implementation notes:**
102
- - Body layout: `display: flex; flex-direction: row; gap: 1rem`.
103
- - Summary column: `flex: 0 0 25%; min-width: 0`.
104
- - Main column: `flex: 1 1 auto; min-width: 0`.
105
- - Utilities column: `flex: 0 0 25%; min-width: 0`.
106
- - Header bar: `display: flex; align-items: center; gap: 1rem; padding: 0.5rem 0; margin-bottom: 1rem`.
107
- - Responsive: collapse to single column on mobile.
108
-
109
- ## Edge Cases & Special Logic
110
-
111
- - `isObjectType` changes the number of `children` — always derive regions by index based on this flag.
112
- - `filterUtilities` may return empty array — `showUtilities` should be `false` in that case (hide the column entirely).
113
- - Summary fields filtered by `availableInChannel.selfService` — if all fields are filtered out, the summary column may be empty.
114
- - The self-service header differs from the standard case header — it is a separate sub-component, not the full `CaseView` header.
115
-
116
- ## Dependencies
117
-
118
- - `prepareCaseSummaryData` from `./utils` — with self-service channel filter applied
119
- - `filterUtilities` from `./utils` — removes non-self-service utilities
120
- - `selfServiceCaseViewHeader` — inline sub-component or imported header
121
- - `PConnectComponent` from `@pega/sdk-react`
122
-
123
- ## Design System Mapping
124
-
125
- **UI control type:** Self-service portal case workspace — horizontal 3-panel flex layout.
126
-
127
- Listed design systems are examples only.
128
-
129
- | Design System | Layout | Header Bar |
130
- |---|---|---|
131
- | Default (CSS only) | CSS `display:flex` with percentage widths | Custom `<header>` |
132
- | MUI | `<Box display='flex' flexDirection='row'>` with `<Box flex='0 0 25%'>` | `<Box>` with `<Typography>` |
133
- | Ant Design | `<Layout>` with `<Sider>` + `<Content>` | `<PageHeader>` |
134
- | Chakra UI | `<HStack align='stretch'>` with width constraints | `<Flex>` |
135
- | Shadcn/ui | Tailwind `flex flex-row` | Custom header |
136
-
137
- When implementing in a specific design system:
138
- - `isObjectType` determines child count — do not assume fixed child order without checking this flag
139
- - Self-service channel filter on summary data is mandatory — `availableInChannel.selfService === true`
140
- - `filterUtilities` result controls utilities column visibility
@@ -1,132 +0,0 @@
1
- ---
2
- description: Template component skill: SimpleTable
3
- alwaysApply: false
4
- ---
5
-
6
- # Skill: SimpleTable
7
-
8
- Simple table template. Routes to FieldGroupTemplate, ListView (read-only), or the manual editable table based on configuration. Also covers `SimpleTableManual`, `SimpleTableSelect`, and `SimpleTableSelectReadonly` sub-variants.
9
-
10
- > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
11
-
12
- ---
13
-
14
- ## Component Purpose
15
-
16
- Entry-point template for embedded table data in a form or detail view. Routes to the appropriate sub-component based on `multiRecordDisplayAs`, `fieldMetadata.dataRetrievalType`, and `readOnly`/`displayMode` flags. Sub-variants handle selection, read-only display, and full manual editing.
17
-
18
- ## Pega Metadata
19
-
20
- - **Registration keys:** `SimpleTable`, `SimpleTableManual`, `SimpleTableSelect`, `SimpleTableSelectReadonly` (all in `component-map.ts`)
21
- - **Category:** Data display / Form template — embedded table
22
- - **Extends:** `PConnProps`
23
-
24
- ## Props
25
-
26
- | Prop | Type | Required | Description |
27
- |------|------|----------|-------------|
28
- | `multiRecordDisplayAs` | `string` | No | `'fieldGroup'` delegates to FieldGroupTemplate; else table |
29
- | `fieldMetadata` | `object` | No | Field-level metadata including `dataRetrievalType` |
30
- | `referenceList` | `string` | No | Property path to the reference list |
31
- | `displayAs` | `string` | No | For SimpleTableSelectReadonly: `'readonlyMulti'`, `'combobox'`, `'checkboxgroup'` routing |
32
- | `selectionMode` | `string` | No | `'single'` or `'multi'` (for SimpleTableSelect) |
33
- | `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only sub-variant |
34
- | `readOnly` | `boolean` | No | Alternative read-only flag |
35
- | `getPConnect` | `function` | Yes | PConnect getter |
36
-
37
- ## Behavioral Contract
38
-
39
- ### SimpleTable — Routing Logic
40
-
41
- ```
42
- if multiRecordDisplayAs === 'fieldGroup':
43
- → render FieldGroupTemplate
44
- else if fieldMetadata.dataRetrievalType === 'refer':
45
- → render ListView (read-only, bInForm: true)
46
- else:
47
- → render SimpleTableManual (editable table)
48
- ```
49
-
50
- ### SimpleTableManual — Full Editable Table
51
-
52
- Full MUI table with add/delete rows, inline editing, sort, filter, and column customization (~600+ lines).
53
-
54
- Key behaviors:
55
- 1. **Row data source:** `referenceList` property path via `pConn.getValue(referenceList + '.pxResults')`.
56
- 2. **Add row:** `pConn.getListActions().insert({})`.
57
- 3. **Delete row:** `pConn.getListActions().deleteEntry(index)`.
58
- 4. **Inline field editing:** Each cell renders the field's registered edit component via `buildView(pConn, rowIndex, colFieldName)`.
59
- 5. **Sort:** Client-side sort on loaded data.
60
- 6. **Column customization:** Visibility toggles per column via a settings popover.
61
- 7. **Filter dialog:** Same filter pattern as ListView.
62
-
63
- ### SimpleTableSelect — Selection Mode
64
-
65
- Wraps `ListView` with additional selection configuration:
66
- - Passes `additionalTableConfig` with `selectionMode: 'single'` or `'multi'`.
67
- - On selection: calls `pConn.getListActions().setSelectedRow(selectedData)`.
68
- - Used when `DataReference` routes to table-based selection.
69
-
70
- ### SimpleTableSelectReadonly — Read-Only with Modal
71
-
72
- 1. Renders a link/chip showing the current selection count.
73
- 2. On click: opens a `<Dialog>` containing a `<SimpleTableManual>` in read-only mode.
74
- 3. Props: same as `SimpleTableManual` but all fields locked (no add/delete/edit).
75
-
76
- ## Visual Specifications
77
-
78
- ### SimpleTableManual
79
-
80
- | Element | Description |
81
- |---------|-------------|
82
- | Toolbar | Column settings button, filter button, optional search |
83
- | Table | Full-width, alternating row colors |
84
- | Add row | `"+ Add row"` button below the table |
85
- | Delete row | Trash icon per row (rightmost column) |
86
- | Column settings | Popover with checkboxes for visibility toggles |
87
-
88
- **CSS-only implementation notes:**
89
- - Table: `width: 100%; border-collapse: collapse`.
90
- - Add row button: `margin-top: 0.5rem; text-align: left`.
91
- - Delete cell: `width: 40px; text-align: center`.
92
- - Read-only mode: hide add/delete controls; cells show plain text.
93
-
94
- ### SimpleTableSelectReadonly
95
-
96
- | Element | Description |
97
- |---------|-------------|
98
- | Trigger | Link or chip showing selection count |
99
- | Modal | Full-screen or large dialog with SimpleTableManual |
100
- | Modal close | `X` button in modal header |
101
-
102
- ## Edge Cases & Special Logic
103
-
104
- - `multiRecordDisplayAs === 'fieldGroup'` — completely bypasses table; delegates to `FieldGroupTemplate`.
105
- - `dataRetrievalType === 'refer'` — data comes from a reference list, not a full data page; use `ListView` in read-only mode.
106
- - `SimpleTableManual` with 600+ lines — break into sub-hooks if re-implementing.
107
- - Row keys must be unique — use composite keys from `compositeKeys` config if available.
108
- - Column customization state is local — not persisted across navigation.
109
-
110
- ## Dependencies
111
-
112
- - `FieldGroupTemplate` (for `multiRecordDisplayAs === 'fieldGroup'` routing)
113
- - `ListView` (for `dataRetrievalType === 'refer'` routing)
114
- - `buildView` from `../../helpers/field-group-utils` (for inline cell rendering in SimpleTableManual)
115
- - MUI: `<Table>`, `<Dialog>`, `<Popover>`, `<IconButton>`, `<Button>`, `<Checkbox>`
116
-
117
- ## Design System Mapping
118
-
119
- **UI control type:** Embedded data table with routing to field group, read-only list, or fully editable table.
120
-
121
- Listed design systems are examples only.
122
-
123
- | Sub-variant | Default (CSS only) | MUI |
124
- |---|---|---|
125
- | SimpleTableManual | `<table>` + custom controls | MUI `<Table>` |
126
- | SimpleTableSelect | Custom table + radio/checkbox | `<ListView>` wrapper |
127
- | SimpleTableSelectReadonly | Link + `<dialog>` | Chip + `<Dialog>` |
128
-
129
- When implementing in a specific design system:
130
- - Always check `multiRecordDisplayAs === 'fieldGroup'` first — this bypasses the table entirely
131
- - `SimpleTableManual` add/delete row controls must be hidden when `readOnly === true` or `displayMode === 'DISPLAY_ONLY'`
132
- - `SimpleTableSelect` uses the same `ListView` but adds selection callbacks
@@ -1,108 +0,0 @@
1
- ---
2
- description: Template component skill: SingleReferenceReadOnly
3
- alwaysApply: false
4
- ---
5
-
6
- # Skill: SingleReferenceReadOnly
7
-
8
- Single reference read-only template. Renders a read-only reference field as a semantic link for editable field types, or as a plain label otherwise.
9
-
10
- > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
11
-
12
- ---
13
-
14
- ## Component Purpose
15
-
16
- Renders a single data reference field in read-only mode. For fields that were displayed as editable selection controls (autocomplete, table select, dropdown), renders a `SemanticLink` component so the reference value is clickable/navigable. For other display types, renders a plain read-only label.
17
-
18
- ## Pega Metadata
19
-
20
- - **Registration key:** `SingleReferenceReadOnly` (in `component-map.ts`)
21
- - **Category:** Display template — read-only reference
22
- - **Extends:** `PConnProps`
23
-
24
- ## Props
25
-
26
- | Prop | Type | Required | Description |
27
- |------|------|----------|-------------|
28
- | `label` | `string` | Yes | Field label |
29
- | `displayAs` | `string` | Yes | The edit-mode display type this field was configured with |
30
- | `value` | `string` | No | Current field value (display text) |
31
- | `caseClass` | `string` | No | Class identifier for the referenced case |
32
- | `text` | `string` | No | Display text for the semantic link |
33
- | `caseID` | `string` | No | Case ID for the semantic link |
34
- | `contextPage` | `string` | No | Context page identifier |
35
- | `resourceParams` | `object` | No | Parameters for the referenced resource |
36
- | `resourcePayload` | `object` | No | Payload for resource navigation |
37
- | `getPConnect` | `function` | Yes | PConnect getter |
38
-
39
- ## Behavioral Contract
40
-
41
- ### Editable Component Check
42
-
43
- ```
44
- editableComponents = ['AutoComplete', 'SimpleTableSelect', 'Dropdown']
45
- ```
46
-
47
- If `displayAs` is in `editableComponents`:
48
- 1. Build config with: `caseClass`, `text`, `caseID`, `contextPage`, `resourceParams`, `resourcePayload`.
49
- 2. Create: `createComponent({ type: 'SemanticLink', config: { ...builtConfig } })`.
50
- 3. Render the created `SemanticLink` component.
51
-
52
- Else:
53
- - Render a plain read-only display using `<FormControl variant='standard'>` + `<FormLabel>` + value text.
54
-
55
- ### Layout
56
-
57
- For both variants, wrap with:
58
- ```tsx
59
- <FormControl variant='standard' sx={{ flexDirection: 'row' }}>
60
- <FormLabel sx={{ marginRight: '2rem' }}>{label}</FormLabel>
61
- {semanLinkOrValue}
62
- </FormControl>
63
- ```
64
-
65
- ## Visual Specifications
66
-
67
- | Variant | Layout |
68
- |---------|--------|
69
- | SemanticLink | Label (left) + clickable link (right) |
70
- | Plain read-only | Label (left) + plain text (right) |
71
-
72
- **CSS-only implementation notes:**
73
- - Wrapper: `display: flex; flex-direction: row; align-items: baseline; gap: 1rem`.
74
- - Label: `font-size: 0.875rem; color: var(--secondary-text-color); min-width: 120px`.
75
- - Semantic link: `color: var(--link-color); text-decoration: underline; cursor: pointer`.
76
- - Plain value: `font-size: 0.875rem; color: var(--primary-text-color)`.
77
-
78
- ## Edge Cases & Special Logic
79
-
80
- - `displayAs` check is case-sensitive — values are `'AutoComplete'`, `'SimpleTableSelect'`, `'Dropdown'` (exact match).
81
- - `createComponent` returns a PConnect config — render via `createElement(PConnectComponent, { ...createdConfig })`.
82
- - If `text` is empty/undefined, the semantic link shows the `caseID` as fallback text.
83
- - `SemanticLink` navigation requires `caseClass` and `caseID` — if either is missing, fall back to plain read-only display.
84
-
85
- ## Dependencies
86
-
87
- - `PConnectComponent` from `@pega/sdk-react` — for rendering the `SemanticLink`
88
- - `getPConnect().createComponent()` — creates the SemanticLink component config
89
- - MUI: `<FormControl>`, `<FormLabel>`
90
-
91
- ## Design System Mapping
92
-
93
- **UI control type:** Read-only reference field — semantic link for navigable references, plain label otherwise.
94
-
95
- Listed design systems are examples only.
96
-
97
- | Design System | Semantic Link | Plain Read-Only |
98
- |---|---|---|
99
- | Default (CSS only) | `<a>` with case navigation | `<span>` |
100
- | MUI | `SemanticLink` rendered via `createComponent` | `<Typography>` |
101
- | Ant Design | `<Typography.Link>` | `<Typography.Text>` |
102
- | Chakra UI | `<Link>` | `<Text>` |
103
- | Shadcn/ui | Custom link | `<span>` |
104
-
105
- When implementing in a specific design system:
106
- - The `editableComponents` list (`'AutoComplete'`, `'SimpleTableSelect'`, `'Dropdown'`) controls semantic link vs plain display
107
- - `SemanticLink` must be rendered via `createComponent` — do not implement the link logic directly in this component
108
- - Horizontal label + value layout (row direction) is required
@@ -1,84 +0,0 @@
1
- ---
2
- description: Template component skill: SubTabs
3
- alwaysApply: false
4
- ---
5
-
6
- # Skill: SubTabs
7
-
8
- Sub-tabs navigation template. Renders a tab container for case view sections using shared tab utilities with deferred content loading.
9
-
10
- > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
11
-
12
- ---
13
-
14
- ## Component Purpose
15
-
16
- Renders a horizontal tab bar for navigating between case view sections. Uses shared `tabUtils` for tab state management (visible tabs, transient tabs, tab click). Tab content is deferred — only the active tab loads content. No section heading.
17
-
18
- ## Pega Metadata
19
-
20
- - **Registration key:** `SubTabs` (in `component-map.ts`)
21
- - **Category:** Navigation template
22
- - **Extends:** `PConnProps`
23
-
24
- ## Props
25
-
26
- | Prop | Type | Required | Description |
27
- |------|------|----------|-------------|
28
- | `children` | `ReactNode[]` | Yes | `children[0]` is the deferred-loaded tabs container |
29
- | `getPConnect` | `function` | Yes | PConnect getter |
30
-
31
- ## Behavioral Contract
32
-
33
- 1. **Extract deferred tabs:** `deferLoadedTabs = Children.toArray(children)[0]`.
34
- 2. **State:** `currentTabId` (string, default `'0'`), `tabItems` (array).
35
- 3. **Compute visible tabs:** `getVisibleTabs(deferLoadedTabs, 'tabsSubs')` in `useEffect([deferLoadedTabs])` → `availableTabs`.
36
- 4. **Transient tabs:** `useEffect([currentTabId])` → `setTabItems(getTransientTabs(availableTabs, currentTabId, tabItems))`.
37
- 5. **Tab click:** `tabClick(index, availableTabs, currentTabId, setCurrentTabId, tabItems)` from `tabUtils`.
38
- 6. **Render:**
39
- - `<TabContext value={currentTabId}>`
40
- - `<Tabs onChange={handleTabClick} value={currentTabId}>` — one `<Tab>` per `tabItems`
41
- - One `<TabPanel>` per `tabItems` with `tab.content || ''`
42
- 7. No section heading (unlike `DetailsSubTabs`).
43
-
44
- > **Difference from `DetailsSubTabs`:** SubTabs has no `label`/`showLabel` props and no `<h3>` heading. Uses `'tabsSubs'` identifier for `getVisibleTabs` (vs `'detailsSubTabs'`).
45
-
46
- ## Visual Specifications
47
-
48
- Identical to `DetailsSubTabs` except no heading above the tab bar.
49
-
50
- **CSS-only implementation notes:**
51
- - Tab bar: `display: flex; border-bottom: 2px solid var(--divider)`.
52
- - Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
53
- - Active tab: `border-bottom-color: var(--app-primary-color); font-weight: 600`.
54
- - Tab panel: `padding: 16px 0`.
55
-
56
- ## Edge Cases & Special Logic
57
-
58
- See `DetailsSubTabs.md` for shared edge cases. Additional:
59
- - `tabUtils` identifier string `'tabsSubs'` must match exactly — it is used internally by `getVisibleTabs` for scoping.
60
-
61
- ## Dependencies
62
-
63
- - `getTransientTabs`, `getVisibleTabs`, `tabClick` from `./tabUtils`
64
- - `TabContext`, `TabPanel` from `@mui/lab`
65
- - `Tab`, `Tabs` from `@mui/material`
66
-
67
- ## Design System Mapping
68
-
69
- **UI control type:** Tab navigation container — no heading, deferred content loading.
70
-
71
- Listed design systems are examples only.
72
-
73
- | Design System | Recommended Component |
74
- |---|---|
75
- | Default (CSS only) | Custom tab bar with CSS underline indicator |
76
- | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
77
- | Ant Design | `<Tabs>` with `items` array |
78
- | Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
79
- | Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
80
-
81
- When implementing in a specific design system:
82
- - Use `getVisibleTabs(tabs, 'tabsSubs')` — the identifier string must be `'tabsSubs'`
83
- - No heading above the tab bar (unlike `DetailsSubTabs`)
84
- - Deferred loading: content populates lazily via `getTransientTabs`
@@ -1,136 +0,0 @@
1
- ---
2
- description: Template component skill: TwoColumn
3
- alwaysApply: false
4
- ---
5
-
6
- # Skill: TwoColumn
7
-
8
- Two-column layout template that splits children into two responsive grid columns with configurable width ratios.
9
-
10
- > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
11
-
12
- ---
13
-
14
- ## Component Purpose
15
-
16
- Renders two child components side by side in a responsive grid. Column widths are driven by the `templateCol` prop (e.g., `'1fr 1fr'`, `'2fr 1fr'`). On mobile (`xs`), both columns collapse to full width. Three closely related sub-variants share this same layout logic:
17
-
18
- - **`TwoColumn`** — core layout, used inside forms and views
19
- - **`TwoColumnPage`** — thin wrapper that delegates to `TwoColumn` via the component registry
20
- - **`TwoColumnTab`** — identical layout implementation used inside tab contexts
21
-
22
- ## Pega Metadata
23
-
24
- | Variant | Registration Key |
25
- |---------|-----------------|
26
- | TwoColumn | `TwoColumn` |
27
- | TwoColumnPage | `TwoColumnPage` |
28
- | TwoColumnTab | `TwoColumnTab` |
29
-
30
- All three extend `PConnProps`. Children are received as React `children` (not via `getPConnect().getChildren()`).
31
-
32
- ## Props
33
-
34
- | Prop | Type | Required | Description |
35
- |------|------|----------|-------------|
36
- | `children` | `ReactNode[]` | Yes | Exactly 2 children (left column, right column) |
37
- | `templateCol` | `string` | No | Column width ratio string, e.g., `'1fr 1fr'`, `'2fr 1fr'`. Default `'1fr 1fr'` |
38
-
39
- ## Sub-Variants
40
-
41
- ### TwoColumnPage
42
-
43
- Thin pass-through wrapper. Retrieves `TwoColumn` from the component registry and renders it with all props forwarded:
44
-
45
- ```typescript
46
- const TwoColumn = getComponentFromRegistry('TwoColumn');
47
- return <TwoColumn {...props} />;
48
- ```
49
-
50
- ### TwoColumnTab
51
-
52
- Identical implementation to `TwoColumn` — same grid layout, same `templateCol` parsing, same column styles. Registered separately under `TwoColumnTab` key to support tab context rendering.
53
-
54
- ## Behavioral Contract
55
-
56
- 1. Accept exactly 2 children. If a different count is received, log an error (console only — still render).
57
- 2. Parse `templateCol` to compute MUI Grid column sizes:
58
- - Strip unit suffixes (e.g., `'fr'`) from each token using regex: `.replaceAll(/[a-z]+/g, '')`.
59
- - Split on whitespace and convert to numbers.
60
- - Compute `totalCols = sum(colArray)`.
61
- - Compute `ratio = 12 / totalCols`.
62
- - `aSize = ratio * colArray[0]`, `bSize = ratio * colArray[1]` (both clamped to MUI's 1–12 GridSize range).
63
- 3. Render a Grid container with `spacing={1}`.
64
- 4. Render `children[0]` in the left column at `size={{ xs: 12, md: aSize }}`.
65
- 5. Render `children[1]` in the right column at `size={{ xs: 12, md: bSize }}`.
66
- 6. Apply `colStyles` class to each column: `display: grid; gap: 1rem; alignContent: baseline`.
67
-
68
- ## Visual Specifications
69
-
70
- Derived from `TwoColumn.tsx` and `TwoColumnTab.tsx` makeStyles:
71
-
72
- ### Column Style
73
-
74
- | Property | Value |
75
- |----------|-------|
76
- | Display | grid |
77
- | Gap | 1rem |
78
- | Align content | baseline (children stack top-aligned) |
79
-
80
- ### Grid Spacing
81
-
82
- | Property | Value |
83
- |----------|-------|
84
- | Container spacing | 1 (≈ 8px between columns) |
85
-
86
- ### Responsive Behavior
87
-
88
- | Breakpoint | Column A | Column B |
89
- |-----------|----------|----------|
90
- | xs (mobile) | 12/12 (full width) | 12/12 (full width, stacks below) |
91
- | md+ (desktop) | `aSize`/12 | `bSize`/12 |
92
-
93
- **Column ratio examples:**
94
-
95
- | `templateCol` | Column A | Column B |
96
- |--------------|----------|----------|
97
- | `'1fr 1fr'` | 6/12 (50%) | 6/12 (50%) |
98
- | `'2fr 1fr'` | 8/12 (67%) | 4/12 (33%) |
99
- | `'1fr 2fr'` | 4/12 (33%) | 8/12 (67%) |
100
- | `'3fr 1fr'` | 9/12 (75%) | 3/12 (25%) |
101
-
102
- **CSS-only implementation notes:**
103
- - Column container: `display: grid; gap: 1rem; align-content: start`.
104
- - Outer grid: `display: grid; grid-template-columns: <aFraction>fr <bFraction>fr; gap: 8px`.
105
- - Mobile: `grid-template-columns: 1fr` (single column stack).
106
- - Each column has `display: grid; gap: 1rem; align-content: baseline` for internal stacking.
107
-
108
- ## Edge Cases & Special Logic
109
-
110
- - Default `templateCol` is `'1fr 1fr'` (equal split) when not provided.
111
- - The `templateCol` parsing is regex-based — any non-numeric suffix is stripped. If only numbers are provided (e.g., `'6 6'`), it still works.
112
- - `TwoColumnPage` uses `getComponentFromRegistry('TwoColumn')` — if the registry returns an override, that override is used instead of the default `TwoColumn` implementation.
113
-
114
- ## Dependencies
115
-
116
- - `TwoColumnPage`: `getComponentFromRegistry` from `@pega/sdk-react` — to resolve the `TwoColumn` component at runtime
117
- - `TwoColumn` / `TwoColumnTab`: no special dependencies beyond layout
118
-
119
- ## Design System Mapping
120
-
121
- **UI control type:** Responsive two-column grid layout.
122
-
123
- Listed design systems are examples only.
124
-
125
- | Design System | Recommended Component |
126
- |---|---|
127
- | Default (CSS only) | CSS Grid with `grid-template-columns: <a>fr <b>fr; gap: 8px` |
128
- | MUI | `<Grid container spacing={1}><Grid size={{ xs: 12, md: N }}>` |
129
- | Ant Design | `<Row gutter={8}><Col xs={24} md={N * 2}>` (Ant uses 24-column grid) |
130
- | Chakra UI | `<SimpleGrid columns={{ base: 1, md: 2 }} spacing={2}>` |
131
- | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[<a>fr_<b>fr] gap-2` |
132
-
133
- When implementing in a specific design system:
134
- - Parse `templateCol` using the same ratio algorithm (strip units, divide 12 by total)
135
- - Apply `align-content: baseline` so children within each column stack top-aligned
136
- - Collapse to single column on mobile breakpoint