@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
@@ -18,11 +18,11 @@ A case view variant designed for self-service portal channels. Uses a horizontal
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `children` | `ReactNode[]` | Yes | Region children (variable count based on `isObjectType`) |
24
- | `isObjectType` | `boolean` | No | Whether the case is an object-type (affects child region count) |
25
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | -------------- | ------------- | -------- | --------------------------------------------------------------- |
23
+ | `children` | `ReactNode[]` | Yes | Region children (variable count based on `isObjectType`) |
24
+ | `isObjectType` | `boolean` | No | Whether the case is an object-type (affects child region count) |
25
+ | `getPConnect` | `function` | Yes | PConnect getter |
26
26
 
27
27
  ## Behavioral Contract
28
28
 
@@ -31,22 +31,25 @@ A case view variant designed for self-service portal channels. Uses a horizontal
31
31
  Child indexing depends on `isObjectType`:
32
32
 
33
33
  **`isObjectType === false` (5 children):**
34
- | Index | Region |
35
- |-------|--------|
36
- | 0 | Summary |
37
- | 1 | (Header/Stages) |
38
- | 2 | Main content |
39
- | 3 | Utilities |
40
- | 4 | (Additional) |
34
+
35
+ | Index | Region |
36
+ | ----- | --------------- |
37
+ | 0 | Summary |
38
+ | 1 | (Header/Stages) |
39
+ | 2 | Main content |
40
+ | 3 | Utilities |
41
+ | 4 | (Additional) |
41
42
 
42
43
  **`isObjectType === true` (3 children):**
43
- | Index | Region |
44
- |-------|--------|
45
- | 0 | Summary |
46
- | 1 | Main content |
47
- | 2 | Utilities |
44
+
45
+ | Index | Region |
46
+ | ----- | ------------ |
47
+ | 0 | Summary |
48
+ | 1 | Main content |
49
+ | 2 | Utilities |
48
50
 
49
51
  Show/hide individual regions based on:
52
+
50
53
  - `showSummary`: always show summary region.
51
54
  - `showMain`: always show main content region.
52
55
  - `showUtilities`: show utilities only if the region has content.
@@ -54,12 +57,14 @@ Show/hide individual regions based on:
54
57
  ### `selfServiceCaseViewHeader`
55
58
 
56
59
  Renders a slim header bar above the main flex layout showing:
60
+
57
61
  - Case ID / case type name
58
62
  - Case status badge
59
63
 
60
64
  ### Case Summary Data
61
65
 
62
66
  Call `prepareCaseSummaryData(primaryFields, secondaryFields, getPConnect)` with a filter:
67
+
63
68
  - Only include fields where `availableInChannel.selfService === true`.
64
69
 
65
70
  ### Utilities Filter
@@ -87,13 +92,14 @@ Call `filterUtilities(utilitiesChildren, getPConnect)` to remove utilities not a
87
92
 
88
93
  ## Visual Specifications
89
94
 
90
- | Column | Width | Contents |
91
- |--------|-------|----------|
92
- | Summary | 25% (fixed) | Case summary fields (self-service filtered) |
93
- | Main | flex: 1 | Main case content / assignment form |
94
- | Utilities | 25% (fixed) | Filtered utilities |
95
+ | Column | Width | Contents |
96
+ | --------- | ----------- | ------------------------------------------- |
97
+ | Summary | 25% (fixed) | Case summary fields (self-service filtered) |
98
+ | Main | flex: 1 | Main case content / assignment form |
99
+ | Utilities | 25% (fixed) | Filtered utilities |
95
100
 
96
101
  **CSS-only implementation notes:**
102
+
97
103
  - Body layout: `display: flex; flex-direction: row; gap: 1rem`.
98
104
  - Summary column: `flex: 0 0 25%; min-width: 0`.
99
105
  - Main column: `flex: 1 1 auto; min-width: 0`.
@@ -121,15 +127,16 @@ Call `filterUtilities(utilitiesChildren, getPConnect)` to remove utilities not a
121
127
 
122
128
  Listed design systems are examples only.
123
129
 
