@pega/sdk 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +6 -6
  3. package/SECURITY.md +2 -1
  4. package/dist/index.js +14 -57
  5. package/package.json +7 -6
  6. package/templates/angular-sdk-reference/package.json +15 -15
  7. package/templates/angular-sdk-reference/tsconfig.json +2 -2
  8. package/templates/react-native-sdk-reference/App.tsx +2 -4
  9. package/templates/react-native-sdk-reference/package.json +6 -6
  10. package/templates/react-native-sdk-reference/tsconfig.json +2 -1
  11. package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
  12. package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
  13. package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
  14. package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
  15. package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
  16. package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
  17. package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
  18. package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
  19. package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
  20. package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
  21. package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
  22. package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
  23. package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
  24. package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
  25. package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
  26. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
  27. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
  28. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
  29. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
  30. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
  31. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
  32. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
  33. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
  34. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
  35. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
  36. package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
  37. package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
  38. package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
  39. package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
  40. package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
  41. package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
  42. package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
  43. package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
  44. package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
  45. package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
  46. package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
  47. package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
  48. package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
  49. package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
  50. package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
  51. package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
  52. package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
  53. package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
  54. package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
  55. package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
  56. package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
  57. package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
  58. package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
  59. package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
  60. package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
  61. package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
  62. package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
  63. package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
  64. package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
  65. package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
  66. package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
  67. package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
  68. package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
  69. package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
  70. package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
  71. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
  72. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
  73. package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
  74. package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
  75. package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
  76. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
  77. package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
  78. package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
  79. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
  80. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
  81. package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
  82. package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
  83. package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
  84. package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
  85. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
  86. package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
  87. package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
  88. package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
  89. package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
  90. package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
  91. package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
  92. package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
  93. package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
  94. package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
  95. package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
  96. package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
  97. package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
  98. package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
  99. package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
  100. package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
  101. package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
  102. package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
  103. package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
  104. package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
  105. package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
  106. package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
  107. package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
  108. package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
  109. package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
  110. package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
  111. package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
  112. package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
  113. package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
  114. package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
  115. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
  116. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
  117. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
  118. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
  119. package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
  120. package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
  121. package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
  122. package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
  123. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
  124. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
  125. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
  126. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
  127. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
  128. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
  129. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
  130. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
  131. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
  132. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
  133. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
  134. package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
  135. package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
  136. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
  137. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
  138. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
  139. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
  140. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
  141. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
  142. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
  143. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
  144. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
  145. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
  146. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
  147. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
  148. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
  149. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
  150. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
  151. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
  152. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
  153. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
  154. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
  155. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
  156. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
  157. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
  158. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
  159. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
  160. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
  161. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
  162. package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
  163. package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
  164. package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
  165. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
  166. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
  167. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
  168. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
  169. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
  170. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
  171. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
  172. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
  173. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
  174. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
  175. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
  176. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
  177. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
  178. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
  179. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
  180. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
  181. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
  182. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
  183. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
  184. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
  185. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
  186. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
  187. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
  188. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
  189. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
  190. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
  191. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
  192. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
  193. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
  194. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
  195. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
  196. package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
  197. package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
  198. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
  199. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
  200. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
  201. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
  202. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
  203. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
  204. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
  205. package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
  206. package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
  207. package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
  208. package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
  209. package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
  210. package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
  211. package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
  212. package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
  213. package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
  214. package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
  215. package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +187 -16
  216. package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
  217. package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
  218. package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
  219. package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
  220. package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
  221. package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
  222. package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
  223. package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
  224. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
  225. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
  226. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
  227. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
  228. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
  229. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
  230. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
  231. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
  232. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
  233. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
  234. package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
  235. package/templates/react-sdk-reference/.github/skills/design-system-extension.md +60 -18
  236. package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
  237. package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
  238. package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
  239. package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
  240. package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
  241. package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
  242. package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
  243. package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
  244. package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
  245. package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
  246. package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
  247. package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
  248. package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
  249. package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
  250. package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
  251. package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
  252. package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
  253. package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
  254. package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
  255. package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
  256. package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
  257. package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
  258. package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
  259. package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
  260. package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
  261. package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
  262. package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
  263. package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
  264. package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
  265. package/templates/react-sdk-reference/.github/skills/template-components.md +50 -14
  266. package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
  267. package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
  268. package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
  269. package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
  270. package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
  271. package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
  272. package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
  273. package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
  274. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
  275. package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
  276. package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
  277. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
  278. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
  279. package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
  280. package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
  281. package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
  282. package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
  283. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
  284. package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
  285. package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
  286. package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
  287. package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
  288. package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
  289. package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
  290. package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
  291. package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
  292. package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
  293. package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
  294. package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
  295. package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
  296. package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
  297. package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
  298. package/templates/react-sdk-reference/.github/skills/widget-components.md +52 -26
  299. package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
  300. package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
  301. package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
  302. package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
  303. package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
  304. package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
  305. package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
  306. package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
  307. package/templates/react-sdk-reference/AGENTS.md +216 -29
  308. package/templates/react-sdk-reference/index.html +1 -4
  309. package/templates/react-sdk-reference/package.json +16 -16
  310. package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
  311. package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
  312. package/templates/react-sdk-reference/sdk-config.json +1 -1
  313. package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
  314. package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
  315. package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
  316. package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
  317. package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
  318. package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
  319. package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
  320. package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
  321. package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
  322. package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
  323. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
  324. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
  325. package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
  326. package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
  327. package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
  328. package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
  329. package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
  330. package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
  331. package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
  332. package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
  333. package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
  334. package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
  335. package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
  336. package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
  337. package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
  338. package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
  339. package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
  340. package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
  341. package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
  342. package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
  343. package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
  344. package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
  345. package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
  346. package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
  347. package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
  348. package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
  349. package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
  350. package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
  351. package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
  352. package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
  353. package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
  354. package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
  355. package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
  356. package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
  357. package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
  358. package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
  359. package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
  360. package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
  361. package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
  362. package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
  363. package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
  364. package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
  365. package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
  366. package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
  367. package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
  368. package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
  369. package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
  370. package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
  371. package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
  372. package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
  373. package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
  374. package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
  375. package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
  376. package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
  377. package/templates/react-sdk-reference/src/components/index.ts +1 -4
  378. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
  379. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
  380. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
  381. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
  382. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
  383. package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
  384. package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
  385. package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
  386. package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
  387. package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
  388. package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
  389. package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
  390. package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
  391. package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
  392. package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
  393. package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
  394. package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
  395. package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
  396. package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
  397. package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
  398. package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
  399. package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
  400. package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
  401. package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
  402. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
  403. package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
  404. package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
  405. package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
  406. package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
  407. package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
  408. package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
  409. package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
  410. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
  411. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
  412. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
  413. package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
  414. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
  415. package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
  416. package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
  417. package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
  418. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
  419. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
  420. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
  421. package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
  422. package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
  423. package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
  424. package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
  425. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
  426. package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
  427. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
  428. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
  429. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
  430. package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
  431. package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
  432. package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
  433. package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
  434. package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
  435. package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
  436. package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
  437. package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
  438. package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
  439. package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
  440. package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
  441. package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
  442. package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
  443. package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
  444. package/templates/react-sdk-reference/src/main.tsx +1 -1
  445. package/templates/react-sdk-reference/tsconfig.json +2 -1
  446. package/templates/react-sdk-reference/vite.config.ts +52 -27
  447. package/templates/wc-sdk-reference/package.json +3 -3
  448. package/templates/wc-sdk-reference/src/index.ts +10 -10
  449. package/templates/wc-sdk-reference/tsconfig.json +1 -0
  450. package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
  451. package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
  452. package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
  453. package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
  454. package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
  455. package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
