@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,12 +18,12 @@ Renders an inline dashboard layout consisting of a title heading, a main content
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `title` | `string` | No | Dashboard title displayed above the content area |
24
- | `filterPosition` | `string` | No | Filter panel position: `'block-start'` (above) or other (side). Default: side |
25
- | `children` | `ReactNode[]` | Yes | `children[0]` = main content, `children[1]` = filter panel |
26
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ---------------- | ------------- | -------- | ----------------------------------------------------------------------------- |
23
+ | `title` | `string` | No | Dashboard title displayed above the content area |
24
+ | `filterPosition` | `string` | No | Filter panel position: `'block-start'` (above) or other (side). Default: side |
25
+ | `children` | `ReactNode[]` | Yes | `children[0]` = main content, `children[1]` = filter panel |
26
+ | `getPConnect` | `function` | Yes | PConnect getter |
27
27
 
28
28
  ## Behavioral Contract
29
29
 
@@ -34,6 +34,7 @@ Renders an inline dashboard layout consisting of a title heading, a main content
34
34
  ### Filter Position: `'block-start'`
35
35
 
36
36
  Stacked layout — filter panel above main content:
37
+
37
38
  - `<Grid container direction='column-reverse'>` (reverse so filter renders visually above content).
38
39
  - Filter panel: `<Grid id='filters' size={{ xs: 12 }}>`.
39
40
  - Main content: `<Grid size={{ xs: 12 }}>`.
@@ -41,6 +42,7 @@ Stacked layout — filter panel above main content:
41
42
  ### Filter Position: Other (side)
42
43
 
43
44
  Side-by-side layout — main content left, filters right:
45
+
44
46
  - `<Grid container direction={...}>` (optionally `row-reverse` based on position value).
45
47
  - Main content: `<Grid size={{ xs: 9 }}>`.
46
48
  - Filter panel: `<Grid id='filters' size={{ xs: 3 }}>`.
@@ -66,6 +68,7 @@ Side-by-side layout — main content left, filters right:
66
68
  ```
67
69
 
68
70
  **CSS-only implementation notes:**
71
+
69
72
  - Title: `font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem`.
70
73
  - Block-start: `display: flex; flex-direction: column; gap: 1rem` (filter div first in DOM but ordered last visually with `order: -1`).
71
74
  - Side: `display: grid; grid-template-columns: 3fr 1fr; gap: 1rem`.
@@ -90,15 +93,16 @@ Side-by-side layout — main content left, filters right:
90
93
 
91
94
  Listed design systems are examples only.
92
95
 
93
- | Design System | Title | Content/Filter Grid |
94
- |---|---|---|
95
- | Default (CSS only) | `<h2>` | CSS grid or flexbox |
96
- | MUI | `<Typography variant='h4'>` | `<Grid container>` |
97
- | Ant Design | `<Typography.Title level={2}>` | `<Row>/<Col>` |
98
- | Chakra UI | `<Heading>` | `<Grid>` or `<HStack>` |
99
- | Shadcn/ui | `<h2>` | Tailwind grid |
96
+ | Design System | Title | Content/Filter Grid |
97
+ | ------------------ | ------------------------------ | ---------------------- |
98
+ | Default (CSS only) | `<h2>` | CSS grid or flexbox |
99
+ | MUI | `<Typography variant='h4'>` | `<Grid container>` |
100
+ | Ant Design | `<Typography.Title level={2}>` | `<Row>/<Col>` |
101
+ | Chakra UI | `<Heading>` | `<Grid>` or `<HStack>` |
102
+ | Shadcn/ui | `<h2>` | Tailwind grid |
100
103
 
101
104
  When implementing in a specific design system:
105
+
102
106
  - `filterPosition === 'block-start'` requires stacked layout (12/12) — not side layout (9/3)
103
107
  - Filter panel must always have `id='filters'`
104
108
  - Title heading (`h4` level) is optional — only render when `title` is provided
@@ -20,12 +20,12 @@ Page-level wrapper for the inline dashboard. Extracts promoted filter definition
20
20
 
21
21
  ## Props
22
22
 
23
- | Prop | Type | Required | Description |
24
- |------|------|----------|-------------|
25
- | `children` | `ReactNode[]` | Yes | Main content children passed to InlineDashboard |
26
- | `title` | `string` | No | Dashboard title |
27
- | `filterPosition` | `string` | No | Filter position: `'block-start'` or side |
28
- | `getPConnect` | `function` | Yes | PConnect getter |
23
+ | Prop | Type | Required | Description |
24
+ | ---------------- | ------------- | -------- | ----------------------------------------------- |
25
+ | `children` | `ReactNode[]` | Yes | Main content children passed to InlineDashboard |
26
+ | `title` | `string` | No | Dashboard title |
27
+ | `filterPosition` | `string` | No | Filter position: `'block-start'` or side |
28
+ | `getPConnect` | `function` | Yes | PConnect getter |
29
29
 
30
30
  ## Behavioral Contract
31
31
 
@@ -42,13 +42,9 @@ In `useEffect([])` (on mount):
42
42
  ### Render
43
43
 
44
44
  ```tsx
