@pega/sdk 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +12 -55
  5. package/package.json +7 -6
  6. package/templates/angular-sdk-reference/package.json +15 -15
  7. package/templates/angular-sdk-reference/tsconfig.json +2 -2
  8. package/templates/react-native-sdk-reference/App.tsx +2 -4
  9. package/templates/react-native-sdk-reference/package.json +6 -6
  10. package/templates/react-native-sdk-reference/tsconfig.json +2 -1
  11. package/templates/react-sdk-reference/.claude/instructions/component-map.md +1 -1
  12. package/templates/react-sdk-reference/.claude/instructions/field-component.md +4 -0
  13. package/templates/react-sdk-reference/.claude/instructions/template-component.md +2 -1
  14. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +1 -0
  15. package/templates/react-sdk-reference/.claude/prompts/add-component.md +18 -10
  16. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +165 -83
  17. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +26 -17
  18. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +27 -13
  19. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +42 -28
  20. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +48 -34
  21. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +25 -11
  22. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +65 -65
  23. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +99 -99
  24. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +40 -38
  25. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +54 -51
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +32 -28
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +38 -35
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +29 -26
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +32 -26
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +17 -15
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +13 -11
  36. package/templates/react-sdk-reference/.claude/skills/field-components.md +9 -8
  37. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +27 -26
  38. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +30 -22
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +60 -43
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +23 -20
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +19 -17
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +18 -15
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +22 -21
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +50 -30
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +20 -18
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +21 -15
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +17 -16
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +30 -21
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +66 -42
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +27 -18
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +22 -21
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +36 -17
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +56 -35
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +23 -12
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +41 -31
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +70 -55
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +34 -27
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +24 -22
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +38 -22
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +24 -21
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +16 -15
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +16 -15
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +57 -34
  64. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +10 -8
  65. package/templates/react-sdk-reference/.claude/skills/template-components.md +7 -8
  66. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +27 -21
  67. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +17 -15
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +19 -16
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +19 -13
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +23 -17
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +34 -29
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +18 -16
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +36 -32
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +23 -21
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +31 -29
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +19 -17
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +22 -20
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +19 -17
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +19 -17
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +15 -10
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +19 -16
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +18 -15
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +17 -13
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +10 -13
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +9 -7
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +33 -30
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +42 -40
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +25 -20
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +25 -19
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +36 -29
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +31 -27
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +14 -11
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +34 -32
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +48 -46
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +23 -19
  98. package/templates/react-sdk-reference/.claude/skills/widget-components.md +11 -22
  99. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +22 -20
  100. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +33 -28
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +18 -15
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +43 -37
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +23 -19
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +20 -16
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +26 -24
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +43 -35
  107. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +165 -83
  108. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  109. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  110. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  111. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  112. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  113. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  114. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +58 -15
  115. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  116. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +322 -65
  117. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +124 -50
  118. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +145 -66
  119. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +146 -73
  120. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +128 -49
  121. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  122. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  123. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  124. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  125. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  126. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  127. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  128. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  129. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  130. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  131. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  132. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  133. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  134. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +13 -11
  135. package/templates/react-sdk-reference/.github/skills/field-components.md +9 -8
  136. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  137. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  138. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  139. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  140. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  141. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  142. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  143. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  144. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  145. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  146. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  147. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  148. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  149. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  150. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  151. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  152. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  153. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  154. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  155. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  156. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  157. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  158. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  159. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  160. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  161. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  162. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  163. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  164. package/templates/react-sdk-reference/.github/skills/template-components.md +7 -8
  165. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  166. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  167. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  168. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  169. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  170. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  171. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  172. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  173. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  174. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  175. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  176. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  177. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  178. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  179. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  180. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  181. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  182. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  183. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  184. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  185. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  186. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  187. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  188. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  189. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  190. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  191. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  192. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  193. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  194. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  195. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  196. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  197. package/templates/react-sdk-reference/.github/skills/widget-components.md +11 -22
  198. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  199. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  200. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  201. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  202. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  203. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  204. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  205. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  206. package/templates/react-sdk-reference/AGENTS.md +0 -1
  207. package/templates/react-sdk-reference/index.html +1 -4
  208. package/templates/react-sdk-reference/package.json +15 -15
  209. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  210. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  211. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  212. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  213. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  214. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  215. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  216. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  217. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  218. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  219. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  220. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  221. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  222. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  223. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  224. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  225. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  226. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  227. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  228. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  229. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  230. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  231. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  232. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  233. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  234. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  235. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  236. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  237. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  238. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  239. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  240. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  241. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  242. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  243. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  244. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  245. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  246. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  247. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  248. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  249. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  250. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  251. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  252. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  253. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  254. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  255. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  256. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  257. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  258. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  259. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  260. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  261. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  262. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  263. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  264. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  265. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  266. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  267. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  268. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  269. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  270. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  271. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  272. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  273. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  274. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  275. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  276. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  277. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  278. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  279. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  280. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  281. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  282. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  283. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  284. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  285. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  286. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  287. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  288. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  289. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  290. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  291. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  292. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  293. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  294. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  295. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  296. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  297. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  298. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  299. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  300. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  301. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  302. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  303. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  304. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  305. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  306. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  307. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  308. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  309. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  310. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  311. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  312. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  313. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  314. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  315. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  316. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  317. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  318. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  319. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  320. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  321. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  322. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  323. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  324. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  325. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  326. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  327. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  328. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  329. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  330. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  331. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  332. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  333. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  334. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  335. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  336. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  337. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  338. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  339. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  340. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  341. package/templates/react-sdk-reference/src/main.tsx +1 -1
  342. package/templates/react-sdk-reference/tsconfig.json +2 -1
  343. package/templates/react-sdk-reference/vite.config.ts +51 -26
  344. package/templates/wc-sdk-reference/package.json +3 -3
  345. package/templates/wc-sdk-reference/src/index.ts +10 -10
  346. package/templates/wc-sdk-reference/tsconfig.json +1 -0