@@ -18,17 +18,17 @@ Renders a group of radio buttons for single-selection from a list of options. Su
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Description |
22
- |------|------|-------------|
23
- | `inline` | `boolean` | If `true`, render radio buttons in a horizontal row; if `false`, vertical stack |
24
- | `fieldMetadata` | `any` (optional) | For localization context (tableType, datasource name, display text property) |
25
- | `variant` | `string` (optional) | `'card'` — renders options as selectable cards instead of radio buttons |
26
- | `hideFieldLabels` | `boolean` (optional) | Hide field labels inside card variant |
27
- | `additionalProps` | `any` (optional) | Extra props passed to `SelectableCard` in card variant |
28
- | `imagePosition` | `string` (optional) | Card image position: `'inline-start'`, `'inline-end'`, or block |
29
- | `imageSize` | `string` (optional) | Card image size |
30
- | `showImageDescription` | `boolean` (optional) | Whether to show image description in cards |
31
- | `datasource` | `any` (optional) | Datasource for card variant |
21
+ | Prop | Type | Description |
22
+ | ---------------------- | -------------------- | ------------------------------------------------------------------------------- |
23
+ | `inline` | `boolean` | If `true`, render radio buttons in a horizontal row; if `false`, vertical stack |
24
+ | `fieldMetadata` | `any` (optional) | For localization context (tableType, datasource name, display text property) |
25
+ | `variant` | `string` (optional) | `'card'` — renders options as selectable cards instead of radio buttons |
26
+ | `hideFieldLabels` | `boolean` (optional) | Hide field labels inside card variant |
27
+ | `additionalProps` | `any` (optional) | Extra props passed to `SelectableCard` in card variant |
28
+ | `imagePosition` | `string` (optional) | Card image position: `'inline-start'`, `'inline-end'`, or block |
29
+ | `imageSize` | `string` (optional) | Card image size |
30
+ | `showImageDescription` | `boolean` (optional) | Whether to show image description in cards |
31
+ | `datasource` | `any` (optional) | Datasource for card variant |
32
32
 