124
- | Design System | Layout | Header Bar |
125
- |---|---|---|
126
- | Default (CSS only) | CSS `display:flex` with percentage widths | Custom `<header>` |
127
- | MUI | `<Box display='flex' flexDirection='row'>` with `<Box flex='0 0 25%'>` | `<Box>` with `<Typography>` |
128
- | Ant Design | `<Layout>` with `<Sider>` + `<Content>` | `<PageHeader>` |
129
- | Chakra UI | `<HStack align='stretch'>` with width constraints | `<Flex>` |
130
- | Shadcn/ui | Tailwind `flex flex-row` | Custom header |
130
+ | Design System | Layout | Header Bar |
131
+ | ------------------ | ---------------------------------------------------------------------- | --------------------------- |
132
+ | Default (CSS only) | CSS `display:flex` with percentage widths | Custom `<header>` |
133
+ | MUI | `<Box display='flex' flexDirection='row'>` with `<Box flex='0 0 25%'>` | `<Box>` with `<Typography>` |
134
+ | Ant Design | `<Layout>` with `<Sider>` + `<Content>` | `<PageHeader>` |
135
+ | Chakra UI | `<HStack align='stretch'>` with width constraints | `<Flex>` |
136
+ | Shadcn/ui | Tailwind `flex flex-row` | Custom header |
131
137
 
132
138
  When implementing in a specific design system:
139
+
133
140
  - `isObjectType` determines child count — do not assume fixed child order without checking this flag
134
141
  - Self-service channel filter on summary data is mandatory — `availableInChannel.selfService === true`
135
142
  - `filterUtilities` result controls utilities column visibility