45
- <InlineDashboard
46
- title={title}
47
- filterPosition={filterPosition}
48
- getPConnect={getPConnect}
49
- >
50
- {children[0]} {/* main content */}
51
- {filterComponents} {/* built filter components */}
45
+ <InlineDashboard title={title} filterPosition={filterPosition} getPConnect={getPConnect}>
46
+ {children[0]} {/* main content */}
47
+ {filterComponents} {/* built filter components */}
52
48
  </InlineDashboard>
53
49
  ```
54
50
 
@@ -80,6 +76,7 @@ Listed design systems are examples only.
80
76
  This component is a thin orchestration layer. All visual implementation is in `InlineDashboard`. The only implementation detail is `buildFilterComponents` — which creates filter field components from metadata definitions.
81
77
 
82
78
  When implementing in a specific design system:
79
+
83
80
  - `buildFilterComponents` must create proper PConnect-backed filter field components
84
81
  - If `promotedFilters` is empty, skip the filter panel entirely
85
82
  - All layout and styling is delegated to `InlineDashboard`
@@ -22,13 +22,13 @@ Renders a full-page list view by forwarding all props to `ListView` with `bInFor
22
22
 
23
23
  All props are forwarded to `ListView`. Key props:
24
24
 
25
- | Prop | Type | Required | Description |
26
- |------|------|----------|-------------|
27
- | `dataPageName` | `string` | Yes | Data page to load records from |
28
- | `columns` | `array` | No | Column definitions |
29
- | `isSearchable` | `boolean` | No | Whether global search is shown |
30
- | `payload` | `object` | No | Query payload |
31
- | `getPConnect` | `function` | Yes | PConnect getter |
25
+ | Prop | Type | Required | Description |
26
+ | -------------- | ---------- | -------- | ------------------------------ |
27
+ | `dataPageName` | `string` | Yes | Data page to load records from |
28
+ | `columns` | `array` | No | Column definitions |
29
+ | `isSearchable` | `boolean` | No | Whether global search is shown |
30
+ | `payload` | `object` | No | Query payload |
31
+ | `getPConnect` | `function` | Yes | PConnect getter |
32
32
 
33
33
  ## Behavioral Contract
34
34
 
@@ -41,6 +41,7 @@ That is the complete implementation. `bInForm: false` ensures ListView renders w
41
41
  ## Visual Specifications
42
42
 
43
43
  Identical to `ListView` with `bInForm: false`:
44
+
44
45
  - Full outer padding applied.
45
46
  - Toolbar occupies full width.
46
47
  - Table stretches to fill page width.
@@ -64,5 +65,6 @@ Listed design systems are examples only.
64
65
  Implement identically to `ListView` — `ListPage` adds no new UI. The distinction is purely in the `bInForm` prop which controls spacing/chrome.
65
66
 
66
67
  When implementing in a specific design system:
68
+
67
69
  - `bInForm: false` signals that the list should have page-level layout (more padding, full-width toolbar)
68
70
  - No additional logic beyond `ListView` is required