33
33
  ## Behavioral Contract
34
34
 
@@ -49,6 +49,7 @@ Renders a group of radio buttons for single-selection from a list of options. Su
49
49
  ### Variant: Standard (default)
50
50
 
51
51
  Render a radio group with `FormControl > FormLabel > RadioGroup > FormControlLabel (Radio)` pattern:
52
+
52
53
  - `FormLabel`: the `label` prop
53
54
  - `RadioGroup`: `value={theSelectedButton}`, `onChange={handleChange}`, `onBlur`, `row={inline}`
54
55
  - Each `FormControlLabel`: `value={option.key}`, `label={localizedLabel}`, `control={<Radio color='primary' disabled={readOnly} />}`
@@ -58,6 +59,7 @@ Render a radio group with `FormControl > FormLabel > RadioGroup > FormControlLab
58
59
  ### Variant: Card (`variant === 'card'`)
59
60
 
60
61
  Render a heading (`<h4>`) with the `label`, then delegate to `SelectableCard` component:
62
+
61
63
  ```
62
64
  <div>
63
65
  <h4 style={{ marginTop: 0, marginBottom: 0 }}>{label}</h4>
@@ -78,12 +80,14 @@ Render a heading (`<h4>`) with the `label`, then delegate to `SelectableCard` co
78
80
  </div>
79
81
  </div>
80
82
  ```
83
+
81
84
  - `imageField`: `stateProps.image?.split('.').pop()`
82
85
  - `imageDescription`: `stateProps.imageDescription?.split('.').pop()`
83
86
 
84
87
  ## Display Mode Rendering
85
88
 
86
89
  Both modes render the localized display label of the selected option:
90
+
87
91
  - **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={localizedValue} />`