@@ -18,16 +18,16 @@ Entry-point template for embedded table data in a form or detail view. Routes to
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `multiRecordDisplayAs` | `string` | No | `'fieldGroup'` delegates to FieldGroupTemplate; else table |
24
- | `fieldMetadata` | `object` | No | Field-level metadata including `dataRetrievalType` |
25
- | `referenceList` | `string` | No | Property path to the reference list |
26
- | `displayAs` | `string` | No | For SimpleTableSelectReadonly: `'readonlyMulti'`, `'combobox'`, `'checkboxgroup'` routing |
27
- | `selectionMode` | `string` | No | `'single'` or `'multi'` (for SimpleTableSelect) |
28
- | `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only sub-variant |
29
- | `readOnly` | `boolean` | No | Alternative read-only flag |
30
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ---------------------- | ---------- | -------- | ----------------------------------------------------------------------------------------- |
23
+ | `multiRecordDisplayAs` | `string` | No | `'fieldGroup'` delegates to FieldGroupTemplate; else table |
24
+ | `fieldMetadata` | `object` | No | Field-level metadata including `dataRetrievalType` |
25
+ | `referenceList` | `string` | No | Property path to the reference list |
26
+ | `displayAs` | `string` | No | For SimpleTableSelectReadonly: `'readonlyMulti'`, `'combobox'`, `'checkboxgroup'` routing |
27
+ | `selectionMode` | `string` | No | `'single'` or `'multi'` (for SimpleTableSelect) |
28
+ | `displayMode` | `string` | No | `'DISPLAY_ONLY'` triggers read-only sub-variant |
29
+ | `readOnly` | `boolean` | No | Alternative read-only flag |
30
+ | `getPConnect` | `function` | Yes | PConnect getter |
31
31
 
32
32
  ## Behavioral Contract
33
33
 
@@ -47,6 +47,7 @@ else:
47
47
  Full MUI table with add/delete rows, inline editing, sort, filter, and column customization (~600+ lines).
48
48
 
49
49
  Key behaviors:
50
+
50
51
  1. **Row data source:** `referenceList` property path via `pConn.getValue(referenceList + '.pxResults')`.
51
52
  2. **Add row:** `pConn.getListActions().insert({})`.
52
53
  3. **Delete row:** `pConn.getListActions().deleteEntry(index)`.
@@ -58,6 +59,7 @@ Key behaviors:
58
59
  ### SimpleTableSelect — Selection Mode
59
60
 
60
61
  Wraps `ListView` with additional selection configuration:
62
+
61
63
  - Passes `additionalTableConfig` with `selectionMode: 'single'` or `'multi'`.
62
64
  - On selection: calls `pConn.getListActions().setSelectedRow(selectedData)`.
63
65
  - Used when `DataReference` routes to table-based selection.
@@ -72,15 +74,16 @@ Wraps `ListView` with additional selection configuration:
72
74
 
73
75
  ### SimpleTableManual
74
76
 
75
- | Element | Description |
76
- |---------|-------------|
77
- | Toolbar | Column settings button, filter button, optional search |
78
- | Table | Full-width, alternating row colors |
79
- | Add row | `"+ Add row"` button below the table |
80
- | Delete row | Trash icon per row (rightmost column) |
81
- | Column settings | Popover with checkboxes for visibility toggles |
77
+ | Element | Description |
78
+ | --------------- | ------------------------------------------------------ |
79
+ | Toolbar | Column settings button, filter button, optional search |
80
+ | Table | Full-width, alternating row colors |
81
+ | Add row | `"+ Add row"` button below the table |
82
+ | Delete row | Trash icon per row (rightmost column) |
83
+ | Column settings | Popover with checkboxes for visibility toggles |
82
84
 
83
85
  **CSS-only implementation notes:**
86
+
84
87
  - Table: `width: 100%; border-collapse: collapse`.
85
88
  - Add row button: `margin-top: 0.5rem; text-align: left`.
86
89
  - Delete cell: `width: 40px; text-align: center`.
@@ -88,11 +91,11 @@ Wraps `ListView` with additional selection configuration:
88
91
 
89
92
  ### SimpleTableSelectReadonly
90
93
 
91
- | Element | Description |
92
- |---------|-------------|
93
- | Trigger | Link or chip showing selection count |
94
- | Modal | Full-screen or large dialog with SimpleTableManual |
95
- | Modal close | `X` button in modal header |
94
+ | Element | Description |
95
+ | ----------- | -------------------------------------------------- |
96
+ | Trigger | Link or chip showing selection count |
97
+ | Modal | Full-screen or large dialog with SimpleTableManual |
98
+ | Modal close | `X` button in modal header |
96
99
 
97
100
  ## Edge Cases & Special Logic
98
101
 
@@ -115,13 +118,14 @@ Wraps `ListView` with additional selection configuration:
115
118
 
116
119
  Listed design systems are examples only.
117
120
 
118
- | Sub-variant | Default (CSS only) | MUI |
119
- |---|---|---|
120
- | SimpleTableManual | `<table>` + custom controls | MUI `<Table>` |
121
- | SimpleTableSelect | Custom table + radio/checkbox | `<ListView>` wrapper |
122
- | SimpleTableSelectReadonly | Link + `<dialog>` | Chip + `<Dialog>` |
121
+ | Sub-variant | Default (CSS only) | MUI |
122
+ | ------------------------- | ----------------------------- | -------------------- |
123
+ | SimpleTableManual | `<table>` + custom controls | MUI `<Table>` |
124
+ | SimpleTableSelect | Custom table + radio/checkbox | `<ListView>` wrapper |
125
+ | SimpleTableSelectReadonly | Link + `<dialog>` | Chip + `<Dialog>` |
123
126
 
124
127
  When implementing in a specific design system:
128
+
125
129
  - Always check `multiRecordDisplayAs === 'fieldGroup'` first — this bypasses the table entirely
126
130
  - `SimpleTableManual` add/delete row controls must be hidden when `readOnly === true` or `displayMode === 'DISPLAY_ONLY'`
127
131
  - `SimpleTableSelect` uses the same `ListView` but adds selection callbacks
@@ -18,18 +18,18 @@ Renders a single data reference field in read-only mode. For fields that were di
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `label` | `string` | Yes | Field label |
24
- | `displayAs` | `string` | Yes | The edit-mode display type this field was configured with |
25
- | `value` | `string` | No | Current field value (display text) |
26
- | `caseClass` | `string` | No | Class identifier for the referenced case |
27
- | `text` | `string` | No | Display text for the semantic link |
28
- | `caseID` | `string` | No | Case ID for the semantic link |
29
- | `contextPage` | `string` | No | Context page identifier |
30
- | `resourceParams` | `object` | No | Parameters for the referenced resource |
31
- | `resourcePayload` | `object` | No | Payload for resource navigation |
32
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ----------------- | ---------- | -------- | --------------------------------------------------------- |
23
+ | `label` | `string` | Yes | Field label |
24
+ | `displayAs` | `string` | Yes | The edit-mode display type this field was configured with |
25
+ | `value` | `string` | No | Current field value (display text) |
26
+ | `caseClass` | `string` | No | Class identifier for the referenced case |
27
+ | `text` | `string` | No | Display text for the semantic link |
28
+ | `caseID` | `string` | No | Case ID for the semantic link |
29
+ | `contextPage` | `string` | No | Context page identifier |
30
+ | `resourceParams` | `object` | No | Parameters for the referenced resource |
31
+ | `resourcePayload` | `object` | No | Payload for resource navigation |
32
+ | `getPConnect` | `function` | Yes | PConnect getter |
33
33
 
34
34
  ## Behavioral Contract
35
35
 
@@ -40,18 +40,21 @@ editableComponents = ['AutoComplete', 'SimpleTableSelect', 'Dropdown']
40
40
  ```