@@ -18,24 +18,25 @@ The primary data table component. Renders a sortable, paginated, filterable, and
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `bInForm` | `boolean` | No | Whether rendered inside a form (affects toolbar and padding). Default `false` |
24
- | `selectionMode` | `string` | No | `'single'` (radio) or `'multi'` (checkbox) or absent (no selection) |
25
- | `dataPageName` | `string` | No | Name of data page to fetch records from |
26
- | `referenceList` | `array` | No | In-memory data array (used when data is already available) |
27
- | `compositeKeys` | `object` | No | Key fields for unique row identification |
28
- | `columns` | `array` | No | Column definition objects `{ fieldName, label, sortable, filterable }` |
29
- | `additionalTableConfig` | `object` | No | Extra config merged with column/sort/filter settings |
30
- | `isSearchable` | `boolean` | No | Whether global search input is shown |
31
- | `payload` | `object` | No | Query payload for data page requests |
32
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ----------------------- | ---------- | -------- | ----------------------------------------------------------------------------- |
23
+ | `bInForm` | `boolean` | No | Whether rendered inside a form (affects toolbar and padding). Default `false` |
24
+ | `selectionMode` | `string` | No | `'single'` (radio) or `'multi'` (checkbox) or absent (no selection) |
25
+ | `dataPageName` | `string` | No | Name of data page to fetch records from |
26
+ | `referenceList` | `array` | No | In-memory data array (used when data is already available) |
27
+ | `compositeKeys` | `object` | No | Key fields for unique row identification |
28
+ | `columns` | `array` | No | Column definition objects `{ fieldName, label, sortable, filterable }` |
29
+ | `additionalTableConfig` | `object` | No | Extra config merged with column/sort/filter settings |
30
+ | `isSearchable` | `boolean` | No | Whether global search input is shown |
31
+ | `payload` | `object` | No | Query payload for data page requests |
32
+ | `getPConnect` | `function` | Yes | PConnect getter |
33
33
 
34
34
  ## Behavioral Contract
35
35
 
36
36
  ### Initialization
37
37
 
38
38
  `useInit(getPConnect, columns, dataPageName, payload)` hook:
39
+
39
40
  1. Calls `initializeColumns(getPConnect, columns)` to build `configFields`.
40
41
  2. Calls `buildFieldsForTable(configFields)` to produce display column definitions.
41
42
  3. Calls `getConfigFields(configFields)` for sort/filter metadata.
@@ -62,11 +63,11 @@ The primary data table component. Renders a sortable, paginated, filterable, and
62
63
 
63
64
  ### Selection
64
65
 
65
- | `selectionMode` | Control per row | Callback |
66
- |---|---|---|
67
- | `'single'` | `<Radio>` | `onRowSelect(rowData)` |
68
- | `'multi'` | `<Checkbox>` | `onRowsSelect(selectedRows)` |
69
- | absent | None | None |
66
+ | `selectionMode` | Control per row | Callback |
67
+ | --------------- | --------------- | ---------------------------- |
68
+ | `'single'` | `<Radio>` | `onRowSelect(rowData)` |
69
+ | `'multi'` | `<Checkbox>` | `onRowsSelect(selectedRows)` |
70
+ | absent | None | None |
70
71
 
71
72
  - Select-all checkbox in the header for multi-selection.
72
73
  - Selected rows highlighted with `selected` row class.
@@ -91,14 +92,15 @@ The primary data table component. Renders a sortable, paginated, filterable, and
91
92
 
92
93
  ## Visual Specifications
93
94
 
94
- | Element | Description |
95
- |---------|-------------|
96
- | Toolbar | Search input + filter button + (optional) action buttons |
97
- | Table head | Sticky header with sort labels and column menu |
98
- | Table body | Striped rows, hover state, selected state |
99
- | Pagination bar | Below table, page size selector + page nav |
95
+ | Element | Description |
96
+ | -------------- | -------------------------------------------------------- |
97
+ | Toolbar | Search input + filter button + (optional) action buttons |
98
+ | Table head | Sticky header with sort labels and column menu |
99
+ | Table body | Striped rows, hover state, selected state |
100
+ | Pagination bar | Below table, page size selector + page nav |
100
101
 
101
102
  **CSS-only implementation notes:**
103
+
102
104
  - Table container: `overflow-x: auto`.
103
105
  - Header row: `background: var(--table-header-bg); font-weight: 600`.
104
106
  - Selected row: `background: var(--selection-highlight-bg)`.
@@ -125,15 +127,16 @@ The primary data table component. Renders a sortable, paginated, filterable, and
125
127
 
126
128
  Listed design systems are examples only.
127
129
 