88
92
  - **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={localizedValue} variant='stacked' />`
89
93
 
@@ -93,31 +97,48 @@ Where `localizedValue = pConn.getLocalizedValue(value, localePath, localeRuleNam
93
97
 
94
98
  ### Standard Variant
95
99
 
96
- | Property | Value |
97
- |----------|-------|
98
- | Layout | Vertical stack (or horizontal row when `inline=true`) |
99
- | Radio indicator | Circle button with filled inner circle when selected |
100
- | Label | Label text to the right of the radio button (`labelPlacement='end'`) |
101
- | Group label | `<legend>` / `<FormLabel>` above the group |
102
- | Error state | Group border or text in red |
103
- | Helper text | Below the group |
104
- | Disabled (readOnly) | Greyed-out radio buttons, not-allowed cursor |
100
+ | Property | Value |
101
+ | ------------------- | -------------------------------------------------------------------- |
102
+ | Layout | Vertical stack (or horizontal row when `inline=true`) |
103
+ | Radio indicator | Circle button with filled inner circle when selected |
104
+ | Label | Label text to the right of the radio button (`labelPlacement='end'`) |
105
+ | Group label | `<legend>` / `<FormLabel>` above the group |
106
+ | Error state | Group border or text in red |
107
+ | Helper text | Below the group |
108
+ | Disabled (readOnly) | Greyed-out radio buttons, not-allowed cursor |
105
109
 
106
110
  **CSS-only notes:**
111
+
107
112
  ```css
108
- .radio-group { display: flex; flex-direction: column; gap: 4px; }
109
- .radio-group.inline { flex-direction: row; flex-wrap: wrap; gap: 8px; }
110
- .radio-label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
111
- input[type="radio"]:disabled { opacity: 0.38; cursor: default; }
113
+ .radio-group {
114
+ display: flex;
115
+ flex-direction: column;
116
+ gap: 4px;
117
+ }
118
+ .radio-group.inline {
119
+ flex-direction: row;
120
+ flex-wrap: wrap;
121
+ gap: 8px;
122
+ }
123
+ .radio-label {
124
+ display: flex;
125
+ align-items: center;
126
+ gap: 8px;
127
+ cursor: pointer;
128
+ }
129
+ input[type='radio']:disabled {
130
+ opacity: 0.38;
131
+ cursor: default;
132
+ }
112
133
  ```
113
134
 
114
135
  ### Card Variant
115
136
 
116
- | Property | Value |
117
- |----------|-------|
118
- | Layout | CSS Grid: `repeat(auto-fit, minmax(min(200px, 100%), 1fr))`, gap `1rem` |
119
- | Card | Elevated card with click handler that activates the radio |
120
- | Heading | `<h4>` with `marginTop: 0, marginBottom: 0` above grid |
137
+ | Property | Value |
138
+ | -------- | ----------------------------------------------------------------------- |
139
+ | Layout | CSS Grid: `repeat(auto-fit, minmax(min(200px, 100%), 1fr))`, gap `1rem` |
140
+ | Card | Elevated card with click handler that activates the radio |
141
+ | Heading | `<h4>` with `marginTop: 0, marginBottom: 0` above grid |
121
142
 
122
143
  ## Edge Cases & Special Logic
123
144
 
@@ -138,9 +159,9 @@ input[type="radio"]:disabled { opacity: 0.38; cursor: default; }
138
159
 
139
160
  Listed design systems are examples only.
140
161
 
141
- | Design System | Recommended Component |
142
- |---|---|
143
- | Default (CSS only) | `<input type="radio">` with `<label>` per option |
144
- | MUI | `<RadioGroup>` with `<FormControlLabel control={<Radio />}>` |
145
- | Ant Design | `<Radio.Group>` with `<Radio>` options |
146
- | Chakra UI | `<RadioGroup>` with `<Radio>` items |
162
+ | Design System | Recommended Component |
163
+ | ------------------ | ------------------------------------------------------------ |
164
+ | Default (CSS only) | `<input type="radio">` with `<label>` per option |
165
+ | MUI | `<RadioGroup>` with `<FormControlLabel control={<Radio />}>` |
166
+ | Ant Design | `<Radio.Group>` with `<Radio>` options |
167
+ | Chakra UI | `<RadioGroup>` with `<Radio>` items |
@@ -18,8 +18,8 @@ Renders a rich text (WYSIWYG) editor for HTML content. Uses a registry-resolved
18
18
 
19
19
  ## Props (component-specific)
20
20
 
21
- | Prop | Type | Description |
22
- |------|------|-------------|
21
+ | Prop | Type | Description |
22
+ | ----------------- | ------------------- | --------------------------------------------- |
23
23
  | `additionalProps` | `object` (optional) | Extra props forwarded to the `RichTextEditor` |
24
24
 
25
25
  ## Behavioral Contract
@@ -29,8 +29,8 @@ Renders a rich text (WYSIWYG) editor for HTML content. Uses a registry-resolved
29
29
  3. **Props coercion:** `readOnly`, `required`, `disabled` must be coerced to booleans:
30
30
  ```typescript
31
31
  [readOnly, required, disabled] = [readOnly, required, disabled].map(
32
- prop => prop === true || (typeof prop === 'string' && prop === 'true')
33
- )
32
+ (prop) => prop === true || (typeof prop === 'string' && prop === 'true'),
33
+ );
34
34
  ```
35
35
  4. **Editable mode:**
36
36
  - Track `status` for error state.
@@ -47,6 +47,7 @@ Renders a rich text (WYSIWYG) editor for HTML content. Uses a registry-resolved
47
47
  6. **`RichTextEditor` component:** Resolved via `getComponentFromRegistry('RichTextEditor')`. This is a design-system extension component that wraps the actual WYSIWYG library (e.g., TinyMCE).
48
48
 
49
49
  ### Editable RichTextEditor props
50
+
50
51
  ```
51
52
  label, labelHidden={hideLabel}, info={helperTextToDisplay}, defaultValue={value},
52
53
  placeholder, disabled, required, testId, ref={editorRef},
@@ -54,6 +55,7 @@ error={status === 'error'}, onBlur={handleBlur}, onChange={handleChange}
54
55
  ```
55
56
 
56
57
  ### Read-only RichTextEditor props
58
+
57
59
  ```
58
60
  label, labelHidden={hideLabel}, defaultValue={value}, testId, info={helperTextToDisplay},
59
61
  ref={editorRef}, readOnly
@@ -62,6 +64,7 @@ ref={editorRef}, readOnly
62
64
  ## Display Mode Rendering
63
65
 
64
66
  Display modes pass `isHtml={true}` to render HTML content safely:
67
+
65
68
  - **`DISPLAY_ONLY`:** `<FieldValueList name={hideLabel ? '' : label} value={value} isHtml />`
66
69
  - **`STACKED_LARGE_VAL`:** `<FieldValueList name={hideLabel ? '' : label} value={value} isHtml variant='stacked' />`
67
70
 
@@ -75,9 +78,15 @@ The visual appearance of the rich text editor depends on the underlying `RichTex
75
78
 
76
79
  ```css
77
80
  /* RichText.css — must be imported */
78
- .tox .tox-toolbar { background-color: var(--app-background-color) !important; }
79
- .tox .tox-toolbar__primary { background-color: var(--app-background-color) !important; }
80
- .tox .tox-toolbar__button { color: var(--app-text-color) !important; }
81
+ .tox .tox-toolbar {
82
+ background-color: var(--app-background-color) !important;
83
+ }
84
+ .tox .tox-toolbar__primary {
85
+ background-color: var(--app-background-color) !important;
86
+ }
87
+ .tox .tox-toolbar__button {
88
+ color: var(--app-text-color) !important;
89
+ }
81
90
  .tox .tox-toolbar__button--enabled {
82
91
  background: var(--app-primary-color) !important;
83
92
  color: #fff !important;
@@ -100,6 +109,7 @@ The visual appearance of the rich text editor depends on the underlying `RichTex
100
109
  **Note:** Import `./RichText.css` in the component file. The CSS variables (`--app-background-color`, `--app-text-color`, etc.) are set by the application theme.
101
110
 
102
111
  When implementing with a different design system:
112
+
103
113
  - Custom CSS for toolbar theming may be needed
104
114
  - The editor container should be full-width
105
115
  - Minimum height: ~200px for a usable editing area
@@ -121,6 +131,7 @@ When implementing with a different design system:
121
131
  - `useRef` from React.
122
132
 
123
133
  **For other rich text editors:**
134
+
124
135
  - Any WYSIWYG editor that exposes `ref.current.getContent()` or equivalent.
125
136
  - Examples: Quill, Draft.js, Slate.js, CKEditor.
126
137
 
@@ -130,9 +141,9 @@ When implementing with a different design system:
130
141
 
131
142
  Listed design systems are examples only.
132
143
 
133
- | Design System | Recommended Component |
134
- |---|---|
144
+ | Design System | Recommended Component |
145
+ | ------------------ | ------------------------------------------------- |
135
146
  | Default (CSS only) | `contenteditable` div + custom toolbar OR TinyMCE |
136
- | MUI | `RichTextEditor` custom extension (TinyMCE) |
137
- | Ant Design | Quill or TinyMCE with Ant styling |
138
- | Chakra UI | Quill or TipTap with Chakra styling |
147
+ | MUI | `RichTextEditor` custom extension (TinyMCE) |
148
+ | Ant Design | Quill or TinyMCE with Ant styling |
149
+ | Chakra UI | Quill or TipTap with Chakra styling |
@@ -24,14 +24,14 @@ Renders a list of scalar (primitive) values by dynamically creating a child comp
24
24
  import type { PConnProps } from '@pega/sdk-react';
25
25
  ```
26
26
 
27
- | Prop | Type | Description |
28
- |------|------|-------------|
29
- | `value` | `any[]` | Array of scalar values to display |
30
- | `componentType` | `string` | The Pega component type to use for each item (e.g., `'TextInput'`, `'Date'`) |
31
- | `label` | `string` | Field label |
32
- | `displayMode` | `string` | Display mode |
33
- | `hideLabel` | `boolean` | Whether to hide the label |
34
- | `displayInModal` | `boolean` | Whether this is displayed in a modal context |
27
+ | Prop | Type | Description |
28
+ | ---------------- | --------- | ---------------------------------------------------------------------------- |
29
+ | `value` | `any[]` | Array of scalar values to display |
30
+ | `componentType` | `string` | The Pega component type to use for each item (e.g., `'TextInput'`, `'Date'`) |
31
+ | `label` | `string` | Field label |
32
+ | `displayMode` | `string` | Display mode |
33
+ | `hideLabel` | `boolean` | Whether to hide the label |
34
+ | `displayInModal` | `boolean` | Whether this is displayed in a modal context |
35
35
 
36
36
  All remaining props (`...restProps`) are forwarded to each child component.
37
37
 
@@ -40,7 +40,7 @@ All remaining props (`...restProps`) are forwarded to each child component.
40
40
  1. **No state, no event handling** — purely display/read-only.
41
41
  2. **Item rendering:** Map each value in `scalarValues` to a component via `getPConnect().createComponent(...)`:
42
42
  ```typescript
43
- const items = scalarValues?.map(scalarValue =>
43
+ const items = scalarValues?.map((scalarValue) =>
44
44
  getPConnect().createComponent(
45
45
  {
46
46
  type: componentType,
@@ -49,14 +49,14 @@ All remaining props (`...restProps`) are forwarded to each child component.
49
49
  displayMode: 'DISPLAY_ONLY',
50
50
  label,
51
51
  ...restProps,
52
- readOnly: 'true'
53
- }
52
+ readOnly: 'true',
53
+ },
54
54
  },
55
- '', // 2nd arg: empty string
56
- '', // 3rd arg: empty string
57
- {} // 4th arg: empty object
58
- )
59
- )
55
+ '', // 2nd arg: empty string
56
+ '', // 3rd arg: empty string
57
+ {}, // 4th arg: empty object
58
+ ),
59
+ );
60
60
  ```
61
61
  3. **`CommaSeparatedList` sub-component:** A local component that renders items as `<span>` elements inside a `<ul>` with no list styling:
62
62
  ```html