41
41
 
42
42
  If `displayAs` is in `editableComponents`:
43
+
43
44
  1. Build config with: `caseClass`, `text`, `caseID`, `contextPage`, `resourceParams`, `resourcePayload`.
44
45
  2. Create: `createComponent({ type: 'SemanticLink', config: { ...builtConfig } })`.
45
46
  3. Render the created `SemanticLink` component.
46
47
 
47
48
  Else:
49
+
48
50
  - Render a plain read-only display using `<FormControl variant='standard'>` + `<FormLabel>` + value text.
49
51
 
50
52
  ### Layout
51
53
 
52
54
  For both variants, wrap with:
55
+
53
56
  ```tsx
54
- <FormControl variant='standard' sx={{ flexDirection: 'row' }}>
57
+ <FormControl variant="standard" sx={{ flexDirection: 'row' }}>
55
58
  <FormLabel sx={{ marginRight: '2rem' }}>{label}</FormLabel>
56
59
  {semanLinkOrValue}
57
60
  </FormControl>
@@ -59,12 +62,13 @@ For both variants, wrap with:
59
62
 
60
63
  ## Visual Specifications
61
64
 
62
- | Variant | Layout |
63
- |---------|--------|
64
- | SemanticLink | Label (left) + clickable link (right) |
65
- | Plain read-only | Label (left) + plain text (right) |
65
+ | Variant | Layout |
66
+ | --------------- | ------------------------------------- |
67
+ | SemanticLink | Label (left) + clickable link (right) |
68
+ | Plain read-only | Label (left) + plain text (right) |
66
69
 
67
70
  **CSS-only implementation notes:**
71
+
68
72
  - Wrapper: `display: flex; flex-direction: row; align-items: baseline; gap: 1rem`.
69
73
  - Label: `font-size: 0.875rem; color: var(--secondary-text-color); min-width: 120px`.
70
74
  - Semantic link: `color: var(--link-color); text-decoration: underline; cursor: pointer`.
@@ -89,15 +93,16 @@ For both variants, wrap with:
89
93
 
90
94
  Listed design systems are examples only.
91
95
 
92
- | Design System | Semantic Link | Plain Read-Only |
93
- |---|---|---|
94
- | Default (CSS only) | `<a>` with case navigation | `<span>` |
95
- | MUI | `SemanticLink` rendered via `createComponent` | `<Typography>` |
96
- | Ant Design | `<Typography.Link>` | `<Typography.Text>` |
97
- | Chakra UI | `<Link>` | `<Text>` |
98
- | Shadcn/ui | Custom link | `<span>` |
96
+ | Design System | Semantic Link | Plain Read-Only |
97
+ | ------------------ | --------------------------------------------- | ------------------- |
98
+ | Default (CSS only) | `<a>` with case navigation | `<span>` |
99
+ | MUI | `SemanticLink` rendered via `createComponent` | `<Typography>` |
100
+ | Ant Design | `<Typography.Link>` | `<Typography.Text>` |
101
+ | Chakra UI | `<Link>` | `<Text>` |
102
+ | Shadcn/ui | Custom link | `<span>` |
99
103
 
100
104
  When implementing in a specific design system:
105
+
101
106
  - The `editableComponents` list (`'AutoComplete'`, `'SimpleTableSelect'`, `'Dropdown'`) controls semantic link vs plain display
102
107
  - `SemanticLink` must be rendered via `createComponent` — do not implement the link logic directly in this component
103
108
  - Horizontal label + value layout (row direction) is required
@@ -18,10 +18,10 @@ Renders a horizontal tab bar for navigating between case view sections. Uses sha
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `children` | `ReactNode[]` | Yes | `children[0]` is the deferred-loaded tabs container |
24
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ------------- | ------------- | -------- | --------------------------------------------------- |
23
+ | `children` | `ReactNode[]` | Yes | `children[0]` is the deferred-loaded tabs container |
24
+ | `getPConnect` | `function` | Yes | PConnect getter |
25
25
 
26
26
  ## Behavioral Contract
27
27
 
@@ -43,6 +43,7 @@ Renders a horizontal tab bar for navigating between case view sections. Uses sha
43
43
  Identical to `DetailsSubTabs` except no heading above the tab bar.
44
44
 
45
45
  **CSS-only implementation notes:**
46
+
46
47
  - Tab bar: `display: flex; border-bottom: 2px solid var(--divider)`.
47
48
  - Each tab: `padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent`.
48
49
  - Active tab: `border-bottom-color: var(--app-primary-color); font-weight: 600`.
@@ -51,6 +52,7 @@ Identical to `DetailsSubTabs` except no heading above the tab bar.
51
52
  ## Edge Cases & Special Logic
52
53
 
53
54
  See `DetailsSubTabs.md` for shared edge cases. Additional:
55
+
54
56
  - `tabUtils` identifier string `'tabsSubs'` must match exactly — it is used internally by `getVisibleTabs` for scoping.
55
57
 
56
58
  ## Dependencies
@@ -65,15 +67,16 @@ See `DetailsSubTabs.md` for shared edge cases. Additional:
65
67
 
66
68
  Listed design systems are examples only.
67
69
 
68
- | Design System | Recommended Component |
69
- |---|---|
70
- | Default (CSS only) | Custom tab bar with CSS underline indicator |
71
- | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
72
- | Ant Design | `<Tabs>` with `items` array |
73
- | Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
74
- | Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
70
+ | Design System | Recommended Component |
71
+ | ------------------ | -------------------------------------------------------- |
72
+ | Default (CSS only) | Custom tab bar with CSS underline indicator |
73
+ | MUI | `<TabContext>` + `<Tabs>` + `<TabPanel>` from `@mui/lab` |
74
+ | Ant Design | `<Tabs>` with `items` array |
75
+ | Chakra UI | `<Tabs>` + `<TabList>` + `<TabPanels>` |
76
+ | Shadcn/ui | `<Tabs>` + `<TabsList>` + `<TabsContent>` |
75
77
 
76
78
  When implementing in a specific design system:
79
+
77
80
  - Use `getVisibleTabs(tabs, 'tabsSubs')` — the identifier string must be `'tabsSubs'`
78
81
  - No heading above the tab bar (unlike `DetailsSubTabs`)
79
82
  - Deferred loading: content populates lazily via `getTransientTabs`
@@ -16,20 +16,20 @@ Renders two child components side by side in a responsive grid. Column widths ar
16
16
 
17
17
  ## Pega Metadata
18
18
 
19
- | Variant | Registration Key |
20
- |---------|-----------------|
21
- | TwoColumn | `TwoColumn` |
22
- | TwoColumnPage | `TwoColumnPage` |
23
- | TwoColumnTab | `TwoColumnTab` |
19
+ | Variant | Registration Key |
20
+ | ------------- | ---------------- |
21
+ | TwoColumn | `TwoColumn` |
22
+ | TwoColumnPage | `TwoColumnPage` |
23
+ | TwoColumnTab | `TwoColumnTab` |
24
24
 
25
25
  All three extend `PConnProps`. Children are received as React `children` (not via `getPConnect().getChildren()`).
26
26
 
27
27
  ## Props
28
28
 
29
- | Prop | Type | Required | Description |
30
- |------|------|----------|-------------|
31
- | `children` | `ReactNode[]` | Yes | Exactly 2 children (left column, right column) |
32
- | `templateCol` | `string` | No | Column width ratio string, e.g., `'1fr 1fr'`, `'2fr 1fr'`. Default `'1fr 1fr'` |
29
+ | Prop | Type | Required | Description |
30
+ | ------------- | ------------- | -------- | ------------------------------------------------------------------------------ |
31
+ | `children` | `ReactNode[]` | Yes | Exactly 2 children (left column, right column) |
32
+ | `templateCol` | `string` | No | Column width ratio string, e.g., `'1fr 1fr'`, `'2fr 1fr'`. Default `'1fr 1fr'` |
33
33
 
34
34
  ## Sub-Variants
35
35
 
@@ -66,35 +66,36 @@ Derived from `TwoColumn.tsx` and `TwoColumnTab.tsx` makeStyles:
66
66
 
67
67
  ### Column Style
68
68
 
69
- | Property | Value |
70
- |----------|-------|
71
- | Display | grid |
72
- | Gap | 1rem |
69
+ | Property | Value |
70
+ | ------------- | ------------------------------------- |
71
+ | Display | grid |
72
+ | Gap | 1rem |
73
73
  | Align content | baseline (children stack top-aligned) |
74
74
 
75
75
  ### Grid Spacing
76
76
 
77
- | Property | Value |
78
- |----------|-------|
77
+ | Property | Value |
78
+ | ----------------- | ------------------------- |
79
79
  | Container spacing | 1 (≈ 8px between columns) |
80
80
 
81
81
  ### Responsive Behavior
82
82
 
83
- | Breakpoint | Column A | Column B |
84
- |-----------|----------|----------|
85
- | xs (mobile) | 12/12 (full width) | 12/12 (full width, stacks below) |
86
- | md+ (desktop) | `aSize`/12 | `bSize`/12 |
83
+ | Breakpoint | Column A | Column B |
84
+ | ------------- | ------------------ | -------------------------------- |
85
+ | xs (mobile) | 12/12 (full width) | 12/12 (full width, stacks below) |
86
+ | md+ (desktop) | `aSize`/12 | `bSize`/12 |
87
87
 
88
88
  **Column ratio examples:**
89
89
 
90
- | `templateCol` | Column A | Column B |
91
- |--------------|----------|----------|
92
- | `'1fr 1fr'` | 6/12 (50%) | 6/12 (50%) |
93
- | `'2fr 1fr'` | 8/12 (67%) | 4/12 (33%) |
94
- | `'1fr 2fr'` | 4/12 (33%) | 8/12 (67%) |
95
- | `'3fr 1fr'` | 9/12 (75%) | 3/12 (25%) |
90
+ | `templateCol` | Column A | Column B |
91
+ | ------------- | ---------- | ---------- |
92
+ | `'1fr 1fr'` | 6/12 (50%) | 6/12 (50%) |
93
+ | `'2fr 1fr'` | 8/12 (67%) | 4/12 (33%) |
94
+ | `'1fr 2fr'` | 4/12 (33%) | 8/12 (67%) |
95
+ | `'3fr 1fr'` | 9/12 (75%) | 3/12 (25%) |
96
96
 
97
97
  **CSS-only implementation notes:**
98
+
98
99
  - Column container: `display: grid; gap: 1rem; align-content: start`.
99
100
  - Outer grid: `display: grid; grid-template-columns: <aFraction>fr <bFraction>fr; gap: 8px`.
100
101
  - Mobile: `grid-template-columns: 1fr` (single column stack).
@@ -117,15 +118,16 @@ Derived from `TwoColumn.tsx` and `TwoColumnTab.tsx` makeStyles:
117
118
 
118
119
  Listed design systems are examples only.
119
120
 
120
- | Design System | Recommended Component |
121
- |---|---|
122
- | Default (CSS only) | CSS Grid with `grid-template-columns: <a>fr <b>fr; gap: 8px` |
123
- | MUI | `<Grid container spacing={1}><Grid size={{ xs: 12, md: N }}>` |
124
- | Ant Design | `<Row gutter={8}><Col xs={24} md={N * 2}>` (Ant uses 24-column grid) |
125
- | Chakra UI | `<SimpleGrid columns={{ base: 1, md: 2 }} spacing={2}>` |
126
- | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[<a>fr_<b>fr] gap-2` |
121
+ | Design System | Recommended Component |
122
+ | ------------------ | -------------------------------------------------------------------- |
123
+ | Default (CSS only) | CSS Grid with `grid-template-columns: <a>fr <b>fr; gap: 8px` |
124
+ | MUI | `<Grid container spacing={1}><Grid size={{ xs: 12, md: N }}>` |
125
+ | Ant Design | `<Row gutter={8}><Col xs={24} md={N * 2}>` (Ant uses 24-column grid) |
126
+ | Chakra UI | `<SimpleGrid columns={{ base: 1, md: 2 }} spacing={2}>` |
127
+ | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[<a>fr_<b>fr] gap-2` |
127
128
 
128
129
  When implementing in a specific design system:
130
+
129
131
  - Parse `templateCol` using the same ratio algorithm (strip units, divide 12 by total)
130
132
  - Apply `align-content: baseline` so children within each column stack top-aligned
131
133
  - Collapse to single column on mobile breakpoint
@@ -19,11 +19,11 @@ Renders two children side by side with the left column wider than the right. Typ
19
19
 
20
20
  ## Pega Metadata
21
21
 
22
- | Variant | Registration Key |
23
- |---------|-----------------|
24
- | WideNarrow | `WideNarrow` |
25
- | WideNarrowPage | `WideNarrowPage` |
26
- | WideNarrowForm | `WideNarrowForm` |
22
+ | Variant | Registration Key |
23
+ | ----------------- | ------------------- |
24
+ | WideNarrow | `WideNarrow` |
25
+ | WideNarrowPage | `WideNarrowPage` |
26
+ | WideNarrowForm | `WideNarrowForm` |
27
27
  | WideNarrowDetails | `WideNarrowDetails` |
28
28
 
29
29
  All extend `PConnProps`.
@@ -32,38 +32,38 @@ All extend `PConnProps`.
32
32
 
33
33
  ### WideNarrow
34
34
 
35
- | Prop | Type | Required | Description |
36
- |------|------|----------|-------------|
37
- | `children` | `ReactNode[]` | No | Two children — `[0]` → wide (left), `[1]` → narrow (right) |
38
- | `a` | `any` | No | Wide (left) column content |
39
- | `b` | `any` | No | Narrow (right) column content |
40
- | `title` | `string` | No | Optional title (not rendered) |
41
- | `cols` | `string` | No | Column template (not rendered) |
42
- | `icon` | `string` | No | Icon name (not rendered) |
35
+ | Prop | Type | Required | Description |
36
+ | ---------- | ------------- | -------- | ---------------------------------------------------------- |
37
+ | `children` | `ReactNode[]` | No | Two children — `[0]` → wide (left), `[1]` → narrow (right) |
38
+ | `a` | `any` | No | Wide (left) column content |
39
+ | `b` | `any` | No | Narrow (right) column content |
40
+ | `title` | `string` | No | Optional title (not rendered) |
41
+ | `cols` | `string` | No | Column template (not rendered) |
42
+ | `icon` | `string` | No | Icon name (not rendered) |
43
43
 
44
44
  ### WideNarrowPage
45
45
 
46
- | Prop | Type | Required | Description |
47
- |------|------|----------|-------------|
48
- | `children` | `ReactNode[]` | Yes | Two children — `[0]` → wide slot, `[1]` → narrow slot |
49
- | `title` | `string` | Yes | Page title (passed to WideNarrow) |
50
- | `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
51
- | `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
46
+ | Prop | Type | Required | Description |
47
+ | ------------- | ------------- | -------- | ----------------------------------------------------- |
48
+ | `children` | `ReactNode[]` | Yes | Two children — `[0]` → wide slot, `[1]` → narrow slot |
49
+ | `title` | `string` | Yes | Page title (passed to WideNarrow) |
50
+ | `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
51
+ | `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
52
52
 
53
53
  ### WideNarrowForm
54
54
 
55
- | Prop | Type | Required | Description |
56
- |------|------|----------|-------------|
57
- | `children` | `ReactNode[]` | Yes | Two children rendered in wide/narrow slots |
55
+ | Prop | Type | Required | Description |
56
+ | ---------- | ------------- | -------- | ------------------------------------------ |
57
+ | `children` | `ReactNode[]` | Yes | Two children rendered in wide/narrow slots |
58
58
 
59
59
  ### WideNarrowDetails
60
60
 
61
- | Prop | Type | Required | Description |
62
- |------|------|----------|-------------|
63
- | `label` | `string` | No | Section label for FieldGroup |
64
- | `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
65
- | `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields. Default `false` |
66
- | `getPConnect` | `function` | Yes | PConnect getter |
61
+ | Prop | Type | Required | Description |
62
+ | --------------------- | ---------- | -------- | ---------------------------------------------------------- |
63
+ | `label` | `string` | No | Section label for FieldGroup |
64
+ | `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
65
+ | `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields. Default `false` |
66
+ | `getPConnect` | `function` | Yes | PConnect getter |
67
67
 
68
68
  ## Behavioral Contract
69
69
 
@@ -98,13 +98,14 @@ Derived from `WideNarrow.css`:
98
98
 
99
99
  ### Container
100
100
 
101
- | CSS Class | Property | Value |
102
- |-----------|----------|-------|
103
- | `.psdk-wide-narrow-column` | Display | two-column row layout |
104
- | `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) — LEFT column |
105
- | `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) — RIGHT column |
101
+ | CSS Class | Property | Value |
102
+ | ---------------------------- | -------- | ---------------------------------- |
103
+ | `.psdk-wide-narrow-column` | Display | two-column row layout |
104
+ | `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) — LEFT column |
105
+ | `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) — RIGHT column |
106
106
 
107
107
  **CSS-only implementation notes:**
108
+
108
109
  - `.psdk-wide-narrow-column`: `display: grid; grid-template-columns: 2fr 1fr; gap: 1rem`.
109
110
  - Wide column (left): `2fr` — takes the first grid column.
110
111
  - Narrow column (right): `1fr` — takes the second grid column.
@@ -112,12 +113,12 @@ Derived from `WideNarrow.css`:
112
113
 
113
114
  ### Key Difference from NarrowWide
114
115
 
115
- | | NarrowWide | WideNarrow |
116
- |---|---|---|
117
- | Left column | Narrow (~33%) | Wide (~67%) |
118
- | Right column | Wide (~67%) | Narrow (~33%) |
119
- | CSS container class | `.psdk-narrow-wide-column` | `.psdk-wide-narrow-column` |
120
- | `COLUMN_WIDTHS` (Details) | `[4, 8]` | `[8, 4]` |
116
+ | | NarrowWide | WideNarrow |
117
+ | ------------------------- | -------------------------- | -------------------------- |
118
+ | Left column | Narrow (~33%) | Wide (~67%) |
119
+ | Right column | Wide (~67%) | Narrow (~33%) |
120
+ | CSS container class | `.psdk-narrow-wide-column` | `.psdk-wide-narrow-column` |
121
+ | `COLUMN_WIDTHS` (Details) | `[4, 8]` | `[8, 4]` |
121
122
 
122
123
  ## Edge Cases & Special Logic
123
124
 
@@ -136,15 +137,16 @@ Derived from `WideNarrow.css`:
136
137
 
137
138
  Listed design systems are examples only.
138
139
 
139
- | Design System | Recommended Component |
140
- |---|---|
141
- | Default (CSS only) | CSS Grid `grid-template-columns: 2fr 1fr; gap: 1rem` |
142
- | MUI | `<Grid container><Grid size={{ xs: 12, md: 8 }}><Grid size={{ xs: 12, md: 4 }}>` |
143
- | Ant Design | `<Row gutter={16}><Col xs={24} md={16}><Col xs={24} md={8}>` |
144
- | Chakra UI | `<Grid templateColumns={{ base: '1fr', md: '2fr 1fr' }} gap={4}>` |
145
- | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[2fr_1fr] gap-4` |
140
+ | Design System | Recommended Component |
141
+ | ------------------ | -------------------------------------------------------------------------------- |
142
+ | Default (CSS only) | CSS Grid `grid-template-columns: 2fr 1fr; gap: 1rem` |
143
+ | MUI | `<Grid container><Grid size={{ xs: 12, md: 8 }}><Grid size={{ xs: 12, md: 4 }}>` |
144
+ | Ant Design | `<Row gutter={16}><Col xs={24} md={16}><Col xs={24} md={8}>` |
145
+ | Chakra UI | `<Grid templateColumns={{ base: '1fr', md: '2fr 1fr' }} gap={4}>` |
146
+ | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[2fr_1fr] gap-4` |
146
147
 
147
148
  When implementing in a specific design system:
149
+
148
150
  - Wide column ≈ 67% width (left side)
149
151
  - Narrow column ≈ 33% width (right side)
150
152
  - `WideNarrowDetails` forces DISPLAY_ONLY + readOnly on all children