@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
- # Skill: Component Contracts Reference
2
-
3
- Quick-reference lookup of all registered component names and their prop contracts. Use this when you need to know what props a specific component receives from the Pega platform.
4
-
5
- ---
6
-
7
- ## Field Components
8
-
9
- All extend `PConnFieldProps` from `@pega/sdk-react`.
10
-
11
- | Registry Name | File | Additional Props |
12
- | ----------------- | ----------------------------------- | ---------------------------------- |
13
- | `TextInput` | `field/TextInput/TextInput.tsx` | `fieldMetadata?: any` |
14
- | `TextArea` | `field/TextArea/` | `fieldMetadata?: any` |
15
- | `Dropdown` | `field/Dropdown/` | `datasource?, listType?` |
16
- | `Checkbox` | `field/Checkbox/` | `value: boolean` (not string) |
17
- | `RadioButtons` | `field/RadioButtons/` | `datasource?, listType?` |
18
- | `Date` | `field/Date/` | — |
19
- | `DateTime` | `field/DateTime/` | — |
20
- | `Time` | `field/Time/` | — |
21
- | `Currency` | `field/Currency/` | `currencyISOCode?, formatterType?` |
22
- | `Decimal` | `field/Decimal/` | `decimalPrecision?` |
23
- | `Integer` | `field/Integer/` | — |
24
- | `Percentage` | `field/Percentage/` | — |
25
- | `Email` | `field/Email/Email.tsx` | — |
26
- | `Phone` | `field/Phone/Phone.tsx` | `datasource?` (country codes) |
27
- | `URL` | `field/URL/` | — |
28
- | `AutoComplete` | `field/AutoComplete/` | `datasource?, listType?, columns?` |
29
- | `Multiselect` | `field/Multiselect/Multiselect.tsx` | `datasource?, listType?` |
30
- | `RichText` | `field/RichText/` | — |
31
- | `ScalarList` | `field/ScalarList/` | `datasource?` |
32
- | `SelectableCard` | `field/SelectableCard/` | `datasource?` |
33
- | `Group` | `field/Group/` | — |
34
- | `Location` | `field/Location/` | — |
35
- | `ObjectReference` | `field/ObjectReference/` | `value: object` |
36
- | `SemanticLink` | `field/SemanticLink/` | `text?, displayAs?` |
37
- | `UserReference` | `field/UserReference/` | `showAsFormattedText?` |
38
- | `CancelAlert` | `field/CancelAlert/` | — |
39
- | `TextContent` | `field/TextContent/` | `content?` |
40
-
41
- ---
42
-
43
- ## Template Components
44
-
45
- All extend `PConnProps`. Most receive React `children` or use `getPConnect().getChildren()`.
46
-
47
- | Registry Name | File | Key Props |
48
- | -------------------- | -------------------------------------- | ---------------------------------------- |
49
- | `OneColumn` | `template/OneColumn/OneColumn.tsx` | `children` |
50
- | `OneColumnPage` | `template/OneColumn/OneColumnPage.tsx` | `children` |
51
- | `OneColumnTab` | `template/OneColumn/OneColumnTab.tsx` | `children` |
52
- | `TwoColumn` | `template/TwoColumn/TwoColumn.tsx` | `children, templateCol?` |
53
- | `TwoColumnPage` | `template/TwoColumn/TwoColumnPage.tsx` | `children` |
54
- | `TwoColumnTab` | `template/TwoColumn/TwoColumnTab.tsx` | `children` |
55
- | `NarrowWide` | `template/NarrowWide/NarrowWide.tsx` | `children, templateCol?` |
56
- | `WideNarrow` | `template/WideNarrow/WideNarrow.tsx` | `children, templateCol?` |
57
- | `Details` | `template/Details/Details.tsx` | `children` |
58
- | `DefaultForm` | `template/DefaultForm/` | PConnect children |
59
- | `DefaultPage` | `template/DefaultPage/` | PConnect children |
60
- | `CaseView` | `template/CaseView/` | PConnect children, `header?, subheader?` |
61
- | `CaseSummary` | `template/CaseSummary/` | PConnect children |
62
- | `Confirmation` | `template/Confirmation/` | `label?` |
63
- | `SimpleTable` | `template/SimpleTable/SimpleTable.tsx` | `datasource?, fields?, label?` |
64
- | `ListView` | `template/ListView/` | `datasource?, fields?` |
65
- | `SubTabs` | `template/SubTabs/` | PConnect children |
66
- | `AppShell` | `template/AppShell/AppShell.tsx` | PConnect children |
67
- | `DataReference` | `template/DataReference/` | PConnect children |
68
- | `ListPage` | `template/ListPage/ListPage.tsx` | PConnect children |
69
- | `InlineDashboard` | `template/InlineDashboard/` | PConnect children |
70
- | `FieldGroupTemplate` | `template/FieldGroupTemplate/` | PConnect children |
71
-
72
- ---
73
-
74
- ## Widget Components
75
-
76
- All extend `PConnProps`. Fetch their own data.
77
-
78
- | Registry Name | File | Key Props |
79
- | ----------------- | ------------------------------------ | ------------------------------------ |
80
- | `Todo` | `widget/ToDo/` | `datasource?, headerText?, context?` |
81
- | `Attachment` | `widget/Attachment/` | `value, allowMultiple?, extensions?` |
82
- | `CaseHistory` | `widget/CaseHistory/` | `datasource?` |
83
- | `FileUtility` | `widget/FileUtility/FileUtility.tsx` | `datasource?` |
84
- | `Followers` | `widget/Followers/` | — |
85
- | `AppAnnouncement` | `widget/AppAnnouncement/` | `datasource?, headerText?` |
86
- | `QuickCreate` | `widget/QuickCreate/` | — |
87
- | `SummaryItem` | `widget/SummaryItem/` | `label?, value?, actions?` |
88
- | `SummaryList` | `widget/SummaryList/` | `datasource?` |
89
-
90
- ---
91
-
92
- ## Design System Extension Components
93
-
94
- | Registry Name | File | Key Props |
95
- | ------------------- | ------------------------------------------ | --------------------------------------- |
96
- | `FieldValueList` | `designSystemExtension/FieldValueList/` | `name?, value?, variant?` |
97
- | `AlertBanner` | `designSystemExtension/AlertBanner/` | `variant, heading?, messages, onClose?` |
98
- | `Banner` | `designSystemExtension/Banner/` | `variant?, text?` |
99
- | `CaseSummaryFields` | `designSystemExtension/CaseSummaryFields/` | PConnect-based |
100
- | `DetailsFields` | `designSystemExtension/DetailsFields/` | PConnect-based |
101
- | `FieldGroup` | `designSystemExtension/FieldGroup/` | PConnect-based |
102
- | `FieldGroupList` | `designSystemExtension/FieldGroupList/` | PConnect-based |
103
- | `Operator` | `designSystemExtension/Operator/` | `label?, name?, id?` |
104
- | `Pulse` | `designSystemExtension/Pulse/` | PConnect-based |
105
- | `RichTextEditor` | `designSystemExtension/RichTextEditor/` | extends `PConnFieldProps` |
106
- | `WssQuickCreate` | `designSystemExtension/WssQuickCreate/` | — |
107
-
108
- ---
109
-
110
- ## Infrastructure (from `sdkComponents` — do NOT replace)
111
-
112
- | Registry Name | Source |
113
- | --------------------- | ----------------- |
114
- | `RootContainer` | `@pega/sdk-react` |
115
- | `ViewContainer` | `@pega/sdk-react` |
116
- | `FlowContainer` | `@pega/sdk-react` |
117
- | `Reference` | `@pega/sdk-react` |
118
- | `View` | `@pega/sdk-react` |
119
- | `Region` | `@pega/sdk-react` |
120
- | `CaseView` (infra) | `@pega/sdk-react` |
121
- | `Assignment` | `@pega/sdk-react` |
122
- | `AssignmentCard` | `@pega/sdk-react` |
123
- | `ActionButtons` | `@pega/sdk-react` |
124
- | `CaseSummary` (infra) | `@pega/sdk-react` |
125
- | `ErrorBoundary` | `@pega/sdk-react` |
126
- | `MultiStep` | `@pega/sdk-react` |
127
-
128
- ---
129
-
130
- ## Infra (sample-local, replaceable but exercise caution)
131
-
132
- | Registry Name | File |
133
- | ----------------------- | ---------------------------------------------- |
134
- | `ActionButtons` | `infra/ActionButtons/` |
135
- | `DeferLoad` | `infra/DeferLoad/` |
136
- | `NavBar` | `infra/NavBar/` |
137
- | `Stages` | `infra/Stages/` |
138
- | `DashboardFilter` | `infra/DashboardFilter/` |
139
- | `VerticalTabs` | `infra/VerticalTabs/VerticalTabs.tsx` |
140
- | `LeftAlignVerticalTabs` | `infra/VerticalTabs/LeftAlignVerticalTabs.tsx` |
@@ -1,152 +0,0 @@
1
- # Skill: Banner
2
-
3
- Promotional/informational banner with a full-width background image hero section and a two-column content layout below it.
4
-
5
- > **Prerequisite skill:** [`design-system-extension.md`](../design-system-extension.md) — covers architecture, props interface, styling patterns, and registration patterns common to ALL DSE components.
6
-
7
- ---
8
-
9
- ## Component Purpose
10
-
11
- Renders a visually rich banner composed of two parts:
12
-
13
- 1. **Hero section:** Full-width area with a background image, centered title and message text overlaid.
14
- 2. **Content columns:** Two adjustable-width columns below the hero, rendered from the `a` and `b` slot props. Column widths are controlled by the `variant` prop.
15
-
16
- ## Pega Metadata
17
-
18
- - **Pega Name:** `Banner`
19
- - **Registration key:** `Banner` (in `component-map.ts`)
20
- - **Does NOT use `getPConnect`** — receives all data as direct props
21
-
22
- ## Props
23
-
24
- | Prop | Type | Required | Description |
25
- | ------------------------ | ----------- | -------- | ------------------------------------------------------------------ |
26
- | `a` | `ReactNode` | Yes | Content for the first (left/narrower) column |
27
- | `b` | `ReactNode` | Yes | Content for the second (right/wider) column |
28
- | `banner` | `object` | Yes | Banner metadata (see sub-props below) |
29
- | `banner.title` | `string` | Yes | Title text displayed in the hero section |
30
- | `banner.message` | `string` | Yes | Descriptive message text in the hero section |
31
- | `banner.backgroundImage` | `string` | Yes | URL of the background image for the hero section |
32
- | `banner.variant` | `any` | No | Unused internally (layout variant comes from top-level `variant`) |
33
- | `banner.backgroundColor` | `any` | No | Unused internally |
34
- | `banner.tintImage` | `any` | No | Unused internally |
35
- | `variant` | `string` | Yes | Column layout: `'two-column'`, `'narrow-wide'`, or `'wide-narrow'` |
36
-
37
- ## Behavioral Contract
38
-
39
- 1. **Hero section:** Render a `<div>` with class `background-image-style` and the inline style `backgroundImage: url(${backgroundImage})`.
40
- 2. Inside the hero, render an overlay `<div>` with classes `background-style content`.
41
- 3. Inside the overlay, render `<h1 className='title'>{title}</h1>` and `<p className='message'>{message}</p>`.
42
- 4. **Column layout:** Below the hero, render a 12-column grid container with two columns:
43
- - Column `a`: sized according to the variant (left/first column).
44
- - Column `b`: sized according to the variant (right/second column).
45
- 5. **Variant column widths:**
46
- - `'two-column'`: column A = 6/12, column B = 6/12 (equal split).
47
- - `'narrow-wide'`: column A = 4/12, column B = 8/12.
48
- - `'wide-narrow'`: column A = 8/12, column B = 4/12.
49
- 6. **Column A styles:** `padding: 1rem; background-color: var(--app-form-bg-color); border-radius: 16px; height: fit-content`.
50
- 7. **Column B styles:** `padding: 0rem 1rem` (no background).
51
- 8. **Outer wrapper:** `<div style={{ marginBottom: '2rem' }}>`.
52
-
53
- ## Layout Variants
54
-
55
- ```
56
- two-column: [A 50%] [B 50%]
57
- narrow-wide: [A 33%] [B 67%]
58
- wide-narrow: [A 67%] [B 33%]
59
- ```
60
-
61
- ## Visual Specifications
62
-
63
- Derived from `Banner.css`:
64
-
65
- ### Hero Section
66
-
67
- | Property | Value |
68
- | ------------------- | -------------------------------- |
69
- | Margin left | -16px (bleeds to container edge) |
70
- | Margin right | -16px |
71
- | Height | `calc(19rem)` |
72
- | Background size | cover |
73
- | Background position | center center |
74
-
75
- ### Hero Overlay
76
-
77
- | Property | Value |
78
- | ---------------- | -------------------------- |
79
- | Background color | transparent |
80
- | Color | `var(--banner-text-color)` |
81
- | Width | 100% |
82
- | Height | 100% |
83
- | Text align | center |
84
- | Display | flex |
85
- | Flex direction | column |
86
- | Justify content | center |
87
- | Align items | center |
88
- | Gap | `calc(0.5rem)` |
89
-
90
- ### Hero Title
91
-
92
- | Property | Value |
93
- | ----------- | -------- |
94
- | Margin | 0 |
95
- | Font size | 1.728rem |
96
- | Font weight | 600 |
97
-
98
- ### Hero Message
99
-
100
- | Property | Value |
101
- | ----------- | ----- |
102
- | Margin | 0 |
103
- | Font size | 1rem |
104
- | Font weight | 400 |
105
-
106
- ### Content Grid
107
-
108
- | Property | Value |
109
- | -------------- | ---------------------- |
110
- | Padding | 1rem |
111
- | Column spacing | 1 spacing unit (≈ 8px) |
112
-
113
- **CSS-only implementation notes:**
114
-
115
- - Hero: `margin: 0 -16px; height: 19rem; background-size: cover; background-position: center; position: relative`.
116
- - Overlay: `position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.5rem; color: var(--banner-text-color); text-align: center`.
117
- - Content grid below hero: `display: grid; grid-template-columns: <a-cols>fr <b-cols>fr; gap: 8px; padding: 1rem`.
118
- - Column A: `padding: 1rem; background-color: var(--app-form-bg-color); border-radius: 16px; height: fit-content`.
119
- - Column B: `padding: 0 1rem`.
120
- - For responsive behavior, collapse to single column on small viewports.
121
-
122
- ## Edge Cases & Special Logic
123
-
124
- - If `backgroundImage` is an empty string or undefined, the hero section renders without a background image (transparent/color background).
125
- - If `variant` is not one of the three known values, implement a safe default (e.g., `'two-column'`).
126
- - The `banner.backgroundColor`, `banner.variant`, and `banner.tintImage` props are received but not rendered in the reference implementation.
127
-
128
- ## Dependencies
129
-
130
- - No Pega SDK imports required (no `getPConnect`)
131
- - No helper utilities required
132
-
133
- ## Design System Mapping
134
-
135
- **UI control type:** Full-width banner hero with responsive two-column content area.
136
-
137
- Listed design systems are examples only.
138
-
139
- | Design System | Recommended Component |
140
- | ------------------ | ------------------------------------------------------------------------- |
141
- | Default (CSS only) | CSS Grid for columns, CSS background for hero |
142
- | MUI | `<Grid container size={12}>` with `<Grid size={{ xs: ... }}>` for columns |
143
- | Ant Design | `<Row gutter={8}>` with `<Col span={...}>` for columns |
144
- | Chakra UI | `<SimpleGrid columns={2}>` or `<Grid templateColumns='...'>` |
145
- | Shadcn/ui | CSS Grid with Tailwind column utilities |
146
-
147
- When implementing in a specific design system, map the following:
148
-
149
- - `variant` column widths → grid column span values
150
- - Background image hero → `backgroundImage` inline style with `background-size: cover`
151
- - Column A (card-like) → design system's Card or `bg` prop with border-radius
152
- - Column B (plain) → plain container with horizontal padding only
@@ -1,159 +0,0 @@
1
- # Skill: CaseSummaryFields
2
-
3
- Display-only grid of typed field values for a case summary header. Renders a 2-column grid of read-only fields, each formatted according to its type (text, date, currency, phone, email, checkbox, status, operator, etc.).
4
-
5
- > **Prerequisite skill:** [`design-system-extension.md`](../design-system-extension.md) — covers architecture, props interface, styling patterns, and registration patterns common to ALL DSE components.
6
-
7
- ---
8
-
9
- ## Component Purpose
10
-
11
- Renders a responsive 2-column read-only grid of field values for a case summary header area. Each field in the input array is typed (e.g., `textinput`, `date`, `currency`, `caseoperator`), and the component selects the appropriate display renderer per type. Visibility and a special status field injection are also handled.
12
-
13
- ## Pega Metadata
14
-
15
- - **Pega Name:** `CaseSummaryFields`
16
- - **Registration key:** `CaseSummaryFields` (in `component-map.ts`)
17
- - **Does NOT use `getPConnect` directly** — receives pre-processed `theFields` array as a prop
18
-
19
- ## Props
20
-
21
- | Prop | Type | Required | Description |
22
- | ------------ | ---------------------------------------------- | -------- | ------------------------------------------------------------------------- |
23
- | `theFields` | `Array<{ type: string; config: FieldConfig }>` | Yes | Array of typed field descriptors to render |
24
- | `status` | `string` | No | The case status value, injected at position 1 if `showStatus` is true |
25
- | `showStatus` | `boolean` | No | If `true`, splices a status field entry at position 1 in the fields array |
26
-
27
- ### FieldConfig shape (within each item in `theFields`)
28
-
29
- | Property | Type | Description |
30
- | ----------------- | -------------------- | ----------------------------------------- |
31
- | `label` | `string` | Field label |
32
- | `value` | `any` | Field value |
33
- | `visibility` | `boolean` (optional) | If `false`, the field is hidden |
34
- | `caption` | `string` (optional) | Alternative label for checkbox fields |
35
- | `trueLabel` | `string` (optional) | Display text when checkbox value is true |
36
- | `falseLabel` | `string` (optional) | Display text when checkbox value is false |
37
- | `currencyISOCode` | `string` (optional) | ISO currency code for currency fields |
38
-
39
- ## Behavioral Contract
40
-
41
- ### 1. Status Field Injection
42
-
43
- Before rendering, if `showStatus` is `true` AND `theFields[1].type !== 'status'`, inject a status entry at position 1:
44
-
45
- ```
46
- { type: 'status', config: { value: status, label: 'Status' } }
47
- ```
48
-
49
- If the fields array has fewer than 2 items, append the status entry at the end.
50
-
51
- ### 2. State Management with Deep Equality
52
-
53
- - Store the final fields array in `theFieldsToRender` state.
54
- - Only update `theFieldsToRender` if the new value is not deep-equal to the current value (use `fast-deep-equal/react`).
55
- - When `theFieldsToRender` changes, recompute `theFieldsAsGridItems` (via `useEffect`).
56
-
57
- ### 3. Field Visibility
58
-
59
- Skip any field where `config.visibility` exists and is `false`.
60
-
61
- ### 4. Type-Based Rendering (`getFieldValue(field)`)
62
-
63
- When `field.config.value` is `null` or `''` (empty):
64
-
65
- - For `caseoperator`: render `<Operator {...field.config} />`.
66
- - For all other types: render a read-only TextField with value `'---'` and the field label.
67
-
68
- When `field.config.value` is non-empty, switch on `field.type.toLowerCase()`:
69
-
70
- | Type | Rendering |
71
- | --------------------------------------------- | --------------------------------------------------------------------------------------------------- |
72
- | `textinput`, `decimal`, `integer`, `dropdown` | Read-only TextField (standard, no underline) with `value` |
73
- | `checkbox` | Label: `label \|\| caption`; Value: `value ? trueLabel : falseLabel`; read-only TextField |
74
- | `status` | Read-only TextField with class `psdk-csf-status-style` (uppercase, small, bold) |
75
- | `phone` | `<a href={'tel:' + value}>` wrapping a read-only TextField with pointer cursor |
76
- | `email` | `<a href={'mailto:' + format(value, 'email')}>` wrapping a read-only TextField with pointer cursor |
77
- | `date` | Read-only TextField with `format(value, 'date', { format: dateFormatStringLong })` |
78
- | `datetime` | Read-only TextField with `format(value, 'datetime', { format: dateFormatStringLong + ' hh:mm a' })` |
79
- | `currency` | Read-only TextField with `format(value, 'currency', getCurrencyOptions(currencyISOCode))` |
80
- | `boolean`, `userreference` | Read-only TextField with `format(value, type)` |
81
- | `caseoperator` | `<Operator {...field.config} />` |
82
- | default (unknown) | `<span>{type} {value}</span>` |
83
-
84
- All TextFields use: `variant='standard'`, `slotProps.input.readOnly = true`, `slotProps.input.disableUnderline = true`.
85
-
86
- ### 5. Grid Layout
87
-
88
- Render each visible field in `Grid size={{ xs: 6 }}` (2-column layout) inside a container `Grid` with class `psdk-case-summary-fields`.
89
-
90
- ## Visual Specifications
91
-
92
- Derived from `CaseSummaryFields.css`:
93
-
94
- ### Status Field
95
-
96
- | Property | Value |
97
- | -------------- | -------------------------------- |
98
- | Display | inline-block |
99
- | Font size | 0.75rem |
100
- | Font weight | bold |
101
- | Line height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
102
- | Height | `calc(0.5rem * 2.5)` (≈ 1.25rem) |
103
- | Text transform | uppercase |
104
-
105
- ### Summary Grid Container
106
-
107
- | Property | Value |
108
- | -------- | --------------------------- |
109
- | Padding | `calc(2 * 0.5rem)` (≈ 1rem) |
110
- | Row gap | `calc(2 * 0.5rem)` (≈ 1rem) |
111
-
112
- **CSS-only implementation notes:**
113
-
114
- - Summary grid: `display: grid; grid-template-columns: 1fr 1fr; padding: 1rem; row-gap: 1rem`.
115
- - Each field cell: standard read-only text display with label above value.
116
- - Status text: `font-size: 0.75rem; font-weight: bold; text-transform: uppercase; line-height: 1.25rem`.
117
- - Phone/email links: `text-decoration: none; color: inherit` on the `<a>` wrapper; use `cursor: pointer` on the inner input.
118
- - Read-only field pair: label in secondary text color (`font-weight: 400; color: var(--text-secondary); font-size: 0.75rem`), value in primary text color below.
119
-
120
- ## Edge Cases & Special Logic
121
-
122
- - Use `fast-deep-equal/react` deep equality before updating `theFieldsToRender` to prevent infinite re-render loops.
123
- - Status splicing mutates `theFields` directly — ensure the original array reference is used (not a copy) when checking `theFields[1].type`.
124
- - Date format comes from `getDateFormatInfo().dateFormatStringLong` — defaults to locale format.
125
- - Currency options come from `getCurrencyOptions(field.config?.currencyISOCode)`.
126
- - The `Operator` component is retrieved via `getComponentFromRegistry('Operator')` — not imported directly. This allows runtime component override.
127
- - If `theFields` is null or undefined, initialize to empty to avoid crashes.
128
-
129
- ## Dependencies
130
-
131
- - `getComponentFromRegistry` from `@pega/sdk-react` — to retrieve the `Operator` component at runtime
132
- - `isDeepEqual` from `fast-deep-equal/react` — for state change detection
133
- - `getDateFormatInfo` from `../../helpers/date-format-utils` — for locale date format string
134
- - `getCurrencyOptions` from `../../field/Currency/currency-utils` — for currency formatting options
135
- - `format` from `../../helpers/formatters` — for formatting phone, email, date, datetime, currency, boolean, userreference values
136
- - `Operator` component (resolved via registry) — for `caseoperator` type rendering
137
-
138
- ## Design System Mapping
139
-
140
- **UI control type:** 2-column grid of read-only labeled field values.
141
-
142
- Listed design systems are examples only.
143
-
144
- | Design System | Recommended Component |
145
- | ------------------ | ------------------------------------------------------------------------------------------------------------ |
146
- | Default (CSS only) | CSS Grid 2-column layout with label/value pairs |
147
- | MUI | `<Grid container>` with `<Grid size={{ xs: 6 }}>` cells; `<TextField variant='standard' readOnly>` per field |
148
- | Ant Design | `<Descriptions layout='vertical' column={2}>` with typed item renderers |
149
- | Chakra UI | `<SimpleGrid columns={2}>` with `<FormControl>` label/value pairs |
150
- | Shadcn/ui | 2-column grid with `<Label>` / `<p>` pairs |
151
-
152
- When implementing in a specific design system, map the following:
153
-
154
- - Read-only TextField (standard, no underline) → design system's read-only text display
155
- - Phone field → `<a href='tel:...'>` wrapper around the display
156
- - Email field → `<a href='mailto:...'>` wrapper around the display
157
- - Status field → uppercase badge/chip or styled text
158
- - `caseoperator` type → delegate to the `Operator` component
159
- - Missing/empty value → always display `'---'`
@@ -1,148 +0,0 @@
1
- # Skill: DetailsFields
2
-
3
- Read-only field display component that receives an array of PConnect-aware field objects and renders each as a label/value pair. Delegates value rendering to `PConnectComponent` in DISPLAY_ONLY mode.
4
-
5
- > **Prerequisite skill:** [`design-system-extension.md`](../design-system-extension.md) — covers architecture, props interface, styling patterns, and registration patterns common to ALL DSE components.
6
-
7
- ---
8
-
9
- ## Component Purpose
10
-
11
- Renders a vertical list of read-only field name/value pairs for a details/summary panel. Each field is a PConnect-aware object. The component extracts type, label, and view config from each field's PConnect, forces the view into `readOnly + DISPLAY_ONLY` mode, and delegates rendering to `PConnectComponent`.
12
-
13
- Supports three item layouts:
14
-
15
- - **Reference type:** Renders the value directly (no label/value grid wrapper).
16
- - **React element value:** Renders value in a single full-width cell (no label).
17
- - **Label + value pair:** Renders label in a 6-col cell and value in a 6-col cell.
18
-
19
- ## Pega Metadata
20
-
21
- - **Pega Name:** `DetailsFields`
22
- - **Registration key:** `DetailsFields` (in `component-map.ts`)
23
- - **Does NOT use `getPConnect` on the component itself** — iterates `fields[]` each of which has `.getPConnect()`
24
-
25
- ## Props
26
-
27
- | Prop | Type | Required | Description |
28
- | -------- | ------- | -------- | ----------------------------------------------------------------------------- |
29
- | `fields` | `any[]` | Yes | Array of PConnect-aware field objects. Each must have `.getPConnect()` method |
30
-
31
- ## Behavioral Contract
32
-
33
- ### 1. Field Iteration and PConnect Setup
34
-
35
- For each field in `fields`:
36
-
37
- 1. Call `field.getPConnect()` to get `thePConn`.
38
- 2. Get `theCompType = thePConn.getComponentName().toLowerCase()`.
39
- 3. Get `label = thePConn.getConfigProps().label`.
40
- 4. Call `configObj = thePConn.getReferencedView()` — get the referenced view config object.
41
- 5. Set `configObj.config.readOnly = true` and `configObj.config.displayMode = 'DISPLAY_ONLY'` — forces display-only rendering.
42
- 6. For `reference` type: override label with `thePConn.getInheritedProps().label`.
43
- 7. Render the value using `createElement(PConnectComponent, thePConn.getReferencedViewPConnect())`.
44
- 8. Push `{ type: theCompType, label, value: <React.Fragment key={index}>{renderedValue}</React.Fragment> }` into the field components array.
45
-
46
- ### 2. Item Layout (per field component)
47
-
48
- Choose the layout based on the field:
49
-
50
- | Condition | Layout |
51
- | -------------------------------- | ------------------------------------------------------ |
52
- | `type === 'reference'` | Render `field.value` directly with no wrapper |
53
- | `isValidElement(field.value)` | Single 12-col cell containing `field.value` (no label) |
54
- | Default (string/primitive value) | 6-col label cell + 6-col value cell |
55
-
56
- ### 3. Label/Value Grid Row
57
-
58
- - **Row wrapper:** `<Grid container spacing={1} style={{ padding: '4px 0px' }}>`
59
- - **Label cell:** `<Grid size={{ xs: 6 }}>` containing `<Typography variant='body2' component='span' className='fieldLabel'>{field.label}</Typography>`
60
- - **Value cell:** `<Grid size={{ xs: 6 }}>` containing `<Typography variant='body2' component='span' className='fieldValue'>{formattedValue}</Typography>`
61
-
62
- ### 4. Value Formatting
63
-
64
- - For `date` type: call `format(value, 'date')` before display.
65
- - For all others: use value as-is.
66
- - If formatted value is `undefined` or `''`, display `'---'` instead.
67
-
68
- ### 5. React element detection
69
-
70
- Use `isValidElement(field.value)` — if true, render full-width (12 cols) without label.
71
-
72
- ## Visual Specifications
73
-
74
- Derived from `DetailsFields.tsx` makeStyles:
75
-
76
- ### Label
77
-
78
- | Property | Value |
79
- | ----------- | ------------------------------ |
80
- | Display | block |
81
- | Font weight | 400 |
82
- | Color | `theme.palette.text.secondary` |
83
- | Typography | `body2` (≈ 0.875rem / 14px) |
84
-
85
- ### Value
86
-
87
- | Property | Value |
88
- | ----------- | ---------------------------- |
89
- | Font weight | 400 |
90
- | Color | `theme.palette.text.primary` |
91
- | Typography | `body2` (≈ 0.875rem / 14px) |
92
-
93
- ### Row Padding
94
-
95
- | Property | Value |
96
- | --------- | ------------------ |
97
- | Row style | `padding: 4px 0px` |
98
-
99
- **CSS-only implementation notes:**
100
-
101
- - Each row: `display: grid; grid-template-columns: 1fr 1fr; padding: 4px 0; gap: 8px`.
102
- - Label: `font-size: 0.875rem; font-weight: 400; color: var(--text-secondary); display: block`.
103
- - Value: `font-size: 0.875rem; font-weight: 400; color: var(--text-primary)`.
104
- - For a React element value (full-width): render in a single column spanning full width.
105
- - For a reference type: render the component directly with no wrapping grid.
106
-
107
- ## Edge Cases & Special Logic
108
-
109
- - `fields` defaults to `[]` — guard against null/undefined.
110
- - Reference fields bypass the label/value layout entirely — their rendered output fills the full row.
111
- - React element values (e.g., from child components) are detected with `isValidElement` and rendered full-width without a label cell.
112
- - The `configObj` mutation (`readOnly = true`, `displayMode = 'DISPLAY_ONLY'`) happens on the object returned by `getReferencedView()` — this is intentional side-effectful configuration.
113
- - `format(value, 'date')` is only called for `date` type — all other types pass through raw.
114
-
115
- ## Dependencies
116
-
117
- - `createElement`, `isValidElement` from `react`
118
- - `PConnectComponent` from `@pega/sdk-react` — used to render each field in DISPLAY_ONLY mode
119
- - `format` from `../../helpers/formatters` — for date formatting
120
- - Each `field` in `fields[]` must support `.getPConnect()` returning a PConnect object with:
121
- - `.getComponentName()` → string
122
- - `.getConfigProps()` → `{ label: string }`
123
- - `.getReferencedView()` → mutable config object
124
- - `.getReferencedViewPConnect()` → props object for `PConnectComponent`
125
- - `.getInheritedProps()` → `{ label?: string }` (for reference type)
126
-
127
- ## Design System Mapping
128
-
129
- **UI control type:** Vertical list of read-only label/value field pairs with PConnect delegation.
130
-
131
- Listed design systems are examples only.
132
-
133
- | Design System | Recommended Component |
134
- | ------------------ | ----------------------------------------------------------------------------- |
135
- | Default (CSS only) | CSS grid 2-column rows per field pair |
136
- | MUI | `<Grid container spacing={1}>` per row with `<Typography>` label and value |
137
- | Ant Design | `<Descriptions layout='horizontal' column={1}>` with PConnect-rendered values |
138
- | Chakra UI | `<Grid templateColumns='1fr 1fr'>` rows with `<Text>` label/value |
139
- | Shadcn/ui | `<div class='grid grid-cols-2'>` rows |
140
-
141
- When implementing in a specific design system, map the following:
142
-
143
- - Label → secondary muted text, `body2` size
144
- - Value → primary text, `body2` size
145
- - Row padding → `4px 0` vertical spacing between pairs
146
- - Full-width value (React element) → single column spanning full width
147
- - Reference type → render the child component without any label wrapper
148
- - Empty value → display `'---'`