@@ -70,31 +70,41 @@ All remaining props (`...restProps`) are forwarded to each child component.
70
70
  ## Display Mode Rendering
71
71
 
72
72
  **`STACKED_LARGE_VAL` or `DISPLAY_ONLY`:**
73
+
73
74
  ```html
74
75
  <div>
75
- <CommaSeparatedList items={items} />
76
+ <CommaSeparatedList items="{items}" />
76
77
  </div>
77
78
  ```
79
+
78
80
  No `FieldValueList` wrapper in these modes — the items are rendered directly.
79
81
 
80
82
  **Default (no display mode):**
83
+
81
84
  ```
82
85
  <FieldValueList name={hideLabel ? '' : label} value={<CommaSeparatedList items={items} />} variant='stacked' />
83
86
  ```
84
87
 
85
88
  ## Visual Specifications
86
89
 
87
- | Property | Value |
88
- |----------|-------|
89
- | List style | No bullets, no padding, no margin on `<ul>` |
90
- | Item display | Each item rendered as `<span>` (inline) |
91
- | Separator | Items are adjacent spans (no comma separator despite the name) |
92
- | Layout | Vertical stack when wrapped in `FieldValueList variant='stacked'` |
90
+ | Property | Value |
91
+ | ------------ | ----------------------------------------------------------------- |
92
+ | List style | No bullets, no padding, no margin on `<ul>` |
93
+ | Item display | Each item rendered as `<span>` (inline) |
94
+ | Separator | Items are adjacent spans (no comma separator despite the name) |
95
+ | Layout | Vertical stack when wrapped in `FieldValueList variant='stacked'` |
93
96
 