128
- | Design System | Table | Pagination | Dialog |
129
- |---|---|---|---|
130
- | Default (CSS only) | `<table>/<thead>/<tbody>` | Custom pagination controls | `<dialog>` element |
131
- | MUI | `<Table>` + sub-components | `<TablePagination>` | `<Dialog>` |
132
- | Ant Design | `<Table>` | Built-in pagination prop | `<Modal>` |
133
- | Chakra UI | `<Table>` | Custom or `react-table` | `<Modal>` |
134
- | Shadcn/ui | `<Table>` + TanStack Table | Custom pagination | `<Dialog>` |
130
+ | Design System | Table | Pagination | Dialog |
131
+ | ------------------ | -------------------------- | -------------------------- | ------------------ |
132
+ | Default (CSS only) | `<table>/<thead>/<tbody>` | Custom pagination controls | `<dialog>` element |
133
+ | MUI | `<Table>` + sub-components | `<TablePagination>` | `<Dialog>` |
134
+ | Ant Design | `<Table>` | Built-in pagination prop | `<Modal>` |
135
+ | Chakra UI | `<Table>` | Custom or `react-table` | `<Modal>` |
136
+ | Shadcn/ui | `<Table>` + TanStack Table | Custom pagination | `<Dialog>` |
135
137
 
136
138
  When implementing in a specific design system:
139
+
137
140
  - `bInForm` prop affects layout — tighten spacing and remove outer chrome when `true`
138
141
  - Sorting, pagination, and search all trigger data re-fetches — do not filter client-side for server-paged data
139
142
  - Selection mode (`single`/`multi`) requires different controls and callbacks
@@ -18,13 +18,13 @@ Renders a multi-value reference field in read-only mode. Routing is based on the
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `displayAs` | `string` | Yes | UI variant that was used in edit mode |
24
- | `referenceList` | `string` | No | Property path to the reference list |
25
- | `readonlyContextList` | `array` | No | Fallback data array when `referenceList` is not resolved |
26
- | `fieldMetadata` | `object` | No | Field-level metadata |
27
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | --------------------- | ---------- | -------- | -------------------------------------------------------- |
23
+ | `displayAs` | `string` | Yes | UI variant that was used in edit mode |
24
+ | `referenceList` | `string` | No | Property path to the reference list |
25
+ | `readonlyContextList` | `array` | No | Fallback data array when `referenceList` is not resolved |
26
+ | `fieldMetadata` | `object` | No | Field-level metadata |
27
+ | `getPConnect` | `function` | Yes | PConnect getter |
28
28
 
29
29
  ## Behavioral Contract
30
30
 
@@ -50,6 +50,7 @@ else:
50
50
  See `SimpleTable.md` and `ListView.md` for detailed visual specs.
51
51
 
52
52
  **CSS-only notes:**
53
+
53
54
  - Fallback to `readonlyContextList` renders identically to the resolved reference list.
54
55
  - No edit controls in either variant.
55
56
 
@@ -70,11 +71,12 @@ See `SimpleTable.md` and `ListView.md` for detailed visual specs.
70
71
 
71
72
  Listed design systems are examples only.
72
73
 
73
- | `displayAs` | Routing | DS Implementation |
74
- |---|---|---|
75
- | `readonlyMulti`, `combobox`, `checkboxgroup` | `SimpleTableSelectReadonly` | Link/chip + modal |
76
- | All others | `SimpleTable` | Flat read-only table |
74
+ | `displayAs` | Routing | DS Implementation |
75
+ | -------------------------------------------- | --------------------------- | -------------------- |
76
+ | `readonlyMulti`, `combobox`, `checkboxgroup` | `SimpleTableSelectReadonly` | Link/chip + modal |
77
+ | All others | `SimpleTable` | Flat read-only table |
77
78
 
78
79
  When implementing in a specific design system:
80
+
79
81
  - The `displayAs` routing list must match the edit-mode variants defined in `DataReference.md`
80
82
  - `readonlyContextList` fallback is critical — reference list data may not be available on initial render
@@ -17,11 +17,11 @@ Renders two children side by side with the left column narrower than the right.
17
17
 
18
18
  ## Pega Metadata
19
19
 
