@pega/sdk 0.0.4 → 0.0.6

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 (548) hide show
  1. package/README.md +10 -3
  2. package/dist/index.js +977 -92
  3. package/package.json +1 -1
  4. package/templates/angular-sdk-reference/package.json +12 -12
  5. package/templates/angular-sdk-reference/tsconfig.json +1 -1
  6. package/templates/react-native-sdk-reference/.claude/settings.json +5 -0
  7. package/templates/react-native-sdk-reference/.prettierignore +17 -0
  8. package/templates/react-native-sdk-reference/.vscode/extensions.json +1 -0
  9. package/templates/react-native-sdk-reference/.vscode/settings.json +7 -0
  10. package/templates/react-native-sdk-reference/AGENTS.md +3 -0
  11. package/templates/react-native-sdk-reference/CLAUDE.md +1 -0
  12. package/templates/react-native-sdk-reference/README.md +56 -0
  13. package/templates/react-native-sdk-reference/app.json +40 -5
  14. package/templates/react-native-sdk-reference/assets/expo.icon/Assets/expo-symbol 2.svg +3 -0
  15. package/templates/react-native-sdk-reference/assets/expo.icon/Assets/grid.png +0 -0
  16. package/templates/react-native-sdk-reference/assets/expo.icon/icon.json +35 -0
  17. package/templates/react-native-sdk-reference/assets/icons/bell.png +0 -0
  18. package/templates/react-native-sdk-reference/assets/icons/clock.png +0 -0
  19. package/templates/react-native-sdk-reference/assets/icons/cross.png +0 -0
  20. package/templates/react-native-sdk-reference/assets/icons/donut.png +0 -0
  21. package/templates/react-native-sdk-reference/assets/icons/gear.png +0 -0
  22. package/templates/react-native-sdk-reference/assets/icons/globe.png +0 -0
  23. package/templates/react-native-sdk-reference/assets/icons/internet.png +0 -0
  24. package/templates/react-native-sdk-reference/assets/icons/music.png +0 -0
  25. package/templates/react-native-sdk-reference/assets/icons/right-arrow.png +0 -0
  26. package/templates/react-native-sdk-reference/assets/icons/speed.png +0 -0
  27. package/templates/react-native-sdk-reference/assets/images/MediaCo.png +0 -0
  28. package/templates/react-native-sdk-reference/assets/images/adaptive-icon.png +0 -0
  29. package/templates/react-native-sdk-reference/assets/images/android-icon-background.png +0 -0
  30. package/templates/react-native-sdk-reference/assets/images/android-icon-foreground.png +0 -0
  31. package/templates/react-native-sdk-reference/assets/images/android-icon-monochrome.png +0 -0
  32. package/templates/react-native-sdk-reference/assets/images/expo-badge-white.png +0 -0
  33. package/templates/react-native-sdk-reference/assets/images/expo-badge.png +0 -0
  34. package/templates/react-native-sdk-reference/assets/images/expo-logo.png +0 -0
  35. package/templates/react-native-sdk-reference/assets/images/favicon.png +0 -0
  36. package/templates/react-native-sdk-reference/assets/images/icon.png +0 -0
  37. package/templates/react-native-sdk-reference/assets/images/logo-glow.png +0 -0
  38. package/templates/react-native-sdk-reference/assets/images/partial-react-logo.png +0 -0
  39. package/templates/react-native-sdk-reference/assets/images/react-logo.png +0 -0
  40. package/templates/react-native-sdk-reference/assets/images/react-logo@2x.png +0 -0
  41. package/templates/react-native-sdk-reference/assets/images/react-logo@3x.png +0 -0
  42. package/templates/react-native-sdk-reference/assets/images/splash-icon.png +0 -0
  43. package/templates/react-native-sdk-reference/assets/images/tutorial-web.png +0 -0
  44. package/templates/react-native-sdk-reference/eslint.config.mjs +68 -0
  45. package/templates/react-native-sdk-reference/package.json +59 -14
  46. package/templates/react-native-sdk-reference/pega-constellationjs-0.26.3.tgz +0 -0
  47. package/templates/react-native-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  48. package/templates/react-native-sdk-reference/pega-sdk-types-0.1.0.tgz +0 -0
  49. package/templates/react-native-sdk-reference/sdk-config.json +31 -9
  50. package/templates/react-native-sdk-reference/src/app/_layout.tsx +38 -0
  51. package/templates/react-native-sdk-reference/src/app/home/_layout.tsx +39 -0
  52. package/templates/react-native-sdk-reference/src/app/home/contact.tsx +11 -0
  53. package/templates/react-native-sdk-reference/src/app/home/index.tsx +36 -0
  54. package/templates/react-native-sdk-reference/src/app/home/shop.tsx +11 -0
  55. package/templates/react-native-sdk-reference/src/app/home/your-services.tsx +11 -0
  56. package/templates/react-native-sdk-reference/src/app/index.tsx +72 -0
  57. package/templates/react-native-sdk-reference/src/app/workarea.tsx +135 -0
  58. package/templates/react-native-sdk-reference/src/bridge/Context/StoreContext.ts +4 -0
  59. package/templates/react-native-sdk-reference/src/bridge/RootComponent.tsx +12 -0
  60. package/templates/react-native-sdk-reference/src/bridge/react_pconnect.jsx +334 -0
  61. package/templates/react-native-sdk-reference/src/components/common/DisplayField.tsx +29 -0
  62. package/templates/react-native-sdk-reference/src/components/common/FormFieldWrapper.tsx +5 -0
  63. package/templates/react-native-sdk-reference/src/components/common/HelperText.tsx +11 -0
  64. package/templates/react-native-sdk-reference/src/components/common/LabelText.tsx +22 -0
  65. package/templates/react-native-sdk-reference/src/components/common/inputTheme.ts +17 -0
  66. package/templates/react-native-sdk-reference/src/components/design-system/AutoComplete.tsx +126 -0
  67. package/templates/react-native-sdk-reference/src/components/design-system/FieldGroup.tsx +72 -0
  68. package/templates/react-native-sdk-reference/src/components/design-system/Radio.tsx +61 -0
  69. package/templates/react-native-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +196 -0
  70. package/templates/react-native-sdk-reference/src/components/field/AutoComplete/index.tsx +1 -0
  71. package/templates/react-native-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +89 -0
  72. package/templates/react-native-sdk-reference/src/components/field/Checkbox/index.tsx +1 -0
  73. package/templates/react-native-sdk-reference/src/components/field/Currency/Currency.tsx +84 -0
  74. package/templates/react-native-sdk-reference/src/components/field/Currency/index.tsx +1 -0
  75. package/templates/react-native-sdk-reference/src/components/field/Date/Date.tsx +94 -0
  76. package/templates/react-native-sdk-reference/src/components/field/Date/index.tsx +1 -0
  77. package/templates/react-native-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +211 -0
  78. package/templates/react-native-sdk-reference/src/components/field/Dropdown/index.tsx +1 -0
  79. package/templates/react-native-sdk-reference/src/components/field/Email/Email.tsx +81 -0
  80. package/templates/react-native-sdk-reference/src/components/field/Email/index.tsx +1 -0
  81. package/templates/react-native-sdk-reference/src/components/field/Group/Group.tsx +47 -0
  82. package/templates/react-native-sdk-reference/src/components/field/Group/index.tsx +1 -0
  83. package/templates/react-native-sdk-reference/src/components/field/Integer/Integer.tsx +84 -0
  84. package/templates/react-native-sdk-reference/src/components/field/Integer/index.tsx +1 -0
  85. package/templates/react-native-sdk-reference/src/components/field/Phone/Phone.tsx +85 -0
  86. package/templates/react-native-sdk-reference/src/components/field/Phone/index.ts +1 -0
  87. package/templates/react-native-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +118 -0
  88. package/templates/react-native-sdk-reference/src/components/field/RadioButtons/index.ts +1 -0
  89. package/templates/react-native-sdk-reference/src/components/field/TextArea/TextArea.tsx +86 -0
  90. package/templates/react-native-sdk-reference/src/components/field/TextArea/index.tsx +1 -0
  91. package/templates/react-native-sdk-reference/src/components/field/TextInput/TextInput.tsx +84 -0
  92. package/templates/react-native-sdk-reference/src/components/field/TextInput/index.tsx +1 -0
  93. package/templates/react-native-sdk-reference/src/components/field/URL/URL.tsx +86 -0
  94. package/templates/react-native-sdk-reference/src/components/field/URL/index.tsx +1 -0
  95. package/templates/react-native-sdk-reference/src/components/helpers/data_page.ts +20 -0
  96. package/templates/react-native-sdk-reference/src/components/helpers/event-utils.ts +20 -0
  97. package/templates/react-native-sdk-reference/src/components/helpers/instructions-utils.ts +57 -0
  98. package/templates/react-native-sdk-reference/src/components/helpers/state-utils.tsx +46 -0
  99. package/templates/react-native-sdk-reference/src/components/helpers/template-utils.ts +75 -0
  100. package/templates/react-native-sdk-reference/src/components/helpers/utils.ts +339 -0
  101. package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/ActionButtons.tsx +63 -0
  102. package/templates/react-native-sdk-reference/src/components/infra/ActionButtons/index.tsx +1 -0
  103. package/templates/react-native-sdk-reference/src/components/infra/Assignment/Assignment.tsx +348 -0
  104. package/templates/react-native-sdk-reference/src/components/infra/Assignment/index.tsx +1 -0
  105. package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/AssignmentCard.tsx +56 -0
  106. package/templates/react-native-sdk-reference/src/components/infra/AssignmentCard/index.tsx +1 -0
  107. package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/FlowContainer.tsx +57 -0
  108. package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/helpers.ts +137 -0
  109. package/templates/react-native-sdk-reference/src/components/infra/Containers/FlowContainer/index.tsx +1 -0
  110. package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/RootContainer.tsx +52 -0
  111. package/templates/react-native-sdk-reference/src/components/infra/Containers/RootContainer/index.tsx +1 -0
  112. package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/helper.ts +128 -0
  113. package/templates/react-native-sdk-reference/src/components/infra/Containers/SimpleView/index.tsx +59 -0
  114. package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/ViewContainer.tsx +31 -0
  115. package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/helper.ts +39 -0
  116. package/templates/react-native-sdk-reference/src/components/infra/Containers/ViewContainer/index.ts +1 -0
  117. package/templates/react-native-sdk-reference/src/components/infra/Containers/helper.ts +9 -0
  118. package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/ErrorBoundary.tsx +53 -0
  119. package/templates/react-native-sdk-reference/src/components/infra/ErrorBoundary/index.tsx +1 -0
  120. package/templates/react-native-sdk-reference/src/components/infra/MultiStep/MultiStep.tsx +24 -0
  121. package/templates/react-native-sdk-reference/src/components/infra/MultiStep/index.ts +1 -0
  122. package/templates/react-native-sdk-reference/src/components/infra/Reference/Reference.tsx +68 -0
  123. package/templates/react-native-sdk-reference/src/components/infra/Reference/index.tsx +1 -0
  124. package/templates/react-native-sdk-reference/src/components/infra/Reference/utils.ts +16 -0
  125. package/templates/react-native-sdk-reference/src/components/infra/Region/Region.tsx +10 -0
  126. package/templates/react-native-sdk-reference/src/components/infra/Region/index.tsx +1 -0
  127. package/templates/react-native-sdk-reference/src/components/infra/View/View.tsx +49 -0
  128. package/templates/react-native-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +38 -0
  129. package/templates/react-native-sdk-reference/src/components/template/DefaultForm/index.tsx +1 -0
  130. package/templates/react-native-sdk-reference/src/components/template/DefaultForm/utils/index.ts +28 -0
  131. package/templates/react-native-sdk-reference/src/components/template/Details/Details.tsx +82 -0
  132. package/templates/react-native-sdk-reference/src/components/template/Details/index.tsx +1 -0
  133. package/templates/react-native-sdk-reference/src/components/template/OneColumn/OneColumn.tsx +29 -0
  134. package/templates/react-native-sdk-reference/src/components/template/OneColumn/index.tsx +1 -0
  135. package/templates/react-native-sdk-reference/src/context/LoaderContext.tsx +42 -0
  136. package/templates/react-native-sdk-reference/src/mediaco/AdvBanner.tsx +62 -0
  137. package/templates/react-native-sdk-reference/src/mediaco/Header.tsx +60 -0
  138. package/templates/react-native-sdk-reference/src/mediaco/HomeScreen.tsx +78 -0
  139. package/templates/react-native-sdk-reference/src/mediaco/QuickActions.tsx +68 -0
  140. package/templates/react-native-sdk-reference/src/mediaco/ResolutionScreen.tsx +48 -0
  141. package/templates/react-native-sdk-reference/src/mediaco/SafeArea.tsx +11 -0
  142. package/templates/react-native-sdk-reference/src/mediaco/TabBar.tsx +102 -0
  143. package/templates/react-native-sdk-reference/src/mediaco/YourServices.tsx +90 -0
  144. package/templates/react-native-sdk-reference/src/sdk-pega-component-map.ts +64 -0
  145. package/templates/react-native-sdk-reference/src/types/PConnProps.d.ts +41 -0
  146. package/templates/react-native-sdk-reference/src/utils/auth.ts +62 -0
  147. package/templates/react-native-sdk-reference/src/utils/init-pcore.ts +37 -0
  148. package/templates/react-native-sdk-reference/src/utils/pcore-polyfills.ts +66 -0
  149. package/templates/react-native-sdk-reference/tsconfig.json +9 -8
  150. package/templates/react-sdk-reference/.ai-common/agents/embedded-flow-expert.md +171 -0
  151. package/templates/react-sdk-reference/{.github/agents/implementation-expert.agent.md → .ai-common/agents/implementation-expert.md} +44 -48
  152. package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions-embedded.md +119 -0
  153. package/templates/react-sdk-reference/.ai-common/global/ai-agent-instructions.md +192 -0
  154. package/templates/react-sdk-reference/.ai-common/instructions/component-map.md +35 -0
  155. package/templates/react-sdk-reference/.ai-common/instructions/dse-component.md +47 -0
  156. package/templates/react-sdk-reference/.ai-common/instructions/embedded-component.md +134 -0
  157. package/templates/react-sdk-reference/.ai-common/instructions/field-component.md +50 -0
  158. package/templates/react-sdk-reference/.ai-common/instructions/template-component.md +43 -0
  159. package/templates/react-sdk-reference/.ai-common/instructions/widget-component.md +45 -0
  160. package/templates/react-sdk-reference/.ai-common/prompts/add-component.md +193 -0
  161. package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/component-manifest.json +106 -2
  162. package/templates/react-sdk-reference/.ai-common/prompts/embedded-component-manifest.md +155 -0
  163. package/templates/react-sdk-reference/.ai-common/prompts/generate-all-components.md +358 -0
  164. package/templates/react-sdk-reference/.ai-common/prompts/generate-dse-components.md +165 -0
  165. package/templates/react-sdk-reference/.ai-common/prompts/generate-embedded-components.md +315 -0
  166. package/templates/react-sdk-reference/.ai-common/prompts/generate-field-components.md +190 -0
  167. package/templates/react-sdk-reference/.ai-common/prompts/generate-template-components.md +227 -0
  168. package/templates/react-sdk-reference/.ai-common/prompts/generate-widget-components.md +172 -0
  169. package/templates/react-sdk-reference/{.claude → .ai-common}/prompts/identify-components.md +4 -0
  170. package/templates/react-sdk-reference/{.cursor/rules/prompts/replace-design-system.mdrules → .ai-common/prompts/replace-design-system.md} +2 -3
  171. package/templates/react-sdk-reference/{.github → .ai-common}/skills/design-system-extension-skills/AlertBanner.md +61 -25
  172. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Banner.md +176 -0
  173. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/CaseSummaryFields.md +180 -0
  174. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/DetailsFields.md +180 -0
  175. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroup.md +153 -0
  176. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldGroupList.md +136 -0
  177. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/FieldValueList.md +140 -0
  178. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/Operator.md +85 -41
  179. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/Pulse.md +97 -0
  180. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension-skills/RichTextEditor.md +226 -0
  181. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/design-system-extension-skills/WssQuickCreate.md +35 -20
  182. package/templates/react-sdk-reference/.ai-common/skills/design-system-extension.md +169 -0
  183. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/analyze-customer-repo.md +130 -0
  184. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/authenticate.md +311 -0
  185. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/run-and-verify-integration.md +156 -0
  186. package/templates/react-sdk-reference/.ai-common/skills/embedded-flow/wire-integration.md +476 -0
  187. package/templates/react-sdk-reference/.ai-common/skills/field-components.md +190 -0
  188. package/templates/react-sdk-reference/.ai-common/skills/field-skills/AutoComplete.md +157 -0
  189. package/templates/react-sdk-reference/.ai-common/skills/field-skills/CancelAlert.md +178 -0
  190. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Checkbox.md +189 -0
  191. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Currency.md +136 -0
  192. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Date.md +126 -0
  193. package/templates/react-sdk-reference/.ai-common/skills/field-skills/DateTime.md +115 -0
  194. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Decimal.md +119 -0
  195. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Dropdown.md +136 -0
  196. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Email.md +99 -0
  197. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Group.md +88 -0
  198. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Integer.md +102 -0
  199. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Location.md +142 -0
  200. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/Multiselect.md +42 -53
  201. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/ObjectReference.md +36 -60
  202. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Percentage.md +113 -0
  203. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Phone.md +100 -0
  204. package/templates/react-sdk-reference/.ai-common/skills/field-skills/RadioButtons.md +153 -0
  205. package/templates/react-sdk-reference/.ai-common/skills/field-skills/RichText.md +117 -0
  206. package/templates/react-sdk-reference/.ai-common/skills/field-skills/ScalarList.md +95 -0
  207. package/templates/react-sdk-reference/.ai-common/skills/field-skills/SelectableCard.md +155 -0
  208. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/SemanticLink.md +35 -57
  209. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextArea.md +109 -0
  210. package/templates/react-sdk-reference/{.github → .ai-common}/skills/field-skills/TextContent.md +27 -52
  211. package/templates/react-sdk-reference/.ai-common/skills/field-skills/TextInput.md +112 -0
  212. package/templates/react-sdk-reference/.ai-common/skills/field-skills/Time.md +102 -0
  213. package/templates/react-sdk-reference/.ai-common/skills/field-skills/URL.md +96 -0
  214. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/field-skills/UserReference.md +41 -78
  215. package/templates/react-sdk-reference/.ai-common/skills/infra-components.md +165 -0
  216. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/ActionButtons.md +122 -0
  217. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/MultiStep.md +178 -0
  218. package/templates/react-sdk-reference/.ai-common/skills/infra-skills/Stages.md +140 -0
  219. package/templates/react-sdk-reference/.ai-common/skills/template-components.md +198 -0
  220. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AdvancedSearch.md +126 -0
  221. package/templates/react-sdk-reference/.ai-common/skills/template-skills/AppShell.md +160 -0
  222. package/templates/react-sdk-reference/.ai-common/skills/template-skills/BannerPage.md +90 -0
  223. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseSummary.md +129 -0
  224. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseView.md +196 -0
  225. package/templates/react-sdk-reference/.ai-common/skills/template-skills/CaseViewActionsMenu.md +157 -0
  226. package/templates/react-sdk-reference/.ai-common/skills/template-skills/Confirmation.md +149 -0
  227. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/DataReference.md +46 -31
  228. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DefaultForm.md +141 -0
  229. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/DefaultPage.md +40 -34
  230. package/templates/react-sdk-reference/.ai-common/skills/template-skills/Details.md +96 -0
  231. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsSubTabs.md +103 -0
  232. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsThreeColumn.md +85 -0
  233. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DetailsTwoColumn.md +77 -0
  234. package/templates/react-sdk-reference/.ai-common/skills/template-skills/DynamicTabs.md +103 -0
  235. package/templates/react-sdk-reference/.ai-common/skills/template-skills/FieldGroupTemplate.md +130 -0
  236. package/templates/react-sdk-reference/.ai-common/skills/template-skills/HierarchicalForm.md +200 -0
  237. package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboard.md +110 -0
  238. package/templates/react-sdk-reference/.ai-common/skills/template-skills/InlineDashboardPage.md +105 -0
  239. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/ListPage.md +21 -16
  240. package/templates/react-sdk-reference/.ai-common/skills/template-skills/ListView.md +234 -0
  241. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/MultiReferenceReadOnly.md +18 -23
  242. package/templates/react-sdk-reference/.ai-common/skills/template-skills/NarrowWide.md +161 -0
  243. package/templates/react-sdk-reference/.ai-common/skills/template-skills/OneColumn.md +114 -0
  244. package/templates/react-sdk-reference/.ai-common/skills/template-skills/PromotedFilters.md +132 -0
  245. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SelfServiceCaseView.md +173 -0
  246. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/SimpleTable.md +44 -24
  247. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SingleReferenceReadOnly.md +103 -0
  248. package/templates/react-sdk-reference/.ai-common/skills/template-skills/SubTabs.md +89 -0
  249. package/templates/react-sdk-reference/.ai-common/skills/template-skills/TwoColumn.md +133 -0
  250. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/template-skills/WideNarrow.md +36 -43
  251. package/templates/react-sdk-reference/{.github → .ai-common}/skills/template-skills/WssNavBar.md +26 -45
  252. package/templates/react-sdk-reference/.ai-common/skills/widget-components.md +124 -0
  253. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/AppAnnouncement.md +94 -0
  254. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/Attachment.md +163 -0
  255. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/CaseHistory.md +90 -0
  256. package/templates/react-sdk-reference/{.github → .ai-common}/skills/widget-skills/FileUtility.md +68 -62
  257. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/Followers.md +24 -19
  258. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/QuickCreate.md +27 -44
  259. package/templates/react-sdk-reference/{.claude → .ai-common}/skills/widget-skills/SummaryItem.md +35 -61
  260. package/templates/react-sdk-reference/.ai-common/skills/widget-skills/ToDo.md +261 -0
  261. package/templates/react-sdk-reference/package.json +1 -1
  262. package/templates/react-sdk-reference/package.minimal.json +29 -0
  263. package/templates/react-sdk-reference/pega-auth-0.2.44.tgz +0 -0
  264. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  265. package/templates/react-sdk-reference/src/AppProviders.tsx +17 -0
  266. package/templates/react-sdk-reference/src/MashupApp.tsx +8 -19
  267. package/templates/react-sdk-reference/src/PortalApp.tsx +6 -17
  268. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +13 -3
  269. package/templates/react-native-sdk-reference/.github/AGENTS.md +0 -23
  270. package/templates/react-native-sdk-reference/.github/copilot-instructions.md +0 -40
  271. package/templates/react-native-sdk-reference/.github/skills/pega-sdk-component.md +0 -48
  272. package/templates/react-native-sdk-reference/App.tsx +0 -49
  273. package/templates/react-sdk-reference/.claude/instructions/component-map.md +0 -38
  274. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +0 -75
  275. package/templates/react-sdk-reference/.claude/instructions/field-component.md +0 -75
  276. package/templates/react-sdk-reference/.claude/instructions/template-component.md +0 -93
  277. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +0 -88
  278. package/templates/react-sdk-reference/.claude/prompts/add-component.md +0 -152
  279. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +0 -158
  280. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +0 -140
  281. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +0 -153
  282. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +0 -165
  283. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +0 -138
  284. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +0 -519
  285. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +0 -140
  286. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +0 -137
  287. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +0 -152
  288. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
  289. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +0 -148
  290. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +0 -134
  291. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +0 -113
  292. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +0 -118
  293. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +0 -85
  294. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +0 -232
  295. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +0 -291
  296. package/templates/react-sdk-reference/.claude/skills/field-components.md +0 -295
  297. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +0 -113
  298. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +0 -211
  299. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +0 -175
  300. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +0 -109
  301. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +0 -101
  302. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +0 -106
  303. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +0 -99
  304. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +0 -134
  305. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +0 -109
  306. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +0 -96
  307. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +0 -88
  308. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +0 -145
  309. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +0 -93
  310. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +0 -129
  311. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +0 -167
  312. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +0 -149
  313. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +0 -134
  314. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +0 -231
  315. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +0 -98
  316. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +0 -117
  317. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +0 -107
  318. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +0 -89
  319. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +0 -86
  320. package/templates/react-sdk-reference/.claude/skills/template-components.md +0 -321
  321. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +0 -150
  322. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +0 -124
  323. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +0 -86
  324. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +0 -106
  325. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +0 -137
  326. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +0 -131
  327. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +0 -109
  328. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +0 -104
  329. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +0 -112
  330. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +0 -90
  331. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +0 -97
  332. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +0 -80
  333. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +0 -80
  334. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +0 -106
  335. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +0 -112
  336. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +0 -116
  337. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +0 -108
  338. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +0 -82
  339. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +0 -142
  340. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +0 -82
  341. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +0 -143
  342. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +0 -114
  343. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +0 -130
  344. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +0 -142
  345. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +0 -108
  346. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +0 -82
  347. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +0 -133
  348. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +0 -139
  349. package/templates/react-sdk-reference/.claude/skills/widget-components.md +0 -260
  350. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +0 -84
  351. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +0 -151
  352. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +0 -110
  353. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +0 -206
  354. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +0 -198
  355. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +0 -41
  356. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +0 -78
  357. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +0 -74
  358. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +0 -247
  359. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +0 -149
  360. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +0 -193
  361. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +0 -154
  362. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +0 -131
  363. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +0 -144
  364. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +0 -156
  365. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +0 -129
  366. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +0 -110
  367. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +0 -145
  368. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +0 -140
  369. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +0 -154
  370. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +0 -159
  371. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +0 -149
  372. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +0 -136
  373. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +0 -116
  374. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +0 -120
  375. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +0 -154
  376. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +0 -88
  377. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +0 -211
  378. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +0 -140
  379. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +0 -294
  380. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +0 -299
  381. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +0 -117
  382. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +0 -208
  383. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +0 -163
  384. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +0 -111
  385. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +0 -104
  386. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +0 -108
  387. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +0 -103
  388. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +0 -119
  389. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +0 -112
  390. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +0 -95
  391. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +0 -92
  392. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +0 -141
  393. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +0 -169
  394. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +0 -169
  395. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +0 -97
  396. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +0 -115
  397. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +0 -151
  398. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +0 -143
  399. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +0 -129
  400. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +0 -221
  401. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +0 -153
  402. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +0 -101
  403. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +0 -106
  404. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +0 -109
  405. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +0 -93
  406. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +0 -90
  407. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +0 -185
  408. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +0 -73
  409. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +0 -327
  410. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +0 -149
  411. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +0 -127
  412. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +0 -88
  413. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +0 -105
  414. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +0 -136
  415. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +0 -131
  416. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +0 -112
  417. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +0 -125
  418. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +0 -107
  419. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +0 -115
  420. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +0 -93
  421. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +0 -100
  422. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +0 -83
  423. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +0 -83
  424. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +0 -106
  425. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +0 -114
  426. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +0 -118
  427. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +0 -109
  428. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +0 -90
  429. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +0 -73
  430. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +0 -144
  431. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +0 -85
  432. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +0 -146
  433. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +0 -114
  434. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +0 -129
  435. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +0 -140
  436. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +0 -132
  437. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +0 -108
  438. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +0 -84
  439. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +0 -136
  440. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +0 -155
  441. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +0 -140
  442. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +0 -276
  443. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +0 -87
  444. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +0 -151
  445. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +0 -112
  446. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +0 -205
  447. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +0 -104
  448. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +0 -119
  449. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +0 -172
  450. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +0 -195
  451. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +0 -95
  452. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +0 -90
  453. package/templates/react-sdk-reference/.github/copilot-instructions.md +0 -243
  454. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +0 -40
  455. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +0 -77
  456. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +0 -77
  457. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +0 -95
  458. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +0 -90
  459. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +0 -192
  460. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +0 -193
  461. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +0 -411
  462. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +0 -205
  463. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +0 -223
  464. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +0 -229
  465. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +0 -208
  466. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +0 -110
  467. package/templates/react-sdk-reference/.github/prompts/replace-design-system.prompt.md +0 -524
  468. package/templates/react-sdk-reference/.github/skills/component-contracts.md +0 -140
  469. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +0 -152
  470. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +0 -159
  471. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +0 -148
  472. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +0 -134
  473. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +0 -113
  474. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +0 -118
  475. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +0 -155
  476. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +0 -85
  477. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +0 -232
  478. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +0 -137
  479. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +0 -291
  480. package/templates/react-sdk-reference/.github/skills/field-components.md +0 -295
  481. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +0 -113
  482. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +0 -211
  483. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +0 -175
  484. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +0 -109
  485. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +0 -101
  486. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +0 -106
  487. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +0 -99
  488. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +0 -134
  489. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +0 -109
  490. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +0 -96
  491. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +0 -88
  492. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +0 -145
  493. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +0 -188
  494. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +0 -173
  495. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +0 -93
  496. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +0 -129
  497. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +0 -167
  498. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +0 -149
  499. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +0 -134
  500. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +0 -231
  501. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +0 -155
  502. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +0 -98
  503. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +0 -107
  504. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +0 -89
  505. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +0 -86
  506. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +0 -203
  507. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +0 -70
  508. package/templates/react-sdk-reference/.github/skills/template-components.md +0 -321
  509. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +0 -150
  510. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +0 -124
  511. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +0 -86
  512. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +0 -106
  513. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +0 -137
  514. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +0 -131
  515. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +0 -109
  516. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +0 -124
  517. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +0 -104
  518. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +0 -90
  519. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +0 -97
  520. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +0 -80
  521. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +0 -80
  522. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +0 -106
  523. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +0 -112
  524. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +0 -116
  525. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +0 -108
  526. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +0 -82
  527. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +0 -70
  528. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +0 -142
  529. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +0 -143
  530. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +0 -114
  531. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +0 -130
  532. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +0 -142
  533. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +0 -131
  534. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +0 -108
  535. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +0 -82
  536. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +0 -133
  537. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +0 -152
  538. package/templates/react-sdk-reference/.github/skills/widget-components.md +0 -260
  539. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +0 -84
  540. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +0 -151
  541. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +0 -110
  542. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +0 -103
  543. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +0 -118
  544. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +0 -169
  545. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +0 -198
  546. package/templates/react-sdk-reference/AGENTS.md +0 -246
  547. package/templates/react-sdk-reference/pega-auth-0.2.42.tgz +0 -0
  548. /package/templates/react-sdk-reference/{.claude → .ai-common}/skills/run-and-verify.md +0 -0