94
97
  **CSS-only notes:**
98
+
95
99
  ```css
96
- .scalar-list { list-style: none; padding: 0; margin: 0; }
97
- .scalar-list-item { display: inline; }
100
+ .scalar-list {
101
+ list-style: none;
102
+ padding: 0;
103
+ margin: 0;
104
+ }
105
+ .scalar-list-item {
106
+ display: inline;
107
+ }
98
108
  ```
99
109
 
100
110
  ## Edge Cases & Special Logic
@@ -116,9 +126,9 @@ No `FieldValueList` wrapper in these modes — the items are rendered directly.
116
126
 
117
127
  Listed design systems are examples only.
118
128
 
119
- | Design System | Recommended Component |
120
- |---|---|
121
- | Default (CSS only) | `<ul>` with `<span>` items |
122
- | MUI | `<List>` with `<ListItem>` or just `<Typography>` per item |
123
- | Ant Design | `<List>` items or `<Space>` with `<Tag>` |
124
- | Chakra UI | `<List>` or `<HStack>` with `<Tag>` |
129
+ | Design System | Recommended Component |
130
+ | ------------------ | ---------------------------------------------------------- |
131
+ | Default (CSS only) | `<ul>` with `<span>` items |
132
+ | MUI | `<List>` with `<ListItem>` or just `<Typography>` per item |
133
+ | Ant Design | `<List>` items or `<Space>` with `<Tag>` |
134
+ | Chakra UI | `<List>` or `<HStack>` with `<Tag>` |
@@ -20,29 +20,29 @@ Renders a grid of selectable cards. Each card contains a radio button or checkbo
20
20
 
21
21
  ## Props
22
22
 