20
- | Variant | Registration Key |
21
- |---------|-----------------|
22
- | NarrowWide | `NarrowWide` |
23
- | NarrowWidePage | `NarrowWidePage` |
24
- | NarrowWideForm | `NarrowWideForm` |
20
+ | Variant | Registration Key |
21
+ | ----------------- | ------------------- |
22
+ | NarrowWide | `NarrowWide` |
23
+ | NarrowWidePage | `NarrowWidePage` |
24
+ | NarrowWideForm | `NarrowWideForm` |
25
25
  | NarrowWideDetails | `NarrowWideDetails` |
26
26
 
27
27
  All extend `PConnProps`.
@@ -30,38 +30,38 @@ All extend `PConnProps`.
30
30
 
31
31
  ### NarrowWide
32
32
 
33
- | Prop | Type | Required | Description |
34
- |------|------|----------|-------------|
35
- | `children` | `ReactNode[]` | No | Two children rendered in narrow/wide slots |
36
- | `a` | `any` | No | Narrow (left) column content |
37
- | `b` | `any` | No | Wide (right) column content |
38
- | `title` | `string` | No | Optional title (not rendered in reference implementation) |
39
- | `cols` | `string` | No | Column template (not rendered in reference implementation) |
40
- | `icon` | `string` | No | Optional icon (not rendered in reference implementation) |
33
+ | Prop | Type | Required | Description |
34
+ | ---------- | ------------- | -------- | ---------------------------------------------------------- |
35
+ | `children` | `ReactNode[]` | No | Two children rendered in narrow/wide slots |
36
+ | `a` | `any` | No | Narrow (left) column content |
37
+ | `b` | `any` | No | Wide (right) column content |
38
+ | `title` | `string` | No | Optional title (not rendered in reference implementation) |
39
+ | `cols` | `string` | No | Column template (not rendered in reference implementation) |
40
+ | `icon` | `string` | No | Optional icon (not rendered in reference implementation) |
41
41
 
42
42
  ### NarrowWidePage
43
43
 
44
- | Prop | Type | Required | Description |
45
- |------|------|----------|-------------|
46
- | `children` | `ReactNode[]` | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
47
- | `title` | `string` | Yes | Page title (passed to NarrowWide) |
48
- | `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
49
- | `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
44
+ | Prop | Type | Required | Description |
45
+ | ------------- | ------------- | -------- | ----------------------------------------------------- |
46
+ | `children` | `ReactNode[]` | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
47
+ | `title` | `string` | Yes | Page title (passed to NarrowWide) |
48
+ | `templateCol` | `string` | No | Column ratio (default `'1fr 1fr'`) |
49
+ | `icon` | `string` | No | Icon name (strips `'pi pi-'` prefix) |
50
50
 
51
51
  ### NarrowWideForm
52
52
 
53
- | Prop | Type | Required | Description |
54
- |------|------|----------|-------------|
55
- | `children` | `ReactNode[]` | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
53
+ | Prop | Type | Required | Description |
54
+ | ---------- | ------------- | -------- | ----------------------------------------------------- |
55
+ | `children` | `ReactNode[]` | Yes | Two children — `[0]` → narrow slot, `[1]` → wide slot |
56
56
 
57
57
  ### NarrowWideDetails
58
58
 
59
- | Prop | Type | Required | Description |
60
- |------|------|----------|-------------|
61
- | `label` | `string` | Yes | Section label for FieldGroup |
62
- | `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
63
- | `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields above children. Default `false` |
64
- | `getPConnect` | `function` | Yes | PConnect getter |
59
+ | Prop | Type | Required | Description |
60
+ | --------------------- | ---------- | -------- | ------------------------------------------------------------------------- |
61
+ | `label` | `string` | Yes | Section label for FieldGroup |
62
+ | `showLabel` | `boolean` | No | Whether to show the label. Default `true` |
63
+ | `showHighlightedData` | `boolean` | No | Whether to render highlighted data fields above children. Default `false` |
64
+ | `getPConnect` | `function` | Yes | PConnect getter |
65
65
 
66
66
  ## Behavioral Contract
67
67
 
@@ -97,13 +97,14 @@ Derived from `NarrowWide.css`:
97
97
 
98
98
  ### Container
99
99
 