@@ -11,9 +11,12 @@ Read the user's message carefully. Extract:
11
11
  - **Output base path** — the folder where DSE components should be generated (e.g. `src/components/designSystemExtension/`)
12
12
  - **Component list** — which components to generate (default: all 11 listed below)
13
13
 
14
- Both **design system** and **output base path** are required. If either is missing or ambiguous, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
14
+ Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
15
+
16
+ ⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
15
17
 
16
18
  Example questions (ask only the ones that are actually missing):
19
+
17
20
  1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
18
21
  2. Where should the DSE components be generated? (e.g. `src/components/designSystemExtension/`)
19
22
 
@@ -23,19 +26,19 @@ Once both are known, continue to Step 1.
23
26
 
24
27
  ### Full component list (default — 11 DSE components)
25
28
 
26
- | Component | Pattern | DS needed? |
27
- |---|---|---|
28
- | AlertBanner | B — Pure display | Yes |
29
- | Banner | B — Pure display | Yes |
30
- | CaseSummaryFields | A — PConnect display | Minimal |
31
- | DetailsFields | A — PConnect display | Minimal |
32
- | FieldGroup | C — Complex display | No |
33
- | FieldGroupList | C — Complex display | No |
34
- | FieldValueList | A — PConnect display | No (CSS only) |
35
- | Operator | B — Pure display | Yes |
36
- | Pulse | C — Complex display | No |
37
- | RichTextEditor | C — Complex display | No |
38
- | WssQuickCreate | B — Pure display | Yes |
29
+ | Component | Pattern | DS needed? |
30
+ | ----------------- | -------------------- | ------------- |
31
+ | AlertBanner | B — Pure display | Yes |
32
+ | Banner | B — Pure display | Yes |
33
+ | CaseSummaryFields | A — PConnect display | Minimal |
34
+ | DetailsFields | A — PConnect display | Minimal |
35
+ | FieldGroup | C — Complex display | No |
36
+ | FieldGroupList | C — Complex display | No |
37
+ | FieldValueList | A — PConnect display | No (CSS only) |
38
+ | Operator | B — Pure display | Yes |
39
+ | Pulse | C — Complex display | No |
40
+ | RichTextEditor | C — Complex display | No |
41
+ | WssQuickCreate | B — Pure display | Yes |
39
42
 
40
43
  ---
41
44
 
@@ -44,6 +47,7 @@ Once both are known, continue to Step 1.
44
47
  Read the full contents of `.github/skills/design-system-extension.md`.
45
48
 
46
49
  This gives you:
50
+
47
51
  - All three implementation patterns (Pure display, Field value display, Complex display with PConnect)
48
52
  - The `// [DS RENDER]` placeholder approach for Pattern B components
49
53
  - The Design System Adaptation section — pattern categorisation, variant mapping table, DS discovery guidance