23
- | Prop | Type | Default | Description |
24
- |------|------|---------|-------------|
25
- | `getPConnect` | `function` | — | PConnect accessor |
26
- | `type` | `'radio' \| 'checkbox'` | — | Selection type |
27
- | `image` | `object` | — | `{ imagePosition, imageSize, showImageDescription, imageField, imageDescription }` |
28
- | `dataSource` | `any` | — | Source of card data (in editable mode) |
29
- | `recordKey` | `string` | `''` | The key field name in each record (e.g., `'pyID'`) |
30
- | `className` | `string` | — | CSS class for the card |
31
- | `cardLabel` | `string` | — | The field name to use as card title |
32
- | `hideFieldLabels` | `boolean` | `false` | Hide field labels inside cards |
33
- | `readOnly` | `boolean` | — | Read-only mode |
34
- | `disabled` | `boolean` | — | Disabled state |
35
- | `readOnlyList` | `any[]` | `[]` | Selected items for read-only display |
36
- | `displayMode` | `string` | — | Display mode string |
37
- | `radioBtnValue` | `any` | — | Currently selected value (radio mode) |
38
- | `onChange` | `function` | — | Change handler |
39
- | `onBlur` | `function` | — | Blur handler |
40
- | `onClick` | `function` | — | Click handler |
41
- | `onKeyDown` | `function` | — | KeyDown handler |
42
- | `additionalProps` | `any` | — | Spread onto the radio/checkbox input |
43
- | `testId` | `string` | — | Test identifier |
44
- | `setIsRadioCardSelected` | `function` | — | Callback to inform parent whether radio selection matched |
45
- | `showNoValue` | `boolean` | `false` | When true (read-only + no selected items), render "No Value" text |
23
+ | Prop | Type | Default | Description |
24
+ | ------------------------ | ----------------------- | ------- | ---------------------------------------------------------------------------------- |
25
+ | `getPConnect` | `function` | — | PConnect accessor |
26
+ | `type` | `'radio' \| 'checkbox'` | — | Selection type |
27
+ | `image` | `object` | — | `{ imagePosition, imageSize, showImageDescription, imageField, imageDescription }` |
28
+ | `dataSource` | `any` | — | Source of card data (in editable mode) |
29
+ | `recordKey` | `string` | `''` | The key field name in each record (e.g., `'pyID'`) |
30
+ | `className` | `string` | — | CSS class for the card |
31
+ | `cardLabel` | `string` | — | The field name to use as card title |
32
+ | `hideFieldLabels` | `boolean` | `false` | Hide field labels inside cards |
33
+ | `readOnly` | `boolean` | — | Read-only mode |
34
+ | `disabled` | `boolean` | — | Disabled state |
35
+ | `readOnlyList` | `any[]` | `[]` | Selected items for read-only display |
36
+ | `displayMode` | `string` | — | Display mode string |
37
+ | `radioBtnValue` | `any` | — | Currently selected value (radio mode) |
38
+ | `onChange` | `function` | — | Change handler |
39
+ | `onBlur` | `function` | — | Blur handler |
40
+ | `onClick` | `function` | — | Click handler |
41
+ | `onKeyDown` | `function` | — | KeyDown handler |
42
+ | `additionalProps` | `any` | — | Spread onto the radio/checkbox input |
43
+ | `testId` | `string` | — | Test identifier |
44
+ | `setIsRadioCardSelected` | `function` | — | Callback to inform parent whether radio selection matched |
45
+ | `showNoValue` | `boolean` | `false` | When true (read-only + no selected items), render "No Value" text |
46
46
 
47
47
  ## Behavioral Contract
48
48
 
@@ -61,18 +61,20 @@ If `showNoValue`: render a plain text element showing `'No Value'` and return ea
61
61
  ### Card click handler
62
62
 
63
63
  Cards should be clickable anywhere (not just on the checkbox/radio):
64
+
64
65
  ```typescript
65
66
  const handleCardClick = (event) => {
66
- if (disabled || readOnly) return
67
- if (event.target.closest('label, input')) return // native click already handled
68
- const input = event.currentTarget.querySelector('input[type="radio"], input[type="checkbox"]')
69
- if (input) input.click()
70
- }
67
+ if (disabled || readOnly) return;
68
+ if (event.target.closest('label, input')) return; // native click already handled
69
+ const input = event.currentTarget.querySelector('input[type="radio"], input[type="checkbox"]');
70
+ if (input) input.click();
71
+ };
71
72
  ```
72
73
 
73
74
  ### Subsection: Display mode (`displayMode === 'DISPLAY_ONLY'`)
74
75
 
75
76
  Render a **simple read-only card** (no radio/checkbox) with:
77
+
76
78
  - Optional image (`<img>`)
77
79
  - Card title: `item[cardLabel]`
78
80
  - Additional resolved fields (from `resolveReferenceFields`)
@@ -80,7 +82,7 @@ Render a **simple read-only card** (no radio/checkbox) with:
80
82
 
81
83
  ```html
82
84
  <Card style="display: flex">
83
- {image && <img src="..." alt="..." style="width: 100px">}
85
+ {image && <img src="..." alt="..." style="width: 100px" />}
84
86
  <CardContent>
85
87
  <body1>{item[cardLabel]}</body1>
86
88
  {fields.map(field => <body2>{field.value}</body2>)}
@@ -112,11 +114,11 @@ Render a **selectable card** with click handler, containing the appropriate inpu
112
114
 
113
115
  ### Image layout (inline positions)
114
116
 
115
- | `imagePosition` | CardContent style | Image section width | Content section width |
116
- |-----------------|-------------------|--------------------|----------------------|
117
- | `'inline-start'` | `display: flex` | 40% | 60% |
118
- | `'inline-end'` | `display: flex, flexDirection: row-reverse` | 40% | 60% |
119
- | block (default) | default | full width | full width |
117
+ | `imagePosition` | CardContent style | Image section width | Content section width |
118
+ | ---------------- | ------------------------------------------- | ------------------- | --------------------- |
119
+ | `'inline-start'` | `display: flex` | 40% | 60% |
120
+ | `'inline-end'` | `display: flex, flexDirection: row-reverse` | 40% | 60% |
121
+ | block (default) | default | full width | full width |
120
122
 
121
123
  ### Image element
122
124
 
@@ -135,10 +137,11 @@ img {
135
137
  ### Field display layout
136
138
 
137
139
  Each additional field in editable mode:
140
+
138
141
  ```css