100
- | CSS Class | Property | Value |
101
- |-----------|----------|-------|
102
- | `.psdk-narrow-wide-column` | Display | flex or grid (two-column row) |
103
- | `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) |
104
- | `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) |
100
+ | CSS Class | Property | Value |
101
+ | ---------------------------- | -------- | ----------------------------- |
102
+ | `.psdk-narrow-wide-column` | Display | flex or grid (two-column row) |
103
+ | `.psdk-narrow-column-column` | Width | ~33% (1 of 3 parts) |
104
+ | `.psdk-wide-column-column` | Width | ~67% (2 of 3 parts) |
105
105
 
106
106
  **CSS-only implementation notes:**
107
+
107
108
  - `.psdk-narrow-wide-column`: `display: grid; grid-template-columns: 1fr 2fr; gap: 1rem`.
108
109
  - `.psdk-narrow-column-column`: takes the first (narrower) grid column.
109
110
  - `.psdk-wide-column-column`: takes the second (wider) grid column.
@@ -127,15 +128,16 @@ Derived from `NarrowWide.css`:
127
128
 
128
129
  Listed design systems are examples only.
129
130
 
130
- | Design System | Recommended Component |
131
- |---|---|
132
- | Default (CSS only) | CSS Grid `grid-template-columns: 1fr 2fr; gap: 1rem` |
133
- | MUI | `<Grid container><Grid size={{ xs: 12, md: 4 }}><Grid size={{ xs: 12, md: 8 }}>` |
134
- | Ant Design | `<Row gutter={16}><Col xs={24} md={8}><Col xs={24} md={16}>` |
135
- | Chakra UI | `<Grid templateColumns={{ base: '1fr', md: '1fr 2fr' }} gap={4}>` |
136
- | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[1fr_2fr] gap-4` |
131
+ | Design System | Recommended Component |
132
+ | ------------------ | -------------------------------------------------------------------------------- |
133
+ | Default (CSS only) | CSS Grid `grid-template-columns: 1fr 2fr; gap: 1rem` |
134
+ | MUI | `<Grid container><Grid size={{ xs: 12, md: 4 }}><Grid size={{ xs: 12, md: 8 }}>` |
135
+ | Ant Design | `<Row gutter={16}><Col xs={24} md={8}><Col xs={24} md={16}>` |
136
+ | Chakra UI | `<Grid templateColumns={{ base: '1fr', md: '1fr 2fr' }} gap={4}>` |
137
+ | Shadcn/ui | Tailwind `grid grid-cols-1 md:grid-cols-[1fr_2fr] gap-4` |
137
138
 
138
139
  When implementing in a specific design system:
140
+
139
141
  - Narrow column ≈ 33% width (1fr of 3fr total)
140
142
  - Wide column ≈ 67% width (2fr of 3fr total)
141
143
  - `NarrowWideDetails` always forces DISPLAY_ONLY + readOnly on children
@@ -16,25 +16,26 @@ Renders all children stacked vertically in a single full-width column. Three clo
16
16
 
17
17
  ## Pega Metadata
18
18
 
19
- | Variant | Registration Key |
20
- |---------|-----------------|
21
- | OneColumn | `OneColumn` |
22
- | OneColumnPage | `OneColumnPage` |
23
- | OneColumnTab | `OneColumnTab` |
19
+ | Variant | Registration Key |
20
+ | ------------- | ---------------- |
21
+ | OneColumn | `OneColumn` |
22
+ | OneColumnPage | `OneColumnPage` |
23
+ | OneColumnTab | `OneColumnTab` |
24
24
 
25
25
  All extend `PConnProps`. Children are received as React `children`.
26
26
 
27
27
  ## Props
28
28
 
29
- | Prop | Type | Required | Description |
30
- |------|------|----------|-------------|
31
- | `children` | `ReactNode[]` | Yes | One or more children to render in the single column |
29
+ | Prop | Type | Required | Description |
30
+ | ---------- | ------------- | -------- | --------------------------------------------------- |
31
+ | `children` | `ReactNode[]` | Yes | One or more children to render in the single column |
32
32
 
33
33
  ## Sub-Variants
34
34
 
35
35
  ### OneColumnPage
36
36
 
37
37
  Thin pass-through wrapper. Retrieves `OneColumn` from the component registry and renders with all props forwarded:
38
+
38
39
  ```typescript
39
40
  const OneColumn = getComponentFromRegistry('OneColumn');
40
41
  return <OneColumn {...props} />;