@@ -56,19 +60,51 @@ Keep this context active throughout the entire generation session. Do not re-rea
56
60
 
57
61
  ## Step 2 — Install and discover the design system (once)
58
62
 
59
- Execute **Step 3** from `.github/prompts/add-component.prompt.md` exactly as written:
60
- - Check `package.json` for the DS package
61
- - Install if missing, including any peer dependencies
62
- - Report what was installed
63
+ ### 2a — Check and install the DS package
64
+
65
+ Run this command in your terminal:
66
+
67
+ ```bash
68
+ cat package.json | grep "<design-system-package>"
69
+ ```
63
70
 
64
- Then execute **Step 4** from `.github/prompts/add-component.prompt.md` exactly as written:
65
- - Read the DS README from `node_modules`
66
- - Discover exported components from `dist/index.d.ts`
67
- - Focus on display primitives used by Pattern B components: Alert, Card, Avatar, Badge, Tag, Notification
68
- - Read prop interfaces for these components from `.d.ts` files
71
+ If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
72
+
73
+ ```bash
74
+ npm install <design-system-package>
75
+ ```
76
+
77
+ Also install any peer dependencies documented in the package's README. Report what was installed.
78
+
79
+ ### 2b — Discover the DS display primitives from installed files
69
80
 
70
81
  > Pattern A/C components (FieldValueList, FieldGroup, Pulse, etc.) use PConnect bridge or plain CSS — they do not use the DS API. Only Pattern B components consume DS primitives.
71
82
 
83
+ Run these commands to discover the actual API (do NOT rely on training knowledge):
84
+
85
+ 1. Read the README for correct import paths and usage patterns:
86
+
87
+ ```bash
88
+ cat node_modules/<designSystem>/README.md
89
+ ```
90
+
91
+ 2. List every exported component — focus on display primitives (Alert, Card, Avatar, Badge, Tag, Notification):
92
+
93
+ ```bash
94
+ grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"
95
+ ```
96
+
97
+ 3. For every display primitive you plan to use, read its prop interface:
98
+
99
+ ```bash
100
+ find node_modules/<designSystem> -name "Alert.d.ts" -o -name "Card.d.ts" -o -name "Avatar.d.ts" | head -5
101
+ grep -A 40 "interface.*Props" <path-from-above>
102
+ ```
103
+
104
+ 4. Check for **variant/type/severity prop names** — each DS uses different names for alert severity (e.g., `type`, `status`, `severity`, `variant`).
105
+
106
+ Only use component names and prop names confirmed in these files.
107
+
72
108
  Build a **DS display primitive reference map** from this discovery. Reuse it for every Pattern B component — do not repeat these commands per component.
73
109
 
74
110
  ---
@@ -78,7 +114,9 @@ Build a **DS display primitive reference map** from this discovery. Reuse it for
78
114
  For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
79
115
 
80
116
  If **any** exist, report them all at once and ask:
117
+
81
118
  > "The following N components already exist: [list]. How should I proceed?
119
+ >
82
120
  > - **Overwrite all** — replace all existing implementations
83
121
  > - **Skip existing** — only generate components that don't exist yet
84
122
  > - **Cancel** — stop without generating anything"
@@ -91,41 +129,77 @@ Wait for the user's answer before proceeding. If none exist, continue immediatel
91
129
 
92
130
  For each component in the resolved list (in the order listed in Step 0):
93
131
 