@@ -0,0 +1,161 @@
1
+ # Skill: NarrowWide
2
+
3
+ Asymmetric two-column layout with a narrow left column (~33%) and a wide right column (~67%). Includes four sub-variants for different contexts.
4
+
5
+ > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
6
+
7
+ ---
8
+
9
+ ## Component Purpose
10
+
11
+ Renders two children side by side with the left column narrower than the right. Used for case layouts where a sidebar panel sits beside a main content area. Four sub-variants:
12
+
13
+ - **`NarrowWide`** — core CSS-based layout, accepts either `a`/`b` slot inputs or `children[0]`/`children[1]`
14
+ - **`NarrowWidePage`** — wrapper that passes children as `a` and `b` slot inputs to `NarrowWide`
15
+ - **`NarrowWideForm`** — simplified wrapper using only `children` (no `a`/`b` slots, no title/icon)
16
+ - **`NarrowWideDetails`** — details read-only variant; sets children to DISPLAY_ONLY mode and supports highlighted data
17
+
18
+ ## Pega Metadata
19
+
20
+ | Variant | Registration Key |
21
+ | ----------------- | ------------------- |
22
+ | NarrowWide | `NarrowWide` |
23
+ | NarrowWidePage | `NarrowWidePage` |
24
+ | NarrowWideForm | `NarrowWideForm` |
25
+ | NarrowWideDetails | `NarrowWideDetails` |
26
+
27
+ All extend the project's base component interface.
28
+
29
+ ## Inputs
30
+
31
+ ### NarrowWide
32
+
33
+ | Name | Type | Required | Description |
34
+ | ---------- | ------------------ | -------- | ---------------------------------------------------------- |
35
+ | `children` | renderable content | No | Two children rendered in narrow/wide slots |
36
+ | `a` | `any` | No | Narrow (left) column content |
37
+ | `b` | `any` | No | Wide (right) column content |
38
+ | `title` | `string` | No | Optional title (not rendered in reference implementation) |
39
+ | `cols` | `string` | No | Column template (not rendered in reference implementation) |
40
+ | `icon` | `string` | No | Optional icon (not rendered in reference implementation) |
41
+
42
+ ### NarrowWidePage
43
+
44
+ | Name | Type | Required | Description |
45
+ | ------------- | ------------------ | -------- | ----------------------------------------------------- |
46
+ | `children` | renderable content | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
47
+ | `title` | `string` | Yes | Page title (passed to NarrowWide) |
48
+ | `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
49
+ | `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
50
+
51
+ ### NarrowWideForm
52
+
53
+ | Name | Type | Required | Description |
54
+ | ---------- | ------------------ | -------- | ----------------------------------------------------- |
55
+ | `children` | renderable content | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
56
+
57
+ ### NarrowWideDetails
58
+
59
+ | Name | Type | Required | Description |
60
+ | --------------------- | ---------- | -------- | ------------------------------------------------------------------------- |
61
+ | `label` | `string` | Yes | Section label for FieldGroup |
62
+ | `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
63
+ | `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields above children. Default `false` |
64
+ | `getPConnect` | `function` | Yes | PConnect getter |
65
+
66
+ ## Implementation Structure
67
+
68
+ ### NarrowWide (core)
69
+
70
+ **Module Setup:** Define the input contract as an extension of the project's base component interface, adding `a`, `b`, optional `title`, optional `cols`, and optional `icon` fields, and accepting children via the framework's content projection mechanism. Import a companion stylesheet for the layout CSS classes.
71
+
72
+ **Main Component Logic** — steps in order:
73
+
74
+ 1. Receive `a`, `b`, and `children` from inputs.
75
+ 2. When `children` is present and has exactly 2 items, render a `.psdk-narrow-wide-column` container containing a `.psdk-narrow-column-column` element with `children[0]` and a `.psdk-wide-column-column` element with `children[1]`.
76
+ 3. When both `a` and `b` are present, render the same `.psdk-narrow-wide-column` / `.psdk-narrow-column-column` / `.psdk-wide-column-column` structure but with `a` and `b` in place of the children.
77
+ 4. Both render branches can coexist in the returned fragment — whichever condition is true determines what actually renders.
78
+
79
+ ### NarrowWidePage
80
+
81
+ A wrapper that forwards children as `a`/`b` slot inputs: resolve `NarrowWide` from the project's component registry; receive `children`, `title`, `templateCol` (default `'1fr 1fr'`), and `icon` (default `''`) from inputs; render `NarrowWide` with `a` set to `children[0]`, `b` set to `children[1]`, `title`, `cols` set to `templateCol`, and `icon` with the `'pi pi-'` prefix stripped.
82
+
83
+ ### NarrowWideForm
84
+
85
+ A simplified wrapper using only `children` (no `a`/`b` slots, no title/icon): receive `children` from inputs; when `children.length === 2`, render the same `.psdk-narrow-wide-column` structure as the core component (children[0] in the narrow column, children[1] in the wide column); otherwise render nothing.
86
+
87
+ ### NarrowWideDetails
88
+
89
+ Same pattern as `Details` (see [`Details.md`](./Details.md)) but uses `COLUMN_WIDTHS = [4, 8]` for its grid items instead of `[12]` — highlighted data fields and regular children are both laid out with the column widths array, and the whole thing is wrapped in a `FieldGroup` with `displayMode` and `readOnly` forced via `setInheritedProp`.
90
+
91
+ ## Behavioral Contract
92
+
93
+ ### NarrowWide
94
+
95
+ 1. If `children` is provided and has exactly 2 items, render `children[0]` in `.psdk-narrow-column-column` and `children[1]` in `.psdk-wide-column-column` (both wrapped in `.psdk-narrow-wide-column`).
96
+ 2. If `a` and `b` are provided (and children is empty/not 2 items), render `a` in the narrow slot and `b` in the wide slot.
97
+ 3. The two render paths are independent — priority is `children` if length === 2, otherwise `a`/`b`.
98
+
99
+ ### NarrowWidePage
100
+
101
+ 1. Extract the children array from the content projection.
102
+ 2. Resolve `NarrowWide` from the project's component registry.
103
+ 3. Render `NarrowWide` with `a` set to `children[0]`, `b` set to `children[1]`, `title`, `cols` set to `templateCol`, and `icon` with the `'pi pi-'` prefix stripped.
104
+
105
+ ### NarrowWideForm
106
+
107
+ 1. Render exactly as `NarrowWide` with `children` path — checks `children.length === 2`, renders narrow/wide slots.
108
+ 2. Does not support `a`/`b` slot inputs.
109
+
110
+ ### NarrowWideDetails
111
+
112
+ 1. Call `getPConnect().getInheritedProps()` and merge with `{ label, showLabel }` for `propsToUse`.
113
+ 2. Set `getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY')` and `setInheritedProp('readOnly', true)`.
114
+ 3. Map `getPConnect().getChildren()` → render each child using the project's PConnect bridge utility with the config object and a unique key.
115
+ 4. If `showHighlightedData` is true, read `getRawMetadata().config.highlightedData`, set each field's `displayMode = 'STACKED_LARGE_VAL'`, mark `pyStatusWork` fields as `type='TextInput', displayAsStatus=true`, and create components via `getPConnect().createComponent(field, '', 0, {})`.
116
+ 5. Wrap everything in `<FieldGroup name={theName}>` where `theName = propsToUse.showLabel && propsToUse.label ? propsToUse.label : ''`.
117
+ 6. Layout: highlighted data in `Grid size={{ xs: COLUMN_WIDTHS[i] }}` where `COLUMN_WIDTHS = [4, 8]`, then children in `Grid size={{ xs: 12 }}` rows.
118
+
119
+ ## Visual Specifications
120
+
121
+ Derived from `NarrowWide.css`:
122
+
123
+ ### Container
124
+
125
+ | CSS Class | Property | Value |
126
+ | ---------------------------- | -------- | ----------------------------- |
127
+ | `.psdk-narrow-wide-column` | Display | flex or grid (two-column row) |
128
+ | `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) |
129
+ | `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) |
130
+
131
+ **CSS-only implementation notes:**
132
+
133
+ - `.psdk-narrow-wide-column`: `display: grid; grid-template-columns: 1fr 2fr; gap: 1rem`.
134
+ - `.psdk-narrow-column-column`: takes the first (narrower) grid column.
135
+ - `.psdk-wide-column-column`: takes the second (wider) grid column.
136
+ - On mobile: `grid-template-columns: 1fr` (stacks vertically).
137
+
138
+ ## Edge Cases & Special Logic
139
+
140
+ - `NarrowWide` supports both `children` and `a`/`b` slot patterns — check `children` length first.
141
+ - `NarrowWideDetails` highlighted data grid uses `[4, 8]` column widths (narrow left, wide right for STACKED_LARGE_VAL fields).
142
+ - `NarrowWideDetails` reads `theName` from `propsToUse` (which merges inherited inputs) — the `label` input alone may be overridden by inherited inputs.
143
+ - Icon cleanup in `NarrowWidePage`: strip `'pi pi-'` prefix from the icon string before passing to `NarrowWide`.
144
+
145
+ ## Dependencies
146
+
147
+ - `NarrowWidePage`: the project's component registry — to resolve `NarrowWide` at runtime.
148
+ - `NarrowWideDetails`: the project's component registry (to resolve `FieldGroup`) and the project's PConnect bridge utility.
149
+
150
+ ## Design System Mapping
151
+
152
+ **UI control type:** Asymmetric two-column layout (sidebar + main content).
153
+
154
+ When implementing in a specific design system, map the following:
155
+
156
+ - **Two-column grid** → use the DS's grid with `1fr 2fr` column ratio (narrow left, wide right)
157
+ - **Mobile** → collapse to single column (`1fr`)
158
+ - **NarrowWideDetails** → forces DISPLAY_ONLY + readOnly on children via inherited inputs
159
+ - **NarrowWidePage** → resolve via the project's component registry and delegate
160
+ - **Narrow column** ≈ 33% width (1fr of 3fr total)
161
+ - **Wide column** ≈ 67% width (2fr of 3fr total)
@@ -0,0 +1,114 @@
1
+ # Skill: OneColumn
2
+
3
+ Single-column layout template that stacks all children in a full-width column.
4
+
5
+ > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
6
+
7
+ ---
8
+
9
+ ## Component Purpose
10
+
11
+ Renders all children stacked vertically in a single full-width column. Three closely related sub-variants:
12
+
13
+ - **`OneColumn`** — core layout with internal grid and column style
14
+ - **`OneColumnPage`** — thin wrapper that delegates to `OneColumn` via the project's component registry
15
+ - **`OneColumnTab`** — minimal pass-through wrapper for tab context (a plain container element with id `OneColumnTab`)
16
+
17
+ ## Pega Metadata
18
+
19
+ | Variant | Registration Key |
20
+ | ------------- | ---------------- |
21
+ | OneColumn | `OneColumn` |
22
+ | OneColumnPage | `OneColumnPage` |
23
+ | OneColumnTab | `OneColumnTab` |
24
+
25
+ All extend the project's base component interface. Children are received via the framework's content projection mechanism.
26
+
27
+ ## Implementation Structure
28
+
29
+ ### OneColumn (core)
30
+
31
+ **Module Setup:** Define the input contract as an extension of the project's base component interface, accepting children.
32
+
33
+ **Main Component Logic** — steps in order:
34
+
35
+ 1. Receive `children` from inputs.
36
+ 2. Render a grid container with spacing of 2 units (≈ 16px) containing a single grid item at full width (12 of 12 columns) with a column-styles class, which iterates over `children` and renders each one unchanged.
37
+
38
+ **Visual-only styling notes:** apply a column-styles class with `display: grid; gap: 1rem; align-content: baseline`.
39
+
40
+ ### OneColumnPage
41
+
42
+ A thin pass-through wrapper: resolve `OneColumn` from the project's component registry and render it forwarding all inputs.
43
+
44
+ ### OneColumnTab
45
+
46
+ A minimal wrapper that renders children inside a plain container element with `id="OneColumnTab"` — no grid or column styles applied.
47
+
48
+ ## Inputs
49
+
50
+ | Name | Type | Required | Description |
51
+ | ---------- | ------------------ | -------- | --------------------------------------------------- |
52
+ | `children` | renderable content | Yes | One or more children to render in the single column |
53
+
54
+ ## Sub-Variants
55
+
56
+ ### OneColumnPage
57
+
58
+ A thin pass-through wrapper: resolve `OneColumn` from the project's component registry and render it forwarding all inputs.
59
+
60
+ ### OneColumnTab
61
+
62
+ Minimal wrapper — renders children in a plain container element with `id='OneColumnTab'` and no grid or column styles applied. Used purely as a slot container inside tab panels.
63
+
64
+ ## Behavioral Contract
65
+
66
+ 1. Render a grid container with spacing of 2 units.
67
+ 2. Render a single inner grid item at full width (12 of 12 columns) with column-styles applied.
68
+ 3. Iterate over all `children` and render each child.
69
+ 4. `OneColumnPage` delegates all rendering to `OneColumn` from the project's component registry.
70
+ 5. `OneColumnTab` renders children in a plain container element — no grid, no styles.
71
+
72
+ ## Visual Specifications
73
+
74
+ ### Column Style
75
+
76
+ | Property | Value |
77
+ | ------------- | ------------------------------------- |
78
+ | Display | grid |
79
+ | Gap | 1rem |
80
+ | Align content | baseline (children stack top-aligned) |
81
+
82
+ ### Grid Spacing
83
+
84
+ | Property | Value |
85
+ | ----------------- | ---------- |
86
+ | Container spacing | 2 (≈ 16px) |
87
+
88
+ **CSS-only implementation notes:**
89
+
90
+ - Column: `display: grid; gap: 1rem; align-content: baseline; width: 100%`.
91
+ - Outer container: `display: grid; grid-template-columns: 1fr; gap: 16px`.
92
+ - `OneColumnTab`: just a plain container with no special styling.
93
+
94
+ ## Edge Cases & Special Logic
95
+
96
+ - `OneColumn` iterates over all children (not just first/second) — supports any number of children.
97
+ - `OneColumnPage` uses the registry — if an override exists for `OneColumn`, it will be used.
98
+ - `OneColumnTab` does NOT apply the column-styles grid — it is intentionally simpler.
99
+
100
+ ## Design System Mapping
101
+
102
+ **UI control type:** Single-column vertical stack layout.
103
+
104
+ When implementing in a specific design system, map the following:
105
+
106
+ - **Grid container** → use the DS's grid/layout component with a single full-width column
107
+ - **Column style** → apply `display: grid; gap: 1rem; align-content: baseline` to the inner column
108
+ - **OneColumnPage** → resolve via the project's component registry and delegate
109
+ - **OneColumnTab** → render a plain container element (no styling)
110
+
111
+ ## Dependencies
112
+
113
+ - `OneColumnPage`: the project's component registry — to resolve the `OneColumn` component at runtime.
114
+ - `OneColumn` / `OneColumnTab`: no special dependencies.
@@ -0,0 +1,132 @@
1
+ # Skill: PromotedFilters
2
+
3
+ Promoted filters template. Renders a set of promoted filter fields above a `ListView`, allowing users to filter list data through a Clear/Search workflow using transient data.
4
+
5
+ > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
6
+
7
+ ---
8
+
9
+ ## Component Purpose
10
+
11
+ Renders promoted filter controls above a list view. Filter fields are created dynamically via `PCore.createPConnect` and managed as transient data. On search, filter values are formatted and passed to the `ListView` as a query payload. The component also handles the `ListView` rendering below the filters.
12
+
13
+ ## Pega Metadata
14
+
15
+ - **Registration key:** `PromotedFilters` (in the project's component map)
16
+ - **Category:** Search / Filter template
17
+ - **Extends:** the project's base component interface
18
+
19
+ ## Inputs
20
+
21
+ | Input | Type | Required | Description |
22
+ | ----------------- | ---------- | -------- | ------------------------------------------------------------- |
23
+ | `viewName` | `string` | Yes | Name of the promoted filters view — used as transient item ID |
24
+ | `dataPageName` | `string` | Yes | Data page name passed to `ListView` |
25
+ | `promotedFilters` | `array` | Yes | Array of filter field definitions `{ name, classID, ... }` |
26
+ | `payload` | `object` | No | Base query payload for the data page |
27
+ | `isSearchable` | `boolean` | No | Whether the ListView below shows a global search input |
28
+ | `getPConnect` | `function` | Yes | PConnect getter |
29
+
30
+ ## Implementation Structure
31
+
32
+ **Constants:** Define a `SUPPORTED_TYPES_IN_PROMOTED_FILTERS` list containing field types that can be rendered as filters directly: `TextInput`, `Percentage`, `Email`, `Integer`, `Decimal`, `Checkbox`, `DateTime`, `Date`, `Time`, `Text`, `TextArea`, `Currency`, `URL`, `RichText`.
33
+
34
+ **Filters Sub-Component** — accepts `filters`, `transientItemID`, and `localeReference`. For each filter: clone the filter object; if its `type` is not in the supported types list, coerce it to `'TextInput'` and remove its `config.placeholder`; set `config.contextName`, `config.readOnly = false`, `config.context`, and `config.localeReference` on the clone; create a PConnect environment via `PCore.createPConnect({ meta: filterClone, options: { hasForm: true, contextName: transientItemID } })`; and render the resulting component via the project's component registry bridge component.
35
+
36
+ **Main Component Logic** — steps in order:
37
+
38
+ 1. Retrieve the `ListView` component from the project's component registry; bind `localizedVal` to `PCore.getLocaleUtils().getLocaleValue`.
39
+ 2. Receive inputs: `getPConnect`, `viewName`, `filters`, `listViewProps`, `pageClass`, and `parameters`. Initialize local state for `initTable` (boolean, default `false`) and `payload` (object, default `{}`).
40
+ 3. Build a transient item on mount (memoized computation, empty dependency list): construct a `filtersProperties` object mapping each filter's resolved property name (via `PCore.getAnnotationUtils().getPropertyName(f.config.value)`) to an empty string, then call `getPConnect().getContainerManager().addTransientItem({ id: viewName, data: { ...filtersProperties, classID: pageClass } })` and store the resulting `transientItemID`.
41
+ 4. Define a cached callback search handler (keyed on `transientItemID`) that: prevents the default event; reads form changes via `PCore.getFormUtils().getChanges(transientItemID)`; builds a `formValues` object from those changes, excluding the `context_data` and `pageInstructions` keys; formats the values into `promotedFilters` via a `formatPromotedFilters` helper; and, if the form is valid (`PCore.getFormUtils().isFormValid(transientItemID)`) and the input passes `isValidInput(formValues)`, sets `initTable` to `true` and builds a query object (`{ dataViewParameters: parameters }`, adding a `query.filter.filterConditions` when `promotedFilters` is non-empty) and stores it in the payload local state.
42
+ 5. Define a cached callback clear handler (keyed on `transientItemID`) that clears the transient data via `PCore.getContainerUtils().clearTransientData(transientItemID)`, resets `initTable` to `false`, and clears any selected rows via `getPConnect()?.getListActions?.()?.setSelectedRows([])`.
43
+ 6. Render: the `listViewProps.title` in a heading element; the Filters sub-component (passed `filters`, `transientItemID`, and `listViewProps.localeReference`); a container with a Clear button (wired to the clear handler) and a Search button (wired to the search handler); and, when `initTable` is true, a `ListView` spread with `listViewProps`, an empty `title`, the computed `payload`, and `isSearchable` set.
44
+
45
+ ## Behavioral Contract
46
+
47
+ ### Transient Data Setup
48
+
49
+ On mount:
50
+
51
+ 1. Build `filtersWithClassID`: map each filter's property name (via `PCore.getAnnotationUtils().getPropertyName(filter.config.value)`) to an empty string, then add `classID` from `pageClass`.
52
+ 2. Call `getPConnect().getContainerManager().addTransientItem({ id: viewName, data: filtersWithClassID })`.
53
+ 3. This creates a transient data context for the filter fields and returns a `transientItemID`.
54
+
55
+ ### Filters Sub-Component
56
+
57
+ The Filters sub-component:
58
+
59
+ 1. Creates each filter field via `PCore.createPConnect({ meta: filterClone, options: { hasForm: true, contextName: transientItemID } })`.
60
+ 2. If the filter type is not in `SUPPORTED_TYPES_IN_PROMOTED_FILTERS`, coerces it to `TextInput` and removes the placeholder.
61
+ 3. Renders each created PConnect as a field component via the project's component registry bridge.
62
+
63
+ ### Search
64
+
65
+ On Search button click:
66
+
67
+ 1. Prevent default form submission.
68
+ 2. Read form changes via `PCore.getFormUtils().getChanges(transientItemID)`.
69
+ 3. Build `formValues` from the changes, excluding `context_data` and `pageInstructions` keys.
70
+ 4. Format filter values via `formatPromotedFilters`: for each non-empty field, build `{ lhs: { field }, comparator: 'EQ', rhs: { value } }`.
71
+ 5. Validate with `PCore.getFormUtils().isFormValid(transientItemID)` and `isValidInput(formValues)`.
72
+ 6. If valid, set `initTable` to true and build a query object with `dataViewParameters` and, if filters are non-empty, `query.filter.filterConditions`.
73
+ 7. Store the query in payload local state — `ListView` re-fetches with the filter payload.
74
+
75
+ ### Clear
76
+
77
+ On Clear button click:
78
+
79
+ 1. Call `PCore.getContainerUtils().clearTransientData(transientItemID)`.
80
+ 2. Reset `initTable` to `false`.
81
+ 3. Clear any selected rows via `getPConnect()?.getListActions?.()?.setSelectedRows([])`.
82
+ 4. `ListView` re-fetches without filters.
83
+
84
+ ### Render Structure
85
+
86
+ An outer container holding: a title heading element; a fields container with the Filters sub-component; an actions container with Clear and Search buttons (localized via `PCore.getLocaleUtils().getLocaleValue('Clear', 'SimpleTable')` and `PCore.getLocaleUtils().getLocaleValue('Search', 'SimpleTable')`); and a `ListView` below (shown only when `initTable` is true), receiving `listViewProps`, an empty `title`, the active `payload`, and `isSearchable` set.
87
+
88
+ ## Visual Specifications
89
+
90
+ | Element | Description |
91
+ | ----------------- | ------------------------------------------ |
92
+ | Filter fields row | Horizontal flex row of filter field inputs |
93
+ | Action buttons | Clear + Search buttons, right-aligned |
94
+ | ListView | Below the filter row, full width |
95
+
96
+ - Outer container: vertical flex layout with 1rem gap.
97
+ - Filter fields row: horizontal flex layout, wrapping enabled, 0.5rem gap, items aligned to bottom.
98
+ - Action buttons row: horizontal flex layout, 0.5rem gap, justified to end.
99
+
100
+ ## Edge Cases & Special Logic
101
+
102
+ - Transient item must be cleaned up on unmount: call `PCore.getContainerUtils().clearTransientData(transientItemID)` or equivalent lifecycle cleanup.
103
+ - The search handler skips empty values — a filter with no input is not sent to the query.
104
+ - If all filters are empty, the Search returns unfiltered results.
105
+ - `PCore.createPConnect` creates new PConnect instances for each filter — these must be properly keyed and managed.
106
+ - `isValidInput` returns true only if at least one filter value is truthy.
107
+
108
+ ## Dependencies
109
+
110
+ - `formatPromotedFilters` — builds EQ filter condition objects from form values
111
+ - `isValidInput` — validates that at least one filter field has a value
112
+ - `PCore.getContainerManager().addTransientItem()` — transient context setup
113
+ - `PCore.getContainerUtils().clearTransientData()` — transient context teardown
114
+ - `PCore.getFormUtils().getChanges()` — reads transient form state
115
+ - `PCore.getFormUtils().isFormValid()` — validates transient form
116
+ - `PCore.getAnnotationUtils().getPropertyName()` — resolves property names from value references
117
+ - `PCore.createPConnect()` — creates PConnect instances for filter fields
118
+ - `PCore.getLocaleUtils().getLocaleValue()` — localizes button labels
119
+ - `ListView` — the list below the filters (from the project's component registry)
120
+
121
+ ## Design System Mapping
122
+
123
+ **UI control type:** Filter bar above a list view — transient field inputs + Clear/Search actions.
124
+
125
+ When implementing in a specific design system, use the appropriate button component for Clear and Search actions, and a horizontal flex/wrap layout for the filter fields row. The filter fields themselves are rendered dynamically via PConnect and will use whatever field components are registered in the project's component registry. Each design system will have its own equivalents for the action buttons and layout containers.
126
+
127
+ Design considerations:
128
+
129
+ - Transient data pattern is critical — each filter field must read/write to `PCore`'s transient store
130
+ - The `formatPromotedFilters` helper builds the query filter payload — use it unchanged
131
+ - Transient item cleanup on unmount is required to avoid stale data
132
+ - Button labels must be localized via `PCore.getLocaleUtils().getLocaleValue`
@@ -0,0 +1,173 @@
1
+ # Skill: SelfServiceCaseView
2
+
3
+ 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.
4
+
5
+ > **Prerequisite skill:** [`template-components.md`](../template-components.md) — covers architecture, child rendering patterns, and registration conventions common to ALL template components.
6
+
7
+ ---
8
+
9
+ ## Component Purpose
10
+
11
+ 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.
12
+
13
+ ## Pega Metadata
14
+
15
+ - **Registration key:** `SelfServiceCaseView` (in the project's component map)
16
+ - **Category:** Page template — self-service case workspace
17
+ - **Extends:** the project's base component interface
18
+
19
+ ## Inputs
20
+
21
+ | Name | Type | Required | Description |
22
+ | --------------------- | ------------------- | -------- | ---------------------------------------------------------------------------------------- |
23
+ | `children` | renderable content | Yes | Region children (variable count based on `isObjectType`) |
24
+ | `icon` | `string` | No | Icon identifier for the case type avatar |
25
+ | `header` | `string` | Yes | Case type display name / header text |
26
+ | `subheader` | `string` | No | Secondary header text (typically case ID) |
27
+ | `showCaseLifecycle` | `boolean \| string` | No | Whether to show the lifecycle/stages region (default `true`) |
28
+ | `showSummaryRegion` | `boolean \| string` | No | Whether to show the summary column (default `true`) |
29
+ | `showUtilitiesRegion` | `boolean \| string` | No | Whether to show the utilities column (default `true`) |
30
+ | `showCaseActions` | `boolean \| string` | No | Whether to show the actions menu (default `true`) |
31
+ | `caseClass` | `string` | No | Case class used to determine object-type behavior |
32
+ | `caseInfo` | `object` | No | Object containing `availableActions`, `availableProcesses`, `caseTypeID`, `caseTypeName` |
33
+ | `getPConnect` | `function` | Yes | PConnect getter |
34
+
35
+ ## Implementation Structure
36
+
37
+ **Module Setup:** The component needs the project's component registry (to retrieve `CaseViewActionsMenu` and `CaseSummary` at runtime), a `prepareCaseSummaryData` utility for filtering summary fields, a `filterUtilities` utility for filtering non-self-service utilities, a `Utils` helper for resolving image sources, and companion styles for the layout and header.
38
+
39
+ **Main Component Logic** — steps in order:
40
+
41
+ 1. Retrieve `CaseViewActionsMenu` and `CaseSummary` from the project's component registry.
42
+ 2. Receive inputs: `icon` (default `''`), `getPConnect`, `header`, `subheader`, `showCaseLifecycle`/`showSummaryRegion`/`showUtilitiesRegion`/`showCaseActions` (each defaulting to `true`), `children`, `caseClass`, and `caseInfo` fields (`availableActions`, `availableProcesses`, `caseTypeID`, `caseTypeName`, each with sensible defaults); call `getPConnect()` once and reuse the result.
43
+ 3. Coerce the four `show*` boolean-ish inputs (which may arrive as strings) to real booleans by checking `p === true || p === 'true'` for each.
44
+ 4. Determine `isObjectType` via `PCore.getCaseUtils().isObjectCaseType(caseClass)` — this affects how children are indexed.
45
+ 5. Get the locale key via `pConnect.getCaseLocaleReference()`.
46
+ 6. Resolve the case icon image source via `Utils.getImageSrc(icon, Utils.getSDKStaticConentUrl())`.
47
+ 7. **Assign regions using TWO parallel arrays:** rendered children (for display) and PConnect child envs (for metadata access). Get `renderChildren` from the framework's content projection input (as a renderable array). Get `pConnChildren` from `pConnect.getChildren()` (PConnect child envs that DO have `getPConnect` methods). Index both by the same positions. For rendering: `stagesElement = renderChildren[1]`, `todoElement = renderChildren[2]`, `utilitiesElement = renderChildren[4]` (non-object) or `mainElement = renderChildren[1]`, `utilitiesElement = renderChildren[2]` (object). For metadata: `summaryEnv = pConnChildren[0]`, `utilitiesEnv = pConnChildren[4]` (non-object) or `pConnChildren[2]` (object). **Do NOT call `.getPConnect()` on rendered children** — they are rendered elements without a direct `getPConnect` method.
48
+ 8. Filter summary fields for the self-service channel: call `prepareCaseSummaryData(summaryEnv, filterFn)` where `summaryEnv` is from `pConnChildren` (not from rendered children). The helper calls `summaryEnv.getPConnect().getChildren()` which works because PConnect child envs have `getPConnect` methods.
49
+ 9. Compute utilities visibility: `isUtilitiesRegionNotEmpty(utilitiesEnv)` uses the PConnect child env (from `pConnChildren`) to check whether utilities have visible children.
50
+ 10. Compute visibility flags: `showUtilities` is true when `bShowUtilitiesRegion` and `isUtilitiesRegionNotEmpty()`; `showSummary` is true when `bShowSummaryRegion` and either summary field list is non-empty.
51
+ 11. Render a self-service header bar (class `selfServiceCaseViewHeader`) showing the localized `header` text and (when `bShowCaseActions`) the `CaseViewActionsMenu` component with the action inputs passed through.
52
+ 12. Below the header, render a horizontal flex row with three sections: the summary region at `flex: 0 0 25%` (rendered only when `showSummary`, containing a card with the case icon avatar, localized header, subheader, dividers, and the `CaseSummary` component with `arPrimaryFields` and `arSecondaryFields`); the main content area at `flex: 1` (containing the stages element directly when `bShowCaseLifecycle`, followed by the todo/main element directly); and the utilities region at `flex: 0 0 25%` (rendered only when `showUtilities`, rendering the utilities element directly). **Render children directly in the template** — do NOT pass them through the PConnect bridge component.
53
+
54
+ ## Behavioral Contract
55
+
56
+ ### Region Assignment by Child Index
57
+
58
+ > ⚠️ **CRITICAL:** Use TWO parallel arrays for child access:
59
+ >
60
+ > - `renderChildren` (from the framework's content projection input) — for RENDERING regions directly in the template
61
+ > - `pConnChildren` (from `pConnect.getChildren()`) — for METADATA access (filtering, field extraction)
62
+ >
63
+ > **Do NOT call `.getPConnect()` on rendered children** — they are rendered elements without a direct `getPConnect` method. Only PConnect child envs (from `pConnect.getChildren()`) have `getPConnect`.
64
+
65
+ Child indexing depends on `isObjectType`:
66
+
67
+ **`isObjectType === false` (5 children):**
68
+
69
+ | Index | Region |
70
+ | ----- | --------------- |
71
+ | 0 | Summary |
72
+ | 1 | (Header/Stages) |
73
+ | 2 | Main content |
74
+ | 3 | Utilities |
75
+ | 4 | (Additional) |
76
+
77
+ **`isObjectType === true` (3 children):**
78
+
79
+ | Index | Region |
80
+ | ----- | ------------ |
81
+ | 0 | Summary |
82
+ | 1 | Main content |
83
+ | 2 | Utilities |
84
+
85
+ Show/hide individual regions based on:
86
+
87
+ - `showSummary`: show summary only when the region has filtered content.
88
+ - `showMain`: always show main content region.
89
+ - `showUtilities`: show utilities only if the region has visible children.
90
+
91
+ ### Self-Service Case View Header
92
+
93
+ Renders a slim header bar above the main flex layout showing:
94
+
95
+ - Localized header text via `PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)`
96
+ - The `CaseViewActionsMenu` component (when `bShowCaseActions` is true)
97
+
98
+ ### Case Summary Data
99
+
100
+ Call `prepareCaseSummaryData(summaryEnv, filterFn)` where `summaryEnv` is a PConnect child env (from `pConnect.getChildren()`, NOT from rendered children). The helper accesses `summaryEnv.getPConnect().getChildren()` to iterate region children.
101
+
102
+ - Only include fields where `availableInChannel.selfService === true`.
103
+
104
+ ### Utilities Filter
105
+
106
+ The `isUtilitiesRegionNotEmpty` function uses the PConnect child env (from `pConnect.getChildren()`) to access `utilitiesEnv.getPConnect().getChildren()` and check visibility.
107
+
108
+ ### Utilities Visibility Check
109
+
110
+ Uses the PConnect child env — NOT the rendered element — to access children metadata via `getPConnect().getChildren()` and verify at least one child has `getConfigProps().visibility !== false`.
111
+
112
+ ### Render Structure
113
+
114
+ An outer container holding the self-service header (`psdk-ss-case-view-header` or equivalent class), followed by a flex row body (`display: flex; flex-direction: row`) with three children: a `flex: 0 0 25%` box showing the summary card when `showSummary` is true; a `flex: 1` box showing the main region; and a `flex: 0 0 25%` box showing the utilities region when `showUtilities` is true.
115
+
116
+ ## Visual Specifications
117
+
118
+ | Column | Width | Contents |
119
+ | --------- | ----------- | ------------------------------------------- |
120
+ | Summary | 25% (fixed) | Case summary fields (self-service filtered) |
121
+ | Main | flex: 1 | Main case content / assignment form |
122
+ | Utilities | 25% (fixed) | Filtered utilities |
123
+
124
+ **Companion styles:**
125
+
126
+ - Body layout: `display: flex; flex-direction: row; gap: 1rem`.
127
+ - Summary column: `flex: 0 0 25%; min-width: 0`.
128
+ - Main column: `flex: 1 1 auto; min-width: 0`.
129
+ - Utilities column: `flex: 0 0 25%; min-width: 0`.
130
+ - Header bar: `margin: 10px 8px 0 8px; height: 50px; display: flex; justify-content: space-between; align-items: center; padding: 0 8px`. Background uses the primary light color with contrasting text.
131
+ - Summary card root: padding and margin of one spacing unit on all sides.
132
+ - Summary card header: uses the info light background with contrasting text, rounded corners.
133
+ - Case icon box: info dark background, fixed size (e.g. 64x64), with padding.
134
+ - Responsive: collapse to single column on mobile.
135
+
136
+ ## Edge Cases & Special Logic
137
+
138
+ - `isObjectType` changes the number of `children` — always derive regions by index based on this flag.
139
+ - `filterUtilities` may return an empty array — `showUtilities` should be `false` in that case (hide the column entirely).
140
+ - Summary fields filtered by `availableInChannel.selfService` — if all fields are filtered out, the summary column is hidden.
141
+ - The self-service header differs from the standard case header — it is a separate sub-component, not the full `CaseView` header.
142
+ - The four `show*` inputs may arrive as string `"true"`/`"false"` — coerce to boolean before use.
143
+
144
+ ## Dependencies
145
+
146
+ - `prepareCaseSummaryData` from the template utilities — with self-service channel filter applied
147
+ - `filterUtilities` from the template utilities — removes non-self-service utilities
148
+ - `Utils.getImageSrc` / `Utils.getSDKStaticConentUrl` — resolves case icon image paths
149
+ - `PCore.getCaseUtils().isObjectCaseType()` — determines child region indexing
150
+ - `PCore.getLocaleUtils().getLocaleValue()` — header localization
151
+ - `pConnect.getCaseLocaleReference()` — locale key for the case
152
+ - The project's component registry — to retrieve `CaseViewActionsMenu` and `CaseSummary`
153
+ - The project's base component interface
154
+
155
+ ## Design System Mapping
156
+
157
+ **UI control type:** Self-service portal case workspace — horizontal 3-panel flex layout with card-based summary.
158
+
159
+ When implementing in a specific design system, map the following:
160
+
161
+ - **Layout container:** Use the design system's flex/grid primitives for the 3-column row. The key constraint is 25%/flex-1/25% proportions.
162
+ - **Summary card:** Use the design system's card component with a header section (avatar + title + subtitle) and dividers between sections. The header should use the theme's info/primary color.
163
+ - **Avatar/Icon:** Use the design system's avatar component (square variant) with the resolved case icon image.
164
+ - **Header bar:** Use the design system's flex container with space-between alignment. Background should be the theme's primary-light color with contrasting text.
165
+ - **Dividers:** Use the design system's divider/separator component between card sections.
166
+ - **Typography:** Use the design system's heading (h6) for the case name and body text for the case ID.
167
+
168
+ Key constraints regardless of design system:
169
+
170
+ - `isObjectType` determines child count — do not assume fixed child order without checking this flag
171
+ - Self-service channel filter on summary data is mandatory — `availableInChannel.selfService === true`
172
+ - `filterUtilities` result controls utilities column visibility
173
+ - Utilities visibility requires checking child `getConfigProps().visibility !== false`