@@ -43,9 +44,11 @@ return <OneColumn {...props} />;
43
44
  ### OneColumnTab
44
45
 
45
46
  Minimal wrapper — renders children in a plain `<div>` with `id='OneColumnTab'`:
47
+
46
48
  ```typescript
47
49
  return <div id='OneColumnTab'>{children}</div>;
48
50
  ```
51
+
49
52
  No grid or column styles applied. Used purely as a slot container inside tab panels.
50
53
 
51
54
  ## Behavioral Contract
@@ -62,19 +65,20 @@ Derived from `OneColumn.tsx` makeStyles:
62
65
 
63
66
  ### Column Style
64
67
 
65
- | Property | Value |
66
- |----------|-------|
67
- | Display | grid |
68
- | Gap | 1rem |
68
+ | Property | Value |
69
+ | ------------- | ------------------------------------- |
70
+ | Display | grid |
71
+ | Gap | 1rem |
69
72
  | Align content | baseline (children stack top-aligned) |
70
73
 
71
74
  ### Grid Spacing
72
75
 
73
- | Property | Value |
74
- |----------|-------|
76
+ | Property | Value |
77
+ | ----------------- | ---------- |
75
78
  | Container spacing | 2 (≈ 16px) |
76
79
 
77
80
  **CSS-only implementation notes:**
81
+
78
82
  - Column: `display: grid; gap: 1rem; align-content: baseline; width: 100%`.
79
83
  - Outer container: `display: grid; grid-template-columns: 1fr; gap: 16px`.
80
84
  - `OneColumnTab`: just `<div>` with no special styling.
@@ -96,14 +100,15 @@ Derived from `OneColumn.tsx` makeStyles:
96
100
 
97
101
  Listed design systems are examples only.
98
102
 
99
- | Design System | Recommended Component |
100
- |---|---|
103
+ | Design System | Recommended Component |
104
+ | ------------------ | -------------------------------------------------------- |
101
105
  | Default (CSS only) | `<div style="display:grid;gap:1rem;">` wrapping children |
102
- | MUI | `<Grid container spacing={2}><Grid size={{ xs: 12 }}>` |
103
- | Ant Design | `<Row><Col span={24}>` |
104
- | Chakra UI | `<Stack spacing={4}>` or `<Grid templateColumns='1fr'>` |
105
- | Shadcn/ui | Tailwind `flex flex-col gap-4` |
106
+ | MUI | `<Grid container spacing={2}><Grid size={{ xs: 12 }}>` |
107
+ | Ant Design | `<Row><Col span={24}>` |
108
+ | Chakra UI | `<Stack spacing={4}>` or `<Grid templateColumns='1fr'>` |
109
+ | Shadcn/ui | Tailwind `flex flex-col gap-4` |
106
110
 
107
111
  When implementing in a specific design system:
112
+
108
113
  - All children render in a single column, top-aligned
109
114
  - `OneColumnTab` variant is a minimal `<div>` container with no layout styling
@@ -18,20 +18,21 @@ Renders promoted filter controls above a list view. Filter fields are created dy
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Required | Description |
22
- |------|------|----------|-------------|
23
- | `viewName` | `string` | Yes | Name of the promoted filters view — used as transient item ID |
24
- | `dataPageName` | `string` | Yes | Data page name passed to `ListView` |
25
- | `promotedFilters` | `array` | Yes | Array of filter field definitions `{ name, classID, ... }` |
26
- | `payload` | `object` | No | Base query payload for the data page |
27
- | `isSearchable` | `boolean` | No | Whether the ListView below shows a global search input |
28
- | `getPConnect` | `function` | Yes | PConnect getter |
21
+ | Prop | Type | Required | Description |
22
+ | ----------------- | ---------- | -------- | ------------------------------------------------------------- |
23
+ | `viewName` | `string` | Yes | Name of the promoted filters view — used as transient item ID |
24
+ | `dataPageName` | `string` | Yes | Data page name passed to `ListView` |
25
+ | `promotedFilters` | `array` | Yes | Array of filter field definitions `{ name, classID, ... }` |
26
+ | `payload` | `object` | No | Base query payload for the data page |
27
+ | `isSearchable` | `boolean` | No | Whether the ListView below shows a global search input |
28
+ | `getPConnect` | `function` | Yes | PConnect getter |
29
29
 