94
- ### 4a — Read the component-specific skill file
95
- Execute **Step 2** from `.github/prompts/add-component.prompt.md` for this component:
96
- - Read `.github/skills/design-system-extension-skills/<ComponentName>.md` fully
97
- - Identify the component's pattern (B / A / C) from the skill file
98
- - Pay attention to:
99
- - **Behavioral Contract** — prop handling, variant mapping, rendering logic, edge cases
100
- - **Design System Mapping** table — the recommended DS primitive for Pattern B components
132
+ ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
133
+
134
+ Read the file `.github/skills/design-system-extension-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `design-system-extension.md`.
135
+
136
+ After reading, extract and keep active:
137
+
138
+ - **Pattern classification** — B (Pure display) / A (PConnect display) / C (Complex display)
139
+ - **Behavioral Contract** — prop handling, variant mapping, rendering logic, edge cases
140
+ - **Design System Mapping** table — the recommended DS primitive (Pattern B components only)
141
+
142
+ If no skill file exists at that path, use the general pattern from `design-system-extension.md` loaded in Step 1.
143
+
144
+ ⚠️ The general skill file (`design-system-extension.md`) provides the pattern skeletons. The component-specific skill file provides the **exact prop interface, variant logic, and edge cases**. Both are needed — generating from only the general skill will produce components that render empty or with incorrect variant handling.
101
145
 
102
146
  ### 4b — Generate the component files
103
- Execute **Step 5** from `.github/prompts/add-component.prompt.md` for this component:
104
- - Create `<outputPath>/<ComponentName>/` directory
105
- - Create `<ComponentName>.tsx` using:
106
- - **Pattern B** (Pure display — AlertBanner, Banner, Operator, WssQuickCreate): use DS alert/card/avatar primitive from Step 2 API map in the `// [DS RENDER]` section; apply variant mapping from the skill file
107
- - **Pattern A** (PConnect display — CaseSummaryFields, DetailsFields, FieldValueList): use CSS classes or DS typography props; no DS component primitives
108
- - **Pattern C** (Complex display — FieldGroup, FieldGroupList, Pulse, RichTextEditor): use PConnect bridge (`createElement(createPConnectComponent(), ...)`); no DS primitives
109
- - Create `index.tsx` if required by the skill file:
110
- ```typescript
111
- export { default } from './<ComponentName>';
112
- ```
113
- - Create any CSS file required by the skill file
147
+
148
+ Create the directory `<outputPath>/<ComponentName>/`.
149
+
150
+ Create `<ComponentName>.tsx` using the structure matching the pattern from `design-system-extension.md` (loaded in Step 1):
151
+
152
+ - **Pattern B** (Pure display — AlertBanner, Banner, Operator, WssQuickCreate): variant mapping (urgent→error, warning→warning, info→info, success→success) + DS Alert/Card/Avatar primitive from Step 2. No `getPConnect`.
153
+ - **Pattern A** (PConnect display — CaseSummaryFields, DetailsFields, FieldValueList): CSS classes + optional DS typography, no DS component primitives. May use `getPConnect`.
154
+ - **Pattern C** (Complex display — FieldGroup, FieldGroupList, Pulse, RichTextEditor): `createElement(createPConnectComponent(), ...)` for PConnect children, semantic HTML. No DS primitives.
155
+
156
+ Apply the Behavioral Contract from the component skill file (exact props, variant logic, edge cases).
157
+
158
+ Create `index.tsx` if required by the skill file:
159
+
160
+ ```typescript
161
+ export { default } from './<ComponentName>';
162
+ ```
163
+
164
+ Create any CSS file required by the skill file.
114
165
 
115
166
  ### 4c — Register the component
116
- Execute **Step 6** from `.github/prompts/add-component.prompt.md` for this component:
117
- - Add the import to `src/components/component-map.ts` in the Design System Extension section
118
- - Add the entry to `getSampleComponentMap()` under the DSE comment
119
- - Do not reorder or restructure any existing entries
120
167
 
121
- ### 4d — Report progress
168
+ Edit `src/components/component-map.ts`:
169
+
170
+ 1. Add an import at the top of the file in the **Design System Extension** section:
171
+ ```typescript
172
+ import <ComponentName> from './designSystemExtension/<ComponentName>';
173
+ ```
174
+ 2. Add an entry in the return object of `getSampleComponentMap()` under the DSE comment:
175
+ ```typescript
176
+ <ComponentName>,
177
+ ```
178
+
179
+ Do not reorder or restructure any existing entries.
180
+
181
+ ### 4d — Batch checkpoint
182
+
183
+ After every **5 components**, run:
184
+
185
+ ```bash
186
+ npm run build
187
+ ```
188
+
189
+ Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
190
+
191
+ ### 4e — Report progress
192
+
122
193
  After each component: "`<ComponentName>` ✓ — Pattern `<B/A/C>`<`, using <DS primitive>` if Pattern B>"
123
194
 
124
195
  ---
125
196
 
126
197
  ## Step 5 — Verify the build
127
198
 
128
- Execute **Step 7** from `.github/prompts/add-component.prompt.md` exactly as written:
129
- - Run `npm run build`
130
- - Fix any TypeScript or build errors before reporting completion
131
- - Report a summary: list of all files created and all entries added to `component-map.ts`
199
+ Run:
200
+
201
+ ```bash
202
+ npm run build
203
+ ```
204
+
205
+ If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.
@@ -11,9 +11,12 @@ Read the user's message carefully. Extract:
11
11
  - **Output base path** — the folder where field components should be generated (e.g. `src/components/field/`, `app/ui/fields/`)