139
142
  .card-field {
140
143
  font-size: 0.875rem;
141
- display: grid; /* only if type !== 'TextArea' */
144
+ display: grid; /* only if type !== 'TextArea' */
142
145
  grid-template-columns: 1fr 1fr;
143
146
  margin: 5px;
144
147
  }
@@ -147,6 +150,7 @@ Each additional field in editable mode:
147
150
  ### Radio tracking
148
151
 
149
152
  After iterating cards, if `type === 'radio'` and `setIsRadioCardSelected`:
153
+
150
154
  ```
151
155
  if (radioBtnValue === item[recordKey]) radioItemSelected = true
152
156
  // After loop:
@@ -159,20 +163,21 @@ setIsRadioCardSelected(radioItemSelected)
159
163
 
160
164
  ## Visual Specifications
161
165
 
162
- | Property | Editable card | Display-only card |
163
- |----------|--------------|-------------------|
164
- | Cursor | `pointer` (unless disabled/readOnly → `default`) | Default |
165
- | Height | `100%` (fills grid row) | Auto |
166
- | Layout | Column flex | Row flex |
167
- | Padding top | 15px wrapper | — |
168
- | Image (display-only) | 100px fixed width | 100px fixed width |
169
- | Card border | Default (design-system card elevation) | Default |
170
- | Disabled | `cursor: default` | — |
166
+ | Property | Editable card | Display-only card |
167
+ | -------------------- | ------------------------------------------------ | ----------------- |
168
+ | Cursor | `pointer` (unless disabled/readOnly → `default`) | Default |
169
+ | Height | `100%` (fills grid row) | Auto |
170
+ | Layout | Column flex | Row flex |
171
+ | Padding top | 15px wrapper | — |
172
+ | Image (display-only) | 100px fixed width | 100px fixed width |
173
+ | Card border | Default (design-system card elevation) | Default |
174
+ | Disabled | `cursor: default` | — |
171
175
 
172
176
  **CSS-only card implementation:**
177
+
173
178
  ```css
174
179
  .selectable-card {
175
- border: 1px solid rgba(0,0,0,0.12);
180
+ border: 1px solid rgba(0, 0, 0, 0.12);
176
181
  border-radius: 4px;
177
182
  padding: 16px;
178
183
  cursor: pointer;
@@ -182,10 +187,20 @@ setIsRadioCardSelected(radioItemSelected)
182
187
  margin-top: 15px;
183
188
  transition: border-color 0.2s;
184
189
  }
185
- .selectable-card:hover { border-color: #1976d2; }
186
- .selectable-card.disabled { cursor: default; opacity: 0.7; }
187
- .selectable-card.readonly { cursor: default; }
188
- .selectable-card-label { font-size: 1rem; font-weight: 400; }
190
+ .selectable-card:hover {
191
+ border-color: #1976d2;
192
+ }
193
+ .selectable-card.disabled {
194
+ cursor: default;
195
+ opacity: 0.7;
196
+ }
197
+ .selectable-card.readonly {
198
+ cursor: default;
199
+ }
200
+ .selectable-card-label {
201
+ font-size: 1rem;
202
+ font-weight: 400;
203
+ }
189
204
  ```
190
205
 
191
206
  ## Edge Cases & Special Logic
@@ -208,9 +223,9 @@ setIsRadioCardSelected(radioItemSelected)
208
223
 
209
224
  Listed design systems are examples only.
210
225
 
211
- | Design System | Recommended Component |
212
- |---|---|
213
- | Default (CSS only) | Custom `<div>` cards with `<input type="radio/checkbox">` inside |
214
- | MUI | `<Card>` + `<CardContent>` + `<FormControlLabel>` + `<Radio>`/`<Checkbox>` |
215
- | Ant Design | Custom cards with `<Radio>`/`<Checkbox>` |
216
- | Chakra UI | `<Box>` as card + `<Radio>`/`<Checkbox>` |
226
+ | Design System | Recommended Component |
227
+ | ------------------ | -------------------------------------------------------------------------- |
228
+ | Default (CSS only) | Custom `<div>` cards with `<input type="radio/checkbox">` inside |
229
+ | MUI | `<Card>` + `<CardContent>` + `<FormControlLabel>` + `<Radio>`/`<Checkbox>` |
230
+ | Ant Design | Custom cards with `<Radio>`/`<Checkbox>` |
231
+ | Chakra UI | `<Box>` as card + `<Radio>`/`<Checkbox>` |