30
30
  ## Behavioral Contract
31
31
 
32
32
  ### Transient Data Setup
33
33
 
34
34
  On mount:
35
+
35
36
  1. Build `filtersWithClassID`: add `classID` to each filter from `getPConnect().getContextName()` or metadata.
36
37
  2. Call `PCore.getDataPageUtils().addTransientItem({ id: viewName, data: filtersWithClassID })`.
37
38
  3. This creates a transient data context for the filter fields.
@@ -39,12 +40,14 @@ On mount:
39
40
  ### Filters Sub-Component
40
41
 
41
42
  The `<Filters>` inline sub-component:
43
+
42
44
  1. Creates each filter field via `PCore.createPConnect({ ... filterFieldConfig, contextName: viewName + '.' + filter.name })`.
43
45
  2. Renders each created pConnect as a field component via `createElement(PConnectComponent, { ...fieldConfig })`.
44
46
 
45
47
  ### Search
46
48
 
47
49
  On Search button click:
50
+
48
51
  1. Call `getFilterData(viewName, promotedFilters)`:
49
52
  - For each filter, read current value from transient store.
50
53
  - Build filter objects: `{ lhs: { field: filter.name }, comparator: 'EQ', rhs: { value: currentValue } }`.
@@ -55,6 +58,7 @@ On Search button click:
55
58
  ### Clear
56
59
 
57
60
  On Clear button click:
61
+
58
62
  1. Call `clearFilterData(viewName, promotedFilters)`:
59
63
  - For each filter, reset the transient value to `''` or `null`.
60
64
  2. Reset `payload.filters` to `[]`.
@@ -77,13 +81,14 @@ On Clear button click:
77
81
 
78
82
  ## Visual Specifications
79
83
 
80
- | Element | Description |
81
- |---------|-------------|
84
+ | Element | Description |
85
+ | ----------------- | ------------------------------------------ |
82
86
  | Filter fields row | Horizontal flex row of filter field inputs |
83
- | Action buttons | Clear + Search buttons, right-aligned |
84
- | ListView | Below the filter row, full width |
87
+ | Action buttons | Clear + Search buttons, right-aligned |
88
+ | ListView | Below the filter row, full width |
85
89
 
86
90
  **CSS-only implementation notes:**
91
+
87
92
  - Outer container: `display: flex; flex-direction: column; gap: 1rem`.
88
93
  - Filter fields row: `display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: flex-end`.
89
94
  - Action buttons row: `display: flex; gap: 0.5rem; justify-content: flex-end`.
@@ -110,15 +115,16 @@ On Clear button click:
110
115
 
111
116
  Listed design systems are examples only.
112
117
 
113
- | Design System | Filter Row | Action Buttons |
114
- |---|---|---|
115
- | Default (CSS only) | `display: flex; flex-wrap: wrap` inputs | `<button>` for Clear/Search |
116
- | MUI | `<Box display='flex' flexWrap='wrap' gap={1}>` | `<Button>` variants |
117
- | Ant Design | `<Space wrap>` | `<Button type='primary'>` for Search |
118
- | Chakra UI | `<HStack wrap='wrap'>` | `<Button colorScheme='blue'>` |
119
- | Shadcn/ui | Tailwind `flex flex-wrap gap-2` | `<Button>` variants |
118
+ | Design System | Filter Row | Action Buttons |
119
+ | ------------------ | ---------------------------------------------- | ------------------------------------ |
120
+ | Default (CSS only) | `display: flex; flex-wrap: wrap` inputs | `<button>` for Clear/Search |
121
+ | MUI | `<Box display='flex' flexWrap='wrap' gap={1}>` | `<Button>` variants |
122
+ | Ant Design | `<Space wrap>` | `<Button type='primary'>` for Search |
123
+ | Chakra UI | `<HStack wrap='wrap'>` | `<Button colorScheme='blue'>` |
124
+ | Shadcn/ui | Tailwind `flex flex-wrap gap-2` | `<Button>` variants |
120
125
 
121
126
  When implementing in a specific design system:
127
+
122
128
  - Transient data pattern is critical — each filter field must read/write to `PCore`'s transient store
123
129
  - `getFilterData` builds the query filter payload — use it unchanged
124
130
  - Transient item cleanup on unmount is required to avoid stale data