12
12
  - **Component list** — which components to generate (default: all 27 listed below)
13
13
 
14
- Both **design system** and **output base path** are required. If either is missing or ambiguous, ask both unresolved items in one numbered list. Do not assume or default the output path — the client's folder structure may differ from the reference app.
14
+ Both **design system** and **output base path** are required. If either is missing or ambiguous, you MUST stop and ask the user before proceeding. Do not infer any value from the project structure, `.instructions.md` files, existing folders, or any other source.
15
+
16
+ ⛔ **STOP** — If the user's message does not explicitly state BOTH the design system AND the output path, ask for the missing items now. Do not proceed to Step 1 until you have explicit answers from the user for all required inputs.
15
17
 
16
18
  Example questions (ask only the ones that are actually missing):
19
+
17
20
  1. Which design system should I use? (e.g. Ant Design, Chakra UI, Carbon, Radix UI)
18
21
  2. Where should the field components be generated? (e.g. `src/components/field/`)
19
22
 
@@ -23,35 +26,35 @@ Once both are known, continue to Step 1.
23
26
 
24
27
  ### Full component list (default)
25
28
 
26
- | Component | Pega Name |
27
- |---|---|
28
- | AutoComplete | AutoComplete |
29
- | CancelAlert | CancelAlert |
30
- | Checkbox | Checkbox |
31
- | Currency | Currency |
32
- | Date | Date |
33
- | DateTime | DateTime |
34
- | Decimal | Decimal |
35
- | Dropdown | Dropdown |
36
- | Email | Email |
37
- | Group | Group |
38
- | Integer | Integer |
39
- | Location | Location |
40
- | Multiselect | Multiselect |
29
+ | Component | Pega Name |
30
+ | --------------- | --------------- |
31
+ | AutoComplete | AutoComplete |
32
+ | CancelAlert | CancelAlert |
33
+ | Checkbox | Checkbox |
34
+ | Currency | Currency |
35
+ | Date | Date |
36
+ | DateTime | DateTime |
37
+ | Decimal | Decimal |
38
+ | Dropdown | Dropdown |
39
+ | Email | Email |
40
+ | Group | Group |
41
+ | Integer | Integer |
42
+ | Location | Location |
43
+ | Multiselect | Multiselect |
41
44
  | ObjectReference | ObjectReference |
42
- | Percentage | Percentage |
43
- | Phone | Phone |
44
- | RadioButtons | RadioButtons |
45
- | RichText | RichText |
46
- | ScalarList | ScalarList |
47
- | SelectableCard | SelectableCard |
48
- | SemanticLink | SemanticLink |
49
- | TextArea | TextArea |
50
- | TextContent | TextContent |
51
- | TextInput | TextInput |
52
- | Time | Time |
53
- | URL | URL |
54
- | UserReference | UserReference |
45
+ | Percentage | Percentage |
46
+ | Phone | Phone |
47
+ | RadioButtons | RadioButtons |
48
+ | RichText | RichText |
49
+ | ScalarList | ScalarList |
50
+ | SelectableCard | SelectableCard |
51
+ | SemanticLink | SemanticLink |
52
+ | TextArea | TextArea |
53
+ | TextContent | TextContent |
54
+ | TextInput | TextInput |
55
+ | Time | Time |
56
+ | URL | URL |
57
+ | UserReference | UserReference |
55
58
 
56
59
  ---
57
60
 
@@ -60,6 +63,7 @@ Once both are known, continue to Step 1.
60
63
  Read the full contents of `.github/skills/field-components.md`.
61
64
 
62
65
  This gives you:
66
+
63
67
  - The behavioral skeleton every field component must follow (state, effects, event handling, display modes)
64
68
  - The Design System Adaptation guide (prop mapping conventions, form layout wrappers)
65
69
  - The abstract template to use as a base for all components
@@ -70,16 +74,54 @@ Keep this context active throughout the entire generation session. Do not re-rea
70
74
 
71
75
  ## Step 2 — Install and discover the design system (once)
72
76
 
73
- Execute **Step 3** from `.github/prompts/add-component.prompt.md` exactly as written:
74
- - Check `package.json` for the DS package
75
- - Install if missing, including any peer dependencies
76
- - Report what was installed
77
+ ### 2a — Check and install the DS package
78
+
79
+ Run this command in your terminal:
80
+
81
+ ```bash
82
+ cat package.json | grep "<design-system-package>"
83
+ ```
84
+
85
+ If the design system package is **not** listed in `dependencies` or `devDependencies`, install it:
86
+
87
+ ```bash
88
+ npm install <design-system-package>
89
+ ```
90
+
91
+ Also install any peer dependencies documented in the package's README. Report what was installed.
92
+
93
+ ### 2b — Discover the DS API from installed files
94
+
95
+ Run these commands to discover the actual API (do NOT rely on training knowledge):
96
+
97
+ 1. Read the README for correct import paths and usage patterns:
77
98
 
78
- Then execute **Step 4** from `.github/prompts/add-component.prompt.md` exactly as written:
79
- - Read the DS README from `node_modules`
80
- - Discover all exported components from `dist/index.d.ts`
81
- - Read prop interfaces for the control types needed across the component list
82
- - Note form layout wrappers, size/variant conventions, icon packages, and design tokens
99
+ ```bash
100
+ cat node_modules/<designSystem>/README.md
101
+ ```
102
+
103
+ 2. List every exported component:
104
+
105
+ ```bash
106
+ grep "^export" node_modules/<designSystem>/dist/index.d.ts 2>/dev/null || grep -rl "^export" node_modules/<designSystem> --include="index.d.ts" | head -3 | xargs grep "^export"
107
+ ```
108
+
109
+ 3. For every input control you plan to use (Input, Select, Checkbox, DatePicker, Radio, etc.), read its prop interface:
110
+
111
+ ```bash
112
+ find node_modules/<designSystem> -name "ComponentName.d.ts" | head -3
113
+ grep -A 40 "interface.*Props" <path-from-above>
114
+ ```
115
+
116
+ 4. Check for a **form layout wrapper** (label + input + helper text) — e.g., `<Form.Item>` in Ant Design, `<FormControl>` in Chakra UI. Use it instead of manual margins.
117
+
118
+ 5. Check for **size/density/variant conventions** — use built-in props rather than custom padding.
119
+
120
+ 6. Check for a **companion icons package** — read its exports before using any icon name. Never guess icon names.
121
+
122
+ 7. Check for **CSS tokens** — use design system CSS custom properties for spacing; never hardcode `px` values.
123
+
124
+ Only use component names and prop names confirmed in these files.
83
125
 
84
126
  Build a **DS API reference map** from this discovery. You will reuse it for every component — do not repeat these commands per component.
85
127
 
@@ -90,7 +132,9 @@ Build a **DS API reference map** from this discovery. You will reuse it for ever
90
132
  For each component in the list, check whether `<outputPath>/<ComponentName>/<ComponentName>.tsx` already exists.
91
133
 
92
134
  If **any** exist, report them all at once and ask:
135
+
93
136
  > "The following N components already exist: [list]. How should I proceed?
137
+ >
94
138
  > - **Overwrite all** — replace all existing implementations
95
139
  > - **Skip existing** — only generate components that don't exist yet
96
140
  > - **Cancel** — stop without generating anything"
@@ -103,42 +147,77 @@ Wait for the user's answer before proceeding. If none exist, continue immediatel
103
147
 
104
148
  For each component in the resolved list (in the order listed in Step 0):
105
149
 
106
- ### 4a — Read the component-specific skill file
107
- Execute **Step 2** from `.github/prompts/add-component.prompt.md` for this component:
108
- - Read `.github/skills/field-skills/<ComponentName>.md` fully
109
- - Pay attention to:
110
- - **Behavioral Contract** — state management, option loading, edge cases specific to this component
111
- - **Design System Mapping** table — the recommended DS component for the chosen design system
112
- - **UI control type** — use this to select the closest DS primitive if the chosen DS is not in the mapping table
150
+ ### 4a — Read the component-specific skill file (MANDATORY — do not skip)
151
+
152
+ Read the file `.github/skills/field-skills/<ComponentName>.md` using your file reading tool. This step is **required** for every component that has a skill file — do not rely solely on the general `field-components.md`.
153
+
154
+ After reading, extract and keep active:
155
+
156
+ - **Behavioral Contract** — state management, option loading, edge cases specific to this component
157
+ - **Design System Mapping** table — the recommended DS component for the chosen design system
158
+ - **UI control type** — use this to select the closest DS primitive if the chosen DS is not in the mapping table
159
+
160
+ If no skill file exists at that path, use the general behavioral skeleton from `field-components.md` loaded in Step 1.
161
+
162
+ ⚠️ The general skill file (`field-components.md`) provides the behavioral skeleton. The component-specific skill file provides the **exact event handling, option-loading logic, and edge cases**. Both are needed — generating from only the general skill will produce generic inputs that miss component-specific behavior (e.g., AutoComplete's async search, Currency's formatting).
113
163
 
114
164
  ### 4b — Generate the component files
115
- Execute **Step 5** from `.github/prompts/add-component.prompt.md` for this component:
116
- - Create `<outputPath>/<ComponentName>/` directory
117
- - Create `<ComponentName>.tsx` using:
118
- - The abstract behavioral skeleton from `field-components.md` (read in Step 1)
119
- - The Behavioral Contract from the component skill file
120
- - The DS API confirmed in Step 2 (from the DS API reference map — no new terminal commands needed)
121
- - Display mode guards (`DISPLAY_ONLY`, `STACKED_LARGE_VAL`) via `getComponentFromRegistry('FieldValueList')`
122
- - `data-test-id={testId}` on the underlying interactive element
123
- - Create `index.tsx`:
124
- ```typescript
125
- export { default } from './<ComponentName>';
126
- ```
165
+
166
+ Create the directory `<outputPath>/<ComponentName>/`.
167
+
168
+ Create `<ComponentName>.tsx` using this structure from `field-components.md` (loaded in Step 1):
169
+
170
+ 1. Imports (React hooks + `handleEvent` from `../../helpers/event-utils` + `getComponentFromRegistry` from `@pega/sdk-react` + `PConnFieldProps` + DS input from Step 2)
171
+ 2. Interface extending `PConnFieldProps` with any extra props from the component skill file
172
+ 3. Destructure: `getPConnect`, `label`, `required`, `disabled`, `value`, `validatemessage`, `status`, `readOnly`, `testId`, `helperText`, `displayMode`, `hideLabel`, `placeholder`
173
+ 4. Display mode guards: if `DISPLAY_ONLY` or `STACKED_LARGE_VAL` → return `FieldValueList`
174
+ 5. Return → DS form input from Step 2, with `onBlur` calling `handleEvent(actions, 'changeNblur', propName, inputValue)`
175
+
176
+ Pass `data-test-id={testId}` on the underlying interactive element.
177
+
178
+ Create `index.tsx`:
179
+
180
+ ```typescript
181
+ export { default } from './<ComponentName>';
182
+ ```
127
183
 
128
184
  ### 4c — Register the component
129
- Execute **Step 6** from `.github/prompts/add-component.prompt.md` for this component:
130
- - Add the import to `src/components/component-map.ts` in the Fields section
131
- - Add the entry to `getSampleComponentMap()` under the fields comment
132
- - Do not reorder or restructure any existing entries
133
185
 
134
- ### 4d — Report progress
186
+ Edit `src/components/component-map.ts`:
187
+
188
+ 1. Add an import at the top of the file in the **Fields** section:
189
+ ```typescript
190
+ import <ComponentName> from './field/<ComponentName>';
191
+ ```
192
+ 2. Add an entry in the return object of `getSampleComponentMap()` under the fields comment:
193
+ ```typescript
194
+ <ComponentName>,
195
+ ```
196
+
197
+ Do not reorder or restructure any existing entries.
198
+
199
+ ### 4d — Batch checkpoint
200
+
201
+ After every **5 components**, run:
202
+
203
+ ```bash
204
+ npm run build
205
+ ```
206
+
207
+ Fix any TypeScript or build errors before continuing to the next component. This prevents error accumulation.
208
+
209
+ ### 4e — Report progress
210
+
135
211
  After each component: "`<ComponentName>` ✓ — using `<DS component name>`"
136
212
 
137
213
  ---
138
214
 
139
215
  ## Step 5 — Verify the build
140
216
 
141
- Execute **Step 7** from `.github/prompts/add-component.prompt.md` exactly as written:
142
- - Run `npm run build`
143
- - Fix any TypeScript or build errors before reporting completion
144
- - Report a summary: list of all files created and all entries added to `component-map.ts`
217
+ Run:
218
+
219
+ ```bash
220
+ npm run build
221
+ ```
222
+
223
+ If build errors occur, fix them before reporting completion. Report a summary: list of all files created and all entries added to `component-map.ts`.